0s autopkgtest [14:31:40]: starting date and time: 2025-01-09 14:31:40+0000 0s autopkgtest [14:31:40]: git checkout: 325255d2 Merge branch 'pin-any-arch' into 'ubuntu/production' 0s autopkgtest [14:31:40]: host juju-7f2275-prod-proposed-migration-environment-2; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.htnr6sr2/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-ppc64el --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-2@bos03-ppc64el-23.secgroup --name adt-plucky-ppc64el-patroni-20250109-114154-juju-7f2275-prod-proposed-migration-environment-2-66778b73-346e-4ca9-8a36-d7c638a17ab9 --image adt/ubuntu-plucky-ppc64el-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-2 --net-id=net_prod-proposed-migration-ppc64el -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/ 88s autopkgtest [14:33:08]: testbed dpkg architecture: ppc64el 88s autopkgtest [14:33:08]: testbed apt version: 2.9.18 88s autopkgtest [14:33:08]: @@@@@@@@@@@@@@@@@@@@ test bed setup 89s autopkgtest [14:33:09]: testbed release detected to be: None 89s autopkgtest [14:33:09]: updating testbed package index (apt update) 90s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB] 90s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 90s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 90s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 90s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [760 kB] 90s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [9708 B] 90s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [127 kB] 90s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [15.6 kB] 90s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/main ppc64el Packages [227 kB] 90s Get:10 http://ftpmaster.internal/ubuntu plucky-proposed/restricted ppc64el Packages [756 B] 90s Get:11 http://ftpmaster.internal/ubuntu plucky-proposed/universe ppc64el Packages [956 kB] 91s Get:12 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse ppc64el Packages [5472 B] 91s Fetched 2176 kB in 1s (1929 kB/s) 92s Reading package lists... 92s + lsb_release --codename --short 92s + RELEASE=plucky 92s + cat 92s + [ plucky != trusty ] 92s + DEBIAN_FRONTEND=noninteractive eatmydata apt-get -y --allow-downgrades -o Dpkg::Options::=--force-confnew dist-upgrade 92s Reading package lists... 93s Building dependency tree... 93s Reading state information... 93s Calculating upgrade... 93s + rm /etc/apt/preferences.d/force-downgrade-to-release.pref 93s + /usr/lib/apt/apt-helper analyze-pattern ?true 93s + DEBIAN_FRONTEND=noninteractive eatmydata apt-get -y purge --autoremove ?obsolete 93s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 93s Reading package lists... 93s Building dependency tree... 93s Reading state information... 93s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 93s + grep -q trusty /etc/lsb-release 93s + [ ! -d /usr/share/doc/unattended-upgrades ] 93s + [ ! -d /usr/share/doc/lxd ] 93s + [ ! -d /usr/share/doc/lxd-client ] 93s + [ ! -d /usr/share/doc/snapd ] 93s + type iptables 93s + cat 93s + chmod 755 /etc/rc.local 93s + . /etc/rc.local 93s + iptables -w -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu 93s + iptables -A OUTPUT -d 10.255.255.1/32 -p tcp -j DROP 93s + iptables -A OUTPUT -d 10.255.255.2/32 -p tcp -j DROP 93s + uname -m 93s + [ ppc64le = ppc64le ] 93s + systemctl is-active keyboard-setup.service 93s + [ active = failed ] 93s + [ -d /run/systemd/system ] 93s + systemd-detect-virt --quiet --vm 93s + mkdir -p /etc/systemd/system/systemd-random-seed.service.d/ 93s + cat 93s + grep -q lz4 /etc/initramfs-tools/initramfs.conf 93s + echo COMPRESS=lz4 93s autopkgtest [14:33:13]: upgrading testbed (apt dist-upgrade and autopurge) 94s Reading package lists... 94s Building dependency tree... 94s Reading state information... 94s Calculating upgrade...Starting pkgProblemResolver with broken count: 0 94s Starting 2 pkgProblemResolver with broken count: 0 94s Done 95s Entering ResolveByKeep 95s 95s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 95s Reading package lists... 95s Building dependency tree... 95s Reading state information... 96s Starting pkgProblemResolver with broken count: 0 96s Starting 2 pkgProblemResolver with broken count: 0 96s Done 96s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 98s autopkgtest [14:33:18]: testbed running kernel: Linux 6.11.0-8-generic #8-Ubuntu SMP Mon Sep 16 13:49:23 UTC 2024 99s autopkgtest [14:33:19]: @@@@@@@@@@@@@@@@@@@@ apt-source patroni 101s Get:1 http://ftpmaster.internal/ubuntu plucky/universe patroni 3.3.4-1 (dsc) [2870 B] 101s Get:2 http://ftpmaster.internal/ubuntu plucky/universe patroni 3.3.4-1 (tar) [1159 kB] 101s Get:3 http://ftpmaster.internal/ubuntu plucky/universe patroni 3.3.4-1 (diff) [26.5 kB] 101s gpgv: Signature made Sun Nov 17 16:29:00 2024 UTC 101s gpgv: using RSA key 9CA877749FAB2E4FA96862ECDC686A27B43481B0 101s gpgv: Can't check signature: No public key 101s dpkg-source: warning: cannot verify inline signature for ./patroni_3.3.4-1.dsc: no acceptable signature found 102s autopkgtest [14:33:22]: testing package patroni version 3.3.4-1 102s autopkgtest [14:33:22]: build not needed 104s autopkgtest [14:33:24]: test acceptance-etcd3: preparing testbed 104s Reading package lists... 104s Building dependency tree... 104s Reading state information... 105s Starting pkgProblemResolver with broken count: 0 105s Starting 2 pkgProblemResolver with broken count: 0 105s Done 105s The following NEW packages will be installed: 105s etcd-server fonts-font-awesome fonts-lato libio-pty-perl libipc-run-perl 105s libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl libpq5 105s libpython3.13-minimal libpython3.13-stdlib libtime-duration-perl 105s libtimedate-perl libxslt1.1 moreutils patroni patroni-doc postgresql 105s postgresql-16 postgresql-client-16 postgresql-client-common 105s postgresql-common python3-behave python3-cdiff python3-click 105s python3-colorama python3-coverage python3-dateutil python3-dnspython 105s python3-etcd python3-parse python3-parse-type python3-prettytable 105s python3-psutil python3-psycopg2 python3-six python3-wcwidth python3-ydiff 105s python3.13 python3.13-minimal sphinx-rtd-theme-common ssl-cert 106s 0 upgraded, 43 newly installed, 0 to remove and 0 not upgraded. 106s Need to get 42.3 MB of archives. 106s After this operation, 163 MB of additional disk space will be used. 106s Get:1 http://ftpmaster.internal/ubuntu plucky/main ppc64el fonts-lato all 2.015-1 [2781 kB] 106s Get:2 http://ftpmaster.internal/ubuntu plucky/main ppc64el libjson-perl all 4.10000-1 [81.9 kB] 106s Get:3 http://ftpmaster.internal/ubuntu plucky/main ppc64el postgresql-client-common all 262 [36.7 kB] 106s Get:4 http://ftpmaster.internal/ubuntu plucky/main ppc64el ssl-cert all 1.1.3ubuntu1 [18.7 kB] 106s Get:5 http://ftpmaster.internal/ubuntu plucky/main ppc64el postgresql-common all 262 [162 kB] 106s Get:6 http://ftpmaster.internal/ubuntu plucky/main ppc64el libpython3.13-minimal ppc64el 3.13.1-2 [883 kB] 106s Get:7 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3.13-minimal ppc64el 3.13.1-2 [2496 kB] 106s Get:8 http://ftpmaster.internal/ubuntu plucky/universe ppc64el etcd-server ppc64el 3.5.16-3 [10.5 MB] 107s Get:9 http://ftpmaster.internal/ubuntu plucky/main ppc64el fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 107s Get:10 http://ftpmaster.internal/ubuntu plucky/main ppc64el libio-pty-perl ppc64el 1:1.20-1build3 [32.0 kB] 107s Get:11 http://ftpmaster.internal/ubuntu plucky/main ppc64el libipc-run-perl all 20231003.0-2 [91.5 kB] 107s Get:12 http://ftpmaster.internal/ubuntu plucky/main ppc64el libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 107s Get:13 http://ftpmaster.internal/ubuntu plucky/main ppc64el libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 107s Get:14 http://ftpmaster.internal/ubuntu plucky-proposed/main ppc64el libjs-sphinxdoc all 8.1.3-4 [30.9 kB] 107s Get:15 http://ftpmaster.internal/ubuntu plucky/main ppc64el libpq5 ppc64el 17.2-1 [173 kB] 107s Get:16 http://ftpmaster.internal/ubuntu plucky/main ppc64el libpython3.13-stdlib ppc64el 3.13.1-2 [2131 kB] 107s Get:17 http://ftpmaster.internal/ubuntu plucky/main ppc64el libtime-duration-perl all 1.21-2 [12.3 kB] 107s Get:18 http://ftpmaster.internal/ubuntu plucky/main ppc64el libtimedate-perl all 2.3300-2 [34.0 kB] 107s Get:19 http://ftpmaster.internal/ubuntu plucky/main ppc64el libxslt1.1 ppc64el 1.1.39-0exp1ubuntu2 [191 kB] 107s Get:20 http://ftpmaster.internal/ubuntu plucky/universe ppc64el moreutils ppc64el 0.69-1 [59.1 kB] 107s Get:21 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-ydiff all 1.4.2-1 [19.0 kB] 107s Get:22 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-cdiff all 1.4.2-1 [1778 B] 107s Get:23 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-colorama all 0.4.6-4 [32.1 kB] 107s Get:24 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-click all 8.1.7-2 [79.5 kB] 107s Get:25 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-dateutil all 2.9.0-3 [80.2 kB] 107s Get:26 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 107s Get:27 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-prettytable all 3.12.0-1 [36.5 kB] 107s Get:28 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-psutil ppc64el 5.9.8-2build3 [197 kB] 107s Get:29 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-psycopg2 ppc64el 2.9.10-1 [160 kB] 107s Get:30 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-dnspython all 2.6.1-1ubuntu1 [163 kB] 107s Get:31 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-etcd all 0.4.5-6 [32.1 kB] 107s Get:32 http://ftpmaster.internal/ubuntu plucky/universe ppc64el patroni all 3.3.4-1 [269 kB] 107s Get:33 http://ftpmaster.internal/ubuntu plucky/main ppc64el sphinx-rtd-theme-common all 3.0.2+dfsg-1 [1014 kB] 107s Get:34 http://ftpmaster.internal/ubuntu plucky/universe ppc64el patroni-doc all 3.3.4-1 [508 kB] 107s Get:35 http://ftpmaster.internal/ubuntu plucky/main ppc64el postgresql-client-16 ppc64el 16.4-3 [1400 kB] 107s Get:36 http://ftpmaster.internal/ubuntu plucky/main ppc64el postgresql-16 ppc64el 16.4-3 [16.6 MB] 107s Get:37 http://ftpmaster.internal/ubuntu plucky/main ppc64el postgresql all 16+262 [11.8 kB] 107s Get:38 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-parse all 1.20.2-1 [27.0 kB] 107s Get:39 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-six all 1.17.0-1 [13.2 kB] 107s Get:40 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-parse-type all 0.6.4-1 [23.4 kB] 107s Get:41 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-behave all 1.2.6-6 [98.6 kB] 107s Get:42 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3.13 ppc64el 3.13.1-2 [729 kB] 107s Get:43 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-coverage ppc64el 7.4.4+dfsg1-0ubuntu3 [151 kB] 108s Preconfiguring packages ... 108s Fetched 42.3 MB in 2s (22.0 MB/s) 108s Selecting previously unselected package fonts-lato. 108s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 74025 files and directories currently installed.) 108s Preparing to unpack .../00-fonts-lato_2.015-1_all.deb ... 108s Unpacking fonts-lato (2.015-1) ... 108s Selecting previously unselected package libjson-perl. 108s Preparing to unpack .../01-libjson-perl_4.10000-1_all.deb ... 108s Unpacking libjson-perl (4.10000-1) ... 108s Selecting previously unselected package postgresql-client-common. 108s Preparing to unpack .../02-postgresql-client-common_262_all.deb ... 108s Unpacking postgresql-client-common (262) ... 108s Selecting previously unselected package ssl-cert. 108s Preparing to unpack .../03-ssl-cert_1.1.3ubuntu1_all.deb ... 108s Unpacking ssl-cert (1.1.3ubuntu1) ... 109s Selecting previously unselected package postgresql-common. 109s Preparing to unpack .../04-postgresql-common_262_all.deb ... 109s Adding 'diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common' 109s Unpacking postgresql-common (262) ... 109s Selecting previously unselected package libpython3.13-minimal:ppc64el. 109s Preparing to unpack .../05-libpython3.13-minimal_3.13.1-2_ppc64el.deb ... 109s Unpacking libpython3.13-minimal:ppc64el (3.13.1-2) ... 109s Selecting previously unselected package python3.13-minimal. 109s Preparing to unpack .../06-python3.13-minimal_3.13.1-2_ppc64el.deb ... 109s Unpacking python3.13-minimal (3.13.1-2) ... 109s Selecting previously unselected package etcd-server. 109s Preparing to unpack .../07-etcd-server_3.5.16-3_ppc64el.deb ... 109s Unpacking etcd-server (3.5.16-3) ... 109s Selecting previously unselected package fonts-font-awesome. 109s Preparing to unpack .../08-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 109s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 109s Selecting previously unselected package libio-pty-perl. 109s Preparing to unpack .../09-libio-pty-perl_1%3a1.20-1build3_ppc64el.deb ... 109s Unpacking libio-pty-perl (1:1.20-1build3) ... 109s Selecting previously unselected package libipc-run-perl. 109s Preparing to unpack .../10-libipc-run-perl_20231003.0-2_all.deb ... 109s Unpacking libipc-run-perl (20231003.0-2) ... 109s Selecting previously unselected package libjs-jquery. 109s Preparing to unpack .../11-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 109s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 109s Selecting previously unselected package libjs-underscore. 109s Preparing to unpack .../12-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 109s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 109s Selecting previously unselected package libjs-sphinxdoc. 109s Preparing to unpack .../13-libjs-sphinxdoc_8.1.3-4_all.deb ... 109s Unpacking libjs-sphinxdoc (8.1.3-4) ... 109s Selecting previously unselected package libpq5:ppc64el. 109s Preparing to unpack .../14-libpq5_17.2-1_ppc64el.deb ... 109s Unpacking libpq5:ppc64el (17.2-1) ... 109s Selecting previously unselected package libpython3.13-stdlib:ppc64el. 109s Preparing to unpack .../15-libpython3.13-stdlib_3.13.1-2_ppc64el.deb ... 109s Unpacking libpython3.13-stdlib:ppc64el (3.13.1-2) ... 109s Selecting previously unselected package libtime-duration-perl. 109s Preparing to unpack .../16-libtime-duration-perl_1.21-2_all.deb ... 109s Unpacking libtime-duration-perl (1.21-2) ... 109s Selecting previously unselected package libtimedate-perl. 109s Preparing to unpack .../17-libtimedate-perl_2.3300-2_all.deb ... 109s Unpacking libtimedate-perl (2.3300-2) ... 109s Selecting previously unselected package libxslt1.1:ppc64el. 109s Preparing to unpack .../18-libxslt1.1_1.1.39-0exp1ubuntu2_ppc64el.deb ... 109s Unpacking libxslt1.1:ppc64el (1.1.39-0exp1ubuntu2) ... 109s Selecting previously unselected package moreutils. 109s Preparing to unpack .../19-moreutils_0.69-1_ppc64el.deb ... 109s Unpacking moreutils (0.69-1) ... 110s Selecting previously unselected package python3-ydiff. 110s Preparing to unpack .../20-python3-ydiff_1.4.2-1_all.deb ... 110s Unpacking python3-ydiff (1.4.2-1) ... 110s Selecting previously unselected package python3-cdiff. 110s Preparing to unpack .../21-python3-cdiff_1.4.2-1_all.deb ... 110s Unpacking python3-cdiff (1.4.2-1) ... 110s Selecting previously unselected package python3-colorama. 110s Preparing to unpack .../22-python3-colorama_0.4.6-4_all.deb ... 110s Unpacking python3-colorama (0.4.6-4) ... 110s Selecting previously unselected package python3-click. 110s Preparing to unpack .../23-python3-click_8.1.7-2_all.deb ... 110s Unpacking python3-click (8.1.7-2) ... 110s Selecting previously unselected package python3-dateutil. 110s Preparing to unpack .../24-python3-dateutil_2.9.0-3_all.deb ... 110s Unpacking python3-dateutil (2.9.0-3) ... 110s Selecting previously unselected package python3-wcwidth. 110s Preparing to unpack .../25-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 110s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 110s Selecting previously unselected package python3-prettytable. 110s Preparing to unpack .../26-python3-prettytable_3.12.0-1_all.deb ... 110s Unpacking python3-prettytable (3.12.0-1) ... 110s Selecting previously unselected package python3-psutil. 110s Preparing to unpack .../27-python3-psutil_5.9.8-2build3_ppc64el.deb ... 110s Unpacking python3-psutil (5.9.8-2build3) ... 110s Selecting previously unselected package python3-psycopg2. 110s Preparing to unpack .../28-python3-psycopg2_2.9.10-1_ppc64el.deb ... 110s Unpacking python3-psycopg2 (2.9.10-1) ... 110s Selecting previously unselected package python3-dnspython. 110s Preparing to unpack .../29-python3-dnspython_2.6.1-1ubuntu1_all.deb ... 110s Unpacking python3-dnspython (2.6.1-1ubuntu1) ... 110s Selecting previously unselected package python3-etcd. 110s Preparing to unpack .../30-python3-etcd_0.4.5-6_all.deb ... 110s Unpacking python3-etcd (0.4.5-6) ... 110s Selecting previously unselected package patroni. 110s Preparing to unpack .../31-patroni_3.3.4-1_all.deb ... 110s Unpacking patroni (3.3.4-1) ... 110s Selecting previously unselected package sphinx-rtd-theme-common. 110s Preparing to unpack .../32-sphinx-rtd-theme-common_3.0.2+dfsg-1_all.deb ... 110s Unpacking sphinx-rtd-theme-common (3.0.2+dfsg-1) ... 110s Selecting previously unselected package patroni-doc. 110s Preparing to unpack .../33-patroni-doc_3.3.4-1_all.deb ... 110s Unpacking patroni-doc (3.3.4-1) ... 110s Selecting previously unselected package postgresql-client-16. 110s Preparing to unpack .../34-postgresql-client-16_16.4-3_ppc64el.deb ... 110s Unpacking postgresql-client-16 (16.4-3) ... 110s Selecting previously unselected package postgresql-16. 110s Preparing to unpack .../35-postgresql-16_16.4-3_ppc64el.deb ... 110s Unpacking postgresql-16 (16.4-3) ... 111s Selecting previously unselected package postgresql. 111s Preparing to unpack .../36-postgresql_16+262_all.deb ... 111s Unpacking postgresql (16+262) ... 111s Selecting previously unselected package python3-parse. 111s Preparing to unpack .../37-python3-parse_1.20.2-1_all.deb ... 111s Unpacking python3-parse (1.20.2-1) ... 111s Selecting previously unselected package python3-six. 111s Preparing to unpack .../38-python3-six_1.17.0-1_all.deb ... 111s Unpacking python3-six (1.17.0-1) ... 111s Selecting previously unselected package python3-parse-type. 111s Preparing to unpack .../39-python3-parse-type_0.6.4-1_all.deb ... 111s Unpacking python3-parse-type (0.6.4-1) ... 111s Selecting previously unselected package python3-behave. 111s Preparing to unpack .../40-python3-behave_1.2.6-6_all.deb ... 111s Unpacking python3-behave (1.2.6-6) ... 111s Selecting previously unselected package python3.13. 111s Preparing to unpack .../41-python3.13_3.13.1-2_ppc64el.deb ... 111s Unpacking python3.13 (3.13.1-2) ... 111s Selecting previously unselected package python3-coverage. 111s Preparing to unpack .../42-python3-coverage_7.4.4+dfsg1-0ubuntu3_ppc64el.deb ... 111s Unpacking python3-coverage (7.4.4+dfsg1-0ubuntu3) ... 111s Setting up postgresql-client-common (262) ... 111s Setting up fonts-lato (2.015-1) ... 111s Setting up libio-pty-perl (1:1.20-1build3) ... 111s Setting up python3-colorama (0.4.6-4) ... 111s Setting up python3-ydiff (1.4.2-1) ... 111s Setting up libpq5:ppc64el (17.2-1) ... 111s Setting up python3-click (8.1.7-2) ... 112s Setting up python3-psutil (5.9.8-2build3) ... 112s Setting up python3-six (1.17.0-1) ... 113s Setting up libpython3.13-minimal:ppc64el (3.13.1-2) ... 113s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 113s Setting up ssl-cert (1.1.3ubuntu1) ... 114s Created symlink '/etc/systemd/system/multi-user.target.wants/ssl-cert.service' → '/usr/lib/systemd/system/ssl-cert.service'. 114s Setting up python3-psycopg2 (2.9.10-1) ... 114s Setting up libipc-run-perl (20231003.0-2) ... 114s Setting up libtime-duration-perl (1.21-2) ... 114s Setting up libtimedate-perl (2.3300-2) ... 114s Setting up python3-dnspython (2.6.1-1ubuntu1) ... 115s Setting up python3-parse (1.20.2-1) ... 115s Setting up libjson-perl (4.10000-1) ... 115s Setting up libxslt1.1:ppc64el (1.1.39-0exp1ubuntu2) ... 115s Setting up python3.13-minimal (3.13.1-2) ... 116s Setting up python3-dateutil (2.9.0-3) ... 116s Setting up etcd-server (3.5.16-3) ... 117s info: Selecting UID from range 100 to 999 ... 117s 117s info: Selecting GID from range 100 to 999 ... 117s info: Adding system user `etcd' (UID 107) ... 117s info: Adding new group `etcd' (GID 111) ... 117s info: Adding new user `etcd' (UID 107) with group `etcd' ... 117s info: Creating home directory `/var/lib/etcd/' ... 117s Created symlink '/etc/systemd/system/etcd2.service' → '/usr/lib/systemd/system/etcd.service'. 117s Created symlink '/etc/systemd/system/multi-user.target.wants/etcd.service' → '/usr/lib/systemd/system/etcd.service'. 118s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 118s Setting up python3-prettytable (3.12.0-1) ... 119s Setting up libpython3.13-stdlib:ppc64el (3.13.1-2) ... 119s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 119s Setting up sphinx-rtd-theme-common (3.0.2+dfsg-1) ... 119s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 119s Setting up moreutils (0.69-1) ... 119s Setting up python3.13 (3.13.1-2) ... 120s Setting up python3-etcd (0.4.5-6) ... 120s Setting up postgresql-client-16 (16.4-3) ... 121s 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 121s Setting up python3-cdiff (1.4.2-1) ... 121s Setting up python3-coverage (7.4.4+dfsg1-0ubuntu3) ... 121s Setting up python3-parse-type (0.6.4-1) ... 122s Setting up postgresql-common (262) ... 122s Creating config file /etc/postgresql-common/createcluster.conf with new version 122s Building PostgreSQL dictionaries from installed myspell/hunspell packages... 122s Removing obsolete dictionary files: 123s Created symlink '/etc/systemd/system/multi-user.target.wants/postgresql.service' → '/usr/lib/systemd/system/postgresql.service'. 124s Setting up libjs-sphinxdoc (8.1.3-4) ... 124s Setting up python3-behave (1.2.6-6) ... 124s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 124s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 124s /usr/lib/python3/dist-packages/behave/matchers.py:267: SyntaxWarning: invalid escape sequence '\d' 124s """Registers a custom type that will be available to "parse" 124s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 124s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 124s /usr/lib/python3/dist-packages/behave/matchers.py:267: SyntaxWarning: invalid escape sequence '\d' 124s """Registers a custom type that will be available to "parse" 124s Setting up patroni (3.3.4-1) ... 124s 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 126s running bootstrap script ... ok 127s performing post-bootstrap initialization ... ok 127s syncing data to disk ... ok 131s Setting up patroni-doc (3.3.4-1) ... 131s Setting up postgresql (16+262) ... 131s Processing triggers for systemd (257-2ubuntu1) ... 131s Processing triggers for man-db (2.13.0-1) ... 134s Processing triggers for libc-bin (2.40-4ubuntu1) ... 135s autopkgtest [14:33:55]: test acceptance-etcd3: debian/tests/acceptance etcd3 135s autopkgtest [14:33:55]: test acceptance-etcd3: [----------------------- 135s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 135s ++ ls -1r /usr/lib/postgresql/ 135s ### PostgreSQL 16 acceptance-etcd3 ### 135s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 135s + '[' 16 == 10 -o 16 == 11 ']' 135s + echo '### PostgreSQL 16 acceptance-etcd3 ###' 135s + bash -c 'set -o pipefail; ETCD_UNSUPPORTED_ARCH= 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' 136s Jan 09 14:33:56 Feature: basic replication # features/basic_replication.feature:1 136s Jan 09 14:33:56 We should check that the basic bootstrapping, replication and failover works. 136s Jan 09 14:33:56 Scenario: check replication of a single table # features/basic_replication.feature:4 136s Jan 09 14:33:56 Given I start postgres0 # features/steps/basic_replication.py:8 141s Jan 09 14:34:01 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 142s Jan 09 14:34:02 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 142s Jan 09 14:34:02 When I issue a PATCH request to http://127.0.0.1:8008/config with {"ttl": 20, "synchronous_mode": true} # features/steps/patroni_api.py:71 142s Jan 09 14:34:02 Then I receive a response code 200 # features/steps/patroni_api.py:98 142s Jan 09 14:34:02 When I start postgres1 # features/steps/basic_replication.py:8 148s Jan 09 14:34:07 And I configure and start postgres2 with a tag replicatefrom postgres0 # features/steps/cascading_replication.py:7 154s Jan 09 14:34:14 And "sync" key in DCS has leader=postgres0 after 20 seconds # features/steps/cascading_replication.py:23 154s Jan 09 14:34:14 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 154s Jan 09 14:34:14 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 155s Jan 09 14:34:15 Then table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 155s Jan 09 14:34:15 155s Jan 09 14:34:15 Scenario: check restart of sync replica # features/basic_replication.feature:17 155s Jan 09 14:34:15 Given I shut down postgres2 # features/steps/basic_replication.py:29 156s Jan 09 14:34:16 Then "sync" key in DCS has sync_standby=postgres1 after 5 seconds # features/steps/cascading_replication.py:23 156s Jan 09 14:34:16 When I start postgres2 # features/steps/basic_replication.py:8 160s Jan 09 14:34:20 And I shut down postgres1 # features/steps/basic_replication.py:29 163s Jan 09 14:34:23 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 164s Jan 09 14:34:24 When I start postgres1 # features/steps/basic_replication.py:8 169s Jan 09 14:34:29 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 169s Jan 09 14:34:29 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 169s Jan 09 14:34:29 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 169s Jan 09 14:34:29 169s Jan 09 14:34:29 Scenario: check stuck sync replica # features/basic_replication.feature:28 169s Jan 09 14:34:29 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 169s Jan 09 14:34:29 Then I receive a response code 200 # features/steps/patroni_api.py:98 169s Jan 09 14:34:29 And I create table on postgres0 # features/steps/basic_replication.py:73 169s Jan 09 14:34:29 And table mytest is present on postgres1 after 2 seconds # features/steps/basic_replication.py:93 170s Jan 09 14:34:30 And table mytest is present on postgres2 after 2 seconds # features/steps/basic_replication.py:93 170s Jan 09 14:34:30 When I pause wal replay on postgres2 # features/steps/basic_replication.py:64 170s Jan 09 14:34:30 And I load data on postgres0 # features/steps/basic_replication.py:84 171s Jan 09 14:34:31 Then "sync" key in DCS has sync_standby=postgres1 after 15 seconds # features/steps/cascading_replication.py:23 174s Jan 09 14:34:34 And I resume wal replay on postgres2 # features/steps/basic_replication.py:64 174s Jan 09 14:34:34 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 174s Jan 09 14:34:34 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:142 175s Jan 09 14:34:34 When I issue a PATCH request to http://127.0.0.1:8008/config with {"pause": null, "maximum_lag_on_syncnode": -1, "postgresql": {"parameters": {"synchronous_commit": "on"}}} # features/steps/patroni_api.py:71 175s Jan 09 14:34:35 Then I receive a response code 200 # features/steps/patroni_api.py:98 175s Jan 09 14:34:35 And I drop table on postgres0 # features/steps/basic_replication.py:73 175s Jan 09 14:34:35 175s Jan 09 14:34:35 Scenario: check multi sync replication # features/basic_replication.feature:44 175s Jan 09 14:34:35 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 175s Jan 09 14:34:35 Then I receive a response code 200 # features/steps/patroni_api.py:98 175s Jan 09 14:34:35 Then "sync" key in DCS has sync_standby=postgres1,postgres2 after 10 seconds # features/steps/cascading_replication.py:23 179s Jan 09 14:34:39 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 179s Jan 09 14:34:39 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 179s Jan 09 14:34:39 When I issue a PATCH request to http://127.0.0.1:8008/config with {"synchronous_node_count": 1} # features/steps/patroni_api.py:71 179s Jan 09 14:34:39 Then I receive a response code 200 # features/steps/patroni_api.py:98 179s Jan 09 14:34:39 And I shut down postgres1 # features/steps/basic_replication.py:29 182s Jan 09 14:34:42 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 183s Jan 09 14:34:43 When I start postgres1 # features/steps/basic_replication.py:8 188s Jan 09 14:34:48 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 189s Jan 09 14:34:49 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 189s Jan 09 14:34:49 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 189s Jan 09 14:34:49 189s Jan 09 14:34:49 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 189s Jan 09 14:34:49 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 192s Jan 09 14:34:52 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 192s Jan 09 14:34:52 When I sleep for 2 seconds # features/steps/patroni_api.py:39 194s Jan 09 14:34:54 And I shut down postgres0 # features/steps/basic_replication.py:29 195s Jan 09 14:34:55 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 197s Jan 09 14:34:57 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 197s Jan 09 14:34:57 And postgres2 role is the primary after 24 seconds # features/steps/basic_replication.py:105 215s Jan 09 14:35:15 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:156 217s Jan 09 14:35:17 And there is a postgres2_cb.log with "on_role_change master batman" in postgres2 data directory # features/steps/cascading_replication.py:12 217s Jan 09 14:35:17 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 217s Jan 09 14:35:17 Then I receive a response code 200 # features/steps/patroni_api.py:98 217s Jan 09 14:35:17 When I add the table bar to postgres2 # features/steps/basic_replication.py:54 217s Jan 09 14:35:17 Then table bar is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 220s Jan 09 14:35:20 And Response on GET http://127.0.0.1:8010/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 220s Jan 09 14:35:20 220s Jan 09 14:35:20 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 220s Jan 09 14:35:20 Given I add the table splitbrain to postgres0 # features/steps/basic_replication.py:54 220s Jan 09 14:35:20 And I start postgres0 # features/steps/basic_replication.py:8 220s Jan 09 14:35:20 Then postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 230s Jan 09 14:35:30 When I add the table buz to postgres2 # features/steps/basic_replication.py:54 231s Jan 09 14:35:30 Then table buz is present on postgres0 after 20 seconds # features/steps/basic_replication.py:93 231s Jan 09 14:35:30 231s Jan 09 14:35:30 @reject-duplicate-name 231s Jan 09 14:35:30 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 231s Jan 09 14:35:30 Given I start duplicate postgres0 on port 8011 # features/steps/basic_replication.py:13 234s Jan 09 14:35:34 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 238s Jan 09 14:35:38 238s Jan 09 14:35:38 Feature: cascading replication # features/cascading_replication.feature:1 238s Jan 09 14:35:38 We should check that patroni can do base backup and streaming from the replica 238s Jan 09 14:35:38 Scenario: check a base backup and streaming replication from a replica # features/cascading_replication.feature:4 238s Jan 09 14:35:38 Given I start postgres0 # features/steps/basic_replication.py:8 243s Jan 09 14:35:43 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 244s Jan 09 14:35:44 And I configure and start postgres1 with a tag clonefrom true # features/steps/cascading_replication.py:7 249s Jan 09 14:35:49 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 250s Jan 09 14:35:50 And I create label with "postgres0" in postgres0 data directory # features/steps/cascading_replication.py:18 250s Jan 09 14:35:50 And I create label with "postgres1" in postgres1 data directory # features/steps/cascading_replication.py:18 250s Jan 09 14:35:50 And "members/postgres1" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 250s Jan 09 14:35:50 And I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 255s Jan 09 14:35:55 Then replication works from postgres0 to postgres2 after 30 seconds # features/steps/basic_replication.py:112 256s Jan 09 14:35:56 And there is a label with "postgres1" in postgres2 data directory # features/steps/cascading_replication.py:12 262s Jan 09 14:36:02 262s SKIP FEATURE citus: Citus extenstion isn't available 262s SKIP Scenario check that worker cluster is registered in the coordinator: Citus extenstion isn't available 262s SKIP Scenario coordinator failover updates pg_dist_node: Citus extenstion isn't available 262s SKIP Scenario worker switchover doesn't break client queries on the coordinator: Citus extenstion isn't available 262s SKIP Scenario worker primary restart doesn't break client queries on the coordinator: Citus extenstion isn't available 262s 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 262s Jan 09 14:36:02 Feature: citus # features/citus.feature:1 262s Jan 09 14:36:02 We should check that coordinator discovers and registers workers and clients don't have errors when worker cluster switches over 262s Jan 09 14:36:02 Scenario: check that worker cluster is registered in the coordinator # features/citus.feature:4 262s Jan 09 14:36:02 Given I start postgres0 in citus group 0 # None 262s Jan 09 14:36:02 And I start postgres2 in citus group 1 # None 262s Jan 09 14:36:02 Then postgres0 is a leader in a group 0 after 10 seconds # None 262s Jan 09 14:36:02 And postgres2 is a leader in a group 1 after 10 seconds # None 262s Jan 09 14:36:02 When I start postgres1 in citus group 0 # None 262s Jan 09 14:36:02 And I start postgres3 in citus group 1 # None 262s Jan 09 14:36:02 Then replication works from postgres0 to postgres1 after 15 seconds # None 262s Jan 09 14:36:02 Then replication works from postgres2 to postgres3 after 15 seconds # None 262s Jan 09 14:36:02 And postgres0 is registered in the postgres0 as the primary in group 0 after 5 seconds # None 262s Jan 09 14:36:02 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 262s Jan 09 14:36:02 262s Jan 09 14:36:02 Scenario: coordinator failover updates pg_dist_node # features/citus.feature:16 262s Jan 09 14:36:02 Given I run patronictl.py failover batman --group 0 --candidate postgres1 --force # None 262s Jan 09 14:36:02 Then postgres1 role is the primary after 10 seconds # None 262s Jan 09 14:36:02 And "members/postgres0" key in a group 0 in DCS has state=running after 15 seconds # None 262s Jan 09 14:36:02 And replication works from postgres1 to postgres0 after 15 seconds # None 262s Jan 09 14:36:02 And postgres1 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 262s Jan 09 14:36:02 And "sync" key in a group 0 in DCS has sync_standby=postgres0 after 15 seconds # None 262s Jan 09 14:36:02 When I run patronictl.py switchover batman --group 0 --candidate postgres0 --force # None 262s Jan 09 14:36:02 Then postgres0 role is the primary after 10 seconds # None 262s Jan 09 14:36:02 And replication works from postgres0 to postgres1 after 15 seconds # None 262s Jan 09 14:36:02 And postgres0 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 262s Jan 09 14:36:02 And "sync" key in a group 0 in DCS has sync_standby=postgres1 after 15 seconds # None 262s Jan 09 14:36:02 262s Jan 09 14:36:02 Scenario: worker switchover doesn't break client queries on the coordinator # features/citus.feature:29 262s Jan 09 14:36:02 Given I create a distributed table on postgres0 # None 262s Jan 09 14:36:02 And I start a thread inserting data on postgres0 # None 262s Jan 09 14:36:02 When I run patronictl.py switchover batman --group 1 --force # None 262s Jan 09 14:36:02 Then I receive a response returncode 0 # None 262s Jan 09 14:36:02 And postgres3 role is the primary after 10 seconds # None 262s Jan 09 14:36:02 And "members/postgres2" key in a group 1 in DCS has state=running after 15 seconds # None 262s Jan 09 14:36:02 And replication works from postgres3 to postgres2 after 15 seconds # None 262s Jan 09 14:36:02 And postgres3 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 262s Jan 09 14:36:02 And "sync" key in a group 1 in DCS has sync_standby=postgres2 after 15 seconds # None 262s Jan 09 14:36:02 And a thread is still alive # None 262s Jan 09 14:36:02 When I run patronictl.py switchover batman --group 1 --force # None 262s Jan 09 14:36:02 Then I receive a response returncode 0 # None 262s Jan 09 14:36:02 And postgres2 role is the primary after 10 seconds # None 262s Jan 09 14:36:02 And replication works from postgres2 to postgres3 after 15 seconds # None 262s Jan 09 14:36:02 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 262s Jan 09 14:36:02 And "sync" key in a group 1 in DCS has sync_standby=postgres3 after 15 seconds # None 262s Jan 09 14:36:02 And a thread is still alive # None 262s Jan 09 14:36:02 When I stop a thread # None 262s Jan 09 14:36:02 Then a distributed table on postgres0 has expected rows # None 262s Jan 09 14:36:02 262s Jan 09 14:36:02 Scenario: worker primary restart doesn't break client queries on the coordinator # features/citus.feature:50 262s Jan 09 14:36:02 Given I cleanup a distributed table on postgres0 # None 262s Jan 09 14:36:02 And I start a thread inserting data on postgres0 # None 262s Jan 09 14:36:02 When I run patronictl.py restart batman postgres2 --group 1 --force # None 262s Jan 09 14:36:02 Then I receive a response returncode 0 # None 262s Jan 09 14:36:02 And postgres2 role is the primary after 10 seconds # None 262s Jan 09 14:36:02 And replication works from postgres2 to postgres3 after 15 seconds # None 262s Jan 09 14:36:02 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 262s Jan 09 14:36:02 And a thread is still alive # None 262s Jan 09 14:36:02 When I stop a thread # None 262s Jan 09 14:36:02 Then a distributed table on postgres0 has expected rows # None 262s Jan 09 14:36:02 262s Jan 09 14:36:02 Scenario: check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node # features/citus.feature:62 262s Jan 09 14:36:02 Given I start postgres4 in citus group 2 # None 262s Jan 09 14:36:02 Then postgres4 is a leader in a group 2 after 10 seconds # None 262s Jan 09 14:36:02 And "members/postgres4" key in a group 2 in DCS has role=master after 3 seconds # None 262s Jan 09 14:36:02 When I run patronictl.py edit-config batman --group 2 -s ttl=20 --force # None 262s Jan 09 14:36:02 Then I receive a response returncode 0 # None 262s Jan 09 14:36:02 And I receive a response output "+ttl: 20" # None 262s Jan 09 14:36:02 Then postgres4 is registered in the postgres2 as the primary in group 2 after 5 seconds # None 262s Jan 09 14:36:02 When I shut down postgres4 # None 262s Jan 09 14:36:02 Then there is a transaction in progress on postgres0 changing pg_dist_node after 5 seconds # None 262s Jan 09 14:36:02 When I run patronictl.py restart batman postgres2 --group 1 --force # None 262s Jan 09 14:36:02 Then a transaction finishes in 20 seconds # None 262s Jan 09 14:36:02 262s Jan 09 14:36:02 Feature: custom bootstrap # features/custom_bootstrap.feature:1 262s Jan 09 14:36:02 We should check that patroni can bootstrap a new cluster from a backup 262s Jan 09 14:36:02 Scenario: clone existing cluster using pg_basebackup # features/custom_bootstrap.feature:4 262s Jan 09 14:36:02 Given I start postgres0 # features/steps/basic_replication.py:8 267s Jan 09 14:36:07 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 268s Jan 09 14:36:08 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 268s Jan 09 14:36:08 And I start postgres1 in a cluster batman1 as a clone of postgres0 # features/steps/custom_bootstrap.py:6 273s Jan 09 14:36:13 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 274s Jan 09 14:36:14 Then table foo is present on postgres1 after 10 seconds # features/steps/basic_replication.py:93 274s Jan 09 14:36:14 274s Jan 09 14:36:14 Scenario: make a backup and do a restore into a new cluster # features/custom_bootstrap.feature:12 274s Jan 09 14:36:14 Given I add the table bar to postgres1 # features/steps/basic_replication.py:54 274s Jan 09 14:36:14 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 275s Jan 09 14:36:15 When I start postgres2 in a cluster batman2 from backup # features/steps/custom_bootstrap.py:11 282s Jan 09 14:36:22 Then postgres2 is a leader of batman2 after 30 seconds # features/steps/custom_bootstrap.py:16 283s Jan 09 14:36:23 And table bar is present on postgres2 after 10 seconds # features/steps/basic_replication.py:93 289s Jan 09 14:36:29 289s Jan 09 14:36:29 Feature: dcs failsafe mode # features/dcs_failsafe_mode.feature:1 289s Jan 09 14:36:29 We should check the basic dcs failsafe mode functioning 289s Jan 09 14:36:29 Scenario: check failsafe mode can be successfully enabled # features/dcs_failsafe_mode.feature:4 289s Jan 09 14:36:29 Given I start postgres0 # features/steps/basic_replication.py:8 294s Jan 09 14:36:34 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 295s Jan 09 14:36:35 Then "config" key in DCS has ttl=30 after 10 seconds # features/steps/cascading_replication.py:23 295s Jan 09 14:36: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 295s Jan 09 14:36:35 Then I receive a response code 200 # features/steps/patroni_api.py:98 295s Jan 09 14:36:35 And Response on GET http://127.0.0.1:8008/failsafe contains postgres0 after 10 seconds # features/steps/patroni_api.py:156 296s Jan 09 14:36:36 When I issue a GET request to http://127.0.0.1:8008/failsafe # features/steps/patroni_api.py:61 297s Jan 09 14:36:36 Then I receive a response code 200 # features/steps/patroni_api.py:98 297s Jan 09 14:36:36 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 297s Jan 09 14:36:36 When I issue a PATCH request to http://127.0.0.1:8008/config with {"postgresql": {"parameters": {"wal_level": "logical"}},"slots":{"dcs_slot_1": null,"postgres0":null}} # features/steps/patroni_api.py:71 297s Jan 09 14:36:37 Then I receive a response code 200 # features/steps/patroni_api.py:98 297s Jan 09 14:36:37 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 297s Jan 09 14:36:37 Then I receive a response code 200 # features/steps/patroni_api.py:98 297s Jan 09 14:36:37 297s Jan 09 14:36:37 @dcs-failsafe 297s Jan 09 14:36:37 Scenario: check one-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:20 297s Jan 09 14:36:37 Given DCS is down # None 297s Jan 09 14:36:37 Then Response on GET http://127.0.0.1:8008/primary contains failsafe_mode_is_active after 12 seconds # None 297s Jan 09 14:36:37 And postgres0 role is the primary after 10 seconds # None 297s Jan 09 14:36:37 297s Jan 09 14:36:37 @dcs-failsafe 297s Jan 09 14:36:37 Scenario: check new replica isn't promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:26 297s Jan 09 14:36:37 Given DCS is up # None 297s Jan 09 14:36:37 When I do a backup of postgres0 # None 297s Jan 09 14:36:37 And I shut down postgres0 # None 297s Jan 09 14:36:37 When I start postgres1 in a cluster batman from backup with no_leader # None 297s Jan 09 14:36:37 Then postgres1 role is the replica after 12 seconds # None 297s Jan 09 14:36:37 297s Jan 09 14:36:37 Scenario: check leader and replica are both in /failsafe key after leader is back # features/dcs_failsafe_mode.feature:33 297s Jan 09 14:36:37 Given I start postgres0 # features/steps/basic_replication.py:8 297s Jan 09 14:36:37 And I start postgres1 # features/steps/basic_replication.py:8 297s SKIP Scenario check one-node cluster is functioning while DCS is down: it is not possible to control state of etcd3 from tests 297s 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 302s Jan 09 14:36:42 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 302s Jan 09 14:36:42 And "members/postgres1" key in DCS has state=running after 2 seconds # features/steps/cascading_replication.py:23 303s Jan 09 14:36:43 And Response on GET http://127.0.0.1:8009/failsafe contains postgres1 after 10 seconds # features/steps/patroni_api.py:156 303s Jan 09 14:36:43 When I issue a GET request to http://127.0.0.1:8009/failsafe # features/steps/patroni_api.py:61 303s Jan 09 14:36:43 Then I receive a response code 200 # features/steps/patroni_api.py:98 303s Jan 09 14:36:43 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 303s Jan 09 14:36:43 And I receive a response postgres1 http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:98 303s Jan 09 14:36:43 303s Jan 09 14:36:43 @dcs-failsafe @slot-advance 303s Jan 09 14:36:43 Scenario: check leader and replica are functioning while DCS is down # features/dcs_failsafe_mode.feature:46 303s Jan 09 14:36:43 Given I get all changes from physical slot dcs_slot_1 on postgres0 # None 303s Jan 09 14:36:43 Then physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # None 303s Jan 09 14:36:43 And logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 10 seconds # None 303s Jan 09 14:36:43 And DCS is down # None 303s Jan 09 14:36:43 Then Response on GET http://127.0.0.1:8008/primary contains failsafe_mode_is_active after 12 seconds # None 303s Jan 09 14:36:43 Then postgres0 role is the primary after 10 seconds # None 303s Jan 09 14:36:43 And postgres1 role is the replica after 2 seconds # None 303s Jan 09 14:36:43 And replication works from postgres0 to postgres1 after 10 seconds # None 303s Jan 09 14:36:43 When I get all changes from logical slot dcs_slot_0 on postgres0 # None 303s Jan 09 14:36:43 And I get all changes from physical slot dcs_slot_1 on postgres0 # None 303s Jan 09 14:36:43 Then logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 20 seconds # None 303s Jan 09 14:36:43 And physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # None 303s Jan 09 14:36:43 303s Jan 09 14:36:43 @dcs-failsafe 303s Jan 09 14:36:43 Scenario: check primary is demoted when one replica is shut down and DCS is down # features/dcs_failsafe_mode.feature:61 303s Jan 09 14:36:43 Given DCS is down # None 303s Jan 09 14:36:43 And I kill postgres1 # None 303s Jan 09 14:36:43 And I kill postmaster on postgres1 # None 303s Jan 09 14:36:43 Then postgres0 role is the replica after 12 seconds # None 303s Jan 09 14:36:43 303s Jan 09 14:36:43 @dcs-failsafe 303s Jan 09 14:36:43 Scenario: check known replica is promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:68 303s Jan 09 14:36:43 Given I kill postgres0 # None 303s Jan 09 14:36:43 And I shut down postmaster on postgres0 # None 303s Jan 09 14:36:43 And DCS is up # None 303s Jan 09 14:36:43 When I start postgres1 # None 303s Jan 09 14:36:43 Then "members/postgres1" key in DCS has state=running after 10 seconds # None 303s Jan 09 14:36:43 And postgres1 role is the primary after 25 seconds # None 303s Jan 09 14:36:43 303s Jan 09 14:36:43 @dcs-failsafe 303s Jan 09 14:36:43 Scenario: scale to three-node cluster # features/dcs_failsafe_mode.feature:77 303s Jan 09 14:36:43 Given I start postgres0 # None 303s Jan 09 14:36:43 And I configure and start postgres2 with a tag replicatefrom postgres0 # None 303s Jan 09 14:36:43 Then "members/postgres2" key in DCS has state=running after 10 seconds # None 303s Jan 09 14:36:43 And "members/postgres0" key in DCS has state=running after 20 seconds # None 303s Jan 09 14:36:43 And Response on GET http://127.0.0.1:8008/failsafe contains postgres2 after 10 seconds # None 303s Jan 09 14:36:43 And replication works from postgres1 to postgres0 after 10 seconds # None 303s Jan 09 14:36:43 And replication works from postgres1 to postgres2 after 10 seconds # None 303s SKIP Scenario check leader and replica are functioning while DCS is down: it is not possible to control state of etcd3 from tests 303s 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 303s 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 303s SKIP Scenario scale to three-node cluster: it is not possible to control state of etcd3 from tests 303s SKIP Scenario make sure permanent slots exist on replicas: it is not possible to control state of etcd3 from tests 303s SKIP Scenario check three-node cluster is functioning while DCS is down: it is not possible to control state of etcd3 from tests 303s Jan 09 14:36:43 303s Jan 09 14:36:43 @dcs-failsafe @slot-advance 303s Jan 09 14:36:43 Scenario: make sure permanent slots exist on replicas # features/dcs_failsafe_mode.feature:88 303s Jan 09 14:36:43 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 303s Jan 09 14:36:43 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # None 303s Jan 09 14:36:43 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # None 303s Jan 09 14:36:43 When I get all changes from physical slot dcs_slot_1 on postgres1 # None 303s Jan 09 14:36:43 Then physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # None 303s Jan 09 14:36:43 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # None 303s Jan 09 14:36:43 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # None 303s Jan 09 14:36:43 And physical slot postgres2 is in sync between postgres0 and postgres1 after 10 seconds # None 303s 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 303s Jan 09 14:36:43 303s Jan 09 14:36:43 @dcs-failsafe 303s Jan 09 14:36:43 Scenario: check three-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:99 303s Jan 09 14:36:43 Given DCS is down # None 303s Jan 09 14:36:43 Then Response on GET http://127.0.0.1:8009/primary contains failsafe_mode_is_active after 12 seconds # None 303s Jan 09 14:36:43 Then postgres1 role is the primary after 10 seconds # None 303s Jan 09 14:36:43 And postgres0 role is the replica after 2 seconds # None 303s Jan 09 14:36:43 And postgres2 role is the replica after 2 seconds # None 307s Jan 09 14:36:47 307s Jan 09 14:36:47 @dcs-failsafe @slot-advance 307s Jan 09 14:36:47 Scenario: check that permanent slots are in sync between nodes while DCS is down # features/dcs_failsafe_mode.feature:108 307s Jan 09 14:36:47 Given replication works from postgres1 to postgres0 after 10 seconds # None 307s Jan 09 14:36:47 And replication works from postgres1 to postgres2 after 10 seconds # None 307s Jan 09 14:36:47 When I get all changes from logical slot dcs_slot_2 on postgres1 # None 307s Jan 09 14:36:47 And I get all changes from physical slot dcs_slot_1 on postgres1 # None 307s Jan 09 14:36:47 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # None 307s Jan 09 14:36:47 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # None 307s Jan 09 14:36:47 And physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # None 307s Jan 09 14:36:47 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # None 307s Jan 09 14:36:47 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # None 307s Jan 09 14:36:47 And physical slot postgres2 is in sync between postgres0 and postgres1 after 10 seconds # None 307s Jan 09 14:36:47 307s Jan 09 14:36:47 Feature: ignored slots # features/ignored_slots.feature:1 307s Jan 09 14:36:47 307s Jan 09 14:36:47 Scenario: check ignored slots aren't removed on failover/switchover # features/ignored_slots.feature:2 307s Jan 09 14:36:47 Given I start postgres1 # features/steps/basic_replication.py:8 311s Jan 09 14:36:51 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 313s Jan 09 14:36:53 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 313s Jan 09 14:36:53 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 313s Jan 09 14:36:53 Then I receive a response code 200 # features/steps/patroni_api.py:98 313s Jan 09 14:36:53 And Response on GET http://127.0.0.1:8009/config contains ignore_slots after 10 seconds # features/steps/patroni_api.py:156 313s Jan 09 14:36:53 When I shut down postgres1 # features/steps/basic_replication.py:29 315s Jan 09 14:36:55 And I start postgres1 # features/steps/basic_replication.py:8 319s Jan 09 14:36:59 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 320s Jan 09 14:37:00 And "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 321s Jan 09 14:37:01 And postgres1 role is the primary after 20 seconds # features/steps/basic_replication.py:105 321s Jan 09 14:37:01 When I create a logical replication slot unmanaged_slot_0 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 321s Jan 09 14:37:01 And I create a logical replication slot unmanaged_slot_1 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 321s Jan 09 14:37:01 And I create a logical replication slot unmanaged_slot_2 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 321s Jan 09 14:37:01 And I create a logical replication slot unmanaged_slot_3 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 321s Jan 09 14:37:01 And I create a logical replication slot dummy_slot on postgres1 with the test_decoding plugin # features/steps/slots.py:8 321s Jan 09 14:37:01 Then postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 321s Jan 09 14:37:01 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 321s Jan 09 14:37:01 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 321s Jan 09 14:37:01 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 321s Jan 09 14:37:01 When I start postgres0 # features/steps/basic_replication.py:8 326s Jan 09 14:37:06 Then "members/postgres0" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 326s Jan 09 14:37:06 And postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 326s Jan 09 14:37:06 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 327s Jan 09 14:37:07 When I shut down postgres1 # features/steps/basic_replication.py:29 329s Jan 09 14:37:09 Then "members/postgres0" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 331s Jan 09 14:37:11 When I start postgres1 # features/steps/basic_replication.py:8 335s Jan 09 14:37:15 Then postgres1 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 335s Jan 09 14:37:15 And "members/postgres1" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 336s Jan 09 14:37:16 And I sleep for 2 seconds # features/steps/patroni_api.py:39 338s Jan 09 14:37:18 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 338s Jan 09 14:37:18 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 338s Jan 09 14:37:18 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 338s Jan 09 14:37:18 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 338s Jan 09 14:37:18 And postgres1 does not have a replication slot named dummy_slot # features/steps/slots.py:40 338s Jan 09 14:37:18 When I shut down postgres0 # features/steps/basic_replication.py:29 340s Jan 09 14:37:20 Then "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 341s Jan 09 14:37:21 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 341s Jan 09 14:37:21 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 341s Jan 09 14:37:21 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 341s Jan 09 14:37:21 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 343s Jan 09 14:37:23 343s Jan 09 14:37:23 Feature: nostream node # features/nostream_node.feature:1 343s Jan 09 14:37:23 343s Jan 09 14:37:23 Scenario: check nostream node is recovering from archive # features/nostream_node.feature:3 343s Jan 09 14:37:23 When I start postgres0 # features/steps/basic_replication.py:8 348s Jan 09 14:37:28 And I configure and start postgres1 with a tag nostream true # features/steps/cascading_replication.py:7 354s Jan 09 14:37:34 Then "members/postgres1" key in DCS has replication_state=in archive recovery after 10 seconds # features/steps/cascading_replication.py:23 354s Jan 09 14:37:34 And replication works from postgres0 to postgres1 after 30 seconds # features/steps/basic_replication.py:112 359s Jan 09 14:37:39 359s Jan 09 14:37:39 @slot-advance 359s Jan 09 14:37:39 Scenario: check permanent logical replication slots are not copied # features/nostream_node.feature:10 359s Jan 09 14:37:39 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 359s Jan 09 14:37:39 Then I receive a response code 200 # features/steps/patroni_api.py:98 359s Jan 09 14:37:39 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 363s Jan 09 14:37:43 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 364s Jan 09 14:37:44 When I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 369s Jan 09 14:37:49 Then "members/postgres2" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 376s Jan 09 14:37:56 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 376s Jan 09 14:37:56 And postgres2 does not have a replication slot named test_logical # features/steps/slots.py:40 382s Jan 09 14:38:02 382s Jan 09 14:38:02 Feature: patroni api # features/patroni_api.feature:1 382s Jan 09 14:38:02 We should check that patroni correctly responds to valid and not-valid API requests. 382s Jan 09 14:38:02 Scenario: check API requests on a stand-alone server # features/patroni_api.feature:4 382s Jan 09 14:38:02 Given I start postgres0 # features/steps/basic_replication.py:8 387s Jan 09 14:38:07 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 388s Jan 09 14:38:08 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 388s Jan 09 14:38:08 Then I receive a response code 200 # features/steps/patroni_api.py:98 388s Jan 09 14:38:08 And I receive a response state running # features/steps/patroni_api.py:98 388s Jan 09 14:38:08 And I receive a response role master # features/steps/patroni_api.py:98 388s Jan 09 14:38:08 When I issue a GET request to http://127.0.0.1:8008/standby_leader # features/steps/patroni_api.py:61 388s Jan 09 14:38:08 Then I receive a response code 503 # features/steps/patroni_api.py:98 388s Jan 09 14:38:08 When I issue a GET request to http://127.0.0.1:8008/health # features/steps/patroni_api.py:61 388s Jan 09 14:38:08 Then I receive a response code 200 # features/steps/patroni_api.py:98 388s Jan 09 14:38:08 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 388s Jan 09 14:38:08 Then I receive a response code 503 # features/steps/patroni_api.py:98 388s Jan 09 14:38:08 When I issue a POST request to http://127.0.0.1:8008/reinitialize with {"force": true} # features/steps/patroni_api.py:71 389s Jan 09 14:38:08 Then I receive a response code 503 # features/steps/patroni_api.py:98 389s Jan 09 14:38:08 And I receive a response text I am the leader, can not reinitialize # features/steps/patroni_api.py:98 389s Jan 09 14:38:08 When I run patronictl.py switchover batman --master postgres0 --force # features/steps/patroni_api.py:86 391s Jan 09 14:38:11 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 391s Jan 09 14:38:11 And I receive a response output "Error: No candidates found to switchover to" # features/steps/patroni_api.py:98 391s Jan 09 14:38:11 When I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres0"} # features/steps/patroni_api.py:71 391s Jan 09 14:38:11 Then I receive a response code 412 # features/steps/patroni_api.py:98 391s Jan 09 14:38:11 And I receive a response text switchover is not possible: cluster does not have members except leader # features/steps/patroni_api.py:98 391s Jan 09 14:38:11 When I issue an empty POST request to http://127.0.0.1:8008/failover # features/steps/patroni_api.py:66 391s Jan 09 14:38:11 Then I receive a response code 400 # features/steps/patroni_api.py:98 391s Jan 09 14:38:11 When I issue a POST request to http://127.0.0.1:8008/failover with {"foo": "bar"} # features/steps/patroni_api.py:71 391s Jan 09 14:38:11 Then I receive a response code 400 # features/steps/patroni_api.py:98 391s Jan 09 14:38:11 And I receive a response text "Failover could be performed only to a specific candidate" # features/steps/patroni_api.py:98 391s Jan 09 14:38:11 391s Jan 09 14:38:11 Scenario: check local configuration reload # features/patroni_api.feature:32 391s Jan 09 14:38:11 Given I add tag new_tag new_value to postgres0 config # features/steps/patroni_api.py:137 391s Jan 09 14:38:11 And I issue an empty POST request to http://127.0.0.1:8008/reload # features/steps/patroni_api.py:66 391s Jan 09 14:38:11 Then I receive a response code 202 # features/steps/patroni_api.py:98 391s Jan 09 14:38:11 391s Jan 09 14:38:11 Scenario: check dynamic configuration change via DCS # features/patroni_api.feature:37 391s Jan 09 14:38:11 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 391s Jan 09 14:38:11 Then I receive a response code 200 # features/steps/patroni_api.py:98 391s Jan 09 14:38:11 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 11 seconds # features/steps/patroni_api.py:156 394s Jan 09 14:38:14 When I issue a GET request to http://127.0.0.1:8008/config # features/steps/patroni_api.py:61 395s Jan 09 14:38:15 Then I receive a response code 200 # features/steps/patroni_api.py:98 395s Jan 09 14:38:15 And I receive a response ttl 20 # features/steps/patroni_api.py:98 395s Jan 09 14:38:15 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 395s Jan 09 14:38:15 Then I receive a response code 200 # features/steps/patroni_api.py:98 395s Jan 09 14:38:15 And I receive a response tags {'new_tag': 'new_value'} # features/steps/patroni_api.py:98 395s Jan 09 14:38:15 And I sleep for 4 seconds # features/steps/patroni_api.py:39 399s Jan 09 14:38:19 399s Jan 09 14:38:19 Scenario: check the scheduled restart # features/patroni_api.feature:49 399s Jan 09 14:38:19 Given I run patronictl.py edit-config -p 'superuser_reserved_connections=6' --force batman # features/steps/patroni_api.py:86 401s Jan 09 14:38:21 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 401s Jan 09 14:38:21 And I receive a response output "+ superuser_reserved_connections: 6" # features/steps/patroni_api.py:98 401s Jan 09 14:38:21 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 5 seconds # features/steps/patroni_api.py:156 401s Jan 09 14:38:21 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 401s Jan 09 14:38:21 Then I receive a response code 202 # features/steps/patroni_api.py:98 401s Jan 09 14:38:21 And I sleep for 8 seconds # features/steps/patroni_api.py:39 409s Jan 09 14:38:29 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 10 seconds # features/steps/patroni_api.py:156 409s Jan 09 14:38:29 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 409s Jan 09 14:38:29 Then I receive a response code 202 # features/steps/patroni_api.py:98 409s Jan 09 14:38:29 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 416s Jan 09 14:38:36 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 417s Jan 09 14:38:37 417s Jan 09 14:38:37 Scenario: check API requests for the primary-replica pair in the pause mode # features/patroni_api.feature:63 417s Jan 09 14:38:37 Given I start postgres1 # features/steps/basic_replication.py:8 422s Jan 09 14:38:42 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 423s Jan 09 14:38:43 When I run patronictl.py pause batman # features/steps/patroni_api.py:86 425s Jan 09 14:38:45 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 425s Jan 09 14:38:45 When I kill postmaster on postgres1 # features/steps/basic_replication.py:44 425s Jan 09 14:38:45 waiting for server to shut down.... done 425s Jan 09 14:38:45 server stopped 425s Jan 09 14:38:45 And I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 426s Jan 09 14:38:46 Then I receive a response code 503 # features/steps/patroni_api.py:98 426s Jan 09 14:38:46 And "members/postgres1" key in DCS has state=stopped after 10 seconds # features/steps/cascading_replication.py:23 430s Jan 09 14:38:50 When I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 434s Jan 09 14:38:54 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 434s Jan 09 14:38:54 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 435s Jan 09 14:38:55 And I sleep for 2 seconds # features/steps/patroni_api.py:39 437s Jan 09 14:38:57 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 437s Jan 09 14:38:57 Then I receive a response code 200 # features/steps/patroni_api.py:98 437s Jan 09 14:38:57 And I receive a response state running # features/steps/patroni_api.py:98 437s Jan 09 14:38:57 And I receive a response role replica # features/steps/patroni_api.py:98 437s Jan 09 14:38:57 When I run patronictl.py reinit batman postgres1 --force --wait # features/steps/patroni_api.py:86 441s Jan 09 14:39:01 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 441s Jan 09 14:39:01 And I receive a response output "Success: reinitialize for member postgres1" # features/steps/patroni_api.py:98 441s Jan 09 14:39:01 And postgres1 role is the secondary after 30 seconds # features/steps/basic_replication.py:105 442s Jan 09 14:39:02 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 443s Jan 09 14:39:03 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 448s Jan 09 14:39:08 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 448s Jan 09 14:39:08 And I receive a response output "Success: restart on member postgres0" # features/steps/patroni_api.py:98 448s Jan 09 14:39:08 And postgres0 role is the primary after 5 seconds # features/steps/basic_replication.py:105 449s Jan 09 14:39:09 449s Jan 09 14:39:09 Scenario: check the switchover via the API in the pause mode # features/patroni_api.feature:90 449s Jan 09 14:39:09 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 451s Jan 09 14:39:11 Then I receive a response code 200 # features/steps/patroni_api.py:98 451s Jan 09 14:39:11 And postgres1 is a leader after 5 seconds # features/steps/patroni_api.py:29 451s Jan 09 14:39:11 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 452s Jan 09 14:39:12 And postgres0 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 457s Jan 09 14:39:17 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 457s Jan 09 14:39:17 And "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 457s Jan 09 14:39:17 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 457s Jan 09 14:39:17 Then I receive a response code 503 # features/steps/patroni_api.py:98 457s Jan 09 14:39:17 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 457s Jan 09 14:39:17 Then I receive a response code 200 # features/steps/patroni_api.py:98 457s Jan 09 14:39:17 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 457s Jan 09 14:39:17 Then I receive a response code 200 # features/steps/patroni_api.py:98 457s Jan 09 14:39:17 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 457s Jan 09 14:39:17 Then I receive a response code 503 # features/steps/patroni_api.py:98 457s Jan 09 14:39:17 457s Jan 09 14:39:17 Scenario: check the scheduled switchover # features/patroni_api.feature:107 457s Jan 09 14:39:17 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 460s Jan 09 14:39:20 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 460s Jan 09 14:39:20 And I receive a response output "Can't schedule switchover in the paused state" # features/steps/patroni_api.py:98 460s Jan 09 14:39:20 When I run patronictl.py resume batman # features/steps/patroni_api.py:86 463s Jan 09 14:39:23 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 463s Jan 09 14:39:23 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 465s Jan 09 14:39:25 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 465s Jan 09 14:39:25 And postgres0 is a leader after 20 seconds # features/steps/patroni_api.py:29 474s Jan 09 14:39:34 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 475s Jan 09 14:39:35 And postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 479s Jan 09 14:39:38 And replication works from postgres0 to postgres1 after 25 seconds # features/steps/basic_replication.py:112 479s Jan 09 14:39:39 And "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 479s Jan 09 14:39:39 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 479s Jan 09 14:39:39 Then I receive a response code 200 # features/steps/patroni_api.py:98 479s Jan 09 14:39:39 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 479s Jan 09 14:39:39 Then I receive a response code 503 # features/steps/patroni_api.py:98 479s Jan 09 14:39:39 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 479s Jan 09 14:39:39 Then I receive a response code 503 # features/steps/patroni_api.py:98 479s Jan 09 14:39:39 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 479s Jan 09 14:39:39 Then I receive a response code 200 # features/steps/patroni_api.py:98 483s Jan 09 14:39:43 483s Jan 09 14:39:43 Feature: permanent slots # features/permanent_slots.feature:1 483s Jan 09 14:39:43 483s Jan 09 14:39:43 Scenario: check that physical permanent slots are created # features/permanent_slots.feature:2 483s Jan 09 14:39:43 Given I start postgres0 # features/steps/basic_replication.py:8 488s Jan 09 14:39:48 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 489s Jan 09 14:39:49 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 489s Jan 09 14:39:49 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 489s Jan 09 14:39:49 Then I receive a response code 200 # features/steps/patroni_api.py:98 489s Jan 09 14:39:49 And Response on GET http://127.0.0.1:8008/config contains slots after 10 seconds # features/steps/patroni_api.py:156 490s Jan 09 14:39:50 When I start postgres1 # features/steps/basic_replication.py:8 495s Jan 09 14:39:55 And I configure and start postgres2 with a tag nofailover true # features/steps/cascading_replication.py:7 500s Jan 09 14:40:00 And I configure and start postgres3 with a tag replicatefrom postgres2 # features/steps/cascading_replication.py:7 505s Jan 09 14:40:05 Then postgres0 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 505s Jan 09 14:40:05 And postgres0 has a physical replication slot named postgres1 after 10 seconds # features/steps/slots.py:80 505s Jan 09 14:40:05 And postgres0 has a physical replication slot named postgres2 after 10 seconds # features/steps/slots.py:80 505s Jan 09 14:40:05 And postgres2 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 505s Jan 09 14:40:05 And postgres2 does not have a replication slot named test_physical # features/steps/slots.py:40 505s Jan 09 14:40:05 505s Jan 09 14:40:05 @slot-advance 505s Jan 09 14:40:05 Scenario: check that logical permanent slots are created # features/permanent_slots.feature:19 505s Jan 09 14:40:05 Given I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 510s Jan 09 14:40:10 And I issue a PATCH request to http://127.0.0.1:8008/config with {"slots":{"test_logical":{"type":"logical","database":"postgres","plugin":"test_decoding"}}} # features/steps/patroni_api.py:71 511s Jan 09 14:40:11 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 512s Jan 09 14:40:12 512s Jan 09 14:40:12 @slot-advance 512s Jan 09 14:40:12 Scenario: check that permanent slots are created on replicas # features/permanent_slots.feature:25 512s Jan 09 14:40:12 Given postgres1 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 515s Jan 09 14:40:15 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 515s Jan 09 14:40:15 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 516s Jan 09 14:40:16 And postgres1 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 516s Jan 09 14:40:16 And postgres2 does not have a replication slot named test_logical # features/steps/slots.py:40 516s Jan 09 14:40:16 And postgres3 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 516s Jan 09 14:40:16 516s Jan 09 14:40:16 @slot-advance 516s Jan 09 14:40:16 Scenario: check permanent physical slots that match with member names # features/permanent_slots.feature:34 516s Jan 09 14:40:16 Given postgres0 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 516s Jan 09 14:40:16 And postgres1 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 516s Jan 09 14:40:16 And postgres1 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 516s Jan 09 14:40:16 And postgres2 does not have a replication slot named postgres0 # features/steps/slots.py:40 516s Jan 09 14:40:16 And postgres2 does not have a replication slot named postgres1 # features/steps/slots.py:40 516s Jan 09 14:40:16 And postgres2 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 516s Jan 09 14:40:16 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 516s Jan 09 14:40:16 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 516s Jan 09 14:40:16 516s Jan 09 14:40:16 @slot-advance 516s Jan 09 14:40:16 Scenario: check that permanent slots are advanced on replicas # features/permanent_slots.feature:45 516s Jan 09 14:40:16 Given I add the table replicate_me to postgres0 # features/steps/basic_replication.py:54 516s Jan 09 14:40:16 When I get all changes from logical slot test_logical on postgres0 # features/steps/slots.py:70 516s Jan 09 14:40:16 And I get all changes from physical slot test_physical on postgres0 # features/steps/slots.py:75 516s Jan 09 14:40:16 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 518s Jan 09 14:40:18 And Physical slot test_physical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 518s Jan 09 14:40:18 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 518s Jan 09 14:40:18 And Physical slot test_physical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 518s Jan 09 14:40:18 And Physical slot postgres3 is in sync between postgres2 and postgres0 after 20 seconds # features/steps/slots.py:51 520s Jan 09 14:40:20 And Physical slot postgres3 is in sync between postgres2 and postgres1 after 10 seconds # features/steps/slots.py:51 520s Jan 09 14:40:20 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 520s Jan 09 14:40:20 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 520s Jan 09 14:40:20 520s Jan 09 14:40:20 @slot-advance 520s Jan 09 14:40:20 Scenario: check that only permanent slots are written to the /status key # features/permanent_slots.feature:59 520s Jan 09 14:40:20 Given "status" key in DCS has test_physical in slots # features/steps/slots.py:116 520s Jan 09 14:40:20 And "status" key in DCS has postgres0 in slots # features/steps/slots.py:116 520s Jan 09 14:40:20 And "status" key in DCS has postgres1 in slots # features/steps/slots.py:116 520s Jan 09 14:40:20 And "status" key in DCS does not have postgres2 in slots # features/steps/slots.py:122 520s Jan 09 14:40:20 And "status" key in DCS has postgres3 in slots # features/steps/slots.py:116 520s Jan 09 14:40:20 520s Jan 09 14:40:20 Scenario: check permanent physical replication slot after failover # features/permanent_slots.feature:66 520s Jan 09 14:40:20 Given I shut down postgres3 # features/steps/basic_replication.py:29 521s Jan 09 14:40:21 And I shut down postgres2 # features/steps/basic_replication.py:29 522s Jan 09 14:40:22 And I shut down postgres0 # features/steps/basic_replication.py:29 524s Jan 09 14:40:24 Then postgres1 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 524s Jan 09 14:40:24 And postgres1 has a physical replication slot named postgres0 after 10 seconds # features/steps/slots.py:80 524s Jan 09 14:40:24 And postgres1 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 524s Jan 09 14:40:24 When I start postgres0 # features/steps/basic_replication.py:8 528s Jan 09 14:40:28 Then postgres0 role is the replica after 20 seconds # features/steps/basic_replication.py:105 528s Jan 09 14:40:28 And physical replication slot named postgres1 on postgres0 has no xmin value after 10 seconds # features/steps/slots.py:96 529s Jan 09 14:40:29 And physical replication slot named postgres2 on postgres0 has no xmin value after 10 seconds # features/steps/slots.py:96 532s Jan 09 14:40:32 532s Jan 09 14:40:32 Feature: priority replication # features/priority_failover.feature:1 532s Jan 09 14:40:32 We should check that we can give nodes priority during failover 532s Jan 09 14:40:32 Scenario: check failover priority 0 prevents leaderships # features/priority_failover.feature:4 532s Jan 09 14:40:32 Given I configure and start postgres0 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 537s Jan 09 14:40:37 And I configure and start postgres1 with a tag failover_priority 0 # features/steps/cascading_replication.py:7 542s Jan 09 14:40:42 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 543s Jan 09 14:40:43 When I shut down postgres0 # features/steps/basic_replication.py:29 545s Jan 09 14:40:45 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 547s Jan 09 14:40:47 Then postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 547s Jan 09 14:40:47 When I start postgres0 # features/steps/basic_replication.py:8 551s Jan 09 14:40:51 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 552s Jan 09 14:40:52 552s Jan 09 14:40:52 Scenario: check higher failover priority is respected # features/priority_failover.feature:14 552s Jan 09 14:40:52 Given I configure and start postgres2 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 557s Jan 09 14:40:57 And I configure and start postgres3 with a tag failover_priority 2 # features/steps/cascading_replication.py:7 561s Jan 09 14:41:01 Then replication works from postgres0 to postgres2 after 20 seconds # features/steps/basic_replication.py:112 562s Jan 09 14:41:02 And replication works from postgres0 to postgres3 after 20 seconds # features/steps/basic_replication.py:112 563s Jan 09 14:41:03 When I shut down postgres0 # features/steps/basic_replication.py:29 565s Jan 09 14:41:05 Then postgres3 role is the primary after 10 seconds # features/steps/basic_replication.py:105 566s Jan 09 14:41:06 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 566s Jan 09 14:41:06 566s Jan 09 14:41:06 Scenario: check conflicting configuration handling # features/priority_failover.feature:23 566s Jan 09 14:41:06 When I set nofailover tag in postgres2 config # features/steps/patroni_api.py:131 566s Jan 09 14:41:06 And I issue an empty POST request to http://127.0.0.1:8010/reload # features/steps/patroni_api.py:66 566s Jan 09 14:41:06 Then I receive a response code 202 # features/steps/patroni_api.py:98 566s Jan 09 14:41: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 569s Jan 09 14:41:09 And "members/postgres2" key in DCS has tags={'failover_priority': '1', 'nofailover': True} after 10 seconds # features/steps/cascading_replication.py:23 571s Jan 09 14:41:10 When I issue a POST request to http://127.0.0.1:8010/failover with {"candidate": "postgres2"} # features/steps/patroni_api.py:71 571s Jan 09 14:41:11 Then I receive a response code 412 # features/steps/patroni_api.py:98 571s Jan 09 14:41:11 And I receive a response text "failover is not possible: no good candidates have been found" # features/steps/patroni_api.py:98 571s Jan 09 14:41:11 When I reset nofailover tag in postgres1 config # features/steps/patroni_api.py:131 571s Jan 09 14:41:11 And I issue an empty POST request to http://127.0.0.1:8009/reload # features/steps/patroni_api.py:66 571s Jan 09 14:41:11 Then I receive a response code 202 # features/steps/patroni_api.py:98 571s Jan 09 14:41:11 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 572s Jan 09 14:41:12 And "members/postgres1" key in DCS has tags={'failover_priority': '0', 'nofailover': False} after 10 seconds # features/steps/cascading_replication.py:23 573s Jan 09 14:41:13 And I issue a POST request to http://127.0.0.1:8009/failover with {"candidate": "postgres1"} # features/steps/patroni_api.py:71 576s Jan 09 14:41:16 Then I receive a response code 200 # features/steps/patroni_api.py:98 576s Jan 09 14:41:16 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 581s Jan 09 14:41:21 581s Jan 09 14:41:21 Feature: recovery # features/recovery.feature:1 581s Jan 09 14:41:21 We want to check that crashed postgres is started back 581s Jan 09 14:41:21 Scenario: check that timeline is not incremented when primary is started after crash # features/recovery.feature:4 581s Jan 09 14:41:21 Given I start postgres0 # features/steps/basic_replication.py:8 586s Jan 09 14:41:26 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 586s Jan 09 14:41:26 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 586s Jan 09 14:41:26 When I start postgres1 # features/steps/basic_replication.py:8 590s Jan 09 14:41:30 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 590s Jan 09 14:41:30 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 591s Jan 09 14:41:31 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 591s Jan 09 14:41:31 waiting for server to shut down.... done 591s Jan 09 14:41:31 server stopped 591s Jan 09 14:41:31 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 593s Jan 09 14:41:33 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 593s Jan 09 14:41:33 Then I receive a response code 200 # features/steps/patroni_api.py:98 593s Jan 09 14:41:33 And I receive a response role master # features/steps/patroni_api.py:98 593s Jan 09 14:41:33 And I receive a response timeline 1 # features/steps/patroni_api.py:98 593s Jan 09 14:41:33 And "members/postgres0" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 593s Jan 09 14:41:33 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 597s Jan 09 14:41:37 597s Jan 09 14:41:37 Scenario: check immediate failover when master_start_timeout=0 # features/recovery.feature:20 597s Jan 09 14:41:37 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 597s Jan 09 14:41:37 Then I receive a response code 200 # features/steps/patroni_api.py:98 597s Jan 09 14:41:37 And Response on GET http://127.0.0.1:8008/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 597s Jan 09 14:41:37 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 598s Jan 09 14:41:38 waiting for server to shut down.... done 598s Jan 09 14:41:38 server stopped 598s Jan 09 14:41:38 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 601s Jan 09 14:41:41 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 604s Jan 09 14:41:44 604s Jan 09 14:41:44 Feature: standby cluster # features/standby_cluster.feature:1 604s Jan 09 14:41:44 604s Jan 09 14:41:44 Scenario: prepare the cluster with logical slots # features/standby_cluster.feature:2 604s Jan 09 14:41:44 Given I start postgres1 # features/steps/basic_replication.py:8 609s Jan 09 14:41:49 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 610s Jan 09 14:41:50 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 610s Jan 09 14:41:50 When I issue a PATCH request to http://127.0.0.1:8009/config with {"slots": {"pm_1": {"type": "physical"}}, "postgresql": {"parameters": {"wal_level": "logical"}}} # features/steps/patroni_api.py:71 610s Jan 09 14:41:50 Then I receive a response code 200 # features/steps/patroni_api.py:98 610s Jan 09 14:41:50 And Response on GET http://127.0.0.1:8009/config contains slots after 10 seconds # features/steps/patroni_api.py:156 610s Jan 09 14:41:50 And I sleep for 3 seconds # features/steps/patroni_api.py:39 613s Jan 09 14:41:53 When I issue a PATCH request to http://127.0.0.1:8009/config with {"slots": {"test_logical": {"type": "logical", "database": "postgres", "plugin": "test_decoding"}}} # features/steps/patroni_api.py:71 613s Jan 09 14:41:53 Then I receive a response code 200 # features/steps/patroni_api.py:98 613s Jan 09 14:41:53 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 614s Jan 09 14:41:54 When I start postgres0 # features/steps/basic_replication.py:8 619s Jan 09 14:41:59 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 619s Jan 09 14:41:59 And replication works from postgres1 to postgres0 after 15 seconds # features/steps/basic_replication.py:112 619s Jan 09 14:41:59 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 619s Jan 09 14:41:59 Then I receive a response code 200 # features/steps/patroni_api.py:98 619s Jan 09 14:41:59 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 619s Jan 09 14:41:59 And "members/postgres0" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 619s Jan 09 14:41:59 619s Jan 09 14:41:59 @slot-advance 619s Jan 09 14:41:59 Scenario: check permanent logical slots are synced to the replica # features/standby_cluster.feature:22 619s Jan 09 14:41:59 Given I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 623s Jan 09 14:42:03 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 629s Jan 09 14:42:09 629s Jan 09 14:42:09 Scenario: Detach exiting node from the cluster # features/standby_cluster.feature:26 629s Jan 09 14:42:09 When I shut down postgres1 # features/steps/basic_replication.py:29 631s Jan 09 14:42:11 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 631s Jan 09 14:42:11 And "members/postgres0" key in DCS has role=master after 5 seconds # features/steps/cascading_replication.py:23 632s Jan 09 14:42:12 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 632s Jan 09 14:42:12 Then I receive a response code 200 # features/steps/patroni_api.py:98 632s Jan 09 14:42:12 632s Jan 09 14:42:12 Scenario: check replication of a single table in a standby cluster # features/standby_cluster.feature:33 632s Jan 09 14:42:12 Given I start postgres1 in a standby cluster batman1 as a clone of postgres0 # features/steps/standby_cluster.py:23 636s Jan 09 14:42:16 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 637s Jan 09 14:42:17 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 637s Jan 09 14:42:17 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 637s Jan 09 14:42:17 When I issue a GET request to http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:61 638s Jan 09 14:42:17 Then I receive a response code 200 # features/steps/patroni_api.py:98 638s Jan 09 14:42:17 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 638s Jan 09 14:42:17 And I sleep for 3 seconds # features/steps/patroni_api.py:39 641s Jan 09 14:42:20 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 641s Jan 09 14:42:21 Then I receive a response code 503 # features/steps/patroni_api.py:98 641s Jan 09 14:42:21 When I issue a GET request to http://127.0.0.1:8009/standby_leader # features/steps/patroni_api.py:61 641s Jan 09 14:42:21 Then I receive a response code 200 # features/steps/patroni_api.py:98 641s Jan 09 14:42:21 And I receive a response role standby_leader # features/steps/patroni_api.py:98 641s Jan 09 14:42:21 And there is a postgres1_cb.log with "on_role_change standby_leader batman1" in postgres1 data directory # features/steps/cascading_replication.py:12 641s Jan 09 14:42:21 When I start postgres2 in a cluster batman1 # features/steps/standby_cluster.py:12 646s Jan 09 14:42:26 Then postgres2 role is the replica after 24 seconds # features/steps/basic_replication.py:105 646s Jan 09 14:42:26 And postgres2 is replicating from postgres1 after 10 seconds # features/steps/standby_cluster.py:52 646s Jan 09 14:42:26 And table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 646s Jan 09 14:42:26 When I issue a GET request to http://127.0.0.1:8010/patroni # features/steps/patroni_api.py:61 646s Jan 09 14:42:26 Then I receive a response code 200 # features/steps/patroni_api.py:98 646s Jan 09 14:42:26 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 646s Jan 09 14:42:26 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 646s Jan 09 14:42:26 646s Jan 09 14:42:26 Scenario: check switchover # features/standby_cluster.feature:57 646s Jan 09 14:42:26 Given I run patronictl.py switchover batman1 --force # features/steps/patroni_api.py:86 650s Jan 09 14:42:30 Then Status code on GET http://127.0.0.1:8010/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 650s Jan 09 14:42:30 And postgres1 is replicating from postgres2 after 32 seconds # features/steps/standby_cluster.py:52 653s Jan 09 14:42:33 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 653s Jan 09 14:42:33 653s Jan 09 14:42:33 Scenario: check failover # features/standby_cluster.feature:63 653s Jan 09 14:42:33 When I kill postgres2 # features/steps/basic_replication.py:34 654s Jan 09 14:42:34 And I kill postmaster on postgres2 # features/steps/basic_replication.py:44 655s Jan 09 14:42:35 waiting for server to shut down.... done 655s Jan 09 14:42:35 server stopped 655s Jan 09 14:42:35 Then postgres1 is replicating from postgres0 after 32 seconds # features/steps/standby_cluster.py:52 673s Jan 09 14:42:53 And Status code on GET http://127.0.0.1:8009/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 673s Jan 09 14:42:53 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 673s Jan 09 14:42:53 Then I receive a response code 503 # features/steps/patroni_api.py:98 673s Jan 09 14:42:53 And I receive a response role standby_leader # features/steps/patroni_api.py:98 673s Jan 09 14:42:53 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 674s Jan 09 14:42:54 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 678s Jan 09 14:42:58 678s Jan 09 14:42:58 Feature: watchdog # features/watchdog.feature:1 678s Jan 09 14:42:58 Verify that watchdog gets pinged and triggered under appropriate circumstances. 678s Jan 09 14:42:58 Scenario: watchdog is opened and pinged # features/watchdog.feature:4 678s Jan 09 14:42:58 Given I start postgres0 with watchdog # features/steps/watchdog.py:16 683s Jan 09 14:43:03 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 685s Jan 09 14:43:05 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 685s Jan 09 14:43:05 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 685s Jan 09 14:43:05 And postgres0 watchdog has a 15 second timeout # features/steps/watchdog.py:34 685s Jan 09 14:43:05 685s Jan 09 14:43:05 Scenario: watchdog is reconfigured after global ttl changed # features/watchdog.feature:11 685s Jan 09 14:43:05 Given I run patronictl.py edit-config batman -s ttl=30 --force # features/steps/patroni_api.py:86 688s Jan 09 14:43:08 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 688s Jan 09 14:43:08 And I receive a response output "+ttl: 30" # features/steps/patroni_api.py:98 688s Jan 09 14:43:08 When I sleep for 4 seconds # features/steps/patroni_api.py:39 692s Jan 09 14:43:12 Then postgres0 watchdog has a 25 second timeout # features/steps/watchdog.py:34 692s Jan 09 14:43:12 692s Jan 09 14:43:12 Scenario: watchdog is disabled during pause # features/watchdog.feature:18 692s Jan 09 14:43:12 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 694s Jan 09 14:43:14 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 694s Jan 09 14:43:14 When I sleep for 2 seconds # features/steps/patroni_api.py:39 696s Jan 09 14:43:16 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 696s Jan 09 14:43:16 696s Jan 09 14:43:16 Scenario: watchdog is opened and pinged after resume # features/watchdog.feature:24 696s Jan 09 14:43:16 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 696s Jan 09 14:43:16 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 699s Jan 09 14:43:19 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 699s Jan 09 14:43:19 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 700s Jan 09 14:43:20 700s Jan 09 14:43:20 Scenario: watchdog is disabled when shutting down # features/watchdog.feature:30 700s Jan 09 14:43:20 Given I shut down postgres0 # features/steps/basic_replication.py:29 702s Jan 09 14:43:22 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 702s Jan 09 14:43:22 702s Jan 09 14:43:22 Scenario: watchdog is triggered if patroni stops responding # features/watchdog.feature:34 702s Jan 09 14:43:22 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 702s Jan 09 14:43:22 And I start postgres0 with watchdog # features/steps/watchdog.py:16 706s Jan 09 14:43:26 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 707s Jan 09 14:43:27 When postgres0 hangs for 30 seconds # features/steps/watchdog.py:52 707s Jan 09 14:43:27 Then postgres0 watchdog is triggered after 30 seconds # features/steps/watchdog.py:44 729s Jan 09 14:43:49 729s Jan 09 14:43:49 Combined data file .coverage.autopkgtest.4644.XTIkwrVx 729s Jan 09 14:43:49 Combined data file .coverage.autopkgtest.4691.XFmXPmRx 729s Jan 09 14:43:49 Combined data file .coverage.autopkgtest.4729.XBVIrnGx 729s Jan 09 14:43:49 Combined data file .coverage.autopkgtest.4787.XbByDrJx 729s Jan 09 14:43:49 Combined data file .coverage.autopkgtest.4832.XWSMNCFx 729s Jan 09 14:43:49 Combined data file .coverage.autopkgtest.4906.XvQiTfsx 729s Jan 09 14:43:49 Combined data file .coverage.autopkgtest.4958.XJXhVYJx 729s Jan 09 14:43:49 Combined data file .coverage.autopkgtest.4961.XjUcUhyx 729s Jan 09 14:43:49 Combined data file .coverage.autopkgtest.5050.XuEpRUpx 729s Jan 09 14:43:49 Combined data file .coverage.autopkgtest.5150.XbsVNtIx 729s Jan 09 14:43:49 Combined data file .coverage.autopkgtest.5160.XENSvcOx 729s Jan 09 14:43:49 Combined data file .coverage.autopkgtest.5205.XoOOnWEx 729s Jan 09 14:43:49 Combined data file .coverage.autopkgtest.5256.XscONsUx 729s Jan 09 14:43:49 Combined data file .coverage.autopkgtest.5406.XxdDZeHx 729s Jan 09 14:43:49 Combined data file .coverage.autopkgtest.5453.XEKUlHMx 729s Jan 09 14:43:49 Combined data file .coverage.autopkgtest.5508.XMWTkHqx 729s Jan 09 14:43:49 Combined data file .coverage.autopkgtest.5600.XwCxkTqx 729s Jan 09 14:43:49 Combined data file .coverage.autopkgtest.5651.XCNQMNcx 729s Jan 09 14:43:49 Combined data file .coverage.autopkgtest.5738.XKbHBgLx 729s Jan 09 14:43:49 Combined data file .coverage.autopkgtest.5792.XBDzfwxx 729s Jan 09 14:43:49 Combined data file .coverage.autopkgtest.5855.XdoZQRcx 729s Jan 09 14:43:49 Combined data file .coverage.autopkgtest.5945.XrHtXjrx 729s Jan 09 14:43:49 Combined data file .coverage.autopkgtest.6041.XawSXfKx 729s Jan 09 14:43:49 Combined data file .coverage.autopkgtest.6076.XyzfRnSx 729s Jan 09 14:43:49 Combined data file .coverage.autopkgtest.6151.Xudlbyzx 729s Jan 09 14:43:49 Combined data file .coverage.autopkgtest.6193.XvRHUWkx 729s Jan 09 14:43:49 Combined data file .coverage.autopkgtest.6359.XQGJAXVx 729s Jan 09 14:43:49 Combined data file .coverage.autopkgtest.6410.XftkVjCx 729s Jan 09 14:43:49 Combined data file .coverage.autopkgtest.6426.XKkLHKsx 729s Jan 09 14:43:49 Combined data file .coverage.autopkgtest.6466.XYsrUrbx 729s Jan 09 14:43:49 Combined data file .coverage.autopkgtest.6515.XOknczwx 729s Jan 09 14:43:49 Combined data file .coverage.autopkgtest.6521.XBXTkPxx 729s Jan 09 14:43:49 Combined data file .coverage.autopkgtest.6557.XAAbNUmx 729s Jan 09 14:43:49 Combined data file .coverage.autopkgtest.6603.XGLcpuqx 729s Jan 09 14:43:49 Combined data file .coverage.autopkgtest.6769.XbIwKoyx 729s Jan 09 14:43:49 Combined data file .coverage.autopkgtest.6771.XrYfMoGx 729s Jan 09 14:43:49 Combined data file .coverage.autopkgtest.6777.XicIxqex 729s Jan 09 14:43:49 Combined data file .coverage.autopkgtest.6899.XWQfFJqx 729s Jan 09 14:43:49 Combined data file .coverage.autopkgtest.6950.XgvWddix 729s Jan 09 14:43:49 Combined data file .coverage.autopkgtest.6993.XAOsUbAx 729s Jan 09 14:43:49 Combined data file .coverage.autopkgtest.7044.XXdJRkJx 729s Jan 09 14:43:49 Combined data file .coverage.autopkgtest.7080.XVuFMiBx 729s Jan 09 14:43:49 Combined data file .coverage.autopkgtest.7237.XEUHMcix 729s Jan 09 14:43:49 Combined data file .coverage.autopkgtest.7303.XMXmmqSx 729s Jan 09 14:43:49 Combined data file .coverage.autopkgtest.7338.XrZFzPgx 729s Jan 09 14:43:49 Combined data file .coverage.autopkgtest.7422.XHkzKIlx 729s Jan 09 14:43:49 Combined data file .coverage.autopkgtest.7494.XLtliMSx 729s Jan 09 14:43:49 Combined data file .coverage.autopkgtest.7573.XvwZqcLx 729s Jan 09 14:43:49 Combined data file .coverage.autopkgtest.7905.XMnisDtx 729s Jan 09 14:43:49 Combined data file .coverage.autopkgtest.7949.XYPeZLnx 729s Jan 09 14:43:49 Combined data file .coverage.autopkgtest.8087.XoIBYLNx 729s Jan 09 14:43:49 Combined data file .coverage.autopkgtest.8152.XfuLnhWx 729s Jan 09 14:43:49 Combined data file .coverage.autopkgtest.8205.XDuJzWux 729s Jan 09 14:43:49 Combined data file .coverage.autopkgtest.8315.XcbBbZTx 729s Jan 09 14:43:49 Combined data file .coverage.autopkgtest.8431.XpAWWaTx 729s Jan 09 14:43:49 Combined data file .coverage.autopkgtest.8560.XuGVLllx 729s Jan 09 14:43:49 Combined data file .coverage.autopkgtest.8605.Xavwsiux 729s Jan 09 14:43:49 Combined data file .coverage.autopkgtest.8607.XBRrvLMx 729s Jan 09 14:43:49 Combined data file .coverage.autopkgtest.8610.XdDgxNex 729s Jan 09 14:43:49 Combined data file .coverage.autopkgtest.8621.XCHAYWvx 733s Jan 09 14:43:53 Name Stmts Miss Cover 733s Jan 09 14:43:53 ------------------------------------------------------------------------------------------------------------- 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/OpenSSL/SSL.py 1159 642 45% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/OpenSSL/__init__.py 4 0 100% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/OpenSSL/_util.py 42 14 67% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/OpenSSL/crypto.py 865 658 24% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/OpenSSL/version.py 10 0 100% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 101 96 5% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/bcrypt/__init__.py 3 0 100% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/cryptography/__about__.py 5 0 100% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/cryptography/__init__.py 3 0 100% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/cryptography/exceptions.py 26 5 81% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/cryptography/hazmat/__init__.py 2 0 100% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/cryptography/hazmat/_oid.py 135 0 100% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/__init__.py 0 0 100% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/__init__.py 0 0 100% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/_conditional.py 38 17 55% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/binding.py 51 4 92% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/__init__.py 1 0 100% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/ciphers/__init__.py 1 0 100% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/ciphers/algorithms.py 68 18 74% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/__init__.py 0 0 100% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_asymmetric.py 6 0 100% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_cipheralgorithm.py 23 4 83% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_serialization.py 79 35 56% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/__init__.py 0 0 100% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dh.py 47 0 100% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dsa.py 55 5 91% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ec.py 172 22 87% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed448.py 45 12 73% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed25519.py 43 12 72% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/padding.py 55 23 58% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/rsa.py 93 40 57% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/types.py 19 0 100% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/utils.py 14 5 64% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x448.py 43 12 72% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x25519.py 41 12 71% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/__init__.py 4 0 100% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/algorithms.py 72 15 79% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/base.py 54 12 78% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/modes.py 140 59 58% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/constant_time.py 6 3 50% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hashes.py 127 20 84% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/__init__.py 5 0 100% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/base.py 7 0 100% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/ssh.py 775 614 21% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/cryptography/utils.py 76 28 63% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/cryptography/x509/__init__.py 70 0 100% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/cryptography/x509/base.py 488 227 53% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/cryptography/x509/certificate_transparency.py 42 0 100% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/cryptography/x509/extensions.py 1024 552 46% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/cryptography/x509/general_name.py 166 94 43% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/cryptography/x509/name.py 236 144 39% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/cryptography/x509/oid.py 3 0 100% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/cryptography/x509/verification.py 12 0 100% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/dateutil/__init__.py 13 4 69% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/dateutil/_version.py 11 2 82% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 811 436 46% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 184 150 18% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 240 206 14% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 151 114 25% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 795 626 21% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/dateutil/tz/win.py 153 149 3% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/dns/__init__.py 3 0 100% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/dns/_asyncbackend.py 14 6 57% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/dns/_ddr.py 105 86 18% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/dns/_features.py 44 7 84% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/dns/_immutable_ctx.py 40 5 88% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/dns/asyncbackend.py 44 32 27% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/dns/asyncquery.py 277 242 13% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/dns/edns.py 270 161 40% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/dns/entropy.py 80 49 39% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/dns/enum.py 72 46 36% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/dns/exception.py 60 33 45% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/dns/flags.py 41 14 66% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/dns/grange.py 34 30 12% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/dns/immutable.py 41 30 27% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/dns/inet.py 80 65 19% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/dns/ipv4.py 27 20 26% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/dns/ipv6.py 115 100 13% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/dns/message.py 809 662 18% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/dns/name.py 620 427 31% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/dns/nameserver.py 101 54 47% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/dns/node.py 118 71 40% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/dns/opcode.py 31 7 77% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/dns/query.py 536 462 14% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/dns/quic/__init__.py 26 23 12% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/dns/rcode.py 69 13 81% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/dns/rdata.py 377 269 29% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/dns/rdataclass.py 44 9 80% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/dns/rdataset.py 193 133 31% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/dns/rdatatype.py 214 25 88% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/OPT.py 34 19 44% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/SOA.py 41 26 37% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/TSIG.py 58 42 28% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/ZONEMD.py 43 27 37% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/__init__.py 2 0 100% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/dns/rdtypes/__init__.py 2 0 100% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/dns/rdtypes/svcbbase.py 397 261 34% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/dns/rdtypes/util.py 191 154 19% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/dns/renderer.py 152 118 22% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/dns/resolver.py 899 719 20% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/dns/reversename.py 33 24 27% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/dns/rrset.py 78 56 28% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/dns/serial.py 93 79 15% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/dns/set.py 149 108 28% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/dns/tokenizer.py 335 279 17% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/dns/transaction.py 271 203 25% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/dns/tsig.py 177 122 31% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/dns/ttl.py 45 38 16% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/dns/version.py 7 0 100% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/dns/wire.py 64 42 34% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/dns/xfr.py 148 126 15% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/dns/zone.py 508 383 25% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/dns/zonefile.py 429 380 11% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/dns/zonetypes.py 15 2 87% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/etcd/__init__.py 125 63 50% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/etcd/client.py 380 256 33% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/etcd/lock.py 125 103 18% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/idna/__init__.py 4 0 100% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/idna/core.py 292 257 12% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/idna/idnadata.py 4 0 100% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/idna/intranges.py 30 24 20% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/idna/package_data.py 1 0 100% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/patroni/__main__.py 199 62 69% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/patroni/api.py 780 292 63% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 15 84% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/patroni/collections.py 56 6 89% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/patroni/config.py 371 94 75% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/patroni/config_generator.py 212 159 25% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/patroni/daemon.py 76 3 96% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 654 78 88% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/patroni/dcs/etcd3.py 679 126 81% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/patroni/dcs/etcd.py 603 253 58% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/patroni/dynamic_loader.py 35 7 80% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/patroni/file_perm.py 43 8 81% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/patroni/global_config.py 81 0 100% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/patroni/ha.py 1270 379 70% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/patroni/log.py 221 71 68% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 822 170 79% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/patroni/postgresql/available_parameters/__init__.py 24 3 88% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 255 62 76% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 838 217 74% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 4 95% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 43 8 81% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/patroni/postgresql/mpp/__init__.py 89 11 88% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 85 50% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 416 166 60% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 349 41 88% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 130 19 85% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 157 24 85% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/patroni/psycopg.py 46 20 57% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/patroni/request.py 58 7 88% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/patroni/tags.py 38 0 100% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/patroni/utils.py 370 103 72% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/patroni/validator.py 307 214 30% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 42 79% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 35 74% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/psutil/__init__.py 951 629 34% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/psutil/_common.py 424 212 50% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/psutil/_compat.py 302 263 13% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1251 924 26% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/psutil/_psposix.py 96 38 60% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/urllib3/__init__.py 50 14 72% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 70 52 26% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/urllib3/_collections.py 234 123 47% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 53 23 57% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/urllib3/_version.py 2 0 100% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/urllib3/connection.py 324 99 69% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 347 124 64% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/urllib3/contrib/__init__.py 0 0 100% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/urllib3/contrib/pyopenssl.py 257 96 63% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/urllib3/exceptions.py 115 37 68% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 85 64% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/urllib3/response.py 562 280 50% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 42 36% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 49 53% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 15 53% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/urllib3/util/retry.py 173 49 72% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 177 78 56% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 160 112 30% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 14 80% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/urllib3/util/url.py 205 72 65% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 10 62% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 18 63% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/yaml/parser.py 352 198 44% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/yaml/reader.py 122 34 72% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/yaml/scanner.py 758 437 42% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 733s Jan 09 14:43:53 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 733s Jan 09 14:43:53 patroni/__init__.py 13 2 85% 733s Jan 09 14:43:53 patroni/__main__.py 199 199 0% 733s Jan 09 14:43:53 patroni/api.py 780 780 0% 733s Jan 09 14:43:53 patroni/async_executor.py 96 69 28% 733s Jan 09 14:43:53 patroni/collections.py 56 15 73% 733s Jan 09 14:43:53 patroni/config.py 371 196 47% 733s Jan 09 14:43:53 patroni/config_generator.py 212 212 0% 733s Jan 09 14:43:53 patroni/ctl.py 936 411 56% 733s Jan 09 14:43:53 patroni/daemon.py 76 76 0% 733s Jan 09 14:43:53 patroni/dcs/__init__.py 654 274 58% 733s Jan 09 14:43:53 patroni/dcs/consul.py 484 484 0% 733s Jan 09 14:43:53 patroni/dcs/etcd3.py 679 346 49% 733s Jan 09 14:43:53 patroni/dcs/etcd.py 603 277 54% 733s Jan 09 14:43:53 patroni/dcs/exhibitor.py 62 62 0% 733s Jan 09 14:43:53 patroni/dcs/kubernetes.py 940 940 0% 733s Jan 09 14:43:53 patroni/dcs/raft.py 319 319 0% 733s Jan 09 14:43:53 patroni/dcs/zookeeper.py 289 289 0% 733s Jan 09 14:43:53 patroni/dynamic_loader.py 35 7 80% 733s Jan 09 14:43:53 patroni/exceptions.py 16 1 94% 733s Jan 09 14:43:53 patroni/file_perm.py 43 15 65% 733s Jan 09 14:43:53 patroni/global_config.py 81 18 78% 733s Jan 09 14:43:53 patroni/ha.py 1270 1270 0% 733s Jan 09 14:43:53 patroni/log.py 221 175 21% 733s Jan 09 14:43:53 patroni/postgresql/__init__.py 822 652 21% 733s Jan 09 14:43:53 patroni/postgresql/available_parameters/__init__.py 24 3 88% 733s Jan 09 14:43:53 patroni/postgresql/bootstrap.py 255 225 12% 733s Jan 09 14:43:53 patroni/postgresql/callback_executor.py 55 34 38% 733s Jan 09 14:43:53 patroni/postgresql/cancellable.py 104 84 19% 733s Jan 09 14:43:53 patroni/postgresql/config.py 838 718 14% 733s Jan 09 14:43:53 patroni/postgresql/connection.py 75 50 33% 733s Jan 09 14:43:53 patroni/postgresql/misc.py 43 30 30% 733s Jan 09 14:43:53 patroni/postgresql/mpp/__init__.py 89 21 76% 733s Jan 09 14:43:53 patroni/postgresql/mpp/citus.py 259 259 0% 733s Jan 09 14:43:53 patroni/postgresql/postmaster.py 170 139 18% 733s Jan 09 14:43:53 patroni/postgresql/rewind.py 416 416 0% 733s Jan 09 14:43:53 patroni/postgresql/slots.py 349 300 14% 733s Jan 09 14:43:53 patroni/postgresql/sync.py 130 96 26% 733s Jan 09 14:43:53 patroni/postgresql/validator.py 157 52 67% 733s Jan 09 14:43:53 patroni/psycopg.py 46 32 30% 733s Jan 09 14:43:53 patroni/raft_controller.py 22 22 0% 733s Jan 09 14:43:53 patroni/request.py 58 6 90% 733s Jan 09 14:43:53 patroni/scripts/__init__.py 0 0 100% 733s Jan 09 14:43:53 patroni/scripts/aws.py 59 59 0% 733s Jan 09 14:43:53 patroni/scripts/barman/__init__.py 0 0 100% 733s Jan 09 14:43:53 patroni/scripts/barman/cli.py 51 51 0% 733s Jan 09 14:43:53 patroni/scripts/barman/config_switch.py 51 51 0% 733s Jan 09 14:43:53 patroni/scripts/barman/recover.py 37 37 0% 733s Jan 09 14:43:53 patroni/scripts/barman/utils.py 94 94 0% 733s Jan 09 14:43:53 patroni/scripts/wale_restore.py 207 207 0% 733s Jan 09 14:43:53 patroni/tags.py 38 11 71% 733s Jan 09 14:43:53 patroni/utils.py 370 186 50% 733s Jan 09 14:43:53 patroni/validator.py 307 221 28% 733s Jan 09 14:43:53 patroni/version.py 1 0 100% 733s Jan 09 14:43:53 patroni/watchdog/__init__.py 2 2 0% 733s Jan 09 14:43:53 patroni/watchdog/base.py 203 203 0% 733s Jan 09 14:43:53 patroni/watchdog/linux.py 135 135 0% 733s Jan 09 14:43:53 ------------------------------------------------------------------------------------------------------------- 733s Jan 09 14:43:53 TOTAL 53248 31929 40% 733s Jan 09 14:43:53 12 features passed, 0 failed, 1 skipped 733s Jan 09 14:43:53 46 scenarios passed, 0 failed, 14 skipped 733s Jan 09 14:43:53 467 steps passed, 0 failed, 121 skipped, 0 undefined 733s Jan 09 14:43:53 Took 9m2.370s 733s ### End 16 acceptance-etcd3 ### 733s + echo '### End 16 acceptance-etcd3 ###' 733s + rm -f '/tmp/pgpass?' 733s ++ id -u 733s + '[' 1000 -eq 0 ']' 733s autopkgtest [14:43:53]: test acceptance-etcd3: -----------------------] 734s acceptance-etcd3 PASS 734s autopkgtest [14:43:54]: test acceptance-etcd3: - - - - - - - - - - results - - - - - - - - - - 734s autopkgtest [14:43:54]: test acceptance-etcd-basic: preparing testbed 839s autopkgtest [14:45:39]: testbed dpkg architecture: ppc64el 839s autopkgtest [14:45:39]: testbed apt version: 2.9.18 839s autopkgtest [14:45:39]: @@@@@@@@@@@@@@@@@@@@ test bed setup 840s autopkgtest [14:45:40]: testbed release detected to be: plucky 840s autopkgtest [14:45:40]: updating testbed package index (apt update) 841s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB] 841s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 841s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 841s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 841s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [15.6 kB] 841s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [760 kB] 842s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [9708 B] 842s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [127 kB] 842s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/main ppc64el Packages [227 kB] 842s Get:10 http://ftpmaster.internal/ubuntu plucky-proposed/restricted ppc64el Packages [756 B] 842s Get:11 http://ftpmaster.internal/ubuntu plucky-proposed/universe ppc64el Packages [956 kB] 843s Get:12 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse ppc64el Packages [5472 B] 843s Fetched 2176 kB in 2s (944 kB/s) 844s Reading package lists... 845s + lsb_release --codename --short 845s + RELEASE=plucky 845s + cat 845s + [ plucky != trusty ] 845s + DEBIAN_FRONTEND=noninteractive eatmydata apt-get -y --allow-downgrades -o Dpkg::Options::=--force-confnew dist-upgrade 845s Reading package lists... 845s Building dependency tree... 845s Reading state information... 845s Calculating upgrade... 846s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 846s + rm /etc/apt/preferences.d/force-downgrade-to-release.pref 846s + /usr/lib/apt/apt-helper analyze-pattern ?true 846s + DEBIAN_FRONTEND=noninteractive eatmydata apt-get -y purge --autoremove ?obsolete 846s Reading package lists... 846s Building dependency tree... 846s Reading state information... 846s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 846s + grep -q trusty /etc/lsb-release 846s + [ ! -d /usr/share/doc/unattended-upgrades ] 846s + [ ! -d /usr/share/doc/lxd ] 846s + [ ! -d /usr/share/doc/lxd-client ] 846s + [ ! -d /usr/share/doc/snapd ] 846s + type iptables 846s + cat 846s + chmod 755 /etc/rc.local 846s + . /etc/rc.local 846s + iptables -w -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu 846s + iptables -A OUTPUT -d 10.255.255.1/32 -p tcp -j DROP 846s + iptables -A OUTPUT -d 10.255.255.2/32 -p tcp -j DROP 846s + uname -m 846s + [ ppc64le = ppc64le ] 846s + systemctl is-active keyboard-setup.service 846s + [ active = failed ] 846s + [ -d /run/systemd/system ] 846s + systemd-detect-virt --quiet --vm 846s + mkdir -p /etc/systemd/system/systemd-random-seed.service.d/ 846s + cat 846s + grep -q lz4 /etc/initramfs-tools/initramfs.conf 846s + echo COMPRESS=lz4 846s autopkgtest [14:45:46]: upgrading testbed (apt dist-upgrade and autopurge) 846s Reading package lists... 847s Building dependency tree... 847s Reading state information... 847s Calculating upgrade...Starting pkgProblemResolver with broken count: 0 847s Starting 2 pkgProblemResolver with broken count: 0 847s Done 847s Entering ResolveByKeep 848s 848s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 848s Reading package lists... 848s Building dependency tree... 848s Reading state information... 848s Starting pkgProblemResolver with broken count: 0 848s Starting 2 pkgProblemResolver with broken count: 0 848s Done 849s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 852s Reading package lists... 852s Building dependency tree... 852s Reading state information... 852s Starting pkgProblemResolver with broken count: 0 852s Starting 2 pkgProblemResolver with broken count: 0 852s Done 853s The following NEW packages will be installed: 853s etcd-server fonts-font-awesome fonts-lato libio-pty-perl libipc-run-perl 853s libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl libpq5 853s libpython3.13-minimal libpython3.13-stdlib libtime-duration-perl 853s libtimedate-perl libxslt1.1 moreutils patroni patroni-doc postgresql 853s postgresql-16 postgresql-client-16 postgresql-client-common 853s postgresql-common python3-behave python3-cdiff python3-click 853s python3-colorama python3-coverage python3-dateutil python3-dnspython 853s python3-etcd python3-parse python3-parse-type python3-prettytable 853s python3-psutil python3-psycopg2 python3-six python3-wcwidth python3-ydiff 853s python3.13 python3.13-minimal sphinx-rtd-theme-common ssl-cert 853s 0 upgraded, 43 newly installed, 0 to remove and 0 not upgraded. 853s Need to get 42.3 MB of archives. 853s After this operation, 163 MB of additional disk space will be used. 853s Get:1 http://ftpmaster.internal/ubuntu plucky/main ppc64el fonts-lato all 2.015-1 [2781 kB] 854s Get:2 http://ftpmaster.internal/ubuntu plucky/main ppc64el libjson-perl all 4.10000-1 [81.9 kB] 854s Get:3 http://ftpmaster.internal/ubuntu plucky/main ppc64el postgresql-client-common all 262 [36.7 kB] 854s Get:4 http://ftpmaster.internal/ubuntu plucky/main ppc64el ssl-cert all 1.1.3ubuntu1 [18.7 kB] 854s Get:5 http://ftpmaster.internal/ubuntu plucky/main ppc64el postgresql-common all 262 [162 kB] 854s Get:6 http://ftpmaster.internal/ubuntu plucky/main ppc64el libpython3.13-minimal ppc64el 3.13.1-2 [883 kB] 855s Get:7 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3.13-minimal ppc64el 3.13.1-2 [2496 kB] 855s Get:8 http://ftpmaster.internal/ubuntu plucky/universe ppc64el etcd-server ppc64el 3.5.16-3 [10.5 MB] 857s Get:9 http://ftpmaster.internal/ubuntu plucky/main ppc64el fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 857s Get:10 http://ftpmaster.internal/ubuntu plucky/main ppc64el libio-pty-perl ppc64el 1:1.20-1build3 [32.0 kB] 857s Get:11 http://ftpmaster.internal/ubuntu plucky/main ppc64el libipc-run-perl all 20231003.0-2 [91.5 kB] 857s Get:12 http://ftpmaster.internal/ubuntu plucky/main ppc64el libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 857s Get:13 http://ftpmaster.internal/ubuntu plucky/main ppc64el libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 857s Get:14 http://ftpmaster.internal/ubuntu plucky-proposed/main ppc64el libjs-sphinxdoc all 8.1.3-4 [30.9 kB] 857s Get:15 http://ftpmaster.internal/ubuntu plucky/main ppc64el libpq5 ppc64el 17.2-1 [173 kB] 857s Get:16 http://ftpmaster.internal/ubuntu plucky/main ppc64el libpython3.13-stdlib ppc64el 3.13.1-2 [2131 kB] 857s Get:17 http://ftpmaster.internal/ubuntu plucky/main ppc64el libtime-duration-perl all 1.21-2 [12.3 kB] 857s Get:18 http://ftpmaster.internal/ubuntu plucky/main ppc64el libtimedate-perl all 2.3300-2 [34.0 kB] 857s Get:19 http://ftpmaster.internal/ubuntu plucky/main ppc64el libxslt1.1 ppc64el 1.1.39-0exp1ubuntu2 [191 kB] 857s Get:20 http://ftpmaster.internal/ubuntu plucky/universe ppc64el moreutils ppc64el 0.69-1 [59.1 kB] 857s Get:21 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-ydiff all 1.4.2-1 [19.0 kB] 857s Get:22 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-cdiff all 1.4.2-1 [1778 B] 857s Get:23 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-colorama all 0.4.6-4 [32.1 kB] 857s Get:24 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-click all 8.1.7-2 [79.5 kB] 857s Get:25 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-dateutil all 2.9.0-3 [80.2 kB] 857s Get:26 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 857s Get:27 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-prettytable all 3.12.0-1 [36.5 kB] 857s Get:28 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-psutil ppc64el 5.9.8-2build3 [197 kB] 857s Get:29 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-psycopg2 ppc64el 2.9.10-1 [160 kB] 857s Get:30 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-dnspython all 2.6.1-1ubuntu1 [163 kB] 857s Get:31 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-etcd all 0.4.5-6 [32.1 kB] 857s Get:32 http://ftpmaster.internal/ubuntu plucky/universe ppc64el patroni all 3.3.4-1 [269 kB] 857s Get:33 http://ftpmaster.internal/ubuntu plucky/main ppc64el sphinx-rtd-theme-common all 3.0.2+dfsg-1 [1014 kB] 857s Get:34 http://ftpmaster.internal/ubuntu plucky/universe ppc64el patroni-doc all 3.3.4-1 [508 kB] 857s Get:35 http://ftpmaster.internal/ubuntu plucky/main ppc64el postgresql-client-16 ppc64el 16.4-3 [1400 kB] 857s Get:36 http://ftpmaster.internal/ubuntu plucky/main ppc64el postgresql-16 ppc64el 16.4-3 [16.6 MB] 858s Get:37 http://ftpmaster.internal/ubuntu plucky/main ppc64el postgresql all 16+262 [11.8 kB] 858s Get:38 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-parse all 1.20.2-1 [27.0 kB] 858s Get:39 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-six all 1.17.0-1 [13.2 kB] 858s Get:40 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-parse-type all 0.6.4-1 [23.4 kB] 858s Get:41 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-behave all 1.2.6-6 [98.6 kB] 858s Get:42 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3.13 ppc64el 3.13.1-2 [729 kB] 858s Get:43 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-coverage ppc64el 7.4.4+dfsg1-0ubuntu3 [151 kB] 859s Preconfiguring packages ... 859s Fetched 42.3 MB in 6s (7287 kB/s) 859s Selecting previously unselected package fonts-lato. 859s (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 ... 74025 files and directories currently installed.) 859s Preparing to unpack .../00-fonts-lato_2.015-1_all.deb ... 859s Unpacking fonts-lato (2.015-1) ... 860s Selecting previously unselected package libjson-perl. 860s Preparing to unpack .../01-libjson-perl_4.10000-1_all.deb ... 860s Unpacking libjson-perl (4.10000-1) ... 860s Selecting previously unselected package postgresql-client-common. 860s Preparing to unpack .../02-postgresql-client-common_262_all.deb ... 860s Unpacking postgresql-client-common (262) ... 860s Selecting previously unselected package ssl-cert. 860s Preparing to unpack .../03-ssl-cert_1.1.3ubuntu1_all.deb ... 860s Unpacking ssl-cert (1.1.3ubuntu1) ... 860s Selecting previously unselected package postgresql-common. 860s Preparing to unpack .../04-postgresql-common_262_all.deb ... 860s Adding 'diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common' 860s Unpacking postgresql-common (262) ... 860s Selecting previously unselected package libpython3.13-minimal:ppc64el. 860s Preparing to unpack .../05-libpython3.13-minimal_3.13.1-2_ppc64el.deb ... 860s Unpacking libpython3.13-minimal:ppc64el (3.13.1-2) ... 860s Selecting previously unselected package python3.13-minimal. 860s Preparing to unpack .../06-python3.13-minimal_3.13.1-2_ppc64el.deb ... 860s Unpacking python3.13-minimal (3.13.1-2) ... 860s Selecting previously unselected package etcd-server. 860s Preparing to unpack .../07-etcd-server_3.5.16-3_ppc64el.deb ... 860s Unpacking etcd-server (3.5.16-3) ... 860s Selecting previously unselected package fonts-font-awesome. 860s Preparing to unpack .../08-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 860s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 860s Selecting previously unselected package libio-pty-perl. 860s Preparing to unpack .../09-libio-pty-perl_1%3a1.20-1build3_ppc64el.deb ... 860s Unpacking libio-pty-perl (1:1.20-1build3) ... 860s Selecting previously unselected package libipc-run-perl. 860s Preparing to unpack .../10-libipc-run-perl_20231003.0-2_all.deb ... 860s Unpacking libipc-run-perl (20231003.0-2) ... 860s Selecting previously unselected package libjs-jquery. 860s Preparing to unpack .../11-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 860s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 860s Selecting previously unselected package libjs-underscore. 860s Preparing to unpack .../12-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 860s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 860s Selecting previously unselected package libjs-sphinxdoc. 860s Preparing to unpack .../13-libjs-sphinxdoc_8.1.3-4_all.deb ... 860s Unpacking libjs-sphinxdoc (8.1.3-4) ... 860s Selecting previously unselected package libpq5:ppc64el. 860s Preparing to unpack .../14-libpq5_17.2-1_ppc64el.deb ... 860s Unpacking libpq5:ppc64el (17.2-1) ... 860s Selecting previously unselected package libpython3.13-stdlib:ppc64el. 860s Preparing to unpack .../15-libpython3.13-stdlib_3.13.1-2_ppc64el.deb ... 860s Unpacking libpython3.13-stdlib:ppc64el (3.13.1-2) ... 861s Selecting previously unselected package libtime-duration-perl. 861s Preparing to unpack .../16-libtime-duration-perl_1.21-2_all.deb ... 861s Unpacking libtime-duration-perl (1.21-2) ... 861s Selecting previously unselected package libtimedate-perl. 861s Preparing to unpack .../17-libtimedate-perl_2.3300-2_all.deb ... 861s Unpacking libtimedate-perl (2.3300-2) ... 861s Selecting previously unselected package libxslt1.1:ppc64el. 861s Preparing to unpack .../18-libxslt1.1_1.1.39-0exp1ubuntu2_ppc64el.deb ... 861s Unpacking libxslt1.1:ppc64el (1.1.39-0exp1ubuntu2) ... 861s Selecting previously unselected package moreutils. 861s Preparing to unpack .../19-moreutils_0.69-1_ppc64el.deb ... 861s Unpacking moreutils (0.69-1) ... 861s Selecting previously unselected package python3-ydiff. 861s Preparing to unpack .../20-python3-ydiff_1.4.2-1_all.deb ... 861s Unpacking python3-ydiff (1.4.2-1) ... 861s Selecting previously unselected package python3-cdiff. 861s Preparing to unpack .../21-python3-cdiff_1.4.2-1_all.deb ... 861s Unpacking python3-cdiff (1.4.2-1) ... 861s Selecting previously unselected package python3-colorama. 861s Preparing to unpack .../22-python3-colorama_0.4.6-4_all.deb ... 861s Unpacking python3-colorama (0.4.6-4) ... 861s Selecting previously unselected package python3-click. 861s Preparing to unpack .../23-python3-click_8.1.7-2_all.deb ... 861s Unpacking python3-click (8.1.7-2) ... 861s Selecting previously unselected package python3-dateutil. 861s Preparing to unpack .../24-python3-dateutil_2.9.0-3_all.deb ... 861s Unpacking python3-dateutil (2.9.0-3) ... 861s Selecting previously unselected package python3-wcwidth. 861s Preparing to unpack .../25-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 861s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 861s Selecting previously unselected package python3-prettytable. 861s Preparing to unpack .../26-python3-prettytable_3.12.0-1_all.deb ... 861s Unpacking python3-prettytable (3.12.0-1) ... 861s Selecting previously unselected package python3-psutil. 861s Preparing to unpack .../27-python3-psutil_5.9.8-2build3_ppc64el.deb ... 861s Unpacking python3-psutil (5.9.8-2build3) ... 861s Selecting previously unselected package python3-psycopg2. 861s Preparing to unpack .../28-python3-psycopg2_2.9.10-1_ppc64el.deb ... 861s Unpacking python3-psycopg2 (2.9.10-1) ... 861s Selecting previously unselected package python3-dnspython. 861s Preparing to unpack .../29-python3-dnspython_2.6.1-1ubuntu1_all.deb ... 861s Unpacking python3-dnspython (2.6.1-1ubuntu1) ... 861s Selecting previously unselected package python3-etcd. 861s Preparing to unpack .../30-python3-etcd_0.4.5-6_all.deb ... 861s Unpacking python3-etcd (0.4.5-6) ... 861s Selecting previously unselected package patroni. 861s Preparing to unpack .../31-patroni_3.3.4-1_all.deb ... 861s Unpacking patroni (3.3.4-1) ... 861s Selecting previously unselected package sphinx-rtd-theme-common. 861s Preparing to unpack .../32-sphinx-rtd-theme-common_3.0.2+dfsg-1_all.deb ... 861s Unpacking sphinx-rtd-theme-common (3.0.2+dfsg-1) ... 861s Selecting previously unselected package patroni-doc. 861s Preparing to unpack .../33-patroni-doc_3.3.4-1_all.deb ... 861s Unpacking patroni-doc (3.3.4-1) ... 861s Selecting previously unselected package postgresql-client-16. 861s Preparing to unpack .../34-postgresql-client-16_16.4-3_ppc64el.deb ... 861s Unpacking postgresql-client-16 (16.4-3) ... 861s Selecting previously unselected package postgresql-16. 861s Preparing to unpack .../35-postgresql-16_16.4-3_ppc64el.deb ... 861s Unpacking postgresql-16 (16.4-3) ... 862s Selecting previously unselected package postgresql. 862s Preparing to unpack .../36-postgresql_16+262_all.deb ... 862s Unpacking postgresql (16+262) ... 862s Selecting previously unselected package python3-parse. 862s Preparing to unpack .../37-python3-parse_1.20.2-1_all.deb ... 862s Unpacking python3-parse (1.20.2-1) ... 862s Selecting previously unselected package python3-six. 862s Preparing to unpack .../38-python3-six_1.17.0-1_all.deb ... 862s Unpacking python3-six (1.17.0-1) ... 862s Selecting previously unselected package python3-parse-type. 862s Preparing to unpack .../39-python3-parse-type_0.6.4-1_all.deb ... 862s Unpacking python3-parse-type (0.6.4-1) ... 862s Selecting previously unselected package python3-behave. 862s Preparing to unpack .../40-python3-behave_1.2.6-6_all.deb ... 862s Unpacking python3-behave (1.2.6-6) ... 862s Selecting previously unselected package python3.13. 862s Preparing to unpack .../41-python3.13_3.13.1-2_ppc64el.deb ... 862s Unpacking python3.13 (3.13.1-2) ... 862s Selecting previously unselected package python3-coverage. 862s Preparing to unpack .../42-python3-coverage_7.4.4+dfsg1-0ubuntu3_ppc64el.deb ... 862s Unpacking python3-coverage (7.4.4+dfsg1-0ubuntu3) ... 862s Setting up postgresql-client-common (262) ... 862s Setting up fonts-lato (2.015-1) ... 862s Setting up libio-pty-perl (1:1.20-1build3) ... 862s Setting up python3-colorama (0.4.6-4) ... 863s Setting up python3-ydiff (1.4.2-1) ... 863s Setting up libpq5:ppc64el (17.2-1) ... 863s Setting up python3-click (8.1.7-2) ... 863s Setting up python3-psutil (5.9.8-2build3) ... 864s Setting up python3-six (1.17.0-1) ... 864s Setting up libpython3.13-minimal:ppc64el (3.13.1-2) ... 864s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 864s Setting up ssl-cert (1.1.3ubuntu1) ... 865s Created symlink '/etc/systemd/system/multi-user.target.wants/ssl-cert.service' → '/usr/lib/systemd/system/ssl-cert.service'. 865s Setting up python3-psycopg2 (2.9.10-1) ... 866s Setting up libipc-run-perl (20231003.0-2) ... 866s Setting up libtime-duration-perl (1.21-2) ... 866s Setting up libtimedate-perl (2.3300-2) ... 866s Setting up python3-dnspython (2.6.1-1ubuntu1) ... 866s Setting up python3-parse (1.20.2-1) ... 867s Setting up libjson-perl (4.10000-1) ... 867s Setting up libxslt1.1:ppc64el (1.1.39-0exp1ubuntu2) ... 867s Setting up python3.13-minimal (3.13.1-2) ... 868s Setting up python3-dateutil (2.9.0-3) ... 868s Setting up etcd-server (3.5.16-3) ... 868s info: Selecting UID from range 100 to 999 ... 868s 868s info: Selecting GID from range 100 to 999 ... 868s info: Adding system user `etcd' (UID 107) ... 868s info: Adding new group `etcd' (GID 111) ... 868s info: Adding new user `etcd' (UID 107) with group `etcd' ... 868s info: Creating home directory `/var/lib/etcd/' ... 869s Created symlink '/etc/systemd/system/etcd2.service' → '/usr/lib/systemd/system/etcd.service'. 869s Created symlink '/etc/systemd/system/multi-user.target.wants/etcd.service' → '/usr/lib/systemd/system/etcd.service'. 870s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 870s Setting up python3-prettytable (3.12.0-1) ... 870s Setting up libpython3.13-stdlib:ppc64el (3.13.1-2) ... 870s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 870s Setting up sphinx-rtd-theme-common (3.0.2+dfsg-1) ... 870s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 870s Setting up moreutils (0.69-1) ... 870s Setting up python3.13 (3.13.1-2) ... 871s Setting up python3-etcd (0.4.5-6) ... 872s Setting up postgresql-client-16 (16.4-3) ... 872s 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 872s Setting up python3-cdiff (1.4.2-1) ... 872s Setting up python3-coverage (7.4.4+dfsg1-0ubuntu3) ... 873s Setting up python3-parse-type (0.6.4-1) ... 873s Setting up postgresql-common (262) ... 873s Creating config file /etc/postgresql-common/createcluster.conf with new version 874s Building PostgreSQL dictionaries from installed myspell/hunspell packages... 874s Removing obsolete dictionary files: 874s Created symlink '/etc/systemd/system/multi-user.target.wants/postgresql.service' → '/usr/lib/systemd/system/postgresql.service'. 875s Setting up libjs-sphinxdoc (8.1.3-4) ... 875s Setting up python3-behave (1.2.6-6) ... 875s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 875s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 875s /usr/lib/python3/dist-packages/behave/matchers.py:267: SyntaxWarning: invalid escape sequence '\d' 875s """Registers a custom type that will be available to "parse" 875s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 875s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 875s /usr/lib/python3/dist-packages/behave/matchers.py:267: SyntaxWarning: invalid escape sequence '\d' 875s """Registers a custom type that will be available to "parse" 875s Setting up patroni (3.3.4-1) ... 876s Created symlink '/etc/systemd/system/multi-user.target.wants/patroni.service' → '/usr/lib/systemd/system/patroni.service'. 877s Setting up postgresql-16 (16.4-3) ... 877s Creating new PostgreSQL cluster 16/main ... 877s /usr/lib/postgresql/16/bin/initdb -D /var/lib/postgresql/16/main --auth-local peer --auth-host scram-sha-256 --no-instructions 877s The files belonging to this database system will be owned by user "postgres". 877s This user must also own the server process. 877s 877s The database cluster will be initialized with locale "C.UTF-8". 877s The default database encoding has accordingly been set to "UTF8". 877s The default text search configuration will be set to "english". 877s 877s Data page checksums are disabled. 877s 877s fixing permissions on existing directory /var/lib/postgresql/16/main ... ok 877s creating subdirectories ... ok 877s selecting dynamic shared memory implementation ... posix 877s selecting default max_connections ... 100 877s selecting default shared_buffers ... 128MB 877s selecting default time zone ... Etc/UTC 877s creating configuration files ... ok 878s running bootstrap script ... ok 878s performing post-bootstrap initialization ... ok 878s syncing data to disk ... ok 882s Setting up patroni-doc (3.3.4-1) ... 882s Setting up postgresql (16+262) ... 882s Processing triggers for systemd (257-2ubuntu1) ... 882s Processing triggers for man-db (2.13.0-1) ... 884s Processing triggers for libc-bin (2.40-4ubuntu1) ... 887s autopkgtest [14:46:27]: test acceptance-etcd-basic: debian/tests/acceptance etcd features/basic_replication.feature 887s autopkgtest [14:46:27]: test acceptance-etcd-basic: [----------------------- 887s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 888s ○ etcd.service - etcd - highly-available key value store 888s Loaded: loaded (/usr/lib/systemd/system/etcd.service; enabled; preset: enabled) 888s Active: inactive (dead) since Thu 2025-01-09 14:46:28 UTC; 16ms ago 888s Duration: 17.838s 888s Invocation: 6977b7db2ea0404583fb44ed6b36bb2a 888s Docs: https://etcd.io/docs 888s man:etcd 888s Process: 2364 ExecStart=/usr/bin/etcd $DAEMON_ARGS (code=killed, signal=TERM) 888s Main PID: 2364 (code=killed, signal=TERM) 888s Mem peak: 21.3M 888s CPU: 136ms 888s 888s Jan 09 14:46:28 autopkgtest etcd[2364]: {"level":"info","ts":"2025-01-09T14:46:28.306657Z","caller":"osutil/interrupt_unix.go:64","msg":"received signal; shutting down","signal":"terminated"} 888s Jan 09 14:46:28 autopkgtest etcd[2364]: {"level":"info","ts":"2025-01-09T14:46:28.306710Z","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"]} 888s Jan 09 14:46:28 autopkgtest etcd[2364]: {"level":"warn","ts":"2025-01-09T14:46:28.306809Z","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"} 888s Jan 09 14:46:28 autopkgtest etcd[2364]: {"level":"warn","ts":"2025-01-09T14:46:28.307007Z","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"} 888s Jan 09 14:46:28 autopkgtest etcd[2364]: {"level":"info","ts":"2025-01-09T14:46:28.307029Z","caller":"etcdserver/server.go:1543","msg":"skipped leadership transfer for single voting member cluster","local-member-id":"8e9e05c52164694d","current-leader-member-id":"8e9e05c52164694d"} 888s Jan 09 14:46:28 autopkgtest etcd[2364]: {"level":"info","ts":"2025-01-09T14:46:28.316668Z","caller":"embed/etcd.go:582","msg":"stopping serving peer traffic","address":"127.0.0.1:2380"} 888s Jan 09 14:46:28 autopkgtest etcd[2364]: {"level":"info","ts":"2025-01-09T14:46:28.317185Z","caller":"embed/etcd.go:587","msg":"stopped serving peer traffic","address":"127.0.0.1:2380"} 888s Jan 09 14:46:28 autopkgtest etcd[2364]: {"level":"info","ts":"2025-01-09T14:46:28.317204Z","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"]} 888s Jan 09 14:46:28 autopkgtest systemd[1]: etcd.service: Deactivated successfully. 888s Jan 09 14:46:28 autopkgtest systemd[1]: Stopped etcd.service - etcd - highly-available key value store. 888s ++ ls -1r /usr/lib/postgresql/ 888s ### PostgreSQL 16 acceptance-etcd features/basic_replication.feature ### 888s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 888s + '[' 16 == 10 -o 16 == 11 ']' 888s + echo '### PostgreSQL 16 acceptance-etcd features/basic_replication.feature ###' 888s + su postgres -p -c 'set -o pipefail; ETCD_UNSUPPORTED_ARCH= 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' 890s Jan 09 14:46:30 Feature: basic replication # features/basic_replication.feature:1 890s Jan 09 14:46:30 We should check that the basic bootstrapping, replication and failover works. 890s Jan 09 14:46:30 Scenario: check replication of a single table # features/basic_replication.feature:4 890s Jan 09 14:46:30 Given I start postgres0 # features/steps/basic_replication.py:8 895s Jan 09 14:46:35 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 896s Jan 09 14:46:36 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 896s Jan 09 14:46:36 When I issue a PATCH request to http://127.0.0.1:8008/config with {"ttl": 20, "synchronous_mode": true} # features/steps/patroni_api.py:71 896s Jan 09 14:46:36 Then I receive a response code 200 # features/steps/patroni_api.py:98 896s Jan 09 14:46:36 When I start postgres1 # features/steps/basic_replication.py:8 901s Jan 09 14:46:41 And I configure and start postgres2 with a tag replicatefrom postgres0 # features/steps/cascading_replication.py:7 906s Jan 09 14:46:46 And "sync" key in DCS has leader=postgres0 after 20 seconds # features/steps/cascading_replication.py:23 906s Jan 09 14:46:46 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 906s Jan 09 14:46:46 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 906s Jan 09 14:46:46 Then table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 907s Jan 09 14:46:47 907s Jan 09 14:46:47 Scenario: check restart of sync replica # features/basic_replication.feature:17 907s Jan 09 14:46:47 Given I shut down postgres2 # features/steps/basic_replication.py:29 908s Jan 09 14:46:48 Then "sync" key in DCS has sync_standby=postgres1 after 5 seconds # features/steps/cascading_replication.py:23 908s Jan 09 14:46:48 When I start postgres2 # features/steps/basic_replication.py:8 912s Jan 09 14:46:52 And I shut down postgres1 # features/steps/basic_replication.py:29 915s Jan 09 14:46:55 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 916s Jan 09 14:46:56 When I start postgres1 # features/steps/basic_replication.py:8 920s Jan 09 14:47:00 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 920s Jan 09 14:47:00 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 920s Jan 09 14:47:00 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 921s Jan 09 14:47:00 921s Jan 09 14:47:00 Scenario: check stuck sync replica # features/basic_replication.feature:28 921s Jan 09 14:47:00 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 921s Jan 09 14:47:01 Then I receive a response code 200 # features/steps/patroni_api.py:98 921s Jan 09 14:47:01 And I create table on postgres0 # features/steps/basic_replication.py:73 921s Jan 09 14:47:01 And table mytest is present on postgres1 after 2 seconds # features/steps/basic_replication.py:93 921s Jan 09 14:47:01 And table mytest is present on postgres2 after 2 seconds # features/steps/basic_replication.py:93 922s Jan 09 14:47:02 When I pause wal replay on postgres2 # features/steps/basic_replication.py:64 922s Jan 09 14:47:02 And I load data on postgres0 # features/steps/basic_replication.py:84 922s Jan 09 14:47:02 Then "sync" key in DCS has sync_standby=postgres1 after 15 seconds # features/steps/cascading_replication.py:23 925s Jan 09 14:47:05 And I resume wal replay on postgres2 # features/steps/basic_replication.py:64 925s Jan 09 14:47:05 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 926s Jan 09 14:47:05 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:142 926s Jan 09 14:47:06 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 926s Jan 09 14:47:06 Then I receive a response code 200 # features/steps/patroni_api.py:98 926s Jan 09 14:47:06 And I drop table on postgres0 # features/steps/basic_replication.py:73 926s Jan 09 14:47:06 926s Jan 09 14:47:06 Scenario: check multi sync replication # features/basic_replication.feature:44 926s Jan 09 14:47:06 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 926s Jan 09 14:47:06 Then I receive a response code 200 # features/steps/patroni_api.py:98 926s Jan 09 14:47:06 Then "sync" key in DCS has sync_standby=postgres1,postgres2 after 10 seconds # features/steps/cascading_replication.py:23 930s Jan 09 14:47:10 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 930s Jan 09 14:47:10 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 930s Jan 09 14:47:10 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 930s Jan 09 14:47:10 Then I receive a response code 200 # features/steps/patroni_api.py:98 930s Jan 09 14:47:10 And I shut down postgres1 # features/steps/basic_replication.py:29 933s Jan 09 14:47:13 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 934s Jan 09 14:47:14 When I start postgres1 # features/steps/basic_replication.py:8 939s Jan 09 14:47:19 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 939s Jan 09 14:47:19 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 939s Jan 09 14:47:19 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 939s Jan 09 14:47:19 939s Jan 09 14:47:19 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 939s Jan 09 14:47:19 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 942s Jan 09 14:47:22 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 942s Jan 09 14:47:22 When I sleep for 2 seconds # features/steps/patroni_api.py:39 944s Jan 09 14:47:24 And I shut down postgres0 # features/steps/basic_replication.py:29 945s Jan 09 14:47:25 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 947s Jan 09 14:47:27 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 947s Jan 09 14:47:27 And postgres2 role is the primary after 24 seconds # features/steps/basic_replication.py:105 966s Jan 09 14:47:46 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:156 968s Jan 09 14:47:48 And there is a postgres2_cb.log with "on_role_change master batman" in postgres2 data directory # features/steps/cascading_replication.py:12 968s Jan 09 14:47:48 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 969s Jan 09 14:47:48 Then I receive a response code 200 # features/steps/patroni_api.py:98 969s Jan 09 14:47:48 When I add the table bar to postgres2 # features/steps/basic_replication.py:54 969s Jan 09 14:47:49 Then table bar is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 972s Jan 09 14:47:52 And Response on GET http://127.0.0.1:8010/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 972s Jan 09 14:47:52 972s Jan 09 14:47:52 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 972s Jan 09 14:47:52 Given I add the table splitbrain to postgres0 # features/steps/basic_replication.py:54 972s Jan 09 14:47:52 And I start postgres0 # features/steps/basic_replication.py:8 972s Jan 09 14:47:52 Then postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 977s Jan 09 14:47:57 When I add the table buz to postgres2 # features/steps/basic_replication.py:54 977s Jan 09 14:47:57 Then table buz is present on postgres0 after 20 seconds # features/steps/basic_replication.py:93 981s Jan 09 14:48:01 981s Jan 09 14:48:01 @reject-duplicate-name 981s Jan 09 14:48:01 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 981s Jan 09 14:48:01 Given I start duplicate postgres0 on port 8011 # features/steps/basic_replication.py:13 984s Jan 09 14:48: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 # features/steps/basic_replication.py:121 988s Jan 09 14:48:08 988s 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'))") 989s 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'))") 989s 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'))") 989s Jan 09 14:48:09 Combined data file .coverage.autopkgtest.4539.XklgqfQx 989s Jan 09 14:48:09 Combined data file .coverage.autopkgtest.4585.XkwolnEx 989s Jan 09 14:48:09 Combined data file .coverage.autopkgtest.4633.XBjFxEZx 989s Jan 09 14:48:09 Combined data file .coverage.autopkgtest.4681.XIMupKyx 989s Jan 09 14:48:09 Combined data file .coverage.autopkgtest.4725.XBbLvvSx 989s Jan 09 14:48:09 Combined data file .coverage.autopkgtest.4798.XuQYHHbx 989s Jan 09 14:48:09 Combined data file .coverage.autopkgtest.4846.XqVFjhix 989s Jan 09 14:48:09 Combined data file .coverage.autopkgtest.4850.XixooPJx 989s Jan 09 14:48:09 Combined data file .coverage.autopkgtest.4943.XIpfirsx 989s Jan 09 14:48:09 Combined data file .coverage.autopkgtest.5040.XUijdbgx 992s Jan 09 14:48:12 Name Stmts Miss Cover 992s Jan 09 14:48:12 ------------------------------------------------------------------------------------------------------------- 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/OpenSSL/SSL.py 1159 647 44% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/OpenSSL/__init__.py 4 0 100% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/OpenSSL/_util.py 42 14 67% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/OpenSSL/crypto.py 865 658 24% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/OpenSSL/version.py 10 0 100% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 101 96 5% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/bcrypt/__init__.py 3 0 100% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/cryptography/__about__.py 5 0 100% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/cryptography/__init__.py 3 0 100% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/cryptography/exceptions.py 26 5 81% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/cryptography/hazmat/__init__.py 2 0 100% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/cryptography/hazmat/_oid.py 135 0 100% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/__init__.py 0 0 100% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/__init__.py 0 0 100% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/_conditional.py 38 17 55% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/binding.py 51 4 92% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/__init__.py 1 0 100% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/ciphers/__init__.py 1 0 100% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/ciphers/algorithms.py 68 18 74% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/__init__.py 0 0 100% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_asymmetric.py 6 0 100% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_cipheralgorithm.py 23 4 83% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_serialization.py 79 35 56% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/__init__.py 0 0 100% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dh.py 47 0 100% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dsa.py 55 5 91% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ec.py 172 22 87% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed448.py 45 12 73% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed25519.py 43 12 72% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/padding.py 55 23 58% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/rsa.py 93 40 57% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/types.py 19 0 100% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/utils.py 14 5 64% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x448.py 43 12 72% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x25519.py 41 12 71% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/__init__.py 4 0 100% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/algorithms.py 72 15 79% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/base.py 54 12 78% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/modes.py 140 59 58% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/constant_time.py 6 3 50% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hashes.py 127 20 84% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/__init__.py 5 0 100% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/base.py 7 0 100% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/ssh.py 775 614 21% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/cryptography/utils.py 76 28 63% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/cryptography/x509/__init__.py 70 0 100% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/cryptography/x509/base.py 488 227 53% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/cryptography/x509/certificate_transparency.py 42 0 100% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/cryptography/x509/extensions.py 1024 552 46% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/cryptography/x509/general_name.py 166 94 43% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/cryptography/x509/name.py 236 144 39% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/cryptography/x509/oid.py 3 0 100% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/cryptography/x509/verification.py 12 0 100% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/dateutil/__init__.py 13 4 69% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/dateutil/_version.py 11 2 82% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 811 688 15% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 184 150 18% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 240 206 14% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 151 117 23% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 795 629 21% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/dateutil/tz/win.py 153 149 3% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/dns/__init__.py 3 0 100% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/dns/_asyncbackend.py 14 6 57% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/dns/_ddr.py 105 86 18% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/dns/_features.py 44 7 84% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/dns/_immutable_ctx.py 40 5 88% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/dns/asyncbackend.py 44 32 27% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/dns/asyncquery.py 277 242 13% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/dns/edns.py 270 161 40% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/dns/entropy.py 80 49 39% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/dns/enum.py 72 46 36% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/dns/exception.py 60 33 45% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/dns/flags.py 41 14 66% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/dns/grange.py 34 30 12% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/dns/immutable.py 41 30 27% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/dns/inet.py 80 65 19% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/dns/ipv4.py 27 20 26% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/dns/ipv6.py 115 100 13% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/dns/message.py 809 662 18% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/dns/name.py 620 427 31% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/dns/nameserver.py 101 54 47% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/dns/node.py 118 71 40% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/dns/opcode.py 31 7 77% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/dns/query.py 536 462 14% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/dns/quic/__init__.py 26 23 12% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/dns/rcode.py 69 13 81% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/dns/rdata.py 377 269 29% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/dns/rdataclass.py 44 9 80% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/dns/rdataset.py 193 133 31% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/dns/rdatatype.py 214 25 88% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/OPT.py 34 19 44% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/SOA.py 41 26 37% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/TSIG.py 58 42 28% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/ZONEMD.py 43 27 37% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/__init__.py 2 0 100% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/dns/rdtypes/__init__.py 2 0 100% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/dns/rdtypes/svcbbase.py 397 261 34% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/dns/rdtypes/util.py 191 154 19% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/dns/renderer.py 152 118 22% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/dns/resolver.py 899 719 20% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/dns/reversename.py 33 24 27% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/dns/rrset.py 78 56 28% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/dns/serial.py 93 79 15% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/dns/set.py 149 108 28% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/dns/tokenizer.py 335 279 17% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/dns/transaction.py 271 203 25% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/dns/tsig.py 177 122 31% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/dns/ttl.py 45 38 16% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/dns/version.py 7 0 100% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/dns/wire.py 64 42 34% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/dns/xfr.py 148 126 15% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/dns/zone.py 508 383 25% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/dns/zonefile.py 429 380 11% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/dns/zonetypes.py 15 2 87% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/etcd/__init__.py 125 27 78% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/etcd/client.py 380 195 49% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/etcd/lock.py 125 103 18% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/idna/__init__.py 4 0 100% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/idna/core.py 292 257 12% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/idna/idnadata.py 4 0 100% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/idna/intranges.py 30 24 20% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/idna/package_data.py 1 0 100% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/patroni/__main__.py 199 67 66% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/patroni/api.py 780 433 44% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 19 80% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/patroni/collections.py 56 6 89% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/patroni/config.py 371 110 70% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/patroni/config_generator.py 212 159 25% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/patroni/daemon.py 76 6 92% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 654 151 77% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/patroni/dcs/etcd.py 603 180 70% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/patroni/dynamic_loader.py 35 7 80% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/patroni/file_perm.py 43 9 79% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/patroni/global_config.py 81 4 95% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/patroni/ha.py 1270 629 50% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/patroni/log.py 221 73 67% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 822 239 71% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/patroni/postgresql/available_parameters/__init__.py 24 3 88% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 255 91 64% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 838 255 70% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 7 91% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 43 13 70% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/patroni/postgresql/mpp/__init__.py 89 12 87% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 92 46% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 416 200 52% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 349 188 46% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 130 19 85% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 157 24 85% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/patroni/psycopg.py 46 20 57% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/patroni/request.py 58 7 88% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/patroni/tags.py 38 5 87% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/patroni/utils.py 370 139 62% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/patroni/validator.py 307 217 29% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 49 76% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 50 63% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/psutil/__init__.py 951 636 33% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/psutil/_common.py 424 212 50% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/psutil/_compat.py 302 264 13% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1251 936 25% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/psutil/_psposix.py 96 41 57% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/urllib3/__init__.py 50 14 72% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 70 52 26% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/urllib3/_collections.py 234 100 57% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 53 11 79% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/urllib3/_version.py 2 0 100% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/urllib3/connection.py 324 100 69% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 347 130 63% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/urllib3/contrib/__init__.py 0 0 100% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/urllib3/contrib/pyopenssl.py 257 98 62% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/urllib3/exceptions.py 115 37 68% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 85 64% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/urllib3/response.py 562 318 43% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 42 36% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 49 53% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 17 47% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/urllib3/util/retry.py 173 55 68% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 177 78 56% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 160 112 30% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 14 80% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/urllib3/util/url.py 205 68 67% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 10 62% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 18 63% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/yaml/parser.py 352 198 44% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/yaml/reader.py 122 34 72% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/yaml/scanner.py 758 437 42% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 992s Jan 09 14:48:12 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 992s Jan 09 14:48:12 patroni/__init__.py 13 2 85% 992s Jan 09 14:48:12 patroni/__main__.py 199 199 0% 992s Jan 09 14:48:12 patroni/api.py 780 780 0% 992s Jan 09 14:48:12 patroni/async_executor.py 96 69 28% 992s Jan 09 14:48:12 patroni/collections.py 56 15 73% 992s Jan 09 14:48:12 patroni/config.py 371 196 47% 992s Jan 09 14:48:12 patroni/config_generator.py 212 212 0% 992s Jan 09 14:48:12 patroni/ctl.py 936 663 29% 992s Jan 09 14:48:12 patroni/daemon.py 76 76 0% 992s Jan 09 14:48:12 patroni/dcs/__init__.py 654 313 52% 992s Jan 09 14:48:12 patroni/dcs/consul.py 484 484 0% 992s Jan 09 14:48:12 patroni/dcs/etcd3.py 679 679 0% 992s Jan 09 14:48:12 patroni/dcs/etcd.py 603 232 62% 992s Jan 09 14:48:12 patroni/dcs/exhibitor.py 62 62 0% 992s Jan 09 14:48:12 patroni/dcs/kubernetes.py 940 940 0% 992s Jan 09 14:48:12 patroni/dcs/raft.py 319 319 0% 992s Jan 09 14:48:12 patroni/dcs/zookeeper.py 289 289 0% 992s Jan 09 14:48:12 patroni/dynamic_loader.py 35 7 80% 992s Jan 09 14:48:12 patroni/exceptions.py 16 1 94% 992s Jan 09 14:48:12 patroni/file_perm.py 43 15 65% 992s Jan 09 14:48:12 patroni/global_config.py 81 23 72% 992s Jan 09 14:48:12 patroni/ha.py 1270 1270 0% 992s Jan 09 14:48:12 patroni/log.py 221 175 21% 992s Jan 09 14:48:12 patroni/postgresql/__init__.py 822 652 21% 992s Jan 09 14:48:12 patroni/postgresql/available_parameters/__init__.py 24 6 75% 992s Jan 09 14:48:12 patroni/postgresql/bootstrap.py 255 225 12% 992s Jan 09 14:48:12 patroni/postgresql/callback_executor.py 55 34 38% 992s Jan 09 14:48:12 patroni/postgresql/cancellable.py 104 84 19% 992s Jan 09 14:48:12 patroni/postgresql/config.py 838 718 14% 992s Jan 09 14:48:12 patroni/postgresql/connection.py 75 50 33% 992s Jan 09 14:48:12 patroni/postgresql/misc.py 43 30 30% 992s Jan 09 14:48:12 patroni/postgresql/mpp/__init__.py 89 21 76% 992s Jan 09 14:48:12 patroni/postgresql/mpp/citus.py 259 259 0% 992s Jan 09 14:48:12 patroni/postgresql/postmaster.py 170 139 18% 992s Jan 09 14:48:12 patroni/postgresql/rewind.py 416 416 0% 992s Jan 09 14:48:12 patroni/postgresql/slots.py 349 300 14% 992s Jan 09 14:48:12 patroni/postgresql/sync.py 130 96 26% 992s Jan 09 14:48:12 patroni/postgresql/validator.py 157 52 67% 992s Jan 09 14:48:12 patroni/psycopg.py 46 32 30% 992s Jan 09 14:48:12 patroni/raft_controller.py 22 22 0% 992s Jan 09 14:48:12 patroni/request.py 58 6 90% 992s Jan 09 14:48:12 patroni/scripts/__init__.py 0 0 100% 992s Jan 09 14:48:12 patroni/scripts/aws.py 59 59 0% 992s Jan 09 14:48:12 patroni/scripts/barman/__init__.py 0 0 100% 992s Jan 09 14:48:12 patroni/scripts/barman/cli.py 51 51 0% 992s Jan 09 14:48:12 patroni/scripts/barman/config_switch.py 51 51 0% 992s Jan 09 14:48:12 patroni/scripts/barman/recover.py 37 37 0% 992s Jan 09 14:48:12 patroni/scripts/barman/utils.py 94 94 0% 992s Jan 09 14:48:12 patroni/scripts/wale_restore.py 207 207 0% 992s Jan 09 14:48:12 patroni/tags.py 38 15 61% 992s Jan 09 14:48:12 patroni/utils.py 370 264 29% 992s Jan 09 14:48:12 patroni/validator.py 307 221 28% 992s Jan 09 14:48:12 patroni/version.py 1 0 100% 992s Jan 09 14:48:12 patroni/watchdog/__init__.py 2 2 0% 992s Jan 09 14:48:12 patroni/watchdog/base.py 203 203 0% 992s Jan 09 14:48:12 patroni/watchdog/linux.py 135 135 0% 992s Jan 09 14:48:12 ------------------------------------------------------------------------------------------------------------- 992s Jan 09 14:48:12 TOTAL 52569 33502 36% 992s Jan 09 14:48:12 1 feature passed, 0 failed, 0 skipped 992s Jan 09 14:48:12 7 scenarios passed, 0 failed, 0 skipped 992s Jan 09 14:48:12 68 steps passed, 0 failed, 0 skipped, 0 undefined 992s Jan 09 14:48:12 Took 1m33.798s 992s ### End 16 acceptance-etcd features/basic_replication.feature ### 992s + echo '### End 16 acceptance-etcd features/basic_replication.feature ###' 992s + rm -f '/tmp/pgpass?' 992s ++ id -u 992s + '[' 0 -eq 0 ']' 992s + '[' -x /etc/init.d/zookeeper ']' 993s autopkgtest [14:48:13]: test acceptance-etcd-basic: -----------------------] 994s acceptance-etcd-basic PASS 994s autopkgtest [14:48:14]: test acceptance-etcd-basic: - - - - - - - - - - results - - - - - - - - - - 994s autopkgtest [14:48:14]: test acceptance-etcd: preparing testbed 995s Reading package lists... 995s Building dependency tree... 995s Reading state information... 995s Starting pkgProblemResolver with broken count: 0 995s Starting 2 pkgProblemResolver with broken count: 0 995s Done 995s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 997s autopkgtest [14:48:17]: test acceptance-etcd: debian/tests/acceptance etcd 997s autopkgtest [14:48:17]: test acceptance-etcd: [----------------------- 997s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 998s ++ ls -1r /usr/lib/postgresql/ 998s ○ etcd.service - etcd - highly-available key value store 998s Loaded: loaded (/usr/lib/systemd/system/etcd.service; enabled; preset: enabled) 998s Active: inactive (dead) since Thu 2025-01-09 14:46:28 UTC; 1min 49s ago 998s Duration: 17.838s 998s Invocation: 6977b7db2ea0404583fb44ed6b36bb2a 998s Docs: https://etcd.io/docs 998s man:etcd 998s Process: 2364 ExecStart=/usr/bin/etcd $DAEMON_ARGS (code=killed, signal=TERM) 998s Main PID: 2364 (code=killed, signal=TERM) 998s Mem peak: 21.3M 998s CPU: 136ms 998s 998s Jan 09 14:46:28 autopkgtest etcd[2364]: {"level":"info","ts":"2025-01-09T14:46:28.306657Z","caller":"osutil/interrupt_unix.go:64","msg":"received signal; shutting down","signal":"terminated"} 998s Jan 09 14:46:28 autopkgtest etcd[2364]: {"level":"info","ts":"2025-01-09T14:46:28.306710Z","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"]} 998s Jan 09 14:46:28 autopkgtest etcd[2364]: {"level":"warn","ts":"2025-01-09T14:46:28.306809Z","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"} 998s Jan 09 14:46:28 autopkgtest etcd[2364]: {"level":"warn","ts":"2025-01-09T14:46:28.307007Z","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"} 998s Jan 09 14:46:28 autopkgtest etcd[2364]: {"level":"info","ts":"2025-01-09T14:46:28.307029Z","caller":"etcdserver/server.go:1543","msg":"skipped leadership transfer for single voting member cluster","local-member-id":"8e9e05c52164694d","current-leader-member-id":"8e9e05c52164694d"} 998s Jan 09 14:46:28 autopkgtest etcd[2364]: {"level":"info","ts":"2025-01-09T14:46:28.316668Z","caller":"embed/etcd.go:582","msg":"stopping serving peer traffic","address":"127.0.0.1:2380"} 998s Jan 09 14:46:28 autopkgtest etcd[2364]: {"level":"info","ts":"2025-01-09T14:46:28.317185Z","caller":"embed/etcd.go:587","msg":"stopped serving peer traffic","address":"127.0.0.1:2380"} 998s Jan 09 14:46:28 autopkgtest etcd[2364]: {"level":"info","ts":"2025-01-09T14:46:28.317204Z","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"]} 998s Jan 09 14:46:28 autopkgtest systemd[1]: etcd.service: Deactivated successfully. 998s Jan 09 14:46:28 autopkgtest systemd[1]: Stopped etcd.service - etcd - highly-available key value store. 998s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 998s + '[' 16 == 10 -o 16 == 11 ']' 998s + echo '### PostgreSQL 16 acceptance-etcd ###' 998s + su postgres -p -c 'set -o pipefail; ETCD_UNSUPPORTED_ARCH= 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' 998s ### PostgreSQL 16 acceptance-etcd ### 999s Jan 09 14:48:19 Feature: basic replication # features/basic_replication.feature:1 999s Jan 09 14:48:19 We should check that the basic bootstrapping, replication and failover works. 999s Jan 09 14:48:19 Scenario: check replication of a single table # features/basic_replication.feature:4 999s Jan 09 14:48:19 Given I start postgres0 # features/steps/basic_replication.py:8 1003s Jan 09 14:48:23 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1004s Jan 09 14:48:24 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1004s Jan 09 14:48:24 When I issue a PATCH request to http://127.0.0.1:8008/config with {"ttl": 20, "synchronous_mode": true} # features/steps/patroni_api.py:71 1005s Jan 09 14:48:25 Then I receive a response code 200 # features/steps/patroni_api.py:98 1005s Jan 09 14:48:25 When I start postgres1 # features/steps/basic_replication.py:8 1010s Jan 09 14:48:30 And I configure and start postgres2 with a tag replicatefrom postgres0 # features/steps/cascading_replication.py:7 1014s Jan 09 14:48:34 And "sync" key in DCS has leader=postgres0 after 20 seconds # features/steps/cascading_replication.py:23 1014s Jan 09 14:48:34 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 1014s Jan 09 14:48:34 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 1015s Jan 09 14:48:35 Then table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 1015s Jan 09 14:48:35 1015s Jan 09 14:48:35 Scenario: check restart of sync replica # features/basic_replication.feature:17 1015s Jan 09 14:48:35 Given I shut down postgres2 # features/steps/basic_replication.py:29 1016s Jan 09 14:48:36 Then "sync" key in DCS has sync_standby=postgres1 after 5 seconds # features/steps/cascading_replication.py:23 1016s Jan 09 14:48:36 When I start postgres2 # features/steps/basic_replication.py:8 1020s Jan 09 14:48:40 And I shut down postgres1 # features/steps/basic_replication.py:29 1023s Jan 09 14:48:43 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 1024s Jan 09 14:48:44 When I start postgres1 # features/steps/basic_replication.py:8 1028s Jan 09 14:48:48 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1028s Jan 09 14:48:48 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1028s Jan 09 14:48:48 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 1028s Jan 09 14:48:48 1028s Jan 09 14:48:48 Scenario: check stuck sync replica # features/basic_replication.feature:28 1028s Jan 09 14:48:48 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 1028s Jan 09 14:48:48 Then I receive a response code 200 # features/steps/patroni_api.py:98 1028s Jan 09 14:48:48 And I create table on postgres0 # features/steps/basic_replication.py:73 1028s Jan 09 14:48:48 And table mytest is present on postgres1 after 2 seconds # features/steps/basic_replication.py:93 1029s Jan 09 14:48:49 And table mytest is present on postgres2 after 2 seconds # features/steps/basic_replication.py:93 1029s Jan 09 14:48:49 When I pause wal replay on postgres2 # features/steps/basic_replication.py:64 1029s Jan 09 14:48:49 And I load data on postgres0 # features/steps/basic_replication.py:84 1030s Jan 09 14:48:50 Then "sync" key in DCS has sync_standby=postgres1 after 15 seconds # features/steps/cascading_replication.py:23 1033s Jan 09 14:48:53 And I resume wal replay on postgres2 # features/steps/basic_replication.py:64 1033s Jan 09 14:48:53 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1033s Jan 09 14:48:53 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:142 1033s Jan 09 14:48:53 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 1033s Jan 09 14:48:53 Then I receive a response code 200 # features/steps/patroni_api.py:98 1033s Jan 09 14:48:53 And I drop table on postgres0 # features/steps/basic_replication.py:73 1033s Jan 09 14:48:53 1033s Jan 09 14:48:53 Scenario: check multi sync replication # features/basic_replication.feature:44 1033s Jan 09 14:48:53 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 1033s Jan 09 14:48:53 Then I receive a response code 200 # features/steps/patroni_api.py:98 1033s Jan 09 14:48:53 Then "sync" key in DCS has sync_standby=postgres1,postgres2 after 10 seconds # features/steps/cascading_replication.py:23 1037s Jan 09 14:48:57 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1037s Jan 09 14:48:57 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1037s Jan 09 14:48:57 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 1037s Jan 09 14:48:57 Then I receive a response code 200 # features/steps/patroni_api.py:98 1037s Jan 09 14:48:57 And I shut down postgres1 # features/steps/basic_replication.py:29 1040s Jan 09 14:49:00 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 1041s Jan 09 14:49:01 When I start postgres1 # features/steps/basic_replication.py:8 1045s Jan 09 14:49:05 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1045s Jan 09 14:49:05 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1045s Jan 09 14:49:05 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 1045s Jan 09 14:49:05 1045s Jan 09 14:49:05 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 1045s Jan 09 14:49:05 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 1048s Jan 09 14:49:08 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1048s Jan 09 14:49:08 When I sleep for 2 seconds # features/steps/patroni_api.py:39 1050s Jan 09 14:49:10 And I shut down postgres0 # features/steps/basic_replication.py:29 1051s Jan 09 14:49:11 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 1053s Jan 09 14:49:13 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1053s Jan 09 14:49:13 And postgres2 role is the primary after 24 seconds # features/steps/basic_replication.py:105 1072s Jan 09 14:49:32 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:156 1075s Jan 09 14:49:34 And there is a postgres2_cb.log with "on_role_change master batman" in postgres2 data directory # features/steps/cascading_replication.py:12 1075s Jan 09 14:49:34 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 1075s Jan 09 14:49:35 Then I receive a response code 200 # features/steps/patroni_api.py:98 1075s Jan 09 14:49:35 When I add the table bar to postgres2 # features/steps/basic_replication.py:54 1075s Jan 09 14:49:35 Then table bar is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 1078s Jan 09 14:49:38 And Response on GET http://127.0.0.1:8010/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 1078s Jan 09 14:49:38 1078s Jan 09 14:49:38 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 1078s Jan 09 14:49:38 Given I add the table splitbrain to postgres0 # features/steps/basic_replication.py:54 1078s Jan 09 14:49:38 And I start postgres0 # features/steps/basic_replication.py:8 1078s Jan 09 14:49:38 Then postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 1083s Jan 09 14:49:43 When I add the table buz to postgres2 # features/steps/basic_replication.py:54 1083s Jan 09 14:49:43 Then table buz is present on postgres0 after 20 seconds # features/steps/basic_replication.py:93 1087s Jan 09 14:49:47 1087s Jan 09 14:49:47 @reject-duplicate-name 1087s Jan 09 14:49:47 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 1087s Jan 09 14:49:47 Given I start duplicate postgres0 on port 8011 # features/steps/basic_replication.py:13 1090s Jan 09 14:49:50 Then there is one of ["Can't start; there is already a node named 'postgres0' running"] CRITICAL in the dup-postgres0 patroni log after 5 seconds # features/steps/basic_replication.py:121 1094s Jan 09 14:49:54 1094s Jan 09 14:49:54 Feature: cascading replication # features/cascading_replication.feature:1 1094s Jan 09 14:49:54 We should check that patroni can do base backup and streaming from the replica 1094s Jan 09 14:49:54 Scenario: check a base backup and streaming replication from a replica # features/cascading_replication.feature:4 1094s Jan 09 14:49:54 Given I start postgres0 # features/steps/basic_replication.py:8 1098s Jan 09 14:49:58 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1099s Jan 09 14:49:59 And I configure and start postgres1 with a tag clonefrom true # features/steps/cascading_replication.py:7 1104s Jan 09 14:50:04 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1105s Jan 09 14:50:05 And I create label with "postgres0" in postgres0 data directory # features/steps/cascading_replication.py:18 1105s Jan 09 14:50:05 And I create label with "postgres1" in postgres1 data directory # features/steps/cascading_replication.py:18 1105s Jan 09 14:50:05 And "members/postgres1" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 1105s Jan 09 14:50:05 And I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 1110s Jan 09 14:50:10 Then replication works from postgres0 to postgres2 after 30 seconds # features/steps/basic_replication.py:112 1111s Jan 09 14:50:11 And there is a label with "postgres1" in postgres2 data directory # features/steps/cascading_replication.py:12 1117s Jan 09 14:50:17 1117s Jan 09 14:50:17 Feature: citus # features/citus.feature:1 1117s Jan 09 14:50:17 We should check that coordinator discovers and registers workers and clients don't have errors when worker cluster switches over 1117s Jan 09 14:50:17 Scenario: check that worker cluster is registered in the coordinator # features/citus.feature:4 1117s Jan 09 14:50:17 Given I start postgres0 in citus group 0 # None 1117s Jan 09 14:50:17 And I start postgres2 in citus group 1 # None 1117s Jan 09 14:50:17 Then postgres0 is a leader in a group 0 after 10 seconds # None 1117s Jan 09 14:50:17 And postgres2 is a leader in a group 1 after 10 seconds # None 1117s Jan 09 14:50:17 When I start postgres1 in citus group 0 # None 1117s Jan 09 14:50:17 And I start postgres3 in citus group 1 # None 1117s Jan 09 14:50:17 Then replication works from postgres0 to postgres1 after 15 seconds # None 1117s Jan 09 14:50:17 Then replication works from postgres2 to postgres3 after 15 seconds # None 1117s Jan 09 14:50:17 And postgres0 is registered in the postgres0 as the primary in group 0 after 5 seconds # None 1117s Jan 09 14:50:17 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 1117s Jan 09 14:50:17 1117s Jan 09 14:50:17 Scenario: coordinator failover updates pg_dist_node # features/citus.feature:16 1117s Jan 09 14:50:17 Given I run patronictl.py failover batman --group 0 --candidate postgres1 --force # None 1117s Jan 09 14:50:17 Then postgres1 role is the primary after 10 seconds # None 1117s Jan 09 14:50:17 And "members/postgres0" key in a group 0 in DCS has state=running after 15 seconds # None 1117s Jan 09 14:50:17 And replication works from postgres1 to postgres0 after 15 seconds # None 1117s Jan 09 14:50:17 And postgres1 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 1117s Jan 09 14:50:17 And "sync" key in a group 0 in DCS has sync_standby=postgres0 after 15 seconds # None 1117s Jan 09 14:50:17 When I run patronictl.py switchover batman --group 0 --candidate postgres0 --force # None 1117s Jan 09 14:50:17 Then postgres0 role is the primary after 10 seconds # None 1117s Jan 09 14:50:17 And replication works from postgres0 to postgres1 after 15 seconds # None 1117s Jan 09 14:50:17 And postgres0 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 1117s Jan 09 14:50:17 And "sync" key in a group 0 in DCS has sync_standby=postgres1 after 15 seconds # None 1117s Jan 09 14:50:17 1117s Jan 09 14:50:17 Scenario: worker switchover doesn't break client queries on the coordinator # features/citus.feature:29 1117s Jan 09 14:50:17 Given I create a distributed table on postgres0 # None 1117s Jan 09 14:50:17 And I start a thread inserting data on postgres0 # None 1117s Jan 09 14:50:17 When I run patronictl.py switchover batman --group 1 --force # None 1117s Jan 09 14:50:17 Then I receive a response returncode 0 # None 1117s Jan 09 14:50:17 And postgres3 role is the primary after 10 seconds # None 1117s Jan 09 14:50:17 And "members/postgres2" key in a group 1 in DCS has state=running after 15 seconds # None 1117s Jan 09 14:50:17 And replication works from postgres3 to postgres2 after 15 seconds # None 1117s Jan 09 14:50:17 And postgres3 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 1117s Jan 09 14:50:17 And "sync" key in a group 1 in DCS has sync_standby=postgres2 after 15 seconds # None 1117s Jan 09 14:50:17 And a thread is still alive # None 1117s Jan 09 14:50:17 When I run patronictl.py switchover batman --group 1 --force # None 1117s Jan 09 14:50:17 Then I receive a response returncode 0 # None 1117s Jan 09 14:50:17 And postgres2 role is the primary after 10 seconds # None 1117s Jan 09 14:50:17 And replication works from postgres2 to postgres3 after 15 seconds # None 1117s Jan 09 14:50:17 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 1117s Jan 09 14:50:17 And "sync" key in a group 1 in DCS has sync_standby=postgres3 after 15 seconds # None 1117s Jan 09 14:50:17 And a thread is still alive # None 1117s Jan 09 14:50:17 When I stop a thread # None 1117s Jan 09 14:50:17 Then a distributed table on postgres0 has expected rows # None 1117s Jan 09 14:50:17 1117s Jan 09 14:50:17 Scenario: worker primary restart doesn't break client queries on the coordinator # features/citus.feature:50 1117s Jan 09 14:50:17 Given I cleanup a distributed table on postgres0 # None 1117s Jan 09 14:50:17 And I start a thread inserting data on postgres0 # None 1117s Jan 09 14:50:17 When I run patronictl.py restart batman postgres2 --group 1 --force # None 1117s Jan 09 14:50:17 Then I receive a response returncode 0 # None 1117s Jan 09 14:50:17 And postgres2 role is the primary after 10 seconds # None 1117s Jan 09 14:50:17 And replication works from postgres2 to postgres3 after 15 seconds # None 1117s Jan 09 14:50:17 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 1117s Jan 09 14:50:17 And a thread is still alive # None 1117s Jan 09 14:50:17 When I stop a thread # None 1117s Jan 09 14:50:17 Then a distributed table on postgres0 has expected rows # None 1117s SKIP FEATURE citus: Citus extenstion isn't available 1117s SKIP Scenario check that worker cluster is registered in the coordinator: Citus extenstion isn't available 1117s SKIP Scenario coordinator failover updates pg_dist_node: Citus extenstion isn't available 1117s SKIP Scenario worker switchover doesn't break client queries on the coordinator: Citus extenstion isn't available 1117s SKIP Scenario worker primary restart doesn't break client queries on the coordinator: Citus extenstion isn't available 1117s 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 1117s Jan 09 14:50:17 1117s Jan 09 14:50:17 Scenario: check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node # features/citus.feature:62 1117s Jan 09 14:50:17 Given I start postgres4 in citus group 2 # None 1117s Jan 09 14:50:17 Then postgres4 is a leader in a group 2 after 10 seconds # None 1117s Jan 09 14:50:17 And "members/postgres4" key in a group 2 in DCS has role=master after 3 seconds # None 1117s Jan 09 14:50:17 When I run patronictl.py edit-config batman --group 2 -s ttl=20 --force # None 1117s Jan 09 14:50:17 Then I receive a response returncode 0 # None 1117s Jan 09 14:50:17 And I receive a response output "+ttl: 20" # None 1117s Jan 09 14:50:17 Then postgres4 is registered in the postgres2 as the primary in group 2 after 5 seconds # None 1117s Jan 09 14:50:17 When I shut down postgres4 # None 1117s Jan 09 14:50:17 Then there is a transaction in progress on postgres0 changing pg_dist_node after 5 seconds # None 1117s Jan 09 14:50:17 When I run patronictl.py restart batman postgres2 --group 1 --force # None 1117s Jan 09 14:50:17 Then a transaction finishes in 20 seconds # None 1117s Jan 09 14:50:17 1117s Jan 09 14:50:17 Feature: custom bootstrap # features/custom_bootstrap.feature:1 1117s Jan 09 14:50:17 We should check that patroni can bootstrap a new cluster from a backup 1117s Jan 09 14:50:17 Scenario: clone existing cluster using pg_basebackup # features/custom_bootstrap.feature:4 1117s Jan 09 14:50:17 Given I start postgres0 # features/steps/basic_replication.py:8 1122s Jan 09 14:50:22 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1123s Jan 09 14:50:23 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 1124s Jan 09 14:50:23 And I start postgres1 in a cluster batman1 as a clone of postgres0 # features/steps/custom_bootstrap.py:6 1129s Jan 09 14:50:29 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 1130s Jan 09 14:50:30 Then table foo is present on postgres1 after 10 seconds # features/steps/basic_replication.py:93 1130s Jan 09 14:50:30 1130s Jan 09 14:50:30 Scenario: make a backup and do a restore into a new cluster # features/custom_bootstrap.feature:12 1130s Jan 09 14:50:30 Given I add the table bar to postgres1 # features/steps/basic_replication.py:54 1130s Jan 09 14:50:30 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 1130s Jan 09 14:50:30 When I start postgres2 in a cluster batman2 from backup # features/steps/custom_bootstrap.py:11 1136s Jan 09 14:50:36 Then postgres2 is a leader of batman2 after 30 seconds # features/steps/custom_bootstrap.py:16 1138s Jan 09 14:50:37 And table bar is present on postgres2 after 10 seconds # features/steps/basic_replication.py:93 1144s Jan 09 14:50:44 1144s Jan 09 14:50:44 Feature: dcs failsafe mode # features/dcs_failsafe_mode.feature:1 1144s Jan 09 14:50:44 We should check the basic dcs failsafe mode functioning 1144s Jan 09 14:50:44 Scenario: check failsafe mode can be successfully enabled # features/dcs_failsafe_mode.feature:4 1144s Jan 09 14:50:44 Given I start postgres0 # features/steps/basic_replication.py:8 1149s Jan 09 14:50:49 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1150s Jan 09 14:50:50 Then "config" key in DCS has ttl=30 after 10 seconds # features/steps/cascading_replication.py:23 1150s Jan 09 14:50: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 1150s Jan 09 14:50:50 Then I receive a response code 200 # features/steps/patroni_api.py:98 1150s Jan 09 14:50:50 And Response on GET http://127.0.0.1:8008/failsafe contains postgres0 after 10 seconds # features/steps/patroni_api.py:156 1150s Jan 09 14:50:50 When I issue a GET request to http://127.0.0.1:8008/failsafe # features/steps/patroni_api.py:61 1150s Jan 09 14:50:50 Then I receive a response code 200 # features/steps/patroni_api.py:98 1150s Jan 09 14:50:50 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 1150s Jan 09 14:50:50 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 1150s Jan 09 14:50:50 Then I receive a response code 200 # features/steps/patroni_api.py:98 1150s Jan 09 14:50:50 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 1150s Jan 09 14:50:50 Then I receive a response code 200 # features/steps/patroni_api.py:98 1150s Jan 09 14:50:50 1150s Jan 09 14:50:50 @dcs-failsafe 1150s Jan 09 14:50:50 Scenario: check one-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:20 1150s Jan 09 14:50:50 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 1150s Jan 09 14:50:50 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 1156s Jan 09 14:50:56 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1156s Jan 09 14:50:56 1156s Jan 09 14:50:56 @dcs-failsafe 1156s Jan 09 14:50:56 Scenario: check new replica isn't promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:26 1156s Jan 09 14:50:56 Given DCS is up # features/steps/dcs_failsafe_mode.py:9 1156s Jan 09 14:50:56 When I do a backup of postgres0 # features/steps/custom_bootstrap.py:25 1157s Jan 09 14:50:57 And I shut down postgres0 # features/steps/basic_replication.py:29 1159s Jan 09 14:50:59 When I start postgres1 in a cluster batman from backup with no_leader # features/steps/dcs_failsafe_mode.py:14 1163s Jan 09 14:51:03 Then postgres1 role is the replica after 12 seconds # features/steps/basic_replication.py:105 1163s Jan 09 14:51:03 1163s Jan 09 14:51:03 Scenario: check leader and replica are both in /failsafe key after leader is back # features/dcs_failsafe_mode.feature:33 1163s Jan 09 14:51:03 Given I start postgres0 # features/steps/basic_replication.py:8 1167s Jan 09 14:51:07 And I start postgres1 # features/steps/basic_replication.py:8 1167s Jan 09 14:51:07 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1168s Jan 09 14:51:08 And "members/postgres1" key in DCS has state=running after 2 seconds # features/steps/cascading_replication.py:23 1168s Jan 09 14:51:08 And Response on GET http://127.0.0.1:8009/failsafe contains postgres1 after 10 seconds # features/steps/patroni_api.py:156 1169s Jan 09 14:51:09 When I issue a GET request to http://127.0.0.1:8009/failsafe # features/steps/patroni_api.py:61 1169s Jan 09 14:51:09 Then I receive a response code 200 # features/steps/patroni_api.py:98 1169s Jan 09 14:51:09 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 1169s Jan 09 14:51:09 And I receive a response postgres1 http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:98 1169s Jan 09 14:51:09 1169s Jan 09 14:51:09 @dcs-failsafe @slot-advance 1169s Jan 09 14:51:09 Scenario: check leader and replica are functioning while DCS is down # features/dcs_failsafe_mode.feature:46 1169s Jan 09 14:51:09 Given I get all changes from physical slot dcs_slot_1 on postgres0 # features/steps/slots.py:75 1169s Jan 09 14:51:09 Then physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1175s Jan 09 14:51:15 And logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1175s Jan 09 14:51:15 And DCS is down # features/steps/dcs_failsafe_mode.py:4 1175s Jan 09 14:51:15 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 1182s Jan 09 14:51:22 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1182s Jan 09 14:51:22 And postgres1 role is the replica after 2 seconds # features/steps/basic_replication.py:105 1182s Jan 09 14:51:22 And replication works from postgres0 to postgres1 after 10 seconds # features/steps/basic_replication.py:112 1182s Jan 09 14:51:22 When I get all changes from logical slot dcs_slot_0 on postgres0 # features/steps/slots.py:70 1182s Jan 09 14:51:22 And I get all changes from physical slot dcs_slot_1 on postgres0 # features/steps/slots.py:75 1182s Jan 09 14:51:22 Then logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 20 seconds # features/steps/slots.py:51 1185s Jan 09 14:51:25 And physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1185s Jan 09 14:51:25 1185s Jan 09 14:51:25 @dcs-failsafe 1185s Jan 09 14:51:25 Scenario: check primary is demoted when one replica is shut down and DCS is down # features/dcs_failsafe_mode.feature:61 1185s Jan 09 14:51:25 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 1185s Jan 09 14:51:25 And I kill postgres1 # features/steps/basic_replication.py:34 1186s Jan 09 14:51:26 And I kill postmaster on postgres1 # features/steps/basic_replication.py:44 1186s Jan 09 14:51:26 waiting for server to shut down.... done 1186s Jan 09 14:51:26 server stopped 1186s Jan 09 14:51:26 Then postgres0 role is the replica after 12 seconds # features/steps/basic_replication.py:105 1187s Jan 09 14:51:27 1187s Jan 09 14:51:27 @dcs-failsafe 1187s Jan 09 14:51:27 Scenario: check known replica is promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:68 1187s Jan 09 14:51:27 Given I kill postgres0 # features/steps/basic_replication.py:34 1188s Jan 09 14:51:28 And I shut down postmaster on postgres0 # features/steps/basic_replication.py:39 1188s Jan 09 14:51:28 waiting for server to shut down.... done 1188s Jan 09 14:51:28 server stopped 1188s Jan 09 14:51:28 And DCS is up # features/steps/dcs_failsafe_mode.py:9 1188s Jan 09 14:51:28 When I start postgres1 # features/steps/basic_replication.py:8 1192s Jan 09 14:51:32 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1193s Jan 09 14:51:33 And postgres1 role is the primary after 25 seconds # features/steps/basic_replication.py:105 1195s Jan 09 14:51:35 1195s Jan 09 14:51:35 @dcs-failsafe 1195s Jan 09 14:51:35 Scenario: scale to three-node cluster # features/dcs_failsafe_mode.feature:77 1195s Jan 09 14:51:35 Given I start postgres0 # features/steps/basic_replication.py:8 1199s Jan 09 14:51:39 And I configure and start postgres2 with a tag replicatefrom postgres0 # features/steps/cascading_replication.py:7 1204s Jan 09 14:51:44 Then "members/postgres2" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1205s Jan 09 14:51:45 And "members/postgres0" key in DCS has state=running after 20 seconds # features/steps/cascading_replication.py:23 1205s Jan 09 14:51:45 And Response on GET http://127.0.0.1:8008/failsafe contains postgres2 after 10 seconds # features/steps/patroni_api.py:156 1205s Jan 09 14:51:45 And replication works from postgres1 to postgres0 after 10 seconds # features/steps/basic_replication.py:112 1207s Jan 09 14:51:47 And replication works from postgres1 to postgres2 after 10 seconds # features/steps/basic_replication.py:112 1208s Jan 09 14:51:48 1208s Jan 09 14:51:48 @dcs-failsafe @slot-advance 1208s Jan 09 14:51:48 Scenario: make sure permanent slots exist on replicas # features/dcs_failsafe_mode.feature:88 1208s Jan 09 14:51:48 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 1208s Jan 09 14:51:48 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # features/steps/slots.py:51 1214s Jan 09 14:51:54 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # features/steps/slots.py:51 1215s Jan 09 14:51:55 When I get all changes from physical slot dcs_slot_1 on postgres1 # features/steps/slots.py:75 1215s Jan 09 14:51:55 Then physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # features/steps/slots.py:51 1216s Jan 09 14:51:56 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 1216s Jan 09 14:51:56 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 1216s Jan 09 14:51:56 And physical slot postgres2 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1216s Jan 09 14:51:56 1216s Jan 09 14:51:56 @dcs-failsafe 1216s Jan 09 14:51:56 Scenario: check three-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:99 1216s Jan 09 14:51:56 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 1216s Jan 09 14:51:56 Then Response on GET http://127.0.0.1:8009/primary contains failsafe_mode_is_active after 12 seconds # features/steps/patroni_api.py:156 1223s Jan 09 14:52:03 Then postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1223s Jan 09 14:52:03 And postgres0 role is the replica after 2 seconds # features/steps/basic_replication.py:105 1223s Jan 09 14:52:03 And postgres2 role is the replica after 2 seconds # features/steps/basic_replication.py:105 1223s Jan 09 14:52:03 1223s Jan 09 14:52:03 @dcs-failsafe @slot-advance 1223s Jan 09 14:52:03 Scenario: check that permanent slots are in sync between nodes while DCS is down # features/dcs_failsafe_mode.feature:108 1223s Jan 09 14:52:03 Given replication works from postgres1 to postgres0 after 10 seconds # features/steps/basic_replication.py:112 1223s Jan 09 14:52:03 And replication works from postgres1 to postgres2 after 10 seconds # features/steps/basic_replication.py:112 1224s Jan 09 14:52:04 When I get all changes from logical slot dcs_slot_2 on postgres1 # features/steps/slots.py:70 1224s Jan 09 14:52:04 And I get all changes from physical slot dcs_slot_1 on postgres1 # features/steps/slots.py:75 1224s Jan 09 14:52:04 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # features/steps/slots.py:51 1225s Jan 09 14:52:05 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # features/steps/slots.py:51 1225s Jan 09 14:52:05 And physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # features/steps/slots.py:51 1225s Jan 09 14:52:05 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 1225s Jan 09 14:52:05 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 1225s Jan 09 14:52:05 And physical slot postgres2 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1232s Jan 09 14:52:12 1232s Jan 09 14:52:12 Feature: ignored slots # features/ignored_slots.feature:1 1232s Jan 09 14:52:12 1232s Jan 09 14:52:12 Scenario: check ignored slots aren't removed on failover/switchover # features/ignored_slots.feature:2 1232s Jan 09 14:52:12 Given I start postgres1 # features/steps/basic_replication.py:8 1236s Jan 09 14:52:16 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 1237s Jan 09 14:52:17 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1237s Jan 09 14:52:17 When I issue a PATCH request to http://127.0.0.1:8009/config with {"ignore_slots": [{"name": "unmanaged_slot_0", "database": "postgres", "plugin": "test_decoding", "type": "logical"}, {"name": "unmanaged_slot_1", "database": "postgres", "plugin": "test_decoding"}, {"name": "unmanaged_slot_2", "database": "postgres"}, {"name": "unmanaged_slot_3"}], "postgresql": {"parameters": {"wal_level": "logical"}}} # features/steps/patroni_api.py:71 1237s Jan 09 14:52:17 Then I receive a response code 200 # features/steps/patroni_api.py:98 1237s Jan 09 14:52:17 And Response on GET http://127.0.0.1:8009/config contains ignore_slots after 10 seconds # features/steps/patroni_api.py:156 1237s Jan 09 14:52:17 When I shut down postgres1 # features/steps/basic_replication.py:29 1239s Jan 09 14:52:19 And I start postgres1 # features/steps/basic_replication.py:8 1243s Jan 09 14:52:23 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 1243s Jan 09 14:52:23 And "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 1244s Jan 09 14:52:24 And postgres1 role is the primary after 20 seconds # features/steps/basic_replication.py:105 1244s Jan 09 14:52:24 When I create a logical replication slot unmanaged_slot_0 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1244s Jan 09 14:52:24 And I create a logical replication slot unmanaged_slot_1 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1244s Jan 09 14:52:24 And I create a logical replication slot unmanaged_slot_2 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1244s Jan 09 14:52:24 And I create a logical replication slot unmanaged_slot_3 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1244s Jan 09 14:52:24 And I create a logical replication slot dummy_slot on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1244s Jan 09 14:52:24 Then postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1244s Jan 09 14:52:24 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1244s Jan 09 14:52:24 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1244s Jan 09 14:52:24 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1244s Jan 09 14:52:24 When I start postgres0 # features/steps/basic_replication.py:8 1248s Jan 09 14:52:28 Then "members/postgres0" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 1249s Jan 09 14:52:29 And postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 1249s Jan 09 14:52:29 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 1250s Jan 09 14:52:30 When I shut down postgres1 # features/steps/basic_replication.py:29 1252s Jan 09 14:52:32 Then "members/postgres0" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 1253s Jan 09 14:52:33 When I start postgres1 # features/steps/basic_replication.py:8 1257s Jan 09 14:52:37 Then postgres1 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 1257s Jan 09 14:52:37 And "members/postgres1" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 1257s Jan 09 14:52:37 And I sleep for 2 seconds # features/steps/patroni_api.py:39 1259s Jan 09 14:52:39 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1259s Jan 09 14:52:39 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1259s Jan 09 14:52:39 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1259s Jan 09 14:52:39 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1259s Jan 09 14:52:39 And postgres1 does not have a replication slot named dummy_slot # features/steps/slots.py:40 1259s Jan 09 14:52:39 When I shut down postgres0 # features/steps/basic_replication.py:29 1261s Jan 09 14:52:41 Then "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 1262s Jan 09 14:52:42 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1262s Jan 09 14:52:42 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1262s Jan 09 14:52:42 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1262s Jan 09 14:52:42 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1264s Jan 09 14:52:44 1264s Jan 09 14:52:44 Feature: nostream node # features/nostream_node.feature:1 1264s Jan 09 14:52:44 1264s Jan 09 14:52:44 Scenario: check nostream node is recovering from archive # features/nostream_node.feature:3 1264s Jan 09 14:52:44 When I start postgres0 # features/steps/basic_replication.py:8 1268s Jan 09 14:52:48 And I configure and start postgres1 with a tag nostream true # features/steps/cascading_replication.py:7 1272s Jan 09 14:52:52 Then "members/postgres1" key in DCS has replication_state=in archive recovery after 10 seconds # features/steps/cascading_replication.py:23 1273s Jan 09 14:52:53 And replication works from postgres0 to postgres1 after 30 seconds # features/steps/basic_replication.py:112 1278s Jan 09 14:52:58 1278s Jan 09 14:52:58 @slot-advance 1278s Jan 09 14:52:58 Scenario: check permanent logical replication slots are not copied # features/nostream_node.feature:10 1278s Jan 09 14:52:58 When I issue a PATCH request to http://127.0.0.1:8008/config with {"postgresql": {"parameters": {"wal_level": "logical"}}, "slots":{"test_logical":{"type":"logical","database":"postgres","plugin":"test_decoding"}}} # features/steps/patroni_api.py:71 1278s Jan 09 14:52:58 Then I receive a response code 200 # features/steps/patroni_api.py:98 1278s Jan 09 14:52:58 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 1281s Jan 09 14:53:01 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 1282s Jan 09 14:53:02 When I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 1287s Jan 09 14:53:06 Then "members/postgres2" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 1294s Jan 09 14:53:14 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 1294s Jan 09 14:53:14 And postgres2 does not have a replication slot named test_logical # features/steps/slots.py:40 1299s Jan 09 14:53:19 1299s Jan 09 14:53:19 Feature: patroni api # features/patroni_api.feature:1 1299s Jan 09 14:53:19 We should check that patroni correctly responds to valid and not-valid API requests. 1299s Jan 09 14:53:19 Scenario: check API requests on a stand-alone server # features/patroni_api.feature:4 1299s Jan 09 14:53:19 Given I start postgres0 # features/steps/basic_replication.py:8 1303s Jan 09 14:53:23 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1304s Jan 09 14:53:24 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 1304s Jan 09 14:53:24 Then I receive a response code 200 # features/steps/patroni_api.py:98 1304s Jan 09 14:53:24 And I receive a response state running # features/steps/patroni_api.py:98 1304s Jan 09 14:53:24 And I receive a response role master # features/steps/patroni_api.py:98 1304s Jan 09 14:53:24 When I issue a GET request to http://127.0.0.1:8008/standby_leader # features/steps/patroni_api.py:61 1304s Jan 09 14:53:24 Then I receive a response code 503 # features/steps/patroni_api.py:98 1304s Jan 09 14:53:24 When I issue a GET request to http://127.0.0.1:8008/health # features/steps/patroni_api.py:61 1304s Jan 09 14:53:24 Then I receive a response code 200 # features/steps/patroni_api.py:98 1304s Jan 09 14:53:24 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 1304s Jan 09 14:53:24 Then I receive a response code 503 # features/steps/patroni_api.py:98 1304s Jan 09 14:53:24 When I issue a POST request to http://127.0.0.1:8008/reinitialize with {"force": true} # features/steps/patroni_api.py:71 1304s Jan 09 14:53:24 Then I receive a response code 503 # features/steps/patroni_api.py:98 1304s Jan 09 14:53:24 And I receive a response text I am the leader, can not reinitialize # features/steps/patroni_api.py:98 1304s Jan 09 14:53:24 When I run patronictl.py switchover batman --master postgres0 --force # features/steps/patroni_api.py:86 1306s Jan 09 14:53:26 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 1306s Jan 09 14:53:26 And I receive a response output "Error: No candidates found to switchover to" # features/steps/patroni_api.py:98 1306s Jan 09 14:53:26 When I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres0"} # features/steps/patroni_api.py:71 1306s Jan 09 14:53:26 Then I receive a response code 412 # features/steps/patroni_api.py:98 1306s Jan 09 14:53:26 And I receive a response text switchover is not possible: cluster does not have members except leader # features/steps/patroni_api.py:98 1306s Jan 09 14:53:26 When I issue an empty POST request to http://127.0.0.1:8008/failover # features/steps/patroni_api.py:66 1306s Jan 09 14:53:26 Then I receive a response code 400 # features/steps/patroni_api.py:98 1306s Jan 09 14:53:26 When I issue a POST request to http://127.0.0.1:8008/failover with {"foo": "bar"} # features/steps/patroni_api.py:71 1306s Jan 09 14:53:26 Then I receive a response code 400 # features/steps/patroni_api.py:98 1306s Jan 09 14:53:26 And I receive a response text "Failover could be performed only to a specific candidate" # features/steps/patroni_api.py:98 1306s Jan 09 14:53:26 1306s Jan 09 14:53:26 Scenario: check local configuration reload # features/patroni_api.feature:32 1306s Jan 09 14:53:26 Given I add tag new_tag new_value to postgres0 config # features/steps/patroni_api.py:137 1306s Jan 09 14:53:26 And I issue an empty POST request to http://127.0.0.1:8008/reload # features/steps/patroni_api.py:66 1307s Jan 09 14:53:26 Then I receive a response code 202 # features/steps/patroni_api.py:98 1307s Jan 09 14:53:26 1307s Jan 09 14:53:26 Scenario: check dynamic configuration change via DCS # features/patroni_api.feature:37 1307s Jan 09 14:53:26 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"ttl": 20, "postgresql": {"parameters": {"max_connections": "101"}}} # features/steps/patroni_api.py:71 1307s Jan 09 14:53:27 Then I receive a response code 200 # features/steps/patroni_api.py:98 1307s Jan 09 14:53:27 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 11 seconds # features/steps/patroni_api.py:156 1309s Jan 09 14:53:29 When I issue a GET request to http://127.0.0.1:8008/config # features/steps/patroni_api.py:61 1309s Jan 09 14:53:29 Then I receive a response code 200 # features/steps/patroni_api.py:98 1309s Jan 09 14:53:29 And I receive a response ttl 20 # features/steps/patroni_api.py:98 1309s Jan 09 14:53:29 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 1309s Jan 09 14:53:29 Then I receive a response code 200 # features/steps/patroni_api.py:98 1309s Jan 09 14:53:29 And I receive a response tags {'new_tag': 'new_value'} # features/steps/patroni_api.py:98 1309s Jan 09 14:53:29 And I sleep for 4 seconds # features/steps/patroni_api.py:39 1313s Jan 09 14:53:33 1313s Jan 09 14:53:33 Scenario: check the scheduled restart # features/patroni_api.feature:49 1313s Jan 09 14:53:33 Given I run patronictl.py edit-config -p 'superuser_reserved_connections=6' --force batman # features/steps/patroni_api.py:86 1315s Jan 09 14:53:35 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1315s Jan 09 14:53:35 And I receive a response output "+ superuser_reserved_connections: 6" # features/steps/patroni_api.py:98 1315s Jan 09 14:53:35 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 5 seconds # features/steps/patroni_api.py:156 1315s Jan 09 14:53:35 Given I issue a scheduled restart at http://127.0.0.1:8008 in 5 seconds with {"role": "replica"} # features/steps/patroni_api.py:124 1315s Jan 09 14:53:35 Then I receive a response code 202 # features/steps/patroni_api.py:98 1315s Jan 09 14:53:35 And I sleep for 8 seconds # features/steps/patroni_api.py:39 1323s Jan 09 14:53:43 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 10 seconds # features/steps/patroni_api.py:156 1323s Jan 09 14:53:43 Given I issue a scheduled restart at http://127.0.0.1:8008 in 5 seconds with {"restart_pending": "True"} # features/steps/patroni_api.py:124 1323s Jan 09 14:53:43 Then I receive a response code 202 # features/steps/patroni_api.py:98 1323s Jan 09 14:53:43 And Response on GET http://127.0.0.1:8008/patroni does not contain pending_restart after 10 seconds # features/steps/patroni_api.py:171 1330s Jan 09 14:53:50 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1331s Jan 09 14:53:51 1331s Jan 09 14:53:51 Scenario: check API requests for the primary-replica pair in the pause mode # features/patroni_api.feature:63 1331s Jan 09 14:53:51 Given I start postgres1 # features/steps/basic_replication.py:8 1336s Jan 09 14:53:55 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1337s Jan 09 14:53:57 When I run patronictl.py pause batman # features/steps/patroni_api.py:86 1339s Jan 09 14:53:59 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1339s Jan 09 14:53:59 When I kill postmaster on postgres1 # features/steps/basic_replication.py:44 1339s Jan 09 14:53:59 waiting for server to shut down.... done 1339s Jan 09 14:53:59 server stopped 1339s Jan 09 14:53:59 And I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 1339s Jan 09 14:53:59 Then I receive a response code 503 # features/steps/patroni_api.py:98 1339s Jan 09 14:53:59 And "members/postgres1" key in DCS has state=stopped after 10 seconds # features/steps/cascading_replication.py:23 1340s Jan 09 14:54:00 When I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 1344s Jan 09 14:54:04 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1344s Jan 09 14:54:04 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1345s Jan 09 14:54:05 And I sleep for 2 seconds # features/steps/patroni_api.py:39 1347s Jan 09 14:54:07 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 1347s Jan 09 14:54:07 Then I receive a response code 200 # features/steps/patroni_api.py:98 1347s Jan 09 14:54:07 And I receive a response state running # features/steps/patroni_api.py:98 1347s Jan 09 14:54:07 And I receive a response role replica # features/steps/patroni_api.py:98 1347s Jan 09 14:54:07 When I run patronictl.py reinit batman postgres1 --force --wait # features/steps/patroni_api.py:86 1352s Jan 09 14:54:12 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1352s Jan 09 14:54:12 And I receive a response output "Success: reinitialize for member postgres1" # features/steps/patroni_api.py:98 1352s Jan 09 14:54:12 And postgres1 role is the secondary after 30 seconds # features/steps/basic_replication.py:105 1353s Jan 09 14:54:13 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1354s Jan 09 14:54:14 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 1358s Jan 09 14:54:18 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1358s Jan 09 14:54:18 And I receive a response output "Success: restart on member postgres0" # features/steps/patroni_api.py:98 1358s Jan 09 14:54:18 And postgres0 role is the primary after 5 seconds # features/steps/basic_replication.py:105 1359s Jan 09 14:54:19 1359s Jan 09 14:54:19 Scenario: check the switchover via the API in the pause mode # features/patroni_api.feature:90 1359s Jan 09 14:54:19 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 1361s Jan 09 14:54:21 Then I receive a response code 200 # features/steps/patroni_api.py:98 1361s Jan 09 14:54:21 And postgres1 is a leader after 5 seconds # features/steps/patroni_api.py:29 1361s Jan 09 14:54:21 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1362s Jan 09 14:54:22 And postgres0 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 1366s Jan 09 14:54:26 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 1366s Jan 09 14:54:26 And "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1367s Jan 09 14:54:27 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 1367s Jan 09 14:54:27 Then I receive a response code 503 # features/steps/patroni_api.py:98 1367s Jan 09 14:54:27 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 1367s Jan 09 14:54:27 Then I receive a response code 200 # features/steps/patroni_api.py:98 1367s Jan 09 14:54:27 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 1367s Jan 09 14:54:27 Then I receive a response code 200 # features/steps/patroni_api.py:98 1367s Jan 09 14:54:27 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 1367s Jan 09 14:54:27 Then I receive a response code 503 # features/steps/patroni_api.py:98 1367s Jan 09 14:54:27 1367s Jan 09 14:54:27 Scenario: check the scheduled switchover # features/patroni_api.feature:107 1367s Jan 09 14:54:27 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 1370s Jan 09 14:54:30 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 1370s Jan 09 14:54:30 And I receive a response output "Can't schedule switchover in the paused state" # features/steps/patroni_api.py:98 1370s Jan 09 14:54:30 When I run patronictl.py resume batman # features/steps/patroni_api.py:86 1372s Jan 09 14:54:32 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1372s Jan 09 14:54:32 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 1375s Jan 09 14:54:35 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1375s Jan 09 14:54:35 And postgres0 is a leader after 20 seconds # features/steps/patroni_api.py:29 1384s Jan 09 14:54:44 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1385s Jan 09 14:54:45 And postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 1387s Jan 09 14:54:47 And replication works from postgres0 to postgres1 after 25 seconds # features/steps/basic_replication.py:112 1387s Jan 09 14:54:47 And "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1388s Jan 09 14:54:48 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 1388s Jan 09 14:54:48 Then I receive a response code 200 # features/steps/patroni_api.py:98 1388s Jan 09 14:54:48 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 1388s Jan 09 14:54:48 Then I receive a response code 503 # features/steps/patroni_api.py:98 1388s Jan 09 14:54:48 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 1388s Jan 09 14:54:48 Then I receive a response code 503 # features/steps/patroni_api.py:98 1388s Jan 09 14:54:48 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 1388s Jan 09 14:54:48 Then I receive a response code 200 # features/steps/patroni_api.py:98 1392s Jan 09 14:54:52 1392s Jan 09 14:54:52 Feature: permanent slots # features/permanent_slots.feature:1 1392s Jan 09 14:54:52 1392s Jan 09 14:54:52 Scenario: check that physical permanent slots are created # features/permanent_slots.feature:2 1392s Jan 09 14:54:52 Given I start postgres0 # features/steps/basic_replication.py:8 1396s Jan 09 14:54:56 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1396s Jan 09 14:54:56 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1396s Jan 09 14:54:56 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 1396s Jan 09 14:54:56 Then I receive a response code 200 # features/steps/patroni_api.py:98 1396s Jan 09 14:54:56 And Response on GET http://127.0.0.1:8008/config contains slots after 10 seconds # features/steps/patroni_api.py:156 1396s Jan 09 14:54:56 When I start postgres1 # features/steps/basic_replication.py:8 1400s Jan 09 14:55:00 And I configure and start postgres2 with a tag nofailover true # features/steps/cascading_replication.py:7 1404s Jan 09 14:55:04 And I configure and start postgres3 with a tag replicatefrom postgres2 # features/steps/cascading_replication.py:7 1408s Jan 09 14:55:08 Then postgres0 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 1408s Jan 09 14:55:08 And postgres0 has a physical replication slot named postgres1 after 10 seconds # features/steps/slots.py:80 1408s Jan 09 14:55:08 And postgres0 has a physical replication slot named postgres2 after 10 seconds # features/steps/slots.py:80 1408s Jan 09 14:55:08 And postgres2 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 1408s Jan 09 14:55:08 And postgres2 does not have a replication slot named test_physical # features/steps/slots.py:40 1408s Jan 09 14:55:08 1408s Jan 09 14:55:08 @slot-advance 1408s Jan 09 14:55:08 Scenario: check that logical permanent slots are created # features/permanent_slots.feature:19 1408s Jan 09 14:55:08 Given I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 1413s Jan 09 14:55:13 And I issue a PATCH request to http://127.0.0.1:8008/config with {"slots":{"test_logical":{"type":"logical","database":"postgres","plugin":"test_decoding"}}} # features/steps/patroni_api.py:71 1413s Jan 09 14:55:13 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 1414s Jan 09 14:55:14 1414s Jan 09 14:55:14 @slot-advance 1414s Jan 09 14:55:14 Scenario: check that permanent slots are created on replicas # features/permanent_slots.feature:25 1414s Jan 09 14:55:14 Given postgres1 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 1419s Jan 09 14:55:19 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1419s Jan 09 14:55:19 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 1420s Jan 09 14:55:20 And postgres1 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 1420s Jan 09 14:55:20 And postgres2 does not have a replication slot named test_logical # features/steps/slots.py:40 1420s Jan 09 14:55:20 And postgres3 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 1420s Jan 09 14:55:20 1420s Jan 09 14:55:20 @slot-advance 1420s Jan 09 14:55:20 Scenario: check permanent physical slots that match with member names # features/permanent_slots.feature:34 1420s Jan 09 14:55:20 Given postgres0 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 1420s Jan 09 14:55:20 And postgres1 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 1420s Jan 09 14:55:20 And postgres1 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 1420s Jan 09 14:55:20 And postgres2 does not have a replication slot named postgres0 # features/steps/slots.py:40 1420s Jan 09 14:55:20 And postgres2 does not have a replication slot named postgres1 # features/steps/slots.py:40 1420s Jan 09 14:55:20 And postgres2 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 1420s Jan 09 14:55:20 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 1420s Jan 09 14:55:20 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 1420s Jan 09 14:55:20 1420s Jan 09 14:55:20 @slot-advance 1420s Jan 09 14:55:20 Scenario: check that permanent slots are advanced on replicas # features/permanent_slots.feature:45 1420s Jan 09 14:55:20 Given I add the table replicate_me to postgres0 # features/steps/basic_replication.py:54 1420s Jan 09 14:55:20 When I get all changes from logical slot test_logical on postgres0 # features/steps/slots.py:70 1420s Jan 09 14:55:20 And I get all changes from physical slot test_physical on postgres0 # features/steps/slots.py:75 1420s Jan 09 14:55:20 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1421s Jan 09 14:55:21 And Physical slot test_physical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1421s Jan 09 14:55:21 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 1421s Jan 09 14:55:21 And Physical slot test_physical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 1421s Jan 09 14:55:21 And Physical slot postgres3 is in sync between postgres2 and postgres0 after 20 seconds # features/steps/slots.py:51 1423s Jan 09 14:55:23 And Physical slot postgres3 is in sync between postgres2 and postgres1 after 10 seconds # features/steps/slots.py:51 1423s Jan 09 14:55:23 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 1423s Jan 09 14:55:23 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 1423s Jan 09 14:55:23 1423s Jan 09 14:55:23 @slot-advance 1423s Jan 09 14:55:23 Scenario: check that only permanent slots are written to the /status key # features/permanent_slots.feature:59 1423s Jan 09 14:55:23 Given "status" key in DCS has test_physical in slots # features/steps/slots.py:116 1423s Jan 09 14:55:23 And "status" key in DCS has postgres0 in slots # features/steps/slots.py:116 1423s Jan 09 14:55:23 And "status" key in DCS has postgres1 in slots # features/steps/slots.py:116 1423s Jan 09 14:55:23 And "status" key in DCS does not have postgres2 in slots # features/steps/slots.py:122 1423s Jan 09 14:55:23 And "status" key in DCS has postgres3 in slots # features/steps/slots.py:116 1423s Jan 09 14:55:23 1423s Jan 09 14:55:23 Scenario: check permanent physical replication slot after failover # features/permanent_slots.feature:66 1423s Jan 09 14:55:23 Given I shut down postgres3 # features/steps/basic_replication.py:29 1424s Jan 09 14:55:24 And I shut down postgres2 # features/steps/basic_replication.py:29 1425s Jan 09 14:55:25 And I shut down postgres0 # features/steps/basic_replication.py:29 1427s Jan 09 14:55:27 Then postgres1 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 1427s Jan 09 14:55:27 And postgres1 has a physical replication slot named postgres0 after 10 seconds # features/steps/slots.py:80 1427s Jan 09 14:55:27 And postgres1 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 1427s Jan 09 14:55:27 When I start postgres0 # features/steps/basic_replication.py:8 1431s Jan 09 14:55:31 Then postgres0 role is the replica after 20 seconds # features/steps/basic_replication.py:105 1431s Jan 09 14:55:31 And physical replication slot named postgres1 on postgres0 has no xmin value after 10 seconds # features/steps/slots.py:96 1431s Jan 09 14:55:31 And physical replication slot named postgres2 on postgres0 has no xmin value after 10 seconds # features/steps/slots.py:96 1434s Jan 09 14:55:34 1434s Jan 09 14:55:34 Feature: priority replication # features/priority_failover.feature:1 1434s Jan 09 14:55:34 We should check that we can give nodes priority during failover 1434s Jan 09 14:55:34 Scenario: check failover priority 0 prevents leaderships # features/priority_failover.feature:4 1434s Jan 09 14:55:34 Given I configure and start postgres0 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 1438s Jan 09 14:55:38 And I configure and start postgres1 with a tag failover_priority 0 # features/steps/cascading_replication.py:7 1442s Jan 09 14:55:42 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1443s Jan 09 14:55:43 When I shut down postgres0 # features/steps/basic_replication.py:29 1445s Jan 09 14:55:45 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 1447s Jan 09 14:55:47 Then postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 1447s Jan 09 14:55:47 When I start postgres0 # features/steps/basic_replication.py:8 1451s Jan 09 14:55:51 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1452s Jan 09 14:55:52 1452s Jan 09 14:55:52 Scenario: check higher failover priority is respected # features/priority_failover.feature:14 1452s Jan 09 14:55:52 Given I configure and start postgres2 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 1456s Jan 09 14:55:56 And I configure and start postgres3 with a tag failover_priority 2 # features/steps/cascading_replication.py:7 1460s Jan 09 14:56:00 Then replication works from postgres0 to postgres2 after 20 seconds # features/steps/basic_replication.py:112 1462s Jan 09 14:56:01 And replication works from postgres0 to postgres3 after 20 seconds # features/steps/basic_replication.py:112 1462s Jan 09 14:56:02 When I shut down postgres0 # features/steps/basic_replication.py:29 1464s Jan 09 14:56:04 Then postgres3 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1464s Jan 09 14:56:04 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 1464s Jan 09 14:56:04 1464s Jan 09 14:56:04 Scenario: check conflicting configuration handling # features/priority_failover.feature:23 1464s Jan 09 14:56:04 When I set nofailover tag in postgres2 config # features/steps/patroni_api.py:131 1464s Jan 09 14:56:04 And I issue an empty POST request to http://127.0.0.1:8010/reload # features/steps/patroni_api.py:66 1464s Jan 09 14:56:04 Then I receive a response code 202 # features/steps/patroni_api.py:98 1464s Jan 09 14:56:04 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 1466s Jan 09 14:56:06 And "members/postgres2" key in DCS has tags={'failover_priority': '1', 'nofailover': True} after 10 seconds # features/steps/cascading_replication.py:23 1467s Jan 09 14:56:07 When I issue a POST request to http://127.0.0.1:8010/failover with {"candidate": "postgres2"} # features/steps/patroni_api.py:71 1467s Jan 09 14:56:07 Then I receive a response code 412 # features/steps/patroni_api.py:98 1467s Jan 09 14:56:07 And I receive a response text "failover is not possible: no good candidates have been found" # features/steps/patroni_api.py:98 1467s Jan 09 14:56:07 When I reset nofailover tag in postgres1 config # features/steps/patroni_api.py:131 1467s Jan 09 14:56:07 And I issue an empty POST request to http://127.0.0.1:8009/reload # features/steps/patroni_api.py:66 1467s Jan 09 14:56:07 Then I receive a response code 202 # features/steps/patroni_api.py:98 1467s Jan 09 14:56:07 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 1469s Jan 09 14:56:09 And "members/postgres1" key in DCS has tags={'failover_priority': '0', 'nofailover': False} after 10 seconds # features/steps/cascading_replication.py:23 1470s Jan 09 14:56:10 And I issue a POST request to http://127.0.0.1:8009/failover with {"candidate": "postgres1"} # features/steps/patroni_api.py:71 1474s Jan 09 14:56:14 Then I receive a response code 200 # features/steps/patroni_api.py:98 1474s Jan 09 14:56:14 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1478s Jan 09 14:56:18 1478s Jan 09 14:56:18 Feature: recovery # features/recovery.feature:1 1478s Jan 09 14:56:18 We want to check that crashed postgres is started back 1478s Jan 09 14:56:18 Scenario: check that timeline is not incremented when primary is started after crash # features/recovery.feature:4 1478s Jan 09 14:56:18 Given I start postgres0 # features/steps/basic_replication.py:8 1482s Jan 09 14:56:22 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1483s Jan 09 14:56:23 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1483s Jan 09 14:56:23 When I start postgres1 # features/steps/basic_replication.py:8 1487s Jan 09 14:56:27 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 1487s Jan 09 14:56:27 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 1487s Jan 09 14:56:27 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 1488s Jan 09 14:56:28 waiting for server to shut down.... done 1488s Jan 09 14:56:28 server stopped 1488s Jan 09 14:56:28 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1490s Jan 09 14:56:30 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 1490s Jan 09 14:56:30 Then I receive a response code 200 # features/steps/patroni_api.py:98 1490s Jan 09 14:56:30 And I receive a response role master # features/steps/patroni_api.py:98 1490s Jan 09 14:56:30 And I receive a response timeline 1 # features/steps/patroni_api.py:98 1490s Jan 09 14:56:30 And "members/postgres0" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 1491s Jan 09 14:56:31 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 1494s Jan 09 14:56:34 1494s Jan 09 14:56:34 Scenario: check immediate failover when master_start_timeout=0 # features/recovery.feature:20 1494s Jan 09 14:56:34 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 1494s Jan 09 14:56:34 Then I receive a response code 200 # features/steps/patroni_api.py:98 1494s Jan 09 14:56:34 And Response on GET http://127.0.0.1:8008/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 1494s Jan 09 14:56:34 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 1494s Jan 09 14:56:34 waiting for server to shut down.... done 1494s Jan 09 14:56:34 server stopped 1494s Jan 09 14:56:34 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 1496s Jan 09 14:56:36 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1500s Jan 09 14:56:40 1500s Jan 09 14:56:40 Feature: standby cluster # features/standby_cluster.feature:1 1500s Jan 09 14:56:40 1500s Jan 09 14:56:40 Scenario: prepare the cluster with logical slots # features/standby_cluster.feature:2 1500s Jan 09 14:56:40 Given I start postgres1 # features/steps/basic_replication.py:8 1504s Jan 09 14:56:44 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 1505s Jan 09 14:56:45 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1505s Jan 09 14:56:45 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 1505s Jan 09 14:56:45 Then I receive a response code 200 # features/steps/patroni_api.py:98 1505s Jan 09 14:56:45 And Response on GET http://127.0.0.1:8009/config contains slots after 10 seconds # features/steps/patroni_api.py:156 1505s Jan 09 14:56:45 And I sleep for 3 seconds # features/steps/patroni_api.py:39 1508s Jan 09 14:56:48 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 1508s Jan 09 14:56:48 Then I receive a response code 200 # features/steps/patroni_api.py:98 1508s Jan 09 14:56:48 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 1509s Jan 09 14:56:49 When I start postgres0 # features/steps/basic_replication.py:8 1513s Jan 09 14:56:53 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1514s Jan 09 14:56:54 And replication works from postgres1 to postgres0 after 15 seconds # features/steps/basic_replication.py:112 1515s Jan 09 14:56:55 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 1515s Jan 09 14:56:55 Then I receive a response code 200 # features/steps/patroni_api.py:98 1515s Jan 09 14:56:55 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 1515s Jan 09 14:56:55 And "members/postgres0" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 1515s Jan 09 14:56:55 1515s Jan 09 14:56:55 @slot-advance 1515s Jan 09 14:56:55 Scenario: check permanent logical slots are synced to the replica # features/standby_cluster.feature:22 1515s Jan 09 14:56:55 Given I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 1518s Jan 09 14:56:58 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1523s Jan 09 14:57:03 1523s Jan 09 14:57:03 Scenario: Detach exiting node from the cluster # features/standby_cluster.feature:26 1523s Jan 09 14:57:03 When I shut down postgres1 # features/steps/basic_replication.py:29 1525s Jan 09 14:57:05 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1525s Jan 09 14:57:05 And "members/postgres0" key in DCS has role=master after 5 seconds # features/steps/cascading_replication.py:23 1526s Jan 09 14:57:06 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 1526s Jan 09 14:57:06 Then I receive a response code 200 # features/steps/patroni_api.py:98 1526s Jan 09 14:57:06 1526s Jan 09 14:57:06 Scenario: check replication of a single table in a standby cluster # features/standby_cluster.feature:33 1526s Jan 09 14:57:06 Given I start postgres1 in a standby cluster batman1 as a clone of postgres0 # features/steps/standby_cluster.py:23 1530s Jan 09 14:57:10 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 1531s Jan 09 14:57:11 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 1531s Jan 09 14:57:11 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 1531s Jan 09 14:57:11 When I issue a GET request to http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:61 1531s Jan 09 14:57:11 Then I receive a response code 200 # features/steps/patroni_api.py:98 1531s Jan 09 14:57:11 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 1531s Jan 09 14:57:11 And I sleep for 3 seconds # features/steps/patroni_api.py:39 1534s Jan 09 14:57:14 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 1534s Jan 09 14:57:14 Then I receive a response code 503 # features/steps/patroni_api.py:98 1534s Jan 09 14:57:14 When I issue a GET request to http://127.0.0.1:8009/standby_leader # features/steps/patroni_api.py:61 1534s Jan 09 14:57:14 Then I receive a response code 200 # features/steps/patroni_api.py:98 1534s Jan 09 14:57:14 And I receive a response role standby_leader # features/steps/patroni_api.py:98 1534s Jan 09 14:57:14 And there is a postgres1_cb.log with "on_role_change standby_leader batman1" in postgres1 data directory # features/steps/cascading_replication.py:12 1534s Jan 09 14:57:14 When I start postgres2 in a cluster batman1 # features/steps/standby_cluster.py:12 1538s Jan 09 14:57:18 Then postgres2 role is the replica after 24 seconds # features/steps/basic_replication.py:105 1538s Jan 09 14:57:18 And postgres2 is replicating from postgres1 after 10 seconds # features/steps/standby_cluster.py:52 1539s Jan 09 14:57:19 And table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 1539s Jan 09 14:57:19 When I issue a GET request to http://127.0.0.1:8010/patroni # features/steps/patroni_api.py:61 1539s Jan 09 14:57:19 Then I receive a response code 200 # features/steps/patroni_api.py:98 1539s Jan 09 14:57:19 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 1539s Jan 09 14:57:19 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 1539s Jan 09 14:57:19 1539s Jan 09 14:57:19 Scenario: check switchover # features/standby_cluster.feature:57 1539s Jan 09 14:57:19 Given I run patronictl.py switchover batman1 --force # features/steps/patroni_api.py:86 1544s Jan 09 14:57:24 Then Status code on GET http://127.0.0.1:8010/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 1544s Jan 09 14:57:24 And postgres1 is replicating from postgres2 after 32 seconds # features/steps/standby_cluster.py:52 1546s Jan 09 14:57:26 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 1546s Jan 09 14:57:26 1546s Jan 09 14:57:26 Scenario: check failover # features/standby_cluster.feature:63 1546s Jan 09 14:57:26 When I kill postgres2 # features/steps/basic_replication.py:34 1547s Jan 09 14:57:27 And I kill postmaster on postgres2 # features/steps/basic_replication.py:44 1547s Jan 09 14:57:27 waiting for server to shut down.... done 1547s Jan 09 14:57:27 server stopped 1547s Jan 09 14:57:27 Then postgres1 is replicating from postgres0 after 32 seconds # features/steps/standby_cluster.py:52 1566s Jan 09 14:57:46 And Status code on GET http://127.0.0.1:8009/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 1566s Jan 09 14:57:46 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 1566s Jan 09 14:57:46 Then I receive a response code 503 # features/steps/patroni_api.py:98 1566s Jan 09 14:57:46 And I receive a response role standby_leader # features/steps/patroni_api.py:98 1566s Jan 09 14:57:46 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 1567s Jan 09 14:57:47 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 1571s Jan 09 14:57:51 1571s Jan 09 14:57:51 Feature: watchdog # features/watchdog.feature:1 1571s Jan 09 14:57:51 Verify that watchdog gets pinged and triggered under appropriate circumstances. 1571s Jan 09 14:57:51 Scenario: watchdog is opened and pinged # features/watchdog.feature:4 1571s Jan 09 14:57:51 Given I start postgres0 with watchdog # features/steps/watchdog.py:16 1575s Jan 09 14:57:55 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1576s Jan 09 14:57:56 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1576s Jan 09 14:57:56 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 1577s Jan 09 14:57:57 And postgres0 watchdog has a 15 second timeout # features/steps/watchdog.py:34 1577s Jan 09 14:57:57 1577s Jan 09 14:57:57 Scenario: watchdog is reconfigured after global ttl changed # features/watchdog.feature:11 1577s Jan 09 14:57:57 Given I run patronictl.py edit-config batman -s ttl=30 --force # features/steps/patroni_api.py:86 1580s Jan 09 14:58:00 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1580s Jan 09 14:58:00 And I receive a response output "+ttl: 30" # features/steps/patroni_api.py:98 1580s Jan 09 14:58:00 When I sleep for 4 seconds # features/steps/patroni_api.py:39 1584s Jan 09 14:58:04 Then postgres0 watchdog has a 25 second timeout # features/steps/watchdog.py:34 1584s Jan 09 14:58:04 1584s Jan 09 14:58:04 Scenario: watchdog is disabled during pause # features/watchdog.feature:18 1584s Jan 09 14:58:04 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 1586s Jan 09 14:58:06 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1586s Jan 09 14:58:06 When I sleep for 2 seconds # features/steps/patroni_api.py:39 1588s Jan 09 14:58:08 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 1588s Jan 09 14:58:08 1588s Jan 09 14:58:08 Scenario: watchdog is opened and pinged after resume # features/watchdog.feature:24 1588s Jan 09 14:58:08 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 1588s Jan 09 14:58:08 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 1590s Jan 09 14:58:10 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1590s Jan 09 14:58:10 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 1591s Jan 09 14:58:11 1591s Jan 09 14:58:11 Scenario: watchdog is disabled when shutting down # features/watchdog.feature:30 1591s Jan 09 14:58:11 Given I shut down postgres0 # features/steps/basic_replication.py:29 1593s Jan 09 14:58:13 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 1593s Jan 09 14:58:13 1593s Jan 09 14:58:13 Scenario: watchdog is triggered if patroni stops responding # features/watchdog.feature:34 1593s Jan 09 14:58:13 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 1593s Jan 09 14:58:13 And I start postgres0 with watchdog # features/steps/watchdog.py:16 1597s Jan 09 14:58:17 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1598s Jan 09 14:58:18 When postgres0 hangs for 30 seconds # features/steps/watchdog.py:52 1598s Jan 09 14:58:18 Then postgres0 watchdog is triggered after 30 seconds # features/steps/watchdog.py:44 1625s Jan 09 14:58:45 1627s 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'))") 1627s 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'))") 1627s Jan 09 14:58:47 Combined data file .coverage.autopkgtest.5247.XSznanpx 1627s Jan 09 14:58:47 Combined data file .coverage.autopkgtest.5294.XgFvKDcx 1627s Jan 09 14:58:47 Combined data file .coverage.autopkgtest.5341.XlhUCMGx 1627s Jan 09 14:58:47 Combined data file .coverage.autopkgtest.5387.XmMIByxx 1627s Jan 09 14:58:47 Combined data file .coverage.autopkgtest.5432.XSkeAnrx 1627s Jan 09 14:58:47 Combined data file .coverage.autopkgtest.5504.XaOGGqcx 1627s Jan 09 14:58:47 Combined data file .coverage.autopkgtest.5552.XZvXPCIx 1627s Jan 09 14:58:47 Combined data file .coverage.autopkgtest.5580.XAcCjOhx 1627s Jan 09 14:58:47 Combined data file .coverage.autopkgtest.5675.XvBlVCHx 1627s Jan 09 14:58:47 Combined data file .coverage.autopkgtest.5776.XcGrstcx 1627s Jan 09 14:58:47 Combined data file .coverage.autopkgtest.5785.XbHBSMvx 1627s Jan 09 14:58:47 Combined data file .coverage.autopkgtest.5829.XoGviLox 1627s Jan 09 14:58:47 Combined data file .coverage.autopkgtest.5881.XnSOrwtx 1627s Jan 09 14:58:47 Combined data file .coverage.autopkgtest.6032.XHBTEZGx 1627s Jan 09 14:58:47 Combined data file .coverage.autopkgtest.6079.XKzyLrbx 1627s Jan 09 14:58:47 Combined data file .coverage.autopkgtest.6133.XhrAgnVx 1627s Jan 09 14:58:47 Combined data file .coverage.autopkgtest.6224.XvwiyDOx 1627s Jan 09 14:58:47 Combined data file .coverage.autopkgtest.6552.XswwVOfx 1627s Jan 09 14:58:47 Combined data file .coverage.autopkgtest.6629.XohuGsmx 1627s Jan 09 14:58:47 Combined data file .coverage.autopkgtest.6672.XbEDeQlx 1627s Jan 09 14:58:47 Combined data file .coverage.autopkgtest.6888.XojFRNwx 1627s Jan 09 14:58:47 Combined data file .coverage.autopkgtest.6941.XCzrCXGx 1627s Jan 09 14:58:47 Combined data file .coverage.autopkgtest.7004.XJUBzjyx 1627s Jan 09 14:58:47 Combined data file .coverage.autopkgtest.7093.XSRjIzEx 1627s Jan 09 14:58:47 Combined data file .coverage.autopkgtest.7190.XufDpTpx 1627s Jan 09 14:58:47 Combined data file .coverage.autopkgtest.7224.XaNRtYzx 1627s Jan 09 14:58:47 Combined data file .coverage.autopkgtest.7297.XxnfYwEx 1627s Jan 09 14:58:47 Combined data file .coverage.autopkgtest.7331.XuxIbDdx 1627s Jan 09 14:58:47 Combined data file .coverage.autopkgtest.7459.XvFeGnPx 1627s Jan 09 14:58:47 Combined data file .coverage.autopkgtest.7511.XaNNFdGx 1627s Jan 09 14:58:47 Combined data file .coverage.autopkgtest.7526.XUVFvKYx 1627s Jan 09 14:58:47 Combined data file .coverage.autopkgtest.7565.XINeqrbx 1627s Jan 09 14:58:47 Combined data file .coverage.autopkgtest.7612.XnzJUhqx 1627s Jan 09 14:58:47 Combined data file .coverage.autopkgtest.7617.XozHVnZx 1627s Jan 09 14:58:47 Combined data file .coverage.autopkgtest.7655.XcXbKNjx 1627s Jan 09 14:58:47 Combined data file .coverage.autopkgtest.7699.XEHcArLx 1627s Jan 09 14:58:47 Combined data file .coverage.autopkgtest.7869.XgrvNZox 1627s Jan 09 14:58:47 Combined data file .coverage.autopkgtest.7871.XzRZeSKx 1627s Jan 09 14:58:47 Combined data file .coverage.autopkgtest.7876.XKNbowqx 1627s Jan 09 14:58:47 Combined data file .coverage.autopkgtest.8008.XCpzXHzx 1627s Jan 09 14:58:47 Combined data file .coverage.autopkgtest.8054.XEFNQyzx 1627s Jan 09 14:58:47 Combined data file .coverage.autopkgtest.8095.XsNlDSfx 1627s Jan 09 14:58:47 Combined data file .coverage.autopkgtest.8148.XYLFncsx 1627s Jan 09 14:58:47 Combined data file .coverage.autopkgtest.8198.XDYpjdcx 1627s Jan 09 14:58:47 Combined data file .coverage.autopkgtest.8356.XTVCqeNx 1627s Jan 09 14:58:47 Combined data file .coverage.autopkgtest.8418.XAlWEzwx 1627s Jan 09 14:58:47 Combined data file .coverage.autopkgtest.8461.XtgYNhDx 1627s Jan 09 14:58:47 Combined data file .coverage.autopkgtest.8532.XnUKbQfx 1627s Jan 09 14:58:47 Combined data file .coverage.autopkgtest.8604.XKdbLxax 1627s Jan 09 14:58:47 Combined data file .coverage.autopkgtest.8676.XVzkDCRx 1627s Jan 09 14:58:47 Combined data file .coverage.autopkgtest.9011.XDxueumx 1627s Jan 09 14:58:47 Combined data file .coverage.autopkgtest.9057.XiPjqEqx 1627s Jan 09 14:58:47 Combined data file .coverage.autopkgtest.9198.XsYyjrDx 1627s Jan 09 14:58:47 Combined data file .coverage.autopkgtest.9261.XAYriXVx 1627s Jan 09 14:58:47 Combined data file .coverage.autopkgtest.9314.XGUJvdgx 1627s Jan 09 14:58:47 Combined data file .coverage.autopkgtest.9417.XetGxbWx 1627s Jan 09 14:58:47 Combined data file .coverage.autopkgtest.9531.XfgxdhTx 1627s Jan 09 14:58:47 Combined data file .coverage.autopkgtest.9659.XxItjKgx 1627s Jan 09 14:58:47 Combined data file .coverage.autopkgtest.9704.XohbIYAx 1627s Jan 09 14:58:47 Combined data file .coverage.autopkgtest.9706.XUdmLfIx 1627s Jan 09 14:58:47 Combined data file .coverage.autopkgtest.9709.XLXGtFxx 1627s Jan 09 14:58:47 Combined data file .coverage.autopkgtest.9720.XvQDTzqx 1630s + echo '### End 16 acceptance-etcd ###' 1630s + rm -f '/tmp/pgpass?' 1630s ++ id -u 1630s + '[' 0 -eq 0 ']' 1630s + '[' -x /etc/init.d/zookeeper ']' 1630s Jan 09 14:58:50 Name Stmts Miss Cover 1630s Jan 09 14:58:50 ------------------------------------------------------------------------------------------------------------- 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/OpenSSL/SSL.py 1159 642 45% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/OpenSSL/__init__.py 4 0 100% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/OpenSSL/_util.py 42 14 67% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/OpenSSL/crypto.py 865 658 24% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/OpenSSL/version.py 10 0 100% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 101 96 5% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/bcrypt/__init__.py 3 0 100% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/cryptography/__about__.py 5 0 100% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/cryptography/__init__.py 3 0 100% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/cryptography/exceptions.py 26 5 81% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/cryptography/hazmat/__init__.py 2 0 100% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/cryptography/hazmat/_oid.py 135 0 100% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/__init__.py 0 0 100% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/__init__.py 0 0 100% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/_conditional.py 38 17 55% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/binding.py 51 4 92% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/__init__.py 1 0 100% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/ciphers/__init__.py 1 0 100% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/ciphers/algorithms.py 68 18 74% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/__init__.py 0 0 100% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_asymmetric.py 6 0 100% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_cipheralgorithm.py 23 4 83% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_serialization.py 79 35 56% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/__init__.py 0 0 100% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dh.py 47 0 100% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dsa.py 55 5 91% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ec.py 172 22 87% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed448.py 45 12 73% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed25519.py 43 12 72% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/padding.py 55 23 58% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/rsa.py 93 40 57% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/types.py 19 0 100% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/utils.py 14 5 64% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x448.py 43 12 72% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x25519.py 41 12 71% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/__init__.py 4 0 100% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/algorithms.py 72 15 79% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/base.py 54 12 78% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/modes.py 140 59 58% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/constant_time.py 6 3 50% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hashes.py 127 20 84% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/__init__.py 5 0 100% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/base.py 7 0 100% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/ssh.py 775 614 21% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/cryptography/utils.py 76 28 63% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/cryptography/x509/__init__.py 70 0 100% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/cryptography/x509/base.py 488 227 53% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/cryptography/x509/certificate_transparency.py 42 0 100% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/cryptography/x509/extensions.py 1024 552 46% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/cryptography/x509/general_name.py 166 94 43% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/cryptography/x509/name.py 236 144 39% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/cryptography/x509/oid.py 3 0 100% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/cryptography/x509/verification.py 12 0 100% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/dateutil/__init__.py 13 4 69% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/dateutil/_version.py 11 2 82% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 811 436 46% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 184 150 18% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 240 206 14% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 151 114 25% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 795 626 21% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/dateutil/tz/win.py 153 149 3% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/dns/__init__.py 3 0 100% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/dns/_asyncbackend.py 14 6 57% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/dns/_ddr.py 105 86 18% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/dns/_features.py 44 7 84% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/dns/_immutable_ctx.py 40 5 88% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/dns/asyncbackend.py 44 32 27% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/dns/asyncquery.py 277 242 13% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/dns/edns.py 270 161 40% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/dns/entropy.py 80 49 39% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/dns/enum.py 72 46 36% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/dns/exception.py 60 33 45% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/dns/flags.py 41 14 66% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/dns/grange.py 34 30 12% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/dns/immutable.py 41 30 27% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/dns/inet.py 80 65 19% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/dns/ipv4.py 27 20 26% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/dns/ipv6.py 115 100 13% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/dns/message.py 809 662 18% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/dns/name.py 620 427 31% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/dns/nameserver.py 101 54 47% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/dns/node.py 118 71 40% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/dns/opcode.py 31 7 77% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/dns/query.py 536 462 14% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/dns/quic/__init__.py 26 23 12% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/dns/rcode.py 69 13 81% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/dns/rdata.py 377 269 29% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/dns/rdataclass.py 44 9 80% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/dns/rdataset.py 193 133 31% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/dns/rdatatype.py 214 25 88% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/OPT.py 34 19 44% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/SOA.py 41 26 37% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/TSIG.py 58 42 28% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/ZONEMD.py 43 27 37% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/__init__.py 2 0 100% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/dns/rdtypes/__init__.py 2 0 100% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/dns/rdtypes/svcbbase.py 397 261 34% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/dns/rdtypes/util.py 191 154 19% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/dns/renderer.py 152 118 22% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/dns/resolver.py 899 719 20% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/dns/reversename.py 33 24 27% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/dns/rrset.py 78 56 28% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/dns/serial.py 93 79 15% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/dns/set.py 149 108 28% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/dns/tokenizer.py 335 279 17% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/dns/transaction.py 271 203 25% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/dns/tsig.py 177 122 31% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/dns/ttl.py 45 38 16% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/dns/version.py 7 0 100% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/dns/wire.py 64 42 34% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/dns/xfr.py 148 126 15% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/dns/zone.py 508 383 25% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/dns/zonefile.py 429 380 11% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/dns/zonetypes.py 15 2 87% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/etcd/__init__.py 125 24 81% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/etcd/client.py 380 192 49% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/etcd/lock.py 125 103 18% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/idna/__init__.py 4 0 100% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/idna/core.py 292 257 12% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/idna/idnadata.py 4 0 100% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/idna/intranges.py 30 24 20% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/idna/package_data.py 1 0 100% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/patroni/__main__.py 199 63 68% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/patroni/api.py 780 281 64% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 15 84% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/patroni/collections.py 56 6 89% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/patroni/config.py 371 94 75% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/patroni/config_generator.py 212 159 25% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/patroni/daemon.py 76 3 96% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 654 77 88% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/patroni/dcs/etcd.py 603 119 80% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/patroni/dynamic_loader.py 35 7 80% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/patroni/file_perm.py 43 8 81% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/patroni/global_config.py 81 0 100% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/patroni/ha.py 1270 321 75% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/patroni/log.py 221 71 68% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 822 171 79% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/patroni/postgresql/available_parameters/__init__.py 24 3 88% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 255 62 76% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 838 215 74% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 1 99% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 43 8 81% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/patroni/postgresql/mpp/__init__.py 89 11 88% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 82 52% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 416 163 61% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 349 38 89% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 130 19 85% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 157 24 85% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/patroni/psycopg.py 46 20 57% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/patroni/request.py 58 6 90% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/patroni/tags.py 38 0 100% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/patroni/utils.py 370 119 68% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/patroni/validator.py 307 214 30% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 42 79% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 35 74% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/psutil/__init__.py 951 624 34% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/psutil/_common.py 424 207 51% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/psutil/_compat.py 302 263 13% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1251 915 27% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/psutil/_psposix.py 96 38 60% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/urllib3/__init__.py 50 14 72% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 70 52 26% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/urllib3/_collections.py 234 100 57% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 53 9 83% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/urllib3/_version.py 2 0 100% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/urllib3/connection.py 324 99 69% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 347 120 65% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/urllib3/contrib/__init__.py 0 0 100% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/urllib3/contrib/pyopenssl.py 257 96 63% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/urllib3/exceptions.py 115 37 68% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 85 64% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/urllib3/response.py 562 310 45% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 42 36% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 49 53% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 17 47% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/urllib3/util/retry.py 173 47 73% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 177 78 56% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 160 112 30% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 14 80% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/urllib3/util/url.py 205 68 67% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 10 62% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 18 63% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/yaml/parser.py 352 198 44% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/yaml/reader.py 122 34 72% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/yaml/scanner.py 758 437 42% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 1630s Jan 09 14:58:50 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 1630s Jan 09 14:58:50 patroni/__init__.py 13 2 85% 1630s Jan 09 14:58:50 patroni/__main__.py 199 199 0% 1630s Jan 09 14:58:50 patroni/api.py 780 780 0% 1630s Jan 09 14:58:50 patroni/async_executor.py 96 69 28% 1630s Jan 09 14:58:50 patroni/collections.py 56 15 73% 1630s Jan 09 14:58:50 patroni/config.py 371 196 47% 1630s Jan 09 14:58:50 patroni/config_generator.py 212 212 0% 1630s Jan 09 14:58:50 patroni/ctl.py 936 411 56% 1630s Jan 09 14:58:50 patroni/daemon.py 76 76 0% 1630s Jan 09 14:58:50 patroni/dcs/__init__.py 654 275 58% 1630s Jan 09 14:58:50 patroni/dcs/consul.py 484 484 0% 1630s Jan 09 14:58:50 patroni/dcs/etcd3.py 679 679 0% 1630s Jan 09 14:58:50 patroni/dcs/etcd.py 603 224 63% 1630s Jan 09 14:58:50 patroni/dcs/exhibitor.py 62 62 0% 1630s Jan 09 14:58:50 patroni/dcs/kubernetes.py 940 940 0% 1630s Jan 09 14:58:50 patroni/dcs/raft.py 319 319 0% 1630s Jan 09 14:58:50 patroni/dcs/zookeeper.py 289 289 0% 1630s Jan 09 14:58:50 patroni/dynamic_loader.py 35 7 80% 1630s Jan 09 14:58:50 patroni/exceptions.py 16 1 94% 1630s Jan 09 14:58:50 patroni/file_perm.py 43 15 65% 1630s Jan 09 14:58:50 patroni/global_config.py 81 18 78% 1630s Jan 09 14:58:50 patroni/ha.py 1270 1270 0% 1630s Jan 09 14:58:50 patroni/log.py 221 175 21% 1630s Jan 09 14:58:50 patroni/postgresql/__init__.py 822 652 21% 1630s Jan 09 14:58:50 patroni/postgresql/available_parameters/__init__.py 24 6 75% 1630s Jan 09 14:58:50 patroni/postgresql/bootstrap.py 255 225 12% 1630s Jan 09 14:58:50 patroni/postgresql/callback_executor.py 55 34 38% 1630s Jan 09 14:58:50 patroni/postgresql/cancellable.py 104 84 19% 1630s Jan 09 14:58:50 patroni/postgresql/config.py 838 718 14% 1630s Jan 09 14:58:50 patroni/postgresql/connection.py 75 50 33% 1630s Jan 09 14:58:50 patroni/postgresql/misc.py 43 30 30% 1630s Jan 09 14:58:50 patroni/postgresql/mpp/__init__.py 89 21 76% 1630s Jan 09 14:58:50 patroni/postgresql/mpp/citus.py 259 259 0% 1630s Jan 09 14:58:50 patroni/postgresql/postmaster.py 170 139 18% 1630s Jan 09 14:58:50 patroni/postgresql/rewind.py 416 416 0% 1630s Jan 09 14:58:50 patroni/postgresql/slots.py 349 300 14% 1630s Jan 09 14:58:50 patroni/postgresql/sync.py 130 96 26% 1630s Jan 09 14:58:50 patroni/postgresql/validator.py 157 52 67% 1630s Jan 09 14:58:50 patroni/psycopg.py 46 32 30% 1630s Jan 09 14:58:50 patroni/raft_controller.py 22 22 0% 1630s Jan 09 14:58:50 patroni/request.py 58 6 90% 1630s Jan 09 14:58:50 patroni/scripts/__init__.py 0 0 100% 1630s Jan 09 14:58:50 patroni/scripts/aws.py 59 59 0% 1630s Jan 09 14:58:50 patroni/scripts/barman/__init__.py 0 0 100% 1630s Jan 09 14:58:50 patroni/scripts/barman/cli.py 51 51 0% 1630s Jan 09 14:58:50 patroni/scripts/barman/config_switch.py 51 51 0% 1630s Jan 09 14:58:50 patroni/scripts/barman/recover.py 37 37 0% 1630s Jan 09 14:58:50 patroni/scripts/barman/utils.py 94 94 0% 1630s Jan 09 14:58:50 patroni/scripts/wale_restore.py 207 207 0% 1630s Jan 09 14:58:50 patroni/tags.py 38 11 71% 1630s Jan 09 14:58:50 patroni/utils.py 370 214 42% 1630s Jan 09 14:58:50 patroni/validator.py 307 221 28% 1630s Jan 09 14:58:50 patroni/version.py 1 0 100% 1630s Jan 09 14:58:50 patroni/watchdog/__init__.py 2 2 0% 1630s Jan 09 14:58:50 patroni/watchdog/base.py 203 203 0% 1630s Jan 09 14:58:50 patroni/watchdog/linux.py 135 135 0% 1630s Jan 09 14:58:50 ------------------------------------------------------------------------------------------------------------- 1630s Jan 09 14:58:50 TOTAL 52569 31777 40% 1630s Jan 09 14:58:50 12 features passed, 0 failed, 1 skipped 1630s Jan 09 14:58:50 55 scenarios passed, 0 failed, 5 skipped 1630s Jan 09 14:58:50 527 steps passed, 0 failed, 61 skipped, 0 undefined 1630s Jan 09 14:58:50 Took 9m36.951s 1630s ### End 16 acceptance-etcd ### 1631s autopkgtest [14:58:51]: test acceptance-etcd: -----------------------] 1631s acceptance-etcd PASS 1631s autopkgtest [14:58:51]: test acceptance-etcd: - - - - - - - - - - results - - - - - - - - - - 1632s autopkgtest [14:58:52]: test acceptance-zookeeper: preparing testbed 1719s autopkgtest [15:00:19]: testbed dpkg architecture: ppc64el 1719s autopkgtest [15:00:19]: testbed apt version: 2.9.18 1719s autopkgtest [15:00:19]: @@@@@@@@@@@@@@@@@@@@ test bed setup 1719s autopkgtest [15:00:19]: testbed release detected to be: plucky 1720s autopkgtest [15:00:20]: updating testbed package index (apt update) 1720s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB] 1721s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 1721s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 1721s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 1721s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [9708 B] 1721s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [127 kB] 1721s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [15.6 kB] 1721s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [760 kB] 1721s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/main ppc64el Packages [227 kB] 1721s Get:10 http://ftpmaster.internal/ubuntu plucky-proposed/restricted ppc64el Packages [756 B] 1721s Get:11 http://ftpmaster.internal/ubuntu plucky-proposed/universe ppc64el Packages [956 kB] 1721s Get:12 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse ppc64el Packages [5472 B] 1721s Fetched 2176 kB in 1s (2085 kB/s) 1722s Reading package lists... 1723s + lsb_release --codename --short 1723s + RELEASE=plucky 1723s + cat 1723s + [ plucky != trusty ] 1723s + DEBIAN_FRONTEND=noninteractive eatmydata apt-get -y --allow-downgrades -o Dpkg::Options::=--force-confnew dist-upgrade 1723s Reading package lists... 1723s Building dependency tree... 1723s Reading state information... 1723s Calculating upgrade... 1724s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1724s + rm /etc/apt/preferences.d/force-downgrade-to-release.pref 1724s + /usr/lib/apt/apt-helper analyze-pattern ?true 1724s + DEBIAN_FRONTEND=noninteractive eatmydata apt-get -y purge --autoremove ?obsolete 1724s Reading package lists... 1724s Building dependency tree... 1724s Reading state information... 1724s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1724s + grep -q trusty /etc/lsb-release 1724s + [ ! -d /usr/share/doc/unattended-upgrades ] 1724s + [ ! -d /usr/share/doc/lxd ] 1724s + [ ! -d /usr/share/doc/lxd-client ] 1724s + [ ! -d /usr/share/doc/snapd ] 1724s + type iptables 1724s + cat 1724s + chmod 755 /etc/rc.local 1724s + . /etc/rc.local 1724s + iptables -w -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu 1724s + iptables -A OUTPUT -d 10.255.255.1/32 -p tcp -j DROP 1724s + iptables -A OUTPUT -d 10.255.255.2/32 -p tcp -j DROP 1724s + uname -m 1724s + [ ppc64le = ppc64le ] 1724s + systemctl is-active keyboard-setup.service 1724s + [ active = failed ] 1724s + [ -d /run/systemd/system ] 1724s + systemd-detect-virt --quiet --vm 1724s + mkdir -p /etc/systemd/system/systemd-random-seed.service.d/ 1724s + cat 1724s + grep -q lz4 /etc/initramfs-tools/initramfs.conf 1724s + echo COMPRESS=lz4 1724s autopkgtest [15:00:24]: upgrading testbed (apt dist-upgrade and autopurge) 1725s Reading package lists... 1725s Building dependency tree... 1725s Reading state information... 1725s Calculating upgrade...Starting pkgProblemResolver with broken count: 0 1725s Starting 2 pkgProblemResolver with broken count: 0 1725s Done 1726s Entering ResolveByKeep 1726s 1726s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1726s Reading package lists... 1726s Building dependency tree... 1726s Reading state information... 1726s Starting pkgProblemResolver with broken count: 0 1727s Starting 2 pkgProblemResolver with broken count: 0 1727s Done 1727s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1730s Reading package lists... 1730s Building dependency tree... 1730s Reading state information... 1730s Starting pkgProblemResolver with broken count: 0 1730s Starting 2 pkgProblemResolver with broken count: 0 1730s Done 1731s The following NEW packages will be installed: 1731s adwaita-icon-theme at-spi2-common ca-certificates-java 1731s dconf-gsettings-backend dconf-service default-jre default-jre-headless 1731s fontconfig fontconfig-config fonts-dejavu-core fonts-dejavu-mono 1731s fonts-font-awesome fonts-lato gtk-update-icon-cache hicolor-icon-theme 1731s humanity-icon-theme java-common junit4 libactivation-java libapache-pom-java 1731s libapr1t64 libasm-java libasound2-data libasound2t64 1731s libatinject-jsr330-api-java libatk-bridge2.0-0t64 libatk1.0-0t64 1731s libatspi2.0-0t64 libavahi-client3 libavahi-common-data libavahi-common3 1731s libcairo-gobject2 libcairo2 libcares2 libcolord2 libcommons-cli-java 1731s libcommons-io-java libcommons-logging-java libcommons-parent-java 1731s libcups2t64 libdatrie1 libdconf1 libdeflate0 libdrm-radeon1 1731s libdropwizard-metrics-java libeclipse-jdt-core-compiler-batch-java 1731s libeclipse-jdt-core-java libel-api-java libepoxy0 liberror-prone-java 1731s libev4t64 libfindbugs-annotations-java libfontconfig1 libgbm1 1731s libgdk-pixbuf-2.0-0 libgdk-pixbuf2.0-common libgif7 libgl1 libgl1-mesa-dri 1731s libglapi-mesa libglvnd0 libglx-mesa0 libglx0 libgraphite2-3 libgtk-3-0t64 1731s libgtk-3-common libguava-java libhamcrest-java libharfbuzz0b libio-pty-perl 1731s libipc-run-perl libjackson2-annotations-java libjackson2-core-java 1731s libjackson2-databind-java libjaxb-api-java libjbig0 libjctools-java 1731s libjetty9-extra-java libjetty9-java libjffi-java libjffi-jni 1731s libjnr-constants-java libjnr-enxio-java libjnr-ffi-java libjnr-posix-java 1731s libjnr-unixsocket-java libjnr-x86asm-java libjpeg-turbo8 libjpeg8 1731s libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl libjsp-api-java 1731s libjsr305-java liblcms2-2 liblerc4 liblog4j1.2-java libmail-java 1731s libnetty-java libnetty-tcnative-java libnetty-tcnative-jni libpango-1.0-0 1731s libpangocairo-1.0-0 libpangoft2-1.0-0 libpcsclite1 libpixman-1-0 libpq5 1731s libpython3.13-minimal libpython3.13-stdlib libservlet-api-java libsharpyuv0 1731s libslf4j-java libsnappy-java libsnappy-jni libsnappy1v5 libspring-beans-java 1731s libspring-core-java libtaglibs-standard-impl-java 1731s libtaglibs-standard-spec-java libthai-data libthai0 libtiff6 1731s libtime-duration-perl libtimedate-perl libtomcat9-java libvulkan1 1731s libwayland-client0 libwayland-cursor0 libwayland-egl1 libwayland-server0 1731s libwebp7 libwebsocket-api-java libx11-xcb1 libxcb-dri2-0 libxcb-dri3-0 1731s libxcb-glx0 libxcb-present0 libxcb-randr0 libxcb-render0 libxcb-shm0 1731s libxcb-sync1 libxcb-xfixes0 libxcomposite1 libxcursor1 libxdamage1 1731s libxfixes3 libxi6 libxinerama1 libxrandr2 libxrender1 libxshmfence1 1731s libxslt1.1 libxtst6 libxxf86vm1 libzookeeper-java mesa-libgallium moreutils 1731s openjdk-21-jre openjdk-21-jre-headless patroni patroni-doc postgresql 1731s postgresql-16 postgresql-client-16 postgresql-client-common 1731s postgresql-common python3-behave python3-cdiff python3-click 1731s python3-colorama python3-coverage python3-dateutil python3-dnspython 1731s python3-eventlet python3-gevent python3-greenlet python3-kazoo 1731s python3-kerberos python3-parse python3-parse-type python3-prettytable 1731s python3-psutil python3-psycopg2 python3-pure-sasl python3-six 1731s python3-wcwidth python3-ydiff python3-zope.event python3-zope.interface 1731s python3.13 python3.13-minimal sphinx-rtd-theme-common ssl-cert ubuntu-mono 1731s x11-common zookeeper zookeeperd 1731s 0 upgraded, 198 newly installed, 0 to remove and 0 not upgraded. 1731s Need to get 140 MB of archives. 1731s After this operation, 517 MB of additional disk space will be used. 1731s Get:1 http://ftpmaster.internal/ubuntu plucky/main ppc64el fonts-lato all 2.015-1 [2781 kB] 1732s Get:2 http://ftpmaster.internal/ubuntu plucky/main ppc64el libjson-perl all 4.10000-1 [81.9 kB] 1732s Get:3 http://ftpmaster.internal/ubuntu plucky/main ppc64el postgresql-client-common all 262 [36.7 kB] 1732s Get:4 http://ftpmaster.internal/ubuntu plucky/main ppc64el ssl-cert all 1.1.3ubuntu1 [18.7 kB] 1732s Get:5 http://ftpmaster.internal/ubuntu plucky/main ppc64el postgresql-common all 262 [162 kB] 1732s Get:6 http://ftpmaster.internal/ubuntu plucky/main ppc64el libpython3.13-minimal ppc64el 3.13.1-2 [883 kB] 1732s Get:7 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3.13-minimal ppc64el 3.13.1-2 [2496 kB] 1732s Get:8 http://ftpmaster.internal/ubuntu plucky/main ppc64el ca-certificates-java all 20240118 [11.6 kB] 1732s Get:9 http://ftpmaster.internal/ubuntu plucky/main ppc64el java-common all 0.76 [6852 B] 1732s Get:10 http://ftpmaster.internal/ubuntu plucky/main ppc64el liblcms2-2 ppc64el 2.16-2 [243 kB] 1732s Get:11 http://ftpmaster.internal/ubuntu plucky/main ppc64el libjpeg-turbo8 ppc64el 2.1.5-3ubuntu2 [215 kB] 1732s Get:12 http://ftpmaster.internal/ubuntu plucky/main ppc64el libjpeg8 ppc64el 8c-2ubuntu11 [2148 B] 1732s Get:13 http://ftpmaster.internal/ubuntu plucky/main ppc64el libpcsclite1 ppc64el 2.3.0-3 [31.3 kB] 1732s Get:14 http://ftpmaster.internal/ubuntu plucky/main ppc64el openjdk-21-jre-headless ppc64el 21.0.5+11-1 [45.7 MB] 1734s Get:15 http://ftpmaster.internal/ubuntu plucky/main ppc64el default-jre-headless ppc64el 2:1.21-76 [3184 B] 1734s Get:16 http://ftpmaster.internal/ubuntu plucky/main ppc64el libgdk-pixbuf2.0-common all 2.42.12+dfsg-1 [7888 B] 1734s Get:17 http://ftpmaster.internal/ubuntu plucky/main ppc64el libdeflate0 ppc64el 1.22-1 [63.3 kB] 1734s Get:18 http://ftpmaster.internal/ubuntu plucky/main ppc64el libjbig0 ppc64el 2.1-6.1ubuntu2 [35.9 kB] 1734s Get:19 http://ftpmaster.internal/ubuntu plucky/main ppc64el liblerc4 ppc64el 4.0.0+ds-5ubuntu1 [298 kB] 1734s Get:20 http://ftpmaster.internal/ubuntu plucky/main ppc64el libsharpyuv0 ppc64el 1.4.0-0.1 [22.0 kB] 1734s Get:21 http://ftpmaster.internal/ubuntu plucky/main ppc64el libwebp7 ppc64el 1.4.0-0.1 [309 kB] 1734s Get:22 http://ftpmaster.internal/ubuntu plucky/main ppc64el libtiff6 ppc64el 4.5.1+git230720-4ubuntu4 [272 kB] 1734s Get:23 http://ftpmaster.internal/ubuntu plucky/main ppc64el libgdk-pixbuf-2.0-0 ppc64el 2.42.12+dfsg-1 [186 kB] 1734s Get:24 http://ftpmaster.internal/ubuntu plucky/main ppc64el gtk-update-icon-cache ppc64el 4.17.1+ds-2 [54.0 kB] 1734s Get:25 http://ftpmaster.internal/ubuntu plucky/main ppc64el hicolor-icon-theme all 0.18-1 [13.5 kB] 1734s Get:26 http://ftpmaster.internal/ubuntu plucky/main ppc64el humanity-icon-theme all 0.6.16 [1282 kB] 1734s Get:27 http://ftpmaster.internal/ubuntu plucky/main ppc64el ubuntu-mono all 24.04-0ubuntu1 [151 kB] 1734s Get:28 http://ftpmaster.internal/ubuntu plucky/main ppc64el adwaita-icon-theme all 47.0-2 [525 kB] 1734s Get:29 http://ftpmaster.internal/ubuntu plucky/main ppc64el at-spi2-common all 2.54.0-1 [8774 B] 1734s Get:30 http://ftpmaster.internal/ubuntu plucky/main ppc64el libatk1.0-0t64 ppc64el 2.54.0-1 [59.7 kB] 1734s Get:31 http://ftpmaster.internal/ubuntu plucky/main ppc64el libxi6 ppc64el 2:1.8.2-1 [37.9 kB] 1734s Get:32 http://ftpmaster.internal/ubuntu plucky/main ppc64el libatspi2.0-0t64 ppc64el 2.54.0-1 [96.9 kB] 1734s Get:33 http://ftpmaster.internal/ubuntu plucky/main ppc64el libatk-bridge2.0-0t64 ppc64el 2.54.0-1 [77.8 kB] 1734s Get:34 http://ftpmaster.internal/ubuntu plucky/main ppc64el fonts-dejavu-mono all 2.37-8 [502 kB] 1734s Get:35 http://ftpmaster.internal/ubuntu plucky/main ppc64el fonts-dejavu-core all 2.37-8 [835 kB] 1734s Get:36 http://ftpmaster.internal/ubuntu plucky/main ppc64el fontconfig-config ppc64el 2.15.0-1.1ubuntu2 [37.4 kB] 1734s Get:37 http://ftpmaster.internal/ubuntu plucky/main ppc64el libfontconfig1 ppc64el 2.15.0-1.1ubuntu2 [190 kB] 1734s Get:38 http://ftpmaster.internal/ubuntu plucky/main ppc64el libpixman-1-0 ppc64el 0.44.0-3 [334 kB] 1734s Get:39 http://ftpmaster.internal/ubuntu plucky/main ppc64el libxcb-render0 ppc64el 1.17.0-2 [17.2 kB] 1734s Get:40 http://ftpmaster.internal/ubuntu plucky/main ppc64el libxcb-shm0 ppc64el 1.17.0-2 [5980 B] 1734s Get:41 http://ftpmaster.internal/ubuntu plucky/main ppc64el libxrender1 ppc64el 1:0.9.10-1.1build1 [23.1 kB] 1734s Get:42 http://ftpmaster.internal/ubuntu plucky/main ppc64el libcairo2 ppc64el 1.18.2-2 [747 kB] 1734s Get:43 http://ftpmaster.internal/ubuntu plucky/main ppc64el libcairo-gobject2 ppc64el 1.18.2-2 [127 kB] 1734s Get:44 http://ftpmaster.internal/ubuntu plucky/main ppc64el libcolord2 ppc64el 1.4.7-1build2 [164 kB] 1734s Get:45 http://ftpmaster.internal/ubuntu plucky/main ppc64el libavahi-common-data ppc64el 0.8-14ubuntu1 [30.5 kB] 1734s Get:46 http://ftpmaster.internal/ubuntu plucky/main ppc64el libavahi-common3 ppc64el 0.8-14ubuntu1 [26.0 kB] 1734s Get:47 http://ftpmaster.internal/ubuntu plucky/main ppc64el libavahi-client3 ppc64el 0.8-14ubuntu1 [31.0 kB] 1735s Get:48 http://ftpmaster.internal/ubuntu plucky/main ppc64el libcups2t64 ppc64el 2.4.11-0ubuntu2 [347 kB] 1735s Get:49 http://ftpmaster.internal/ubuntu plucky/main ppc64el libepoxy0 ppc64el 1.5.10-2 [234 kB] 1735s Get:50 http://ftpmaster.internal/ubuntu plucky/main ppc64el libgraphite2-3 ppc64el 1.3.14-2ubuntu1 [84.6 kB] 1735s Get:51 http://ftpmaster.internal/ubuntu plucky/main ppc64el libharfbuzz0b ppc64el 10.1.0-1 [597 kB] 1735s Get:52 http://ftpmaster.internal/ubuntu plucky/main ppc64el fontconfig ppc64el 2.15.0-1.1ubuntu2 [192 kB] 1735s Get:53 http://ftpmaster.internal/ubuntu plucky/main ppc64el libthai-data all 0.1.29-2build1 [158 kB] 1735s Get:54 http://ftpmaster.internal/ubuntu plucky/main ppc64el libdatrie1 ppc64el 0.2.13-3build1 [22.7 kB] 1735s Get:55 http://ftpmaster.internal/ubuntu plucky/main ppc64el libthai0 ppc64el 0.1.29-2build1 [21.8 kB] 1735s Get:56 http://ftpmaster.internal/ubuntu plucky/main ppc64el libpango-1.0-0 ppc64el 1.55.0+ds-3 [276 kB] 1735s Get:57 http://ftpmaster.internal/ubuntu plucky/main ppc64el libpangoft2-1.0-0 ppc64el 1.55.0+ds-3 [57.7 kB] 1735s Get:58 http://ftpmaster.internal/ubuntu plucky/main ppc64el libpangocairo-1.0-0 ppc64el 1.55.0+ds-3 [30.6 kB] 1735s Get:59 http://ftpmaster.internal/ubuntu plucky/main ppc64el libwayland-client0 ppc64el 1.23.0-1 [31.4 kB] 1735s Get:60 http://ftpmaster.internal/ubuntu plucky/main ppc64el libwayland-cursor0 ppc64el 1.23.0-1 [11.9 kB] 1735s Get:61 http://ftpmaster.internal/ubuntu plucky/main ppc64el libwayland-egl1 ppc64el 1.23.0-1 [5730 B] 1735s Get:62 http://ftpmaster.internal/ubuntu plucky/main ppc64el libxcomposite1 ppc64el 1:0.4.6-1 [6816 B] 1735s Get:63 http://ftpmaster.internal/ubuntu plucky/main ppc64el libxfixes3 ppc64el 1:6.0.0-2build1 [11.8 kB] 1735s Get:64 http://ftpmaster.internal/ubuntu plucky/main ppc64el libxcursor1 ppc64el 1:1.2.2-1 [26.3 kB] 1735s Get:65 http://ftpmaster.internal/ubuntu plucky/main ppc64el libxdamage1 ppc64el 1:1.1.6-1build1 [6550 B] 1735s Get:66 http://ftpmaster.internal/ubuntu plucky/main ppc64el libxinerama1 ppc64el 2:1.1.4-3build1 [6908 B] 1735s Get:67 http://ftpmaster.internal/ubuntu plucky/main ppc64el libxrandr2 ppc64el 2:1.5.4-1 [21.7 kB] 1735s Get:68 http://ftpmaster.internal/ubuntu plucky/main ppc64el libdconf1 ppc64el 0.40.0-4build2 [44.0 kB] 1735s Get:69 http://ftpmaster.internal/ubuntu plucky/main ppc64el dconf-service ppc64el 0.40.0-4build2 [31.1 kB] 1735s Get:70 http://ftpmaster.internal/ubuntu plucky/main ppc64el dconf-gsettings-backend ppc64el 0.40.0-4build2 [26.5 kB] 1735s Get:71 http://ftpmaster.internal/ubuntu plucky/main ppc64el libgtk-3-common all 3.24.43-4ubuntu1 [1203 kB] 1735s Get:72 http://ftpmaster.internal/ubuntu plucky/main ppc64el libgtk-3-0t64 ppc64el 3.24.43-4ubuntu1 [3367 kB] 1735s Get:73 http://ftpmaster.internal/ubuntu plucky/main ppc64el libglvnd0 ppc64el 1.7.0-1build1 [72.4 kB] 1735s Get:74 http://ftpmaster.internal/ubuntu plucky/main ppc64el libglapi-mesa ppc64el 24.2.8-1ubuntu1 [44.6 kB] 1735s Get:75 http://ftpmaster.internal/ubuntu plucky/main ppc64el libx11-xcb1 ppc64el 2:1.8.10-2 [8008 B] 1735s Get:76 http://ftpmaster.internal/ubuntu plucky/main ppc64el libxcb-dri2-0 ppc64el 1.17.0-2 [7508 B] 1735s Get:77 http://ftpmaster.internal/ubuntu plucky/main ppc64el libxcb-dri3-0 ppc64el 1.17.0-2 [7842 B] 1735s Get:78 http://ftpmaster.internal/ubuntu plucky/main ppc64el libxcb-glx0 ppc64el 1.17.0-2 [26.3 kB] 1735s Get:79 http://ftpmaster.internal/ubuntu plucky/main ppc64el libxcb-present0 ppc64el 1.17.0-2 [6276 B] 1735s Get:80 http://ftpmaster.internal/ubuntu plucky/main ppc64el libxcb-randr0 ppc64el 1.17.0-2 [19.1 kB] 1735s Get:81 http://ftpmaster.internal/ubuntu plucky/main ppc64el libxcb-sync1 ppc64el 1.17.0-2 [9804 B] 1735s Get:82 http://ftpmaster.internal/ubuntu plucky/main ppc64el libxcb-xfixes0 ppc64el 1.17.0-2 [10.7 kB] 1735s Get:83 http://ftpmaster.internal/ubuntu plucky/main ppc64el libxshmfence1 ppc64el 1.3-1build5 [4964 B] 1735s Get:84 http://ftpmaster.internal/ubuntu plucky/main ppc64el libxxf86vm1 ppc64el 1:1.1.4-1build4 [11.1 kB] 1735s Get:85 http://ftpmaster.internal/ubuntu plucky/main ppc64el libdrm-radeon1 ppc64el 2.4.123-1 [29.0 kB] 1735s Get:86 http://ftpmaster.internal/ubuntu plucky/main ppc64el mesa-libgallium ppc64el 24.2.8-1ubuntu1 [9164 kB] 1736s Get:87 http://ftpmaster.internal/ubuntu plucky/main ppc64el libvulkan1 ppc64el 1.3.296.0-1 [163 kB] 1736s Get:88 http://ftpmaster.internal/ubuntu plucky/main ppc64el libwayland-server0 ppc64el 1.23.0-1 [41.3 kB] 1736s Get:89 http://ftpmaster.internal/ubuntu plucky/main ppc64el libgbm1 ppc64el 24.2.8-1ubuntu1 [38.2 kB] 1736s Get:90 http://ftpmaster.internal/ubuntu plucky/main ppc64el libgl1-mesa-dri ppc64el 24.2.8-1ubuntu1 [34.1 kB] 1736s Get:91 http://ftpmaster.internal/ubuntu plucky/main ppc64el libglx-mesa0 ppc64el 24.2.8-1ubuntu1 [187 kB] 1736s Get:92 http://ftpmaster.internal/ubuntu plucky/main ppc64el libglx0 ppc64el 1.7.0-1build1 [42.7 kB] 1736s Get:93 http://ftpmaster.internal/ubuntu plucky/main ppc64el libgl1 ppc64el 1.7.0-1build1 [107 kB] 1736s Get:94 http://ftpmaster.internal/ubuntu plucky/main ppc64el libasound2-data all 1.2.12-1 [21.0 kB] 1736s Get:95 http://ftpmaster.internal/ubuntu plucky/main ppc64el libasound2t64 ppc64el 1.2.12-1 [493 kB] 1736s Get:96 http://ftpmaster.internal/ubuntu plucky/main ppc64el libgif7 ppc64el 5.2.2-1ubuntu1 [41.2 kB] 1736s Get:97 http://ftpmaster.internal/ubuntu plucky/main ppc64el x11-common all 1:7.7+23ubuntu3 [21.7 kB] 1736s Get:98 http://ftpmaster.internal/ubuntu plucky/main ppc64el libxtst6 ppc64el 2:1.2.3-1.1build1 [14.4 kB] 1736s Get:99 http://ftpmaster.internal/ubuntu plucky/main ppc64el openjdk-21-jre ppc64el 21.0.5+11-1 [246 kB] 1736s Get:100 http://ftpmaster.internal/ubuntu plucky/main ppc64el default-jre ppc64el 2:1.21-76 [918 B] 1736s Get:101 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libhamcrest-java all 2.2-2 [117 kB] 1736s Get:102 http://ftpmaster.internal/ubuntu plucky/universe ppc64el junit4 all 4.13.2-5 [348 kB] 1736s Get:103 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libcommons-cli-java all 1.6.0-1 [59.9 kB] 1736s Get:104 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libapache-pom-java all 33-2 [5874 B] 1736s Get:105 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libcommons-parent-java all 56-1 [10.7 kB] 1736s Get:106 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libcommons-io-java all 2.17.0-1 [457 kB] 1736s Get:107 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libdropwizard-metrics-java all 3.2.6-1 [240 kB] 1736s Get:108 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libfindbugs-annotations-java all 3.1.0~preview2-4 [48.9 kB] 1736s Get:109 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libatinject-jsr330-api-java all 1.0+ds1-5 [5348 B] 1736s Get:110 http://ftpmaster.internal/ubuntu plucky/universe ppc64el liberror-prone-java all 2.18.0-1 [22.5 kB] 1736s Get:111 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libjsr305-java all 0.1~+svn49-11 [27.0 kB] 1736s Get:112 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libguava-java all 32.0.1-1 [2692 kB] 1737s Get:113 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libjackson2-annotations-java all 2.14.0-1 [64.7 kB] 1737s Get:114 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libjackson2-core-java all 2.14.1-1 [432 kB] 1737s Get:115 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libjackson2-databind-java all 2.14.0-1 [1531 kB] 1737s Get:116 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libasm-java all 9.7.1-1 [388 kB] 1737s Get:117 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libel-api-java all 3.0.0-3 [64.9 kB] 1737s Get:118 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libjsp-api-java all 2.3.4-3 [53.7 kB] 1737s Get:119 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libservlet-api-java all 4.0.1-2 [81.0 kB] 1737s Get:120 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libwebsocket-api-java all 1.1-2 [40.1 kB] 1737s Get:121 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libjetty9-java all 9.4.56-1 [2790 kB] 1737s Get:122 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libjnr-constants-java all 0.10.4-2 [1397 kB] 1737s Get:123 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libjffi-jni ppc64el 1.3.13+ds-1 [31.1 kB] 1737s Get:124 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libjffi-java all 1.3.13+ds-1 [112 kB] 1737s Get:125 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libjnr-x86asm-java all 1.0.2-5.1 [207 kB] 1737s Get:126 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libjnr-ffi-java all 2.2.15-2 [627 kB] 1737s Get:127 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libjnr-enxio-java all 0.32.16-1 [33.7 kB] 1737s Get:128 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libjnr-posix-java all 3.1.18-1 [267 kB] 1737s Get:129 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libjnr-unixsocket-java all 0.38.21-2 [46.9 kB] 1737s Get:130 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libactivation-java all 1.2.0-2 [84.7 kB] 1737s Get:131 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libmail-java all 1.6.5-3 [681 kB] 1737s Get:132 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libcommons-logging-java all 1.3.0-1ubuntu1 [63.8 kB] 1737s Get:133 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libjaxb-api-java all 2.3.1-1 [119 kB] 1737s Get:134 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libspring-core-java all 4.3.30-2ubuntu1 [1015 kB] 1737s Get:135 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libspring-beans-java all 4.3.30-2ubuntu1 [677 kB] 1737s Get:136 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libtaglibs-standard-spec-java all 1.2.5-3 [35.2 kB] 1737s Get:137 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libtaglibs-standard-impl-java all 1.2.5-3 [182 kB] 1737s Get:138 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libeclipse-jdt-core-compiler-batch-java all 3.35.0+eclipse4.29-2 [2933 kB] 1737s Get:139 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libeclipse-jdt-core-java all 3.35.0+eclipse4.29-2 [3831 kB] 1737s Get:140 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libtomcat9-java all 9.0.70-2ubuntu1.1 [6161 kB] 1737s Get:141 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libjetty9-extra-java all 9.4.56-1 [1199 kB] 1737s Get:142 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libjctools-java all 2.0.2-1 [188 kB] 1737s Get:143 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libnetty-java all 1:4.1.48-10 [3628 kB] 1738s Get:144 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libslf4j-java all 1.7.32-1 [141 kB] 1738s Get:145 http://ftpmaster.internal/ubuntu plucky/main ppc64el libsnappy1v5 ppc64el 1.2.1-1 [33.4 kB] 1738s Get:146 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libsnappy-jni ppc64el 1.1.10.7-1 [6650 B] 1738s Get:147 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libsnappy-java all 1.1.10.7-1 [83.6 kB] 1738s Get:148 http://ftpmaster.internal/ubuntu plucky/main ppc64el libapr1t64 ppc64el 1.7.5-1 [137 kB] 1738s Get:149 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libnetty-tcnative-jni ppc64el 2.0.28-1build4 [42.3 kB] 1738s Get:150 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libnetty-tcnative-java all 2.0.28-1build4 [24.8 kB] 1738s Get:151 http://ftpmaster.internal/ubuntu plucky/universe ppc64el liblog4j1.2-java all 1.2.17-11 [439 kB] 1738s Get:152 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libzookeeper-java all 3.9.3-1 [1890 kB] 1738s Get:153 http://ftpmaster.internal/ubuntu plucky/universe ppc64el zookeeper all 3.9.3-1 [57.8 kB] 1738s Get:154 http://ftpmaster.internal/ubuntu plucky/universe ppc64el zookeeperd all 3.9.3-1 [6022 B] 1738s Get:155 http://ftpmaster.internal/ubuntu plucky/main ppc64el fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 1738s Get:156 http://ftpmaster.internal/ubuntu plucky/main ppc64el libcares2 ppc64el 1.34.4-2.1 [126 kB] 1738s Get:157 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libev4t64 ppc64el 1:4.33-2.1build1 [34.9 kB] 1738s Get:158 http://ftpmaster.internal/ubuntu plucky/main ppc64el libio-pty-perl ppc64el 1:1.20-1build3 [32.0 kB] 1738s Get:159 http://ftpmaster.internal/ubuntu plucky/main ppc64el libipc-run-perl all 20231003.0-2 [91.5 kB] 1738s Get:160 http://ftpmaster.internal/ubuntu plucky/main ppc64el libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 1738s Get:161 http://ftpmaster.internal/ubuntu plucky/main ppc64el libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 1738s Get:162 http://ftpmaster.internal/ubuntu plucky-proposed/main ppc64el libjs-sphinxdoc all 8.1.3-4 [30.9 kB] 1738s Get:163 http://ftpmaster.internal/ubuntu plucky/main ppc64el libpq5 ppc64el 17.2-1 [173 kB] 1738s Get:164 http://ftpmaster.internal/ubuntu plucky/main ppc64el libpython3.13-stdlib ppc64el 3.13.1-2 [2131 kB] 1738s Get:165 http://ftpmaster.internal/ubuntu plucky/main ppc64el libtime-duration-perl all 1.21-2 [12.3 kB] 1738s Get:166 http://ftpmaster.internal/ubuntu plucky/main ppc64el libtimedate-perl all 2.3300-2 [34.0 kB] 1738s Get:167 http://ftpmaster.internal/ubuntu plucky/main ppc64el libxslt1.1 ppc64el 1.1.39-0exp1ubuntu2 [191 kB] 1738s Get:168 http://ftpmaster.internal/ubuntu plucky/universe ppc64el moreutils ppc64el 0.69-1 [59.1 kB] 1738s Get:169 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-ydiff all 1.4.2-1 [19.0 kB] 1738s Get:170 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-cdiff all 1.4.2-1 [1778 B] 1738s Get:171 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-colorama all 0.4.6-4 [32.1 kB] 1738s Get:172 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-click all 8.1.7-2 [79.5 kB] 1738s Get:173 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-dateutil all 2.9.0-3 [80.2 kB] 1738s Get:174 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 1738s Get:175 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-prettytable all 3.12.0-1 [36.5 kB] 1738s Get:176 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-psutil ppc64el 5.9.8-2build3 [197 kB] 1738s Get:177 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-psycopg2 ppc64el 2.9.10-1 [160 kB] 1738s Get:178 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-greenlet ppc64el 3.1.0-1 [184 kB] 1738s Get:179 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-dnspython all 2.6.1-1ubuntu1 [163 kB] 1738s Get:180 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-eventlet all 0.36.1-11ubuntu1 [275 kB] 1738s Get:181 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-zope.event all 5.0-0.1 [7512 B] 1738s Get:182 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-zope.interface ppc64el 7.2-1 [142 kB] 1738s Get:183 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-gevent ppc64el 24.11.1-1 [1130 kB] 1738s Get:184 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-kerberos ppc64el 1.1.14-3.1build10 [22.1 kB] 1738s Get:185 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-pure-sasl all 0.5.1+dfsg1-5 [11.4 kB] 1738s Get:186 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-six all 1.17.0-1 [13.2 kB] 1738s Get:187 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-kazoo all 2.9.0-2 [103 kB] 1738s Get:188 http://ftpmaster.internal/ubuntu plucky/universe ppc64el patroni all 3.3.4-1 [269 kB] 1738s Get:189 http://ftpmaster.internal/ubuntu plucky/main ppc64el sphinx-rtd-theme-common all 3.0.2+dfsg-1 [1014 kB] 1738s Get:190 http://ftpmaster.internal/ubuntu plucky/universe ppc64el patroni-doc all 3.3.4-1 [508 kB] 1738s Get:191 http://ftpmaster.internal/ubuntu plucky/main ppc64el postgresql-client-16 ppc64el 16.4-3 [1400 kB] 1738s Get:192 http://ftpmaster.internal/ubuntu plucky/main ppc64el postgresql-16 ppc64el 16.4-3 [16.6 MB] 1739s Get:193 http://ftpmaster.internal/ubuntu plucky/main ppc64el postgresql all 16+262 [11.8 kB] 1739s Get:194 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-parse all 1.20.2-1 [27.0 kB] 1739s Get:195 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-parse-type all 0.6.4-1 [23.4 kB] 1739s Get:196 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-behave all 1.2.6-6 [98.6 kB] 1739s Get:197 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3.13 ppc64el 3.13.1-2 [729 kB] 1739s Get:198 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-coverage ppc64el 7.4.4+dfsg1-0ubuntu3 [151 kB] 1739s Preconfiguring packages ... 1739s Fetched 140 MB in 8s (17.7 MB/s) 1739s Selecting previously unselected package fonts-lato. 1739s (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 ... 74025 files and directories currently installed.) 1739s Preparing to unpack .../000-fonts-lato_2.015-1_all.deb ... 1739s Unpacking fonts-lato (2.015-1) ... 1740s Selecting previously unselected package libjson-perl. 1740s Preparing to unpack .../001-libjson-perl_4.10000-1_all.deb ... 1740s Unpacking libjson-perl (4.10000-1) ... 1740s Selecting previously unselected package postgresql-client-common. 1740s Preparing to unpack .../002-postgresql-client-common_262_all.deb ... 1740s Unpacking postgresql-client-common (262) ... 1740s Selecting previously unselected package ssl-cert. 1740s Preparing to unpack .../003-ssl-cert_1.1.3ubuntu1_all.deb ... 1740s Unpacking ssl-cert (1.1.3ubuntu1) ... 1740s Selecting previously unselected package postgresql-common. 1740s Preparing to unpack .../004-postgresql-common_262_all.deb ... 1740s Adding 'diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common' 1740s Unpacking postgresql-common (262) ... 1740s Selecting previously unselected package libpython3.13-minimal:ppc64el. 1740s Preparing to unpack .../005-libpython3.13-minimal_3.13.1-2_ppc64el.deb ... 1740s Unpacking libpython3.13-minimal:ppc64el (3.13.1-2) ... 1740s Selecting previously unselected package python3.13-minimal. 1740s Preparing to unpack .../006-python3.13-minimal_3.13.1-2_ppc64el.deb ... 1740s Unpacking python3.13-minimal (3.13.1-2) ... 1740s Selecting previously unselected package ca-certificates-java. 1740s Preparing to unpack .../007-ca-certificates-java_20240118_all.deb ... 1740s Unpacking ca-certificates-java (20240118) ... 1740s Selecting previously unselected package java-common. 1740s Preparing to unpack .../008-java-common_0.76_all.deb ... 1740s Unpacking java-common (0.76) ... 1740s Selecting previously unselected package liblcms2-2:ppc64el. 1740s Preparing to unpack .../009-liblcms2-2_2.16-2_ppc64el.deb ... 1740s Unpacking liblcms2-2:ppc64el (2.16-2) ... 1740s Selecting previously unselected package libjpeg-turbo8:ppc64el. 1740s Preparing to unpack .../010-libjpeg-turbo8_2.1.5-3ubuntu2_ppc64el.deb ... 1740s Unpacking libjpeg-turbo8:ppc64el (2.1.5-3ubuntu2) ... 1740s Selecting previously unselected package libjpeg8:ppc64el. 1740s Preparing to unpack .../011-libjpeg8_8c-2ubuntu11_ppc64el.deb ... 1740s Unpacking libjpeg8:ppc64el (8c-2ubuntu11) ... 1740s Selecting previously unselected package libpcsclite1:ppc64el. 1740s Preparing to unpack .../012-libpcsclite1_2.3.0-3_ppc64el.deb ... 1740s Unpacking libpcsclite1:ppc64el (2.3.0-3) ... 1740s Selecting previously unselected package openjdk-21-jre-headless:ppc64el. 1740s Preparing to unpack .../013-openjdk-21-jre-headless_21.0.5+11-1_ppc64el.deb ... 1740s Unpacking openjdk-21-jre-headless:ppc64el (21.0.5+11-1) ... 1741s Selecting previously unselected package default-jre-headless. 1741s Preparing to unpack .../014-default-jre-headless_2%3a1.21-76_ppc64el.deb ... 1741s Unpacking default-jre-headless (2:1.21-76) ... 1741s Selecting previously unselected package libgdk-pixbuf2.0-common. 1741s Preparing to unpack .../015-libgdk-pixbuf2.0-common_2.42.12+dfsg-1_all.deb ... 1741s Unpacking libgdk-pixbuf2.0-common (2.42.12+dfsg-1) ... 1741s Selecting previously unselected package libdeflate0:ppc64el. 1741s Preparing to unpack .../016-libdeflate0_1.22-1_ppc64el.deb ... 1741s Unpacking libdeflate0:ppc64el (1.22-1) ... 1741s Selecting previously unselected package libjbig0:ppc64el. 1741s Preparing to unpack .../017-libjbig0_2.1-6.1ubuntu2_ppc64el.deb ... 1741s Unpacking libjbig0:ppc64el (2.1-6.1ubuntu2) ... 1741s Selecting previously unselected package liblerc4:ppc64el. 1741s Preparing to unpack .../018-liblerc4_4.0.0+ds-5ubuntu1_ppc64el.deb ... 1741s Unpacking liblerc4:ppc64el (4.0.0+ds-5ubuntu1) ... 1741s Selecting previously unselected package libsharpyuv0:ppc64el. 1741s Preparing to unpack .../019-libsharpyuv0_1.4.0-0.1_ppc64el.deb ... 1741s Unpacking libsharpyuv0:ppc64el (1.4.0-0.1) ... 1741s Selecting previously unselected package libwebp7:ppc64el. 1741s Preparing to unpack .../020-libwebp7_1.4.0-0.1_ppc64el.deb ... 1741s Unpacking libwebp7:ppc64el (1.4.0-0.1) ... 1741s Selecting previously unselected package libtiff6:ppc64el. 1741s Preparing to unpack .../021-libtiff6_4.5.1+git230720-4ubuntu4_ppc64el.deb ... 1741s Unpacking libtiff6:ppc64el (4.5.1+git230720-4ubuntu4) ... 1741s Selecting previously unselected package libgdk-pixbuf-2.0-0:ppc64el. 1741s Preparing to unpack .../022-libgdk-pixbuf-2.0-0_2.42.12+dfsg-1_ppc64el.deb ... 1741s Unpacking libgdk-pixbuf-2.0-0:ppc64el (2.42.12+dfsg-1) ... 1741s Selecting previously unselected package gtk-update-icon-cache. 1741s Preparing to unpack .../023-gtk-update-icon-cache_4.17.1+ds-2_ppc64el.deb ... 1741s No diversion 'diversion of /usr/sbin/update-icon-caches to /usr/sbin/update-icon-caches.gtk2 by libgtk-3-bin', none removed. 1741s 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. 1741s Unpacking gtk-update-icon-cache (4.17.1+ds-2) ... 1741s Selecting previously unselected package hicolor-icon-theme. 1741s Preparing to unpack .../024-hicolor-icon-theme_0.18-1_all.deb ... 1741s Unpacking hicolor-icon-theme (0.18-1) ... 1741s Selecting previously unselected package humanity-icon-theme. 1741s Preparing to unpack .../025-humanity-icon-theme_0.6.16_all.deb ... 1741s Unpacking humanity-icon-theme (0.6.16) ... 1742s Selecting previously unselected package ubuntu-mono. 1742s Preparing to unpack .../026-ubuntu-mono_24.04-0ubuntu1_all.deb ... 1742s Unpacking ubuntu-mono (24.04-0ubuntu1) ... 1742s Selecting previously unselected package adwaita-icon-theme. 1742s Preparing to unpack .../027-adwaita-icon-theme_47.0-2_all.deb ... 1742s Unpacking adwaita-icon-theme (47.0-2) ... 1742s Selecting previously unselected package at-spi2-common. 1742s Preparing to unpack .../028-at-spi2-common_2.54.0-1_all.deb ... 1742s Unpacking at-spi2-common (2.54.0-1) ... 1743s Selecting previously unselected package libatk1.0-0t64:ppc64el. 1743s Preparing to unpack .../029-libatk1.0-0t64_2.54.0-1_ppc64el.deb ... 1743s Unpacking libatk1.0-0t64:ppc64el (2.54.0-1) ... 1743s Selecting previously unselected package libxi6:ppc64el. 1743s Preparing to unpack .../030-libxi6_2%3a1.8.2-1_ppc64el.deb ... 1743s Unpacking libxi6:ppc64el (2:1.8.2-1) ... 1743s Selecting previously unselected package libatspi2.0-0t64:ppc64el. 1743s Preparing to unpack .../031-libatspi2.0-0t64_2.54.0-1_ppc64el.deb ... 1743s Unpacking libatspi2.0-0t64:ppc64el (2.54.0-1) ... 1743s Selecting previously unselected package libatk-bridge2.0-0t64:ppc64el. 1743s Preparing to unpack .../032-libatk-bridge2.0-0t64_2.54.0-1_ppc64el.deb ... 1743s Unpacking libatk-bridge2.0-0t64:ppc64el (2.54.0-1) ... 1743s Selecting previously unselected package fonts-dejavu-mono. 1743s Preparing to unpack .../033-fonts-dejavu-mono_2.37-8_all.deb ... 1743s Unpacking fonts-dejavu-mono (2.37-8) ... 1743s Selecting previously unselected package fonts-dejavu-core. 1743s Preparing to unpack .../034-fonts-dejavu-core_2.37-8_all.deb ... 1743s Unpacking fonts-dejavu-core (2.37-8) ... 1743s Selecting previously unselected package fontconfig-config. 1743s Preparing to unpack .../035-fontconfig-config_2.15.0-1.1ubuntu2_ppc64el.deb ... 1743s Unpacking fontconfig-config (2.15.0-1.1ubuntu2) ... 1743s Selecting previously unselected package libfontconfig1:ppc64el. 1743s Preparing to unpack .../036-libfontconfig1_2.15.0-1.1ubuntu2_ppc64el.deb ... 1743s Unpacking libfontconfig1:ppc64el (2.15.0-1.1ubuntu2) ... 1743s Selecting previously unselected package libpixman-1-0:ppc64el. 1743s Preparing to unpack .../037-libpixman-1-0_0.44.0-3_ppc64el.deb ... 1743s Unpacking libpixman-1-0:ppc64el (0.44.0-3) ... 1743s Selecting previously unselected package libxcb-render0:ppc64el. 1743s Preparing to unpack .../038-libxcb-render0_1.17.0-2_ppc64el.deb ... 1743s Unpacking libxcb-render0:ppc64el (1.17.0-2) ... 1743s Selecting previously unselected package libxcb-shm0:ppc64el. 1743s Preparing to unpack .../039-libxcb-shm0_1.17.0-2_ppc64el.deb ... 1743s Unpacking libxcb-shm0:ppc64el (1.17.0-2) ... 1743s Selecting previously unselected package libxrender1:ppc64el. 1743s Preparing to unpack .../040-libxrender1_1%3a0.9.10-1.1build1_ppc64el.deb ... 1743s Unpacking libxrender1:ppc64el (1:0.9.10-1.1build1) ... 1743s Selecting previously unselected package libcairo2:ppc64el. 1743s Preparing to unpack .../041-libcairo2_1.18.2-2_ppc64el.deb ... 1743s Unpacking libcairo2:ppc64el (1.18.2-2) ... 1743s Selecting previously unselected package libcairo-gobject2:ppc64el. 1743s Preparing to unpack .../042-libcairo-gobject2_1.18.2-2_ppc64el.deb ... 1743s Unpacking libcairo-gobject2:ppc64el (1.18.2-2) ... 1743s Selecting previously unselected package libcolord2:ppc64el. 1743s Preparing to unpack .../043-libcolord2_1.4.7-1build2_ppc64el.deb ... 1743s Unpacking libcolord2:ppc64el (1.4.7-1build2) ... 1743s Selecting previously unselected package libavahi-common-data:ppc64el. 1743s Preparing to unpack .../044-libavahi-common-data_0.8-14ubuntu1_ppc64el.deb ... 1743s Unpacking libavahi-common-data:ppc64el (0.8-14ubuntu1) ... 1743s Selecting previously unselected package libavahi-common3:ppc64el. 1743s Preparing to unpack .../045-libavahi-common3_0.8-14ubuntu1_ppc64el.deb ... 1743s Unpacking libavahi-common3:ppc64el (0.8-14ubuntu1) ... 1743s Selecting previously unselected package libavahi-client3:ppc64el. 1743s Preparing to unpack .../046-libavahi-client3_0.8-14ubuntu1_ppc64el.deb ... 1743s Unpacking libavahi-client3:ppc64el (0.8-14ubuntu1) ... 1743s Selecting previously unselected package libcups2t64:ppc64el. 1743s Preparing to unpack .../047-libcups2t64_2.4.11-0ubuntu2_ppc64el.deb ... 1743s Unpacking libcups2t64:ppc64el (2.4.11-0ubuntu2) ... 1743s Selecting previously unselected package libepoxy0:ppc64el. 1743s Preparing to unpack .../048-libepoxy0_1.5.10-2_ppc64el.deb ... 1743s Unpacking libepoxy0:ppc64el (1.5.10-2) ... 1743s Selecting previously unselected package libgraphite2-3:ppc64el. 1743s Preparing to unpack .../049-libgraphite2-3_1.3.14-2ubuntu1_ppc64el.deb ... 1743s Unpacking libgraphite2-3:ppc64el (1.3.14-2ubuntu1) ... 1743s Selecting previously unselected package libharfbuzz0b:ppc64el. 1743s Preparing to unpack .../050-libharfbuzz0b_10.1.0-1_ppc64el.deb ... 1743s Unpacking libharfbuzz0b:ppc64el (10.1.0-1) ... 1743s Selecting previously unselected package fontconfig. 1743s Preparing to unpack .../051-fontconfig_2.15.0-1.1ubuntu2_ppc64el.deb ... 1743s Unpacking fontconfig (2.15.0-1.1ubuntu2) ... 1743s Selecting previously unselected package libthai-data. 1743s Preparing to unpack .../052-libthai-data_0.1.29-2build1_all.deb ... 1743s Unpacking libthai-data (0.1.29-2build1) ... 1743s Selecting previously unselected package libdatrie1:ppc64el. 1743s Preparing to unpack .../053-libdatrie1_0.2.13-3build1_ppc64el.deb ... 1743s Unpacking libdatrie1:ppc64el (0.2.13-3build1) ... 1743s Selecting previously unselected package libthai0:ppc64el. 1743s Preparing to unpack .../054-libthai0_0.1.29-2build1_ppc64el.deb ... 1743s Unpacking libthai0:ppc64el (0.1.29-2build1) ... 1743s Selecting previously unselected package libpango-1.0-0:ppc64el. 1743s Preparing to unpack .../055-libpango-1.0-0_1.55.0+ds-3_ppc64el.deb ... 1743s Unpacking libpango-1.0-0:ppc64el (1.55.0+ds-3) ... 1743s Selecting previously unselected package libpangoft2-1.0-0:ppc64el. 1743s Preparing to unpack .../056-libpangoft2-1.0-0_1.55.0+ds-3_ppc64el.deb ... 1743s Unpacking libpangoft2-1.0-0:ppc64el (1.55.0+ds-3) ... 1743s Selecting previously unselected package libpangocairo-1.0-0:ppc64el. 1743s Preparing to unpack .../057-libpangocairo-1.0-0_1.55.0+ds-3_ppc64el.deb ... 1743s Unpacking libpangocairo-1.0-0:ppc64el (1.55.0+ds-3) ... 1743s Selecting previously unselected package libwayland-client0:ppc64el. 1743s Preparing to unpack .../058-libwayland-client0_1.23.0-1_ppc64el.deb ... 1743s Unpacking libwayland-client0:ppc64el (1.23.0-1) ... 1743s Selecting previously unselected package libwayland-cursor0:ppc64el. 1743s Preparing to unpack .../059-libwayland-cursor0_1.23.0-1_ppc64el.deb ... 1743s Unpacking libwayland-cursor0:ppc64el (1.23.0-1) ... 1743s Selecting previously unselected package libwayland-egl1:ppc64el. 1743s Preparing to unpack .../060-libwayland-egl1_1.23.0-1_ppc64el.deb ... 1743s Unpacking libwayland-egl1:ppc64el (1.23.0-1) ... 1743s Selecting previously unselected package libxcomposite1:ppc64el. 1743s Preparing to unpack .../061-libxcomposite1_1%3a0.4.6-1_ppc64el.deb ... 1743s Unpacking libxcomposite1:ppc64el (1:0.4.6-1) ... 1743s Selecting previously unselected package libxfixes3:ppc64el. 1743s Preparing to unpack .../062-libxfixes3_1%3a6.0.0-2build1_ppc64el.deb ... 1743s Unpacking libxfixes3:ppc64el (1:6.0.0-2build1) ... 1743s Selecting previously unselected package libxcursor1:ppc64el. 1743s Preparing to unpack .../063-libxcursor1_1%3a1.2.2-1_ppc64el.deb ... 1743s Unpacking libxcursor1:ppc64el (1:1.2.2-1) ... 1743s Selecting previously unselected package libxdamage1:ppc64el. 1743s Preparing to unpack .../064-libxdamage1_1%3a1.1.6-1build1_ppc64el.deb ... 1743s Unpacking libxdamage1:ppc64el (1:1.1.6-1build1) ... 1743s Selecting previously unselected package libxinerama1:ppc64el. 1744s Preparing to unpack .../065-libxinerama1_2%3a1.1.4-3build1_ppc64el.deb ... 1744s Unpacking libxinerama1:ppc64el (2:1.1.4-3build1) ... 1744s Selecting previously unselected package libxrandr2:ppc64el. 1744s Preparing to unpack .../066-libxrandr2_2%3a1.5.4-1_ppc64el.deb ... 1744s Unpacking libxrandr2:ppc64el (2:1.5.4-1) ... 1744s Selecting previously unselected package libdconf1:ppc64el. 1744s Preparing to unpack .../067-libdconf1_0.40.0-4build2_ppc64el.deb ... 1744s Unpacking libdconf1:ppc64el (0.40.0-4build2) ... 1744s Selecting previously unselected package dconf-service. 1744s Preparing to unpack .../068-dconf-service_0.40.0-4build2_ppc64el.deb ... 1744s Unpacking dconf-service (0.40.0-4build2) ... 1744s Selecting previously unselected package dconf-gsettings-backend:ppc64el. 1744s Preparing to unpack .../069-dconf-gsettings-backend_0.40.0-4build2_ppc64el.deb ... 1744s Unpacking dconf-gsettings-backend:ppc64el (0.40.0-4build2) ... 1744s Selecting previously unselected package libgtk-3-common. 1744s Preparing to unpack .../070-libgtk-3-common_3.24.43-4ubuntu1_all.deb ... 1744s Unpacking libgtk-3-common (3.24.43-4ubuntu1) ... 1744s Selecting previously unselected package libgtk-3-0t64:ppc64el. 1744s Preparing to unpack .../071-libgtk-3-0t64_3.24.43-4ubuntu1_ppc64el.deb ... 1744s Unpacking libgtk-3-0t64:ppc64el (3.24.43-4ubuntu1) ... 1744s Selecting previously unselected package libglvnd0:ppc64el. 1744s Preparing to unpack .../072-libglvnd0_1.7.0-1build1_ppc64el.deb ... 1744s Unpacking libglvnd0:ppc64el (1.7.0-1build1) ... 1744s Selecting previously unselected package libglapi-mesa:ppc64el. 1744s Preparing to unpack .../073-libglapi-mesa_24.2.8-1ubuntu1_ppc64el.deb ... 1744s Unpacking libglapi-mesa:ppc64el (24.2.8-1ubuntu1) ... 1744s Selecting previously unselected package libx11-xcb1:ppc64el. 1744s Preparing to unpack .../074-libx11-xcb1_2%3a1.8.10-2_ppc64el.deb ... 1744s Unpacking libx11-xcb1:ppc64el (2:1.8.10-2) ... 1744s Selecting previously unselected package libxcb-dri2-0:ppc64el. 1744s Preparing to unpack .../075-libxcb-dri2-0_1.17.0-2_ppc64el.deb ... 1744s Unpacking libxcb-dri2-0:ppc64el (1.17.0-2) ... 1744s Selecting previously unselected package libxcb-dri3-0:ppc64el. 1744s Preparing to unpack .../076-libxcb-dri3-0_1.17.0-2_ppc64el.deb ... 1744s Unpacking libxcb-dri3-0:ppc64el (1.17.0-2) ... 1744s Selecting previously unselected package libxcb-glx0:ppc64el. 1744s Preparing to unpack .../077-libxcb-glx0_1.17.0-2_ppc64el.deb ... 1744s Unpacking libxcb-glx0:ppc64el (1.17.0-2) ... 1744s Selecting previously unselected package libxcb-present0:ppc64el. 1744s Preparing to unpack .../078-libxcb-present0_1.17.0-2_ppc64el.deb ... 1744s Unpacking libxcb-present0:ppc64el (1.17.0-2) ... 1744s Selecting previously unselected package libxcb-randr0:ppc64el. 1744s Preparing to unpack .../079-libxcb-randr0_1.17.0-2_ppc64el.deb ... 1744s Unpacking libxcb-randr0:ppc64el (1.17.0-2) ... 1744s Selecting previously unselected package libxcb-sync1:ppc64el. 1744s Preparing to unpack .../080-libxcb-sync1_1.17.0-2_ppc64el.deb ... 1744s Unpacking libxcb-sync1:ppc64el (1.17.0-2) ... 1744s Selecting previously unselected package libxcb-xfixes0:ppc64el. 1744s Preparing to unpack .../081-libxcb-xfixes0_1.17.0-2_ppc64el.deb ... 1744s Unpacking libxcb-xfixes0:ppc64el (1.17.0-2) ... 1744s Selecting previously unselected package libxshmfence1:ppc64el. 1744s Preparing to unpack .../082-libxshmfence1_1.3-1build5_ppc64el.deb ... 1744s Unpacking libxshmfence1:ppc64el (1.3-1build5) ... 1744s Selecting previously unselected package libxxf86vm1:ppc64el. 1744s Preparing to unpack .../083-libxxf86vm1_1%3a1.1.4-1build4_ppc64el.deb ... 1744s Unpacking libxxf86vm1:ppc64el (1:1.1.4-1build4) ... 1744s Selecting previously unselected package libdrm-radeon1:ppc64el. 1744s Preparing to unpack .../084-libdrm-radeon1_2.4.123-1_ppc64el.deb ... 1744s Unpacking libdrm-radeon1:ppc64el (2.4.123-1) ... 1744s Selecting previously unselected package mesa-libgallium:ppc64el. 1744s Preparing to unpack .../085-mesa-libgallium_24.2.8-1ubuntu1_ppc64el.deb ... 1744s Unpacking mesa-libgallium:ppc64el (24.2.8-1ubuntu1) ... 1744s Selecting previously unselected package libvulkan1:ppc64el. 1744s Preparing to unpack .../086-libvulkan1_1.3.296.0-1_ppc64el.deb ... 1744s Unpacking libvulkan1:ppc64el (1.3.296.0-1) ... 1744s Selecting previously unselected package libwayland-server0:ppc64el. 1744s Preparing to unpack .../087-libwayland-server0_1.23.0-1_ppc64el.deb ... 1744s Unpacking libwayland-server0:ppc64el (1.23.0-1) ... 1744s Selecting previously unselected package libgbm1:ppc64el. 1744s Preparing to unpack .../088-libgbm1_24.2.8-1ubuntu1_ppc64el.deb ... 1744s Unpacking libgbm1:ppc64el (24.2.8-1ubuntu1) ... 1744s Selecting previously unselected package libgl1-mesa-dri:ppc64el. 1744s Preparing to unpack .../089-libgl1-mesa-dri_24.2.8-1ubuntu1_ppc64el.deb ... 1744s Unpacking libgl1-mesa-dri:ppc64el (24.2.8-1ubuntu1) ... 1744s Selecting previously unselected package libglx-mesa0:ppc64el. 1744s Preparing to unpack .../090-libglx-mesa0_24.2.8-1ubuntu1_ppc64el.deb ... 1744s Unpacking libglx-mesa0:ppc64el (24.2.8-1ubuntu1) ... 1744s Selecting previously unselected package libglx0:ppc64el. 1744s Preparing to unpack .../091-libglx0_1.7.0-1build1_ppc64el.deb ... 1744s Unpacking libglx0:ppc64el (1.7.0-1build1) ... 1744s Selecting previously unselected package libgl1:ppc64el. 1744s Preparing to unpack .../092-libgl1_1.7.0-1build1_ppc64el.deb ... 1744s Unpacking libgl1:ppc64el (1.7.0-1build1) ... 1744s Selecting previously unselected package libasound2-data. 1744s Preparing to unpack .../093-libasound2-data_1.2.12-1_all.deb ... 1744s Unpacking libasound2-data (1.2.12-1) ... 1744s Selecting previously unselected package libasound2t64:ppc64el. 1744s Preparing to unpack .../094-libasound2t64_1.2.12-1_ppc64el.deb ... 1744s Unpacking libasound2t64:ppc64el (1.2.12-1) ... 1744s Selecting previously unselected package libgif7:ppc64el. 1744s Preparing to unpack .../095-libgif7_5.2.2-1ubuntu1_ppc64el.deb ... 1744s Unpacking libgif7:ppc64el (5.2.2-1ubuntu1) ... 1745s Selecting previously unselected package x11-common. 1745s Preparing to unpack .../096-x11-common_1%3a7.7+23ubuntu3_all.deb ... 1745s Unpacking x11-common (1:7.7+23ubuntu3) ... 1745s Selecting previously unselected package libxtst6:ppc64el. 1745s Preparing to unpack .../097-libxtst6_2%3a1.2.3-1.1build1_ppc64el.deb ... 1745s Unpacking libxtst6:ppc64el (2:1.2.3-1.1build1) ... 1745s Selecting previously unselected package openjdk-21-jre:ppc64el. 1745s Preparing to unpack .../098-openjdk-21-jre_21.0.5+11-1_ppc64el.deb ... 1745s Unpacking openjdk-21-jre:ppc64el (21.0.5+11-1) ... 1745s Selecting previously unselected package default-jre. 1745s Preparing to unpack .../099-default-jre_2%3a1.21-76_ppc64el.deb ... 1745s Unpacking default-jre (2:1.21-76) ... 1745s Selecting previously unselected package libhamcrest-java. 1745s Preparing to unpack .../100-libhamcrest-java_2.2-2_all.deb ... 1745s Unpacking libhamcrest-java (2.2-2) ... 1745s Selecting previously unselected package junit4. 1745s Preparing to unpack .../101-junit4_4.13.2-5_all.deb ... 1745s Unpacking junit4 (4.13.2-5) ... 1745s Selecting previously unselected package libcommons-cli-java. 1745s Preparing to unpack .../102-libcommons-cli-java_1.6.0-1_all.deb ... 1745s Unpacking libcommons-cli-java (1.6.0-1) ... 1745s Selecting previously unselected package libapache-pom-java. 1745s Preparing to unpack .../103-libapache-pom-java_33-2_all.deb ... 1745s Unpacking libapache-pom-java (33-2) ... 1745s Selecting previously unselected package libcommons-parent-java. 1745s Preparing to unpack .../104-libcommons-parent-java_56-1_all.deb ... 1745s Unpacking libcommons-parent-java (56-1) ... 1745s Selecting previously unselected package libcommons-io-java. 1745s Preparing to unpack .../105-libcommons-io-java_2.17.0-1_all.deb ... 1745s Unpacking libcommons-io-java (2.17.0-1) ... 1745s Selecting previously unselected package libdropwizard-metrics-java. 1745s Preparing to unpack .../106-libdropwizard-metrics-java_3.2.6-1_all.deb ... 1745s Unpacking libdropwizard-metrics-java (3.2.6-1) ... 1745s Selecting previously unselected package libfindbugs-annotations-java. 1745s Preparing to unpack .../107-libfindbugs-annotations-java_3.1.0~preview2-4_all.deb ... 1745s Unpacking libfindbugs-annotations-java (3.1.0~preview2-4) ... 1745s Selecting previously unselected package libatinject-jsr330-api-java. 1745s Preparing to unpack .../108-libatinject-jsr330-api-java_1.0+ds1-5_all.deb ... 1745s Unpacking libatinject-jsr330-api-java (1.0+ds1-5) ... 1745s Selecting previously unselected package liberror-prone-java. 1745s Preparing to unpack .../109-liberror-prone-java_2.18.0-1_all.deb ... 1745s Unpacking liberror-prone-java (2.18.0-1) ... 1745s Selecting previously unselected package libjsr305-java. 1745s Preparing to unpack .../110-libjsr305-java_0.1~+svn49-11_all.deb ... 1745s Unpacking libjsr305-java (0.1~+svn49-11) ... 1745s Selecting previously unselected package libguava-java. 1745s Preparing to unpack .../111-libguava-java_32.0.1-1_all.deb ... 1745s Unpacking libguava-java (32.0.1-1) ... 1745s Selecting previously unselected package libjackson2-annotations-java. 1745s Preparing to unpack .../112-libjackson2-annotations-java_2.14.0-1_all.deb ... 1745s Unpacking libjackson2-annotations-java (2.14.0-1) ... 1745s Selecting previously unselected package libjackson2-core-java. 1745s Preparing to unpack .../113-libjackson2-core-java_2.14.1-1_all.deb ... 1745s Unpacking libjackson2-core-java (2.14.1-1) ... 1745s Selecting previously unselected package libjackson2-databind-java. 1745s Preparing to unpack .../114-libjackson2-databind-java_2.14.0-1_all.deb ... 1745s Unpacking libjackson2-databind-java (2.14.0-1) ... 1745s Selecting previously unselected package libasm-java. 1745s Preparing to unpack .../115-libasm-java_9.7.1-1_all.deb ... 1745s Unpacking libasm-java (9.7.1-1) ... 1745s Selecting previously unselected package libel-api-java. 1745s Preparing to unpack .../116-libel-api-java_3.0.0-3_all.deb ... 1745s Unpacking libel-api-java (3.0.0-3) ... 1745s Selecting previously unselected package libjsp-api-java. 1745s Preparing to unpack .../117-libjsp-api-java_2.3.4-3_all.deb ... 1745s Unpacking libjsp-api-java (2.3.4-3) ... 1745s Selecting previously unselected package libservlet-api-java. 1745s Preparing to unpack .../118-libservlet-api-java_4.0.1-2_all.deb ... 1745s Unpacking libservlet-api-java (4.0.1-2) ... 1745s Selecting previously unselected package libwebsocket-api-java. 1745s Preparing to unpack .../119-libwebsocket-api-java_1.1-2_all.deb ... 1745s Unpacking libwebsocket-api-java (1.1-2) ... 1745s Selecting previously unselected package libjetty9-java. 1745s Preparing to unpack .../120-libjetty9-java_9.4.56-1_all.deb ... 1745s Unpacking libjetty9-java (9.4.56-1) ... 1745s Selecting previously unselected package libjnr-constants-java. 1745s Preparing to unpack .../121-libjnr-constants-java_0.10.4-2_all.deb ... 1745s Unpacking libjnr-constants-java (0.10.4-2) ... 1745s Selecting previously unselected package libjffi-jni:ppc64el. 1745s Preparing to unpack .../122-libjffi-jni_1.3.13+ds-1_ppc64el.deb ... 1745s Unpacking libjffi-jni:ppc64el (1.3.13+ds-1) ... 1745s Selecting previously unselected package libjffi-java. 1745s Preparing to unpack .../123-libjffi-java_1.3.13+ds-1_all.deb ... 1745s Unpacking libjffi-java (1.3.13+ds-1) ... 1745s Selecting previously unselected package libjnr-x86asm-java. 1745s Preparing to unpack .../124-libjnr-x86asm-java_1.0.2-5.1_all.deb ... 1745s Unpacking libjnr-x86asm-java (1.0.2-5.1) ... 1745s Selecting previously unselected package libjnr-ffi-java. 1745s Preparing to unpack .../125-libjnr-ffi-java_2.2.15-2_all.deb ... 1745s Unpacking libjnr-ffi-java (2.2.15-2) ... 1745s Selecting previously unselected package libjnr-enxio-java. 1745s Preparing to unpack .../126-libjnr-enxio-java_0.32.16-1_all.deb ... 1745s Unpacking libjnr-enxio-java (0.32.16-1) ... 1745s Selecting previously unselected package libjnr-posix-java. 1745s Preparing to unpack .../127-libjnr-posix-java_3.1.18-1_all.deb ... 1745s Unpacking libjnr-posix-java (3.1.18-1) ... 1745s Selecting previously unselected package libjnr-unixsocket-java. 1745s Preparing to unpack .../128-libjnr-unixsocket-java_0.38.21-2_all.deb ... 1745s Unpacking libjnr-unixsocket-java (0.38.21-2) ... 1745s Selecting previously unselected package libactivation-java. 1745s Preparing to unpack .../129-libactivation-java_1.2.0-2_all.deb ... 1745s Unpacking libactivation-java (1.2.0-2) ... 1745s Selecting previously unselected package libmail-java. 1745s Preparing to unpack .../130-libmail-java_1.6.5-3_all.deb ... 1745s Unpacking libmail-java (1.6.5-3) ... 1745s Selecting previously unselected package libcommons-logging-java. 1745s Preparing to unpack .../131-libcommons-logging-java_1.3.0-1ubuntu1_all.deb ... 1745s Unpacking libcommons-logging-java (1.3.0-1ubuntu1) ... 1746s Selecting previously unselected package libjaxb-api-java. 1746s Preparing to unpack .../132-libjaxb-api-java_2.3.1-1_all.deb ... 1746s Unpacking libjaxb-api-java (2.3.1-1) ... 1746s Selecting previously unselected package libspring-core-java. 1746s Preparing to unpack .../133-libspring-core-java_4.3.30-2ubuntu1_all.deb ... 1746s Unpacking libspring-core-java (4.3.30-2ubuntu1) ... 1746s Selecting previously unselected package libspring-beans-java. 1746s Preparing to unpack .../134-libspring-beans-java_4.3.30-2ubuntu1_all.deb ... 1746s Unpacking libspring-beans-java (4.3.30-2ubuntu1) ... 1746s Selecting previously unselected package libtaglibs-standard-spec-java. 1746s Preparing to unpack .../135-libtaglibs-standard-spec-java_1.2.5-3_all.deb ... 1746s Unpacking libtaglibs-standard-spec-java (1.2.5-3) ... 1746s Selecting previously unselected package libtaglibs-standard-impl-java. 1746s Preparing to unpack .../136-libtaglibs-standard-impl-java_1.2.5-3_all.deb ... 1746s Unpacking libtaglibs-standard-impl-java (1.2.5-3) ... 1746s Selecting previously unselected package libeclipse-jdt-core-compiler-batch-java. 1746s Preparing to unpack .../137-libeclipse-jdt-core-compiler-batch-java_3.35.0+eclipse4.29-2_all.deb ... 1746s Unpacking libeclipse-jdt-core-compiler-batch-java (3.35.0+eclipse4.29-2) ... 1746s Selecting previously unselected package libeclipse-jdt-core-java. 1746s Preparing to unpack .../138-libeclipse-jdt-core-java_3.35.0+eclipse4.29-2_all.deb ... 1746s Unpacking libeclipse-jdt-core-java (3.35.0+eclipse4.29-2) ... 1746s Selecting previously unselected package libtomcat9-java. 1746s Preparing to unpack .../139-libtomcat9-java_9.0.70-2ubuntu1.1_all.deb ... 1746s Unpacking libtomcat9-java (9.0.70-2ubuntu1.1) ... 1746s Selecting previously unselected package libjetty9-extra-java. 1746s Preparing to unpack .../140-libjetty9-extra-java_9.4.56-1_all.deb ... 1746s Unpacking libjetty9-extra-java (9.4.56-1) ... 1746s Selecting previously unselected package libjctools-java. 1746s Preparing to unpack .../141-libjctools-java_2.0.2-1_all.deb ... 1746s Unpacking libjctools-java (2.0.2-1) ... 1746s Selecting previously unselected package libnetty-java. 1746s Preparing to unpack .../142-libnetty-java_1%3a4.1.48-10_all.deb ... 1746s Unpacking libnetty-java (1:4.1.48-10) ... 1746s Selecting previously unselected package libslf4j-java. 1746s Preparing to unpack .../143-libslf4j-java_1.7.32-1_all.deb ... 1746s Unpacking libslf4j-java (1.7.32-1) ... 1746s Selecting previously unselected package libsnappy1v5:ppc64el. 1746s Preparing to unpack .../144-libsnappy1v5_1.2.1-1_ppc64el.deb ... 1746s Unpacking libsnappy1v5:ppc64el (1.2.1-1) ... 1746s Selecting previously unselected package libsnappy-jni. 1746s Preparing to unpack .../145-libsnappy-jni_1.1.10.7-1_ppc64el.deb ... 1746s Unpacking libsnappy-jni (1.1.10.7-1) ... 1746s Selecting previously unselected package libsnappy-java. 1746s Preparing to unpack .../146-libsnappy-java_1.1.10.7-1_all.deb ... 1746s Unpacking libsnappy-java (1.1.10.7-1) ... 1746s Selecting previously unselected package libapr1t64:ppc64el. 1746s Preparing to unpack .../147-libapr1t64_1.7.5-1_ppc64el.deb ... 1746s Unpacking libapr1t64:ppc64el (1.7.5-1) ... 1746s Selecting previously unselected package libnetty-tcnative-jni. 1746s Preparing to unpack .../148-libnetty-tcnative-jni_2.0.28-1build4_ppc64el.deb ... 1746s Unpacking libnetty-tcnative-jni (2.0.28-1build4) ... 1746s Selecting previously unselected package libnetty-tcnative-java. 1746s Preparing to unpack .../149-libnetty-tcnative-java_2.0.28-1build4_all.deb ... 1746s Unpacking libnetty-tcnative-java (2.0.28-1build4) ... 1746s Selecting previously unselected package liblog4j1.2-java. 1746s Preparing to unpack .../150-liblog4j1.2-java_1.2.17-11_all.deb ... 1746s Unpacking liblog4j1.2-java (1.2.17-11) ... 1746s Selecting previously unselected package libzookeeper-java. 1746s Preparing to unpack .../151-libzookeeper-java_3.9.3-1_all.deb ... 1746s Unpacking libzookeeper-java (3.9.3-1) ... 1746s Selecting previously unselected package zookeeper. 1746s Preparing to unpack .../152-zookeeper_3.9.3-1_all.deb ... 1746s Unpacking zookeeper (3.9.3-1) ... 1746s Selecting previously unselected package zookeeperd. 1746s Preparing to unpack .../153-zookeeperd_3.9.3-1_all.deb ... 1746s Unpacking zookeeperd (3.9.3-1) ... 1746s Selecting previously unselected package fonts-font-awesome. 1746s Preparing to unpack .../154-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 1746s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 1746s Selecting previously unselected package libcares2:ppc64el. 1746s Preparing to unpack .../155-libcares2_1.34.4-2.1_ppc64el.deb ... 1746s Unpacking libcares2:ppc64el (1.34.4-2.1) ... 1746s Selecting previously unselected package libev4t64:ppc64el. 1746s Preparing to unpack .../156-libev4t64_1%3a4.33-2.1build1_ppc64el.deb ... 1746s Unpacking libev4t64:ppc64el (1:4.33-2.1build1) ... 1746s Selecting previously unselected package libio-pty-perl. 1746s Preparing to unpack .../157-libio-pty-perl_1%3a1.20-1build3_ppc64el.deb ... 1746s Unpacking libio-pty-perl (1:1.20-1build3) ... 1746s Selecting previously unselected package libipc-run-perl. 1746s Preparing to unpack .../158-libipc-run-perl_20231003.0-2_all.deb ... 1746s Unpacking libipc-run-perl (20231003.0-2) ... 1746s Selecting previously unselected package libjs-jquery. 1746s Preparing to unpack .../159-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 1746s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 1746s Selecting previously unselected package libjs-underscore. 1746s Preparing to unpack .../160-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 1746s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 1746s Selecting previously unselected package libjs-sphinxdoc. 1746s Preparing to unpack .../161-libjs-sphinxdoc_8.1.3-4_all.deb ... 1746s Unpacking libjs-sphinxdoc (8.1.3-4) ... 1746s Selecting previously unselected package libpq5:ppc64el. 1747s Preparing to unpack .../162-libpq5_17.2-1_ppc64el.deb ... 1747s Unpacking libpq5:ppc64el (17.2-1) ... 1747s Selecting previously unselected package libpython3.13-stdlib:ppc64el. 1747s Preparing to unpack .../163-libpython3.13-stdlib_3.13.1-2_ppc64el.deb ... 1747s Unpacking libpython3.13-stdlib:ppc64el (3.13.1-2) ... 1747s Selecting previously unselected package libtime-duration-perl. 1747s Preparing to unpack .../164-libtime-duration-perl_1.21-2_all.deb ... 1747s Unpacking libtime-duration-perl (1.21-2) ... 1747s Selecting previously unselected package libtimedate-perl. 1747s Preparing to unpack .../165-libtimedate-perl_2.3300-2_all.deb ... 1747s Unpacking libtimedate-perl (2.3300-2) ... 1747s Selecting previously unselected package libxslt1.1:ppc64el. 1747s Preparing to unpack .../166-libxslt1.1_1.1.39-0exp1ubuntu2_ppc64el.deb ... 1747s Unpacking libxslt1.1:ppc64el (1.1.39-0exp1ubuntu2) ... 1747s Selecting previously unselected package moreutils. 1747s Preparing to unpack .../167-moreutils_0.69-1_ppc64el.deb ... 1747s Unpacking moreutils (0.69-1) ... 1747s Selecting previously unselected package python3-ydiff. 1747s Preparing to unpack .../168-python3-ydiff_1.4.2-1_all.deb ... 1747s Unpacking python3-ydiff (1.4.2-1) ... 1747s Selecting previously unselected package python3-cdiff. 1747s Preparing to unpack .../169-python3-cdiff_1.4.2-1_all.deb ... 1747s Unpacking python3-cdiff (1.4.2-1) ... 1747s Selecting previously unselected package python3-colorama. 1747s Preparing to unpack .../170-python3-colorama_0.4.6-4_all.deb ... 1747s Unpacking python3-colorama (0.4.6-4) ... 1747s Selecting previously unselected package python3-click. 1747s Preparing to unpack .../171-python3-click_8.1.7-2_all.deb ... 1747s Unpacking python3-click (8.1.7-2) ... 1747s Selecting previously unselected package python3-dateutil. 1747s Preparing to unpack .../172-python3-dateutil_2.9.0-3_all.deb ... 1747s Unpacking python3-dateutil (2.9.0-3) ... 1747s Selecting previously unselected package python3-wcwidth. 1747s Preparing to unpack .../173-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 1747s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 1747s Selecting previously unselected package python3-prettytable. 1747s Preparing to unpack .../174-python3-prettytable_3.12.0-1_all.deb ... 1747s Unpacking python3-prettytable (3.12.0-1) ... 1747s Selecting previously unselected package python3-psutil. 1747s Preparing to unpack .../175-python3-psutil_5.9.8-2build3_ppc64el.deb ... 1747s Unpacking python3-psutil (5.9.8-2build3) ... 1747s Selecting previously unselected package python3-psycopg2. 1747s Preparing to unpack .../176-python3-psycopg2_2.9.10-1_ppc64el.deb ... 1747s Unpacking python3-psycopg2 (2.9.10-1) ... 1747s Selecting previously unselected package python3-greenlet. 1747s Preparing to unpack .../177-python3-greenlet_3.1.0-1_ppc64el.deb ... 1747s Unpacking python3-greenlet (3.1.0-1) ... 1747s Selecting previously unselected package python3-dnspython. 1747s Preparing to unpack .../178-python3-dnspython_2.6.1-1ubuntu1_all.deb ... 1747s Unpacking python3-dnspython (2.6.1-1ubuntu1) ... 1747s Selecting previously unselected package python3-eventlet. 1747s Preparing to unpack .../179-python3-eventlet_0.36.1-11ubuntu1_all.deb ... 1747s Unpacking python3-eventlet (0.36.1-11ubuntu1) ... 1747s Selecting previously unselected package python3-zope.event. 1747s Preparing to unpack .../180-python3-zope.event_5.0-0.1_all.deb ... 1747s Unpacking python3-zope.event (5.0-0.1) ... 1747s Selecting previously unselected package python3-zope.interface. 1747s Preparing to unpack .../181-python3-zope.interface_7.2-1_ppc64el.deb ... 1747s Unpacking python3-zope.interface (7.2-1) ... 1747s Selecting previously unselected package python3-gevent. 1747s Preparing to unpack .../182-python3-gevent_24.11.1-1_ppc64el.deb ... 1747s Unpacking python3-gevent (24.11.1-1) ... 1747s Selecting previously unselected package python3-kerberos. 1747s Preparing to unpack .../183-python3-kerberos_1.1.14-3.1build10_ppc64el.deb ... 1747s Unpacking python3-kerberos (1.1.14-3.1build10) ... 1747s Selecting previously unselected package python3-pure-sasl. 1747s Preparing to unpack .../184-python3-pure-sasl_0.5.1+dfsg1-5_all.deb ... 1747s Unpacking python3-pure-sasl (0.5.1+dfsg1-5) ... 1747s Selecting previously unselected package python3-six. 1747s Preparing to unpack .../185-python3-six_1.17.0-1_all.deb ... 1747s Unpacking python3-six (1.17.0-1) ... 1747s Selecting previously unselected package python3-kazoo. 1747s Preparing to unpack .../186-python3-kazoo_2.9.0-2_all.deb ... 1747s Unpacking python3-kazoo (2.9.0-2) ... 1747s Selecting previously unselected package patroni. 1747s Preparing to unpack .../187-patroni_3.3.4-1_all.deb ... 1747s Unpacking patroni (3.3.4-1) ... 1747s Selecting previously unselected package sphinx-rtd-theme-common. 1747s Preparing to unpack .../188-sphinx-rtd-theme-common_3.0.2+dfsg-1_all.deb ... 1747s Unpacking sphinx-rtd-theme-common (3.0.2+dfsg-1) ... 1747s Selecting previously unselected package patroni-doc. 1747s Preparing to unpack .../189-patroni-doc_3.3.4-1_all.deb ... 1747s Unpacking patroni-doc (3.3.4-1) ... 1747s Selecting previously unselected package postgresql-client-16. 1747s Preparing to unpack .../190-postgresql-client-16_16.4-3_ppc64el.deb ... 1747s Unpacking postgresql-client-16 (16.4-3) ... 1748s Selecting previously unselected package postgresql-16. 1748s Preparing to unpack .../191-postgresql-16_16.4-3_ppc64el.deb ... 1748s Unpacking postgresql-16 (16.4-3) ... 1748s Selecting previously unselected package postgresql. 1748s Preparing to unpack .../192-postgresql_16+262_all.deb ... 1748s Unpacking postgresql (16+262) ... 1748s Selecting previously unselected package python3-parse. 1748s Preparing to unpack .../193-python3-parse_1.20.2-1_all.deb ... 1748s Unpacking python3-parse (1.20.2-1) ... 1748s Selecting previously unselected package python3-parse-type. 1748s Preparing to unpack .../194-python3-parse-type_0.6.4-1_all.deb ... 1748s Unpacking python3-parse-type (0.6.4-1) ... 1748s Selecting previously unselected package python3-behave. 1748s Preparing to unpack .../195-python3-behave_1.2.6-6_all.deb ... 1748s Unpacking python3-behave (1.2.6-6) ... 1748s Selecting previously unselected package python3.13. 1748s Preparing to unpack .../196-python3.13_3.13.1-2_ppc64el.deb ... 1748s Unpacking python3.13 (3.13.1-2) ... 1748s Selecting previously unselected package python3-coverage. 1748s Preparing to unpack .../197-python3-coverage_7.4.4+dfsg1-0ubuntu3_ppc64el.deb ... 1748s Unpacking python3-coverage (7.4.4+dfsg1-0ubuntu3) ... 1748s Setting up postgresql-client-common (262) ... 1748s Setting up libgraphite2-3:ppc64el (1.3.14-2ubuntu1) ... 1748s Setting up libxcb-dri3-0:ppc64el (1.17.0-2) ... 1748s Setting up liblcms2-2:ppc64el (2.16-2) ... 1748s Setting up libtaglibs-standard-spec-java (1.2.5-3) ... 1748s Setting up libpixman-1-0:ppc64el (0.44.0-3) ... 1748s Setting up libev4t64:ppc64el (1:4.33-2.1build1) ... 1748s Setting up libjackson2-annotations-java (2.14.0-1) ... 1748s Setting up libsharpyuv0:ppc64el (1.4.0-0.1) ... 1748s Setting up libwayland-server0:ppc64el (1.23.0-1) ... 1748s Setting up libx11-xcb1:ppc64el (2:1.8.10-2) ... 1748s Setting up libslf4j-java (1.7.32-1) ... 1748s Setting up fonts-lato (2.015-1) ... 1748s Setting up libeclipse-jdt-core-compiler-batch-java (3.35.0+eclipse4.29-2) ... 1748s Setting up libxdamage1:ppc64el (1:1.1.6-1build1) ... 1748s Setting up libxcb-xfixes0:ppc64el (1.17.0-2) ... 1748s Setting up liblerc4:ppc64el (4.0.0+ds-5ubuntu1) ... 1748s Setting up libjsr305-java (0.1~+svn49-11) ... 1748s Setting up hicolor-icon-theme (0.18-1) ... 1748s Setting up libxi6:ppc64el (2:1.8.2-1) ... 1748s Setting up java-common (0.76) ... 1748s Setting up libxrender1:ppc64el (1:0.9.10-1.1build1) ... 1748s Setting up libdatrie1:ppc64el (0.2.13-3build1) ... 1748s Setting up libcommons-cli-java (1.6.0-1) ... 1748s Setting up libio-pty-perl (1:1.20-1build3) ... 1748s Setting up python3-colorama (0.4.6-4) ... 1748s Setting up libxcb-render0:ppc64el (1.17.0-2) ... 1748s Setting up python3-zope.event (5.0-0.1) ... 1749s Setting up python3-zope.interface (7.2-1) ... 1749s Setting up libdrm-radeon1:ppc64el (2.4.123-1) ... 1749s Setting up libglvnd0:ppc64el (1.7.0-1build1) ... 1749s Setting up libxcb-glx0:ppc64el (1.17.0-2) ... 1749s Setting up libgdk-pixbuf2.0-common (2.42.12+dfsg-1) ... 1749s Setting up python3-ydiff (1.4.2-1) ... 1749s Setting up libasm-java (9.7.1-1) ... 1749s Setting up x11-common (1:7.7+23ubuntu3) ... 1750s Setting up libpq5:ppc64el (17.2-1) ... 1750s Setting up libdeflate0:ppc64el (1.22-1) ... 1750s Setting up python3-kerberos (1.1.14-3.1build10) ... 1750s Setting up liblog4j1.2-java (1.2.17-11) ... 1750s Setting up libel-api-java (3.0.0-3) ... 1750s Setting up libxcb-shm0:ppc64el (1.17.0-2) ... 1750s Setting up python3-click (8.1.7-2) ... 1750s Setting up libjnr-x86asm-java (1.0.2-5.1) ... 1750s Setting up libjbig0:ppc64el (2.1-6.1ubuntu2) ... 1750s Setting up libcolord2:ppc64el (1.4.7-1build2) ... 1750s Setting up python3-psutil (5.9.8-2build3) ... 1751s Setting up libeclipse-jdt-core-java (3.35.0+eclipse4.29-2) ... 1751s Setting up libxxf86vm1:ppc64el (1:1.1.4-1build4) ... 1751s Setting up libsnappy1v5:ppc64el (1.2.1-1) ... 1751s Setting up libxcb-present0:ppc64el (1.17.0-2) ... 1751s Setting up libtaglibs-standard-impl-java (1.2.5-3) ... 1751s Setting up libdconf1:ppc64el (0.40.0-4build2) ... 1751s Setting up libjctools-java (2.0.2-1) ... 1751s Setting up libdropwizard-metrics-java (3.2.6-1) ... 1751s Setting up python3-six (1.17.0-1) ... 1751s Setting up libpython3.13-minimal:ppc64el (3.13.1-2) ... 1751s Setting up libasound2-data (1.2.12-1) ... 1751s Setting up libasound2t64:ppc64el (1.2.12-1) ... 1751s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 1751s Setting up libfindbugs-annotations-java (3.1.0~preview2-4) ... 1751s Setting up libepoxy0:ppc64el (1.5.10-2) ... 1751s Setting up ssl-cert (1.1.3ubuntu1) ... 1752s Created symlink '/etc/systemd/system/multi-user.target.wants/ssl-cert.service' → '/usr/lib/systemd/system/ssl-cert.service'. 1752s Setting up libxfixes3:ppc64el (1:6.0.0-2build1) ... 1752s Setting up libxcb-sync1:ppc64el (1.17.0-2) ... 1752s Setting up libapache-pom-java (33-2) ... 1752s Setting up libavahi-common-data:ppc64el (0.8-14ubuntu1) ... 1752s Setting up libatinject-jsr330-api-java (1.0+ds1-5) ... 1752s Setting up libatspi2.0-0t64:ppc64el (2.54.0-1) ... 1752s Setting up libwebsocket-api-java (1.1-2) ... 1752s Setting up python3-greenlet (3.1.0-1) ... 1752s Setting up libxinerama1:ppc64el (2:1.1.4-3build1) ... 1752s Setting up fonts-dejavu-mono (2.37-8) ... 1752s Setting up libcares2:ppc64el (1.34.4-2.1) ... 1752s Setting up libxrandr2:ppc64el (2:1.5.4-1) ... 1752s Setting up python3-psycopg2 (2.9.10-1) ... 1752s Setting up fonts-dejavu-core (2.37-8) ... 1752s Setting up libipc-run-perl (20231003.0-2) ... 1752s Setting up libpcsclite1:ppc64el (2.3.0-3) ... 1752s Setting up libjpeg-turbo8:ppc64el (2.1.5-3ubuntu2) ... 1752s Setting up libactivation-java (1.2.0-2) ... 1752s Setting up libtomcat9-java (9.0.70-2ubuntu1.1) ... 1752s Setting up libhamcrest-java (2.2-2) ... 1752s Setting up libglapi-mesa:ppc64el (24.2.8-1ubuntu1) ... 1752s Setting up libjsp-api-java (2.3.4-3) ... 1752s Setting up libvulkan1:ppc64el (1.3.296.0-1) ... 1752s Setting up libtime-duration-perl (1.21-2) ... 1752s Setting up libwebp7:ppc64el (1.4.0-0.1) ... 1752s Setting up libtimedate-perl (2.3300-2) ... 1752s Setting up libxcb-dri2-0:ppc64el (1.17.0-2) ... 1752s Setting up libgif7:ppc64el (5.2.2-1ubuntu1) ... 1752s Setting up libxshmfence1:ppc64el (1.3-1build5) ... 1752s Setting up libmail-java (1.6.5-3) ... 1752s Setting up at-spi2-common (2.54.0-1) ... 1752s Setting up python3-dnspython (2.6.1-1ubuntu1) ... 1753s Setting up libnetty-java (1:4.1.48-10) ... 1753s Setting up libxcb-randr0:ppc64el (1.17.0-2) ... 1753s Setting up python3-parse (1.20.2-1) ... 1753s Setting up libapr1t64:ppc64el (1.7.5-1) ... 1753s Setting up libjson-perl (4.10000-1) ... 1753s Setting up libxslt1.1:ppc64el (1.1.39-0exp1ubuntu2) ... 1753s Setting up libservlet-api-java (4.0.1-2) ... 1753s Setting up libjackson2-core-java (2.14.1-1) ... 1753s Setting up python3.13-minimal (3.13.1-2) ... 1754s Setting up libharfbuzz0b:ppc64el (10.1.0-1) ... 1754s Setting up libthai-data (0.1.29-2build1) ... 1754s Setting up python3-dateutil (2.9.0-3) ... 1754s Setting up libjffi-jni:ppc64el (1.3.13+ds-1) ... 1754s Setting up libwayland-egl1:ppc64el (1.23.0-1) ... 1754s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 1754s Setting up ca-certificates-java (20240118) ... 1754s No JRE found. Skipping Java certificates setup. 1754s Setting up python3-prettytable (3.12.0-1) ... 1755s Setting up libsnappy-jni (1.1.10.7-1) ... 1755s Setting up libxcomposite1:ppc64el (1:0.4.6-1) ... 1755s Setting up libpython3.13-stdlib:ppc64el (3.13.1-2) ... 1755s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 1755s Setting up sphinx-rtd-theme-common (3.0.2+dfsg-1) ... 1755s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 1755s Setting up libjnr-constants-java (0.10.4-2) ... 1755s Setting up libwayland-client0:ppc64el (1.23.0-1) ... 1755s Setting up libjpeg8:ppc64el (8c-2ubuntu11) ... 1755s Setting up libjaxb-api-java (2.3.1-1) ... 1755s Setting up libjffi-java (1.3.13+ds-1) ... 1755s Setting up mesa-libgallium:ppc64el (24.2.8-1ubuntu1) ... 1755s Setting up libjetty9-java (9.4.56-1) ... 1755s Setting up moreutils (0.69-1) ... 1755s Setting up libatk1.0-0t64:ppc64el (2.54.0-1) ... 1755s Setting up openjdk-21-jre-headless:ppc64el (21.0.5+11-1) ... 1755s update-alternatives: using /usr/lib/jvm/java-21-openjdk-ppc64el/bin/java to provide /usr/bin/java (java) in auto mode 1755s update-alternatives: using /usr/lib/jvm/java-21-openjdk-ppc64el/bin/jpackage to provide /usr/bin/jpackage (jpackage) in auto mode 1755s update-alternatives: using /usr/lib/jvm/java-21-openjdk-ppc64el/bin/keytool to provide /usr/bin/keytool (keytool) in auto mode 1755s update-alternatives: using /usr/lib/jvm/java-21-openjdk-ppc64el/bin/rmiregistry to provide /usr/bin/rmiregistry (rmiregistry) in auto mode 1755s update-alternatives: using /usr/lib/jvm/java-21-openjdk-ppc64el/lib/jexec to provide /usr/bin/jexec (jexec) in auto mode 1755s Setting up python3-pure-sasl (0.5.1+dfsg1-5) ... 1755s Setting up libgbm1:ppc64el (24.2.8-1ubuntu1) ... 1755s Setting up python3.13 (3.13.1-2) ... 1756s Setting up fontconfig-config (2.15.0-1.1ubuntu2) ... 1756s Setting up libxtst6:ppc64el (2:1.2.3-1.1build1) ... 1756s Setting up libxcursor1:ppc64el (1:1.2.2-1) ... 1756s Setting up postgresql-client-16 (16.4-3) ... 1756s 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 1756s Setting up python3-cdiff (1.4.2-1) ... 1756s Setting up libgl1-mesa-dri:ppc64el (24.2.8-1ubuntu1) ... 1757s Setting up libcommons-parent-java (56-1) ... 1757s Setting up libavahi-common3:ppc64el (0.8-14ubuntu1) ... 1757s Setting up libcommons-logging-java (1.3.0-1ubuntu1) ... 1757s Setting up python3-coverage (7.4.4+dfsg1-0ubuntu3) ... 1757s Setting up dconf-service (0.40.0-4build2) ... 1757s Setting up python3-gevent (24.11.1-1) ... 1757s Setting up libjackson2-databind-java (2.14.0-1) ... 1757s Setting up libthai0:ppc64el (0.1.29-2build1) ... 1757s Setting up python3-parse-type (0.6.4-1) ... 1758s Setting up python3-eventlet (0.36.1-11ubuntu1) ... 1758s Setting up libnetty-tcnative-jni (2.0.28-1build4) ... 1758s Setting up python3-kazoo (2.9.0-2) ... 1759s Setting up postgresql-common (262) ... 1759s Creating config file /etc/postgresql-common/createcluster.conf with new version 1759s Building PostgreSQL dictionaries from installed myspell/hunspell packages... 1759s Removing obsolete dictionary files: 1760s Created symlink '/etc/systemd/system/multi-user.target.wants/postgresql.service' → '/usr/lib/systemd/system/postgresql.service'. 1760s Setting up libjs-sphinxdoc (8.1.3-4) ... 1760s Setting up libtiff6:ppc64el (4.5.1+git230720-4ubuntu4) ... 1760s Setting up libwayland-cursor0:ppc64el (1.23.0-1) ... 1760s Setting up libgdk-pixbuf-2.0-0:ppc64el (2.42.12+dfsg-1) ... 1760s Setting up python3-behave (1.2.6-6) ... 1760s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 1760s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 1760s /usr/lib/python3/dist-packages/behave/matchers.py:267: SyntaxWarning: invalid escape sequence '\d' 1760s """Registers a custom type that will be available to "parse" 1761s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 1761s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 1761s /usr/lib/python3/dist-packages/behave/matchers.py:267: SyntaxWarning: invalid escape sequence '\d' 1761s """Registers a custom type that will be available to "parse" 1761s Setting up libsnappy-java (1.1.10.7-1) ... 1761s Setting up libfontconfig1:ppc64el (2.15.0-1.1ubuntu2) ... 1761s Setting up patroni (3.3.4-1) ... 1761s Created symlink '/etc/systemd/system/multi-user.target.wants/patroni.service' → '/usr/lib/systemd/system/patroni.service'. 1762s Setting up libavahi-client3:ppc64el (0.8-14ubuntu1) ... 1762s Setting up libjnr-ffi-java (2.2.15-2) ... 1762s Setting up libatk-bridge2.0-0t64:ppc64el (2.54.0-1) ... 1762s Setting up gtk-update-icon-cache (4.17.1+ds-2) ... 1762s Setting up fontconfig (2.15.0-1.1ubuntu2) ... 1764s Regenerating fonts cache... done. 1764s Setting up libglx-mesa0:ppc64el (24.2.8-1ubuntu1) ... 1764s Setting up postgresql-16 (16.4-3) ... 1764s Creating new PostgreSQL cluster 16/main ... 1764s /usr/lib/postgresql/16/bin/initdb -D /var/lib/postgresql/16/main --auth-local peer --auth-host scram-sha-256 --no-instructions 1764s The files belonging to this database system will be owned by user "postgres". 1764s This user must also own the server process. 1764s 1764s The database cluster will be initialized with locale "C.UTF-8". 1764s The default database encoding has accordingly been set to "UTF8". 1764s The default text search configuration will be set to "english". 1764s 1764s Data page checksums are disabled. 1764s 1764s fixing permissions on existing directory /var/lib/postgresql/16/main ... ok 1764s creating subdirectories ... ok 1764s selecting dynamic shared memory implementation ... posix 1764s selecting default max_connections ... 100 1764s selecting default shared_buffers ... 128MB 1764s selecting default time zone ... Etc/UTC 1764s creating configuration files ... ok 1764s running bootstrap script ... ok 1765s performing post-bootstrap initialization ... ok 1765s syncing data to disk ... ok 1768s Setting up libglx0:ppc64el (1.7.0-1build1) ... 1768s Setting up libspring-core-java (4.3.30-2ubuntu1) ... 1768s Setting up dconf-gsettings-backend:ppc64el (0.40.0-4build2) ... 1768s Setting up libcommons-io-java (2.17.0-1) ... 1768s Setting up patroni-doc (3.3.4-1) ... 1768s Setting up libpango-1.0-0:ppc64el (1.55.0+ds-3) ... 1768s Setting up libcairo2:ppc64el (1.18.2-2) ... 1768s Setting up libjnr-enxio-java (0.32.16-1) ... 1768s Setting up libgl1:ppc64el (1.7.0-1build1) ... 1768s Setting up libcairo-gobject2:ppc64el (1.18.2-2) ... 1768s Setting up postgresql (16+262) ... 1768s Setting up libpangoft2-1.0-0:ppc64el (1.55.0+ds-3) ... 1768s Setting up libcups2t64:ppc64el (2.4.11-0ubuntu2) ... 1768s Setting up libgtk-3-common (3.24.43-4ubuntu1) ... 1768s Setting up libjnr-posix-java (3.1.18-1) ... 1768s Setting up libpangocairo-1.0-0:ppc64el (1.55.0+ds-3) ... 1768s Setting up libspring-beans-java (4.3.30-2ubuntu1) ... 1768s Setting up libjnr-unixsocket-java (0.38.21-2) ... 1768s Setting up libjetty9-extra-java (9.4.56-1) ... 1768s Setting up libguava-java (32.0.1-1) ... 1768s Setting up adwaita-icon-theme (47.0-2) ... 1768s update-alternatives: using /usr/share/icons/Adwaita/cursor.theme to provide /usr/share/icons/default/index.theme (x-cursor-theme) in auto mode 1768s Setting up liberror-prone-java (2.18.0-1) ... 1768s Setting up humanity-icon-theme (0.6.16) ... 1768s Setting up ubuntu-mono (24.04-0ubuntu1) ... 1768s Processing triggers for systemd (257-2ubuntu1) ... 1768s Processing triggers for man-db (2.13.0-1) ... 1770s Processing triggers for libglib2.0-0t64:ppc64el (2.82.4-1) ... 1770s Setting up libgtk-3-0t64:ppc64el (3.24.43-4ubuntu1) ... 1770s Processing triggers for libc-bin (2.40-4ubuntu1) ... 1770s Processing triggers for ca-certificates-java (20240118) ... 1771s Adding debian:ACCVRAIZ1.pem 1771s Adding debian:AC_RAIZ_FNMT-RCM.pem 1771s Adding debian:AC_RAIZ_FNMT-RCM_SERVIDORES_SEGUROS.pem 1771s Adding debian:ANF_Secure_Server_Root_CA.pem 1771s Adding debian:Actalis_Authentication_Root_CA.pem 1771s Adding debian:AffirmTrust_Commercial.pem 1771s Adding debian:AffirmTrust_Networking.pem 1771s Adding debian:AffirmTrust_Premium.pem 1771s Adding debian:AffirmTrust_Premium_ECC.pem 1771s Adding debian:Amazon_Root_CA_1.pem 1771s Adding debian:Amazon_Root_CA_2.pem 1771s Adding debian:Amazon_Root_CA_3.pem 1771s Adding debian:Amazon_Root_CA_4.pem 1771s Adding debian:Atos_TrustedRoot_2011.pem 1771s Adding debian:Atos_TrustedRoot_Root_CA_ECC_TLS_2021.pem 1771s Adding debian:Atos_TrustedRoot_Root_CA_RSA_TLS_2021.pem 1771s Adding debian:Autoridad_de_Certificacion_Firmaprofesional_CIF_A62634068.pem 1771s Adding debian:BJCA_Global_Root_CA1.pem 1771s Adding debian:BJCA_Global_Root_CA2.pem 1771s Adding debian:Baltimore_CyberTrust_Root.pem 1771s Adding debian:Buypass_Class_2_Root_CA.pem 1771s Adding debian:Buypass_Class_3_Root_CA.pem 1771s Adding debian:CA_Disig_Root_R2.pem 1771s Adding debian:CFCA_EV_ROOT.pem 1771s Adding debian:COMODO_Certification_Authority.pem 1771s Adding debian:COMODO_ECC_Certification_Authority.pem 1771s Adding debian:COMODO_RSA_Certification_Authority.pem 1771s Adding debian:Certainly_Root_E1.pem 1771s Adding debian:Certainly_Root_R1.pem 1771s Adding debian:Certigna.pem 1771s Adding debian:Certigna_Root_CA.pem 1771s Adding debian:Certum_EC-384_CA.pem 1771s Adding debian:Certum_Trusted_Network_CA.pem 1771s Adding debian:Certum_Trusted_Network_CA_2.pem 1771s Adding debian:Certum_Trusted_Root_CA.pem 1771s Adding debian:CommScope_Public_Trust_ECC_Root-01.pem 1771s Adding debian:CommScope_Public_Trust_ECC_Root-02.pem 1771s Adding debian:CommScope_Public_Trust_RSA_Root-01.pem 1771s Adding debian:CommScope_Public_Trust_RSA_Root-02.pem 1771s Adding debian:Comodo_AAA_Services_root.pem 1771s Adding debian:D-TRUST_BR_Root_CA_1_2020.pem 1771s Adding debian:D-TRUST_EV_Root_CA_1_2020.pem 1771s Adding debian:D-TRUST_Root_Class_3_CA_2_2009.pem 1771s Adding debian:D-TRUST_Root_Class_3_CA_2_EV_2009.pem 1771s Adding debian:DigiCert_Assured_ID_Root_CA.pem 1771s Adding debian:DigiCert_Assured_ID_Root_G2.pem 1771s Adding debian:DigiCert_Assured_ID_Root_G3.pem 1771s Adding debian:DigiCert_Global_Root_CA.pem 1771s Adding debian:DigiCert_Global_Root_G2.pem 1771s Adding debian:DigiCert_Global_Root_G3.pem 1771s Adding debian:DigiCert_High_Assurance_EV_Root_CA.pem 1771s Adding debian:DigiCert_TLS_ECC_P384_Root_G5.pem 1771s Adding debian:DigiCert_TLS_RSA4096_Root_G5.pem 1771s Adding debian:DigiCert_Trusted_Root_G4.pem 1771s Adding debian:Entrust.net_Premium_2048_Secure_Server_CA.pem 1771s Adding debian:Entrust_Root_Certification_Authority.pem 1771s Adding debian:Entrust_Root_Certification_Authority_-_EC1.pem 1771s Adding debian:Entrust_Root_Certification_Authority_-_G2.pem 1771s Adding debian:Entrust_Root_Certification_Authority_-_G4.pem 1771s Adding debian:GDCA_TrustAUTH_R5_ROOT.pem 1771s Adding debian:GLOBALTRUST_2020.pem 1771s Adding debian:GTS_Root_R1.pem 1771s Adding debian:GTS_Root_R2.pem 1771s Adding debian:GTS_Root_R3.pem 1771s Adding debian:GTS_Root_R4.pem 1771s Adding debian:GlobalSign_ECC_Root_CA_-_R4.pem 1771s Adding debian:GlobalSign_ECC_Root_CA_-_R5.pem 1771s Adding debian:GlobalSign_Root_CA.pem 1771s Adding debian:GlobalSign_Root_CA_-_R3.pem 1771s Adding debian:GlobalSign_Root_CA_-_R6.pem 1771s Adding debian:GlobalSign_Root_E46.pem 1771s Adding debian:GlobalSign_Root_R46.pem 1771s Adding debian:Go_Daddy_Class_2_CA.pem 1771s Adding debian:Go_Daddy_Root_Certificate_Authority_-_G2.pem 1771s Adding debian:HARICA_TLS_ECC_Root_CA_2021.pem 1771s Adding debian:HARICA_TLS_RSA_Root_CA_2021.pem 1771s Adding debian:Hellenic_Academic_and_Research_Institutions_ECC_RootCA_2015.pem 1771s Adding debian:Hellenic_Academic_and_Research_Institutions_RootCA_2015.pem 1771s Adding debian:HiPKI_Root_CA_-_G1.pem 1771s Adding debian:Hongkong_Post_Root_CA_3.pem 1771s Adding debian:ISRG_Root_X1.pem 1771s Adding debian:ISRG_Root_X2.pem 1771s Adding debian:IdenTrust_Commercial_Root_CA_1.pem 1771s Adding debian:IdenTrust_Public_Sector_Root_CA_1.pem 1771s Adding debian:Izenpe.com.pem 1771s Adding debian:Microsec_e-Szigno_Root_CA_2009.pem 1771s Adding debian:Microsoft_ECC_Root_Certificate_Authority_2017.pem 1771s Adding debian:Microsoft_RSA_Root_Certificate_Authority_2017.pem 1771s Adding debian:NAVER_Global_Root_Certification_Authority.pem 1771s Adding debian:NetLock_Arany_=Class_Gold=_Főtanúsítvány.pem 1771s Adding debian:OISTE_WISeKey_Global_Root_GB_CA.pem 1771s Adding debian:OISTE_WISeKey_Global_Root_GC_CA.pem 1771s Adding debian:QuoVadis_Root_CA_1_G3.pem 1771s Adding debian:QuoVadis_Root_CA_2.pem 1771s Adding debian:QuoVadis_Root_CA_2_G3.pem 1771s Adding debian:QuoVadis_Root_CA_3.pem 1771s Adding debian:QuoVadis_Root_CA_3_G3.pem 1771s Adding debian:SSL.com_EV_Root_Certification_Authority_ECC.pem 1771s Adding debian:SSL.com_EV_Root_Certification_Authority_RSA_R2.pem 1771s Adding debian:SSL.com_Root_Certification_Authority_ECC.pem 1771s Adding debian:SSL.com_Root_Certification_Authority_RSA.pem 1771s Adding debian:SSL.com_TLS_ECC_Root_CA_2022.pem 1771s Adding debian:SSL.com_TLS_RSA_Root_CA_2022.pem 1771s Adding debian:SZAFIR_ROOT_CA2.pem 1771s Adding debian:Sectigo_Public_Server_Authentication_Root_E46.pem 1771s Adding debian:Sectigo_Public_Server_Authentication_Root_R46.pem 1771s Adding debian:SecureSign_RootCA11.pem 1771s Adding debian:SecureTrust_CA.pem 1771s Adding debian:Secure_Global_CA.pem 1771s Adding debian:Security_Communication_ECC_RootCA1.pem 1771s Adding debian:Security_Communication_RootCA2.pem 1771s Adding debian:Security_Communication_RootCA3.pem 1771s Adding debian:Security_Communication_Root_CA.pem 1771s Adding debian:Starfield_Class_2_CA.pem 1771s Adding debian:Starfield_Root_Certificate_Authority_-_G2.pem 1771s Adding debian:Starfield_Services_Root_Certificate_Authority_-_G2.pem 1771s Adding debian:SwissSign_Gold_CA_-_G2.pem 1771s Adding debian:SwissSign_Silver_CA_-_G2.pem 1771s Adding debian:T-TeleSec_GlobalRoot_Class_2.pem 1771s Adding debian:T-TeleSec_GlobalRoot_Class_3.pem 1771s Adding debian:TUBITAK_Kamu_SM_SSL_Kok_Sertifikasi_-_Surum_1.pem 1771s Adding debian:TWCA_Global_Root_CA.pem 1771s Adding debian:TWCA_Root_Certification_Authority.pem 1771s Adding debian:TeliaSonera_Root_CA_v1.pem 1771s Adding debian:Telia_Root_CA_v2.pem 1771s Adding debian:TrustAsia_Global_Root_CA_G3.pem 1771s Adding debian:TrustAsia_Global_Root_CA_G4.pem 1771s Adding debian:Trustwave_Global_Certification_Authority.pem 1771s Adding debian:Trustwave_Global_ECC_P256_Certification_Authority.pem 1771s Adding debian:Trustwave_Global_ECC_P384_Certification_Authority.pem 1771s Adding debian:TunTrust_Root_CA.pem 1771s Adding debian:UCA_Extended_Validation_Root.pem 1771s Adding debian:UCA_Global_G2_Root.pem 1771s Adding debian:USERTrust_ECC_Certification_Authority.pem 1771s Adding debian:USERTrust_RSA_Certification_Authority.pem 1771s Adding debian:XRamp_Global_CA_Root.pem 1771s Adding debian:certSIGN_ROOT_CA.pem 1771s Adding debian:certSIGN_Root_CA_G2.pem 1771s Adding debian:e-Szigno_Root_CA_2017.pem 1771s Adding debian:ePKI_Root_Certification_Authority.pem 1771s Adding debian:emSign_ECC_Root_CA_-_C3.pem 1771s Adding debian:emSign_ECC_Root_CA_-_G3.pem 1771s Adding debian:emSign_Root_CA_-_C1.pem 1771s Adding debian:emSign_Root_CA_-_G1.pem 1771s Adding debian:vTrus_ECC_Root_CA.pem 1771s Adding debian:vTrus_Root_CA.pem 1771s done. 1771s Setting up openjdk-21-jre:ppc64el (21.0.5+11-1) ... 1771s Setting up junit4 (4.13.2-5) ... 1771s Setting up default-jre-headless (2:1.21-76) ... 1771s Setting up default-jre (2:1.21-76) ... 1771s Setting up libnetty-tcnative-java (2.0.28-1build4) ... 1771s Setting up libzookeeper-java (3.9.3-1) ... 1771s Setting up zookeeper (3.9.3-1) ... 1771s warn: The home directory `/var/lib/zookeeper' already exists. Not touching this directory. 1771s warn: Warning: The home directory `/var/lib/zookeeper' does not belong to the user you are currently creating. 1771s update-alternatives: using /etc/zookeeper/conf_example to provide /etc/zookeeper/conf (zookeeper-conf) in auto mode 1771s Setting up zookeeperd (3.9.3-1) ... 1774s autopkgtest [15:01:14]: test acceptance-zookeeper: debian/tests/acceptance zookeeper "-e dcs_failsafe_mode" 1774s autopkgtest [15:01:14]: test acceptance-zookeeper: [----------------------- 1779s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 1779s ++ ls -1r /usr/lib/postgresql/ 1779s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 1779s + '[' 16 == 10 -o 16 == 11 ']' 1779s + echo '### PostgreSQL 16 acceptance-zookeeper -e dcs_failsafe_mode ###' 1779s + su postgres -p -c 'set -o pipefail; ETCD_UNSUPPORTED_ARCH= 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' 1779s ### PostgreSQL 16 acceptance-zookeeper -e dcs_failsafe_mode ### 1780s Jan 09 15:01:20 Feature: basic replication # features/basic_replication.feature:1 1780s Jan 09 15:01:20 We should check that the basic bootstrapping, replication and failover works. 1780s Jan 09 15:01:20 Scenario: check replication of a single table # features/basic_replication.feature:4 1780s Jan 09 15:01:20 Given I start postgres0 # features/steps/basic_replication.py:8 1784s Jan 09 15:01:24 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1784s Jan 09 15:01:24 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1784s Jan 09 15:01:24 When I issue a PATCH request to http://127.0.0.1:8008/config with {"ttl": 20, "synchronous_mode": true} # features/steps/patroni_api.py:71 1784s Jan 09 15:01:24 Then I receive a response code 200 # features/steps/patroni_api.py:98 1784s Jan 09 15:01:24 When I start postgres1 # features/steps/basic_replication.py:8 1788s Jan 09 15:01:28 And I configure and start postgres2 with a tag replicatefrom postgres0 # features/steps/cascading_replication.py:7 1792s Jan 09 15:01:32 And "sync" key in DCS has leader=postgres0 after 20 seconds # features/steps/cascading_replication.py:23 1792s Jan 09 15:01:32 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 1792s Jan 09 15:01:32 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 1793s Jan 09 15:01:33 Then table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 1793s Jan 09 15:01:33 1793s Jan 09 15:01:33 Scenario: check restart of sync replica # features/basic_replication.feature:17 1793s Jan 09 15:01:33 Given I shut down postgres2 # features/steps/basic_replication.py:29 1794s Jan 09 15:01:34 Then "sync" key in DCS has sync_standby=postgres1 after 5 seconds # features/steps/cascading_replication.py:23 1794s Jan 09 15:01:34 When I start postgres2 # features/steps/basic_replication.py:8 1797s Jan 09 15:01:37 And I shut down postgres1 # features/steps/basic_replication.py:29 1800s Jan 09 15:01:40 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 1801s Jan 09 15:01:41 When I start postgres1 # features/steps/basic_replication.py:8 1804s Jan 09 15:01:44 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1805s Jan 09 15:01:45 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1805s Jan 09 15:01:45 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 1806s Jan 09 15:01:45 1806s Jan 09 15:01:45 Scenario: check stuck sync replica # features/basic_replication.feature:28 1806s Jan 09 15:01:45 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 1806s Jan 09 15:01:46 Then I receive a response code 200 # features/steps/patroni_api.py:98 1806s Jan 09 15:01:46 And I create table on postgres0 # features/steps/basic_replication.py:73 1806s Jan 09 15:01:46 And table mytest is present on postgres1 after 2 seconds # features/steps/basic_replication.py:93 1807s Jan 09 15:01:47 And table mytest is present on postgres2 after 2 seconds # features/steps/basic_replication.py:93 1807s Jan 09 15:01:47 When I pause wal replay on postgres2 # features/steps/basic_replication.py:64 1807s Jan 09 15:01:47 And I load data on postgres0 # features/steps/basic_replication.py:84 1807s Jan 09 15:01:47 Then "sync" key in DCS has sync_standby=postgres1 after 15 seconds # features/steps/cascading_replication.py:23 1810s Jan 09 15:01:50 And I resume wal replay on postgres2 # features/steps/basic_replication.py:64 1810s Jan 09 15:01:50 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1811s Jan 09 15:01:51 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:142 1812s Jan 09 15:01:51 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 1812s Jan 09 15:01:52 Then I receive a response code 200 # features/steps/patroni_api.py:98 1812s Jan 09 15:01:52 And I drop table on postgres0 # features/steps/basic_replication.py:73 1812s Jan 09 15:01:52 1812s Jan 09 15:01:52 Scenario: check multi sync replication # features/basic_replication.feature:44 1812s Jan 09 15:01:52 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"synchronous_node_count": 2} # features/steps/patroni_api.py:71 1812s Jan 09 15:01:52 Then I receive a response code 200 # features/steps/patroni_api.py:98 1812s Jan 09 15:01:52 Then "sync" key in DCS has sync_standby=postgres1,postgres2 after 10 seconds # features/steps/cascading_replication.py:23 1816s Jan 09 15:01:56 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1816s Jan 09 15:01:56 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1816s Jan 09 15:01:56 When I issue a PATCH request to http://127.0.0.1:8008/config with {"synchronous_node_count": 1} # features/steps/patroni_api.py:71 1816s Jan 09 15:01:56 Then I receive a response code 200 # features/steps/patroni_api.py:98 1816s Jan 09 15:01:56 And I shut down postgres1 # features/steps/basic_replication.py:29 1819s Jan 09 15:01:59 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 1820s Jan 09 15:02:00 When I start postgres1 # features/steps/basic_replication.py:8 1824s Jan 09 15:02:04 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1824s Jan 09 15:02:04 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1824s Jan 09 15:02:04 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 1824s Jan 09 15:02:04 1824s Jan 09 15:02:04 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 1824s Jan 09 15:02:04 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 1826s Jan 09 15:02:06 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1826s Jan 09 15:02:06 When I sleep for 2 seconds # features/steps/patroni_api.py:39 1828s Jan 09 15:02:08 And I shut down postgres0 # features/steps/basic_replication.py:29 1829s Jan 09 15:02:09 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 1831s Jan 09 15:02:11 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1831s Jan 09 15:02:11 And postgres2 role is the primary after 24 seconds # features/steps/basic_replication.py:105 1851s Jan 09 15:02:31 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:156 1853s Jan 09 15:02:33 And there is a postgres2_cb.log with "on_role_change master batman" in postgres2 data directory # features/steps/cascading_replication.py:12 1853s Jan 09 15:02: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 1853s Jan 09 15:02:33 Then I receive a response code 200 # features/steps/patroni_api.py:98 1853s Jan 09 15:02:33 When I add the table bar to postgres2 # features/steps/basic_replication.py:54 1853s Jan 09 15:02:33 Then table bar is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 1856s Jan 09 15:02: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 1856s Jan 09 15:02:36 1856s Jan 09 15:02:36 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 1856s Jan 09 15:02:36 Given I add the table splitbrain to postgres0 # features/steps/basic_replication.py:54 1856s Jan 09 15:02:36 And I start postgres0 # features/steps/basic_replication.py:8 1856s Jan 09 15:02:36 Then postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 1864s Jan 09 15:02:44 When I add the table buz to postgres2 # features/steps/basic_replication.py:54 1864s Jan 09 15:02:44 Then table buz is present on postgres0 after 20 seconds # features/steps/basic_replication.py:93 1864s Jan 09 15:02:44 1864s Jan 09 15:02:44 @reject-duplicate-name 1864s Jan 09 15:02:44 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 1864s Jan 09 15:02:44 Given I start duplicate postgres0 on port 8011 # features/steps/basic_replication.py:13 1867s Jan 09 15:02:47 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 1871s Jan 09 15:02:51 1871s Jan 09 15:02:51 Feature: cascading replication # features/cascading_replication.feature:1 1871s Jan 09 15:02:51 We should check that patroni can do base backup and streaming from the replica 1871s Jan 09 15:02:51 Scenario: check a base backup and streaming replication from a replica # features/cascading_replication.feature:4 1871s Jan 09 15:02:51 Given I start postgres0 # features/steps/basic_replication.py:8 1875s Jan 09 15:02:55 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1875s Jan 09 15:02:55 And I configure and start postgres1 with a tag clonefrom true # features/steps/cascading_replication.py:7 1879s Jan 09 15:02:59 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1881s Jan 09 15:03:01 And I create label with "postgres0" in postgres0 data directory # features/steps/cascading_replication.py:18 1881s Jan 09 15:03:01 And I create label with "postgres1" in postgres1 data directory # features/steps/cascading_replication.py:18 1881s Jan 09 15:03:01 And "members/postgres1" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 1881s Jan 09 15:03:01 And I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 1885s Jan 09 15:03:05 Then replication works from postgres0 to postgres2 after 30 seconds # features/steps/basic_replication.py:112 1886s Jan 09 15:03:06 And there is a label with "postgres1" in postgres2 data directory # features/steps/cascading_replication.py:12 1892s Jan 09 15:03:12 1892s SKIP FEATURE citus: Citus extenstion isn't available 1892s Jan 09 15:03:12 Feature: citus # features/citus.feature:1 1892s Jan 09 15:03:12 We should check that coordinator discovers and registers workers and clients don't have errors when worker cluster switches over 1892s Jan 09 15:03:12 Scenario: check that worker cluster is registered in the coordinator # features/citus.feature:4 1892s Jan 09 15:03:12 Given I start postgres0 in citus group 0 # None 1892s Jan 09 15:03:12 And I start postgres2 in citus group 1 # None 1892s Jan 09 15:03:12 Then postgres0 is a leader in a group 0 after 10 seconds # None 1892s Jan 09 15:03:12 And postgres2 is a leader in a group 1 after 10 seconds # None 1892s Jan 09 15:03:12 When I start postgres1 in citus group 0 # None 1892s Jan 09 15:03:12 And I start postgres3 in citus group 1 # None 1892s Jan 09 15:03:12 Then replication works from postgres0 to postgres1 after 15 seconds # None 1892s Jan 09 15:03:12 Then replication works from postgres2 to postgres3 after 15 seconds # None 1892s Jan 09 15:03:12 And postgres0 is registered in the postgres0 as the primary in group 0 after 5 seconds # None 1892s Jan 09 15:03:12 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 1892s Jan 09 15:03:12 1892s Jan 09 15:03:12 Scenario: coordinator failover updates pg_dist_node # features/citus.feature:16 1892s Jan 09 15:03:12 Given I run patronictl.py failover batman --group 0 --candidate postgres1 --force # None 1892s Jan 09 15:03:12 Then postgres1 role is the primary after 10 seconds # None 1892s Jan 09 15:03:12 And "members/postgres0" key in a group 0 in DCS has state=running after 15 seconds # None 1892s Jan 09 15:03:12 And replication works from postgres1 to postgres0 after 15 seconds # None 1892s Jan 09 15:03:12 And postgres1 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 1892s Jan 09 15:03:12 And "sync" key in a group 0 in DCS has sync_standby=postgres0 after 15 seconds # None 1892s Jan 09 15:03:12 When I run patronictl.py switchover batman --group 0 --candidate postgres0 --force # None 1892s Jan 09 15:03:12 Then postgres0 role is the primary after 10 seconds # None 1892s Jan 09 15:03:12 And replication works from postgres0 to postgres1 after 15 seconds # None 1892s Jan 09 15:03:12 And postgres0 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 1892s Jan 09 15:03:12 And "sync" key in a group 0 in DCS has sync_standby=postgres1 after 15 seconds # None 1892s SKIP Scenario check that worker cluster is registered in the coordinator: Citus extenstion isn't available 1892s SKIP Scenario coordinator failover updates pg_dist_node: Citus extenstion isn't available 1892s SKIP Scenario worker switchover doesn't break client queries on the coordinator: Citus extenstion isn't available 1892s SKIP Scenario worker primary restart doesn't break client queries on the coordinator: Citus extenstion isn't available 1892s 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 1892s Jan 09 15:03:12 1892s Jan 09 15:03:12 Scenario: worker switchover doesn't break client queries on the coordinator # features/citus.feature:29 1892s Jan 09 15:03:12 Given I create a distributed table on postgres0 # None 1892s Jan 09 15:03:12 And I start a thread inserting data on postgres0 # None 1892s Jan 09 15:03:12 When I run patronictl.py switchover batman --group 1 --force # None 1892s Jan 09 15:03:12 Then I receive a response returncode 0 # None 1892s Jan 09 15:03:12 And postgres3 role is the primary after 10 seconds # None 1892s Jan 09 15:03:12 And "members/postgres2" key in a group 1 in DCS has state=running after 15 seconds # None 1892s Jan 09 15:03:12 And replication works from postgres3 to postgres2 after 15 seconds # None 1892s Jan 09 15:03:12 And postgres3 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 1892s Jan 09 15:03:12 And "sync" key in a group 1 in DCS has sync_standby=postgres2 after 15 seconds # None 1892s Jan 09 15:03:12 And a thread is still alive # None 1892s Jan 09 15:03:12 When I run patronictl.py switchover batman --group 1 --force # None 1892s Jan 09 15:03:12 Then I receive a response returncode 0 # None 1892s Jan 09 15:03:12 And postgres2 role is the primary after 10 seconds # None 1892s Jan 09 15:03:12 And replication works from postgres2 to postgres3 after 15 seconds # None 1892s Jan 09 15:03:12 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 1892s Jan 09 15:03:12 And "sync" key in a group 1 in DCS has sync_standby=postgres3 after 15 seconds # None 1892s Jan 09 15:03:12 And a thread is still alive # None 1892s Jan 09 15:03:12 When I stop a thread # None 1892s Jan 09 15:03:12 Then a distributed table on postgres0 has expected rows # None 1892s Jan 09 15:03:12 1892s Jan 09 15:03:12 Scenario: worker primary restart doesn't break client queries on the coordinator # features/citus.feature:50 1892s Jan 09 15:03:12 Given I cleanup a distributed table on postgres0 # None 1892s Jan 09 15:03:12 And I start a thread inserting data on postgres0 # None 1892s Jan 09 15:03:12 When I run patronictl.py restart batman postgres2 --group 1 --force # None 1892s Jan 09 15:03:12 Then I receive a response returncode 0 # None 1892s Jan 09 15:03:12 And postgres2 role is the primary after 10 seconds # None 1892s Jan 09 15:03:12 And replication works from postgres2 to postgres3 after 15 seconds # None 1892s Jan 09 15:03:12 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 1892s Jan 09 15:03:12 And a thread is still alive # None 1892s Jan 09 15:03:12 When I stop a thread # None 1892s Jan 09 15:03:12 Then a distributed table on postgres0 has expected rows # None 1892s Jan 09 15:03:12 1892s Jan 09 15:03:12 Scenario: check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node # features/citus.feature:62 1892s Jan 09 15:03:12 Given I start postgres4 in citus group 2 # None 1892s Jan 09 15:03:12 Then postgres4 is a leader in a group 2 after 10 seconds # None 1892s Jan 09 15:03:12 And "members/postgres4" key in a group 2 in DCS has role=master after 3 seconds # None 1892s Jan 09 15:03:12 When I run patronictl.py edit-config batman --group 2 -s ttl=20 --force # None 1892s Jan 09 15:03:12 Then I receive a response returncode 0 # None 1892s Jan 09 15:03:12 And I receive a response output "+ttl: 20" # None 1892s Jan 09 15:03:12 Then postgres4 is registered in the postgres2 as the primary in group 2 after 5 seconds # None 1892s Jan 09 15:03:12 When I shut down postgres4 # None 1892s Jan 09 15:03:12 Then there is a transaction in progress on postgres0 changing pg_dist_node after 5 seconds # None 1892s Jan 09 15:03:12 When I run patronictl.py restart batman postgres2 --group 1 --force # None 1892s Jan 09 15:03:12 Then a transaction finishes in 20 seconds # None 1892s Jan 09 15:03:12 1892s Jan 09 15:03:12 Feature: custom bootstrap # features/custom_bootstrap.feature:1 1892s Jan 09 15:03:12 We should check that patroni can bootstrap a new cluster from a backup 1892s Jan 09 15:03:12 Scenario: clone existing cluster using pg_basebackup # features/custom_bootstrap.feature:4 1892s Jan 09 15:03:12 Given I start postgres0 # features/steps/basic_replication.py:8 1896s Jan 09 15:03:16 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1896s Jan 09 15:03:16 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 1896s Jan 09 15:03:16 And I start postgres1 in a cluster batman1 as a clone of postgres0 # features/steps/custom_bootstrap.py:6 1900s Jan 09 15:03:20 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 1901s Jan 09 15:03:21 Then table foo is present on postgres1 after 10 seconds # features/steps/basic_replication.py:93 1901s Jan 09 15:03:21 1901s Jan 09 15:03:21 Scenario: make a backup and do a restore into a new cluster # features/custom_bootstrap.feature:12 1901s Jan 09 15:03:21 Given I add the table bar to postgres1 # features/steps/basic_replication.py:54 1901s Jan 09 15:03:21 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 1901s Jan 09 15:03:21 When I start postgres2 in a cluster batman2 from backup # features/steps/custom_bootstrap.py:11 1906s Jan 09 15:03:26 Then postgres2 is a leader of batman2 after 30 seconds # features/steps/custom_bootstrap.py:16 1907s Jan 09 15:03:27 And table bar is present on postgres2 after 10 seconds # features/steps/basic_replication.py:93 1914s Jan 09 15:03:34 1914s Jan 09 15:03:34 Feature: ignored slots # features/ignored_slots.feature:1 1914s Jan 09 15:03:34 1914s Jan 09 15:03:34 Scenario: check ignored slots aren't removed on failover/switchover # features/ignored_slots.feature:2 1914s Jan 09 15:03:34 Given I start postgres1 # features/steps/basic_replication.py:8 1918s Jan 09 15:03:38 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 1918s Jan 09 15:03:38 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1918s Jan 09 15:03:38 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 1918s Jan 09 15:03:38 Then I receive a response code 200 # features/steps/patroni_api.py:98 1918s Jan 09 15:03:38 And Response on GET http://127.0.0.1:8009/config contains ignore_slots after 10 seconds # features/steps/patroni_api.py:156 1918s Jan 09 15:03:38 When I shut down postgres1 # features/steps/basic_replication.py:29 1920s Jan 09 15:03:40 And I start postgres1 # features/steps/basic_replication.py:8 1923s Jan 09 15:03:43 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 1924s Jan 09 15:03:44 And "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 1925s Jan 09 15:03:45 And postgres1 role is the primary after 20 seconds # features/steps/basic_replication.py:105 1925s Jan 09 15:03:45 When I create a logical replication slot unmanaged_slot_0 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1925s Jan 09 15:03:45 And I create a logical replication slot unmanaged_slot_1 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1925s Jan 09 15:03:45 And I create a logical replication slot unmanaged_slot_2 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1925s Jan 09 15:03:45 And I create a logical replication slot unmanaged_slot_3 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1925s Jan 09 15:03:45 And I create a logical replication slot dummy_slot on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1925s Jan 09 15:03:45 Then postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1925s Jan 09 15:03:45 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1925s Jan 09 15:03:45 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1925s Jan 09 15:03:45 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1925s Jan 09 15:03:45 When I start postgres0 # features/steps/basic_replication.py:8 1929s Jan 09 15:03:49 Then "members/postgres0" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 1929s Jan 09 15:03:49 And postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 1929s Jan 09 15:03:49 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 1930s Jan 09 15:03:50 When I shut down postgres1 # features/steps/basic_replication.py:29 1932s Jan 09 15:03:52 Then "members/postgres0" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 1933s Jan 09 15:03:53 When I start postgres1 # features/steps/basic_replication.py:8 1937s Jan 09 15:03:57 Then postgres1 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 1937s Jan 09 15:03:57 And "members/postgres1" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 1937s Jan 09 15:03:57 And I sleep for 2 seconds # features/steps/patroni_api.py:39 1939s Jan 09 15:03:59 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1939s Jan 09 15:03:59 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1939s Jan 09 15:03:59 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1939s Jan 09 15:03:59 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1939s Jan 09 15:03:59 And postgres1 does not have a replication slot named dummy_slot # features/steps/slots.py:40 1939s Jan 09 15:03:59 When I shut down postgres0 # features/steps/basic_replication.py:29 1941s Jan 09 15:04:01 Then "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 1942s Jan 09 15:04:02 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1942s Jan 09 15:04:02 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1942s Jan 09 15:04:02 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1942s Jan 09 15:04:02 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1944s Jan 09 15:04:04 1944s Jan 09 15:04:04 Feature: nostream node # features/nostream_node.feature:1 1944s Jan 09 15:04:04 1944s Jan 09 15:04:04 Scenario: check nostream node is recovering from archive # features/nostream_node.feature:3 1944s Jan 09 15:04:04 When I start postgres0 # features/steps/basic_replication.py:8 1948s Jan 09 15:04:08 And I configure and start postgres1 with a tag nostream true # features/steps/cascading_replication.py:7 1952s Jan 09 15:04:12 Then "members/postgres1" key in DCS has replication_state=in archive recovery after 10 seconds # features/steps/cascading_replication.py:23 1952s Jan 09 15:04:12 And replication works from postgres0 to postgres1 after 30 seconds # features/steps/basic_replication.py:112 1957s Jan 09 15:04:17 1957s Jan 09 15:04:17 @slot-advance 1957s Jan 09 15:04:17 Scenario: check permanent logical replication slots are not copied # features/nostream_node.feature:10 1957s Jan 09 15:04:17 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 1957s Jan 09 15:04:17 Then I receive a response code 200 # features/steps/patroni_api.py:98 1957s Jan 09 15:04:17 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 1961s Jan 09 15:04:21 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 1962s Jan 09 15:04:22 When I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 1966s Jan 09 15:04:26 Then "members/postgres2" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 1973s Jan 09 15:04:33 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 1973s Jan 09 15:04:33 And postgres2 does not have a replication slot named test_logical # features/steps/slots.py:40 1978s Jan 09 15:04:38 1978s Jan 09 15:04:38 Feature: patroni api # features/patroni_api.feature:1 1978s Jan 09 15:04:38 We should check that patroni correctly responds to valid and not-valid API requests. 1978s Jan 09 15:04:38 Scenario: check API requests on a stand-alone server # features/patroni_api.feature:4 1978s Jan 09 15:04:38 Given I start postgres0 # features/steps/basic_replication.py:8 1982s Jan 09 15:04:42 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1983s Jan 09 15:04:43 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 1983s Jan 09 15:04:43 Then I receive a response code 200 # features/steps/patroni_api.py:98 1983s Jan 09 15:04:43 And I receive a response state running # features/steps/patroni_api.py:98 1983s Jan 09 15:04:43 And I receive a response role master # features/steps/patroni_api.py:98 1983s Jan 09 15:04:43 When I issue a GET request to http://127.0.0.1:8008/standby_leader # features/steps/patroni_api.py:61 1983s Jan 09 15:04:43 Then I receive a response code 503 # features/steps/patroni_api.py:98 1983s Jan 09 15:04:43 When I issue a GET request to http://127.0.0.1:8008/health # features/steps/patroni_api.py:61 1983s Jan 09 15:04:43 Then I receive a response code 200 # features/steps/patroni_api.py:98 1983s Jan 09 15:04:43 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 1983s Jan 09 15:04:43 Then I receive a response code 503 # features/steps/patroni_api.py:98 1983s Jan 09 15:04:43 When I issue a POST request to http://127.0.0.1:8008/reinitialize with {"force": true} # features/steps/patroni_api.py:71 1983s Jan 09 15:04:43 Then I receive a response code 503 # features/steps/patroni_api.py:98 1983s Jan 09 15:04:43 And I receive a response text I am the leader, can not reinitialize # features/steps/patroni_api.py:98 1983s Jan 09 15:04:43 When I run patronictl.py switchover batman --master postgres0 --force # features/steps/patroni_api.py:86 1985s Jan 09 15:04:45 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 1985s Jan 09 15:04:45 And I receive a response output "Error: No candidates found to switchover to" # features/steps/patroni_api.py:98 1985s Jan 09 15:04:45 When I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres0"} # features/steps/patroni_api.py:71 1985s Jan 09 15:04:45 Then I receive a response code 412 # features/steps/patroni_api.py:98 1985s Jan 09 15:04:45 And I receive a response text switchover is not possible: cluster does not have members except leader # features/steps/patroni_api.py:98 1985s Jan 09 15:04:45 When I issue an empty POST request to http://127.0.0.1:8008/failover # features/steps/patroni_api.py:66 1985s Jan 09 15:04:45 Then I receive a response code 400 # features/steps/patroni_api.py:98 1985s Jan 09 15:04:45 When I issue a POST request to http://127.0.0.1:8008/failover with {"foo": "bar"} # features/steps/patroni_api.py:71 1985s Jan 09 15:04:45 Then I receive a response code 400 # features/steps/patroni_api.py:98 1985s Jan 09 15:04:45 And I receive a response text "Failover could be performed only to a specific candidate" # features/steps/patroni_api.py:98 1985s Jan 09 15:04:45 1985s Jan 09 15:04:45 Scenario: check local configuration reload # features/patroni_api.feature:32 1985s Jan 09 15:04:45 Given I add tag new_tag new_value to postgres0 config # features/steps/patroni_api.py:137 1985s Jan 09 15:04:45 And I issue an empty POST request to http://127.0.0.1:8008/reload # features/steps/patroni_api.py:66 1986s Jan 09 15:04:45 Then I receive a response code 202 # features/steps/patroni_api.py:98 1986s Jan 09 15:04:45 1986s Jan 09 15:04:45 Scenario: check dynamic configuration change via DCS # features/patroni_api.feature:37 1986s Jan 09 15:04:45 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 1986s Jan 09 15:04:46 Then I receive a response code 200 # features/steps/patroni_api.py:98 1986s Jan 09 15:04:46 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 11 seconds # features/steps/patroni_api.py:156 1988s Jan 09 15:04:48 When I issue a GET request to http://127.0.0.1:8008/config # features/steps/patroni_api.py:61 1988s Jan 09 15:04:48 Then I receive a response code 200 # features/steps/patroni_api.py:98 1988s Jan 09 15:04:48 And I receive a response ttl 20 # features/steps/patroni_api.py:98 1988s Jan 09 15:04:48 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 1988s Jan 09 15:04:48 Then I receive a response code 200 # features/steps/patroni_api.py:98 1988s Jan 09 15:04:48 And I receive a response tags {'new_tag': 'new_value'} # features/steps/patroni_api.py:98 1988s Jan 09 15:04:48 And I sleep for 4 seconds # features/steps/patroni_api.py:39 1992s Jan 09 15:04:52 1992s Jan 09 15:04:52 Scenario: check the scheduled restart # features/patroni_api.feature:49 1992s Jan 09 15:04:52 Given I run patronictl.py edit-config -p 'superuser_reserved_connections=6' --force batman # features/steps/patroni_api.py:86 1994s Jan 09 15:04:54 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1994s Jan 09 15:04:54 And I receive a response output "+ superuser_reserved_connections: 6" # features/steps/patroni_api.py:98 1994s Jan 09 15:04:54 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 5 seconds # features/steps/patroni_api.py:156 1994s Jan 09 15:04:54 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 1994s Jan 09 15:04:54 Then I receive a response code 202 # features/steps/patroni_api.py:98 1994s Jan 09 15:04:54 And I sleep for 8 seconds # features/steps/patroni_api.py:39 2002s Jan 09 15:05:02 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 10 seconds # features/steps/patroni_api.py:156 2002s Jan 09 15:05:02 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 2002s Jan 09 15:05:02 Then I receive a response code 202 # features/steps/patroni_api.py:98 2002s Jan 09 15:05:02 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 2009s Jan 09 15:05:09 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2010s Jan 09 15:05:10 2010s Jan 09 15:05:10 Scenario: check API requests for the primary-replica pair in the pause mode # features/patroni_api.feature:63 2010s Jan 09 15:05:10 Given I start postgres1 # features/steps/basic_replication.py:8 2014s Jan 09 15:05:14 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 2015s Jan 09 15:05:15 When I run patronictl.py pause batman # features/steps/patroni_api.py:86 2017s Jan 09 15:05:17 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2017s Jan 09 15:05:17 When I kill postmaster on postgres1 # features/steps/basic_replication.py:44 2017s Jan 09 15:05:17 waiting for server to shut down.... done 2017s Jan 09 15:05:17 server stopped 2017s Jan 09 15:05:17 And I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 2017s Jan 09 15:05:17 Then I receive a response code 503 # features/steps/patroni_api.py:98 2017s Jan 09 15:05:17 And "members/postgres1" key in DCS has state=stopped after 10 seconds # features/steps/cascading_replication.py:23 2018s Jan 09 15:05:18 When I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 2021s Jan 09 15:05:21 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2021s Jan 09 15:05:21 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 2022s Jan 09 15:05:22 And I sleep for 2 seconds # features/steps/patroni_api.py:39 2024s Jan 09 15:05:24 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 2024s Jan 09 15:05:24 Then I receive a response code 200 # features/steps/patroni_api.py:98 2024s Jan 09 15:05:24 And I receive a response state running # features/steps/patroni_api.py:98 2024s Jan 09 15:05:24 And I receive a response role replica # features/steps/patroni_api.py:98 2024s Jan 09 15:05:24 When I run patronictl.py reinit batman postgres1 --force --wait # features/steps/patroni_api.py:86 2028s Jan 09 15:05:28 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2028s Jan 09 15:05:28 And I receive a response output "Success: reinitialize for member postgres1" # features/steps/patroni_api.py:98 2028s Jan 09 15:05:28 And postgres1 role is the secondary after 30 seconds # features/steps/basic_replication.py:105 2029s Jan 09 15:05:29 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 2029s Jan 09 15:05:29 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 2032s Jan 09 15:05:32 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2032s Jan 09 15:05:32 And I receive a response output "Success: restart on member postgres0" # features/steps/patroni_api.py:98 2032s Jan 09 15:05:32 And postgres0 role is the primary after 5 seconds # features/steps/basic_replication.py:105 2033s Jan 09 15:05:33 2033s Jan 09 15:05:33 Scenario: check the switchover via the API in the pause mode # features/patroni_api.feature:90 2033s Jan 09 15:05: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 2035s Jan 09 15:05:35 Then I receive a response code 200 # features/steps/patroni_api.py:98 2035s Jan 09 15:05:35 And postgres1 is a leader after 5 seconds # features/steps/patroni_api.py:29 2035s Jan 09 15:05:35 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2035s Jan 09 15:05:35 And postgres0 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 2040s Jan 09 15:05:40 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 2040s Jan 09 15:05:40 And "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2041s Jan 09 15:05:41 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 2041s Jan 09 15:05:41 Then I receive a response code 503 # features/steps/patroni_api.py:98 2041s Jan 09 15:05:41 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 2041s Jan 09 15:05:41 Then I receive a response code 200 # features/steps/patroni_api.py:98 2041s Jan 09 15:05:41 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 2041s Jan 09 15:05:41 Then I receive a response code 200 # features/steps/patroni_api.py:98 2041s Jan 09 15:05:41 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 2041s Jan 09 15:05:41 Then I receive a response code 503 # features/steps/patroni_api.py:98 2041s Jan 09 15:05:41 2041s Jan 09 15:05:41 Scenario: check the scheduled switchover # features/patroni_api.feature:107 2041s Jan 09 15:05:41 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 2043s Jan 09 15:05:43 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 2043s Jan 09 15:05:43 And I receive a response output "Can't schedule switchover in the paused state" # features/steps/patroni_api.py:98 2043s Jan 09 15:05:43 When I run patronictl.py resume batman # features/steps/patroni_api.py:86 2045s Jan 09 15:05:45 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2045s Jan 09 15:05:45 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 2047s Jan 09 15:05:47 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2047s Jan 09 15:05:47 And postgres0 is a leader after 20 seconds # features/steps/patroni_api.py:29 2057s Jan 09 15:05:57 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2057s Jan 09 15:05:57 And postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 2060s Jan 09 15:06:00 And replication works from postgres0 to postgres1 after 25 seconds # features/steps/basic_replication.py:112 2061s Jan 09 15:06:00 And "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2061s Jan 09 15:06:00 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 2061s Jan 09 15:06:01 Then I receive a response code 200 # features/steps/patroni_api.py:98 2061s Jan 09 15:06:01 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 2061s Jan 09 15:06:01 Then I receive a response code 503 # features/steps/patroni_api.py:98 2061s Jan 09 15:06:01 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 2061s Jan 09 15:06:01 Then I receive a response code 503 # features/steps/patroni_api.py:98 2061s Jan 09 15:06:01 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 2061s Jan 09 15:06:01 Then I receive a response code 200 # features/steps/patroni_api.py:98 2065s Jan 09 15:06:05 2065s Jan 09 15:06:05 Feature: permanent slots # features/permanent_slots.feature:1 2065s Jan 09 15:06:05 2065s Jan 09 15:06:05 Scenario: check that physical permanent slots are created # features/permanent_slots.feature:2 2065s Jan 09 15:06:05 Given I start postgres0 # features/steps/basic_replication.py:8 2069s Jan 09 15:06:09 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2069s Jan 09 15:06:09 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2069s Jan 09 15:06:09 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 2069s Jan 09 15:06:09 Then I receive a response code 200 # features/steps/patroni_api.py:98 2069s Jan 09 15:06:09 And Response on GET http://127.0.0.1:8008/config contains slots after 10 seconds # features/steps/patroni_api.py:156 2069s Jan 09 15:06:09 When I start postgres1 # features/steps/basic_replication.py:8 2073s Jan 09 15:06:13 And I configure and start postgres2 with a tag nofailover true # features/steps/cascading_replication.py:7 2077s Jan 09 15:06:17 And I configure and start postgres3 with a tag replicatefrom postgres2 # features/steps/cascading_replication.py:7 2081s Jan 09 15:06:21 Then postgres0 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 2081s Jan 09 15:06:21 And postgres0 has a physical replication slot named postgres1 after 10 seconds # features/steps/slots.py:80 2081s Jan 09 15:06:21 And postgres0 has a physical replication slot named postgres2 after 10 seconds # features/steps/slots.py:80 2081s Jan 09 15:06:21 And postgres2 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 2081s Jan 09 15:06:21 And postgres2 does not have a replication slot named test_physical # features/steps/slots.py:40 2081s Jan 09 15:06:21 2081s Jan 09 15:06:21 @slot-advance 2081s Jan 09 15:06:21 Scenario: check that logical permanent slots are created # features/permanent_slots.feature:19 2081s Jan 09 15:06:21 Given I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 2085s Jan 09 15:06: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 2085s Jan 09 15:06:25 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 2086s Jan 09 15:06:26 2086s Jan 09 15:06:26 @slot-advance 2086s Jan 09 15:06:26 Scenario: check that permanent slots are created on replicas # features/permanent_slots.feature:25 2086s Jan 09 15:06:26 Given postgres1 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 2091s Jan 09 15:06:31 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2091s Jan 09 15:06:31 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 2092s Jan 09 15:06:32 And postgres1 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 2092s Jan 09 15:06:32 And postgres2 does not have a replication slot named test_logical # features/steps/slots.py:40 2092s Jan 09 15:06:32 And postgres3 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 2092s Jan 09 15:06:32 2092s Jan 09 15:06:32 @slot-advance 2092s Jan 09 15:06:32 Scenario: check permanent physical slots that match with member names # features/permanent_slots.feature:34 2092s Jan 09 15:06:32 Given postgres0 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 2092s Jan 09 15:06:32 And postgres1 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 2092s Jan 09 15:06:32 And postgres1 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 2092s Jan 09 15:06:32 And postgres2 does not have a replication slot named postgres0 # features/steps/slots.py:40 2092s Jan 09 15:06:32 And postgres2 does not have a replication slot named postgres1 # features/steps/slots.py:40 2092s Jan 09 15:06:32 And postgres2 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 2092s Jan 09 15:06:32 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 2092s Jan 09 15:06:32 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 2092s Jan 09 15:06:32 2092s Jan 09 15:06:32 @slot-advance 2092s Jan 09 15:06:32 Scenario: check that permanent slots are advanced on replicas # features/permanent_slots.feature:45 2092s Jan 09 15:06:32 Given I add the table replicate_me to postgres0 # features/steps/basic_replication.py:54 2092s Jan 09 15:06:32 When I get all changes from logical slot test_logical on postgres0 # features/steps/slots.py:70 2092s Jan 09 15:06:32 And I get all changes from physical slot test_physical on postgres0 # features/steps/slots.py:75 2092s Jan 09 15:06:32 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2095s Jan 09 15:06:35 And Physical slot test_physical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2095s Jan 09 15:06:35 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 2095s Jan 09 15:06:35 And Physical slot test_physical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 2095s Jan 09 15:06:35 And Physical slot postgres3 is in sync between postgres2 and postgres0 after 20 seconds # features/steps/slots.py:51 2095s Jan 09 15:06:35 And Physical slot postgres3 is in sync between postgres2 and postgres1 after 10 seconds # features/steps/slots.py:51 2095s Jan 09 15:06:35 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 2095s Jan 09 15:06:35 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 2095s Jan 09 15:06:35 2095s Jan 09 15:06:35 @slot-advance 2095s Jan 09 15:06:35 Scenario: check that only permanent slots are written to the /status key # features/permanent_slots.feature:59 2095s Jan 09 15:06:35 Given "status" key in DCS has test_physical in slots # features/steps/slots.py:116 2095s Jan 09 15:06:35 And "status" key in DCS has postgres0 in slots # features/steps/slots.py:116 2095s Jan 09 15:06:35 And "status" key in DCS has postgres1 in slots # features/steps/slots.py:116 2095s Jan 09 15:06:35 And "status" key in DCS does not have postgres2 in slots # features/steps/slots.py:122 2095s Jan 09 15:06:35 And "status" key in DCS has postgres3 in slots # features/steps/slots.py:116 2095s Jan 09 15:06:35 2095s Jan 09 15:06:35 Scenario: check permanent physical replication slot after failover # features/permanent_slots.feature:66 2095s Jan 09 15:06:35 Given I shut down postgres3 # features/steps/basic_replication.py:29 2096s Jan 09 15:06:36 And I shut down postgres2 # features/steps/basic_replication.py:29 2097s Jan 09 15:06:37 And I shut down postgres0 # features/steps/basic_replication.py:29 2099s Jan 09 15:06:39 Then postgres1 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 2099s Jan 09 15:06:39 And postgres1 has a physical replication slot named postgres0 after 10 seconds # features/steps/slots.py:80 2099s Jan 09 15:06:39 And postgres1 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 2099s Jan 09 15:06:39 When I start postgres0 # features/steps/basic_replication.py:8 2102s Jan 09 15:06:42 Then postgres0 role is the replica after 20 seconds # features/steps/basic_replication.py:105 2102s Jan 09 15:06:42 And physical replication slot named postgres1 on postgres0 has no xmin value after 10 seconds # features/steps/slots.py:96 2103s Jan 09 15:06:43 And physical replication slot named postgres2 on postgres0 has no xmin value after 10 seconds # features/steps/slots.py:96 2106s Jan 09 15:06:46 2106s Jan 09 15:06:46 Feature: priority replication # features/priority_failover.feature:1 2106s Jan 09 15:06:46 We should check that we can give nodes priority during failover 2106s Jan 09 15:06:46 Scenario: check failover priority 0 prevents leaderships # features/priority_failover.feature:4 2106s Jan 09 15:06:46 Given I configure and start postgres0 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 2110s Jan 09 15:06:50 And I configure and start postgres1 with a tag failover_priority 0 # features/steps/cascading_replication.py:7 2114s Jan 09 15:06:54 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 2115s Jan 09 15:06:55 When I shut down postgres0 # features/steps/basic_replication.py:29 2117s Jan 09 15:06:57 And there is one of ["following a different leader because I am not allowed to promote"] INFO in the postgres1 patroni log after 5 seconds # features/steps/basic_replication.py:121 2119s Jan 09 15:06:59 Then postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 2119s Jan 09 15:06:59 When I start postgres0 # features/steps/basic_replication.py:8 2122s Jan 09 15:07:02 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2124s Jan 09 15:07:04 2124s Jan 09 15:07:04 Scenario: check higher failover priority is respected # features/priority_failover.feature:14 2124s Jan 09 15:07:04 Given I configure and start postgres2 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 2129s Jan 09 15:07:09 And I configure and start postgres3 with a tag failover_priority 2 # features/steps/cascading_replication.py:7 2133s Jan 09 15:07:13 Then replication works from postgres0 to postgres2 after 20 seconds # features/steps/basic_replication.py:112 2134s Jan 09 15:07:14 And replication works from postgres0 to postgres3 after 20 seconds # features/steps/basic_replication.py:112 2135s Jan 09 15:07:15 When I shut down postgres0 # features/steps/basic_replication.py:29 2137s Jan 09 15:07:17 Then postgres3 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2138s Jan 09 15:07:18 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 2138s Jan 09 15:07:18 2138s Jan 09 15:07:18 Scenario: check conflicting configuration handling # features/priority_failover.feature:23 2138s Jan 09 15:07:18 When I set nofailover tag in postgres2 config # features/steps/patroni_api.py:131 2138s Jan 09 15:07:18 And I issue an empty POST request to http://127.0.0.1:8010/reload # features/steps/patroni_api.py:66 2138s Jan 09 15:07:18 Then I receive a response code 202 # features/steps/patroni_api.py:98 2138s Jan 09 15:07:18 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 2139s Jan 09 15:07:19 And "members/postgres2" key in DCS has tags={'failover_priority': '1', 'nofailover': True} after 10 seconds # features/steps/cascading_replication.py:23 2140s Jan 09 15:07:20 When I issue a POST request to http://127.0.0.1:8010/failover with {"candidate": "postgres2"} # features/steps/patroni_api.py:71 2140s Jan 09 15:07:20 Then I receive a response code 412 # features/steps/patroni_api.py:98 2140s Jan 09 15:07:20 And I receive a response text "failover is not possible: no good candidates have been found" # features/steps/patroni_api.py:98 2140s Jan 09 15:07:20 When I reset nofailover tag in postgres1 config # features/steps/patroni_api.py:131 2140s Jan 09 15:07:20 And I issue an empty POST request to http://127.0.0.1:8009/reload # features/steps/patroni_api.py:66 2140s Jan 09 15:07:20 Then I receive a response code 202 # features/steps/patroni_api.py:98 2140s Jan 09 15:07:20 And there is one of ["Conflicting configuration between nofailover: False and failover_priority: 0. Defaulting to nofailover: False"] WARNING in the postgres1 patroni log after 5 seconds # features/steps/basic_replication.py:121 2141s Jan 09 15:07:21 And "members/postgres1" key in DCS has tags={'failover_priority': '0', 'nofailover': False} after 10 seconds # features/steps/cascading_replication.py:23 2142s Jan 09 15:07:22 And I issue a POST request to http://127.0.0.1:8009/failover with {"candidate": "postgres1"} # features/steps/patroni_api.py:71 2145s Jan 09 15:07:25 Then I receive a response code 200 # features/steps/patroni_api.py:98 2145s Jan 09 15:07:25 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2149s Jan 09 15:07:29 2149s Jan 09 15:07:29 Feature: recovery # features/recovery.feature:1 2149s Jan 09 15:07:29 We want to check that crashed postgres is started back 2149s Jan 09 15:07:29 Scenario: check that timeline is not incremented when primary is started after crash # features/recovery.feature:4 2149s Jan 09 15:07:29 Given I start postgres0 # features/steps/basic_replication.py:8 2153s Jan 09 15:07:33 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2153s Jan 09 15:07:33 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2153s Jan 09 15:07:33 When I start postgres1 # features/steps/basic_replication.py:8 2157s Jan 09 15:07:37 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 2158s Jan 09 15:07:38 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 2159s Jan 09 15:07:39 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 2159s Jan 09 15:07:39 waiting for server to shut down.... done 2159s Jan 09 15:07:39 server stopped 2159s Jan 09 15:07:39 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2161s Jan 09 15:07:41 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 2161s Jan 09 15:07:41 Then I receive a response code 200 # features/steps/patroni_api.py:98 2161s Jan 09 15:07:41 And I receive a response role master # features/steps/patroni_api.py:98 2161s Jan 09 15:07:41 And I receive a response timeline 1 # features/steps/patroni_api.py:98 2161s Jan 09 15:07:41 And "members/postgres0" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 2161s Jan 09 15:07:41 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 2163s Jan 09 15:07:43 2163s Jan 09 15:07:43 Scenario: check immediate failover when master_start_timeout=0 # features/recovery.feature:20 2163s Jan 09 15:07:43 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 2163s Jan 09 15:07:43 Then I receive a response code 200 # features/steps/patroni_api.py:98 2163s Jan 09 15:07:43 And Response on GET http://127.0.0.1:8008/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 2163s Jan 09 15:07:43 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 2163s Jan 09 15:07:43 waiting for server to shut down.... done 2163s Jan 09 15:07:43 server stopped 2163s Jan 09 15:07:43 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 2165s Jan 09 15:07:45 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2169s Jan 09 15:07:49 2169s Jan 09 15:07:49 Feature: standby cluster # features/standby_cluster.feature:1 2169s Jan 09 15:07:49 2169s Jan 09 15:07:49 Scenario: prepare the cluster with logical slots # features/standby_cluster.feature:2 2169s Jan 09 15:07:49 Given I start postgres1 # features/steps/basic_replication.py:8 2173s Jan 09 15:07:53 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 2173s Jan 09 15:07:53 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2173s Jan 09 15:07:53 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 2173s Jan 09 15:07:53 Then I receive a response code 200 # features/steps/patroni_api.py:98 2173s Jan 09 15:07:53 And Response on GET http://127.0.0.1:8009/config contains slots after 10 seconds # features/steps/patroni_api.py:156 2173s Jan 09 15:07:53 And I sleep for 3 seconds # features/steps/patroni_api.py:39 2176s Jan 09 15:07:56 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 2176s Jan 09 15:07:56 Then I receive a response code 200 # features/steps/patroni_api.py:98 2176s Jan 09 15:07:56 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 2177s Jan 09 15:07:57 When I start postgres0 # features/steps/basic_replication.py:8 2181s Jan 09 15:08:01 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2181s Jan 09 15:08:01 And replication works from postgres1 to postgres0 after 15 seconds # features/steps/basic_replication.py:112 2182s Jan 09 15:08:02 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 2182s Jan 09 15:08:02 Then I receive a response code 200 # features/steps/patroni_api.py:98 2182s Jan 09 15:08:02 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 2182s Jan 09 15:08:02 And "members/postgres0" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 2182s Jan 09 15:08:02 2182s Jan 09 15:08:02 @slot-advance 2182s Jan 09 15:08:02 Scenario: check permanent logical slots are synced to the replica # features/standby_cluster.feature:22 2182s Jan 09 15:08:02 Given I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 2185s Jan 09 15:08:05 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2193s Jan 09 15:08:12 2193s Jan 09 15:08:12 Scenario: Detach exiting node from the cluster # features/standby_cluster.feature:26 2193s Jan 09 15:08:12 When I shut down postgres1 # features/steps/basic_replication.py:29 2195s Jan 09 15:08:14 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2195s Jan 09 15:08:14 And "members/postgres0" key in DCS has role=master after 5 seconds # features/steps/cascading_replication.py:23 2196s Jan 09 15:08:16 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 2196s Jan 09 15:08:16 Then I receive a response code 200 # features/steps/patroni_api.py:98 2196s Jan 09 15:08:16 2196s Jan 09 15:08:16 Scenario: check replication of a single table in a standby cluster # features/standby_cluster.feature:33 2196s Jan 09 15:08:16 Given I start postgres1 in a standby cluster batman1 as a clone of postgres0 # features/steps/standby_cluster.py:23 2200s Jan 09 15:08:20 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 2200s Jan 09 15:08:20 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 2200s Jan 09 15:08:20 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 2200s Jan 09 15:08:20 When I issue a GET request to http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:61 2200s Jan 09 15:08:20 Then I receive a response code 200 # features/steps/patroni_api.py:98 2200s Jan 09 15:08:20 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 2200s Jan 09 15:08:20 And I sleep for 3 seconds # features/steps/patroni_api.py:39 2203s Jan 09 15:08:23 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 2203s Jan 09 15:08:23 Then I receive a response code 503 # features/steps/patroni_api.py:98 2203s Jan 09 15:08:23 When I issue a GET request to http://127.0.0.1:8009/standby_leader # features/steps/patroni_api.py:61 2203s Jan 09 15:08:23 Then I receive a response code 200 # features/steps/patroni_api.py:98 2203s Jan 09 15:08:23 And I receive a response role standby_leader # features/steps/patroni_api.py:98 2203s Jan 09 15:08:23 And there is a postgres1_cb.log with "on_role_change standby_leader batman1" in postgres1 data directory # features/steps/cascading_replication.py:12 2203s Jan 09 15:08:23 When I start postgres2 in a cluster batman1 # features/steps/standby_cluster.py:12 2207s Jan 09 15:08:27 Then postgres2 role is the replica after 24 seconds # features/steps/basic_replication.py:105 2207s Jan 09 15:08:27 And postgres2 is replicating from postgres1 after 10 seconds # features/steps/standby_cluster.py:52 2207s Jan 09 15:08:27 And table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 2207s Jan 09 15:08:27 When I issue a GET request to http://127.0.0.1:8010/patroni # features/steps/patroni_api.py:61 2207s Jan 09 15:08:27 Then I receive a response code 200 # features/steps/patroni_api.py:98 2207s Jan 09 15:08:27 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 2207s Jan 09 15:08:27 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 2207s Jan 09 15:08:27 2207s Jan 09 15:08:27 Scenario: check switchover # features/standby_cluster.feature:57 2207s Jan 09 15:08:27 Given I run patronictl.py switchover batman1 --force # features/steps/patroni_api.py:86 2211s Jan 09 15:08:31 Then Status code on GET http://127.0.0.1:8010/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 2211s Jan 09 15:08:31 And postgres1 is replicating from postgres2 after 32 seconds # features/steps/standby_cluster.py:52 2213s Jan 09 15:08:33 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 2213s Jan 09 15:08:33 2213s Jan 09 15:08:33 Scenario: check failover # features/standby_cluster.feature:63 2213s Jan 09 15:08:33 When I kill postgres2 # features/steps/basic_replication.py:34 2214s Jan 09 15:08:34 And I kill postmaster on postgres2 # features/steps/basic_replication.py:44 2214s Jan 09 15:08:34 waiting for server to shut down.... done 2214s Jan 09 15:08:34 server stopped 2214s Jan 09 15:08:34 Then postgres1 is replicating from postgres0 after 32 seconds # features/steps/standby_cluster.py:52 2234s Jan 09 15:08:54 And Status code on GET http://127.0.0.1:8009/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 2234s Jan 09 15:08:54 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 2234s Jan 09 15:08:54 Then I receive a response code 503 # features/steps/patroni_api.py:98 2234s Jan 09 15:08:54 And I receive a response role standby_leader # features/steps/patroni_api.py:98 2234s Jan 09 15:08:54 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 2235s Jan 09 15:08:55 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 2240s Jan 09 15:09:00 2240s Jan 09 15:09:00 Feature: watchdog # features/watchdog.feature:1 2240s Jan 09 15:09:00 Verify that watchdog gets pinged and triggered under appropriate circumstances. 2240s Jan 09 15:09:00 Scenario: watchdog is opened and pinged # features/watchdog.feature:4 2240s Jan 09 15:09:00 Given I start postgres0 with watchdog # features/steps/watchdog.py:16 2244s Jan 09 15:09:04 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2245s Jan 09 15:09:05 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2245s Jan 09 15:09:05 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 2246s Jan 09 15:09:06 And postgres0 watchdog has a 15 second timeout # features/steps/watchdog.py:34 2246s Jan 09 15:09:06 2246s Jan 09 15:09:06 Scenario: watchdog is reconfigured after global ttl changed # features/watchdog.feature:11 2246s Jan 09 15:09:06 Given I run patronictl.py edit-config batman -s ttl=30 --force # features/steps/patroni_api.py:86 2248s Jan 09 15:09:08 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2248s Jan 09 15:09:08 And I receive a response output "+ttl: 30" # features/steps/patroni_api.py:98 2248s Jan 09 15:09:08 When I sleep for 4 seconds # features/steps/patroni_api.py:39 2252s Jan 09 15:09:12 Then postgres0 watchdog has a 25 second timeout # features/steps/watchdog.py:34 2252s Jan 09 15:09:12 2252s Jan 09 15:09:12 Scenario: watchdog is disabled during pause # features/watchdog.feature:18 2252s Jan 09 15:09:12 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 2253s Jan 09 15:09:13 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2253s Jan 09 15:09:13 When I sleep for 2 seconds # features/steps/patroni_api.py:39 2255s Jan 09 15:09:15 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 2255s Jan 09 15:09:15 2255s Jan 09 15:09:15 Scenario: watchdog is opened and pinged after resume # features/watchdog.feature:24 2255s Jan 09 15:09:15 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 2255s Jan 09 15:09:15 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 2257s Jan 09 15:09:17 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2257s Jan 09 15:09:17 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 2258s Jan 09 15:09:18 2258s Jan 09 15:09:18 Scenario: watchdog is disabled when shutting down # features/watchdog.feature:30 2258s Jan 09 15:09:18 Given I shut down postgres0 # features/steps/basic_replication.py:29 2260s Jan 09 15:09:20 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 2260s Jan 09 15:09:20 2260s Jan 09 15:09:20 Scenario: watchdog is triggered if patroni stops responding # features/watchdog.feature:34 2260s Jan 09 15:09:20 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 2260s Jan 09 15:09:20 And I start postgres0 with watchdog # features/steps/watchdog.py:16 2263s Jan 09 15:09:23 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2265s Jan 09 15:09:25 When postgres0 hangs for 30 seconds # features/steps/watchdog.py:52 2265s Jan 09 15:09:25 Then postgres0 watchdog is triggered after 30 seconds # features/steps/watchdog.py:44 2292s Jan 09 15:09:52 2293s Jan 09 15:09:53 Combined data file .coverage.autopkgtest.10063.XgGgcuZx 2293s Jan 09 15:09:53 Combined data file .coverage.autopkgtest.10127.XJmLETkx 2293s Jan 09 15:09:53 Combined data file .coverage.autopkgtest.10184.XEXrjKVx 2293s Jan 09 15:09:53 Combined data file .coverage.autopkgtest.10300.XudCTDkx 2293s Jan 09 15:09:53 Combined data file .coverage.autopkgtest.10424.XluTILAx 2293s Jan 09 15:09:53 Combined data file .coverage.autopkgtest.10560.XrJWwgEx 2293s Jan 09 15:09:53 Combined data file .coverage.autopkgtest.10609.XZJyiyYx 2293s Jan 09 15:09:53 Combined data file .coverage.autopkgtest.10617.XqWTXpUx 2293s Jan 09 15:09:53 Combined data file .coverage.autopkgtest.10622.XuwKFZOx 2293s Jan 09 15:09:53 Combined data file .coverage.autopkgtest.10638.XyAsmFnx 2293s Jan 09 15:09:53 Combined data file .coverage.autopkgtest.6611.XwZfhzQx 2293s Jan 09 15:09:53 Combined data file .coverage.autopkgtest.6659.XqvEtVfx 2293s Jan 09 15:09:53 Combined data file .coverage.autopkgtest.6712.XfYotLLx 2293s Jan 09 15:09:53 Combined data file .coverage.autopkgtest.6766.XQHaSKfx 2293s Jan 09 15:09:53 Combined data file .coverage.autopkgtest.6814.XVqPBMrx 2293s Jan 09 15:09:53 Combined data file .coverage.autopkgtest.6887.XLiWyShx 2293s Jan 09 15:09:53 Combined data file .coverage.autopkgtest.6938.XTeDrJTx 2293s Jan 09 15:09:53 Combined data file .coverage.autopkgtest.6944.XBfpHIyx 2293s Jan 09 15:09:53 Combined data file .coverage.autopkgtest.7039.XaroSCux 2293s Jan 09 15:09:53 Combined data file .coverage.autopkgtest.7143.XqWRZwDx 2293s Jan 09 15:09:53 Combined data file .coverage.autopkgtest.7159.XDoYxaGx 2293s Jan 09 15:09:53 Combined data file .coverage.autopkgtest.7204.XllvfLRx 2293s Jan 09 15:09:53 Combined data file .coverage.autopkgtest.7255.XCpBdiyx 2293s Jan 09 15:09:53 Combined data file .coverage.autopkgtest.7419.XvadwJRx 2293s Jan 09 15:09:53 Combined data file .coverage.autopkgtest.7466.XqCNeEex 2293s Jan 09 15:09:53 Combined data file .coverage.autopkgtest.7523.XTPIUJDx 2293s Jan 09 15:09:53 Combined data file .coverage.autopkgtest.7621.XfbzfuGx 2293s Jan 09 15:09:53 Combined data file .coverage.autopkgtest.7678.XdgYzDKx 2293s Jan 09 15:09:53 Combined data file .coverage.autopkgtest.7742.XoZaDAFx 2293s Jan 09 15:09:53 Combined data file .coverage.autopkgtest.7837.XFJzjlJx 2293s Jan 09 15:09:53 Combined data file .coverage.autopkgtest.7942.XaOniflx 2293s Jan 09 15:09:53 Combined data file .coverage.autopkgtest.7988.XZWJnxgx 2293s Jan 09 15:09:53 Combined data file .coverage.autopkgtest.8054.XjclXjJx 2293s Jan 09 15:09:53 Combined data file .coverage.autopkgtest.8092.XZkozkDx 2293s Jan 09 15:09:53 Combined data file .coverage.autopkgtest.8227.XdWMeckx 2293s Jan 09 15:09:53 Combined data file .coverage.autopkgtest.8280.XYWMDCBx 2293s Jan 09 15:09:53 Combined data file .coverage.autopkgtest.8302.XcGvYFJx 2293s Jan 09 15:09:53 Combined data file .coverage.autopkgtest.8347.XWNTXYGx 2293s Jan 09 15:09:53 Skipping duplicate data .coverage.autopkgtest.8401.XVMYDRax 2293s Jan 09 15:09:53 Combined data file .coverage.autopkgtest.8408.XPoVTPsx 2293s Jan 09 15:09:53 Combined data file .coverage.autopkgtest.8447.XpdxLzyx 2293s Jan 09 15:09:53 Combined data file .coverage.autopkgtest.8492.XFSHtXqx 2293s Jan 09 15:09:53 Combined data file .coverage.autopkgtest.8663.XVIfWJux 2293s Jan 09 15:09:53 Combined data file .coverage.autopkgtest.8667.XrwxJdqx 2293s Jan 09 15:09:53 Combined data file .coverage.autopkgtest.8675.XfMmlxXx 2293s Jan 09 15:09:53 Combined data file .coverage.autopkgtest.8819.XccJTiFx 2293s Jan 09 15:09:53 Combined data file .coverage.autopkgtest.8868.XuEYxsTx 2293s Jan 09 15:09:53 Combined data file .coverage.autopkgtest.8918.XszEdpox 2293s Jan 09 15:09:53 Combined data file .coverage.autopkgtest.8973.XObfpYTx 2293s Jan 09 15:09:53 Combined data file .coverage.autopkgtest.9028.XeBqhdCx 2293s Jan 09 15:09:53 Combined data file .coverage.autopkgtest.9189.XDxGdbOx 2293s Jan 09 15:09:53 Combined data file .coverage.autopkgtest.9258.XPufuAPx 2293s Jan 09 15:09:53 Combined data file .coverage.autopkgtest.9303.XkxNTpBx 2293s Jan 09 15:09:53 Combined data file .coverage.autopkgtest.9380.XItuiJkx 2293s Jan 09 15:09:53 Combined data file .coverage.autopkgtest.9462.XaEBdEcx 2293s Jan 09 15:09:53 Combined data file .coverage.autopkgtest.9529.Xfdgqpex 2293s Jan 09 15:09:53 Combined data file .coverage.autopkgtest.9870.XHegyfgx 2293s Jan 09 15:09:53 Combined data file .coverage.autopkgtest.9915.XaJATCOx 2295s Jan 09 15:09:55 Name Stmts Miss Cover 2295s Jan 09 15:09:55 -------------------------------------------------------------------------------------------------------- 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 101 96 5% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/dateutil/__init__.py 13 4 69% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/dateutil/_version.py 11 2 82% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 811 436 46% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 184 150 18% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 240 206 14% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 151 114 25% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 795 626 21% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/dateutil/tz/win.py 153 149 3% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/kazoo/__init__.py 1 0 100% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/kazoo/client.py 629 266 58% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/kazoo/exceptions.py 110 1 99% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/kazoo/handlers/__init__.py 0 0 100% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/kazoo/handlers/threading.py 94 15 84% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/kazoo/handlers/utils.py 222 75 66% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/kazoo/hosts.py 18 4 78% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/kazoo/loggingsupport.py 1 0 100% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/kazoo/protocol/__init__.py 0 0 100% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/kazoo/protocol/connection.py 485 176 64% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/kazoo/protocol/paths.py 33 8 76% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/kazoo/protocol/serialization.py 316 111 65% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/kazoo/protocol/states.py 49 9 82% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/kazoo/python2atexit.py 32 19 41% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/kazoo/recipe/__init__.py 0 0 100% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/kazoo/recipe/barrier.py 97 80 18% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/kazoo/recipe/counter.py 49 36 27% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/kazoo/recipe/election.py 16 10 38% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/kazoo/recipe/lease.py 54 36 33% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/kazoo/recipe/lock.py 295 242 18% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/kazoo/recipe/partitioner.py 155 120 23% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/kazoo/recipe/party.py 62 43 31% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/kazoo/recipe/queue.py 157 126 20% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/kazoo/recipe/watchers.py 172 138 20% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/kazoo/retry.py 60 9 85% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/kazoo/security.py 58 35 40% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/kazoo/version.py 1 0 100% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/patroni/__main__.py 199 63 68% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/patroni/api.py 780 292 63% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 15 84% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/patroni/collections.py 56 6 89% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/patroni/config.py 371 92 75% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/patroni/config_generator.py 212 159 25% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/patroni/daemon.py 76 3 96% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 654 92 86% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/patroni/dcs/zookeeper.py 289 70 76% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/patroni/dynamic_loader.py 35 7 80% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/patroni/file_perm.py 43 8 81% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/patroni/global_config.py 81 0 100% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/patroni/ha.py 1270 391 69% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/patroni/log.py 221 71 68% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 822 173 79% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/patroni/postgresql/available_parameters/__init__.py 24 3 88% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 255 62 76% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 838 217 74% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 1 99% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 43 8 81% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/patroni/postgresql/mpp/__init__.py 89 11 88% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 85 50% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 416 166 60% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 349 35 90% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 130 19 85% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 157 24 85% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/patroni/psycopg.py 46 20 57% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/patroni/request.py 58 7 88% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/patroni/tags.py 38 0 100% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/patroni/utils.py 370 122 67% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/patroni/validator.py 307 214 30% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 46 77% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 35 74% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/psutil/__init__.py 951 629 34% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/psutil/_common.py 424 212 50% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/psutil/_compat.py 302 263 13% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1251 924 26% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/psutil/_psposix.py 96 38 60% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/puresasl/__init__.py 21 2 90% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/puresasl/client.py 71 47 34% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/puresasl/mechanisms.py 363 263 28% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/six.py 506 259 49% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/urllib3/__init__.py 50 14 72% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 70 52 26% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/urllib3/_collections.py 234 128 45% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 53 23 57% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/urllib3/_version.py 2 0 100% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/urllib3/connection.py 324 110 66% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 347 136 61% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/urllib3/exceptions.py 115 37 68% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 88 62% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/urllib3/response.py 562 334 41% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 9 86% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 52 50% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 17 47% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/urllib3/util/retry.py 173 52 70% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 177 75 58% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 160 112 30% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 19 73% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/urllib3/util/url.py 205 78 62% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 18 31% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 38 22% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/yaml/parser.py 352 180 49% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/yaml/reader.py 122 30 75% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/yaml/scanner.py 758 415 45% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 2295s Jan 09 15:09:55 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 2295s Jan 09 15:09:55 patroni/__init__.py 13 2 85% 2295s Jan 09 15:09:55 patroni/__main__.py 199 199 0% 2295s Jan 09 15:09:55 patroni/api.py 780 780 0% 2295s Jan 09 15:09:55 patroni/async_executor.py 96 69 28% 2295s Jan 09 15:09:55 patroni/collections.py 56 15 73% 2295s Jan 09 15:09:55 patroni/config.py 371 194 48% 2295s Jan 09 15:09:55 patroni/config_generator.py 212 212 0% 2295s Jan 09 15:09:55 patroni/ctl.py 936 411 56% 2295s Jan 09 15:09:55 patroni/daemon.py 76 76 0% 2295s Jan 09 15:09:55 patroni/dcs/__init__.py 654 276 58% 2295s Jan 09 15:09:55 patroni/dcs/consul.py 484 484 0% 2295s Jan 09 15:09:55 patroni/dcs/etcd3.py 679 679 0% 2295s Jan 09 15:09:55 patroni/dcs/etcd.py 603 603 0% 2295s Jan 09 15:09:55 patroni/dcs/exhibitor.py 62 62 0% 2295s Jan 09 15:09:55 patroni/dcs/kubernetes.py 940 940 0% 2295s Jan 09 15:09:55 patroni/dcs/raft.py 319 319 0% 2295s Jan 09 15:09:55 patroni/dcs/zookeeper.py 289 153 47% 2295s Jan 09 15:09:55 patroni/dynamic_loader.py 35 7 80% 2295s Jan 09 15:09:55 patroni/exceptions.py 16 1 94% 2295s Jan 09 15:09:55 patroni/file_perm.py 43 15 65% 2295s Jan 09 15:09:55 patroni/global_config.py 81 18 78% 2295s Jan 09 15:09:55 patroni/ha.py 1270 1270 0% 2295s Jan 09 15:09:55 patroni/log.py 221 175 21% 2295s Jan 09 15:09:55 patroni/postgresql/__init__.py 822 652 21% 2295s Jan 09 15:09:55 patroni/postgresql/available_parameters/__init__.py 24 6 75% 2295s Jan 09 15:09:55 patroni/postgresql/bootstrap.py 255 225 12% 2295s Jan 09 15:09:55 patroni/postgresql/callback_executor.py 55 34 38% 2295s Jan 09 15:09:55 patroni/postgresql/cancellable.py 104 84 19% 2295s Jan 09 15:09:55 patroni/postgresql/config.py 838 718 14% 2295s Jan 09 15:09:55 patroni/postgresql/connection.py 75 50 33% 2295s Jan 09 15:09:55 patroni/postgresql/misc.py 43 30 30% 2295s Jan 09 15:09:55 patroni/postgresql/mpp/__init__.py 89 21 76% 2295s Jan 09 15:09:55 patroni/postgresql/mpp/citus.py 259 259 0% 2295s Jan 09 15:09:55 patroni/postgresql/postmaster.py 170 139 18% 2295s Jan 09 15:09:55 patroni/postgresql/rewind.py 416 416 0% 2295s Jan 09 15:09:55 patroni/postgresql/slots.py 349 300 14% 2295s Jan 09 15:09:55 patroni/postgresql/sync.py 130 96 26% 2295s Jan 09 15:09:55 patroni/postgresql/validator.py 157 52 67% 2295s Jan 09 15:09:55 patroni/psycopg.py 46 32 30% 2295s Jan 09 15:09:55 patroni/raft_controller.py 22 22 0% 2295s Jan 09 15:09:55 patroni/request.py 58 6 90% 2295s Jan 09 15:09:55 patroni/scripts/__init__.py 0 0 100% 2295s Jan 09 15:09:55 patroni/scripts/aws.py 59 59 0% 2295s Jan 09 15:09:55 patroni/scripts/barman/__init__.py 0 0 100% 2295s Jan 09 15:09:55 patroni/scripts/barman/cli.py 51 51 0% 2295s Jan 09 15:09:55 patroni/scripts/barman/config_switch.py 51 51 0% 2295s Jan 09 15:09:55 patroni/scripts/barman/recover.py 37 37 0% 2295s Jan 09 15:09:55 patroni/scripts/barman/utils.py 94 94 0% 2295s Jan 09 15:09:55 patroni/scripts/wale_restore.py 207 207 0% 2295s Jan 09 15:09:55 patroni/tags.py 38 11 71% 2295s Jan 09 15:09:55 patroni/utils.py 370 246 34% 2295s Jan 09 15:09:55 patroni/validator.py 307 221 28% 2295s Jan 09 15:09:55 patroni/version.py 1 0 100% 2295s Jan 09 15:09:55 patroni/watchdog/__init__.py 2 2 0% 2295s Jan 09 15:09:55 patroni/watchdog/base.py 203 203 0% 2295s Jan 09 15:09:55 patroni/watchdog/linux.py 135 135 0% 2295s Jan 09 15:09:55 -------------------------------------------------------------------------------------------------------- 2295s Jan 09 15:09:55 TOTAL 40053 24034 40% 2295s Jan 09 15:09:55 11 features passed, 0 failed, 1 skipped 2295s Jan 09 15:09:55 44 scenarios passed, 0 failed, 5 skipped 2295s Jan 09 15:09:55 445 steps passed, 0 failed, 61 skipped, 0 undefined 2295s Jan 09 15:09:55 Took 7m47.184s 2295s ### End 16 acceptance-zookeeper -e dcs_failsafe_mode ### 2295s + echo '### End 16 acceptance-zookeeper -e dcs_failsafe_mode ###' 2295s + rm -f '/tmp/pgpass?' 2295s ++ id -u 2295s + '[' 0 -eq 0 ']' 2295s + '[' -x /etc/init.d/zookeeper ']' 2295s + /etc/init.d/zookeeper stop 2296s Stopping zookeeper (via systemctl): zookeeper.service. 2296s autopkgtest [15:09:56]: test acceptance-zookeeper: -----------------------] 2297s acceptance-zookeeper PASS 2297s autopkgtest [15:09:57]: test acceptance-zookeeper: - - - - - - - - - - results - - - - - - - - - - 2297s autopkgtest [15:09:57]: test acceptance-raft: preparing testbed 2377s autopkgtest [15:11:17]: testbed dpkg architecture: ppc64el 2377s autopkgtest [15:11:17]: testbed apt version: 2.9.18 2378s autopkgtest [15:11:18]: @@@@@@@@@@@@@@@@@@@@ test bed setup 2378s autopkgtest [15:11:18]: testbed release detected to be: plucky 2379s autopkgtest [15:11:19]: updating testbed package index (apt update) 2379s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB] 2379s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 2379s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 2379s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 2379s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [760 kB] 2380s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [9708 B] 2380s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [15.6 kB] 2380s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [127 kB] 2380s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/main ppc64el Packages [227 kB] 2380s Get:10 http://ftpmaster.internal/ubuntu plucky-proposed/restricted ppc64el Packages [756 B] 2380s Get:11 http://ftpmaster.internal/ubuntu plucky-proposed/universe ppc64el Packages [956 kB] 2380s Get:12 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse ppc64el Packages [5472 B] 2380s Fetched 2176 kB in 1s (1974 kB/s) 2381s Reading package lists... 2382s + lsb_release --codename --short 2382s + RELEASE=plucky 2382s + cat 2382s + [ plucky != trusty ] 2382s + DEBIAN_FRONTEND=noninteractive eatmydata apt-get -y --allow-downgrades -o Dpkg::Options::=--force-confnew dist-upgrade 2382s Reading package lists... 2382s Building dependency tree... 2382s Reading state information... 2382s Calculating upgrade... 2382s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2382s + rm /etc/apt/preferences.d/force-downgrade-to-release.pref 2382s + /usr/lib/apt/apt-helper analyze-pattern ?true 2382s + DEBIAN_FRONTEND=noninteractive eatmydata apt-get -y purge --autoremove ?obsolete 2382s Reading package lists... 2383s Building dependency tree... 2383s Reading state information... 2383s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2383s + grep -q trusty /etc/lsb-release 2383s + [ ! -d /usr/share/doc/unattended-upgrades ] 2383s + [ ! -d /usr/share/doc/lxd ] 2383s + [ ! -d /usr/share/doc/lxd-client ] 2383s + [ ! -d /usr/share/doc/snapd ] 2383s + type iptables 2383s + cat 2383s + chmod 755 /etc/rc.local 2383s + . /etc/rc.local 2383s + iptables -w -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu 2383s + iptables -A OUTPUT -d 10.255.255.1/32 -p tcp -j DROP 2383s + iptables -A OUTPUT -d 10.255.255.2/32 -p tcp -j DROP 2383s + uname -m 2383s + [ ppc64le = ppc64le ] 2383s + systemctl is-active keyboard-setup.service 2383s + [ active = failed ] 2383s + [ -d /run/systemd/system ] 2383s + systemd-detect-virt --quiet --vm 2383s + mkdir -p /etc/systemd/system/systemd-random-seed.service.d/ 2383s + cat 2383s + grep -q lz4 /etc/initramfs-tools/initramfs.conf 2383s + echo COMPRESS=lz4 2383s autopkgtest [15:11:23]: upgrading testbed (apt dist-upgrade and autopurge) 2383s Reading package lists... 2384s Building dependency tree... 2384s Reading state information... 2384s Calculating upgrade...Starting pkgProblemResolver with broken count: 0 2384s Starting 2 pkgProblemResolver with broken count: 0 2384s Done 2385s Entering ResolveByKeep 2385s 2385s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2385s Reading package lists... 2386s Building dependency tree... 2386s Reading state information... 2386s Starting pkgProblemResolver with broken count: 0 2386s Starting 2 pkgProblemResolver with broken count: 0 2386s Done 2387s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2389s Reading package lists... 2390s Building dependency tree... 2390s Reading state information... 2390s Starting pkgProblemResolver with broken count: 0 2390s Starting 2 pkgProblemResolver with broken count: 0 2390s Done 2390s The following NEW packages will be installed: 2390s fonts-font-awesome fonts-lato libio-pty-perl libipc-run-perl libjs-jquery 2390s libjs-sphinxdoc libjs-underscore libjson-perl libpq5 libpython3.13-minimal 2390s libpython3.13-stdlib libtime-duration-perl libtimedate-perl libxslt1.1 2390s moreutils patroni patroni-doc postgresql postgresql-16 postgresql-client-16 2390s postgresql-client-common postgresql-common python3-behave python3-cdiff 2390s python3-click python3-colorama python3-coverage python3-dateutil 2390s python3-parse python3-parse-type python3-prettytable python3-psutil 2390s python3-psycopg2 python3-pysyncobj python3-six python3-wcwidth python3-ydiff 2390s python3.13 python3.13-minimal sphinx-rtd-theme-common ssl-cert 2390s 0 upgraded, 41 newly installed, 0 to remove and 0 not upgraded. 2390s Need to get 31.7 MB of archives. 2390s After this operation, 121 MB of additional disk space will be used. 2390s Get:1 http://ftpmaster.internal/ubuntu plucky/main ppc64el fonts-lato all 2.015-1 [2781 kB] 2391s Get:2 http://ftpmaster.internal/ubuntu plucky/main ppc64el libjson-perl all 4.10000-1 [81.9 kB] 2391s Get:3 http://ftpmaster.internal/ubuntu plucky/main ppc64el postgresql-client-common all 262 [36.7 kB] 2391s Get:4 http://ftpmaster.internal/ubuntu plucky/main ppc64el ssl-cert all 1.1.3ubuntu1 [18.7 kB] 2391s Get:5 http://ftpmaster.internal/ubuntu plucky/main ppc64el postgresql-common all 262 [162 kB] 2391s Get:6 http://ftpmaster.internal/ubuntu plucky/main ppc64el libpython3.13-minimal ppc64el 3.13.1-2 [883 kB] 2391s Get:7 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3.13-minimal ppc64el 3.13.1-2 [2496 kB] 2391s Get:8 http://ftpmaster.internal/ubuntu plucky/main ppc64el fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 2391s Get:9 http://ftpmaster.internal/ubuntu plucky/main ppc64el libio-pty-perl ppc64el 1:1.20-1build3 [32.0 kB] 2391s Get:10 http://ftpmaster.internal/ubuntu plucky/main ppc64el libipc-run-perl all 20231003.0-2 [91.5 kB] 2391s Get:11 http://ftpmaster.internal/ubuntu plucky/main ppc64el libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 2391s Get:12 http://ftpmaster.internal/ubuntu plucky/main ppc64el libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 2391s Get:13 http://ftpmaster.internal/ubuntu plucky-proposed/main ppc64el libjs-sphinxdoc all 8.1.3-4 [30.9 kB] 2391s Get:14 http://ftpmaster.internal/ubuntu plucky/main ppc64el libpq5 ppc64el 17.2-1 [173 kB] 2391s Get:15 http://ftpmaster.internal/ubuntu plucky/main ppc64el libpython3.13-stdlib ppc64el 3.13.1-2 [2131 kB] 2391s Get:16 http://ftpmaster.internal/ubuntu plucky/main ppc64el libtime-duration-perl all 1.21-2 [12.3 kB] 2391s Get:17 http://ftpmaster.internal/ubuntu plucky/main ppc64el libtimedate-perl all 2.3300-2 [34.0 kB] 2391s Get:18 http://ftpmaster.internal/ubuntu plucky/main ppc64el libxslt1.1 ppc64el 1.1.39-0exp1ubuntu2 [191 kB] 2391s Get:19 http://ftpmaster.internal/ubuntu plucky/universe ppc64el moreutils ppc64el 0.69-1 [59.1 kB] 2391s Get:20 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-ydiff all 1.4.2-1 [19.0 kB] 2391s Get:21 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-cdiff all 1.4.2-1 [1778 B] 2391s Get:22 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-colorama all 0.4.6-4 [32.1 kB] 2391s Get:23 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-click all 8.1.7-2 [79.5 kB] 2391s Get:24 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-dateutil all 2.9.0-3 [80.2 kB] 2391s Get:25 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 2391s Get:26 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-prettytable all 3.12.0-1 [36.5 kB] 2391s Get:27 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-psutil ppc64el 5.9.8-2build3 [197 kB] 2391s Get:28 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-psycopg2 ppc64el 2.9.10-1 [160 kB] 2391s Get:29 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-pysyncobj all 0.3.12-1 [38.9 kB] 2391s Get:30 http://ftpmaster.internal/ubuntu plucky/universe ppc64el patroni all 3.3.4-1 [269 kB] 2391s Get:31 http://ftpmaster.internal/ubuntu plucky/main ppc64el sphinx-rtd-theme-common all 3.0.2+dfsg-1 [1014 kB] 2392s Get:32 http://ftpmaster.internal/ubuntu plucky/universe ppc64el patroni-doc all 3.3.4-1 [508 kB] 2392s Get:33 http://ftpmaster.internal/ubuntu plucky/main ppc64el postgresql-client-16 ppc64el 16.4-3 [1400 kB] 2392s Get:34 http://ftpmaster.internal/ubuntu plucky/main ppc64el postgresql-16 ppc64el 16.4-3 [16.6 MB] 2393s Get:35 http://ftpmaster.internal/ubuntu plucky/main ppc64el postgresql all 16+262 [11.8 kB] 2393s Get:36 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-parse all 1.20.2-1 [27.0 kB] 2393s Get:37 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-six all 1.17.0-1 [13.2 kB] 2393s Get:38 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-parse-type all 0.6.4-1 [23.4 kB] 2393s Get:39 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-behave all 1.2.6-6 [98.6 kB] 2393s Get:40 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3.13 ppc64el 3.13.1-2 [729 kB] 2393s Get:41 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-coverage ppc64el 7.4.4+dfsg1-0ubuntu3 [151 kB] 2393s Preconfiguring packages ... 2393s Fetched 31.7 MB in 3s (12.0 MB/s) 2393s Selecting previously unselected package fonts-lato. 2394s (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 ... 74025 files and directories currently installed.) 2394s Preparing to unpack .../00-fonts-lato_2.015-1_all.deb ... 2394s Unpacking fonts-lato (2.015-1) ... 2394s Selecting previously unselected package libjson-perl. 2394s Preparing to unpack .../01-libjson-perl_4.10000-1_all.deb ... 2394s Unpacking libjson-perl (4.10000-1) ... 2394s Selecting previously unselected package postgresql-client-common. 2394s Preparing to unpack .../02-postgresql-client-common_262_all.deb ... 2394s Unpacking postgresql-client-common (262) ... 2394s Selecting previously unselected package ssl-cert. 2394s Preparing to unpack .../03-ssl-cert_1.1.3ubuntu1_all.deb ... 2394s Unpacking ssl-cert (1.1.3ubuntu1) ... 2394s Selecting previously unselected package postgresql-common. 2394s Preparing to unpack .../04-postgresql-common_262_all.deb ... 2394s Adding 'diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common' 2394s Unpacking postgresql-common (262) ... 2394s Selecting previously unselected package libpython3.13-minimal:ppc64el. 2394s Preparing to unpack .../05-libpython3.13-minimal_3.13.1-2_ppc64el.deb ... 2394s Unpacking libpython3.13-minimal:ppc64el (3.13.1-2) ... 2394s Selecting previously unselected package python3.13-minimal. 2394s Preparing to unpack .../06-python3.13-minimal_3.13.1-2_ppc64el.deb ... 2394s Unpacking python3.13-minimal (3.13.1-2) ... 2394s Selecting previously unselected package fonts-font-awesome. 2394s Preparing to unpack .../07-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 2394s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 2394s Selecting previously unselected package libio-pty-perl. 2394s Preparing to unpack .../08-libio-pty-perl_1%3a1.20-1build3_ppc64el.deb ... 2394s Unpacking libio-pty-perl (1:1.20-1build3) ... 2394s Selecting previously unselected package libipc-run-perl. 2394s Preparing to unpack .../09-libipc-run-perl_20231003.0-2_all.deb ... 2394s Unpacking libipc-run-perl (20231003.0-2) ... 2394s Selecting previously unselected package libjs-jquery. 2394s Preparing to unpack .../10-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 2394s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 2394s Selecting previously unselected package libjs-underscore. 2394s Preparing to unpack .../11-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 2394s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 2394s Selecting previously unselected package libjs-sphinxdoc. 2394s Preparing to unpack .../12-libjs-sphinxdoc_8.1.3-4_all.deb ... 2394s Unpacking libjs-sphinxdoc (8.1.3-4) ... 2394s Selecting previously unselected package libpq5:ppc64el. 2394s Preparing to unpack .../13-libpq5_17.2-1_ppc64el.deb ... 2394s Unpacking libpq5:ppc64el (17.2-1) ... 2394s Selecting previously unselected package libpython3.13-stdlib:ppc64el. 2394s Preparing to unpack .../14-libpython3.13-stdlib_3.13.1-2_ppc64el.deb ... 2394s Unpacking libpython3.13-stdlib:ppc64el (3.13.1-2) ... 2395s Selecting previously unselected package libtime-duration-perl. 2395s Preparing to unpack .../15-libtime-duration-perl_1.21-2_all.deb ... 2395s Unpacking libtime-duration-perl (1.21-2) ... 2395s Selecting previously unselected package libtimedate-perl. 2395s Preparing to unpack .../16-libtimedate-perl_2.3300-2_all.deb ... 2395s Unpacking libtimedate-perl (2.3300-2) ... 2395s Selecting previously unselected package libxslt1.1:ppc64el. 2395s Preparing to unpack .../17-libxslt1.1_1.1.39-0exp1ubuntu2_ppc64el.deb ... 2395s Unpacking libxslt1.1:ppc64el (1.1.39-0exp1ubuntu2) ... 2395s Selecting previously unselected package moreutils. 2395s Preparing to unpack .../18-moreutils_0.69-1_ppc64el.deb ... 2395s Unpacking moreutils (0.69-1) ... 2395s Selecting previously unselected package python3-ydiff. 2395s Preparing to unpack .../19-python3-ydiff_1.4.2-1_all.deb ... 2395s Unpacking python3-ydiff (1.4.2-1) ... 2395s Selecting previously unselected package python3-cdiff. 2395s Preparing to unpack .../20-python3-cdiff_1.4.2-1_all.deb ... 2395s Unpacking python3-cdiff (1.4.2-1) ... 2395s Selecting previously unselected package python3-colorama. 2395s Preparing to unpack .../21-python3-colorama_0.4.6-4_all.deb ... 2395s Unpacking python3-colorama (0.4.6-4) ... 2395s Selecting previously unselected package python3-click. 2395s Preparing to unpack .../22-python3-click_8.1.7-2_all.deb ... 2395s Unpacking python3-click (8.1.7-2) ... 2395s Selecting previously unselected package python3-dateutil. 2395s Preparing to unpack .../23-python3-dateutil_2.9.0-3_all.deb ... 2395s Unpacking python3-dateutil (2.9.0-3) ... 2395s Selecting previously unselected package python3-wcwidth. 2395s Preparing to unpack .../24-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 2395s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 2395s Selecting previously unselected package python3-prettytable. 2395s Preparing to unpack .../25-python3-prettytable_3.12.0-1_all.deb ... 2395s Unpacking python3-prettytable (3.12.0-1) ... 2395s Selecting previously unselected package python3-psutil. 2395s Preparing to unpack .../26-python3-psutil_5.9.8-2build3_ppc64el.deb ... 2395s Unpacking python3-psutil (5.9.8-2build3) ... 2395s Selecting previously unselected package python3-psycopg2. 2395s Preparing to unpack .../27-python3-psycopg2_2.9.10-1_ppc64el.deb ... 2395s Unpacking python3-psycopg2 (2.9.10-1) ... 2395s Selecting previously unselected package python3-pysyncobj. 2395s Preparing to unpack .../28-python3-pysyncobj_0.3.12-1_all.deb ... 2395s Unpacking python3-pysyncobj (0.3.12-1) ... 2395s Selecting previously unselected package patroni. 2395s Preparing to unpack .../29-patroni_3.3.4-1_all.deb ... 2395s Unpacking patroni (3.3.4-1) ... 2395s Selecting previously unselected package sphinx-rtd-theme-common. 2395s Preparing to unpack .../30-sphinx-rtd-theme-common_3.0.2+dfsg-1_all.deb ... 2395s Unpacking sphinx-rtd-theme-common (3.0.2+dfsg-1) ... 2395s Selecting previously unselected package patroni-doc. 2395s Preparing to unpack .../31-patroni-doc_3.3.4-1_all.deb ... 2395s Unpacking patroni-doc (3.3.4-1) ... 2395s Selecting previously unselected package postgresql-client-16. 2395s Preparing to unpack .../32-postgresql-client-16_16.4-3_ppc64el.deb ... 2395s Unpacking postgresql-client-16 (16.4-3) ... 2395s Selecting previously unselected package postgresql-16. 2395s Preparing to unpack .../33-postgresql-16_16.4-3_ppc64el.deb ... 2395s Unpacking postgresql-16 (16.4-3) ... 2395s Selecting previously unselected package postgresql. 2395s Preparing to unpack .../34-postgresql_16+262_all.deb ... 2395s Unpacking postgresql (16+262) ... 2396s Selecting previously unselected package python3-parse. 2396s Preparing to unpack .../35-python3-parse_1.20.2-1_all.deb ... 2396s Unpacking python3-parse (1.20.2-1) ... 2396s Selecting previously unselected package python3-six. 2396s Preparing to unpack .../36-python3-six_1.17.0-1_all.deb ... 2396s Unpacking python3-six (1.17.0-1) ... 2396s Selecting previously unselected package python3-parse-type. 2396s Preparing to unpack .../37-python3-parse-type_0.6.4-1_all.deb ... 2396s Unpacking python3-parse-type (0.6.4-1) ... 2396s Selecting previously unselected package python3-behave. 2396s Preparing to unpack .../38-python3-behave_1.2.6-6_all.deb ... 2396s Unpacking python3-behave (1.2.6-6) ... 2396s Selecting previously unselected package python3.13. 2396s Preparing to unpack .../39-python3.13_3.13.1-2_ppc64el.deb ... 2396s Unpacking python3.13 (3.13.1-2) ... 2396s Selecting previously unselected package python3-coverage. 2396s Preparing to unpack .../40-python3-coverage_7.4.4+dfsg1-0ubuntu3_ppc64el.deb ... 2396s Unpacking python3-coverage (7.4.4+dfsg1-0ubuntu3) ... 2396s Setting up postgresql-client-common (262) ... 2396s Setting up fonts-lato (2.015-1) ... 2396s Setting up libio-pty-perl (1:1.20-1build3) ... 2396s Setting up python3-pysyncobj (0.3.12-1) ... 2396s Setting up python3-colorama (0.4.6-4) ... 2396s Setting up python3-ydiff (1.4.2-1) ... 2396s Setting up libpq5:ppc64el (17.2-1) ... 2396s Setting up python3-click (8.1.7-2) ... 2397s Setting up python3-psutil (5.9.8-2build3) ... 2397s Setting up python3-six (1.17.0-1) ... 2397s Setting up libpython3.13-minimal:ppc64el (3.13.1-2) ... 2397s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 2398s Setting up ssl-cert (1.1.3ubuntu1) ... 2398s Created symlink '/etc/systemd/system/multi-user.target.wants/ssl-cert.service' → '/usr/lib/systemd/system/ssl-cert.service'. 2399s Setting up python3-psycopg2 (2.9.10-1) ... 2399s Setting up libipc-run-perl (20231003.0-2) ... 2399s Setting up libtime-duration-perl (1.21-2) ... 2399s Setting up libtimedate-perl (2.3300-2) ... 2399s Setting up python3-parse (1.20.2-1) ... 2399s Setting up libjson-perl (4.10000-1) ... 2399s Setting up libxslt1.1:ppc64el (1.1.39-0exp1ubuntu2) ... 2399s Setting up python3.13-minimal (3.13.1-2) ... 2400s Setting up python3-dateutil (2.9.0-3) ... 2400s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 2400s Setting up python3-prettytable (3.12.0-1) ... 2400s Setting up libpython3.13-stdlib:ppc64el (3.13.1-2) ... 2400s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 2400s Setting up sphinx-rtd-theme-common (3.0.2+dfsg-1) ... 2400s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 2400s Setting up moreutils (0.69-1) ... 2400s Setting up python3.13 (3.13.1-2) ... 2401s Setting up postgresql-client-16 (16.4-3) ... 2402s 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 2402s Setting up python3-cdiff (1.4.2-1) ... 2402s Setting up python3-coverage (7.4.4+dfsg1-0ubuntu3) ... 2402s Setting up python3-parse-type (0.6.4-1) ... 2403s Setting up postgresql-common (262) ... 2403s Creating config file /etc/postgresql-common/createcluster.conf with new version 2403s Building PostgreSQL dictionaries from installed myspell/hunspell packages... 2403s Removing obsolete dictionary files: 2404s Created symlink '/etc/systemd/system/multi-user.target.wants/postgresql.service' → '/usr/lib/systemd/system/postgresql.service'. 2404s Setting up libjs-sphinxdoc (8.1.3-4) ... 2404s Setting up python3-behave (1.2.6-6) ... 2404s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 2404s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 2404s /usr/lib/python3/dist-packages/behave/matchers.py:267: SyntaxWarning: invalid escape sequence '\d' 2404s """Registers a custom type that will be available to "parse" 2405s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 2405s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 2405s /usr/lib/python3/dist-packages/behave/matchers.py:267: SyntaxWarning: invalid escape sequence '\d' 2405s """Registers a custom type that will be available to "parse" 2405s Setting up patroni (3.3.4-1) ... 2405s Created symlink '/etc/systemd/system/multi-user.target.wants/patroni.service' → '/usr/lib/systemd/system/patroni.service'. 2406s Setting up postgresql-16 (16.4-3) ... 2406s Creating new PostgreSQL cluster 16/main ... 2406s /usr/lib/postgresql/16/bin/initdb -D /var/lib/postgresql/16/main --auth-local peer --auth-host scram-sha-256 --no-instructions 2406s The files belonging to this database system will be owned by user "postgres". 2406s This user must also own the server process. 2406s 2406s The database cluster will be initialized with locale "C.UTF-8". 2406s The default database encoding has accordingly been set to "UTF8". 2406s The default text search configuration will be set to "english". 2406s 2406s Data page checksums are disabled. 2406s 2406s fixing permissions on existing directory /var/lib/postgresql/16/main ... ok 2406s creating subdirectories ... ok 2406s selecting dynamic shared memory implementation ... posix 2406s selecting default max_connections ... 100 2406s selecting default shared_buffers ... 128MB 2406s selecting default time zone ... Etc/UTC 2406s creating configuration files ... ok 2406s running bootstrap script ... ok 2407s performing post-bootstrap initialization ... ok 2407s syncing data to disk ... ok 2411s Setting up patroni-doc (3.3.4-1) ... 2411s Setting up postgresql (16+262) ... 2411s Processing triggers for systemd (257-2ubuntu1) ... 2411s Processing triggers for man-db (2.13.0-1) ... 2413s Processing triggers for libc-bin (2.40-4ubuntu1) ... 2415s autopkgtest [15:11:55]: test acceptance-raft: debian/tests/acceptance raft 2415s autopkgtest [15:11:55]: test acceptance-raft: [----------------------- 2415s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 2416s ++ ls -1r /usr/lib/postgresql/ 2416s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 2416s + '[' 16 == 10 -o 16 == 11 ']' 2416s + echo '### PostgreSQL 16 acceptance-raft ###' 2416s + bash -c 'set -o pipefail; ETCD_UNSUPPORTED_ARCH= 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' 2416s ### PostgreSQL 16 acceptance-raft ### 2422s Jan 09 15:12:02 Feature: basic replication # features/basic_replication.feature:1 2422s Jan 09 15:12:02 We should check that the basic bootstrapping, replication and failover works. 2422s Jan 09 15:12:02 Scenario: check replication of a single table # features/basic_replication.feature:4 2422s Jan 09 15:12:02 Given I start postgres0 # features/steps/basic_replication.py:8 2432s Jan 09 15:12:12 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2433s Jan 09 15:12:13 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2433s Jan 09 15:12:13 When I issue a PATCH request to http://127.0.0.1:8008/config with {"ttl": 20, "synchronous_mode": true} # features/steps/patroni_api.py:71 2433s Jan 09 15:12:13 Then I receive a response code 200 # features/steps/patroni_api.py:98 2433s Jan 09 15:12:13 When I start postgres1 # features/steps/basic_replication.py:8 2443s Jan 09 15:12:23 And I configure and start postgres2 with a tag replicatefrom postgres0 # features/steps/cascading_replication.py:7 2447s Jan 09 15:12:27 And "sync" key in DCS has leader=postgres0 after 20 seconds # features/steps/cascading_replication.py:23 2447s Jan 09 15:12:27 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 2447s Jan 09 15:12:27 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 2448s Jan 09 15:12:28 Then table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 2448s Jan 09 15:12:28 2448s Jan 09 15:12:28 Scenario: check restart of sync replica # features/basic_replication.feature:17 2448s Jan 09 15:12:28 Given I shut down postgres2 # features/steps/basic_replication.py:29 2449s Jan 09 15:12:29 Then "sync" key in DCS has sync_standby=postgres1 after 5 seconds # features/steps/cascading_replication.py:23 2449s Jan 09 15:12:29 When I start postgres2 # features/steps/basic_replication.py:8 2453s Jan 09 15:12:33 And I shut down postgres1 # features/steps/basic_replication.py:29 2456s Jan 09 15:12:36 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 2457s Jan 09 15:12:37 When I start postgres1 # features/steps/basic_replication.py:8 2461s Jan 09 15:12:41 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2461s Jan 09 15:12:41 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 2461s Jan 09 15:12:41 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 2461s Jan 09 15:12:41 2461s Jan 09 15:12:41 Scenario: check stuck sync replica # features/basic_replication.feature:28 2461s Jan 09 15:12:41 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 2461s Jan 09 15:12:41 Then I receive a response code 200 # features/steps/patroni_api.py:98 2461s Jan 09 15:12:41 And I create table on postgres0 # features/steps/basic_replication.py:73 2461s Jan 09 15:12:41 And table mytest is present on postgres1 after 2 seconds # features/steps/basic_replication.py:93 2461s Jan 09 15:12:41 And table mytest is present on postgres2 after 2 seconds # features/steps/basic_replication.py:93 2461s Jan 09 15:12:41 When I pause wal replay on postgres2 # features/steps/basic_replication.py:64 2461s Jan 09 15:12:41 And I load data on postgres0 # features/steps/basic_replication.py:84 2462s Jan 09 15:12:42 Then "sync" key in DCS has sync_standby=postgres1 after 15 seconds # features/steps/cascading_replication.py:23 2465s Jan 09 15:12:45 And I resume wal replay on postgres2 # features/steps/basic_replication.py:64 2465s Jan 09 15:12:45 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 2465s Jan 09 15:12:45 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:142 2465s Jan 09 15:12:45 When I issue a PATCH request to http://127.0.0.1:8008/config with {"pause": null, "maximum_lag_on_syncnode": -1, "postgresql": {"parameters": {"synchronous_commit": "on"}}} # features/steps/patroni_api.py:71 2465s Jan 09 15:12:45 Then I receive a response code 200 # features/steps/patroni_api.py:98 2465s Jan 09 15:12:45 And I drop table on postgres0 # features/steps/basic_replication.py:73 2465s Jan 09 15:12:45 2465s Jan 09 15:12:45 Scenario: check multi sync replication # features/basic_replication.feature:44 2465s Jan 09 15:12:45 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"synchronous_node_count": 2} # features/steps/patroni_api.py:71 2465s Jan 09 15:12:45 Then I receive a response code 200 # features/steps/patroni_api.py:98 2465s Jan 09 15:12:45 Then "sync" key in DCS has sync_standby=postgres1,postgres2 after 10 seconds # features/steps/cascading_replication.py:23 2469s Jan 09 15:12:49 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 2469s Jan 09 15:12:49 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 2470s Jan 09 15:12:49 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 2470s Jan 09 15:12:50 Then I receive a response code 200 # features/steps/patroni_api.py:98 2470s Jan 09 15:12:50 And I shut down postgres1 # features/steps/basic_replication.py:29 2473s Jan 09 15:12:53 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 2474s Jan 09 15:12:54 When I start postgres1 # features/steps/basic_replication.py:8 2478s Jan 09 15:12:58 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2478s Jan 09 15:12:58 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 2478s Jan 09 15:12:58 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 2478s Jan 09 15:12:58 2478s Jan 09 15:12:58 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 2478s Jan 09 15:12:58 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 2480s Jan 09 15:13:00 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2480s Jan 09 15:13:00 When I sleep for 2 seconds # features/steps/patroni_api.py:39 2482s Jan 09 15:13:02 And I shut down postgres0 # features/steps/basic_replication.py:29 2483s Jan 09 15:13:03 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 2485s Jan 09 15:13:05 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2485s Jan 09 15:13:05 And postgres2 role is the primary after 24 seconds # features/steps/basic_replication.py:105 2503s Jan 09 15:13:23 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:156 2505s Jan 09 15:13:25 And there is a postgres2_cb.log with "on_role_change master batman" in postgres2 data directory # features/steps/cascading_replication.py:12 2505s Jan 09 15:13:25 When I issue a PATCH request to http://127.0.0.1:8010/config with {"synchronous_mode": null, "master_start_timeout": 0} # features/steps/patroni_api.py:71 2505s Jan 09 15:13:25 Then I receive a response code 200 # features/steps/patroni_api.py:98 2505s Jan 09 15:13:25 When I add the table bar to postgres2 # features/steps/basic_replication.py:54 2505s Jan 09 15:13:25 Then table bar is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 2508s Jan 09 15:13:28 And Response on GET http://127.0.0.1:8010/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 2508s Jan 09 15:13:28 2508s Jan 09 15:13:28 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 2508s Jan 09 15:13:28 Given I add the table splitbrain to postgres0 # features/steps/basic_replication.py:54 2508s Jan 09 15:13:28 And I start postgres0 # features/steps/basic_replication.py:8 2508s Jan 09 15:13:28 Then postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 2517s Jan 09 15:13:37 When I add the table buz to postgres2 # features/steps/basic_replication.py:54 2517s Jan 09 15:13:37 Then table buz is present on postgres0 after 20 seconds # features/steps/basic_replication.py:93 2517s SKIP Scenario check graceful rejection when two nodes have the same name: Flaky test with Raft 2533s Jan 09 15:13:53 2533s Jan 09 15:13:53 @reject-duplicate-name 2533s Jan 09 15:13:53 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 2533s Jan 09 15:13:53 Given I start duplicate postgres0 on port 8011 # None 2533s Jan 09 15:13:53 Then there is one of ["Can't start; there is already a node named 'postgres0' running"] CRITICAL in the dup-postgres0 patroni log after 5 seconds # None 2533s Jan 09 15:13:53 2533s Jan 09 15:13:53 Feature: cascading replication # features/cascading_replication.feature:1 2533s Jan 09 15:13:53 We should check that patroni can do base backup and streaming from the replica 2533s Jan 09 15:13:53 Scenario: check a base backup and streaming replication from a replica # features/cascading_replication.feature:4 2533s Jan 09 15:13:53 Given I start postgres0 # features/steps/basic_replication.py:8 2537s Jan 09 15:13:57 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2538s Jan 09 15:13:58 And I configure and start postgres1 with a tag clonefrom true # features/steps/cascading_replication.py:7 2548s Jan 09 15:14:08 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 2549s Jan 09 15:14:09 And I create label with "postgres0" in postgres0 data directory # features/steps/cascading_replication.py:18 2549s Jan 09 15:14:09 And I create label with "postgres1" in postgres1 data directory # features/steps/cascading_replication.py:18 2549s Jan 09 15:14:09 And "members/postgres1" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 2549s Jan 09 15:14:09 And I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 2553s Jan 09 15:14:13 Then replication works from postgres0 to postgres2 after 30 seconds # features/steps/basic_replication.py:112 2554s Jan 09 15:14:14 And there is a label with "postgres1" in postgres2 data directory # features/steps/cascading_replication.py:12 2572s Jan 09 15:14:32 2572s SKIP FEATURE citus: Citus extenstion isn't available 2572s SKIP Scenario check that worker cluster is registered in the coordinator: Citus extenstion isn't available 2572s SKIP Scenario coordinator failover updates pg_dist_node: Citus extenstion isn't available 2572s Jan 09 15:14:32 Feature: citus # features/citus.feature:1 2572s SKIP Scenario worker switchover doesn't break client queries on the coordinator: Citus extenstion isn't available 2572s SKIP Scenario worker primary restart doesn't break client queries on the coordinator: Citus extenstion isn't available 2572s 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 2572s Jan 09 15:14:32 We should check that coordinator discovers and registers workers and clients don't have errors when worker cluster switches over 2572s Jan 09 15:14:32 Scenario: check that worker cluster is registered in the coordinator # features/citus.feature:4 2572s Jan 09 15:14:32 Given I start postgres0 in citus group 0 # None 2572s Jan 09 15:14:32 And I start postgres2 in citus group 1 # None 2572s Jan 09 15:14:32 Then postgres0 is a leader in a group 0 after 10 seconds # None 2572s Jan 09 15:14:32 And postgres2 is a leader in a group 1 after 10 seconds # None 2572s Jan 09 15:14:32 When I start postgres1 in citus group 0 # None 2572s Jan 09 15:14:32 And I start postgres3 in citus group 1 # None 2572s Jan 09 15:14:32 Then replication works from postgres0 to postgres1 after 15 seconds # None 2572s Jan 09 15:14:32 Then replication works from postgres2 to postgres3 after 15 seconds # None 2572s Jan 09 15:14:32 And postgres0 is registered in the postgres0 as the primary in group 0 after 5 seconds # None 2572s Jan 09 15:14:32 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 2572s Jan 09 15:14:32 2572s Jan 09 15:14:32 Scenario: coordinator failover updates pg_dist_node # features/citus.feature:16 2572s Jan 09 15:14:32 Given I run patronictl.py failover batman --group 0 --candidate postgres1 --force # None 2572s Jan 09 15:14:32 Then postgres1 role is the primary after 10 seconds # None 2572s Jan 09 15:14:32 And "members/postgres0" key in a group 0 in DCS has state=running after 15 seconds # None 2572s Jan 09 15:14:32 And replication works from postgres1 to postgres0 after 15 seconds # None 2572s Jan 09 15:14:32 And postgres1 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 2572s Jan 09 15:14:32 And "sync" key in a group 0 in DCS has sync_standby=postgres0 after 15 seconds # None 2572s Jan 09 15:14:32 When I run patronictl.py switchover batman --group 0 --candidate postgres0 --force # None 2572s Jan 09 15:14:32 Then postgres0 role is the primary after 10 seconds # None 2572s Jan 09 15:14:32 And replication works from postgres0 to postgres1 after 15 seconds # None 2572s Jan 09 15:14:32 And postgres0 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 2572s Jan 09 15:14:32 And "sync" key in a group 0 in DCS has sync_standby=postgres1 after 15 seconds # None 2572s Jan 09 15:14:32 2572s Jan 09 15:14:32 Scenario: worker switchover doesn't break client queries on the coordinator # features/citus.feature:29 2572s Jan 09 15:14:32 Given I create a distributed table on postgres0 # None 2572s Jan 09 15:14:32 And I start a thread inserting data on postgres0 # None 2572s Jan 09 15:14:32 When I run patronictl.py switchover batman --group 1 --force # None 2572s Jan 09 15:14:32 Then I receive a response returncode 0 # None 2572s Jan 09 15:14:32 And postgres3 role is the primary after 10 seconds # None 2572s Jan 09 15:14:32 And "members/postgres2" key in a group 1 in DCS has state=running after 15 seconds # None 2572s Jan 09 15:14:32 And replication works from postgres3 to postgres2 after 15 seconds # None 2572s Jan 09 15:14:32 And postgres3 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 2572s Jan 09 15:14:32 And "sync" key in a group 1 in DCS has sync_standby=postgres2 after 15 seconds # None 2572s Jan 09 15:14:32 And a thread is still alive # None 2572s Jan 09 15:14:32 When I run patronictl.py switchover batman --group 1 --force # None 2572s Jan 09 15:14:32 Then I receive a response returncode 0 # None 2572s Jan 09 15:14:32 And postgres2 role is the primary after 10 seconds # None 2572s Jan 09 15:14:32 And replication works from postgres2 to postgres3 after 15 seconds # None 2572s Jan 09 15:14:32 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 2572s Jan 09 15:14:32 And "sync" key in a group 1 in DCS has sync_standby=postgres3 after 15 seconds # None 2572s Jan 09 15:14:32 And a thread is still alive # None 2572s Jan 09 15:14:32 When I stop a thread # None 2572s Jan 09 15:14:32 Then a distributed table on postgres0 has expected rows # None 2572s Jan 09 15:14:32 2572s Jan 09 15:14:32 Scenario: worker primary restart doesn't break client queries on the coordinator # features/citus.feature:50 2572s Jan 09 15:14:32 Given I cleanup a distributed table on postgres0 # None 2572s Jan 09 15:14:32 And I start a thread inserting data on postgres0 # None 2572s Jan 09 15:14:32 When I run patronictl.py restart batman postgres2 --group 1 --force # None 2572s Jan 09 15:14:32 Then I receive a response returncode 0 # None 2572s Jan 09 15:14:32 And postgres2 role is the primary after 10 seconds # None 2572s Jan 09 15:14:32 And replication works from postgres2 to postgres3 after 15 seconds # None 2572s Jan 09 15:14:32 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 2572s Jan 09 15:14:32 And a thread is still alive # None 2572s Jan 09 15:14:32 When I stop a thread # None 2572s Jan 09 15:14:32 Then a distributed table on postgres0 has expected rows # None 2578s Jan 09 15:14:38 2578s Jan 09 15:14:38 Scenario: check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node # features/citus.feature:62 2578s Jan 09 15:14:38 Given I start postgres4 in citus group 2 # None 2578s Jan 09 15:14:38 Then postgres4 is a leader in a group 2 after 10 seconds # None 2578s Jan 09 15:14:38 And "members/postgres4" key in a group 2 in DCS has role=master after 3 seconds # None 2578s Jan 09 15:14:38 When I run patronictl.py edit-config batman --group 2 -s ttl=20 --force # None 2578s Jan 09 15:14:38 Then I receive a response returncode 0 # None 2578s Jan 09 15:14:38 And I receive a response output "+ttl: 20" # None 2578s Jan 09 15:14:38 Then postgres4 is registered in the postgres2 as the primary in group 2 after 5 seconds # None 2578s Jan 09 15:14:38 When I shut down postgres4 # None 2578s Jan 09 15:14:38 Then there is a transaction in progress on postgres0 changing pg_dist_node after 5 seconds # None 2578s Jan 09 15:14:38 When I run patronictl.py restart batman postgres2 --group 1 --force # None 2578s Jan 09 15:14:38 Then a transaction finishes in 20 seconds # None 2578s Jan 09 15:14:38 2578s Jan 09 15:14:38 Feature: custom bootstrap # features/custom_bootstrap.feature:1 2578s Jan 09 15:14:38 We should check that patroni can bootstrap a new cluster from a backup 2578s Jan 09 15:14:38 Scenario: clone existing cluster using pg_basebackup # features/custom_bootstrap.feature:4 2578s Jan 09 15:14:38 Given I start postgres0 # features/steps/basic_replication.py:8 2588s Jan 09 15:14:48 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2589s Jan 09 15:14:49 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 2589s Jan 09 15:14:49 And I start postgres1 in a cluster batman1 as a clone of postgres0 # features/steps/custom_bootstrap.py:6 2593s Jan 09 15:14:53 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 2594s Jan 09 15:14:54 Then table foo is present on postgres1 after 10 seconds # features/steps/basic_replication.py:93 2594s Jan 09 15:14:54 2594s Jan 09 15:14:54 Scenario: make a backup and do a restore into a new cluster # features/custom_bootstrap.feature:12 2594s Jan 09 15:14:54 Given I add the table bar to postgres1 # features/steps/basic_replication.py:54 2595s Jan 09 15:14:54 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 2595s Jan 09 15:14:55 When I start postgres2 in a cluster batman2 from backup # features/steps/custom_bootstrap.py:11 2600s Jan 09 15:15:00 Then postgres2 is a leader of batman2 after 30 seconds # features/steps/custom_bootstrap.py:16 2601s Jan 09 15:15:01 And table bar is present on postgres2 after 10 seconds # features/steps/basic_replication.py:93 2619s Jan 09 15:15:19 2619s Jan 09 15:15:19 Feature: dcs failsafe mode # features/dcs_failsafe_mode.feature:1 2619s Jan 09 15:15:19 We should check the basic dcs failsafe mode functioning 2619s Jan 09 15:15:19 Scenario: check failsafe mode can be successfully enabled # features/dcs_failsafe_mode.feature:4 2619s Jan 09 15:15:19 Given I start postgres0 # features/steps/basic_replication.py:8 2623s Jan 09 15:15:23 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2624s Jan 09 15:15:24 Then "config" key in DCS has ttl=30 after 10 seconds # features/steps/cascading_replication.py:23 2624s Jan 09 15:15:24 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 2624s Jan 09 15:15:24 Then I receive a response code 200 # features/steps/patroni_api.py:98 2624s Jan 09 15:15:24 And Response on GET http://127.0.0.1:8008/failsafe contains postgres0 after 10 seconds # features/steps/patroni_api.py:156 2624s Jan 09 15:15:24 When I issue a GET request to http://127.0.0.1:8008/failsafe # features/steps/patroni_api.py:61 2624s Jan 09 15:15:24 Then I receive a response code 200 # features/steps/patroni_api.py:98 2624s Jan 09 15:15:24 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 2624s Jan 09 15:15:24 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 2624s Jan 09 15:15:24 Then I receive a response code 200 # features/steps/patroni_api.py:98 2624s Jan 09 15:15:24 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 2624s Jan 09 15:15:24 Then I receive a response code 200 # features/steps/patroni_api.py:98 2624s Jan 09 15:15:24 2624s Jan 09 15:15:24 @dcs-failsafe 2624s Jan 09 15:15:24 Scenario: check one-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:20 2624s Jan 09 15:15:24 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 2624s Jan 09 15:15:24 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 2628s Jan 09 15:15:28 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2628s Jan 09 15:15:28 2628s Jan 09 15:15:28 @dcs-failsafe 2628s Jan 09 15:15:28 Scenario: check new replica isn't promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:26 2628s Jan 09 15:15:28 Given DCS is up # features/steps/dcs_failsafe_mode.py:9 2628s Jan 09 15:15:28 When I do a backup of postgres0 # features/steps/custom_bootstrap.py:25 2629s Jan 09 15:15:29 And I shut down postgres0 # features/steps/basic_replication.py:29 2631s Jan 09 15:15:31 When I start postgres1 in a cluster batman from backup with no_leader # features/steps/dcs_failsafe_mode.py:14 2635s Jan 09 15:15:35 Then postgres1 role is the replica after 12 seconds # features/steps/basic_replication.py:105 2635s Jan 09 15:15:35 2635s Jan 09 15:15:35 Scenario: check leader and replica are both in /failsafe key after leader is back # features/dcs_failsafe_mode.feature:33 2635s Jan 09 15:15:35 Given I start postgres0 # features/steps/basic_replication.py:8 2638s Jan 09 15:15:38 And I start postgres1 # features/steps/basic_replication.py:8 2638s Jan 09 15:15:38 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2639s Jan 09 15:15:39 And "members/postgres1" key in DCS has state=running after 2 seconds # features/steps/cascading_replication.py:23 2639s Jan 09 15:15:39 And Response on GET http://127.0.0.1:8009/failsafe contains postgres1 after 10 seconds # features/steps/patroni_api.py:156 2644s Jan 09 15:15:44 When I issue a GET request to http://127.0.0.1:8009/failsafe # features/steps/patroni_api.py:61 2644s Jan 09 15:15:44 Then I receive a response code 200 # features/steps/patroni_api.py:98 2644s Jan 09 15:15:44 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 2644s Jan 09 15:15:44 And I receive a response postgres1 http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:98 2644s Jan 09 15:15:44 2644s Jan 09 15:15:44 @dcs-failsafe @slot-advance 2644s Jan 09 15:15:44 Scenario: check leader and replica are functioning while DCS is down # features/dcs_failsafe_mode.feature:46 2644s Jan 09 15:15:44 Given I get all changes from physical slot dcs_slot_1 on postgres0 # features/steps/slots.py:75 2644s Jan 09 15:15:44 Then physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2647s Jan 09 15:15:47 And logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2647s Jan 09 15:15:47 And DCS is down # features/steps/dcs_failsafe_mode.py:4 2647s Jan 09 15:15:47 Then Response on GET http://127.0.0.1:8008/primary contains failsafe_mode_is_active after 12 seconds # features/steps/patroni_api.py:156 2651s Jan 09 15:15:51 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2651s Jan 09 15:15:51 And postgres1 role is the replica after 2 seconds # features/steps/basic_replication.py:105 2651s Jan 09 15:15:51 And replication works from postgres0 to postgres1 after 10 seconds # features/steps/basic_replication.py:112 2651s Jan 09 15:15:51 When I get all changes from logical slot dcs_slot_0 on postgres0 # features/steps/slots.py:70 2651s Jan 09 15:15:51 And I get all changes from physical slot dcs_slot_1 on postgres0 # features/steps/slots.py:75 2651s Jan 09 15:15:51 Then logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 20 seconds # features/steps/slots.py:51 2658s Jan 09 15:15:58 And physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2658s Jan 09 15:15:58 2658s Jan 09 15:15:58 @dcs-failsafe 2658s Jan 09 15:15:58 Scenario: check primary is demoted when one replica is shut down and DCS is down # features/dcs_failsafe_mode.feature:61 2658s Jan 09 15:15:58 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 2658s Jan 09 15:15:58 And I kill postgres1 # features/steps/basic_replication.py:34 2659s Jan 09 15:15:59 And I kill postmaster on postgres1 # features/steps/basic_replication.py:44 2659s Jan 09 15:15:59 waiting for server to shut down.... done 2659s Jan 09 15:15:59 server stopped 2659s Jan 09 15:15:59 Then postgres0 role is the replica after 12 seconds # features/steps/basic_replication.py:105 2661s Jan 09 15:16:01 2661s Jan 09 15:16:01 @dcs-failsafe 2661s Jan 09 15:16:01 Scenario: check known replica is promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:68 2661s Jan 09 15:16:01 Given I kill postgres0 # features/steps/basic_replication.py:34 2662s Jan 09 15:16:02 And I shut down postmaster on postgres0 # features/steps/basic_replication.py:39 2663s Jan 09 15:16:03 waiting for server to shut down.... done 2663s Jan 09 15:16:03 server stopped 2663s Jan 09 15:16:03 And DCS is up # features/steps/dcs_failsafe_mode.py:9 2663s Jan 09 15:16:03 When I start postgres1 # features/steps/basic_replication.py:8 2667s Jan 09 15:16:07 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2667s Jan 09 15:16:07 And postgres1 role is the primary after 25 seconds # features/steps/basic_replication.py:105 2670s Jan 09 15:16:10 2670s Jan 09 15:16:10 @dcs-failsafe 2670s Jan 09 15:16:10 Scenario: scale to three-node cluster # features/dcs_failsafe_mode.feature:77 2670s Jan 09 15:16:10 Given I start postgres0 # features/steps/basic_replication.py:8 2674s Jan 09 15:16:14 And I configure and start postgres2 with a tag replicatefrom postgres0 # features/steps/cascading_replication.py:7 2678s Jan 09 15:16:18 Then "members/postgres2" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2679s Jan 09 15:16:19 And "members/postgres0" key in DCS has state=running after 20 seconds # features/steps/cascading_replication.py:23 2679s Jan 09 15:16:19 And Response on GET http://127.0.0.1:8008/failsafe contains postgres2 after 10 seconds # features/steps/patroni_api.py:156 2680s Jan 09 15:16:20 And replication works from postgres1 to postgres0 after 10 seconds # features/steps/basic_replication.py:112 2681s Jan 09 15:16:21 And replication works from postgres1 to postgres2 after 10 seconds # features/steps/basic_replication.py:112 2682s Jan 09 15:16:22 2682s Jan 09 15:16:22 @dcs-failsafe @slot-advance 2682s Jan 09 15:16:22 Scenario: make sure permanent slots exist on replicas # features/dcs_failsafe_mode.feature:88 2682s Jan 09 15:16:22 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 2682s Jan 09 15:16:22 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # features/steps/slots.py:51 2688s Jan 09 15:16:28 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # features/steps/slots.py:51 2689s Jan 09 15:16:29 When I get all changes from physical slot dcs_slot_1 on postgres1 # features/steps/slots.py:75 2689s Jan 09 15:16:29 Then physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # features/steps/slots.py:51 2690s Jan 09 15:16:30 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 2690s Jan 09 15:16:30 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 2690s Jan 09 15:16:30 And physical slot postgres2 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2690s Jan 09 15:16:30 2690s Jan 09 15:16:30 @dcs-failsafe 2690s Jan 09 15:16:30 Scenario: check three-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:99 2690s Jan 09 15:16:30 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 2690s Jan 09 15:16:30 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 2695s Jan 09 15:16:35 Then postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2695s Jan 09 15:16:35 And postgres0 role is the replica after 2 seconds # features/steps/basic_replication.py:105 2695s Jan 09 15:16:35 And postgres2 role is the replica after 2 seconds # features/steps/basic_replication.py:105 2695s Jan 09 15:16:35 2695s Jan 09 15:16:35 @dcs-failsafe @slot-advance 2695s Jan 09 15:16:35 Scenario: check that permanent slots are in sync between nodes while DCS is down # features/dcs_failsafe_mode.feature:108 2695s Jan 09 15:16:35 Given replication works from postgres1 to postgres0 after 10 seconds # features/steps/basic_replication.py:112 2695s Jan 09 15:16:35 And replication works from postgres1 to postgres2 after 10 seconds # features/steps/basic_replication.py:112 2696s Jan 09 15:16:36 When I get all changes from logical slot dcs_slot_2 on postgres1 # features/steps/slots.py:70 2696s Jan 09 15:16:36 And I get all changes from physical slot dcs_slot_1 on postgres1 # features/steps/slots.py:75 2696s Jan 09 15:16:36 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # features/steps/slots.py:51 2702s Jan 09 15:16:42 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # features/steps/slots.py:51 2702s Jan 09 15:16:42 And physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # features/steps/slots.py:51 2702s Jan 09 15:16:42 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 2702s Jan 09 15:16:42 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 2702s Jan 09 15:16:42 And physical slot postgres2 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2714s Jan 09 15:16:54 2714s Jan 09 15:16:54 Feature: ignored slots # features/ignored_slots.feature:1 2714s Jan 09 15:16:54 2714s Jan 09 15:16:54 Scenario: check ignored slots aren't removed on failover/switchover # features/ignored_slots.feature:2 2714s Jan 09 15:16:54 Given I start postgres1 # features/steps/basic_replication.py:8 2724s Jan 09 15:17:04 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 2725s Jan 09 15:17:05 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2725s Jan 09 15:17:05 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 2725s Jan 09 15:17:05 Then I receive a response code 200 # features/steps/patroni_api.py:98 2725s Jan 09 15:17:05 And Response on GET http://127.0.0.1:8009/config contains ignore_slots after 10 seconds # features/steps/patroni_api.py:156 2725s Jan 09 15:17:05 When I shut down postgres1 # features/steps/basic_replication.py:29 2727s Jan 09 15:17:07 And I start postgres1 # features/steps/basic_replication.py:8 2730s Jan 09 15:17:10 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 2733s Jan 09 15:17:13 And "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 2734s Jan 09 15:17:14 And postgres1 role is the primary after 20 seconds # features/steps/basic_replication.py:105 2734s Jan 09 15:17:14 When I create a logical replication slot unmanaged_slot_0 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 2734s Jan 09 15:17:14 And I create a logical replication slot unmanaged_slot_1 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 2734s Jan 09 15:17:14 And I create a logical replication slot unmanaged_slot_2 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 2734s Jan 09 15:17:14 And I create a logical replication slot unmanaged_slot_3 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 2734s Jan 09 15:17:14 And I create a logical replication slot dummy_slot on postgres1 with the test_decoding plugin # features/steps/slots.py:8 2734s Jan 09 15:17:14 Then postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2734s Jan 09 15:17:14 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2734s Jan 09 15:17:14 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2734s Jan 09 15:17:14 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2734s Jan 09 15:17:14 When I start postgres0 # features/steps/basic_replication.py:8 2738s Jan 09 15:17:18 Then "members/postgres0" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 2738s Jan 09 15:17:18 And postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 2738s Jan 09 15:17:18 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 2739s Jan 09 15:17:19 When I shut down postgres1 # features/steps/basic_replication.py:29 2741s Jan 09 15:17:21 Then "members/postgres0" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 2742s Jan 09 15:17:22 When I start postgres1 # features/steps/basic_replication.py:8 2747s Jan 09 15:17:26 Then postgres1 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 2747s Jan 09 15:17:26 And "members/postgres1" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 2747s Jan 09 15:17:26 And I sleep for 2 seconds # features/steps/patroni_api.py:39 2749s Jan 09 15:17: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 2749s Jan 09 15:17: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 2749s Jan 09 15:17: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 2749s Jan 09 15:17: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 2749s Jan 09 15:17:29 And postgres1 does not have a replication slot named dummy_slot # features/steps/slots.py:40 2749s Jan 09 15:17:29 When I shut down postgres0 # features/steps/basic_replication.py:29 2751s Jan 09 15:17:31 Then "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 2752s Jan 09 15:17:32 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2752s Jan 09 15:17:32 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2752s Jan 09 15:17:32 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2752s Jan 09 15:17:32 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2760s Jan 09 15:17:40 2760s Jan 09 15:17:40 Feature: nostream node # features/nostream_node.feature:1 2760s Jan 09 15:17:40 2760s Jan 09 15:17:40 Scenario: check nostream node is recovering from archive # features/nostream_node.feature:3 2760s Jan 09 15:17:40 When I start postgres0 # features/steps/basic_replication.py:8 2764s Jan 09 15:17:44 And I configure and start postgres1 with a tag nostream true # features/steps/cascading_replication.py:7 2774s Jan 09 15:17:54 Then "members/postgres1" key in DCS has replication_state=in archive recovery after 10 seconds # features/steps/cascading_replication.py:23 2774s Jan 09 15:17:54 And replication works from postgres0 to postgres1 after 30 seconds # features/steps/basic_replication.py:112 2779s Jan 09 15:17:59 2779s Jan 09 15:17:59 @slot-advance 2779s Jan 09 15:17:59 Scenario: check permanent logical replication slots are not copied # features/nostream_node.feature:10 2779s Jan 09 15:17:59 When I issue a PATCH request to http://127.0.0.1:8008/config with {"postgresql": {"parameters": {"wal_level": "logical"}}, "slots":{"test_logical":{"type":"logical","database":"postgres","plugin":"test_decoding"}}} # features/steps/patroni_api.py:71 2779s Jan 09 15:17:59 Then I receive a response code 200 # features/steps/patroni_api.py:98 2779s Jan 09 15:17:59 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 2783s Jan 09 15:18:03 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 2784s Jan 09 15:18:04 When I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 2788s Jan 09 15:18:08 Then "members/postgres2" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 2795s Jan 09 15:18:15 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 2795s Jan 09 15:18:15 And postgres2 does not have a replication slot named test_logical # features/steps/slots.py:40 2813s Jan 09 15:18:33 2813s Jan 09 15:18:33 Feature: patroni api # features/patroni_api.feature:1 2813s Jan 09 15:18:33 We should check that patroni correctly responds to valid and not-valid API requests. 2813s Jan 09 15:18:33 Scenario: check API requests on a stand-alone server # features/patroni_api.feature:4 2813s Jan 09 15:18:33 Given I start postgres0 # features/steps/basic_replication.py:8 2817s Jan 09 15:18:37 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2817s Jan 09 15:18:37 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 2817s Jan 09 15:18:37 Then I receive a response code 200 # features/steps/patroni_api.py:98 2817s Jan 09 15:18:37 And I receive a response state running # features/steps/patroni_api.py:98 2817s Jan 09 15:18:37 And I receive a response role master # features/steps/patroni_api.py:98 2817s Jan 09 15:18:37 When I issue a GET request to http://127.0.0.1:8008/standby_leader # features/steps/patroni_api.py:61 2817s Jan 09 15:18:37 Then I receive a response code 503 # features/steps/patroni_api.py:98 2817s Jan 09 15:18:37 When I issue a GET request to http://127.0.0.1:8008/health # features/steps/patroni_api.py:61 2817s Jan 09 15:18:37 Then I receive a response code 200 # features/steps/patroni_api.py:98 2817s Jan 09 15:18:37 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 2817s Jan 09 15:18:37 Then I receive a response code 503 # features/steps/patroni_api.py:98 2817s Jan 09 15:18:37 When I issue a POST request to http://127.0.0.1:8008/reinitialize with {"force": true} # features/steps/patroni_api.py:71 2817s Jan 09 15:18:37 Then I receive a response code 503 # features/steps/patroni_api.py:98 2817s Jan 09 15:18:37 And I receive a response text I am the leader, can not reinitialize # features/steps/patroni_api.py:98 2817s Jan 09 15:18:37 When I run patronictl.py switchover batman --master postgres0 --force # features/steps/patroni_api.py:86 2819s Jan 09 15:18:39 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 2819s Jan 09 15:18:39 And I receive a response output "Error: No candidates found to switchover to" # features/steps/patroni_api.py:98 2819s Jan 09 15:18:39 When I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres0"} # features/steps/patroni_api.py:71 2819s Jan 09 15:18:39 Then I receive a response code 412 # features/steps/patroni_api.py:98 2819s Jan 09 15:18:39 And I receive a response text switchover is not possible: cluster does not have members except leader # features/steps/patroni_api.py:98 2819s Jan 09 15:18:39 When I issue an empty POST request to http://127.0.0.1:8008/failover # features/steps/patroni_api.py:66 2819s Jan 09 15:18:39 Then I receive a response code 400 # features/steps/patroni_api.py:98 2819s Jan 09 15:18:39 When I issue a POST request to http://127.0.0.1:8008/failover with {"foo": "bar"} # features/steps/patroni_api.py:71 2819s Jan 09 15:18:39 Then I receive a response code 400 # features/steps/patroni_api.py:98 2819s Jan 09 15:18:39 And I receive a response text "Failover could be performed only to a specific candidate" # features/steps/patroni_api.py:98 2819s Jan 09 15:18:39 2819s Jan 09 15:18:39 Scenario: check local configuration reload # features/patroni_api.feature:32 2819s Jan 09 15:18:39 Given I add tag new_tag new_value to postgres0 config # features/steps/patroni_api.py:137 2819s Jan 09 15:18:39 And I issue an empty POST request to http://127.0.0.1:8008/reload # features/steps/patroni_api.py:66 2819s Jan 09 15:18:39 Then I receive a response code 202 # features/steps/patroni_api.py:98 2819s Jan 09 15:18:39 2819s Jan 09 15:18:39 Scenario: check dynamic configuration change via DCS # features/patroni_api.feature:37 2819s Jan 09 15:18:39 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 2819s Jan 09 15:18:39 Then I receive a response code 200 # features/steps/patroni_api.py:98 2819s Jan 09 15:18:39 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 11 seconds # features/steps/patroni_api.py:156 2821s Jan 09 15:18:41 When I issue a GET request to http://127.0.0.1:8008/config # features/steps/patroni_api.py:61 2821s Jan 09 15:18:41 Then I receive a response code 200 # features/steps/patroni_api.py:98 2821s Jan 09 15:18:41 And I receive a response ttl 20 # features/steps/patroni_api.py:98 2821s Jan 09 15:18:41 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 2822s Jan 09 15:18:42 Then I receive a response code 200 # features/steps/patroni_api.py:98 2822s Jan 09 15:18:42 And I receive a response tags {'new_tag': 'new_value'} # features/steps/patroni_api.py:98 2822s Jan 09 15:18:42 And I sleep for 4 seconds # features/steps/patroni_api.py:39 2826s Jan 09 15:18:46 2826s Jan 09 15:18:46 Scenario: check the scheduled restart # features/patroni_api.feature:49 2826s Jan 09 15:18:46 Given I run patronictl.py edit-config -p 'superuser_reserved_connections=6' --force batman # features/steps/patroni_api.py:86 2827s Jan 09 15:18:47 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2827s Jan 09 15:18:47 And I receive a response output "+ superuser_reserved_connections: 6" # features/steps/patroni_api.py:98 2827s Jan 09 15:18:47 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 5 seconds # features/steps/patroni_api.py:156 2828s Jan 09 15:18:47 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 2828s Jan 09 15:18:48 Then I receive a response code 202 # features/steps/patroni_api.py:98 2828s Jan 09 15:18:48 And I sleep for 8 seconds # features/steps/patroni_api.py:39 2836s Jan 09 15:18:56 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 10 seconds # features/steps/patroni_api.py:156 2836s Jan 09 15:18:56 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 2836s Jan 09 15:18:56 Then I receive a response code 202 # features/steps/patroni_api.py:98 2836s Jan 09 15:18:56 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 2843s Jan 09 15:19:03 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2844s Jan 09 15:19:04 2844s Jan 09 15:19:04 Scenario: check API requests for the primary-replica pair in the pause mode # features/patroni_api.feature:63 2844s Jan 09 15:19:04 Given I start postgres1 # features/steps/basic_replication.py:8 2848s Jan 09 15:19:08 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 2849s Jan 09 15:19:09 When I run patronictl.py pause batman # features/steps/patroni_api.py:86 2851s Jan 09 15:19:11 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2851s Jan 09 15:19:11 When I kill postmaster on postgres1 # features/steps/basic_replication.py:44 2851s Jan 09 15:19:11 waiting for server to shut down.... done 2851s Jan 09 15:19:11 server stopped 2851s Jan 09 15:19:11 And I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 2851s Jan 09 15:19:11 Then I receive a response code 503 # features/steps/patroni_api.py:98 2851s Jan 09 15:19:11 And "members/postgres1" key in DCS has state=stopped after 10 seconds # features/steps/cascading_replication.py:23 2852s Jan 09 15:19:12 When I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 2855s Jan 09 15:19:15 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2855s Jan 09 15:19:15 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 2857s Jan 09 15:19:17 And I sleep for 2 seconds # features/steps/patroni_api.py:39 2859s Jan 09 15:19:19 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 2859s Jan 09 15:19:19 Then I receive a response code 200 # features/steps/patroni_api.py:98 2859s Jan 09 15:19:19 And I receive a response state running # features/steps/patroni_api.py:98 2859s Jan 09 15:19:19 And I receive a response role replica # features/steps/patroni_api.py:98 2859s Jan 09 15:19:19 When I run patronictl.py reinit batman postgres1 --force --wait # features/steps/patroni_api.py:86 2863s Jan 09 15:19:23 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2863s Jan 09 15:19:23 And I receive a response output "Success: reinitialize for member postgres1" # features/steps/patroni_api.py:98 2863s Jan 09 15:19:23 And postgres1 role is the secondary after 30 seconds # features/steps/basic_replication.py:105 2864s Jan 09 15:19:24 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 2864s Jan 09 15:19:24 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 2867s Jan 09 15:19:27 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2867s Jan 09 15:19:27 And I receive a response output "Success: restart on member postgres0" # features/steps/patroni_api.py:98 2867s Jan 09 15:19:27 And postgres0 role is the primary after 5 seconds # features/steps/basic_replication.py:105 2868s Jan 09 15:19:28 2868s Jan 09 15:19:28 Scenario: check the switchover via the API in the pause mode # features/patroni_api.feature:90 2868s Jan 09 15:19:28 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 2870s Jan 09 15:19:30 Then I receive a response code 200 # features/steps/patroni_api.py:98 2870s Jan 09 15:19:30 And postgres1 is a leader after 5 seconds # features/steps/patroni_api.py:29 2870s Jan 09 15:19:30 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2870s Jan 09 15:19:30 And postgres0 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 2876s Jan 09 15:19:36 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 2876s Jan 09 15:19:36 And "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2876s Jan 09 15:19:36 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 2876s Jan 09 15:19:36 Then I receive a response code 503 # features/steps/patroni_api.py:98 2876s Jan 09 15:19:36 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 2876s Jan 09 15:19:36 Then I receive a response code 200 # features/steps/patroni_api.py:98 2876s Jan 09 15:19:36 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 2876s Jan 09 15:19:36 Then I receive a response code 200 # features/steps/patroni_api.py:98 2876s Jan 09 15:19:36 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 2876s Jan 09 15:19:36 Then I receive a response code 503 # features/steps/patroni_api.py:98 2876s Jan 09 15:19:36 2876s Jan 09 15:19:36 Scenario: check the scheduled switchover # features/patroni_api.feature:107 2876s Jan 09 15:19:36 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 2878s Jan 09 15:19:38 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 2878s Jan 09 15:19:38 And I receive a response output "Can't schedule switchover in the paused state" # features/steps/patroni_api.py:98 2878s Jan 09 15:19:38 When I run patronictl.py resume batman # features/steps/patroni_api.py:86 2880s Jan 09 15:19:40 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2880s Jan 09 15:19:40 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 2882s Jan 09 15:19:42 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2882s Jan 09 15:19:42 And postgres0 is a leader after 20 seconds # features/steps/patroni_api.py:29 2892s Jan 09 15:19:52 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2892s Jan 09 15:19:52 And postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 2895s Jan 09 15:19:55 And replication works from postgres0 to postgres1 after 25 seconds # features/steps/basic_replication.py:112 2895s Jan 09 15:19:55 And "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2896s Jan 09 15:19:56 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 2896s Jan 09 15:19:56 Then I receive a response code 200 # features/steps/patroni_api.py:98 2896s Jan 09 15:19:56 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 2896s Jan 09 15:19:56 Then I receive a response code 503 # features/steps/patroni_api.py:98 2896s Jan 09 15:19:56 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 2896s Jan 09 15:19:56 Then I receive a response code 503 # features/steps/patroni_api.py:98 2896s Jan 09 15:19:56 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 2896s Jan 09 15:19:56 Then I receive a response code 200 # features/steps/patroni_api.py:98 2907s Jan 09 15:20:07 2907s Jan 09 15:20:07 Feature: permanent slots # features/permanent_slots.feature:1 2907s Jan 09 15:20:07 2907s Jan 09 15:20:07 Scenario: check that physical permanent slots are created # features/permanent_slots.feature:2 2907s Jan 09 15:20:07 Given I start postgres0 # features/steps/basic_replication.py:8 2917s Jan 09 15:20:17 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2918s Jan 09 15:20:18 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2918s Jan 09 15:20:18 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 2918s Jan 09 15:20:18 Then I receive a response code 200 # features/steps/patroni_api.py:98 2918s Jan 09 15:20:18 And Response on GET http://127.0.0.1:8008/config contains slots after 10 seconds # features/steps/patroni_api.py:156 2918s Jan 09 15:20:18 When I start postgres1 # features/steps/basic_replication.py:8 2922s Jan 09 15:20:22 And I configure and start postgres2 with a tag nofailover true # features/steps/cascading_replication.py:7 2926s Jan 09 15:20:26 And I configure and start postgres3 with a tag replicatefrom postgres2 # features/steps/cascading_replication.py:7 2936s Jan 09 15:20:36 Then postgres0 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 2936s Jan 09 15:20:36 And postgres0 has a physical replication slot named postgres1 after 10 seconds # features/steps/slots.py:80 2936s Jan 09 15:20:36 And postgres0 has a physical replication slot named postgres2 after 10 seconds # features/steps/slots.py:80 2936s Jan 09 15:20:36 And postgres2 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 2936s Jan 09 15:20:36 And postgres2 does not have a replication slot named test_physical # features/steps/slots.py:40 2936s Jan 09 15:20:36 2936s Jan 09 15:20:36 @slot-advance 2936s Jan 09 15:20:36 Scenario: check that logical permanent slots are created # features/permanent_slots.feature:19 2936s Jan 09 15:20:36 Given I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 2940s Jan 09 15:20:40 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 2941s Jan 09 15:20:41 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 2942s Jan 09 15:20:42 2942s Jan 09 15:20:42 @slot-advance 2942s Jan 09 15:20:42 Scenario: check that permanent slots are created on replicas # features/permanent_slots.feature:25 2942s Jan 09 15:20:42 Given postgres1 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 2947s Jan 09 15:20:47 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2947s Jan 09 15:20:47 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 2948s Jan 09 15:20:48 And postgres1 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 2948s Jan 09 15:20:48 And postgres2 does not have a replication slot named test_logical # features/steps/slots.py:40 2948s Jan 09 15:20:48 And postgres3 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 2948s Jan 09 15:20:48 2948s Jan 09 15:20:48 @slot-advance 2948s Jan 09 15:20:48 Scenario: check permanent physical slots that match with member names # features/permanent_slots.feature:34 2948s Jan 09 15:20:48 Given postgres0 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 2948s Jan 09 15:20:48 And postgres1 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 2948s Jan 09 15:20:48 And postgres1 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 2948s Jan 09 15:20:48 And postgres2 does not have a replication slot named postgres0 # features/steps/slots.py:40 2948s Jan 09 15:20:48 And postgres2 does not have a replication slot named postgres1 # features/steps/slots.py:40 2948s Jan 09 15:20:48 And postgres2 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 2948s Jan 09 15:20:48 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 2948s Jan 09 15:20:48 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 2948s Jan 09 15:20:48 2948s Jan 09 15:20:48 @slot-advance 2948s Jan 09 15:20:48 Scenario: check that permanent slots are advanced on replicas # features/permanent_slots.feature:45 2948s Jan 09 15:20:48 Given I add the table replicate_me to postgres0 # features/steps/basic_replication.py:54 2948s Jan 09 15:20:48 When I get all changes from logical slot test_logical on postgres0 # features/steps/slots.py:70 2948s Jan 09 15:20:48 And I get all changes from physical slot test_physical on postgres0 # features/steps/slots.py:75 2948s Jan 09 15:20:48 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2949s Jan 09 15:20:49 And Physical slot test_physical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2949s Jan 09 15:20:49 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 2949s Jan 09 15:20:49 And Physical slot test_physical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 2949s Jan 09 15:20:49 And Physical slot postgres3 is in sync between postgres2 and postgres0 after 20 seconds # features/steps/slots.py:51 2951s Jan 09 15:20:51 And Physical slot postgres3 is in sync between postgres2 and postgres1 after 10 seconds # features/steps/slots.py:51 2951s Jan 09 15:20:51 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 2951s Jan 09 15:20:51 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 2951s Jan 09 15:20:51 2951s Jan 09 15:20:51 @slot-advance 2951s Jan 09 15:20:51 Scenario: check that only permanent slots are written to the /status key # features/permanent_slots.feature:59 2951s Jan 09 15:20:51 Given "status" key in DCS has test_physical in slots # features/steps/slots.py:116 2951s Jan 09 15:20:51 And "status" key in DCS has postgres0 in slots # features/steps/slots.py:116 2951s Jan 09 15:20:51 And "status" key in DCS has postgres1 in slots # features/steps/slots.py:116 2951s Jan 09 15:20:51 And "status" key in DCS does not have postgres2 in slots # features/steps/slots.py:122 2951s Jan 09 15:20:51 And "status" key in DCS has postgres3 in slots # features/steps/slots.py:116 2951s Jan 09 15:20:51 2951s Jan 09 15:20:51 Scenario: check permanent physical replication slot after failover # features/permanent_slots.feature:66 2951s Jan 09 15:20:51 Given I shut down postgres3 # features/steps/basic_replication.py:29 2952s Jan 09 15:20:52 And I shut down postgres2 # features/steps/basic_replication.py:29 2953s Jan 09 15:20:53 And I shut down postgres0 # features/steps/basic_replication.py:29 2955s Jan 09 15:20:55 Then postgres1 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 2955s Jan 09 15:20:55 And postgres1 has a physical replication slot named postgres0 after 10 seconds # features/steps/slots.py:80 2955s Jan 09 15:20:55 And postgres1 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 2955s Jan 09 15:20:55 When I start postgres0 # features/steps/basic_replication.py:8 2959s Jan 09 15:20:59 Then postgres0 role is the replica after 20 seconds # features/steps/basic_replication.py:105 2959s Jan 09 15:20:59 And physical replication slot named postgres1 on postgres0 has no xmin value after 10 seconds # features/steps/slots.py:96 2959s Jan 09 15:20:59 And physical replication slot named postgres2 on postgres0 has no xmin value after 10 seconds # features/steps/slots.py:96 2972s Jan 09 15:21:12 2972s Jan 09 15:21:12 Feature: priority replication # features/priority_failover.feature:1 2972s Jan 09 15:21:12 We should check that we can give nodes priority during failover 2972s Jan 09 15:21:12 Scenario: check failover priority 0 prevents leaderships # features/priority_failover.feature:4 2972s Jan 09 15:21:12 Given I configure and start postgres0 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 2976s Jan 09 15:21:16 And I configure and start postgres1 with a tag failover_priority 0 # features/steps/cascading_replication.py:7 2980s Jan 09 15:21:20 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 2982s Jan 09 15:21:22 When I shut down postgres0 # features/steps/basic_replication.py:29 2984s Jan 09 15:21:24 And there is one of ["following a different leader because I am not allowed to promote"] INFO in the postgres1 patroni log after 5 seconds # features/steps/basic_replication.py:121 2986s Jan 09 15:21:26 Then postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 2986s Jan 09 15:21:26 When I start postgres0 # features/steps/basic_replication.py:8 2989s Jan 09 15:21:29 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2993s Jan 09 15:21:33 2993s Jan 09 15:21:33 Scenario: check higher failover priority is respected # features/priority_failover.feature:14 2993s Jan 09 15:21:33 Given I configure and start postgres2 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 2998s Jan 09 15:21:38 And I configure and start postgres3 with a tag failover_priority 2 # features/steps/cascading_replication.py:7 3008s Jan 09 15:21:48 Then replication works from postgres0 to postgres2 after 20 seconds # features/steps/basic_replication.py:112 3009s Jan 09 15:21:49 And replication works from postgres0 to postgres3 after 20 seconds # features/steps/basic_replication.py:112 3010s Jan 09 15:21:50 When I shut down postgres0 # features/steps/basic_replication.py:29 3012s Jan 09 15:21:52 Then postgres3 role is the primary after 10 seconds # features/steps/basic_replication.py:105 3013s Jan 09 15:21:53 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 3013s Jan 09 15:21:53 3013s Jan 09 15:21:53 Scenario: check conflicting configuration handling # features/priority_failover.feature:23 3013s Jan 09 15:21:53 When I set nofailover tag in postgres2 config # features/steps/patroni_api.py:131 3013s Jan 09 15:21:53 And I issue an empty POST request to http://127.0.0.1:8010/reload # features/steps/patroni_api.py:66 3013s Jan 09 15:21:53 Then I receive a response code 202 # features/steps/patroni_api.py:98 3013s Jan 09 15:21:53 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 3015s Jan 09 15:21:55 And "members/postgres2" key in DCS has tags={'failover_priority': '1', 'nofailover': True} after 10 seconds # features/steps/cascading_replication.py:23 3016s Jan 09 15:21:56 When I issue a POST request to http://127.0.0.1:8010/failover with {"candidate": "postgres2"} # features/steps/patroni_api.py:71 3016s Jan 09 15:21:56 Then I receive a response code 412 # features/steps/patroni_api.py:98 3016s Jan 09 15:21:56 And I receive a response text "failover is not possible: no good candidates have been found" # features/steps/patroni_api.py:98 3016s Jan 09 15:21:56 When I reset nofailover tag in postgres1 config # features/steps/patroni_api.py:131 3016s Jan 09 15:21:56 And I issue an empty POST request to http://127.0.0.1:8009/reload # features/steps/patroni_api.py:66 3016s Jan 09 15:21:56 Then I receive a response code 202 # features/steps/patroni_api.py:98 3016s Jan 09 15:21:56 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 3018s Jan 09 15:21:58 And "members/postgres1" key in DCS has tags={'failover_priority': '0', 'nofailover': False} after 10 seconds # features/steps/cascading_replication.py:23 3019s Jan 09 15:21:59 And I issue a POST request to http://127.0.0.1:8009/failover with {"candidate": "postgres1"} # features/steps/patroni_api.py:71 3022s Jan 09 15:22:02 Then I receive a response code 200 # features/steps/patroni_api.py:98 3022s Jan 09 15:22:02 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 3035s Jan 09 15:22:15 3035s Jan 09 15:22:15 Feature: recovery # features/recovery.feature:1 3035s Jan 09 15:22:15 We want to check that crashed postgres is started back 3035s Jan 09 15:22:15 Scenario: check that timeline is not incremented when primary is started after crash # features/recovery.feature:4 3035s Jan 09 15:22:15 Given I start postgres0 # features/steps/basic_replication.py:8 3039s Jan 09 15:22:19 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 3040s Jan 09 15:22:20 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 3040s Jan 09 15:22:20 When I start postgres1 # features/steps/basic_replication.py:8 3050s Jan 09 15:22:30 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 3050s Jan 09 15:22:30 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 3055s Jan 09 15:22:35 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 3055s Jan 09 15:22:35 waiting for server to shut down.... done 3055s Jan 09 15:22:35 server stopped 3055s Jan 09 15:22:35 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 3057s Jan 09 15:22:37 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 3057s Jan 09 15:22:37 Then I receive a response code 200 # features/steps/patroni_api.py:98 3057s Jan 09 15:22:37 And I receive a response role master # features/steps/patroni_api.py:98 3057s Jan 09 15:22:37 And I receive a response timeline 1 # features/steps/patroni_api.py:98 3057s Jan 09 15:22:37 And "members/postgres0" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 3058s Jan 09 15:22:38 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 3060s Jan 09 15:22:40 3060s Jan 09 15:22:40 Scenario: check immediate failover when master_start_timeout=0 # features/recovery.feature:20 3060s Jan 09 15:22: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 3060s Jan 09 15:22:40 Then I receive a response code 200 # features/steps/patroni_api.py:98 3060s Jan 09 15:22: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 3060s Jan 09 15:22:40 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 3060s Jan 09 15:22:40 waiting for server to shut down.... done 3060s Jan 09 15:22:40 server stopped 3060s Jan 09 15:22:40 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 3062s Jan 09 15:22:42 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 3073s Jan 09 15:22:53 3073s Jan 09 15:22:53 Feature: standby cluster # features/standby_cluster.feature:1 3073s Jan 09 15:22:53 3073s Jan 09 15:22:53 Scenario: prepare the cluster with logical slots # features/standby_cluster.feature:2 3073s Jan 09 15:22:53 Given I start postgres1 # features/steps/basic_replication.py:8 3077s Jan 09 15:22:57 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 3078s Jan 09 15:22:58 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 3078s Jan 09 15:22:58 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 3078s Jan 09 15:22:58 Then I receive a response code 200 # features/steps/patroni_api.py:98 3078s Jan 09 15:22:58 And Response on GET http://127.0.0.1:8009/config contains slots after 10 seconds # features/steps/patroni_api.py:156 3078s Jan 09 15:22:58 And I sleep for 3 seconds # features/steps/patroni_api.py:39 3081s Jan 09 15:23:01 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 3081s Jan 09 15:23:01 Then I receive a response code 200 # features/steps/patroni_api.py:98 3081s Jan 09 15:23:01 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 3082s Jan 09 15:23:02 When I start postgres0 # features/steps/basic_replication.py:8 3089s Jan 09 15:23:09 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 3089s Jan 09 15:23:09 And replication works from postgres1 to postgres0 after 15 seconds # features/steps/basic_replication.py:112 3090s Jan 09 15:23:10 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 3090s Jan 09 15:23:10 Then I receive a response code 200 # features/steps/patroni_api.py:98 3090s Jan 09 15:23:10 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 3090s Jan 09 15:23:10 And "members/postgres0" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 3090s Jan 09 15:23:10 3090s Jan 09 15:23:10 @slot-advance 3090s Jan 09 15:23:10 Scenario: check permanent logical slots are synced to the replica # features/standby_cluster.feature:22 3090s Jan 09 15:23:10 Given I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 3093s Jan 09 15:23:13 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 3098s Jan 09 15:23:18 3098s Jan 09 15:23:18 Scenario: Detach exiting node from the cluster # features/standby_cluster.feature:26 3098s Jan 09 15:23:18 When I shut down postgres1 # features/steps/basic_replication.py:29 3100s Jan 09 15:23:20 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 3101s Jan 09 15:23:21 And "members/postgres0" key in DCS has role=master after 5 seconds # features/steps/cascading_replication.py:23 3102s Jan 09 15:23:22 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 3102s Jan 09 15:23:22 Then I receive a response code 200 # features/steps/patroni_api.py:98 3102s Jan 09 15:23:22 3102s Jan 09 15:23:22 Scenario: check replication of a single table in a standby cluster # features/standby_cluster.feature:33 3102s Jan 09 15:23:22 Given I start postgres1 in a standby cluster batman1 as a clone of postgres0 # features/steps/standby_cluster.py:23 3106s Jan 09 15:23:26 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 3108s Jan 09 15:23:28 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 3108s Jan 09 15:23:28 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 3108s Jan 09 15:23:28 When I issue a GET request to http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:61 3108s Jan 09 15:23:28 Then I receive a response code 200 # features/steps/patroni_api.py:98 3108s Jan 09 15:23:28 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 3108s Jan 09 15:23:28 And I sleep for 3 seconds # features/steps/patroni_api.py:39 3111s Jan 09 15:23:31 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 3111s Jan 09 15:23:31 Then I receive a response code 503 # features/steps/patroni_api.py:98 3111s Jan 09 15:23:31 When I issue a GET request to http://127.0.0.1:8009/standby_leader # features/steps/patroni_api.py:61 3111s Jan 09 15:23:31 Then I receive a response code 200 # features/steps/patroni_api.py:98 3111s Jan 09 15:23:31 And I receive a response role standby_leader # features/steps/patroni_api.py:98 3111s Jan 09 15:23:31 And there is a postgres1_cb.log with "on_role_change standby_leader batman1" in postgres1 data directory # features/steps/cascading_replication.py:12 3111s Jan 09 15:23:31 When I start postgres2 in a cluster batman1 # features/steps/standby_cluster.py:12 3121s Jan 09 15:23:41 Then postgres2 role is the replica after 24 seconds # features/steps/basic_replication.py:105 3121s Jan 09 15:23:41 And postgres2 is replicating from postgres1 after 10 seconds # features/steps/standby_cluster.py:52 3121s Jan 09 15:23:41 And table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 3121s Jan 09 15:23:41 When I issue a GET request to http://127.0.0.1:8010/patroni # features/steps/patroni_api.py:61 3121s Jan 09 15:23:41 Then I receive a response code 200 # features/steps/patroni_api.py:98 3121s Jan 09 15:23:41 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 3121s Jan 09 15:23:41 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 3121s Jan 09 15:23:41 3122s Jan 09 15:23:41 Scenario: check switchover # features/standby_cluster.feature:57 3122s Jan 09 15:23:41 Given I run patronictl.py switchover batman1 --force # features/steps/patroni_api.py:86 3126s Jan 09 15:23:46 Then Status code on GET http://127.0.0.1:8010/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 3126s Jan 09 15:23:46 And postgres1 is replicating from postgres2 after 32 seconds # features/steps/standby_cluster.py:52 3128s Jan 09 15:23:48 And there is a postgres2_cb.log with "on_start replica batman1\non_role_change standby_leader batman1" in postgres2 data directory # features/steps/cascading_replication.py:12 3128s Jan 09 15:23:48 3128s Jan 09 15:23:48 Scenario: check failover # features/standby_cluster.feature:63 3128s Jan 09 15:23:48 When I kill postgres2 # features/steps/basic_replication.py:34 3129s Jan 09 15:23:49 And I kill postmaster on postgres2 # features/steps/basic_replication.py:44 3129s Jan 09 15:23:49 waiting for server to shut down.... done 3129s Jan 09 15:23:49 server stopped 3129s Jan 09 15:23:49 Then postgres1 is replicating from postgres0 after 32 seconds # features/steps/standby_cluster.py:52 3148s Jan 09 15:24:08 And Status code on GET http://127.0.0.1:8009/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 3148s Jan 09 15:24:08 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 3148s Jan 09 15:24:08 Then I receive a response code 503 # features/steps/patroni_api.py:98 3148s Jan 09 15:24:08 And I receive a response role standby_leader # features/steps/patroni_api.py:98 3148s Jan 09 15:24:08 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 3149s Jan 09 15:24:09 And there is a postgres1_cb.log with "on_role_change replica batman1\non_role_change standby_leader batman1" in postgres1 data directory # features/steps/cascading_replication.py:12 3164s Jan 09 15:24:24 3164s Jan 09 15:24:24 Feature: watchdog # features/watchdog.feature:1 3164s Jan 09 15:24:24 Verify that watchdog gets pinged and triggered under appropriate circumstances. 3164s Jan 09 15:24:24 Scenario: watchdog is opened and pinged # features/watchdog.feature:4 3164s Jan 09 15:24:24 Given I start postgres0 with watchdog # features/steps/watchdog.py:16 3168s Jan 09 15:24:28 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 3169s Jan 09 15:24:29 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 3169s Jan 09 15:24:29 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 3170s Jan 09 15:24:30 And postgres0 watchdog has a 15 second timeout # features/steps/watchdog.py:34 3170s Jan 09 15:24:30 3170s Jan 09 15:24:30 Scenario: watchdog is reconfigured after global ttl changed # features/watchdog.feature:11 3170s Jan 09 15:24:30 Given I run patronictl.py edit-config batman -s ttl=30 --force # features/steps/patroni_api.py:86 3172s Jan 09 15:24:32 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 3172s Jan 09 15:24:32 And I receive a response output "+ttl: 30" # features/steps/patroni_api.py:98 3172s Jan 09 15:24:32 When I sleep for 4 seconds # features/steps/patroni_api.py:39 3176s Jan 09 15:24:36 Then postgres0 watchdog has a 25 second timeout # features/steps/watchdog.py:34 3176s Jan 09 15:24:36 3176s Jan 09 15:24:36 Scenario: watchdog is disabled during pause # features/watchdog.feature:18 3176s Jan 09 15:24:36 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 3178s Jan 09 15:24:38 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 3178s Jan 09 15:24:38 When I sleep for 2 seconds # features/steps/patroni_api.py:39 3180s Jan 09 15:24:40 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 3180s Jan 09 15:24:40 3180s Jan 09 15:24:40 Scenario: watchdog is opened and pinged after resume # features/watchdog.feature:24 3180s Jan 09 15:24:40 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 3180s Jan 09 15:24:40 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 3182s Jan 09 15:24:42 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 3182s Jan 09 15:24:42 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 3182s Jan 09 15:24:42 3182s Jan 09 15:24:42 Scenario: watchdog is disabled when shutting down # features/watchdog.feature:30 3182s Jan 09 15:24:42 Given I shut down postgres0 # features/steps/basic_replication.py:29 3184s Jan 09 15:24:44 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 3184s Jan 09 15:24:44 3184s Jan 09 15:24:44 Scenario: watchdog is triggered if patroni stops responding # features/watchdog.feature:34 3184s Jan 09 15:24:44 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 3184s Jan 09 15:24:44 And I start postgres0 with watchdog # features/steps/watchdog.py:16 3188s Jan 09 15:24:48 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 3190s Jan 09 15:24:50 When postgres0 hangs for 30 seconds # features/steps/watchdog.py:52 3190s Jan 09 15:24:50 Then postgres0 watchdog is triggered after 30 seconds # features/steps/watchdog.py:44 3224s Jan 09 15:25:24 3226s Jan 09 15:25:26 Combined data file .coverage.autopkgtest.4333.XwkyAZAx 3226s Jan 09 15:25:26 Combined data file .coverage.autopkgtest.4336.XLULxxzx 3226s Jan 09 15:25:26 Combined data file .coverage.autopkgtest.4382.XpkOsKIx 3226s Jan 09 15:25:26 Combined data file .coverage.autopkgtest.4420.XzCJYfCx 3226s Jan 09 15:25:26 Combined data file .coverage.autopkgtest.4476.XxDdXfOx 3226s Jan 09 15:25:26 Combined data file .coverage.autopkgtest.4523.XUzCdEvx 3226s Jan 09 15:25:26 Combined data file .coverage.autopkgtest.4595.XsruJHAx 3226s Jan 09 15:25:26 Combined data file .coverage.autopkgtest.4643.XoqQokWx 3226s Jan 09 15:25:26 Combined data file .coverage.autopkgtest.4647.XeyoMTax 3226s Jan 09 15:25:26 Combined data file .coverage.autopkgtest.4738.XSVjgVKx 3226s Jan 09 15:25:26 Combined data file .coverage.autopkgtest.4845.XhQNOBgx 3226s Jan 09 15:25:26 Combined data file .coverage.autopkgtest.4849.XIvCEisx 3226s Jan 09 15:25:26 Combined data file .coverage.autopkgtest.4895.XJDdbVFx 3226s Jan 09 15:25:26 Combined data file .coverage.autopkgtest.4950.XaouAmqx 3226s Jan 09 15:25:26 Combined data file .coverage.autopkgtest.5060.XqHEhWNx 3226s Jan 09 15:25:26 Combined data file .coverage.autopkgtest.5064.XWYfQurx 3226s Jan 09 15:25:26 Combined data file .coverage.autopkgtest.5067.XvzQbMUx 3226s Jan 09 15:25:26 Combined data file .coverage.autopkgtest.5115.XrrPZTEx 3226s Jan 09 15:25:26 Combined data file .coverage.autopkgtest.5170.XcaEtIGx 3226s Jan 09 15:25:26 Combined data file .coverage.autopkgtest.5260.XAUFtwpx 3226s Jan 09 15:25:26 Combined data file .coverage.autopkgtest.5263.XoWLKqcx 3226s Jan 09 15:25:26 Combined data file .coverage.autopkgtest.5586.XEXVhEgx 3226s Jan 09 15:25:26 Combined data file .coverage.autopkgtest.5661.XtMkQZJx 3226s Jan 09 15:25:26 Combined data file .coverage.autopkgtest.5714.XeUcDlfx 3226s Jan 09 15:25:26 Skipping duplicate data .coverage.autopkgtest.5997.XQSWlIrx 3226s Jan 09 15:25:26 Combined data file .coverage.autopkgtest.6000.XeZWkIpx 3226s Jan 09 15:25:26 Combined data file .coverage.autopkgtest.6058.XkQSBkmx 3226s Jan 09 15:25:26 Combined data file .coverage.autopkgtest.6119.XoOMcAGx 3226s Jan 09 15:25:26 Combined data file .coverage.autopkgtest.6208.XNBhmbQx 3226s Jan 09 15:25:26 Skipping duplicate data .coverage.autopkgtest.6304.XWbhKGax 3226s Jan 09 15:25:26 Combined data file .coverage.autopkgtest.6307.XnPXfeNx 3226s Jan 09 15:25:26 Combined data file .coverage.autopkgtest.6351.XKZpXuwx 3226s Jan 09 15:25:26 Combined data file .coverage.autopkgtest.6417.XWChkcqx 3226s Jan 09 15:25:26 Combined data file .coverage.autopkgtest.6455.XDvAGfzx 3226s Jan 09 15:25:26 Skipping duplicate data .coverage.autopkgtest.6583.XjSBSWex 3226s Jan 09 15:25:26 Combined data file .coverage.autopkgtest.6586.XWpxjpfx 3226s Jan 09 15:25:26 Combined data file .coverage.autopkgtest.6636.XVkzPfkx 3226s Jan 09 15:25:26 Combined data file .coverage.autopkgtest.6652.XCbGyMSx 3226s Jan 09 15:25:26 Combined data file .coverage.autopkgtest.6693.XhZMoOnx 3226s Jan 09 15:25:26 Combined data file .coverage.autopkgtest.6740.XuMOqYjx 3226s Jan 09 15:25:26 Combined data file .coverage.autopkgtest.6746.XZYAQEjx 3226s Jan 09 15:25:26 Combined data file .coverage.autopkgtest.6785.XTmIiLPx 3226s Jan 09 15:25:26 Combined data file .coverage.autopkgtest.6830.XiBJSedx 3226s Jan 09 15:25:26 Combined data file .coverage.autopkgtest.6996.XZiIvagx 3226s Jan 09 15:25:26 Combined data file .coverage.autopkgtest.6999.XPMXdTcx 3226s Jan 09 15:25:26 Combined data file .coverage.autopkgtest.7006.XvXfopjx 3226s Jan 09 15:25:26 Skipping duplicate data .coverage.autopkgtest.7142.XrbcOyBx 3226s Jan 09 15:25:26 Combined data file .coverage.autopkgtest.7151.XyaxDDzx 3226s Jan 09 15:25:26 Combined data file .coverage.autopkgtest.7200.XcsliTbx 3226s Jan 09 15:25:26 Combined data file .coverage.autopkgtest.7242.XQIyJeyx 3226s Jan 09 15:25:26 Combined data file .coverage.autopkgtest.7288.XJYoJvKx 3226s Jan 09 15:25:26 Combined data file .coverage.autopkgtest.7330.XCKvMcnx 3226s Jan 09 15:25:26 Combined data file .coverage.autopkgtest.7476.XGjKkYDx 3226s Jan 09 15:25:26 Skipping duplicate data .coverage.autopkgtest.7561.XkAHGBtx 3226s Jan 09 15:25:26 Combined data file .coverage.autopkgtest.7564.XCjRhFIx 3226s Jan 09 15:25:26 Combined data file .coverage.autopkgtest.7608.XsJjBUEx 3226s Jan 09 15:25:26 Combined data file .coverage.autopkgtest.7679.XIeDgeqx 3226s Jan 09 15:25:26 Combined data file .coverage.autopkgtest.7753.XZKCmVpx 3226s Jan 09 15:25:26 Combined data file .coverage.autopkgtest.7830.XFnMlSSx 3226s Jan 09 15:25:26 Skipping duplicate data .coverage.autopkgtest.8148.XMrpffEx 3226s Jan 09 15:25:26 Combined data file .coverage.autopkgtest.8151.XCiNlabx 3226s Jan 09 15:25:26 Combined data file .coverage.autopkgtest.8197.XJhEscfx 3226s Jan 09 15:25:26 Combined data file .coverage.autopkgtest.8347.XXjHaXdx 3226s Jan 09 15:25:26 Combined data file .coverage.autopkgtest.8351.XnMNWhex 3226s Jan 09 15:25:26 Combined data file .coverage.autopkgtest.8415.XgoPENgx 3226s Jan 09 15:25:26 Combined data file .coverage.autopkgtest.8472.XIfQXhqx 3226s Jan 09 15:25:26 Combined data file .coverage.autopkgtest.8578.XfawaJex 3226s Jan 09 15:25:26 Combined data file .coverage.autopkgtest.8697.XYDuVQpx 3226s Jan 09 15:25:26 Skipping duplicate data .coverage.autopkgtest.8827.XIRhquxx 3226s Jan 09 15:25:26 Combined data file .coverage.autopkgtest.8831.XZdiMWMx 3226s Jan 09 15:25:26 Combined data file .coverage.autopkgtest.8877.XwpPxWOx 3226s Jan 09 15:25:26 Skipping duplicate data .coverage.autopkgtest.8880.XZEcmQPx 3226s Jan 09 15:25:26 Combined data file .coverage.autopkgtest.8884.XlrmcwCx 3226s Jan 09 15:25:26 Combined data file .coverage.autopkgtest.8896.XcnScfvx 3226s Jan 09 15:25:26 Skipping duplicate data .coverage.autopkgtest.8967.XnrbMYSx 3228s Jan 09 15:25:28 Name Stmts Miss Cover 3228s Jan 09 15:25:28 ---------------------------------------------------------------------------------------------------------- 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 101 96 5% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/cryptography/__about__.py 5 0 100% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/cryptography/__init__.py 3 0 100% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/cryptography/exceptions.py 26 5 81% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/cryptography/fernet.py 137 54 61% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/cryptography/hazmat/__init__.py 2 0 100% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/cryptography/hazmat/_oid.py 135 0 100% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/__init__.py 5 0 100% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/__init__.py 3 0 100% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/backend.py 135 67 50% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/__init__.py 0 0 100% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/__init__.py 0 0 100% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/_conditional.py 38 17 55% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/binding.py 51 4 92% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/__init__.py 1 0 100% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/ciphers/__init__.py 1 0 100% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/ciphers/algorithms.py 68 18 74% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/__init__.py 0 0 100% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_asymmetric.py 6 0 100% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_cipheralgorithm.py 23 1 96% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_serialization.py 79 35 56% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/__init__.py 0 0 100% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ec.py 172 22 87% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/padding.py 55 23 58% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/rsa.py 93 40 57% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/utils.py 14 5 64% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/__init__.py 4 0 100% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/algorithms.py 72 13 82% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/base.py 54 3 94% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/modes.py 140 50 64% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/constant_time.py 6 3 50% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hashes.py 127 20 84% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hmac.py 6 0 100% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/kdf/__init__.py 7 0 100% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/kdf/pbkdf2.py 27 5 81% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/padding.py 104 37 64% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/cryptography/utils.py 76 25 67% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/dateutil/__init__.py 13 4 69% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/dateutil/_version.py 11 2 82% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 811 436 46% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 184 150 18% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 240 206 14% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 151 114 25% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 795 626 21% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/dateutil/tz/win.py 153 149 3% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/patroni/__main__.py 199 65 67% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/patroni/api.py 780 289 63% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 15 84% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/patroni/collections.py 56 6 89% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/patroni/config.py 371 98 74% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/patroni/config_generator.py 212 159 25% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/patroni/daemon.py 76 3 96% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 654 83 87% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/patroni/dcs/raft.py 319 35 89% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/patroni/dynamic_loader.py 35 7 80% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/patroni/file_perm.py 43 8 81% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/patroni/global_config.py 81 0 100% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/patroni/ha.py 1270 316 75% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/patroni/log.py 221 71 68% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 822 172 79% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/patroni/postgresql/available_parameters/__init__.py 24 3 88% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 255 62 76% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 838 219 74% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 1 99% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 43 8 81% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/patroni/postgresql/mpp/__init__.py 89 11 88% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 85 50% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 416 163 61% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 349 38 89% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 130 19 85% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 157 24 85% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/patroni/psycopg.py 46 20 57% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/patroni/request.py 58 6 90% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/patroni/tags.py 38 0 100% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/patroni/utils.py 370 122 67% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/patroni/validator.py 307 214 30% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 42 79% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 35 74% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/psutil/__init__.py 951 629 34% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/psutil/_common.py 424 212 50% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/psutil/_compat.py 302 263 13% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1251 924 26% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/psutil/_psposix.py 96 38 60% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/pysyncobj/__init__.py 2 0 100% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/pysyncobj/atomic_replace.py 4 0 100% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/pysyncobj/config.py 80 1 99% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/pysyncobj/dns_resolver.py 51 10 80% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/pysyncobj/encryptor.py 17 2 88% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/pysyncobj/fast_queue.py 21 1 95% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/pysyncobj/journal.py 193 37 81% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/pysyncobj/monotonic.py 77 70 9% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/pysyncobj/node.py 49 10 80% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/pysyncobj/pickle.py 52 32 38% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/pysyncobj/pipe_notifier.py 24 2 92% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/pysyncobj/poller.py 87 41 53% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/pysyncobj/serializer.py 166 132 20% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/pysyncobj/syncobj.py 1045 378 64% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/pysyncobj/tcp_connection.py 250 35 86% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/pysyncobj/tcp_server.py 56 12 79% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/pysyncobj/transport.py 266 57 79% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/pysyncobj/utility.py 59 7 88% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/pysyncobj/version.py 1 0 100% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/pysyncobj/win_inet_pton.py 44 31 30% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/urllib3/__init__.py 50 14 72% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 70 52 26% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/urllib3/_collections.py 234 107 54% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 53 15 72% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/urllib3/_version.py 2 0 100% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/urllib3/connection.py 324 104 68% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 347 136 61% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/urllib3/exceptions.py 115 37 68% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 88 62% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/urllib3/response.py 562 336 40% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 9 86% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 49 53% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 17 47% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/urllib3/util/retry.py 173 49 72% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 177 75 58% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 160 112 30% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 19 73% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/urllib3/util/url.py 205 78 62% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 9 65% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 38 22% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/yaml/parser.py 352 180 49% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/yaml/reader.py 122 30 75% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/yaml/scanner.py 758 415 45% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 3228s Jan 09 15:25:28 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 3228s Jan 09 15:25:28 patroni/__init__.py 13 2 85% 3228s Jan 09 15:25:28 patroni/__main__.py 199 199 0% 3228s Jan 09 15:25:28 patroni/api.py 780 780 0% 3228s Jan 09 15:25:28 patroni/async_executor.py 96 69 28% 3228s Jan 09 15:25:28 patroni/collections.py 56 15 73% 3228s Jan 09 15:25:28 patroni/config.py 371 189 49% 3228s Jan 09 15:25:28 patroni/config_generator.py 212 212 0% 3228s Jan 09 15:25:28 patroni/ctl.py 936 411 56% 3228s Jan 09 15:25:28 patroni/daemon.py 76 6 92% 3228s Jan 09 15:25:28 patroni/dcs/__init__.py 654 273 58% 3228s Jan 09 15:25:28 patroni/dcs/consul.py 484 484 0% 3228s Jan 09 15:25:28 patroni/dcs/etcd3.py 679 679 0% 3228s Jan 09 15:25:28 patroni/dcs/etcd.py 603 603 0% 3228s Jan 09 15:25:28 patroni/dcs/exhibitor.py 62 62 0% 3228s Jan 09 15:25:28 patroni/dcs/kubernetes.py 940 940 0% 3228s Jan 09 15:25:28 patroni/dcs/raft.py 319 74 77% 3228s Jan 09 15:25:28 patroni/dcs/zookeeper.py 289 289 0% 3228s Jan 09 15:25:28 patroni/dynamic_loader.py 35 7 80% 3228s Jan 09 15:25:28 patroni/exceptions.py 16 1 94% 3228s Jan 09 15:25:28 patroni/file_perm.py 43 15 65% 3228s Jan 09 15:25:28 patroni/global_config.py 81 18 78% 3228s Jan 09 15:25:28 patroni/ha.py 1270 1270 0% 3228s Jan 09 15:25:28 patroni/log.py 221 95 57% 3228s Jan 09 15:25:28 patroni/postgresql/__init__.py 822 652 21% 3228s Jan 09 15:25:28 patroni/postgresql/available_parameters/__init__.py 24 3 88% 3228s Jan 09 15:25:28 patroni/postgresql/bootstrap.py 255 225 12% 3228s Jan 09 15:25:28 patroni/postgresql/callback_executor.py 55 34 38% 3228s Jan 09 15:25:28 patroni/postgresql/cancellable.py 104 84 19% 3228s Jan 09 15:25:28 patroni/postgresql/config.py 838 718 14% 3228s Jan 09 15:25:28 patroni/postgresql/connection.py 75 50 33% 3228s Jan 09 15:25:28 patroni/postgresql/misc.py 43 30 30% 3228s Jan 09 15:25:28 patroni/postgresql/mpp/__init__.py 89 21 76% 3228s Jan 09 15:25:28 patroni/postgresql/mpp/citus.py 259 259 0% 3228s Jan 09 15:25:28 patroni/postgresql/postmaster.py 170 139 18% 3228s Jan 09 15:25:28 patroni/postgresql/rewind.py 416 416 0% 3228s Jan 09 15:25:28 patroni/postgresql/slots.py 349 300 14% 3228s Jan 09 15:25:28 patroni/postgresql/sync.py 130 96 26% 3228s Jan 09 15:25:28 patroni/postgresql/validator.py 157 52 67% 3228s Jan 09 15:25:28 patroni/psycopg.py 46 32 30% 3228s Jan 09 15:25:28 patroni/raft_controller.py 22 1 95% 3228s Jan 09 15:25:28 patroni/request.py 58 6 90% 3228s Jan 09 15:25:28 patroni/scripts/__init__.py 0 0 100% 3228s Jan 09 15:25:28 patroni/scripts/aws.py 59 59 0% 3228s Jan 09 15:25:28 patroni/scripts/barman/__init__.py 0 0 100% 3228s Jan 09 15:25:28 patroni/scripts/barman/cli.py 51 51 0% 3228s Jan 09 15:25:28 patroni/scripts/barman/config_switch.py 51 51 0% 3228s Jan 09 15:25:28 patroni/scripts/barman/recover.py 37 37 0% 3228s Jan 09 15:25:28 patroni/scripts/barman/utils.py 94 94 0% 3228s Jan 09 15:25:28 patroni/scripts/wale_restore.py 207 207 0% 3228s Jan 09 15:25:28 patroni/tags.py 38 11 71% 3228s Jan 09 15:25:28 patroni/utils.py 370 233 37% 3228s Jan 09 15:25:28 patroni/validator.py 307 221 28% 3228s Jan 09 15:25:28 patroni/version.py 1 0 100% 3228s Jan 09 15:25:28 patroni/watchdog/__init__.py 2 2 0% 3228s Jan 09 15:25:28 patroni/watchdog/base.py 203 203 0% 3228s Jan 09 15:25:28 patroni/watchdog/linux.py 135 135 0% 3228s Jan 09 15:25:28 ---------------------------------------------------------------------------------------------------------- 3228s Jan 09 15:25:28 TOTAL 40175 22739 43% 3228s Jan 09 15:25:28 12 features passed, 0 failed, 1 skipped 3228s Jan 09 15:25:28 54 scenarios passed, 0 failed, 6 skipped 3228s Jan 09 15:25:28 525 steps passed, 0 failed, 63 skipped, 0 undefined 3228s Jan 09 15:25:28 Took 10m36.613s 3228s + echo '### End 16 acceptance-raft ###' 3228s + rm -f '/tmp/pgpass?' 3228s ### End 16 acceptance-raft ### 3228s ++ id -u 3228s + '[' 1000 -eq 0 ']' 3229s autopkgtest [15:25:29]: test acceptance-raft: -----------------------] 3229s autopkgtest [15:25:29]: test acceptance-raft: - - - - - - - - - - results - - - - - - - - - - 3229s acceptance-raft PASS 3230s autopkgtest [15:25:30]: test test: preparing testbed 3321s autopkgtest [15:27:01]: testbed dpkg architecture: ppc64el 3321s autopkgtest [15:27:01]: testbed apt version: 2.9.18 3322s autopkgtest [15:27:02]: @@@@@@@@@@@@@@@@@@@@ test bed setup 3322s autopkgtest [15:27:02]: testbed release detected to be: plucky 3323s autopkgtest [15:27:03]: updating testbed package index (apt update) 3323s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB] 3323s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 3323s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 3323s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 3323s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [790 kB] 3324s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [9708 B] 3324s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [126 kB] 3324s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [15.6 kB] 3324s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/main ppc64el Packages [226 kB] 3324s Get:10 http://ftpmaster.internal/ubuntu plucky-proposed/restricted ppc64el Packages [756 B] 3324s Get:11 http://ftpmaster.internal/ubuntu plucky-proposed/universe ppc64el Packages [955 kB] 3324s Get:12 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse ppc64el Packages [5472 B] 3324s Fetched 2203 kB in 1s (1985 kB/s) 3325s Reading package lists... 3325s + lsb_release --codename --short 3325s + RELEASE=plucky 3325s + cat 3325s + [ plucky != trusty ] 3325s + DEBIAN_FRONTEND=noninteractive eatmydata apt-get -y --allow-downgrades -o Dpkg::Options::=--force-confnew dist-upgrade 3325s Reading package lists... 3326s Building dependency tree... 3326s Reading state information... 3326s Calculating upgrade... 3326s + rm /etc/apt/preferences.d/force-downgrade-to-release.pref 3326s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 3326s + /usr/lib/apt/apt-helper analyze-pattern ?true 3326s + DEBIAN_FRONTEND=noninteractive eatmydata apt-get -y purge --autoremove ?obsolete 3326s Reading package lists... 3326s Building dependency tree... 3326s Reading state information... 3326s + grep -q trusty /etc/lsb-release 3326s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 3326s + [ ! -d /usr/share/doc/unattended-upgrades ] 3326s + [ ! -d /usr/share/doc/lxd ] 3326s + [ ! -d /usr/share/doc/lxd-client ] 3326s + [ ! -d /usr/share/doc/snapd ] 3326s + type iptables 3326s + cat 3326s + chmod 755 /etc/rc.local 3326s + . /etc/rc.local 3326s + iptables -w -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu 3326s + iptables -A OUTPUT -d 10.255.255.1/32 -p tcp -j DROP 3326s + iptables -A OUTPUT -d 10.255.255.2/32 -p tcp -j DROP 3326s + uname -m 3326s + [ ppc64le = ppc64le ] 3326s + systemctl is-active keyboard-setup.service 3326s + [ active = failed ] 3326s + [ -d /run/systemd/system ] 3326s + systemd-detect-virt --quiet --vm 3327s + mkdir -p /etc/systemd/system/systemd-random-seed.service.d/ 3327s + cat 3327s + grep -q lz4 /etc/initramfs-tools/initramfs.conf 3327s + echo COMPRESS=lz4 3327s autopkgtest [15:27:07]: upgrading testbed (apt dist-upgrade and autopurge) 3327s Reading package lists... 3327s Building dependency tree... 3327s Reading state information... 3327s Calculating upgrade...Starting pkgProblemResolver with broken count: 0 3327s Starting 2 pkgProblemResolver with broken count: 0 3327s Done 3328s Entering ResolveByKeep 3328s 3328s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 3328s Reading package lists... 3328s Building dependency tree... 3328s Reading state information... 3329s Starting pkgProblemResolver with broken count: 0 3329s Starting 2 pkgProblemResolver with broken count: 0 3329s Done 3329s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 3333s Reading package lists... 3333s Building dependency tree... 3333s Reading state information... 3333s Starting pkgProblemResolver with broken count: 0 3333s Starting 2 pkgProblemResolver with broken count: 0 3333s Done 3334s The following NEW packages will be installed: 3334s fonts-font-awesome fonts-lato libcares2 libev4t64 libjs-jquery 3334s libjs-jquery-hotkeys libjs-jquery-isonscreen libjs-jquery-metadata 3334s libjs-jquery-tablesorter libjs-jquery-throttle-debounce libjs-sphinxdoc 3334s libjs-underscore libpq5 libpython3.13-minimal libpython3.13-stdlib patroni 3334s patroni-doc python3-aiohappyeyeballs python3-aiohttp python3-aiosignal 3334s python3-async-timeout python3-boto3 python3-botocore python3-cachetools 3334s python3-cdiff python3-click python3-colorama python3-consul python3-coverage 3334s python3-dateutil python3-dnspython python3-etcd python3-eventlet 3334s python3-flake8 python3-frozenlist python3-gevent python3-google-auth 3334s python3-greenlet python3-iniconfig python3-jmespath python3-kazoo 3334s python3-kerberos python3-kubernetes python3-mccabe python3-mock 3334s python3-multidict python3-packaging python3-pluggy python3-prettytable 3334s python3-psutil python3-psycopg2 python3-pure-sasl python3-pyasn1 3334s python3-pyasn1-modules python3-pycodestyle python3-pyflakes 3334s python3-pysyncobj python3-pytest python3-pytest-cov python3-pyu2f 3334s python3-requests-oauthlib python3-responses python3-rsa python3-s3transfer 3334s python3-six python3-wcwidth python3-websocket python3-yarl python3-ydiff 3334s python3-zope.event python3-zope.interface python3.13 python3.13-minimal 3334s sphinx-rtd-theme-common 3334s 0 upgraded, 74 newly installed, 0 to remove and 0 not upgraded. 3334s Need to get 23.6 MB of archives. 3334s After this operation, 192 MB of additional disk space will be used. 3334s Get:1 http://ftpmaster.internal/ubuntu plucky/main ppc64el fonts-lato all 2.015-1 [2781 kB] 3334s Get:2 http://ftpmaster.internal/ubuntu plucky/main ppc64el libpython3.13-minimal ppc64el 3.13.1-2 [883 kB] 3334s Get:3 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3.13-minimal ppc64el 3.13.1-2 [2496 kB] 3335s Get:4 http://ftpmaster.internal/ubuntu plucky/main ppc64el libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 3335s Get:5 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libjs-jquery-hotkeys all 0~20130707+git2d51e3a9+dfsg-2.1 [11.5 kB] 3335s Get:6 http://ftpmaster.internal/ubuntu plucky/main ppc64el fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 3335s Get:7 http://ftpmaster.internal/ubuntu plucky/main ppc64el libcares2 ppc64el 1.34.4-2.1 [126 kB] 3335s Get:8 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libev4t64 ppc64el 1:4.33-2.1build1 [34.9 kB] 3335s Get:9 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libjs-jquery-metadata all 12-4 [6582 B] 3335s Get:10 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libjs-jquery-tablesorter all 1:2.31.3+dfsg1-4 [192 kB] 3335s Get:11 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libjs-jquery-throttle-debounce all 1.1+dfsg.1-2 [12.5 kB] 3335s Get:12 http://ftpmaster.internal/ubuntu plucky/main ppc64el libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 3335s Get:13 http://ftpmaster.internal/ubuntu plucky-proposed/main ppc64el libjs-sphinxdoc all 8.1.3-4 [30.9 kB] 3335s Get:14 http://ftpmaster.internal/ubuntu plucky/main ppc64el libpq5 ppc64el 17.2-1 [173 kB] 3335s Get:15 http://ftpmaster.internal/ubuntu plucky/main ppc64el libpython3.13-stdlib ppc64el 3.13.1-2 [2131 kB] 3335s Get:16 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-ydiff all 1.4.2-1 [19.0 kB] 3335s Get:17 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-cdiff all 1.4.2-1 [1778 B] 3335s Get:18 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-colorama all 0.4.6-4 [32.1 kB] 3335s Get:19 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-click all 8.1.7-2 [79.5 kB] 3335s Get:20 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-dateutil all 2.9.0-3 [80.2 kB] 3335s Get:21 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 3335s Get:22 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-prettytable all 3.12.0-1 [36.5 kB] 3335s Get:23 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-psutil ppc64el 5.9.8-2build3 [197 kB] 3335s Get:24 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-psycopg2 ppc64el 2.9.10-1 [160 kB] 3335s Get:25 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-dnspython all 2.6.1-1ubuntu1 [163 kB] 3335s Get:26 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-etcd all 0.4.5-6 [32.1 kB] 3335s Get:27 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-consul all 1.5.1+dfsg-1 [21.7 kB] 3335s Get:28 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-greenlet ppc64el 3.1.0-1 [184 kB] 3335s Get:29 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-eventlet all 0.36.1-11ubuntu1 [275 kB] 3335s Get:30 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-zope.event all 5.0-0.1 [7512 B] 3335s Get:31 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-zope.interface ppc64el 7.2-1 [142 kB] 3335s Get:32 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-gevent ppc64el 24.11.1-1 [1130 kB] 3335s Get:33 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-kerberos ppc64el 1.1.14-3.1build10 [22.1 kB] 3335s Get:34 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-pure-sasl all 0.5.1+dfsg1-5 [11.4 kB] 3335s Get:35 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-six all 1.17.0-1 [13.2 kB] 3335s Get:36 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-kazoo all 2.9.0-2 [103 kB] 3335s Get:37 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-multidict ppc64el 6.1.0-1build1 [40.2 kB] 3335s Get:38 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-yarl ppc64el 1.13.1-1build1 [129 kB] 3335s Get:39 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-async-timeout all 5.0.1-1 [6830 B] 3335s Get:40 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-aiohappyeyeballs all 2.4.4-2 [10.6 kB] 3335s Get:41 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-frozenlist ppc64el 1.5.0-1build1 [68.2 kB] 3335s Get:42 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-aiosignal all 1.3.2-1 [5182 B] 3335s Get:43 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-aiohttp ppc64el 3.10.11-1 [375 kB] 3335s Get:44 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-cachetools all 5.3.3-1 [10.3 kB] 3335s Get:45 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-pyasn1 all 0.6.0-1 [57.8 kB] 3335s Get:46 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-pyasn1-modules all 0.4.1-1 [80.2 kB] 3335s Get:47 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-pyu2f all 0.1.5-4 [22.9 kB] 3335s Get:48 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-responses all 0.25.3-1 [54.3 kB] 3335s Get:49 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-rsa all 4.9-2 [28.2 kB] 3335s Get:50 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-google-auth all 2.28.2-3 [91.0 kB] 3335s Get:51 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-requests-oauthlib all 1.3.1-1 [18.8 kB] 3335s Get:52 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-websocket all 1.8.0-2 [38.5 kB] 3335s Get:53 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-kubernetes all 30.1.0-1 [386 kB] 3335s Get:54 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-pysyncobj all 0.3.12-1 [38.9 kB] 3335s Get:55 http://ftpmaster.internal/ubuntu plucky/universe ppc64el patroni all 3.3.4-1 [269 kB] 3335s Get:56 http://ftpmaster.internal/ubuntu plucky/main ppc64el sphinx-rtd-theme-common all 3.0.2+dfsg-1 [1014 kB] 3335s Get:57 http://ftpmaster.internal/ubuntu plucky/universe ppc64el patroni-doc all 3.3.4-1 [508 kB] 3335s Get:58 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-jmespath all 1.0.1-1 [21.3 kB] 3335s Get:59 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-botocore all 1.34.46+repack-1ubuntu1 [6211 kB] 3335s Get:60 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-s3transfer all 0.10.1-1ubuntu2 [54.3 kB] 3335s Get:61 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-boto3 all 1.34.46+dfsg-1ubuntu1 [72.5 kB] 3335s Get:62 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3.13 ppc64el 3.13.1-2 [729 kB] 3336s Get:63 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-coverage ppc64el 7.4.4+dfsg1-0ubuntu3 [151 kB] 3336s Get:64 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-mccabe all 0.7.0-1 [8678 B] 3336s Get:65 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-pycodestyle all 2.12.1-1 [30.1 kB] 3336s Get:66 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-pyflakes all 3.2.0-2 [52.9 kB] 3336s Get:67 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-flake8 all 7.1.1-2 [44.1 kB] 3336s Get:68 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-iniconfig all 1.1.1-2 [6024 B] 3336s Get:69 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-packaging all 24.2-1 [51.5 kB] 3336s Get:70 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-pluggy all 1.5.0-1 [21.0 kB] 3336s Get:71 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-pytest all 8.3.4-1 [252 kB] 3336s Get:72 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libjs-jquery-isonscreen all 1.2.0-1.1 [3244 B] 3336s Get:73 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-pytest-cov all 5.0.0-1 [21.3 kB] 3336s Get:74 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-mock all 5.1.0-1 [64.1 kB] 3336s Fetched 23.6 MB in 2s (12.0 MB/s) 3336s Selecting previously unselected package fonts-lato. 3337s (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 ... 74025 files and directories currently installed.) 3337s Preparing to unpack .../00-fonts-lato_2.015-1_all.deb ... 3337s Unpacking fonts-lato (2.015-1) ... 3337s Selecting previously unselected package libpython3.13-minimal:ppc64el. 3337s Preparing to unpack .../01-libpython3.13-minimal_3.13.1-2_ppc64el.deb ... 3337s Unpacking libpython3.13-minimal:ppc64el (3.13.1-2) ... 3337s Selecting previously unselected package python3.13-minimal. 3337s Preparing to unpack .../02-python3.13-minimal_3.13.1-2_ppc64el.deb ... 3337s Unpacking python3.13-minimal (3.13.1-2) ... 3337s Selecting previously unselected package libjs-jquery. 3337s Preparing to unpack .../03-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 3337s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 3337s Selecting previously unselected package libjs-jquery-hotkeys. 3337s Preparing to unpack .../04-libjs-jquery-hotkeys_0~20130707+git2d51e3a9+dfsg-2.1_all.deb ... 3337s Unpacking libjs-jquery-hotkeys (0~20130707+git2d51e3a9+dfsg-2.1) ... 3337s Selecting previously unselected package fonts-font-awesome. 3337s Preparing to unpack .../05-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 3337s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 3337s Selecting previously unselected package libcares2:ppc64el. 3337s Preparing to unpack .../06-libcares2_1.34.4-2.1_ppc64el.deb ... 3337s Unpacking libcares2:ppc64el (1.34.4-2.1) ... 3337s Selecting previously unselected package libev4t64:ppc64el. 3337s Preparing to unpack .../07-libev4t64_1%3a4.33-2.1build1_ppc64el.deb ... 3337s Unpacking libev4t64:ppc64el (1:4.33-2.1build1) ... 3337s Selecting previously unselected package libjs-jquery-metadata. 3337s Preparing to unpack .../08-libjs-jquery-metadata_12-4_all.deb ... 3337s Unpacking libjs-jquery-metadata (12-4) ... 3337s Selecting previously unselected package libjs-jquery-tablesorter. 3337s Preparing to unpack .../09-libjs-jquery-tablesorter_1%3a2.31.3+dfsg1-4_all.deb ... 3337s Unpacking libjs-jquery-tablesorter (1:2.31.3+dfsg1-4) ... 3337s Selecting previously unselected package libjs-jquery-throttle-debounce. 3337s Preparing to unpack .../10-libjs-jquery-throttle-debounce_1.1+dfsg.1-2_all.deb ... 3337s Unpacking libjs-jquery-throttle-debounce (1.1+dfsg.1-2) ... 3337s Selecting previously unselected package libjs-underscore. 3337s Preparing to unpack .../11-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 3337s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 3337s Selecting previously unselected package libjs-sphinxdoc. 3337s Preparing to unpack .../12-libjs-sphinxdoc_8.1.3-4_all.deb ... 3337s Unpacking libjs-sphinxdoc (8.1.3-4) ... 3338s Selecting previously unselected package libpq5:ppc64el. 3338s Preparing to unpack .../13-libpq5_17.2-1_ppc64el.deb ... 3338s Unpacking libpq5:ppc64el (17.2-1) ... 3338s Selecting previously unselected package libpython3.13-stdlib:ppc64el. 3338s Preparing to unpack .../14-libpython3.13-stdlib_3.13.1-2_ppc64el.deb ... 3338s Unpacking libpython3.13-stdlib:ppc64el (3.13.1-2) ... 3338s Selecting previously unselected package python3-ydiff. 3338s Preparing to unpack .../15-python3-ydiff_1.4.2-1_all.deb ... 3338s Unpacking python3-ydiff (1.4.2-1) ... 3338s Selecting previously unselected package python3-cdiff. 3338s Preparing to unpack .../16-python3-cdiff_1.4.2-1_all.deb ... 3338s Unpacking python3-cdiff (1.4.2-1) ... 3338s Selecting previously unselected package python3-colorama. 3338s Preparing to unpack .../17-python3-colorama_0.4.6-4_all.deb ... 3338s Unpacking python3-colorama (0.4.6-4) ... 3338s Selecting previously unselected package python3-click. 3338s Preparing to unpack .../18-python3-click_8.1.7-2_all.deb ... 3338s Unpacking python3-click (8.1.7-2) ... 3338s Selecting previously unselected package python3-dateutil. 3338s Preparing to unpack .../19-python3-dateutil_2.9.0-3_all.deb ... 3338s Unpacking python3-dateutil (2.9.0-3) ... 3338s Selecting previously unselected package python3-wcwidth. 3338s Preparing to unpack .../20-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 3338s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 3338s Selecting previously unselected package python3-prettytable. 3338s Preparing to unpack .../21-python3-prettytable_3.12.0-1_all.deb ... 3338s Unpacking python3-prettytable (3.12.0-1) ... 3338s Selecting previously unselected package python3-psutil. 3338s Preparing to unpack .../22-python3-psutil_5.9.8-2build3_ppc64el.deb ... 3338s Unpacking python3-psutil (5.9.8-2build3) ... 3338s Selecting previously unselected package python3-psycopg2. 3338s Preparing to unpack .../23-python3-psycopg2_2.9.10-1_ppc64el.deb ... 3338s Unpacking python3-psycopg2 (2.9.10-1) ... 3338s Selecting previously unselected package python3-dnspython. 3338s Preparing to unpack .../24-python3-dnspython_2.6.1-1ubuntu1_all.deb ... 3338s Unpacking python3-dnspython (2.6.1-1ubuntu1) ... 3338s Selecting previously unselected package python3-etcd. 3338s Preparing to unpack .../25-python3-etcd_0.4.5-6_all.deb ... 3338s Unpacking python3-etcd (0.4.5-6) ... 3338s Selecting previously unselected package python3-consul. 3338s Preparing to unpack .../26-python3-consul_1.5.1+dfsg-1_all.deb ... 3338s Unpacking python3-consul (1.5.1+dfsg-1) ... 3338s Selecting previously unselected package python3-greenlet. 3338s Preparing to unpack .../27-python3-greenlet_3.1.0-1_ppc64el.deb ... 3338s Unpacking python3-greenlet (3.1.0-1) ... 3338s Selecting previously unselected package python3-eventlet. 3338s Preparing to unpack .../28-python3-eventlet_0.36.1-11ubuntu1_all.deb ... 3338s Unpacking python3-eventlet (0.36.1-11ubuntu1) ... 3338s Selecting previously unselected package python3-zope.event. 3338s Preparing to unpack .../29-python3-zope.event_5.0-0.1_all.deb ... 3338s Unpacking python3-zope.event (5.0-0.1) ... 3338s Selecting previously unselected package python3-zope.interface. 3338s Preparing to unpack .../30-python3-zope.interface_7.2-1_ppc64el.deb ... 3338s Unpacking python3-zope.interface (7.2-1) ... 3338s Selecting previously unselected package python3-gevent. 3338s Preparing to unpack .../31-python3-gevent_24.11.1-1_ppc64el.deb ... 3338s Unpacking python3-gevent (24.11.1-1) ... 3338s Selecting previously unselected package python3-kerberos. 3338s Preparing to unpack .../32-python3-kerberos_1.1.14-3.1build10_ppc64el.deb ... 3338s Unpacking python3-kerberos (1.1.14-3.1build10) ... 3338s Selecting previously unselected package python3-pure-sasl. 3338s Preparing to unpack .../33-python3-pure-sasl_0.5.1+dfsg1-5_all.deb ... 3338s Unpacking python3-pure-sasl (0.5.1+dfsg1-5) ... 3338s Selecting previously unselected package python3-six. 3338s Preparing to unpack .../34-python3-six_1.17.0-1_all.deb ... 3338s Unpacking python3-six (1.17.0-1) ... 3338s Selecting previously unselected package python3-kazoo. 3338s Preparing to unpack .../35-python3-kazoo_2.9.0-2_all.deb ... 3338s Unpacking python3-kazoo (2.9.0-2) ... 3338s Selecting previously unselected package python3-multidict. 3338s Preparing to unpack .../36-python3-multidict_6.1.0-1build1_ppc64el.deb ... 3338s Unpacking python3-multidict (6.1.0-1build1) ... 3338s Selecting previously unselected package python3-yarl. 3338s Preparing to unpack .../37-python3-yarl_1.13.1-1build1_ppc64el.deb ... 3338s Unpacking python3-yarl (1.13.1-1build1) ... 3338s Selecting previously unselected package python3-async-timeout. 3338s Preparing to unpack .../38-python3-async-timeout_5.0.1-1_all.deb ... 3338s Unpacking python3-async-timeout (5.0.1-1) ... 3338s Selecting previously unselected package python3-aiohappyeyeballs. 3338s Preparing to unpack .../39-python3-aiohappyeyeballs_2.4.4-2_all.deb ... 3338s Unpacking python3-aiohappyeyeballs (2.4.4-2) ... 3338s Selecting previously unselected package python3-frozenlist. 3338s Preparing to unpack .../40-python3-frozenlist_1.5.0-1build1_ppc64el.deb ... 3338s Unpacking python3-frozenlist (1.5.0-1build1) ... 3338s Selecting previously unselected package python3-aiosignal. 3338s Preparing to unpack .../41-python3-aiosignal_1.3.2-1_all.deb ... 3338s Unpacking python3-aiosignal (1.3.2-1) ... 3338s Selecting previously unselected package python3-aiohttp. 3338s Preparing to unpack .../42-python3-aiohttp_3.10.11-1_ppc64el.deb ... 3338s Unpacking python3-aiohttp (3.10.11-1) ... 3338s Selecting previously unselected package python3-cachetools. 3338s Preparing to unpack .../43-python3-cachetools_5.3.3-1_all.deb ... 3338s Unpacking python3-cachetools (5.3.3-1) ... 3338s Selecting previously unselected package python3-pyasn1. 3338s Preparing to unpack .../44-python3-pyasn1_0.6.0-1_all.deb ... 3338s Unpacking python3-pyasn1 (0.6.0-1) ... 3338s Selecting previously unselected package python3-pyasn1-modules. 3338s Preparing to unpack .../45-python3-pyasn1-modules_0.4.1-1_all.deb ... 3338s Unpacking python3-pyasn1-modules (0.4.1-1) ... 3338s Selecting previously unselected package python3-pyu2f. 3338s Preparing to unpack .../46-python3-pyu2f_0.1.5-4_all.deb ... 3338s Unpacking python3-pyu2f (0.1.5-4) ... 3338s Selecting previously unselected package python3-responses. 3338s Preparing to unpack .../47-python3-responses_0.25.3-1_all.deb ... 3338s Unpacking python3-responses (0.25.3-1) ... 3339s Selecting previously unselected package python3-rsa. 3339s Preparing to unpack .../48-python3-rsa_4.9-2_all.deb ... 3339s Unpacking python3-rsa (4.9-2) ... 3339s Selecting previously unselected package python3-google-auth. 3339s Preparing to unpack .../49-python3-google-auth_2.28.2-3_all.deb ... 3339s Unpacking python3-google-auth (2.28.2-3) ... 3339s Selecting previously unselected package python3-requests-oauthlib. 3339s Preparing to unpack .../50-python3-requests-oauthlib_1.3.1-1_all.deb ... 3339s Unpacking python3-requests-oauthlib (1.3.1-1) ... 3339s Selecting previously unselected package python3-websocket. 3339s Preparing to unpack .../51-python3-websocket_1.8.0-2_all.deb ... 3339s Unpacking python3-websocket (1.8.0-2) ... 3339s Selecting previously unselected package python3-kubernetes. 3339s Preparing to unpack .../52-python3-kubernetes_30.1.0-1_all.deb ... 3339s Unpacking python3-kubernetes (30.1.0-1) ... 3339s Selecting previously unselected package python3-pysyncobj. 3339s Preparing to unpack .../53-python3-pysyncobj_0.3.12-1_all.deb ... 3339s Unpacking python3-pysyncobj (0.3.12-1) ... 3339s Selecting previously unselected package patroni. 3339s Preparing to unpack .../54-patroni_3.3.4-1_all.deb ... 3339s Unpacking patroni (3.3.4-1) ... 3339s Selecting previously unselected package sphinx-rtd-theme-common. 3339s Preparing to unpack .../55-sphinx-rtd-theme-common_3.0.2+dfsg-1_all.deb ... 3339s Unpacking sphinx-rtd-theme-common (3.0.2+dfsg-1) ... 3339s Selecting previously unselected package patroni-doc. 3339s Preparing to unpack .../56-patroni-doc_3.3.4-1_all.deb ... 3339s Unpacking patroni-doc (3.3.4-1) ... 3339s Selecting previously unselected package python3-jmespath. 3339s Preparing to unpack .../57-python3-jmespath_1.0.1-1_all.deb ... 3339s Unpacking python3-jmespath (1.0.1-1) ... 3339s Selecting previously unselected package python3-botocore. 3339s Preparing to unpack .../58-python3-botocore_1.34.46+repack-1ubuntu1_all.deb ... 3339s Unpacking python3-botocore (1.34.46+repack-1ubuntu1) ... 3340s Selecting previously unselected package python3-s3transfer. 3340s Preparing to unpack .../59-python3-s3transfer_0.10.1-1ubuntu2_all.deb ... 3340s Unpacking python3-s3transfer (0.10.1-1ubuntu2) ... 3340s Selecting previously unselected package python3-boto3. 3340s Preparing to unpack .../60-python3-boto3_1.34.46+dfsg-1ubuntu1_all.deb ... 3340s Unpacking python3-boto3 (1.34.46+dfsg-1ubuntu1) ... 3340s Selecting previously unselected package python3.13. 3340s Preparing to unpack .../61-python3.13_3.13.1-2_ppc64el.deb ... 3340s Unpacking python3.13 (3.13.1-2) ... 3340s Selecting previously unselected package python3-coverage. 3340s Preparing to unpack .../62-python3-coverage_7.4.4+dfsg1-0ubuntu3_ppc64el.deb ... 3340s Unpacking python3-coverage (7.4.4+dfsg1-0ubuntu3) ... 3340s Selecting previously unselected package python3-mccabe. 3340s Preparing to unpack .../63-python3-mccabe_0.7.0-1_all.deb ... 3340s Unpacking python3-mccabe (0.7.0-1) ... 3340s Selecting previously unselected package python3-pycodestyle. 3340s Preparing to unpack .../64-python3-pycodestyle_2.12.1-1_all.deb ... 3340s Unpacking python3-pycodestyle (2.12.1-1) ... 3340s Selecting previously unselected package python3-pyflakes. 3340s Preparing to unpack .../65-python3-pyflakes_3.2.0-2_all.deb ... 3340s Unpacking python3-pyflakes (3.2.0-2) ... 3340s Selecting previously unselected package python3-flake8. 3340s Preparing to unpack .../66-python3-flake8_7.1.1-2_all.deb ... 3340s Unpacking python3-flake8 (7.1.1-2) ... 3340s Selecting previously unselected package python3-iniconfig. 3340s Preparing to unpack .../67-python3-iniconfig_1.1.1-2_all.deb ... 3340s Unpacking python3-iniconfig (1.1.1-2) ... 3340s Selecting previously unselected package python3-packaging. 3340s Preparing to unpack .../68-python3-packaging_24.2-1_all.deb ... 3340s Unpacking python3-packaging (24.2-1) ... 3340s Selecting previously unselected package python3-pluggy. 3340s Preparing to unpack .../69-python3-pluggy_1.5.0-1_all.deb ... 3340s Unpacking python3-pluggy (1.5.0-1) ... 3340s Selecting previously unselected package python3-pytest. 3340s Preparing to unpack .../70-python3-pytest_8.3.4-1_all.deb ... 3340s Unpacking python3-pytest (8.3.4-1) ... 3340s Selecting previously unselected package libjs-jquery-isonscreen. 3340s Preparing to unpack .../71-libjs-jquery-isonscreen_1.2.0-1.1_all.deb ... 3340s Unpacking libjs-jquery-isonscreen (1.2.0-1.1) ... 3340s Selecting previously unselected package python3-pytest-cov. 3340s Preparing to unpack .../72-python3-pytest-cov_5.0.0-1_all.deb ... 3340s Unpacking python3-pytest-cov (5.0.0-1) ... 3340s Selecting previously unselected package python3-mock. 3340s Preparing to unpack .../73-python3-mock_5.1.0-1_all.deb ... 3340s Unpacking python3-mock (5.1.0-1) ... 3340s Setting up python3-iniconfig (1.1.1-2) ... 3340s Setting up libev4t64:ppc64el (1:4.33-2.1build1) ... 3340s Setting up fonts-lato (2.015-1) ... 3340s Setting up python3-pysyncobj (0.3.12-1) ... 3340s Setting up python3-cachetools (5.3.3-1) ... 3341s Setting up python3-colorama (0.4.6-4) ... 3341s Setting up python3-zope.event (5.0-0.1) ... 3341s Setting up python3-zope.interface (7.2-1) ... 3342s Setting up python3-pyflakes (3.2.0-2) ... 3342s Setting up python3-ydiff (1.4.2-1) ... 3342s Setting up libpq5:ppc64el (17.2-1) ... 3342s Setting up python3-kerberos (1.1.14-3.1build10) ... 3342s Setting up libjs-jquery-throttle-debounce (1.1+dfsg.1-2) ... 3342s Setting up python3-click (8.1.7-2) ... 3343s Setting up python3-psutil (5.9.8-2build3) ... 3343s Setting up python3-multidict (6.1.0-1build1) ... 3343s Setting up python3-frozenlist (1.5.0-1build1) ... 3343s Setting up python3-aiosignal (1.3.2-1) ... 3344s Setting up python3-mock (5.1.0-1) ... 3344s Setting up python3-async-timeout (5.0.1-1) ... 3344s Setting up python3-six (1.17.0-1) ... 3344s Setting up libpython3.13-minimal:ppc64el (3.13.1-2) ... 3344s Setting up python3-responses (0.25.3-1) ... 3345s Setting up python3-pycodestyle (2.12.1-1) ... 3345s Setting up python3-packaging (24.2-1) ... 3345s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 3346s Setting up python3-pyu2f (0.1.5-4) ... 3346s Setting up python3-jmespath (1.0.1-1) ... 3346s Setting up python3-greenlet (3.1.0-1) ... 3346s Setting up libcares2:ppc64el (1.34.4-2.1) ... 3346s Setting up python3-psycopg2 (2.9.10-1) ... 3346s Setting up python3-aiohappyeyeballs (2.4.4-2) ... 3347s Setting up python3-pluggy (1.5.0-1) ... 3347s Setting up python3-dnspython (2.6.1-1ubuntu1) ... 3347s Setting up python3-pyasn1 (0.6.0-1) ... 3348s Setting up python3.13-minimal (3.13.1-2) ... 3349s Setting up python3-dateutil (2.9.0-3) ... 3349s Setting up python3-mccabe (0.7.0-1) ... 3349s Setting up python3-consul (1.5.1+dfsg-1) ... 3349s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 3349s Setting up libjs-jquery-hotkeys (0~20130707+git2d51e3a9+dfsg-2.1) ... 3349s Setting up python3-prettytable (3.12.0-1) ... 3350s Setting up python3-yarl (1.13.1-1build1) ... 3350s Setting up libpython3.13-stdlib:ppc64el (3.13.1-2) ... 3350s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 3350s Setting up sphinx-rtd-theme-common (3.0.2+dfsg-1) ... 3350s Setting up python3-websocket (1.8.0-2) ... 3350s Setting up python3-requests-oauthlib (1.3.1-1) ... 3350s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 3350s Setting up python3-pure-sasl (0.5.1+dfsg1-5) ... 3351s Setting up python3.13 (3.13.1-2) ... 3352s Setting up python3-etcd (0.4.5-6) ... 3352s Setting up python3-pytest (8.3.4-1) ... 3353s Setting up python3-cdiff (1.4.2-1) ... 3353s Setting up python3-aiohttp (3.10.11-1) ... 3353s Setting up python3-coverage (7.4.4+dfsg1-0ubuntu3) ... 3354s Setting up python3-gevent (24.11.1-1) ... 3354s Setting up python3-flake8 (7.1.1-2) ... 3355s Setting up python3-eventlet (0.36.1-11ubuntu1) ... 3355s Setting up python3-kazoo (2.9.0-2) ... 3356s Setting up python3-pyasn1-modules (0.4.1-1) ... 3356s Setting up libjs-jquery-metadata (12-4) ... 3356s Setting up python3-botocore (1.34.46+repack-1ubuntu1) ... 3357s Setting up libjs-jquery-isonscreen (1.2.0-1.1) ... 3357s Setting up libjs-sphinxdoc (8.1.3-4) ... 3357s Setting up libjs-jquery-tablesorter (1:2.31.3+dfsg1-4) ... 3357s Setting up python3-rsa (4.9-2) ... 3357s Setting up patroni (3.3.4-1) ... 3357s Created symlink '/etc/systemd/system/multi-user.target.wants/patroni.service' → '/usr/lib/systemd/system/patroni.service'. 3358s Setting up patroni-doc (3.3.4-1) ... 3358s Setting up python3-s3transfer (0.10.1-1ubuntu2) ... 3358s Setting up python3-pytest-cov (5.0.0-1) ... 3359s Setting up python3-google-auth (2.28.2-3) ... 3359s Setting up python3-boto3 (1.34.46+dfsg-1ubuntu1) ... 3359s Setting up python3-kubernetes (30.1.0-1) ... 3363s Processing triggers for systemd (257-2ubuntu1) ... 3363s Processing triggers for man-db (2.13.0-1) ... 3363s Processing triggers for libc-bin (2.40-4ubuntu1) ... 3366s autopkgtest [15:27:46]: test test: [----------------------- 3367s running test 3367s ============================= test session starts ============================== 3367s platform linux -- Python 3.12.8, pytest-8.3.4, pluggy-1.5.0 -- /usr/bin/python3 3367s cachedir: .pytest_cache 3367s rootdir: /tmp/autopkgtest.X8Hdq0/build.0ZU/src 3367s plugins: typeguard-4.4.1, cov-5.0.0 3376s collecting ... collected 657 items 3376s 3376s tests/test_api.py::TestRestApiHandler::test_RestApiServer_query PASSED [ 0%] 3376s tests/test_api.py::TestRestApiHandler::test_basicauth PASSED [ 0%] 3376s tests/test_api.py::TestRestApiHandler::test_do_DELETE_restart PASSED [ 0%] 3376s tests/test_api.py::TestRestApiHandler::test_do_DELETE_switchover PASSED [ 0%] 3376s tests/test_api.py::TestRestApiHandler::test_do_GET PASSED [ 0%] 3376s tests/test_api.py::TestRestApiHandler::test_do_GET_cluster PASSED [ 0%] 3376s tests/test_api.py::TestRestApiHandler::test_do_GET_config PASSED [ 1%] 3376s tests/test_api.py::TestRestApiHandler::test_do_GET_failsafe PASSED [ 1%] 3376s tests/test_api.py::TestRestApiHandler::test_do_GET_history PASSED [ 1%] 3376s tests/test_api.py::TestRestApiHandler::test_do_GET_liveness PASSED [ 1%] 3376s tests/test_api.py::TestRestApiHandler::test_do_GET_metrics PASSED [ 1%] 3376s tests/test_api.py::TestRestApiHandler::test_do_GET_patroni PASSED [ 1%] 3376s tests/test_api.py::TestRestApiHandler::test_do_GET_readiness PASSED [ 1%] 3376s tests/test_api.py::TestRestApiHandler::test_do_HEAD PASSED [ 2%] 3376s tests/test_api.py::TestRestApiHandler::test_do_OPTIONS PASSED [ 2%] 3376s tests/test_api.py::TestRestApiHandler::test_do_PATCH_config PASSED [ 2%] 3376s tests/test_api.py::TestRestApiHandler::test_do_POST_citus PASSED [ 2%] 3376s tests/test_api.py::TestRestApiHandler::test_do_POST_failover PASSED [ 2%] 3376s tests/test_api.py::TestRestApiHandler::test_do_POST_failsafe PASSED [ 2%] 3376s tests/test_api.py::TestRestApiHandler::test_do_POST_mpp PASSED [ 3%] 3376s tests/test_api.py::TestRestApiHandler::test_do_POST_reinitialize PASSED [ 3%] 3376s tests/test_api.py::TestRestApiHandler::test_do_POST_reload PASSED [ 3%] 3376s tests/test_api.py::TestRestApiHandler::test_do_POST_restart PASSED [ 3%] 3376s tests/test_api.py::TestRestApiHandler::test_do_POST_sigterm PASSED [ 3%] 3377s tests/test_api.py::TestRestApiHandler::test_do_POST_switchover PASSED [ 3%] 3377s tests/test_api.py::TestRestApiHandler::test_do_PUT_config PASSED [ 3%] 3377s tests/test_api.py::TestRestApiServer::test_check_access PASSED [ 4%] 3377s tests/test_api.py::TestRestApiServer::test_get_certificate_serial_number PASSED [ 4%] 3377s tests/test_api.py::TestRestApiServer::test_handle_error PASSED [ 4%] 3377s tests/test_api.py::TestRestApiServer::test_process_request_error PASSED [ 4%] 3377s tests/test_api.py::TestRestApiServer::test_process_request_thread PASSED [ 4%] 3377s tests/test_api.py::TestRestApiServer::test_query PASSED [ 4%] 3377s tests/test_api.py::TestRestApiServer::test_reload_config PASSED [ 5%] 3377s tests/test_api.py::TestRestApiServer::test_reload_local_certificate PASSED [ 5%] 3377s tests/test_api.py::TestRestApiServer::test_socket_error PASSED [ 5%] 3377s tests/test_async_executor.py::TestAsyncExecutor::test_cancel PASSED [ 5%] 3377s tests/test_async_executor.py::TestAsyncExecutor::test_run PASSED [ 5%] 3377s tests/test_async_executor.py::TestAsyncExecutor::test_run_async PASSED [ 5%] 3377s tests/test_async_executor.py::TestCriticalTask::test_completed_task PASSED [ 5%] 3377s tests/test_aws.py::TestAWSConnection::test_aws_bizare_response PASSED [ 6%] 3377s tests/test_aws.py::TestAWSConnection::test_main PASSED [ 6%] 3377s tests/test_aws.py::TestAWSConnection::test_non_aws PASSED [ 6%] 3377s tests/test_aws.py::TestAWSConnection::test_on_role_change PASSED [ 6%] 3377s tests/test_barman.py::test_set_up_logging PASSED [ 6%] 3377s tests/test_barman.py::TestPgBackupApi::test__build_full_url PASSED [ 6%] 3377s tests/test_barman.py::TestPgBackupApi::test__deserialize_response PASSED [ 7%] 3377s tests/test_barman.py::TestPgBackupApi::test__ensure_api_ok PASSED [ 7%] 3377s tests/test_barman.py::TestPgBackupApi::test__get_request PASSED [ 7%] 3377s tests/test_barman.py::TestPgBackupApi::test__post_request PASSED [ 7%] 3377s tests/test_barman.py::TestPgBackupApi::test__serialize_request PASSED [ 7%] 3377s tests/test_barman.py::TestPgBackupApi::test_create_config_switch_operation PASSED [ 7%] 3377s tests/test_barman.py::TestPgBackupApi::test_create_recovery_operation PASSED [ 7%] 3377s tests/test_barman.py::TestPgBackupApi::test_get_operation_status PASSED [ 8%] 3377s tests/test_barman.py::TestBarmanRecover::test__restore_backup PASSED [ 8%] 3377s tests/test_barman.py::TestBarmanRecoverCli::test_run_barman_recover PASSED [ 8%] 3377s tests/test_barman.py::TestBarmanConfigSwitch::test__switch_config PASSED [ 8%] 3377s tests/test_barman.py::TestBarmanConfigSwitchCli::test__should_skip_switch PASSED [ 8%] 3377s tests/test_barman.py::TestBarmanConfigSwitchCli::test_run_barman_config_switch PASSED [ 8%] 3377s tests/test_barman.py::TestMain::test_main PASSED [ 8%] 3377s tests/test_bootstrap.py::TestBootstrap::test__initdb PASSED [ 9%] 3377s tests/test_bootstrap.py::TestBootstrap::test__process_user_options PASSED [ 9%] 3378s tests/test_bootstrap.py::TestBootstrap::test_basebackup PASSED [ 9%] 3378s tests/test_bootstrap.py::TestBootstrap::test_bootstrap PASSED [ 9%] 3378s tests/test_bootstrap.py::TestBootstrap::test_call_post_bootstrap PASSED [ 9%] 3378s tests/test_bootstrap.py::TestBootstrap::test_clone PASSED [ 9%] 3378s tests/test_bootstrap.py::TestBootstrap::test_create_replica PASSED [ 10%] 3378s tests/test_bootstrap.py::TestBootstrap::test_create_replica_old_format PASSED [ 10%] 3378s tests/test_bootstrap.py::TestBootstrap::test_custom_bootstrap PASSED [ 10%] 3378s tests/test_bootstrap.py::TestBootstrap::test_post_bootstrap PASSED [ 10%] 3378s tests/test_callback_executor.py::TestCallbackExecutor::test_callback_executor PASSED [ 10%] 3378s tests/test_cancellable.py::TestCancellableSubprocess::test__kill_children PASSED [ 10%] 3378s tests/test_cancellable.py::TestCancellableSubprocess::test_call PASSED [ 10%] 3378s tests/test_cancellable.py::TestCancellableSubprocess::test_cancel PASSED [ 11%] 3378s tests/test_citus.py::TestCitus::test_add_task SKIPPED (Citus not tested) [ 11%] 3378s tests/test_citus.py::TestCitus::test_adjust_postgres_gucs SKIPPED (C...) [ 11%] 3378s tests/test_citus.py::TestCitus::test_bootstrap_duplicate_database SKIPPED [ 11%] 3378s tests/test_citus.py::TestCitus::test_handle_event SKIPPED (Citus not...) [ 11%] 3378s tests/test_citus.py::TestCitus::test_ignore_replication_slot SKIPPED [ 11%] 3378s tests/test_citus.py::TestCitus::test_load_pg_dist_node SKIPPED (Citu...) [ 12%] 3378s tests/test_citus.py::TestCitus::test_on_demote SKIPPED (Citus not te...) [ 12%] 3378s tests/test_citus.py::TestCitus::test_pick_task SKIPPED (Citus not te...) [ 12%] 3378s tests/test_citus.py::TestCitus::test_process_task SKIPPED (Citus not...) [ 12%] 3378s tests/test_citus.py::TestCitus::test_process_tasks SKIPPED (Citus no...) [ 12%] 3378s tests/test_citus.py::TestCitus::test_run SKIPPED (Citus not tested) [ 12%] 3378s tests/test_citus.py::TestCitus::test_sync_meta_data SKIPPED (Citus n...) [ 12%] 3378s tests/test_citus.py::TestCitus::test_wait SKIPPED (Citus not tested) [ 13%] 3378s tests/test_config.py::TestConfig::test__process_postgresql_parameters PASSED [ 13%] 3378s tests/test_config.py::TestConfig::test__validate_and_adjust_timeouts PASSED [ 13%] 3378s tests/test_config.py::TestConfig::test__validate_failover_tags PASSED [ 13%] 3378s tests/test_config.py::TestConfig::test_configuration_directory PASSED [ 13%] 3378s tests/test_config.py::TestConfig::test_global_config_is_synchronous_mode PASSED [ 13%] 3378s tests/test_config.py::TestConfig::test_invalid_path PASSED [ 14%] 3378s tests/test_config.py::TestConfig::test_reload_local_configuration PASSED [ 14%] 3378s tests/test_config.py::TestConfig::test_save_cache PASSED [ 14%] 3378s tests/test_config.py::TestConfig::test_set_dynamic_configuration PASSED [ 14%] 3378s tests/test_config.py::TestConfig::test_standby_cluster_parameters PASSED [ 14%] 3378s tests/test_config_generator.py::TestGenerateConfig::test_generate_config_running_instance_17 PASSED [ 14%] 3378s tests/test_config_generator.py::TestGenerateConfig::test_generate_config_running_instance_17_connect_from_env PASSED [ 14%] 3378s tests/test_config_generator.py::TestGenerateConfig::test_generate_config_running_instance_errors PASSED [ 15%] 3378s tests/test_config_generator.py::TestGenerateConfig::test_generate_sample_config_17 PASSED [ 15%] 3378s tests/test_config_generator.py::TestGenerateConfig::test_generate_sample_config_pre_13_dir_creation PASSED [ 15%] 3378s tests/test_config_generator.py::TestGenerateConfig::test_get_address PASSED [ 15%] 3378s tests/test_consul.py::TestHTTPClient::test_get PASSED [ 15%] 3378s tests/test_consul.py::TestHTTPClient::test_put PASSED [ 15%] 3378s tests/test_consul.py::TestHTTPClient::test_unknown_method PASSED [ 15%] 3378s tests/test_consul.py::TestConsul::test__get_citus_cluster PASSED [ 16%] 3378s tests/test_consul.py::TestConsul::test_cancel_initialization PASSED [ 16%] 3378s tests/test_consul.py::TestConsul::test_create_session PASSED [ 16%] 3378s tests/test_consul.py::TestConsul::test_delete_cluster PASSED [ 16%] 3378s tests/test_consul.py::TestConsul::test_delete_leader PASSED [ 16%] 3378s tests/test_consul.py::TestConsul::test_get_cluster PASSED [ 16%] 3378s tests/test_consul.py::TestConsul::test_initialize PASSED [ 17%] 3378s tests/test_consul.py::TestConsul::test_referesh_session PASSED [ 17%] 3378s tests/test_consul.py::TestConsul::test_reload_config PASSED [ 17%] 3378s tests/test_consul.py::TestConsul::test_set_config_value PASSED [ 17%] 3378s tests/test_consul.py::TestConsul::test_set_failover_value PASSED [ 17%] 3378s tests/test_consul.py::TestConsul::test_set_history_value PASSED [ 17%] 3378s tests/test_consul.py::TestConsul::test_set_retry_timeout PASSED [ 17%] 3378s tests/test_consul.py::TestConsul::test_sync_state PASSED [ 18%] 3378s tests/test_consul.py::TestConsul::test_take_leader PASSED [ 18%] 3378s tests/test_consul.py::TestConsul::test_touch_member PASSED [ 18%] 3378s tests/test_consul.py::TestConsul::test_update_leader PASSED [ 18%] 3378s tests/test_consul.py::TestConsul::test_update_service PASSED [ 18%] 3378s tests/test_consul.py::TestConsul::test_watch PASSED [ 18%] 3378s tests/test_consul.py::TestConsul::test_write_leader_optime PASSED [ 19%] 3378s tests/test_ctl.py::TestCtl::test_apply_config_changes PASSED [ 19%] 3378s tests/test_ctl.py::TestCtl::test_ctl PASSED [ 19%] 3378s tests/test_ctl.py::TestCtl::test_dsn PASSED [ 19%] 3378s tests/test_ctl.py::TestCtl::test_edit_config PASSED [ 19%] 3378s tests/test_ctl.py::TestCtl::test_failover PASSED [ 19%] 3378s tests/test_ctl.py::TestCtl::test_flush_restart PASSED [ 19%] 3378s tests/test_ctl.py::TestCtl::test_flush_switchover PASSED [ 20%] 3378s tests/test_ctl.py::TestCtl::test_format_pg_version PASSED [ 20%] 3378s tests/test_ctl.py::TestCtl::test_get_all_members PASSED [ 20%] 3378s tests/test_ctl.py::TestCtl::test_get_any_member PASSED [ 20%] 3378s tests/test_ctl.py::TestCtl::test_get_cursor PASSED [ 20%] 3378s tests/test_ctl.py::TestCtl::test_get_dcs PASSED [ 20%] 3378s tests/test_ctl.py::TestCtl::test_get_members PASSED [ 21%] 3378s tests/test_ctl.py::TestCtl::test_history PASSED [ 21%] 3378s tests/test_ctl.py::TestCtl::test_invoke_editor PASSED [ 21%] 3378s tests/test_ctl.py::TestCtl::test_list_extended PASSED [ 21%] 3378s tests/test_ctl.py::TestCtl::test_list_standby_cluster PASSED [ 21%] 3378s tests/test_ctl.py::TestCtl::test_load_config PASSED [ 21%] 3379s tests/test_ctl.py::TestCtl::test_members PASSED [ 21%] 3379s tests/test_ctl.py::TestCtl::test_output_members PASSED [ 22%] 3379s tests/test_ctl.py::TestCtl::test_parse_dcs PASSED [ 22%] 3379s tests/test_ctl.py::TestCtl::test_pause_cluster PASSED [ 22%] 3379s tests/test_ctl.py::TestCtl::test_query PASSED [ 22%] 3379s tests/test_ctl.py::TestCtl::test_query_member PASSED [ 22%] 3379s tests/test_ctl.py::TestCtl::test_reinit_wait PASSED [ 22%] 3379s tests/test_ctl.py::TestCtl::test_reload PASSED [ 22%] 3379s tests/test_ctl.py::TestCtl::test_remove PASSED [ 23%] 3379s tests/test_ctl.py::TestCtl::test_restart_reinit PASSED [ 23%] 3379s tests/test_ctl.py::TestCtl::test_resume_cluster PASSED [ 23%] 3379s tests/test_ctl.py::TestCtl::test_show_config PASSED [ 23%] 3379s tests/test_ctl.py::TestCtl::test_show_diff PASSED [ 23%] 3379s tests/test_ctl.py::TestCtl::test_switchover PASSED [ 23%] 3379s tests/test_ctl.py::TestCtl::test_topology PASSED [ 24%] 3379s tests/test_ctl.py::TestCtl::test_version PASSED [ 24%] 3379s tests/test_ctl.py::TestPatronictlPrettyTable::test__get_hline PASSED [ 24%] 3379s tests/test_ctl.py::TestPatronictlPrettyTable::test__stringify_hrule PASSED [ 24%] 3379s tests/test_ctl.py::TestPatronictlPrettyTable::test_output PASSED [ 24%] 3379s tests/test_etcd.py::TestDnsCachingResolver::test_run PASSED [ 24%] 3379s tests/test_etcd.py::TestClient::test___del__ PASSED [ 24%] 3379s tests/test_etcd.py::TestClient::test__get_machines_cache_from_dns PASSED [ 25%] 3379s tests/test_etcd.py::TestClient::test__get_machines_cache_from_srv PASSED [ 25%] 3379s tests/test_etcd.py::TestClient::test__load_machines_cache PASSED [ 25%] 3379s tests/test_etcd.py::TestClient::test__refresh_machines_cache PASSED [ 25%] 3380s tests/test_etcd.py::TestClient::test_api_execute PASSED [ 25%] 3380s tests/test_etcd.py::TestClient::test_create_connection_patched PASSED [ 25%] 3380s tests/test_etcd.py::TestClient::test_get_srv_record PASSED [ 26%] 3380s tests/test_etcd.py::TestClient::test_machines PASSED [ 26%] 3380s tests/test_etcd.py::TestEtcd::test__get_citus_cluster PASSED [ 26%] 3380s tests/test_etcd.py::TestEtcd::test_attempt_to_acquire_leader PASSED [ 26%] 3380s tests/test_etcd.py::TestEtcd::test_base_path PASSED [ 26%] 3380s tests/test_etcd.py::TestEtcd::test_cancel_initializion PASSED [ 26%] 3380s tests/test_etcd.py::TestEtcd::test_delete_cluster PASSED [ 26%] 3380s tests/test_etcd.py::TestEtcd::test_delete_leader PASSED [ 27%] 3380s tests/test_etcd.py::TestEtcd::test_get_cluster PASSED [ 27%] 3380s tests/test_etcd.py::TestEtcd::test_get_etcd_client PASSED [ 27%] 3380s tests/test_etcd.py::TestEtcd::test_initialize PASSED [ 27%] 3380s tests/test_etcd.py::TestEtcd::test_last_seen PASSED [ 27%] 3380s tests/test_etcd.py::TestEtcd::test_other_exceptions PASSED [ 27%] 3380s tests/test_etcd.py::TestEtcd::test_set_history_value PASSED [ 28%] 3380s tests/test_etcd.py::TestEtcd::test_set_ttl PASSED [ 28%] 3380s tests/test_etcd.py::TestEtcd::test_sync_state PASSED [ 28%] 3380s tests/test_etcd.py::TestEtcd::test_take_leader PASSED [ 28%] 3380s tests/test_etcd.py::TestEtcd::test_touch_member PASSED [ 28%] 3380s tests/test_etcd.py::TestEtcd::test_update_leader PASSED [ 28%] 3380s tests/test_etcd.py::TestEtcd::test_watch PASSED [ 28%] 3380s tests/test_etcd.py::TestEtcd::test_write_leader_optime PASSED [ 29%] 3380s tests/test_etcd3.py::TestEtcd3Client::test_authenticate PASSED [ 29%] 3380s tests/test_etcd3.py::TestKVCache::test__build_cache PASSED [ 29%] 3380s tests/test_etcd3.py::TestKVCache::test__do_watch PASSED [ 29%] 3380s tests/test_etcd3.py::TestKVCache::test_kill_stream PASSED [ 29%] 3380s tests/test_etcd3.py::TestKVCache::test_run PASSED [ 29%] 3380s tests/test_etcd3.py::TestPatroniEtcd3Client::test__ensure_version_prefix PASSED [ 29%] 3380s tests/test_etcd3.py::TestPatroniEtcd3Client::test__handle_auth_errors PASSED [ 30%] 3380s tests/test_etcd3.py::TestPatroniEtcd3Client::test__handle_server_response PASSED [ 30%] 3380s tests/test_etcd3.py::TestPatroniEtcd3Client::test__init__ PASSED [ 30%] 3380s tests/test_etcd3.py::TestPatroniEtcd3Client::test__restart_watcher PASSED [ 30%] 3380s tests/test_etcd3.py::TestPatroniEtcd3Client::test__wait_cache PASSED [ 30%] 3380s tests/test_etcd3.py::TestPatroniEtcd3Client::test_call_rpc PASSED [ 30%] 3380s tests/test_etcd3.py::TestPatroniEtcd3Client::test_txn PASSED [ 31%] 3380s tests/test_etcd3.py::TestEtcd3::test__get_citus_cluster PASSED [ 31%] 3380s tests/test_etcd3.py::TestEtcd3::test__update_leader PASSED [ 31%] 3380s tests/test_etcd3.py::TestEtcd3::test_attempt_to_acquire_leader PASSED [ 31%] 3380s tests/test_etcd3.py::TestEtcd3::test_cancel_initialization PASSED [ 31%] 3380s tests/test_etcd3.py::TestEtcd3::test_create_lease PASSED [ 31%] 3380s tests/test_etcd3.py::TestEtcd3::test_delete_cluster PASSED [ 31%] 3380s tests/test_etcd3.py::TestEtcd3::test_delete_leader PASSED [ 32%] 3380s tests/test_etcd3.py::TestEtcd3::test_delete_sync_state PASSED [ 32%] 3380s tests/test_etcd3.py::TestEtcd3::test_get_cluster PASSED [ 32%] 3380s tests/test_etcd3.py::TestEtcd3::test_initialize PASSED [ 32%] 3380s tests/test_etcd3.py::TestEtcd3::test_refresh_lease PASSED [ 32%] 3380s tests/test_etcd3.py::TestEtcd3::test_set_config_value PASSED [ 32%] 3380s tests/test_etcd3.py::TestEtcd3::test_set_failover_value PASSED [ 33%] 3380s tests/test_etcd3.py::TestEtcd3::test_set_history_value PASSED [ 33%] 3380s tests/test_etcd3.py::TestEtcd3::test_set_socket_options PASSED [ 33%] 3380s tests/test_etcd3.py::TestEtcd3::test_set_sync_state_value PASSED [ 33%] 3381s tests/test_etcd3.py::TestEtcd3::test_set_ttl PASSED [ 33%] 3381s tests/test_etcd3.py::TestEtcd3::test_take_leader PASSED [ 33%] 3381s tests/test_etcd3.py::TestEtcd3::test_touch_member PASSED [ 33%] 3381s tests/test_etcd3.py::TestEtcd3::test_watch PASSED [ 34%] 3381s tests/test_exhibitor.py::TestExhibitorEnsembleProvider::test_init PASSED [ 34%] 3381s tests/test_exhibitor.py::TestExhibitorEnsembleProvider::test_poll PASSED [ 34%] 3381s tests/test_exhibitor.py::TestExhibitor::test_get_cluster PASSED [ 34%] 3381s tests/test_file_perm.py::TestFilePermissions::test_set_permissions_from_data_directory PASSED [ 34%] 3381s tests/test_file_perm.py::TestFilePermissions::test_set_umask PASSED [ 34%] 3381s tests/test_ha.py::TestHa::test__is_healthiest_node PASSED [ 35%] 3381s tests/test_ha.py::TestHa::test_abort_join PASSED [ 35%] 3381s tests/test_ha.py::TestHa::test_acquire_lock PASSED [ 35%] 3381s tests/test_ha.py::TestHa::test_acquire_lock_as_primary PASSED [ 35%] 3381s tests/test_ha.py::TestHa::test_after_pause PASSED [ 35%] 3381s tests/test_ha.py::TestHa::test_bootstrap_as_standby_leader PASSED [ 35%] 3381s tests/test_ha.py::TestHa::test_bootstrap_from_another_member PASSED [ 35%] 3381s tests/test_ha.py::TestHa::test_bootstrap_initialize_lock_failed PASSED [ 36%] 3381s tests/test_ha.py::TestHa::test_bootstrap_initialized_new_cluster PASSED [ 36%] 3381s tests/test_ha.py::TestHa::test_bootstrap_not_running_concurrently PASSED [ 36%] 3381s tests/test_ha.py::TestHa::test_bootstrap_release_initialize_key_on_failure PASSED [ 36%] 3381s tests/test_ha.py::TestHa::test_bootstrap_release_initialize_key_on_watchdog_failure PASSED [ 36%] 3381s tests/test_ha.py::TestHa::test_bootstrap_waiting_for_leader PASSED [ 36%] 3381s tests/test_ha.py::TestHa::test_bootstrap_waiting_for_standby_leader PASSED [ 36%] 3381s tests/test_ha.py::TestHa::test_bootstrap_without_leader PASSED [ 37%] 3381s tests/test_ha.py::TestHa::test_call_failsafe_member PASSED [ 37%] 3381s tests/test_ha.py::TestHa::test_check_failsafe_topology PASSED [ 37%] 3381s tests/test_ha.py::TestHa::test_coordinator_leader_with_lock PASSED [ 37%] 3381s tests/test_ha.py::TestHa::test_crash_recovery PASSED [ 37%] 3381s tests/test_ha.py::TestHa::test_crash_recovery_before_rewind PASSED [ 37%] 3381s tests/test_ha.py::TestHa::test_delete_future_restarts PASSED [ 38%] 3381s tests/test_ha.py::TestHa::test_demote_after_failing_to_obtain_lock PASSED [ 38%] 3381s tests/test_ha.py::TestHa::test_demote_because_not_having_lock PASSED [ 38%] 3381s tests/test_ha.py::TestHa::test_demote_because_not_healthiest PASSED [ 38%] 3381s tests/test_ha.py::TestHa::test_demote_because_update_lock_failed PASSED [ 38%] 3381s tests/test_ha.py::TestHa::test_demote_immediate PASSED [ 38%] 3381s tests/test_ha.py::TestHa::test_disable_sync_when_restarting PASSED [ 38%] 3381s tests/test_ha.py::TestHa::test_effective_tags PASSED [ 39%] 3381s tests/test_ha.py::TestHa::test_empty_directory_in_pause PASSED [ 39%] 3381s tests/test_ha.py::TestHa::test_enable_synchronous_mode PASSED [ 39%] 3381s tests/test_ha.py::TestHa::test_evaluate_scheduled_restart PASSED [ 39%] 3381s tests/test_ha.py::TestHa::test_failed_to_update_lock_in_pause PASSED [ 39%] 3381s tests/test_ha.py::TestHa::test_failover_immediately_on_zero_primary_start_timeout PASSED [ 39%] 3381s tests/test_ha.py::TestHa::test_fetch_node_status PASSED [ 40%] 3381s tests/test_ha.py::TestHa::test_follow PASSED [ 40%] 3381s tests/test_ha.py::TestHa::test_follow_copy PASSED [ 40%] 3382s tests/test_ha.py::TestHa::test_follow_in_pause PASSED [ 40%] 3382s tests/test_ha.py::TestHa::test_follow_new_leader_after_failing_to_obtain_lock PASSED [ 40%] 3382s tests/test_ha.py::TestHa::test_follow_new_leader_because_not_healthiest PASSED [ 40%] 3382s tests/test_ha.py::TestHa::test_follow_triggers_rewind PASSED [ 40%] 3382s tests/test_ha.py::TestHa::test_get_node_to_follow_nostream PASSED [ 41%] 3382s tests/test_ha.py::TestHa::test_inconsistent_synchronous_state PASSED [ 41%] 3382s tests/test_ha.py::TestHa::test_is_healthiest_node PASSED [ 41%] 3382s tests/test_ha.py::TestHa::test_is_leader PASSED [ 41%] 3382s tests/test_ha.py::TestHa::test_leader_race_stale_primary PASSED [ 41%] 3382s tests/test_ha.py::TestHa::test_leader_with_lock PASSED [ 41%] 3382s tests/test_ha.py::TestHa::test_leader_with_not_accessible_data_directory PASSED [ 42%] 3382s tests/test_ha.py::TestHa::test_long_promote PASSED [ 42%] 3382s tests/test_ha.py::TestHa::test_lost_leader_lock_during_promote PASSED [ 42%] 3382s tests/test_ha.py::TestHa::test_manual_failover_from_leader PASSED [ 42%] 3382s tests/test_ha.py::TestHa::test_manual_failover_from_leader_in_pause PASSED [ 42%] 3382s tests/test_ha.py::TestHa::test_manual_failover_from_leader_in_synchronous_mode PASSED [ 42%] 3382s tests/test_ha.py::TestHa::test_manual_failover_process_no_leader PASSED [ 42%] 3382s tests/test_ha.py::TestHa::test_manual_failover_process_no_leader_in_pause PASSED [ 43%] 3382s tests/test_ha.py::TestHa::test_manual_failover_process_no_leader_in_synchronous_mode PASSED [ 43%] 3382s tests/test_ha.py::TestHa::test_manual_failover_while_starting PASSED [ 43%] 3382s tests/test_ha.py::TestHa::test_manual_switchover_from_leader PASSED [ 43%] 3382s tests/test_ha.py::TestHa::test_manual_switchover_from_leader_in_pause PASSED [ 43%] 3382s tests/test_ha.py::TestHa::test_manual_switchover_from_leader_in_synchronous_mode PASSED [ 43%] 3382s tests/test_ha.py::TestHa::test_manual_switchover_process_no_leader PASSED [ 43%] 3382s tests/test_ha.py::TestHa::test_manual_switchover_process_no_leader_in_pause PASSED [ 44%] 3382s tests/test_ha.py::TestHa::test_manual_switchover_process_no_leader_in_synchronous_mode PASSED [ 44%] 3382s tests/test_ha.py::TestHa::test_no_dcs_connection_primary_demote PASSED [ 44%] 3382s tests/test_ha.py::TestHa::test_no_dcs_connection_primary_failsafe PASSED [ 44%] 3382s tests/test_ha.py::TestHa::test_no_dcs_connection_replica_failsafe PASSED [ 44%] 3382s tests/test_ha.py::TestHa::test_no_dcs_connection_replica_failsafe_not_enabled_but_active PASSED [ 44%] 3382s tests/test_ha.py::TestHa::test_no_etcd_connection_in_pause PASSED [ 45%] 3382s tests/test_ha.py::TestHa::test_notify_citus_coordinator PASSED [ 45%] 3382s tests/test_ha.py::TestHa::test_permanent_logical_slots_after_promote PASSED [ 45%] 3382s tests/test_ha.py::TestHa::test_post_recover PASSED [ 45%] 3382s tests/test_ha.py::TestHa::test_postgres_unhealthy_in_pause PASSED [ 45%] 3382s tests/test_ha.py::TestHa::test_primary_stop_timeout PASSED [ 45%] 3382s tests/test_ha.py::TestHa::test_process_healthy_cluster_in_pause PASSED [ 45%] 3382s tests/test_ha.py::TestHa::test_process_healthy_standby_cluster_as_cascade_replica PASSED [ 46%] 3382s tests/test_ha.py::TestHa::test_process_healthy_standby_cluster_as_standby_leader PASSED [ 46%] 3382s tests/test_ha.py::TestHa::test_process_sync_replication PASSED [ 46%] 3383s tests/test_ha.py::TestHa::test_process_unhealthy_standby_cluster_as_cascade_replica PASSED [ 46%] 3383s tests/test_ha.py::TestHa::test_process_unhealthy_standby_cluster_as_standby_leader PASSED [ 46%] 3383s tests/test_ha.py::TestHa::test_promote_because_have_lock PASSED [ 46%] 3383s tests/test_ha.py::TestHa::test_promote_without_watchdog PASSED [ 47%] 3383s tests/test_ha.py::TestHa::test_promoted_by_acquiring_lock PASSED [ 47%] 3383s tests/test_ha.py::TestHa::test_promotion_cancelled_after_pre_promote_failed PASSED [ 47%] 3383s tests/test_ha.py::TestHa::test_readonly_dcs_primary_failsafe PASSED [ 47%] 3383s tests/test_ha.py::TestHa::test_recover_former_primary PASSED [ 47%] 3383s tests/test_ha.py::TestHa::test_recover_raft PASSED [ 47%] 3383s tests/test_ha.py::TestHa::test_recover_replica_failed PASSED [ 47%] 3383s tests/test_ha.py::TestHa::test_recover_unhealthy_leader_in_standby_cluster PASSED [ 48%] 3383s tests/test_ha.py::TestHa::test_recover_unhealthy_unlocked_standby_cluster PASSED [ 48%] 3383s tests/test_ha.py::TestHa::test_recover_with_reinitialize PASSED [ 48%] 3383s tests/test_ha.py::TestHa::test_recover_with_rewind PASSED [ 48%] 3383s tests/test_ha.py::TestHa::test_reinitialize PASSED [ 48%] 3383s tests/test_ha.py::TestHa::test_restart PASSED [ 48%] 3383s tests/test_ha.py::TestHa::test_restart_in_progress PASSED [ 49%] 3383s tests/test_ha.py::TestHa::test_restart_matches PASSED [ 49%] 3383s tests/test_ha.py::TestHa::test_restore_cluster_config PASSED [ 49%] 3383s tests/test_ha.py::TestHa::test_run_cycle PASSED [ 49%] 3383s tests/test_ha.py::TestHa::test_schedule_future_restart PASSED [ 49%] 3383s tests/test_ha.py::TestHa::test_scheduled_restart PASSED [ 49%] 3383s tests/test_ha.py::TestHa::test_scheduled_switchover_from_leader PASSED [ 49%] 3383s tests/test_ha.py::TestHa::test_shutdown PASSED [ 50%] 3383s tests/test_ha.py::TestHa::test_shutdown_citus_worker PASSED [ 50%] 3383s tests/test_ha.py::TestHa::test_start_as_cascade_replica_in_standby_cluster PASSED [ 50%] 3383s tests/test_ha.py::TestHa::test_start_as_readonly PASSED [ 50%] 3383s tests/test_ha.py::TestHa::test_start_as_replica PASSED [ 50%] 3383s tests/test_ha.py::TestHa::test_start_primary_after_failure PASSED [ 50%] 3383s tests/test_ha.py::TestHa::test_starting_timeout PASSED [ 50%] 3383s tests/test_ha.py::TestHa::test_sync_replication_become_primary PASSED [ 51%] 3383s tests/test_ha.py::TestHa::test_sysid_no_match PASSED [ 51%] 3383s tests/test_ha.py::TestHa::test_sysid_no_match_in_pause PASSED [ 51%] 3383s tests/test_ha.py::TestHa::test_touch_member PASSED [ 51%] 3383s tests/test_ha.py::TestHa::test_unhealthy_sync_mode PASSED [ 51%] 3383s tests/test_ha.py::TestHa::test_update_cluster_history PASSED [ 51%] 3383s tests/test_ha.py::TestHa::test_update_failsafe PASSED [ 52%] 3383s tests/test_ha.py::TestHa::test_update_lock PASSED [ 52%] 3383s tests/test_ha.py::TestHa::test_wakup PASSED [ 52%] 3383s tests/test_ha.py::TestHa::test_watch PASSED [ 52%] 3383s tests/test_ha.py::TestHa::test_worker_restart PASSED [ 52%] 3383s tests/test_kubernetes.py::TestK8sConfig::test_load_incluster_config PASSED [ 52%] 3383s tests/test_kubernetes.py::TestK8sConfig::test_load_kube_config PASSED [ 52%] 3384s tests/test_kubernetes.py::TestK8sConfig::test_refresh_token PASSED [ 53%] 3384s tests/test_kubernetes.py::TestApiClient::test__do_http_request PASSED [ 53%] 3384s tests/test_kubernetes.py::TestApiClient::test__refresh_api_servers_cache PASSED [ 53%] 3384s tests/test_kubernetes.py::TestApiClient::test_request PASSED [ 53%] 3384s tests/test_kubernetes.py::TestCoreV1Api::test_create_namespaced_service PASSED [ 53%] 3384s tests/test_kubernetes.py::TestCoreV1Api::test_delete_namespaced_pod PASSED [ 53%] 3384s tests/test_kubernetes.py::TestCoreV1Api::test_list_namespaced_endpoints PASSED [ 54%] 3384s tests/test_kubernetes.py::TestCoreV1Api::test_list_namespaced_pod PASSED [ 54%] 3384s tests/test_kubernetes.py::TestCoreV1Api::test_patch_namespaced_config_map PASSED [ 54%] 3384s tests/test_kubernetes.py::TestKubernetesConfigMaps::test__get_citus_cluster PASSED [ 54%] 3384s tests/test_kubernetes.py::TestKubernetesConfigMaps::test__wait_caches PASSED [ 54%] 3384s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_attempt_to_acquire_leader PASSED [ 54%] 3384s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_cancel_initialization PASSED [ 54%] 3384s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_delete_cluster PASSED [ 55%] 3384s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_delete_leader PASSED [ 55%] 3384s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_get_citus_coordinator PASSED [ 55%] 3384s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_get_cluster PASSED [ 55%] 3384s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_get_mpp_coordinator PASSED [ 55%] 3384s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_initialize PASSED [ 55%] 3384s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_manual_failover PASSED [ 56%] 3384s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_reload_config PASSED [ 56%] 3384s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_set_config_value PASSED [ 56%] 3384s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_set_history_value PASSED [ 56%] 3384s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_take_leader PASSED [ 56%] 3384s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_touch_member PASSED [ 56%] 3384s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_watch PASSED [ 56%] 3384s tests/test_kubernetes.py::TestKubernetesEndpointsNoPodIP::test_update_leader PASSED [ 57%] 3384s tests/test_kubernetes.py::TestKubernetesEndpoints::test__create_config_service PASSED [ 57%] 3384s tests/test_kubernetes.py::TestKubernetesEndpoints::test__update_leader_with_retry PASSED [ 57%] 3385s tests/test_kubernetes.py::TestKubernetesEndpoints::test_delete_sync_state PASSED [ 57%] 3385s tests/test_kubernetes.py::TestKubernetesEndpoints::test_update_leader PASSED [ 57%] 3385s tests/test_kubernetes.py::TestKubernetesEndpoints::test_write_leader_optime PASSED [ 57%] 3385s tests/test_kubernetes.py::TestKubernetesEndpoints::test_write_sync_state PASSED [ 57%] 3385s tests/test_kubernetes.py::TestCacheBuilder::test__build_cache PASSED [ 58%] 3385s tests/test_kubernetes.py::TestCacheBuilder::test__do_watch PASSED [ 58%] 3385s tests/test_kubernetes.py::TestCacheBuilder::test__list PASSED [ 58%] 3385s tests/test_kubernetes.py::TestCacheBuilder::test_kill_stream PASSED [ 58%] 3385s tests/test_kubernetes.py::TestCacheBuilder::test_run PASSED [ 58%] 3385s tests/test_log.py::TestPatroniLogger::test_dateformat PASSED [ 58%] 3385s tests/test_log.py::TestPatroniLogger::test_fail_to_use_python_json_logger PASSED [ 59%] 3385s tests/test_log.py::TestPatroniLogger::test_interceptor PASSED [ 59%] 3385s tests/test_log.py::TestPatroniLogger::test_invalid_dateformat PASSED [ 59%] 3385s tests/test_log.py::TestPatroniLogger::test_invalid_json_format PASSED [ 59%] 3385s tests/test_log.py::TestPatroniLogger::test_invalid_plain_format PASSED [ 59%] 3385s tests/test_log.py::TestPatroniLogger::test_json_list_format PASSED [ 59%] 3385s tests/test_log.py::TestPatroniLogger::test_json_str_format PASSED [ 59%] 3385s tests/test_log.py::TestPatroniLogger::test_patroni_logger PASSED [ 60%] 3385s tests/test_log.py::TestPatroniLogger::test_plain_format PASSED [ 60%] 3385s tests/test_mpp.py::TestMPP::test_get_handler_impl_exception PASSED [ 60%] 3385s tests/test_mpp.py::TestMPP::test_null_handler PASSED [ 60%] 3385s tests/test_patroni.py::TestPatroni::test__filter_tags PASSED [ 60%] 3385s tests/test_patroni.py::TestPatroni::test_apply_dynamic_configuration PASSED [ 60%] 3385s tests/test_patroni.py::TestPatroni::test_check_psycopg PASSED [ 61%] 3386s tests/test_patroni.py::TestPatroni::test_ensure_dcs_access PASSED [ 61%] 3386s tests/test_patroni.py::TestPatroni::test_ensure_unique_name PASSED [ 61%] 3386s tests/test_patroni.py::TestPatroni::test_failover_priority PASSED [ 61%] 3386s tests/test_patroni.py::TestPatroni::test_no_config PASSED [ 61%] 3386s tests/test_patroni.py::TestPatroni::test_nofailover PASSED [ 61%] 3386s tests/test_patroni.py::TestPatroni::test_noloadbalance PASSED [ 61%] 3386s tests/test_patroni.py::TestPatroni::test_nostream PASSED [ 62%] 3386s tests/test_patroni.py::TestPatroni::test_nosync PASSED [ 62%] 3386s tests/test_patroni.py::TestPatroni::test_patroni_main PASSED [ 62%] 3386s tests/test_patroni.py::TestPatroni::test_patroni_patroni_main PASSED [ 62%] 3386s tests/test_patroni.py::TestPatroni::test_reload_config PASSED [ 62%] 3386s tests/test_patroni.py::TestPatroni::test_replicatefrom PASSED [ 62%] 3386s tests/test_patroni.py::TestPatroni::test_run PASSED [ 63%] 3386s tests/test_patroni.py::TestPatroni::test_schedule_next_run PASSED [ 63%] 3386s tests/test_patroni.py::TestPatroni::test_shutdown PASSED [ 63%] 3386s tests/test_patroni.py::TestPatroni::test_sigterm_handler PASSED [ 63%] 3387s tests/test_patroni.py::TestPatroni::test_validate_config PASSED [ 63%] 3387s tests/test_postgresql.py::TestPostgresql::test__do_stop PASSED [ 63%] 3387s tests/test_postgresql.py::TestPostgresql::test__get_postgres_guc_validators PASSED [ 63%] 3387s tests/test_postgresql.py::TestPostgresql::test__load_postgres_gucs_validators PASSED [ 64%] 3387s tests/test_postgresql.py::TestPostgresql::test__pgpass_content PASSED [ 64%] 3387s tests/test_postgresql.py::TestPostgresql::test__query PASSED [ 64%] 3387s tests/test_postgresql.py::TestPostgresql::test__read_postgres_gucs_validators_file PASSED [ 64%] 3387s tests/test_postgresql.py::TestPostgresql::test__read_recovery_params PASSED [ 64%] 3387s tests/test_postgresql.py::TestPostgresql::test__read_recovery_params_pre_v12 PASSED [ 64%] 3387s tests/test_postgresql.py::TestPostgresql::test__wait_for_connection_close PASSED [ 64%] 3387s tests/test_postgresql.py::TestPostgresql::test__write_recovery_params PASSED [ 65%] 3387s tests/test_postgresql.py::TestPostgresql::test_call_nowait PASSED [ 65%] 3387s tests/test_postgresql.py::TestPostgresql::test_can_create_replica_without_replication_connection PASSED [ 65%] 3387s tests/test_postgresql.py::TestPostgresql::test_check_for_startup PASSED [ 65%] 3387s tests/test_postgresql.py::TestPostgresql::test_check_recovery_conf PASSED [ 65%] 3387s tests/test_postgresql.py::TestPostgresql::test_checkpoint PASSED [ 65%] 3387s tests/test_postgresql.py::TestPostgresql::test_controldata PASSED [ 66%] 3387s tests/test_postgresql.py::TestPostgresql::test_effective_configuration PASSED [ 66%] 3387s tests/test_postgresql.py::TestPostgresql::test_follow PASSED [ 66%] 3387s tests/test_postgresql.py::TestPostgresql::test_get_major_version PASSED [ 66%] 3387s tests/test_postgresql.py::TestPostgresql::test_get_postgres_role_from_data_directory PASSED [ 66%] 3387s tests/test_postgresql.py::TestPostgresql::test_get_primary_timeline PASSED [ 66%] 3387s tests/test_postgresql.py::TestPostgresql::test_get_server_parameters PASSED [ 66%] 3387s tests/test_postgresql.py::TestPostgresql::test_handle_parameter_change PASSED [ 67%] 3387s tests/test_postgresql.py::TestPostgresql::test_is_healthy PASSED [ 67%] 3387s tests/test_postgresql.py::TestPostgresql::test_is_primary PASSED [ 67%] 3387s tests/test_postgresql.py::TestPostgresql::test_is_primary_exception PASSED [ 67%] 3387s tests/test_postgresql.py::TestPostgresql::test_is_running PASSED [ 67%] 3387s tests/test_postgresql.py::TestPostgresql::test_latest_checkpoint_location PASSED [ 67%] 3387s tests/test_postgresql.py::TestPostgresql::test_move_data_directory PASSED [ 68%] 3387s tests/test_postgresql.py::TestPostgresql::test_pg_version PASSED [ 68%] 3387s tests/test_postgresql.py::TestPostgresql::test_pgpass_is_dir PASSED [ 68%] 3387s tests/test_postgresql.py::TestPostgresql::test_postmaster_start_time PASSED [ 68%] 3387s tests/test_postgresql.py::TestPostgresql::test_promote PASSED [ 68%] 3387s tests/test_postgresql.py::TestPostgresql::test_query PASSED [ 68%] 3387s tests/test_postgresql.py::TestPostgresql::test_received_timeline PASSED [ 68%] 3387s tests/test_postgresql.py::TestPostgresql::test_reload PASSED [ 69%] 3387s tests/test_postgresql.py::TestPostgresql::test_reload_config PASSED [ 69%] 3387s tests/test_postgresql.py::TestPostgresql::test_remove_data_directory PASSED [ 69%] 3387s tests/test_postgresql.py::TestPostgresql::test_replica_cached_timeline PASSED [ 69%] 3387s tests/test_postgresql.py::TestPostgresql::test_replica_method_can_work_without_replication_connection PASSED [ 69%] 3387s tests/test_postgresql.py::TestPostgresql::test_resolve_connection_addresses PASSED [ 69%] 3387s tests/test_postgresql.py::TestPostgresql::test_restart PASSED [ 70%] 3387s tests/test_postgresql.py::TestPostgresql::test_restore_configuration_files PASSED [ 70%] 3387s tests/test_postgresql.py::TestPostgresql::test_save_configuration_files PASSED [ 70%] 3387s tests/test_postgresql.py::TestPostgresql::test_set_enforce_hot_standby_feedback PASSED [ 70%] 3387s tests/test_postgresql.py::TestPostgresql::test_start PASSED [ 70%] 3387s tests/test_postgresql.py::TestPostgresql::test_stop PASSED [ 70%] 3387s tests/test_postgresql.py::TestPostgresql::test_sysid PASSED [ 70%] 3387s tests/test_postgresql.py::TestPostgresql::test_terminate_starting_postmaster PASSED [ 71%] 3387s tests/test_postgresql.py::TestPostgresql::test_timeline_wal_position PASSED [ 71%] 3387s tests/test_postgresql.py::TestPostgresql::test_transform_postgresql_parameter_value PASSED [ 71%] 3387s tests/test_postgresql.py::TestPostgresql::test_validator_factory PASSED [ 71%] 3387s tests/test_postgresql.py::TestPostgresql::test_wait_for_port_open PASSED [ 71%] 3387s tests/test_postgresql.py::TestPostgresql::test_wait_for_startup PASSED [ 71%] 3387s tests/test_postgresql.py::TestPostgresql::test_write_pgpass PASSED [ 71%] 3387s tests/test_postgresql.py::TestPostgresql::test_write_postgresql_and_sanitize_auto_conf PASSED [ 72%] 3387s tests/test_postgresql.py::TestPostgresql2::test_available_gucs PASSED [ 72%] 3387s tests/test_postgresql.py::TestPostgresql2::test_cluster_info_query PASSED [ 72%] 3387s tests/test_postgresql.py::TestPostgresql2::test_load_current_server_parameters PASSED [ 72%] 3387s tests/test_postmaster.py::TestPostmasterProcess::test_from_pid PASSED [ 72%] 3387s tests/test_postmaster.py::TestPostmasterProcess::test_from_pidfile PASSED [ 72%] 3387s tests/test_postmaster.py::TestPostmasterProcess::test_init PASSED [ 73%] 3387s tests/test_postmaster.py::TestPostmasterProcess::test_read_postmaster_pidfile PASSED [ 73%] 3387s tests/test_postmaster.py::TestPostmasterProcess::test_signal_kill PASSED [ 73%] 3387s tests/test_postmaster.py::TestPostmasterProcess::test_signal_stop PASSED [ 73%] 3387s tests/test_postmaster.py::TestPostmasterProcess::test_signal_stop_nt PASSED [ 73%] 3387s tests/test_postmaster.py::TestPostmasterProcess::test_start PASSED [ 73%] 3388s tests/test_postmaster.py::TestPostmasterProcess::test_wait_for_user_backends_to_close PASSED [ 73%] 3388s tests/test_raft.py::TestTCPTransport::test__connectIfNecessarySingle PASSED [ 74%] 3388s tests/test_raft.py::TestDynMemberSyncObj::test__SyncObj__doChangeCluster PASSED [ 74%] 3388s tests/test_raft.py::TestDynMemberSyncObj::test_add_member PASSED [ 74%] 3388s tests/test_raft.py::TestDynMemberSyncObj::test_getMembers PASSED [ 74%] 3389s tests/test_raft.py::TestKVStoreTTL::test_delete PASSED [ 74%] 3391s tests/test_raft.py::TestKVStoreTTL::test_expire PASSED [ 74%] 3392s tests/test_raft.py::TestKVStoreTTL::test_on_ready_override PASSED [ 75%] 3392s tests/test_raft.py::TestKVStoreTTL::test_retry PASSED [ 75%] 3393s tests/test_raft.py::TestKVStoreTTL::test_set PASSED [ 75%] 3393s tests/test_raft.py::TestRaft::test_init PASSED [ 75%] 3395s tests/test_raft.py::TestRaft::test_raft PASSED [ 75%] 3395s tests/test_raft_controller.py::TestPatroniRaftController::test_patroni_raft_controller_main PASSED [ 75%] 3395s tests/test_raft_controller.py::TestPatroniRaftController::test_reload_config PASSED [ 75%] 3395s tests/test_raft_controller.py::TestPatroniRaftController::test_run PASSED [ 76%] 3395s tests/test_rewind.py::TestRewind::test__check_timeline_and_lsn PASSED [ 76%] 3395s tests/test_rewind.py::TestRewind::test__get_local_timeline_lsn PASSED [ 76%] 3395s tests/test_rewind.py::TestRewind::test__log_primary_history PASSED [ 76%] 3395s tests/test_rewind.py::TestRewind::test_archive_ready_wals PASSED [ 76%] 3395s tests/test_rewind.py::TestRewind::test_can_rewind PASSED [ 76%] 3395s tests/test_rewind.py::TestRewind::test_check_leader_is_not_in_recovery PASSED [ 77%] 3395s tests/test_rewind.py::TestRewind::test_cleanup_archive_status PASSED [ 77%] 3395s tests/test_rewind.py::TestRewind::test_ensure_checkpoint_after_promote PASSED [ 77%] 3395s tests/test_rewind.py::TestRewind::test_ensure_clean_shutdown PASSED [ 77%] 3395s tests/test_rewind.py::TestRewind::test_execute PASSED [ 77%] 3395s tests/test_rewind.py::TestRewind::test_maybe_clean_pg_replslot PASSED [ 77%] 3395s tests/test_rewind.py::TestRewind::test_pg_rewind PASSED [ 77%] 3395s tests/test_rewind.py::TestRewind::test_read_postmaster_opts PASSED [ 78%] 3395s tests/test_rewind.py::TestRewind::test_single_user_mode PASSED [ 78%] 3395s tests/test_slots.py::TestSlotsHandler::test__ensure_logical_slots_replica PASSED [ 78%] 3395s tests/test_slots.py::TestSlotsHandler::test_advance_physical_primary PASSED [ 78%] 3395s tests/test_slots.py::TestSlotsHandler::test_advance_physical_slots PASSED [ 78%] 3395s tests/test_slots.py::TestSlotsHandler::test_cascading_replica_sync_replication_slots PASSED [ 78%] 3395s tests/test_slots.py::TestSlotsHandler::test_check_logical_slots_readiness PASSED [ 78%] 3395s tests/test_slots.py::TestSlotsHandler::test_copy_logical_slots PASSED [ 79%] 3395s tests/test_slots.py::TestSlotsHandler::test_fsync_dir PASSED [ 79%] 3395s tests/test_slots.py::TestSlotsHandler::test_get_slot_name_on_primary PASSED [ 79%] 3395s tests/test_slots.py::TestSlotsHandler::test_nostream_slot_processing PASSED [ 79%] 3395s tests/test_slots.py::TestSlotsHandler::test_on_promote PASSED [ 79%] 3395s tests/test_slots.py::TestSlotsHandler::test_process_permanent_slots PASSED [ 79%] 3395s tests/test_slots.py::TestSlotsHandler::test_should_enforce_hot_standby_feedback PASSED [ 80%] 3395s tests/test_slots.py::TestSlotsHandler::test_slots_advance_thread PASSED [ 80%] 3395s tests/test_slots.py::TestSlotsHandler::test_sync_replication_slots PASSED [ 80%] 3395s tests/test_sync.py::TestSync::test_do_not_prick_yourself PASSED [ 80%] 3395s tests/test_sync.py::TestSync::test_pick_sync_standby PASSED [ 80%] 3396s tests/test_sync.py::TestSync::test_set_sync_standby PASSED [ 80%] 3396s tests/test_utils.py::TestUtils::test_apply_keepalive_limit PASSED [ 80%] 3396s tests/test_utils.py::TestUtils::test_enable_keepalive PASSED [ 81%] 3396s tests/test_utils.py::TestUtils::test_get_major_version PASSED [ 81%] 3396s tests/test_utils.py::TestUtils::test_get_postgres_version PASSED [ 81%] 3396s tests/test_utils.py::TestUtils::test_polling_loop PASSED [ 81%] 3396s tests/test_utils.py::TestUtils::test_unquote PASSED [ 81%] 3396s tests/test_utils.py::TestUtils::test_validate_directory_couldnt_create PASSED [ 81%] 3396s tests/test_utils.py::TestUtils::test_validate_directory_is_not_a_directory PASSED [ 82%] 3396s tests/test_utils.py::TestUtils::test_validate_directory_not_writable PASSED [ 82%] 3396s tests/test_utils.py::TestUtils::test_validate_directory_writable PASSED [ 82%] 3396s tests/test_utils.py::TestRetrySleeper::test_copy PASSED [ 82%] 3396s tests/test_utils.py::TestRetrySleeper::test_deadline PASSED [ 82%] 3396s tests/test_utils.py::TestRetrySleeper::test_maximum_delay PASSED [ 82%] 3396s tests/test_utils.py::TestRetrySleeper::test_reset PASSED [ 82%] 3396s tests/test_utils.py::TestRetrySleeper::test_too_many_tries PASSED [ 83%] 3396s tests/test_validator.py::TestValidator::test_bin_dir_is_empty PASSED [ 83%] 3396s tests/test_validator.py::TestValidator::test_bin_dir_is_empty_string_excutables_in_path PASSED [ 83%] 3396s tests/test_validator.py::TestValidator::test_bin_dir_is_file PASSED [ 83%] 3396s tests/test_validator.py::TestValidator::test_complete_config PASSED [ 83%] 3396s tests/test_validator.py::TestValidator::test_data_dir_contains_pg_version PASSED [ 83%] 3396s tests/test_validator.py::TestValidator::test_data_dir_is_empty_string PASSED [ 84%] 3396s tests/test_validator.py::TestValidator::test_directory_contains PASSED [ 84%] 3396s tests/test_validator.py::TestValidator::test_empty_config PASSED [ 84%] 3396s tests/test_validator.py::TestValidator::test_failover_priority_int PASSED [ 84%] 3396s tests/test_validator.py::TestValidator::test_json_log_format PASSED [ 84%] 3396s tests/test_validator.py::TestValidator::test_one_of PASSED [ 84%] 3396s tests/test_validator.py::TestValidator::test_pg_version_missmatch PASSED [ 84%] 3396s tests/test_validator.py::TestValidator::test_pg_wal_doesnt_exist PASSED [ 85%] 3396s tests/test_validator.py::TestValidator::test_validate_binary_name PASSED [ 85%] 3396s tests/test_validator.py::TestValidator::test_validate_binary_name_empty_string PASSED [ 85%] 3396s tests/test_validator.py::TestValidator::test_validate_binary_name_missing PASSED [ 85%] 3396s tests/test_wale_restore.py::TestWALERestore::test_create_replica_with_s3 PASSED [ 85%] 3396s tests/test_wale_restore.py::TestWALERestore::test_fix_subdirectory_path_if_broken PASSED [ 85%] 3396s tests/test_wale_restore.py::TestWALERestore::test_get_major_version PASSED [ 85%] 3396s tests/test_wale_restore.py::TestWALERestore::test_main PASSED [ 86%] 3396s tests/test_wale_restore.py::TestWALERestore::test_run PASSED [ 86%] 3396s tests/test_wale_restore.py::TestWALERestore::test_should_use_s3_to_create_replica PASSED [ 86%] 3396s tests/test_watchdog.py::TestWatchdog::test_basic_operation PASSED [ 86%] 3396s tests/test_watchdog.py::TestWatchdog::test_config_reload PASSED [ 86%] 3396s tests/test_watchdog.py::TestWatchdog::test_exceptions PASSED [ 86%] 3396s tests/test_watchdog.py::TestWatchdog::test_invalid_timings PASSED [ 87%] 3396s tests/test_watchdog.py::TestWatchdog::test_parse_mode PASSED [ 87%] 3396s tests/test_watchdog.py::TestWatchdog::test_timeout_does_not_ensure_safe_termination PASSED [ 87%] 3396s tests/test_watchdog.py::TestWatchdog::test_unsafe_timeout_disable_watchdog_and_exit PASSED [ 87%] 3396s tests/test_watchdog.py::TestWatchdog::test_unsupported_platform PASSED [ 87%] 3396s tests/test_watchdog.py::TestWatchdog::test_watchdog_activate PASSED [ 87%] 3396s tests/test_watchdog.py::TestWatchdog::test_watchdog_not_activated PASSED [ 87%] 3396s tests/test_watchdog.py::TestNullWatchdog::test_basics PASSED [ 88%] 3396s tests/test_watchdog.py::TestLinuxWatchdogDevice::test__ioctl PASSED [ 88%] 3396s tests/test_watchdog.py::TestLinuxWatchdogDevice::test_basics PASSED [ 88%] 3396s tests/test_watchdog.py::TestLinuxWatchdogDevice::test_error_handling PASSED [ 88%] 3396s tests/test_watchdog.py::TestLinuxWatchdogDevice::test_is_healthy PASSED [ 88%] 3396s tests/test_watchdog.py::TestLinuxWatchdogDevice::test_open PASSED [ 88%] 3396s tests/test_zookeeper.py::TestPatroniSequentialThreadingHandler::test_create_connection PASSED [ 89%] 3396s tests/test_zookeeper.py::TestPatroniSequentialThreadingHandler::test_select PASSED [ 89%] 3396s tests/test_zookeeper.py::TestPatroniKazooClient::test__call PASSED [ 89%] 3396s tests/test_zookeeper.py::TestZooKeeper::test__cluster_loader PASSED [ 89%] 3396s tests/test_zookeeper.py::TestZooKeeper::test__get_citus_cluster PASSED [ 89%] 3396s tests/test_zookeeper.py::TestZooKeeper::test__kazoo_connect PASSED [ 89%] 3396s tests/test_zookeeper.py::TestZooKeeper::test_attempt_to_acquire_leader PASSED [ 89%] 3396s tests/test_zookeeper.py::TestZooKeeper::test_cancel_initialization PASSED [ 90%] 3396s tests/test_zookeeper.py::TestZooKeeper::test_delete_cluster PASSED [ 90%] 3396s tests/test_zookeeper.py::TestZooKeeper::test_delete_leader PASSED [ 90%] 3396s tests/test_zookeeper.py::TestZooKeeper::test_get_children PASSED [ 90%] 3396s tests/test_zookeeper.py::TestZooKeeper::test_get_citus_coordinator PASSED [ 90%] 3396s tests/test_zookeeper.py::TestZooKeeper::test_get_cluster PASSED [ 90%] 3396s tests/test_zookeeper.py::TestZooKeeper::test_get_mpp_coordinator PASSED [ 91%] 3396s tests/test_zookeeper.py::TestZooKeeper::test_get_node PASSED [ 91%] 3396s tests/test_zookeeper.py::TestZooKeeper::test_initialize PASSED [ 91%] 3396s tests/test_zookeeper.py::TestZooKeeper::test_reload_config PASSED [ 91%] 3396s tests/test_zookeeper.py::TestZooKeeper::test_set_config_value PASSED [ 91%] 3396s tests/test_zookeeper.py::TestZooKeeper::test_set_failover_value PASSED [ 91%] 3396s tests/test_zookeeper.py::TestZooKeeper::test_set_history_value PASSED [ 91%] 3396s tests/test_zookeeper.py::TestZooKeeper::test_sync_state PASSED [ 92%] 3396s tests/test_zookeeper.py::TestZooKeeper::test_take_leader PASSED [ 92%] 3396s tests/test_zookeeper.py::TestZooKeeper::test_touch_member PASSED [ 92%] 3396s tests/test_zookeeper.py::TestZooKeeper::test_update_leader PASSED [ 92%] 3396s tests/test_zookeeper.py::TestZooKeeper::test_watch PASSED [ 92%] 3396s tests/test_zookeeper.py::TestZooKeeper::test_watcher PASSED [ 92%] 3396s tests/test_zookeeper.py::TestZooKeeper::test_write_leader_optime PASSED [ 92%] 3396s patroni/__init__.py::patroni.parse_version PASSED [ 93%] 3396s patroni/api.py::patroni.api.check_access PASSED [ 93%] 3396s patroni/collections.py::patroni.collections.CaseInsensitiveDict.__len__ PASSED [ 93%] 3396s patroni/collections.py::patroni.collections.CaseInsensitiveDict.__repr__ PASSED [ 93%] 3396s patroni/collections.py::patroni.collections.CaseInsensitiveSet.__len__ PASSED [ 93%] 3396s patroni/collections.py::patroni.collections.CaseInsensitiveSet.__repr__ PASSED [ 93%] 3396s patroni/collections.py::patroni.collections.CaseInsensitiveSet.__str__ SKIPPED [ 94%] 3396s patroni/collections.py::patroni.collections._FrozenDict.__len__ PASSED [ 94%] 3396s patroni/ctl.py::patroni.ctl.format_pg_version PASSED [ 94%] 3396s patroni/ctl.py::patroni.ctl.parse_dcs PASSED [ 94%] 3396s patroni/ctl.py::patroni.ctl.parse_scheduled PASSED [ 94%] 3397s patroni/ctl.py::patroni.ctl.watching PASSED [ 94%] 3397s patroni/dcs/__init__.py::patroni.dcs.Cluster.__len__ PASSED [ 94%] 3397s patroni/dcs/__init__.py::patroni.dcs.Cluster.timeline PASSED [ 95%] 3397s patroni/dcs/__init__.py::patroni.dcs.ClusterConfig.from_node PASSED [ 95%] 3397s patroni/dcs/__init__.py::patroni.dcs.Failover PASSED [ 95%] 3397s patroni/dcs/__init__.py::patroni.dcs.Failover.__len__ PASSED [ 95%] 3397s patroni/dcs/__init__.py::patroni.dcs.Leader.checkpoint_after_promote PASSED [ 95%] 3397s patroni/dcs/__init__.py::patroni.dcs.Member.from_node PASSED [ 95%] 3397s patroni/dcs/__init__.py::patroni.dcs.Member.patroni_version PASSED [ 96%] 3397s patroni/dcs/__init__.py::patroni.dcs.SyncState.from_node PASSED [ 96%] 3397s patroni/dcs/__init__.py::patroni.dcs.SyncState.matches PASSED [ 96%] 3397s patroni/dcs/__init__.py::patroni.dcs.TimelineHistory.from_node PASSED [ 96%] 3397s patroni/dcs/kubernetes.py::patroni.dcs.kubernetes.Kubernetes.subsets_changed PASSED [ 96%] 3397s patroni/postgresql/bootstrap.py::patroni.postgresql.bootstrap.Bootstrap.process_user_options PASSED [ 96%] 3397s patroni/postgresql/config.py::patroni.postgresql.config.parse_dsn PASSED [ 96%] 3397s patroni/postgresql/config.py::patroni.postgresql.config.read_recovery_param_value PASSED [ 97%] 3397s patroni/postgresql/misc.py::patroni.postgresql.misc.get_major_from_minor_version PASSED [ 97%] 3397s patroni/postgresql/misc.py::patroni.postgresql.misc.postgres_major_version_to_int PASSED [ 97%] 3397s patroni/postgresql/misc.py::patroni.postgresql.misc.postgres_version_to_int PASSED [ 97%] 3397s patroni/postgresql/sync.py::patroni.postgresql.sync.parse_sync_standby_names PASSED [ 97%] 3397s patroni/scripts/wale_restore.py::patroni.scripts.wale_restore.repr_size PASSED [ 97%] 3397s patroni/scripts/wale_restore.py::patroni.scripts.wale_restore.size_as_bytes PASSED [ 98%] 3397s patroni/utils.py::patroni.utils.compare_values PASSED [ 98%] 3397s patroni/utils.py::patroni.utils.convert_int_from_base_unit PASSED [ 98%] 3397s patroni/utils.py::patroni.utils.convert_real_from_base_unit PASSED [ 98%] 3397s patroni/utils.py::patroni.utils.convert_to_base_unit PASSED [ 98%] 3397s patroni/utils.py::patroni.utils.deep_compare PASSED [ 98%] 3397s patroni/utils.py::patroni.utils.maybe_convert_from_base_unit PASSED [ 98%] 3397s patroni/utils.py::patroni.utils.parse_bool PASSED [ 99%] 3397s patroni/utils.py::patroni.utils.parse_int PASSED [ 99%] 3397s patroni/utils.py::patroni.utils.parse_real PASSED [ 99%] 3397s patroni/utils.py::patroni.utils.split_host_port PASSED [ 99%] 3397s patroni/utils.py::patroni.utils.strtod PASSED [ 99%] 3397s patroni/utils.py::patroni.utils.strtol PASSED [ 99%] 3401s patroni/utils.py::patroni.utils.unquote PASSED [100%] 3401s 3401s =============================== warnings summary =============================== 3401s patroni/ctl.py:37 3401s /tmp/autopkgtest.X8Hdq0/build.0ZU/src/patroni/ctl.py:37: DeprecationWarning: the 'ALL' constant is deprecated, use the 'HRuleStyle' and 'VRuleStyle' enums instead 3401s from prettytable import ALL, FRAME, PrettyTable 3401s 3401s patroni/ctl.py:37 3401s /tmp/autopkgtest.X8Hdq0/build.0ZU/src/patroni/ctl.py:37: DeprecationWarning: the 'FRAME' constant is deprecated, use the 'HRuleStyle' and 'VRuleStyle' enums instead 3401s from prettytable import ALL, FRAME, PrettyTable 3401s 3401s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 3401s 3401s ---------- coverage: platform linux, python 3.12.8-final-0 ----------- 3401s Name Stmts Miss Cover Missing 3401s ----------------------------------------------------------------------------------- 3401s patroni/__init__.py 13 0 100% 3401s patroni/__main__.py 199 1 99% 406 3401s patroni/api.py 780 0 100% 3401s patroni/async_executor.py 96 0 100% 3401s patroni/collections.py 56 3 95% 50, 99, 107 3401s patroni/config.py 371 0 100% 3401s patroni/config_generator.py 212 0 100% 3401s patroni/ctl.py 936 0 100% 3401s patroni/daemon.py 76 0 100% 3401s patroni/dcs/__init__.py 654 0 100% 3401s patroni/dcs/consul.py 484 0 100% 3401s patroni/dcs/etcd3.py 679 0 100% 3401s patroni/dcs/etcd.py 603 0 100% 3401s patroni/dcs/exhibitor.py 62 0 100% 3401s patroni/dcs/kubernetes.py 940 0 100% 3401s patroni/dcs/raft.py 319 0 100% 3401s patroni/dcs/zookeeper.py 289 0 100% 3401s patroni/dynamic_loader.py 35 0 100% 3401s patroni/exceptions.py 16 0 100% 3401s patroni/file_perm.py 43 0 100% 3401s patroni/global_config.py 81 0 100% 3401s patroni/ha.py 1270 2 99% 2048-2049 3401s patroni/log.py 221 2 99% 367-369 3401s patroni/postgresql/__init__.py 822 0 100% 3401s patroni/postgresql/available_parameters/__init__.py 24 0 100% 3401s patroni/postgresql/bootstrap.py 255 0 100% 3401s patroni/postgresql/callback_executor.py 55 0 100% 3401s patroni/postgresql/cancellable.py 104 0 100% 3401s patroni/postgresql/config.py 838 0 100% 3401s patroni/postgresql/connection.py 75 0 100% 3401s patroni/postgresql/misc.py 43 0 100% 3401s patroni/postgresql/mpp/__init__.py 89 0 100% 3401s 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 3401s patroni/postgresql/postmaster.py 170 0 100% 3401s patroni/postgresql/rewind.py 416 0 100% 3401s patroni/postgresql/slots.py 349 0 100% 3401s patroni/postgresql/sync.py 130 0 100% 3401s patroni/postgresql/validator.py 157 0 100% 3401s patroni/psycopg.py 46 20 57% 19, 25-26, 42, 44-98, 136 3401s patroni/raft_controller.py 22 0 100% 3401s patroni/request.py 58 0 100% 3401s patroni/scripts/__init__.py 0 0 100% 3401s patroni/scripts/aws.py 59 1 98% 86 3401s patroni/scripts/barman/__init__.py 0 0 100% 3401s patroni/scripts/barman/cli.py 51 1 98% 240 3401s patroni/scripts/barman/config_switch.py 51 0 100% 3401s patroni/scripts/barman/recover.py 37 0 100% 3401s patroni/scripts/barman/utils.py 94 0 100% 3401s patroni/scripts/wale_restore.py 207 1 99% 374 3401s patroni/tags.py 38 0 100% 3401s patroni/utils.py 370 0 100% 3401s patroni/validator.py 307 0 100% 3401s patroni/version.py 1 0 100% 3401s patroni/watchdog/__init__.py 2 0 100% 3401s patroni/watchdog/base.py 203 0 100% 3401s patroni/watchdog/linux.py 135 1 99% 36 3401s ----------------------------------------------------------------------------------- 3401s TOTAL 13902 154 99% 3401s Coverage XML written to file coverage.xml 3401s 3401s ================= 643 passed, 14 skipped, 2 warnings in 33.80s ================= 3401s autopkgtest [15:28:21]: test test: -----------------------] 3402s test PASS 3402s autopkgtest [15:28:22]: test test: - - - - - - - - - - results - - - - - - - - - - 3402s autopkgtest [15:28:22]: @@@@@@@@@@@@@@@@@@@@ summary 3402s acceptance-etcd3 PASS 3402s acceptance-etcd-basic PASS 3402s acceptance-etcd PASS 3402s acceptance-zookeeper PASS 3402s acceptance-raft PASS 3402s test PASS 3423s nova [W] Using flock in prodstack6-ppc64el 3423s Creating nova instance adt-plucky-ppc64el-patroni-20250109-114154-juju-7f2275-prod-proposed-migration-environment-2-66778b73-346e-4ca9-8a36-d7c638a17ab9 from image adt/ubuntu-plucky-ppc64el-server-20250109.img (UUID 64b5f774-d527-428e-8e51-6eba74faf5f9)... 3423s nova [W] Timed out waiting for 8010a18b-1f33-4fbe-ab0a-b19395385149 to get deleted. 3423s nova [W] Using flock in prodstack6-ppc64el 3423s Creating nova instance adt-plucky-ppc64el-patroni-20250109-114154-juju-7f2275-prod-proposed-migration-environment-2-66778b73-346e-4ca9-8a36-d7c638a17ab9 from image adt/ubuntu-plucky-ppc64el-server-20250109.img (UUID 64b5f774-d527-428e-8e51-6eba74faf5f9)... 3423s nova [W] Timed out waiting for 8b883be8-3ce7-4af4-aa91-3298f53da72f to get deleted. 3423s nova [W] Using flock in prodstack6-ppc64el 3423s Creating nova instance adt-plucky-ppc64el-patroni-20250109-114154-juju-7f2275-prod-proposed-migration-environment-2-66778b73-346e-4ca9-8a36-d7c638a17ab9 from image adt/ubuntu-plucky-ppc64el-server-20250109.img (UUID 64b5f774-d527-428e-8e51-6eba74faf5f9)... 3423s nova [W] Timed out waiting for de1b548b-8252-4ece-b94d-3a12341a4f46 to get deleted. 3423s nova [W] Using flock in prodstack6-ppc64el 3423s Creating nova instance adt-plucky-ppc64el-patroni-20250109-114154-juju-7f2275-prod-proposed-migration-environment-2-66778b73-346e-4ca9-8a36-d7c638a17ab9 from image adt/ubuntu-plucky-ppc64el-server-20250109.img (UUID 64b5f774-d527-428e-8e51-6eba74faf5f9)... 3423s nova [W] Timed out waiting for dfd2cd95-e8e0-4c7b-a50a-d8d04cbfd84f to get deleted. 3423s nova [W] Using flock in prodstack6-ppc64el 3423s Creating nova instance adt-plucky-ppc64el-patroni-20250109-114154-juju-7f2275-prod-proposed-migration-environment-2-66778b73-346e-4ca9-8a36-d7c638a17ab9 from image adt/ubuntu-plucky-ppc64el-server-20250109.img (UUID 64b5f774-d527-428e-8e51-6eba74faf5f9)... 3423s nova [W] Timed out waiting for e5cb48e8-7463-4d44-bd17-7c889905060f to get deleted.