0s autopkgtest [13:05:42]: starting date and time: 2025-03-22 13:05:42+0000 0s autopkgtest [13:05:42]: git checkout: 325255d2 Merge branch 'pin-any-arch' into 'ubuntu/production' 0s autopkgtest [13:05:42]: host juju-7f2275-prod-proposed-migration-environment-9; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.v0u7kc78/out --timeout-copy=6000 --setup-commands 'ln -s /dev/null /etc/systemd/system/bluetooth.service; printf "http_proxy=http://squid.internal:3128\nhttps_proxy=http://squid.internal:3128\nno_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\n" >> /etc/environment' --apt-pocket=proposed=src:patroni --apt-upgrade patroni --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=patroni/4.0.4-8 -- lxd -r lxd-armhf-10.145.243.240 lxd-armhf-10.145.243.240:autopkgtest/ubuntu/plucky/armhf 20s autopkgtest [13:06:02]: testbed dpkg architecture: armhf 22s autopkgtest [13:06:04]: testbed apt version: 2.9.34 26s autopkgtest [13:06:08]: @@@@@@@@@@@@@@@@@@@@ test bed setup 27s autopkgtest [13:06:09]: testbed release detected to be: None 35s autopkgtest [13:06:17]: updating testbed package index (apt update) 37s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [126 kB] 37s Get:2 http://ftpmaster.internal/ubuntu plucky InRelease [265 kB] 37s Get:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease [126 kB] 37s Get:4 http://ftpmaster.internal/ubuntu plucky-security InRelease [126 kB] 37s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [1232 B] 37s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [288 kB] 37s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [11.5 kB] 37s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [29.9 kB] 37s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf Packages [38.6 kB] 37s Get:10 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf c-n-f Metadata [1264 B] 37s Get:11 http://ftpmaster.internal/ubuntu plucky-proposed/restricted armhf c-n-f Metadata [116 B] 37s Get:12 http://ftpmaster.internal/ubuntu plucky-proposed/universe armhf Packages [177 kB] 37s Get:13 http://ftpmaster.internal/ubuntu plucky-proposed/universe armhf c-n-f Metadata [6520 B] 37s Get:14 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse armhf Packages [1712 B] 37s Get:15 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse armhf c-n-f Metadata [284 B] 37s Get:16 http://ftpmaster.internal/ubuntu plucky/main Sources [1388 kB] 37s Get:17 http://ftpmaster.internal/ubuntu plucky/multiverse Sources [297 kB] 37s Get:18 http://ftpmaster.internal/ubuntu plucky/universe Sources [21.0 MB] 38s Get:19 http://ftpmaster.internal/ubuntu plucky/main armhf Packages [1350 kB] 38s Get:20 http://ftpmaster.internal/ubuntu plucky/main armhf c-n-f Metadata [29.3 kB] 38s Get:21 http://ftpmaster.internal/ubuntu plucky/universe armhf Packages [15.4 MB] 39s Get:22 http://ftpmaster.internal/ubuntu plucky/universe armhf c-n-f Metadata [277 kB] 39s Get:23 http://ftpmaster.internal/ubuntu plucky/multiverse armhf Packages [172 kB] 43s Fetched 41.1 MB in 6s (7384 kB/s) 44s Reading package lists... 50s autopkgtest [13:06:32]: upgrading testbed (apt dist-upgrade and autopurge) 52s Reading package lists... 52s Building dependency tree... 52s Reading state information... 53s Calculating upgrade...Starting pkgProblemResolver with broken count: 0 53s Starting 2 pkgProblemResolver with broken count: 0 53s Done 53s Entering ResolveByKeep 54s 54s Calculating upgrade... 54s The following packages will be upgraded: 54s python3-dateutil 55s 1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 55s Need to get 80.3 kB of archives. 55s After this operation, 0 B of additional disk space will be used. 55s Get:1 http://ftpmaster.internal/ubuntu plucky/main armhf python3-dateutil all 2.9.0-4 [80.3 kB] 55s Fetched 80.3 kB in 0s (240 kB/s) 55s (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 ... 63958 files and directories currently installed.) 55s Preparing to unpack .../python3-dateutil_2.9.0-4_all.deb ... 56s Unpacking python3-dateutil (2.9.0-4) over (2.9.0-3) ... 56s Setting up python3-dateutil (2.9.0-4) ... 58s Reading package lists... 58s Building dependency tree... 58s Reading state information... 58s Starting pkgProblemResolver with broken count: 0 58s Starting 2 pkgProblemResolver with broken count: 0 58s Done 59s Solving dependencies... 59s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 61s autopkgtest [13:06:43]: rebooting testbed after setup commands that affected boot 103s autopkgtest [13:07:25]: testbed running kernel: Linux 6.8.0-52-generic #53~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Wed Jan 15 18:10:51 UTC 2 130s autopkgtest [13:07:52]: @@@@@@@@@@@@@@@@@@@@ apt-source patroni 146s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed/universe patroni 4.0.4-8 (dsc) [2870 B] 146s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/universe patroni 4.0.4-8 (tar) [1205 kB] 146s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/universe patroni 4.0.4-8 (diff) [28.2 kB] 146s gpgv: Signature made Fri Mar 14 13:47:44 2025 UTC 146s gpgv: using RSA key 9CA877749FAB2E4FA96862ECDC686A27B43481B0 146s gpgv: Can't check signature: No public key 146s dpkg-source: warning: cannot verify inline signature for ./patroni_4.0.4-8.dsc: no acceptable signature found 146s autopkgtest [13:08:08]: testing package patroni version 4.0.4-8 148s autopkgtest [13:08:10]: build not needed 150s autopkgtest [13:08:12]: test test: preparing testbed 153s Reading package lists... 153s Building dependency tree... 153s Reading state information... 153s Starting pkgProblemResolver with broken count: 0 153s Starting 2 pkgProblemResolver with broken count: 0 153s Done 154s The following NEW packages will be installed: 154s fonts-font-awesome fonts-lato libcares2 libev4t64 libjs-jquery 154s libjs-jquery-hotkeys libjs-jquery-isonscreen libjs-jquery-metadata 154s libjs-jquery-tablesorter libjs-jquery-throttle-debounce libjs-sphinxdoc 154s libjs-underscore libpq5 patroni patroni-doc python3-aiohappyeyeballs 154s python3-aiohttp python3-aiosignal python3-async-timeout python3-cachetools 154s python3-click python3-consul python3-coverage python3-dnspython python3-etcd 154s python3-eventlet python3-flake8 python3-frozenlist python3-gevent 154s python3-google-auth python3-greenlet python3-iniconfig python3-kazoo 154s python3-kerberos python3-kubernetes python3-mccabe python3-mock 154s python3-multidict python3-pluggy python3-prettytable python3-psutil 154s python3-psycopg2 python3-pure-sasl python3-pyasn1 python3-pyasn1-modules 154s python3-pycodestyle python3-pyflakes python3-pysyncobj python3-pytest 154s python3-pytest-cov python3-pyu2f python3-requests-oauthlib python3-responses 154s python3-rsa python3-wcwidth python3-websocket python3-yarl python3-ydiff 154s python3-zope.event python3-zope.interface sphinx-rtd-theme-common 154s 0 upgraded, 61 newly installed, 0 to remove and 0 not upgraded. 154s Need to get 10.3 MB of archives. 154s After this operation, 61.1 MB of additional disk space will be used. 154s Get:1 http://ftpmaster.internal/ubuntu plucky/main armhf fonts-lato all 2.015-1 [2781 kB] 158s Get:2 http://ftpmaster.internal/ubuntu plucky/main armhf fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 158s Get:3 http://ftpmaster.internal/ubuntu plucky/main armhf libcares2 armhf 1.34.4-2.1 [85.0 kB] 158s Get:4 http://ftpmaster.internal/ubuntu plucky/universe armhf libev4t64 armhf 1:4.33-2.1build1 [26.3 kB] 158s Get:5 http://ftpmaster.internal/ubuntu plucky/main armhf libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 159s Get:6 http://ftpmaster.internal/ubuntu plucky/universe armhf libjs-jquery-metadata all 12-4 [6582 B] 159s Get:7 http://ftpmaster.internal/ubuntu plucky/universe armhf libjs-jquery-tablesorter all 1:2.31.3+dfsg1-4 [192 kB] 159s Get:8 http://ftpmaster.internal/ubuntu plucky/universe armhf libjs-jquery-throttle-debounce all 1.1+dfsg.1-2 [12.5 kB] 159s Get:9 http://ftpmaster.internal/ubuntu plucky/main armhf libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 159s Get:10 http://ftpmaster.internal/ubuntu plucky/main armhf libjs-sphinxdoc all 8.1.3-5 [31.0 kB] 159s Get:11 http://ftpmaster.internal/ubuntu plucky/main armhf libpq5 armhf 17.4-1 [125 kB] 160s Get:12 http://ftpmaster.internal/ubuntu plucky/main armhf python3-click all 8.2.0+0.really.8.1.8-1 [80.0 kB] 160s Get:13 http://ftpmaster.internal/ubuntu plucky/main armhf python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 160s Get:14 http://ftpmaster.internal/ubuntu plucky/main armhf python3-prettytable all 3.12.0-1 [36.5 kB] 160s Get:15 http://ftpmaster.internal/ubuntu plucky/main armhf python3-psutil armhf 5.9.8-2build3 [194 kB] 160s Get:16 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-ydiff all 1.4.2-1 [19.0 kB] 160s Get:17 http://ftpmaster.internal/ubuntu plucky/main armhf python3-psycopg2 armhf 2.9.10-1build1 [125 kB] 160s Get:18 http://ftpmaster.internal/ubuntu plucky/main armhf python3-dnspython all 2.7.0-1ubuntu1 [167 kB] 160s Get:19 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-etcd all 0.4.5-6 [32.1 kB] 161s Get:20 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-consul all 1.5.1+dfsg-1 [21.7 kB] 161s Get:21 http://ftpmaster.internal/ubuntu plucky/main armhf python3-greenlet armhf 3.1.0-1build1 [161 kB] 161s Get:22 http://ftpmaster.internal/ubuntu plucky/main armhf python3-eventlet all 0.39.0-0ubuntu1 [277 kB] 161s Get:23 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-zope.event all 5.0-0.1 [7512 B] 161s Get:24 http://ftpmaster.internal/ubuntu plucky/main armhf python3-zope.interface armhf 7.2-1build1 [139 kB] 161s Get:25 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-gevent armhf 24.11.1-1build1 [822 kB] 163s Get:26 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-kerberos armhf 1.1.14-3.1build11 [19.9 kB] 163s Get:27 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-pure-sasl all 0.5.1+dfsg1-5 [11.4 kB] 163s Get:28 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-kazoo all 2.9.0-2 [103 kB] 163s Get:29 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-multidict armhf 6.1.0-1build2 [32.2 kB] 163s Get:30 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-yarl armhf 1.13.1-1build2 [91.4 kB] 163s Get:31 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-async-timeout all 5.0.1-1 [6830 B] 163s Get:32 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-aiohappyeyeballs all 2.6.1-1 [11.1 kB] 163s Get:33 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-frozenlist armhf 1.5.0-1build2 [47.0 kB] 163s Get:34 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-aiosignal all 1.3.2-1 [5182 B] 163s Get:35 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-aiohttp armhf 3.10.11-1build1 [289 kB] 163s Get:36 http://ftpmaster.internal/ubuntu plucky/main armhf python3-cachetools all 5.3.3-1 [10.3 kB] 163s Get:37 http://ftpmaster.internal/ubuntu plucky/main armhf python3-pyasn1 all 0.6.1-1 [56.4 kB] 163s Get:38 http://ftpmaster.internal/ubuntu plucky/main armhf python3-pyasn1-modules all 0.4.1-2 [80.3 kB] 164s Get:39 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-pyu2f all 0.1.5-4 [22.9 kB] 164s Get:40 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-responses all 0.25.6-1 [40.5 kB] 164s Get:41 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-rsa all 4.9-2 [28.2 kB] 164s Get:42 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-google-auth all 2.28.2-3 [91.0 kB] 164s Get:43 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-requests-oauthlib all 1.3.1-1 [18.8 kB] 164s Get:44 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-websocket all 1.8.0-2 [38.5 kB] 164s Get:45 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-kubernetes all 30.1.0-2 [385 kB] 164s Get:46 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-pysyncobj all 0.3.14-2 [61.9 kB] 164s Get:47 http://ftpmaster.internal/ubuntu plucky-proposed/universe armhf patroni all 4.0.4-8 [282 kB] 165s Get:48 http://ftpmaster.internal/ubuntu plucky/main armhf sphinx-rtd-theme-common all 3.0.2+dfsg-2 [1014 kB] 166s Get:49 http://ftpmaster.internal/ubuntu plucky-proposed/universe armhf patroni-doc all 4.0.4-8 [526 kB] 167s Get:50 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-coverage armhf 7.6.0+dfsg1-2build1 [152 kB] 167s Get:51 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-mccabe all 0.7.0-1 [8678 B] 167s Get:52 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-pycodestyle all 2.12.1-2 [30.2 kB] 167s Get:53 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-pyflakes all 3.2.0-3 [53.0 kB] 167s Get:54 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-flake8 all 7.1.1-3 [44.0 kB] 167s Get:55 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-iniconfig all 1.1.1-2 [6024 B] 167s Get:56 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-pluggy all 1.5.0-1 [21.0 kB] 167s Get:57 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-pytest all 8.3.5-1 [252 kB] 167s Get:58 http://ftpmaster.internal/ubuntu plucky/universe armhf libjs-jquery-hotkeys all 0.2.0-1 [13.3 kB] 167s Get:59 http://ftpmaster.internal/ubuntu plucky/universe armhf libjs-jquery-isonscreen all 1.2.0-1.1 [3244 B] 167s Get:60 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-pytest-cov all 5.0.0-1 [21.3 kB] 167s Get:61 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-mock all 5.1.0-1 [64.1 kB] 168s Fetched 10.3 MB in 14s (736 kB/s) 168s Selecting previously unselected package fonts-lato. 168s (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 ... 63958 files and directories currently installed.) 168s Preparing to unpack .../00-fonts-lato_2.015-1_all.deb ... 168s Unpacking fonts-lato (2.015-1) ... 168s Selecting previously unselected package fonts-font-awesome. 168s Preparing to unpack .../01-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 168s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 168s Selecting previously unselected package libcares2:armhf. 168s Preparing to unpack .../02-libcares2_1.34.4-2.1_armhf.deb ... 168s Unpacking libcares2:armhf (1.34.4-2.1) ... 168s Selecting previously unselected package libev4t64:armhf. 168s Preparing to unpack .../03-libev4t64_1%3a4.33-2.1build1_armhf.deb ... 168s Unpacking libev4t64:armhf (1:4.33-2.1build1) ... 168s Selecting previously unselected package libjs-jquery. 169s Preparing to unpack .../04-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 169s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 169s Selecting previously unselected package libjs-jquery-metadata. 169s Preparing to unpack .../05-libjs-jquery-metadata_12-4_all.deb ... 169s Unpacking libjs-jquery-metadata (12-4) ... 169s Selecting previously unselected package libjs-jquery-tablesorter. 169s Preparing to unpack .../06-libjs-jquery-tablesorter_1%3a2.31.3+dfsg1-4_all.deb ... 169s Unpacking libjs-jquery-tablesorter (1:2.31.3+dfsg1-4) ... 169s Selecting previously unselected package libjs-jquery-throttle-debounce. 169s Preparing to unpack .../07-libjs-jquery-throttle-debounce_1.1+dfsg.1-2_all.deb ... 169s Unpacking libjs-jquery-throttle-debounce (1.1+dfsg.1-2) ... 169s Selecting previously unselected package libjs-underscore. 169s Preparing to unpack .../08-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 169s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 169s Selecting previously unselected package libjs-sphinxdoc. 169s Preparing to unpack .../09-libjs-sphinxdoc_8.1.3-5_all.deb ... 169s Unpacking libjs-sphinxdoc (8.1.3-5) ... 169s Selecting previously unselected package libpq5:armhf. 169s Preparing to unpack .../10-libpq5_17.4-1_armhf.deb ... 169s Unpacking libpq5:armhf (17.4-1) ... 169s Selecting previously unselected package python3-click. 169s Preparing to unpack .../11-python3-click_8.2.0+0.really.8.1.8-1_all.deb ... 169s Unpacking python3-click (8.2.0+0.really.8.1.8-1) ... 169s Selecting previously unselected package python3-wcwidth. 169s Preparing to unpack .../12-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 169s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 169s Selecting previously unselected package python3-prettytable. 169s Preparing to unpack .../13-python3-prettytable_3.12.0-1_all.deb ... 169s Unpacking python3-prettytable (3.12.0-1) ... 169s Selecting previously unselected package python3-psutil. 169s Preparing to unpack .../14-python3-psutil_5.9.8-2build3_armhf.deb ... 169s Unpacking python3-psutil (5.9.8-2build3) ... 169s Selecting previously unselected package python3-ydiff. 169s Preparing to unpack .../15-python3-ydiff_1.4.2-1_all.deb ... 169s Unpacking python3-ydiff (1.4.2-1) ... 169s Selecting previously unselected package python3-psycopg2. 169s Preparing to unpack .../16-python3-psycopg2_2.9.10-1build1_armhf.deb ... 169s Unpacking python3-psycopg2 (2.9.10-1build1) ... 169s Selecting previously unselected package python3-dnspython. 169s Preparing to unpack .../17-python3-dnspython_2.7.0-1ubuntu1_all.deb ... 169s Unpacking python3-dnspython (2.7.0-1ubuntu1) ... 169s Selecting previously unselected package python3-etcd. 169s Preparing to unpack .../18-python3-etcd_0.4.5-6_all.deb ... 169s Unpacking python3-etcd (0.4.5-6) ... 169s Selecting previously unselected package python3-consul. 169s Preparing to unpack .../19-python3-consul_1.5.1+dfsg-1_all.deb ... 169s Unpacking python3-consul (1.5.1+dfsg-1) ... 169s Selecting previously unselected package python3-greenlet. 169s Preparing to unpack .../20-python3-greenlet_3.1.0-1build1_armhf.deb ... 169s Unpacking python3-greenlet (3.1.0-1build1) ... 169s Selecting previously unselected package python3-eventlet. 169s Preparing to unpack .../21-python3-eventlet_0.39.0-0ubuntu1_all.deb ... 169s Unpacking python3-eventlet (0.39.0-0ubuntu1) ... 169s Selecting previously unselected package python3-zope.event. 169s Preparing to unpack .../22-python3-zope.event_5.0-0.1_all.deb ... 169s Unpacking python3-zope.event (5.0-0.1) ... 169s Selecting previously unselected package python3-zope.interface. 169s Preparing to unpack .../23-python3-zope.interface_7.2-1build1_armhf.deb ... 169s Unpacking python3-zope.interface (7.2-1build1) ... 169s Selecting previously unselected package python3-gevent. 169s Preparing to unpack .../24-python3-gevent_24.11.1-1build1_armhf.deb ... 169s Unpacking python3-gevent (24.11.1-1build1) ... 169s Selecting previously unselected package python3-kerberos. 169s Preparing to unpack .../25-python3-kerberos_1.1.14-3.1build11_armhf.deb ... 169s Unpacking python3-kerberos (1.1.14-3.1build11) ... 169s Selecting previously unselected package python3-pure-sasl. 169s Preparing to unpack .../26-python3-pure-sasl_0.5.1+dfsg1-5_all.deb ... 169s Unpacking python3-pure-sasl (0.5.1+dfsg1-5) ... 169s Selecting previously unselected package python3-kazoo. 169s Preparing to unpack .../27-python3-kazoo_2.9.0-2_all.deb ... 169s Unpacking python3-kazoo (2.9.0-2) ... 170s Selecting previously unselected package python3-multidict. 170s Preparing to unpack .../28-python3-multidict_6.1.0-1build2_armhf.deb ... 170s Unpacking python3-multidict (6.1.0-1build2) ... 170s Selecting previously unselected package python3-yarl. 170s Preparing to unpack .../29-python3-yarl_1.13.1-1build2_armhf.deb ... 170s Unpacking python3-yarl (1.13.1-1build2) ... 170s Selecting previously unselected package python3-async-timeout. 170s Preparing to unpack .../30-python3-async-timeout_5.0.1-1_all.deb ... 170s Unpacking python3-async-timeout (5.0.1-1) ... 170s Selecting previously unselected package python3-aiohappyeyeballs. 170s Preparing to unpack .../31-python3-aiohappyeyeballs_2.6.1-1_all.deb ... 170s Unpacking python3-aiohappyeyeballs (2.6.1-1) ... 170s Selecting previously unselected package python3-frozenlist. 170s Preparing to unpack .../32-python3-frozenlist_1.5.0-1build2_armhf.deb ... 170s Unpacking python3-frozenlist (1.5.0-1build2) ... 170s Selecting previously unselected package python3-aiosignal. 170s Preparing to unpack .../33-python3-aiosignal_1.3.2-1_all.deb ... 170s Unpacking python3-aiosignal (1.3.2-1) ... 170s Selecting previously unselected package python3-aiohttp. 170s Preparing to unpack .../34-python3-aiohttp_3.10.11-1build1_armhf.deb ... 170s Unpacking python3-aiohttp (3.10.11-1build1) ... 170s Selecting previously unselected package python3-cachetools. 170s Preparing to unpack .../35-python3-cachetools_5.3.3-1_all.deb ... 170s Unpacking python3-cachetools (5.3.3-1) ... 170s Selecting previously unselected package python3-pyasn1. 170s Preparing to unpack .../36-python3-pyasn1_0.6.1-1_all.deb ... 170s Unpacking python3-pyasn1 (0.6.1-1) ... 170s Selecting previously unselected package python3-pyasn1-modules. 170s Preparing to unpack .../37-python3-pyasn1-modules_0.4.1-2_all.deb ... 170s Unpacking python3-pyasn1-modules (0.4.1-2) ... 170s Selecting previously unselected package python3-pyu2f. 170s Preparing to unpack .../38-python3-pyu2f_0.1.5-4_all.deb ... 170s Unpacking python3-pyu2f (0.1.5-4) ... 170s Selecting previously unselected package python3-responses. 170s Preparing to unpack .../39-python3-responses_0.25.6-1_all.deb ... 170s Unpacking python3-responses (0.25.6-1) ... 170s Selecting previously unselected package python3-rsa. 170s Preparing to unpack .../40-python3-rsa_4.9-2_all.deb ... 170s Unpacking python3-rsa (4.9-2) ... 170s Selecting previously unselected package python3-google-auth. 170s Preparing to unpack .../41-python3-google-auth_2.28.2-3_all.deb ... 170s Unpacking python3-google-auth (2.28.2-3) ... 170s Selecting previously unselected package python3-requests-oauthlib. 170s Preparing to unpack .../42-python3-requests-oauthlib_1.3.1-1_all.deb ... 170s Unpacking python3-requests-oauthlib (1.3.1-1) ... 170s Selecting previously unselected package python3-websocket. 170s Preparing to unpack .../43-python3-websocket_1.8.0-2_all.deb ... 170s Unpacking python3-websocket (1.8.0-2) ... 170s Selecting previously unselected package python3-kubernetes. 170s Preparing to unpack .../44-python3-kubernetes_30.1.0-2_all.deb ... 170s Unpacking python3-kubernetes (30.1.0-2) ... 170s Selecting previously unselected package python3-pysyncobj. 170s Preparing to unpack .../45-python3-pysyncobj_0.3.14-2_all.deb ... 170s Unpacking python3-pysyncobj (0.3.14-2) ... 170s Selecting previously unselected package patroni. 170s Preparing to unpack .../46-patroni_4.0.4-8_all.deb ... 170s Unpacking patroni (4.0.4-8) ... 170s Selecting previously unselected package sphinx-rtd-theme-common. 170s Preparing to unpack .../47-sphinx-rtd-theme-common_3.0.2+dfsg-2_all.deb ... 170s Unpacking sphinx-rtd-theme-common (3.0.2+dfsg-2) ... 170s Selecting previously unselected package patroni-doc. 170s Preparing to unpack .../48-patroni-doc_4.0.4-8_all.deb ... 170s Unpacking patroni-doc (4.0.4-8) ... 171s Selecting previously unselected package python3-coverage. 171s Preparing to unpack .../49-python3-coverage_7.6.0+dfsg1-2build1_armhf.deb ... 171s Unpacking python3-coverage (7.6.0+dfsg1-2build1) ... 171s Selecting previously unselected package python3-mccabe. 171s Preparing to unpack .../50-python3-mccabe_0.7.0-1_all.deb ... 171s Unpacking python3-mccabe (0.7.0-1) ... 171s Selecting previously unselected package python3-pycodestyle. 171s Preparing to unpack .../51-python3-pycodestyle_2.12.1-2_all.deb ... 171s Unpacking python3-pycodestyle (2.12.1-2) ... 171s Selecting previously unselected package python3-pyflakes. 171s Preparing to unpack .../52-python3-pyflakes_3.2.0-3_all.deb ... 171s Unpacking python3-pyflakes (3.2.0-3) ... 171s Selecting previously unselected package python3-flake8. 171s Preparing to unpack .../53-python3-flake8_7.1.1-3_all.deb ... 171s Unpacking python3-flake8 (7.1.1-3) ... 171s Selecting previously unselected package python3-iniconfig. 171s Preparing to unpack .../54-python3-iniconfig_1.1.1-2_all.deb ... 171s Unpacking python3-iniconfig (1.1.1-2) ... 171s Selecting previously unselected package python3-pluggy. 171s Preparing to unpack .../55-python3-pluggy_1.5.0-1_all.deb ... 171s Unpacking python3-pluggy (1.5.0-1) ... 171s Selecting previously unselected package python3-pytest. 171s Preparing to unpack .../56-python3-pytest_8.3.5-1_all.deb ... 171s Unpacking python3-pytest (8.3.5-1) ... 171s Selecting previously unselected package libjs-jquery-hotkeys. 171s Preparing to unpack .../57-libjs-jquery-hotkeys_0.2.0-1_all.deb ... 171s Unpacking libjs-jquery-hotkeys (0.2.0-1) ... 171s Selecting previously unselected package libjs-jquery-isonscreen. 171s Preparing to unpack .../58-libjs-jquery-isonscreen_1.2.0-1.1_all.deb ... 171s Unpacking libjs-jquery-isonscreen (1.2.0-1.1) ... 171s Selecting previously unselected package python3-pytest-cov. 171s Preparing to unpack .../59-python3-pytest-cov_5.0.0-1_all.deb ... 171s Unpacking python3-pytest-cov (5.0.0-1) ... 171s Selecting previously unselected package python3-mock. 171s Preparing to unpack .../60-python3-mock_5.1.0-1_all.deb ... 171s Unpacking python3-mock (5.1.0-1) ... 171s Setting up python3-iniconfig (1.1.1-2) ... 171s Setting up libev4t64:armhf (1:4.33-2.1build1) ... 171s Setting up fonts-lato (2.015-1) ... 171s Setting up python3-pysyncobj (0.3.14-2) ... 171s Setting up python3-cachetools (5.3.3-1) ... 171s Setting up python3-zope.event (5.0-0.1) ... 172s Setting up python3-zope.interface (7.2-1build1) ... 172s Setting up python3-pyflakes (3.2.0-3) ... 172s Setting up python3-ydiff (1.4.2-1) ... 172s Setting up libpq5:armhf (17.4-1) ... 172s Setting up python3-kerberos (1.1.14-3.1build11) ... 172s Setting up python3-coverage (7.6.0+dfsg1-2build1) ... 172s Setting up libjs-jquery-throttle-debounce (1.1+dfsg.1-2) ... 172s Setting up python3-click (8.2.0+0.really.8.1.8-1) ... 173s Setting up python3-psutil (5.9.8-2build3) ... 173s Setting up python3-multidict (6.1.0-1build2) ... 173s Setting up python3-frozenlist (1.5.0-1build2) ... 173s Setting up python3-aiosignal (1.3.2-1) ... 173s Setting up python3-mock (5.1.0-1) ... 174s Setting up python3-async-timeout (5.0.1-1) ... 174s Setting up python3-responses (0.25.6-1) ... 174s Setting up python3-pycodestyle (2.12.1-2) ... 174s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 174s Setting up python3-pyu2f (0.1.5-4) ... 174s Setting up python3-greenlet (3.1.0-1build1) ... 175s Setting up libcares2:armhf (1.34.4-2.1) ... 175s Setting up python3-psycopg2 (2.9.10-1build1) ... 175s Setting up python3-aiohappyeyeballs (2.6.1-1) ... 175s Setting up python3-pluggy (1.5.0-1) ... 175s Setting up python3-dnspython (2.7.0-1ubuntu1) ... 175s Setting up python3-pyasn1 (0.6.1-1) ... 175s Setting up python3-mccabe (0.7.0-1) ... 176s Setting up python3-consul (1.5.1+dfsg-1) ... 176s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 176s Setting up libjs-jquery-hotkeys (0.2.0-1) ... 176s Setting up python3-prettytable (3.12.0-1) ... 176s Setting up python3-yarl (1.13.1-1build2) ... 176s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 176s Setting up sphinx-rtd-theme-common (3.0.2+dfsg-2) ... 176s Setting up python3-websocket (1.8.0-2) ... 176s Setting up python3-requests-oauthlib (1.3.1-1) ... 176s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 176s Setting up python3-pure-sasl (0.5.1+dfsg1-5) ... 177s Setting up python3-etcd (0.4.5-6) ... 177s Setting up python3-pytest (8.3.5-1) ... 177s Setting up python3-aiohttp (3.10.11-1build1) ... 177s Setting up python3-gevent (24.11.1-1build1) ... 178s Setting up python3-flake8 (7.1.1-3) ... 178s Setting up python3-eventlet (0.39.0-0ubuntu1) ... 178s Setting up python3-kazoo (2.9.0-2) ... 178s Setting up python3-pyasn1-modules (0.4.1-2) ... 179s Setting up libjs-jquery-metadata (12-4) ... 179s Setting up libjs-jquery-isonscreen (1.2.0-1.1) ... 179s Setting up libjs-sphinxdoc (8.1.3-5) ... 179s Setting up libjs-jquery-tablesorter (1:2.31.3+dfsg1-4) ... 179s Setting up python3-rsa (4.9-2) ... 179s Setting up patroni (4.0.4-8) ... 179s Created symlink '/etc/systemd/system/multi-user.target.wants/patroni.service' → '/usr/lib/systemd/system/patroni.service'. 180s Setting up patroni-doc (4.0.4-8) ... 180s Setting up python3-pytest-cov (5.0.0-1) ... 180s Setting up python3-google-auth (2.28.2-3) ... 180s Setting up python3-kubernetes (30.1.0-2) ... 182s Processing triggers for man-db (2.13.0-1) ... 182s Processing triggers for libc-bin (2.41-1ubuntu2) ... 193s autopkgtest [13:08:55]: test test: [----------------------- 197s ============================= test session starts ============================== 197s platform linux -- Python 3.13.2, pytest-8.3.5, pluggy-1.5.0 197s rootdir: /tmp/autopkgtest.AnEKbN/build.Ajm/src 197s plugins: typeguard-4.4.2, cov-5.0.0 197s collected 651 items 197s 197s tests/test_api.py ................................... [ 5%] 197s tests/test_async_executor.py .... [ 5%] 198s tests/test_aws.py .... [ 6%] 198s tests/test_barman.py ................ [ 9%] 198s tests/test_bootstrap.py .......... [ 10%] 198s tests/test_callback_executor.py . [ 10%] 198s tests/test_cancellable.py ... [ 11%] 198s tests/test_citus.py sssssssssssss................ [ 15%] 198s tests/test_config.py .......... [ 17%] 198s tests/test_config_generator.py ...... [ 18%] 198s tests/test_consul.py ....................... [ 21%] 199s tests/test_ctl.py ...................................... [ 27%] 199s tests/test_etcd.py ............................. [ 31%] 200s tests/test_etcd3.py ................................. [ 37%] 200s tests/test_exhibitor.py ... [ 37%] 200s tests/test_file_perm.py ... [ 37%] 200s tests/test_ha.py ....................................................... [ 46%] 201s ................................................................ [ 56%] 202s tests/test_kubernetes.py ........................................ [ 62%] 203s tests/test_log.py .......... [ 63%] 203s tests/test_mpp.py .. [ 64%] 203s tests/test_patroni.py .................... [ 67%] 203s tests/test_postgresql.py ............................................... [ 74%] 204s ............. [ 76%] 204s tests/test_postmaster.py ......... [ 77%] 204s tests/test_quorum.py ............... [ 80%] 214s tests/test_raft.py ........... [ 81%] 214s tests/test_raft_controller.py ... [ 82%] 214s tests/test_rewind.py .............. [ 84%] 214s tests/test_slots.py ............... [ 86%] 215s tests/test_sync.py .... [ 87%] 215s tests/test_utils.py ............... [ 89%] 215s tests/test_validator.py .................. [ 92%] 215s tests/test_wale_restore.py ...... [ 93%] 215s tests/test_watchdog.py ................ [ 95%] 215s tests/test_zookeeper.py ........................... [100%] 215s 215s ======================= 638 passed, 13 skipped in 20.37s ======================= 216s autopkgtest [13:09:18]: test test: -----------------------] 220s test PASS 220s autopkgtest [13:09:22]: test test: - - - - - - - - - - results - - - - - - - - - - 225s autopkgtest [13:09:27]: test acceptance-etcd3-basic: preparing testbed 257s autopkgtest [13:09:59]: testbed dpkg architecture: armhf 259s autopkgtest [13:10:01]: testbed apt version: 2.9.34 264s autopkgtest [13:10:06]: @@@@@@@@@@@@@@@@@@@@ test bed setup 266s autopkgtest [13:10:08]: testbed release detected to be: plucky 274s autopkgtest [13:10:16]: updating testbed package index (apt update) 276s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [126 kB] 277s Get:2 http://ftpmaster.internal/ubuntu plucky InRelease [265 kB] 277s Get:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease [126 kB] 277s Get:4 http://ftpmaster.internal/ubuntu plucky-security InRelease [126 kB] 277s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [29.9 kB] 277s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [11.5 kB] 277s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [288 kB] 278s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [1232 B] 278s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf Packages [38.6 kB] 278s Get:10 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf c-n-f Metadata [1264 B] 278s Get:11 http://ftpmaster.internal/ubuntu plucky-proposed/restricted armhf c-n-f Metadata [116 B] 278s Get:12 http://ftpmaster.internal/ubuntu plucky-proposed/universe armhf Packages [177 kB] 278s Get:13 http://ftpmaster.internal/ubuntu plucky-proposed/universe armhf c-n-f Metadata [6520 B] 278s Get:14 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse armhf Packages [1712 B] 278s Get:15 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse armhf c-n-f Metadata [284 B] 278s Get:16 http://ftpmaster.internal/ubuntu plucky/multiverse Sources [297 kB] 278s Get:17 http://ftpmaster.internal/ubuntu plucky/main Sources [1388 kB] 279s Get:18 http://ftpmaster.internal/ubuntu plucky/universe Sources [21.0 MB] 293s Get:19 http://ftpmaster.internal/ubuntu plucky/main armhf Packages [1350 kB] 294s Get:20 http://ftpmaster.internal/ubuntu plucky/main armhf c-n-f Metadata [29.3 kB] 294s Get:21 http://ftpmaster.internal/ubuntu plucky/universe armhf Packages [15.4 MB] 300s Get:22 http://ftpmaster.internal/ubuntu plucky/universe armhf c-n-f Metadata [277 kB] 300s Get:23 http://ftpmaster.internal/ubuntu plucky/multiverse armhf Packages [172 kB] 303s Fetched 41.1 MB in 26s (1610 kB/s) 304s Reading package lists... 310s autopkgtest [13:10:52]: upgrading testbed (apt dist-upgrade and autopurge) 311s Reading package lists... 312s Building dependency tree... 312s Reading state information... 313s Calculating upgrade...Starting pkgProblemResolver with broken count: 0 313s Starting 2 pkgProblemResolver with broken count: 0 313s Done 314s Entering ResolveByKeep 314s 314s Calculating upgrade... 315s The following packages will be upgraded: 315s python3-dateutil 315s 1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 315s Need to get 80.3 kB of archives. 315s After this operation, 0 B of additional disk space will be used. 315s Get:1 http://ftpmaster.internal/ubuntu plucky/main armhf python3-dateutil all 2.9.0-4 [80.3 kB] 315s Fetched 80.3 kB in 0s (245 kB/s) 316s (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 ... 63958 files and directories currently installed.) 316s Preparing to unpack .../python3-dateutil_2.9.0-4_all.deb ... 316s Unpacking python3-dateutil (2.9.0-4) over (2.9.0-3) ... 316s Setting up python3-dateutil (2.9.0-4) ... 318s Reading package lists... 318s Building dependency tree... 318s Reading state information... 318s Starting pkgProblemResolver with broken count: 0 318s Starting 2 pkgProblemResolver with broken count: 0 318s Done 319s Solving dependencies... 319s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 321s autopkgtest [13:11:03]: rebooting testbed after setup commands that affected boot 385s Reading package lists... 385s Building dependency tree... 385s Reading state information... 386s Starting pkgProblemResolver with broken count: 0 386s Starting 2 pkgProblemResolver with broken count: 0 386s Done 387s The following NEW packages will be installed: 387s etcd-server fonts-font-awesome fonts-lato libio-pty-perl libipc-run-perl 387s libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl libllvm20 libpq5 387s libtime-duration-perl libtimedate-perl libxslt1.1 moreutils patroni 387s patroni-doc postgresql postgresql-17 postgresql-client-17 387s postgresql-client-common postgresql-common postgresql-common-dev 387s python3-behave python3-click python3-coverage python3-dnspython python3-etcd 387s python3-parse python3-parse-type python3-prettytable python3-psutil 387s python3-psycopg2 python3-wcwidth python3-ydiff sphinx-rtd-theme-common 387s ssl-cert 387s 0 upgraded, 37 newly installed, 0 to remove and 0 not upgraded. 387s Need to get 64.4 MB of archives. 387s After this operation, 253 MB of additional disk space will be used. 387s Get:1 http://ftpmaster.internal/ubuntu plucky/main armhf fonts-lato all 2.015-1 [2781 kB] 388s Get:2 http://ftpmaster.internal/ubuntu plucky/main armhf libjson-perl all 4.10000-1 [81.9 kB] 388s Get:3 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql-client-common all 274 [47.6 kB] 388s Get:4 http://ftpmaster.internal/ubuntu plucky/main armhf libio-pty-perl armhf 1:1.20-1build3 [31.0 kB] 388s Get:5 http://ftpmaster.internal/ubuntu plucky/main armhf libipc-run-perl all 20231003.0-2 [91.5 kB] 388s Get:6 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql-common-dev all 274 [73.0 kB] 388s Get:7 http://ftpmaster.internal/ubuntu plucky/main armhf ssl-cert all 1.1.3ubuntu1 [18.7 kB] 388s Get:8 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql-common all 274 [101 kB] 388s Get:9 http://ftpmaster.internal/ubuntu plucky/universe armhf etcd-server armhf 3.5.16-4 [11.3 MB] 390s Get:10 http://ftpmaster.internal/ubuntu plucky/main armhf fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 390s Get:11 http://ftpmaster.internal/ubuntu plucky/main armhf libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 390s Get:12 http://ftpmaster.internal/ubuntu plucky/main armhf libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 390s Get:13 http://ftpmaster.internal/ubuntu plucky/main armhf libjs-sphinxdoc all 8.1.3-5 [31.0 kB] 390s Get:14 http://ftpmaster.internal/ubuntu plucky/main armhf libllvm20 armhf 1:20.1.0~+rc3-1~exp1ubuntu1 [29.6 MB] 398s Get:15 http://ftpmaster.internal/ubuntu plucky/main armhf libpq5 armhf 17.4-1 [125 kB] 398s Get:16 http://ftpmaster.internal/ubuntu plucky/main armhf libtime-duration-perl all 1.21-2 [12.3 kB] 398s Get:17 http://ftpmaster.internal/ubuntu plucky/main armhf libtimedate-perl all 2.3300-2 [34.0 kB] 398s Get:18 http://ftpmaster.internal/ubuntu plucky/main armhf libxslt1.1 armhf 1.1.39-0exp1ubuntu4 [151 kB] 398s Get:19 http://ftpmaster.internal/ubuntu plucky/universe armhf moreutils armhf 0.69-1 [53.5 kB] 398s Get:20 http://ftpmaster.internal/ubuntu plucky/main armhf python3-click all 8.2.0+0.really.8.1.8-1 [80.0 kB] 398s Get:21 http://ftpmaster.internal/ubuntu plucky/main armhf python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 398s Get:22 http://ftpmaster.internal/ubuntu plucky/main armhf python3-prettytable all 3.12.0-1 [36.5 kB] 398s Get:23 http://ftpmaster.internal/ubuntu plucky/main armhf python3-psutil armhf 5.9.8-2build3 [194 kB] 398s Get:24 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-ydiff all 1.4.2-1 [19.0 kB] 398s Get:25 http://ftpmaster.internal/ubuntu plucky/main armhf python3-psycopg2 armhf 2.9.10-1build1 [125 kB] 398s Get:26 http://ftpmaster.internal/ubuntu plucky/main armhf python3-dnspython all 2.7.0-1ubuntu1 [167 kB] 398s Get:27 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-etcd all 0.4.5-6 [32.1 kB] 398s Get:28 http://ftpmaster.internal/ubuntu plucky-proposed/universe armhf patroni all 4.0.4-8 [282 kB] 398s Get:29 http://ftpmaster.internal/ubuntu plucky/main armhf sphinx-rtd-theme-common all 3.0.2+dfsg-2 [1014 kB] 399s Get:30 http://ftpmaster.internal/ubuntu plucky-proposed/universe armhf patroni-doc all 4.0.4-8 [526 kB] 399s Get:31 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql-client-17 armhf 17.4-1 [1285 kB] 399s Get:32 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql-17 armhf 17.4-1 [14.8 MB] 401s Get:33 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql all 17+274 [14.4 kB] 401s Get:34 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-parse all 1.20.2-1 [27.0 kB] 401s Get:35 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-parse-type all 0.6.4-2 [23.5 kB] 401s Get:36 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-behave all 1.2.6-6 [98.6 kB] 402s Get:37 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-coverage armhf 7.6.0+dfsg1-2build1 [152 kB] 402s Preconfiguring packages ... 402s /var/cache/debconf/tmp.ci/postgresql.config.GOi3Gq: 12: pg_lsclusters: not found 402s Fetched 64.4 MB in 15s (4369 kB/s) 402s Selecting previously unselected package fonts-lato. 402s (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 ... 63958 files and directories currently installed.) 402s Preparing to unpack .../00-fonts-lato_2.015-1_all.deb ... 402s Unpacking fonts-lato (2.015-1) ... 402s Selecting previously unselected package libjson-perl. 402s Preparing to unpack .../01-libjson-perl_4.10000-1_all.deb ... 402s Unpacking libjson-perl (4.10000-1) ... 402s Selecting previously unselected package postgresql-client-common. 402s Preparing to unpack .../02-postgresql-client-common_274_all.deb ... 402s Unpacking postgresql-client-common (274) ... 402s Selecting previously unselected package libio-pty-perl. 402s Preparing to unpack .../03-libio-pty-perl_1%3a1.20-1build3_armhf.deb ... 402s Unpacking libio-pty-perl (1:1.20-1build3) ... 402s Selecting previously unselected package libipc-run-perl. 402s Preparing to unpack .../04-libipc-run-perl_20231003.0-2_all.deb ... 402s Unpacking libipc-run-perl (20231003.0-2) ... 402s Selecting previously unselected package postgresql-common-dev. 402s Preparing to unpack .../05-postgresql-common-dev_274_all.deb ... 402s Unpacking postgresql-common-dev (274) ... 403s Selecting previously unselected package ssl-cert. 403s Preparing to unpack .../06-ssl-cert_1.1.3ubuntu1_all.deb ... 403s Unpacking ssl-cert (1.1.3ubuntu1) ... 403s Selecting previously unselected package postgresql-common. 403s Preparing to unpack .../07-postgresql-common_274_all.deb ... 403s Adding 'diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common' 403s Unpacking postgresql-common (274) ... 403s Selecting previously unselected package etcd-server. 403s Preparing to unpack .../08-etcd-server_3.5.16-4_armhf.deb ... 403s Unpacking etcd-server (3.5.16-4) ... 403s Selecting previously unselected package fonts-font-awesome. 403s Preparing to unpack .../09-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 403s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 403s Selecting previously unselected package libjs-jquery. 403s Preparing to unpack .../10-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 403s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 403s Selecting previously unselected package libjs-underscore. 403s Preparing to unpack .../11-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 403s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 403s Selecting previously unselected package libjs-sphinxdoc. 403s Preparing to unpack .../12-libjs-sphinxdoc_8.1.3-5_all.deb ... 403s Unpacking libjs-sphinxdoc (8.1.3-5) ... 403s Selecting previously unselected package libllvm20:armhf. 403s Preparing to unpack .../13-libllvm20_1%3a20.1.0~+rc3-1~exp1ubuntu1_armhf.deb ... 403s Unpacking libllvm20:armhf (1:20.1.0~+rc3-1~exp1ubuntu1) ... 404s Selecting previously unselected package libpq5:armhf. 404s Preparing to unpack .../14-libpq5_17.4-1_armhf.deb ... 404s Unpacking libpq5:armhf (17.4-1) ... 404s Selecting previously unselected package libtime-duration-perl. 404s Preparing to unpack .../15-libtime-duration-perl_1.21-2_all.deb ... 404s Unpacking libtime-duration-perl (1.21-2) ... 404s Selecting previously unselected package libtimedate-perl. 404s Preparing to unpack .../16-libtimedate-perl_2.3300-2_all.deb ... 404s Unpacking libtimedate-perl (2.3300-2) ... 404s Selecting previously unselected package libxslt1.1:armhf. 404s Preparing to unpack .../17-libxslt1.1_1.1.39-0exp1ubuntu4_armhf.deb ... 404s Unpacking libxslt1.1:armhf (1.1.39-0exp1ubuntu4) ... 404s Selecting previously unselected package moreutils. 404s Preparing to unpack .../18-moreutils_0.69-1_armhf.deb ... 404s Unpacking moreutils (0.69-1) ... 404s Selecting previously unselected package python3-click. 404s Preparing to unpack .../19-python3-click_8.2.0+0.really.8.1.8-1_all.deb ... 404s Unpacking python3-click (8.2.0+0.really.8.1.8-1) ... 404s Selecting previously unselected package python3-wcwidth. 404s Preparing to unpack .../20-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 404s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 404s Selecting previously unselected package python3-prettytable. 404s Preparing to unpack .../21-python3-prettytable_3.12.0-1_all.deb ... 404s Unpacking python3-prettytable (3.12.0-1) ... 404s Selecting previously unselected package python3-psutil. 404s Preparing to unpack .../22-python3-psutil_5.9.8-2build3_armhf.deb ... 404s Unpacking python3-psutil (5.9.8-2build3) ... 404s Selecting previously unselected package python3-ydiff. 404s Preparing to unpack .../23-python3-ydiff_1.4.2-1_all.deb ... 404s Unpacking python3-ydiff (1.4.2-1) ... 404s Selecting previously unselected package python3-psycopg2. 404s Preparing to unpack .../24-python3-psycopg2_2.9.10-1build1_armhf.deb ... 404s Unpacking python3-psycopg2 (2.9.10-1build1) ... 404s Selecting previously unselected package python3-dnspython. 404s Preparing to unpack .../25-python3-dnspython_2.7.0-1ubuntu1_all.deb ... 404s Unpacking python3-dnspython (2.7.0-1ubuntu1) ... 405s Selecting previously unselected package python3-etcd. 405s Preparing to unpack .../26-python3-etcd_0.4.5-6_all.deb ... 405s Unpacking python3-etcd (0.4.5-6) ... 405s Selecting previously unselected package patroni. 405s Preparing to unpack .../27-patroni_4.0.4-8_all.deb ... 405s Unpacking patroni (4.0.4-8) ... 405s Selecting previously unselected package sphinx-rtd-theme-common. 405s Preparing to unpack .../28-sphinx-rtd-theme-common_3.0.2+dfsg-2_all.deb ... 405s Unpacking sphinx-rtd-theme-common (3.0.2+dfsg-2) ... 405s Selecting previously unselected package patroni-doc. 405s Preparing to unpack .../29-patroni-doc_4.0.4-8_all.deb ... 405s Unpacking patroni-doc (4.0.4-8) ... 405s Selecting previously unselected package postgresql-client-17. 405s Preparing to unpack .../30-postgresql-client-17_17.4-1_armhf.deb ... 405s Unpacking postgresql-client-17 (17.4-1) ... 405s Selecting previously unselected package postgresql-17. 405s Preparing to unpack .../31-postgresql-17_17.4-1_armhf.deb ... 405s Unpacking postgresql-17 (17.4-1) ... 405s Selecting previously unselected package postgresql. 405s Preparing to unpack .../32-postgresql_17+274_all.deb ... 405s Unpacking postgresql (17+274) ... 405s Selecting previously unselected package python3-parse. 405s Preparing to unpack .../33-python3-parse_1.20.2-1_all.deb ... 405s Unpacking python3-parse (1.20.2-1) ... 405s Selecting previously unselected package python3-parse-type. 405s Preparing to unpack .../34-python3-parse-type_0.6.4-2_all.deb ... 405s Unpacking python3-parse-type (0.6.4-2) ... 405s Selecting previously unselected package python3-behave. 405s Preparing to unpack .../35-python3-behave_1.2.6-6_all.deb ... 405s Unpacking python3-behave (1.2.6-6) ... 405s Selecting previously unselected package python3-coverage. 405s Preparing to unpack .../36-python3-coverage_7.6.0+dfsg1-2build1_armhf.deb ... 405s Unpacking python3-coverage (7.6.0+dfsg1-2build1) ... 405s Setting up postgresql-client-common (274) ... 405s Setting up fonts-lato (2.015-1) ... 405s Setting up libio-pty-perl (1:1.20-1build3) ... 405s Setting up python3-ydiff (1.4.2-1) ... 406s Setting up libpq5:armhf (17.4-1) ... 406s Setting up python3-coverage (7.6.0+dfsg1-2build1) ... 406s Setting up python3-click (8.2.0+0.really.8.1.8-1) ... 406s Setting up python3-psutil (5.9.8-2build3) ... 406s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 406s Setting up ssl-cert (1.1.3ubuntu1) ... 407s Created symlink '/etc/systemd/system/multi-user.target.wants/ssl-cert.service' → '/usr/lib/systemd/system/ssl-cert.service'. 408s Setting up libllvm20:armhf (1:20.1.0~+rc3-1~exp1ubuntu1) ... 408s Setting up python3-psycopg2 (2.9.10-1build1) ... 408s Setting up libipc-run-perl (20231003.0-2) ... 408s Setting up libtime-duration-perl (1.21-2) ... 408s Setting up libtimedate-perl (2.3300-2) ... 408s Setting up python3-dnspython (2.7.0-1ubuntu1) ... 408s Setting up python3-parse (1.20.2-1) ... 408s Setting up libjson-perl (4.10000-1) ... 408s Setting up libxslt1.1:armhf (1.1.39-0exp1ubuntu4) ... 408s Setting up etcd-server (3.5.16-4) ... 408s info: Selecting UID from range 100 to 999 ... 408s 408s info: Selecting GID from range 100 to 999 ... 408s info: Adding system user `etcd' (UID 106) ... 408s info: Adding new group `etcd' (GID 110) ... 408s info: Adding new user `etcd' (UID 106) with group `etcd' ... 409s info: Creating home directory `/var/lib/etcd/' ... 409s Created symlink '/etc/systemd/system/etcd2.service' → '/usr/lib/systemd/system/etcd.service'. 409s Created symlink '/etc/systemd/system/multi-user.target.wants/etcd.service' → '/usr/lib/systemd/system/etcd.service'. 410s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 410s Setting up python3-prettytable (3.12.0-1) ... 410s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 410s Setting up sphinx-rtd-theme-common (3.0.2+dfsg-2) ... 410s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 410s Setting up postgresql-common-dev (274) ... 410s Setting up moreutils (0.69-1) ... 410s Setting up postgresql-client-17 (17.4-1) ... 410s update-alternatives: using /usr/share/postgresql/17/man/man1/psql.1.gz to provide /usr/share/man/man1/psql.1.gz (psql.1.gz) in auto mode 410s Setting up python3-etcd (0.4.5-6) ... 411s Setting up python3-parse-type (0.6.4-2) ... 411s Setting up postgresql-common (274) ... 412s Creating config file /etc/postgresql-common/createcluster.conf with new version 412s Building PostgreSQL dictionaries from installed myspell/hunspell packages... 412s Removing obsolete dictionary files: 412s Created symlink '/etc/systemd/system/multi-user.target.wants/postgresql.service' → '/usr/lib/systemd/system/postgresql.service'. 413s Setting up libjs-sphinxdoc (8.1.3-5) ... 413s Setting up python3-behave (1.2.6-6) ... 413s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 413s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 413s /usr/lib/python3/dist-packages/behave/matchers.py:284: SyntaxWarning: invalid escape sequence '\d' 413s @parse.with_pattern(r"\d+") 413s Setting up patroni (4.0.4-8) ... 413s Created symlink '/etc/systemd/system/multi-user.target.wants/patroni.service' → '/usr/lib/systemd/system/patroni.service'. 414s Setting up postgresql-17 (17.4-1) ... 415s Creating new PostgreSQL cluster 17/main ... 415s /usr/lib/postgresql/17/bin/initdb -D /var/lib/postgresql/17/main --auth-local peer --auth-host scram-sha-256 --no-instructions 415s The files belonging to this database system will be owned by user "postgres". 415s This user must also own the server process. 415s 415s The database cluster will be initialized with locale "C.UTF-8". 415s The default database encoding has accordingly been set to "UTF8". 415s The default text search configuration will be set to "english". 415s 415s Data page checksums are disabled. 415s 415s fixing permissions on existing directory /var/lib/postgresql/17/main ... ok 415s creating subdirectories ... ok 415s selecting dynamic shared memory implementation ... posix 415s selecting default "max_connections" ... 100 415s selecting default "shared_buffers" ... 128MB 415s selecting default time zone ... Etc/UTC 415s creating configuration files ... ok 415s running bootstrap script ... ok 416s performing post-bootstrap initialization ... ok 416s syncing data to disk ... ok 418s Setting up patroni-doc (4.0.4-8) ... 418s Setting up postgresql (17+274) ... 419s Processing triggers for man-db (2.13.0-1) ... 420s Processing triggers for libc-bin (2.41-1ubuntu2) ... 435s autopkgtest [13:12:57]: test acceptance-etcd3-basic: debian/tests/acceptance etcd3 features/basic_replication.feature 435s autopkgtest [13:12:57]: test acceptance-etcd3-basic: [----------------------- 437s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 437s ++ ls -1r /usr/lib/postgresql/ 437s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 437s + '[' 17 == 10 -o 17 == 11 ']' 437s + echo '### PostgreSQL 17 acceptance-etcd3 features/basic_replication.feature ###' 437s + bash -c 'set -o pipefail; ETCD_UNSUPPORTED_ARCH=arm DCS=etcd3 PATH=/usr/lib/postgresql/17/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' 437s ### PostgreSQL 17 acceptance-etcd3 features/basic_replication.feature ### 438s Mar 22 13:13:00 Feature: basic replication # features/basic_replication.feature:1 438s Mar 22 13:13:00 We should check that the basic bootstrapping, replication and failover works. 438s Mar 22 13:13:00 Scenario: check replication of a single table # features/basic_replication.feature:4 438s Mar 22 13:13:00 Given I start postgres-0 # features/steps/basic_replication.py:20 443s Mar 22 13:13:05 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 443s Mar 22 13:13:05 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 443s Mar 22 13:13:05 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:73 443s Mar 22 13:13:05 Then I receive a response code 200 # features/steps/patroni_api.py:100 443s Mar 22 13:13:05 When I start postgres-1 # features/steps/basic_replication.py:20 448s Mar 22 13:13:10 And I configure and start postgres-2 with a tag replicatefrom postgres-0 # features/steps/cascading_replication.py:7 453s Mar 22 13:13:15 And "sync" key in DCS has leader=postgres-0 after 20 seconds # features/steps/cascading_replication.py:23 453s Mar 22 13:13:15 And I add the table foo to postgres-0 # features/steps/basic_replication.py:66 453s Mar 22 13:13:15 Then table foo is present on postgres-1 after 20 seconds # features/steps/basic_replication.py:105 454s Mar 22 13:13:16 Then table foo is present on postgres-2 after 20 seconds # features/steps/basic_replication.py:105 454s Mar 22 13:13:16 454s Mar 22 13:13:16 Scenario: check restart of sync replica # features/basic_replication.feature:17 454s Mar 22 13:13:16 Given I shut down postgres-2 # features/steps/basic_replication.py:41 455s Mar 22 13:13:17 Then "sync" key in DCS has sync_standby=postgres-1 after 5 seconds # features/steps/cascading_replication.py:23 455s Mar 22 13:13:17 When I start postgres-2 # features/steps/basic_replication.py:20 458s Mar 22 13:13:20 And I shut down postgres-1 # features/steps/basic_replication.py:41 461s Mar 22 13:13:23 Then "sync" key in DCS has sync_standby=postgres-2 after 10 seconds # features/steps/cascading_replication.py:23 462s Mar 22 13:13:24 When I start postgres-1 # features/steps/basic_replication.py:20 465s Mar 22 13:13:27 Then "members/postgres-1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 466s Mar 22 13:13:28 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:144 466s Mar 22 13:13:28 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:144 466s Mar 22 13:13:28 466s Mar 22 13:13:28 Scenario: check stuck sync replica # features/basic_replication.feature:28 466s Mar 22 13:13:28 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:73 467s Mar 22 13:13:28 Then I receive a response code 200 # features/steps/patroni_api.py:100 467s Mar 22 13:13:28 And I create table on postgres-0 # features/steps/basic_replication.py:85 467s Mar 22 13:13:28 And table mytest is present on postgres-1 after 2 seconds # features/steps/basic_replication.py:105 468s Mar 22 13:13:29 And table mytest is present on postgres-2 after 2 seconds # features/steps/basic_replication.py:105 468s Mar 22 13:13:29 When I pause wal replay on postgres-2 # features/steps/basic_replication.py:76 468s Mar 22 13:13:29 And I load data on postgres-0 # features/steps/basic_replication.py:96 468s Mar 22 13:13:30 Then "sync" key in DCS has sync_standby=postgres-1 after 15 seconds # features/steps/cascading_replication.py:23 471s Mar 22 13:13:33 And I resume wal replay on postgres-2 # features/steps/basic_replication.py:76 471s Mar 22 13:13:33 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:144 472s Mar 22 13:13:34 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:144 472s Mar 22 13:13: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:73 472s Mar 22 13:13:34 Then I receive a response code 200 # features/steps/patroni_api.py:100 472s Mar 22 13:13:34 And I drop table on postgres-0 # features/steps/basic_replication.py:85 472s Mar 22 13:13:34 472s Mar 22 13:13:34 Scenario: check multi sync replication # features/basic_replication.feature:44 472s Mar 22 13:13:34 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"synchronous_node_count": 2} # features/steps/patroni_api.py:73 472s Mar 22 13:13:34 Then I receive a response code 200 # features/steps/patroni_api.py:100 472s Mar 22 13:13:34 Then "sync" key in DCS has sync_standby=postgres-1,postgres-2 after 10 seconds # features/steps/cascading_replication.py:23 476s Mar 22 13:13:38 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:144 477s Mar 22 13:13:39 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:144 477s Mar 22 13:13: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:73 477s Mar 22 13:13:39 Then I receive a response code 200 # features/steps/patroni_api.py:100 477s Mar 22 13:13:39 And I shut down postgres-1 # features/steps/basic_replication.py:41 480s Mar 22 13:13:42 Then "sync" key in DCS has sync_standby=postgres-2 after 10 seconds # features/steps/cascading_replication.py:23 481s Mar 22 13:13:43 When I start postgres-1 # features/steps/basic_replication.py:20 485s Mar 22 13:13:47 Then "members/postgres-1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 485s Mar 22 13:13:47 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:144 485s Mar 22 13:13:47 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:144 485s Mar 22 13:13:47 485s Mar 22 13:13:47 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 485s Mar 22 13:13:47 Given I run patronictl.py pause batman # features/steps/patroni_api.py:88 486s Mar 22 13:13:48 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 486s Mar 22 13:13:48 When I sleep for 2 seconds # features/steps/patroni_api.py:41 488s Mar 22 13:13:50 And I shut down postgres-0 # features/steps/basic_replication.py:41 489s Mar 22 13:13:51 And I run patronictl.py resume batman # features/steps/patroni_api.py:88 491s Mar 22 13:13:53 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 491s Mar 22 13:13:53 And postgres-2 role is the primary after 24 seconds # features/steps/basic_replication.py:117 510s Mar 22 13:14:12 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:158 513s Mar 22 13:14:15 And there is a postgres-2_cb.log with "on_role_change primary batman" in postgres-2 data directory # features/steps/cascading_replication.py:12 513s Mar 22 13:14:15 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:73 513s Mar 22 13:14:15 Then I receive a response code 200 # features/steps/patroni_api.py:100 513s Mar 22 13:14:15 When I add the table bar to postgres-2 # features/steps/basic_replication.py:66 513s Mar 22 13:14:15 Then table bar is present on postgres-1 after 20 seconds # features/steps/basic_replication.py:105 513s Mar 22 13:14:15 And Response on GET http://127.0.0.1:8010/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:158 513s Mar 22 13:14:15 513s Mar 22 13:14:15 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 513s Mar 22 13:14:15 Given I add the table splitbrain to postgres-0 # features/steps/basic_replication.py:66 513s Mar 22 13:14:15 And I start postgres-0 # features/steps/basic_replication.py:20 513s Mar 22 13:14:15 Then postgres-0 role is the secondary after 20 seconds # features/steps/basic_replication.py:117 521s Mar 22 13:14:23 When I add the table buz to postgres-2 # features/steps/basic_replication.py:66 521s Mar 22 13:14:23 Then table buz is present on postgres-0 after 20 seconds # features/steps/basic_replication.py:105 521s Mar 22 13:14:23 521s Mar 22 13:14:23 @reject-duplicate-name 521s Mar 22 13:14:23 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 521s Mar 22 13:14:23 Given I start duplicate postgres-0 on port 8011 # features/steps/basic_replication.py:25 523s Mar 22 13:14:25 Then there is one of ["Can't start; there is already a node named 'postgres-0' running"] CRITICAL in the dup-postgres-0 patroni log after 5 seconds # features/steps/basic_replication.py:133 528s Mar 22 13:14:29 528s Mar 22 13:14:30 Combined data file .coverage.autopkgtest-lxd-muyhey.3332.XlOBGGhx 528s Mar 22 13:14:30 Combined data file .coverage.autopkgtest-lxd-muyhey.3377.XwYGBQwx 528s Mar 22 13:14:30 Combined data file .coverage.autopkgtest-lxd-muyhey.3418.XGMmXQzx 528s Mar 22 13:14:30 Combined data file .coverage.autopkgtest-lxd-muyhey.3475.XonXvCWx 528s Mar 22 13:14:30 Combined data file .coverage.autopkgtest-lxd-muyhey.3522.XpcpENSx 528s Mar 22 13:14:30 Combined data file .coverage.autopkgtest-lxd-muyhey.3597.XfAnqAtx 528s Mar 22 13:14:30 Combined data file .coverage.autopkgtest-lxd-muyhey.3647.XYuDDitx 528s Mar 22 13:14:30 Combined data file .coverage.autopkgtest-lxd-muyhey.3650.XbSeYvZx 528s Mar 22 13:14:30 Combined data file .coverage.autopkgtest-lxd-muyhey.3730.XwyvUdvx 528s Mar 22 13:14:30 Combined data file .coverage.autopkgtest-lxd-muyhey.3833.XEnFvPFx 532s Mar 22 13:14:34 Name Stmts Miss Cover 532s Mar 22 13:14:34 ------------------------------------------------------------------------------------------------------------- 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/OpenSSL/SSL.py 1159 647 44% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/OpenSSL/__init__.py 3 0 100% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/OpenSSL/_util.py 44 15 66% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/OpenSSL/crypto.py 869 663 24% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/OpenSSL/version.py 9 0 100% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 101 96 5% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/bcrypt/__init__.py 3 0 100% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/cryptography/__about__.py 5 0 100% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/cryptography/__init__.py 3 0 100% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/cryptography/exceptions.py 26 5 81% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/cryptography/hazmat/__init__.py 2 0 100% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/cryptography/hazmat/_oid.py 135 0 100% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/__init__.py 0 0 100% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/__init__.py 0 0 100% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/_conditional.py 38 17 55% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/binding.py 51 4 92% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/__init__.py 1 0 100% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/ciphers/__init__.py 1 0 100% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/ciphers/algorithms.py 68 18 74% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/__init__.py 0 0 100% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_asymmetric.py 6 0 100% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_cipheralgorithm.py 23 4 83% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_serialization.py 79 35 56% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/__init__.py 0 0 100% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dh.py 47 0 100% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dsa.py 55 5 91% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ec.py 172 22 87% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed448.py 45 12 73% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed25519.py 43 12 72% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/padding.py 55 23 58% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/rsa.py 93 40 57% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/types.py 19 0 100% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/utils.py 14 5 64% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x448.py 43 12 72% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x25519.py 41 12 71% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/__init__.py 4 0 100% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/algorithms.py 72 15 79% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/base.py 54 12 78% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/modes.py 140 59 58% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/constant_time.py 6 3 50% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hashes.py 127 20 84% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/__init__.py 5 0 100% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/base.py 7 0 100% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/ssh.py 775 614 21% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/cryptography/utils.py 76 28 63% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/cryptography/x509/__init__.py 70 0 100% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/cryptography/x509/base.py 488 227 53% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/cryptography/x509/certificate_transparency.py 42 0 100% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/cryptography/x509/extensions.py 1024 552 46% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/cryptography/x509/general_name.py 166 94 43% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/cryptography/x509/name.py 236 144 39% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/cryptography/x509/oid.py 3 0 100% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/cryptography/x509/verification.py 12 0 100% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/dateutil/__init__.py 13 4 69% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/dateutil/_version.py 13 3 77% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 810 688 15% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 183 150 18% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 240 206 14% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 151 117 23% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 794 629 21% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/dateutil/tz/win.py 152 149 2% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/dns/__init__.py 2 0 100% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/dns/_asyncbackend.py 14 6 57% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/dns/_ddr.py 105 86 18% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/dns/_features.py 46 8 83% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/dns/_immutable_ctx.py 40 5 88% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/dns/asyncbackend.py 44 32 27% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/dns/asyncquery.py 322 283 12% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/dns/edns.py 307 185 40% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/dns/entropy.py 80 49 39% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/dns/enum.py 72 46 36% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/dns/exception.py 59 33 44% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/dns/flags.py 40 14 65% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/dns/grange.py 33 30 9% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/dns/immutable.py 41 30 27% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/dns/inet.py 79 65 18% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/dns/ipv4.py 26 20 23% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/dns/ipv6.py 114 100 12% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/dns/message.py 829 676 18% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/dns/name.py 617 425 31% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/dns/nameserver.py 102 55 46% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/dns/node.py 117 71 39% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/dns/opcode.py 30 7 77% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/dns/query.py 562 477 15% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/dns/quic/__init__.py 28 23 18% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/dns/rcode.py 68 13 81% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/dns/rdata.py 386 277 28% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/dns/rdataclass.py 43 9 79% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/dns/rdataset.py 192 133 31% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/dns/rdatatype.py 215 23 89% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/OPT.py 34 19 44% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/SOA.py 41 26 37% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/TSIG.py 58 42 28% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/ZONEMD.py 43 27 37% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/__init__.py 1 0 100% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/dns/rdtypes/__init__.py 1 0 100% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/dns/rdtypes/svcbbase.py 415 268 35% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/dns/rdtypes/util.py 191 154 19% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/dns/renderer.py 151 118 22% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/dns/resolver.py 873 696 20% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/dns/reversename.py 32 24 25% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/dns/rrset.py 77 56 27% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/dns/serial.py 92 79 14% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/dns/set.py 148 107 28% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/dns/tokenizer.py 334 279 16% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/dns/transaction.py 269 201 25% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/dns/tsig.py 176 122 31% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/dns/ttl.py 44 38 14% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/dns/version.py 6 0 100% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/dns/wire.py 64 42 34% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/dns/xfr.py 148 126 15% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/dns/zone.py 507 383 24% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/dns/zonefile.py 427 379 11% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/dns/zonetypes.py 14 2 86% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/etcd/__init__.py 125 63 50% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/etcd/client.py 380 256 33% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/etcd/lock.py 125 103 18% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/idna/__init__.py 4 0 100% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/idna/core.py 292 257 12% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/idna/idnadata.py 4 0 100% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/idna/intranges.py 30 24 20% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/idna/package_data.py 1 0 100% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/patroni/__main__.py 201 68 66% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/patroni/api.py 788 437 45% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 19 80% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/patroni/collections.py 56 7 88% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/patroni/config.py 357 100 72% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/patroni/config_generator.py 212 159 25% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/patroni/daemon.py 76 6 92% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 710 164 77% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/patroni/dcs/etcd3.py 679 159 77% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/patroni/dcs/etcd.py 603 256 58% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/patroni/dynamic_loader.py 35 7 80% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/patroni/file_perm.py 47 11 77% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/patroni/global_config.py 87 4 95% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/patroni/ha.py 1359 677 50% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/patroni/log.py 235 81 66% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 825 230 72% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/patroni/postgresql/available_parameters/__init__.py 24 3 88% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 254 89 65% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 840 255 70% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 7 91% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 43 13 70% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/patroni/postgresql/mpp/__init__.py 89 12 87% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 92 46% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 416 188 55% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 349 177 49% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 154 23 85% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 157 24 85% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/patroni/psycopg.py 46 19 59% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/patroni/quorum.py 182 160 12% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/patroni/request.py 58 7 88% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/patroni/tags.py 38 5 87% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/patroni/utils.py 371 125 66% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/patroni/validator.py 309 218 29% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 49 76% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 50 63% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/psutil/__init__.py 950 636 33% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/psutil/_common.py 422 212 50% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/psutil/_compat.py 301 264 12% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1250 936 25% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/psutil/_psposix.py 95 41 57% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/urllib3/__init__.py 49 15 69% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 63 45 29% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/urllib3/_collections.py 231 124 46% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 54 24 56% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/urllib3/_version.py 13 3 77% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/urllib3/connection.py 389 138 65% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 344 134 61% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/urllib3/contrib/__init__.py 0 0 100% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/urllib3/contrib/pyopenssl.py 263 103 61% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/urllib3/exceptions.py 121 39 68% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/urllib3/http2/__init__.py 28 21 25% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/urllib3/http2/probe.py 49 31 37% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 86 63% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/urllib3/response.py 634 350 45% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 42 36% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 49 53% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 15 53% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/urllib3/util/retry.py 174 55 68% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 172 74 57% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 152 106 30% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 14 80% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/urllib3/util/url.py 203 73 64% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 10 62% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 18 63% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/yaml/parser.py 352 198 44% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/yaml/reader.py 122 34 72% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/yaml/scanner.py 758 437 42% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 532s Mar 22 13:14:34 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 532s Mar 22 13:14:34 patroni/__init__.py 13 2 85% 532s Mar 22 13:14:34 patroni/__main__.py 201 201 0% 532s Mar 22 13:14:34 patroni/api.py 788 788 0% 532s Mar 22 13:14:34 patroni/async_executor.py 96 69 28% 532s Mar 22 13:14:34 patroni/collections.py 56 15 73% 532s Mar 22 13:14:34 patroni/config.py 357 186 48% 532s Mar 22 13:14:34 patroni/config_generator.py 212 212 0% 532s Mar 22 13:14:34 patroni/ctl.py 936 661 29% 532s Mar 22 13:14:34 patroni/daemon.py 76 76 0% 532s Mar 22 13:14:34 patroni/dcs/__init__.py 710 357 50% 532s Mar 22 13:14:34 patroni/dcs/consul.py 482 482 0% 532s Mar 22 13:14:34 patroni/dcs/etcd3.py 679 362 47% 532s Mar 22 13:14:34 patroni/dcs/etcd.py 603 285 53% 532s Mar 22 13:14:34 patroni/dcs/exhibitor.py 62 62 0% 532s Mar 22 13:14:34 patroni/dcs/kubernetes.py 943 943 0% 532s Mar 22 13:14:34 patroni/dcs/raft.py 319 319 0% 532s Mar 22 13:14:34 patroni/dcs/zookeeper.py 289 289 0% 532s Mar 22 13:14:34 patroni/dynamic_loader.py 35 7 80% 532s Mar 22 13:14:34 patroni/exceptions.py 16 1 94% 532s Mar 22 13:14:34 patroni/file_perm.py 47 17 64% 532s Mar 22 13:14:34 patroni/global_config.py 87 25 71% 532s Mar 22 13:14:34 patroni/ha.py 1359 1359 0% 532s Mar 22 13:14:34 patroni/log.py 235 183 22% 532s Mar 22 13:14:34 patroni/postgresql/__init__.py 825 653 21% 532s Mar 22 13:14:34 patroni/postgresql/available_parameters/__init__.py 24 3 88% 532s Mar 22 13:14:34 patroni/postgresql/bootstrap.py 254 224 12% 532s Mar 22 13:14:34 patroni/postgresql/callback_executor.py 55 34 38% 532s Mar 22 13:14:34 patroni/postgresql/cancellable.py 104 84 19% 532s Mar 22 13:14:34 patroni/postgresql/config.py 840 720 14% 532s Mar 22 13:14:34 patroni/postgresql/connection.py 75 50 33% 532s Mar 22 13:14:34 patroni/postgresql/misc.py 43 30 30% 532s Mar 22 13:14:34 patroni/postgresql/mpp/__init__.py 89 21 76% 532s Mar 22 13:14:34 patroni/postgresql/mpp/citus.py 366 366 0% 532s Mar 22 13:14:34 patroni/postgresql/postmaster.py 170 139 18% 532s Mar 22 13:14:34 patroni/postgresql/rewind.py 416 416 0% 532s Mar 22 13:14:34 patroni/postgresql/slots.py 349 300 14% 532s Mar 22 13:14:34 patroni/postgresql/sync.py 154 114 26% 532s Mar 22 13:14:34 patroni/postgresql/validator.py 157 52 67% 532s Mar 22 13:14:34 patroni/psycopg.py 46 32 30% 532s Mar 22 13:14:34 patroni/quorum.py 182 182 0% 532s Mar 22 13:14:34 patroni/raft_controller.py 22 22 0% 532s Mar 22 13:14:34 patroni/request.py 58 6 90% 532s Mar 22 13:14:34 patroni/scripts/__init__.py 0 0 100% 532s Mar 22 13:14:34 patroni/scripts/aws.py 59 59 0% 532s Mar 22 13:14:34 patroni/scripts/barman/__init__.py 0 0 100% 532s Mar 22 13:14:34 patroni/scripts/barman/cli.py 50 50 0% 532s Mar 22 13:14:34 patroni/scripts/barman/config_switch.py 50 50 0% 532s Mar 22 13:14:34 patroni/scripts/barman/recover.py 36 36 0% 532s Mar 22 13:14:34 patroni/scripts/barman/utils.py 93 93 0% 532s Mar 22 13:14:34 patroni/scripts/wale_restore.py 207 207 0% 532s Mar 22 13:14:34 patroni/tags.py 38 15 61% 532s Mar 22 13:14:34 patroni/utils.py 371 238 36% 532s Mar 22 13:14:34 patroni/validator.py 309 222 28% 532s Mar 22 13:14:34 patroni/version.py 1 0 100% 532s Mar 22 13:14:34 patroni/watchdog/__init__.py 2 2 0% 532s Mar 22 13:14:34 patroni/watchdog/base.py 203 203 0% 532s Mar 22 13:14:34 patroni/watchdog/linux.py 135 135 0% 532s Mar 22 13:14:34 ------------------------------------------------------------------------------------------------------------- 532s Mar 22 13:14:34 TOTAL 54417 34422 37% 532s Mar 22 13:14:34 1 feature passed, 0 failed, 0 skipped 532s Mar 22 13:14:34 7 scenarios passed, 0 failed, 0 skipped 532s Mar 22 13:14:34 68 steps passed, 0 failed, 0 skipped, 0 undefined 532s Mar 22 13:14:34 Took 1m25.276s 532s + bash -c 'rm -rf features/output' 532s + echo '### End 17 acceptance-etcd3 features/basic_replication.feature ###' 532s + rm -f /tmp/pgpass_postgres-0 /tmp/pgpass_postgres-1 /tmp/pgpass_postgres-2 532s ### End 17 acceptance-etcd3 features/basic_replication.feature ### 532s ++ id -u 532s + '[' 1000 -eq 0 ']' 532s autopkgtest [13:14:34]: test acceptance-etcd3-basic: -----------------------] 536s acceptance-etcd3-basic PASS 536s autopkgtest [13:14:38]: test acceptance-etcd3-basic: - - - - - - - - - - results - - - - - - - - - - 540s autopkgtest [13:14:42]: test acceptance-etcd3: preparing testbed 542s Reading package lists... 542s Building dependency tree... 542s Reading state information... 542s Starting pkgProblemResolver with broken count: 0 542s Starting 2 pkgProblemResolver with broken count: 0 542s Done 543s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 552s autopkgtest [13:14:54]: test acceptance-etcd3: debian/tests/acceptance etcd3 552s autopkgtest [13:14:54]: test acceptance-etcd3: [----------------------- 554s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 555s ++ ls -1r /usr/lib/postgresql/ 555s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 555s + '[' 17 == 10 -o 17 == 11 ']' 555s + echo '### PostgreSQL 17 acceptance-etcd3 ###' 555s + bash -c 'set -o pipefail; ETCD_UNSUPPORTED_ARCH=arm DCS=etcd3 PATH=/usr/lib/postgresql/17/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin behave | ts' 555s ### PostgreSQL 17 acceptance-etcd3 ### 556s Mar 22 13:14:58 Feature: basic replication # features/basic_replication.feature:1 556s Mar 22 13:14:58 We should check that the basic bootstrapping, replication and failover works. 556s Mar 22 13:14:58 Scenario: check replication of a single table # features/basic_replication.feature:4 556s Mar 22 13:14:58 Given I start postgres-0 # features/steps/basic_replication.py:20 561s Mar 22 13:15:03 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 561s Mar 22 13:15:03 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 561s Mar 22 13:15:03 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:73 561s Mar 22 13:15:03 Then I receive a response code 200 # features/steps/patroni_api.py:100 561s Mar 22 13:15:03 When I start postgres-1 # features/steps/basic_replication.py:20 566s Mar 22 13:15:08 And I configure and start postgres-2 with a tag replicatefrom postgres-0 # features/steps/cascading_replication.py:7 571s Mar 22 13:15:13 And "sync" key in DCS has leader=postgres-0 after 20 seconds # features/steps/cascading_replication.py:23 571s Mar 22 13:15:13 And I add the table foo to postgres-0 # features/steps/basic_replication.py:66 571s Mar 22 13:15:13 Then table foo is present on postgres-1 after 20 seconds # features/steps/basic_replication.py:105 572s Mar 22 13:15:14 Then table foo is present on postgres-2 after 20 seconds # features/steps/basic_replication.py:105 572s Mar 22 13:15:14 572s Mar 22 13:15:14 Scenario: check restart of sync replica # features/basic_replication.feature:17 572s Mar 22 13:15:14 Given I shut down postgres-2 # features/steps/basic_replication.py:41 573s Mar 22 13:15:15 Then "sync" key in DCS has sync_standby=postgres-1 after 5 seconds # features/steps/cascading_replication.py:23 573s Mar 22 13:15:15 When I start postgres-2 # features/steps/basic_replication.py:20 576s Mar 22 13:15:18 And I shut down postgres-1 # features/steps/basic_replication.py:41 579s Mar 22 13:15:21 Then "sync" key in DCS has sync_standby=postgres-2 after 10 seconds # features/steps/cascading_replication.py:23 579s Mar 22 13:15:21 When I start postgres-1 # features/steps/basic_replication.py:20 582s Mar 22 13:15:24 Then "members/postgres-1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 583s Mar 22 13:15:25 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:144 583s Mar 22 13:15:25 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:144 583s Mar 22 13:15:25 583s Mar 22 13:15:25 Scenario: check stuck sync replica # features/basic_replication.feature:28 583s Mar 22 13:15:25 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"pause": true, "maximum_lag_on_syncnode": 15000000, "postgresql": {"parameters": {"synchronous_commit": "remote_apply"}}} # features/steps/patroni_api.py:73 583s Mar 22 13:15:25 Then I receive a response code 200 # features/steps/patroni_api.py:100 583s Mar 22 13:15:25 And I create table on postgres-0 # features/steps/basic_replication.py:85 583s Mar 22 13:15:25 And table mytest is present on postgres-1 after 2 seconds # features/steps/basic_replication.py:105 584s Mar 22 13:15:26 And table mytest is present on postgres-2 after 2 seconds # features/steps/basic_replication.py:105 584s Mar 22 13:15:26 When I pause wal replay on postgres-2 # features/steps/basic_replication.py:76 584s Mar 22 13:15:26 And I load data on postgres-0 # features/steps/basic_replication.py:96 585s Mar 22 13:15:27 Then "sync" key in DCS has sync_standby=postgres-1 after 15 seconds # features/steps/cascading_replication.py:23 588s Mar 22 13:15:30 And I resume wal replay on postgres-2 # features/steps/basic_replication.py:76 588s Mar 22 13:15:30 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:144 589s Mar 22 13:15:31 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:144 589s Mar 22 13:15:31 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:73 589s Mar 22 13:15:31 Then I receive a response code 200 # features/steps/patroni_api.py:100 589s Mar 22 13:15:31 And I drop table on postgres-0 # features/steps/basic_replication.py:85 589s Mar 22 13:15:31 589s Mar 22 13:15:31 Scenario: check multi sync replication # features/basic_replication.feature:44 589s Mar 22 13:15:31 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"synchronous_node_count": 2} # features/steps/patroni_api.py:73 589s Mar 22 13:15:31 Then I receive a response code 200 # features/steps/patroni_api.py:100 589s Mar 22 13:15:31 Then "sync" key in DCS has sync_standby=postgres-1,postgres-2 after 10 seconds # features/steps/cascading_replication.py:23 593s Mar 22 13:15:35 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:144 593s Mar 22 13:15:35 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:144 593s Mar 22 13:15:35 When I issue a PATCH request to http://127.0.0.1:8008/config with {"synchronous_node_count": 1} # features/steps/patroni_api.py:73 593s Mar 22 13:15:35 Then I receive a response code 200 # features/steps/patroni_api.py:100 593s Mar 22 13:15:35 And I shut down postgres-1 # features/steps/basic_replication.py:41 596s Mar 22 13:15:38 Then "sync" key in DCS has sync_standby=postgres-2 after 10 seconds # features/steps/cascading_replication.py:23 597s Mar 22 13:15:39 When I start postgres-1 # features/steps/basic_replication.py:20 601s Mar 22 13:15:43 Then "members/postgres-1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 601s Mar 22 13:15:43 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:144 601s Mar 22 13:15:43 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:144 601s Mar 22 13:15:43 601s Mar 22 13:15:43 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 601s Mar 22 13:15:43 Given I run patronictl.py pause batman # features/steps/patroni_api.py:88 603s Mar 22 13:15:45 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 603s Mar 22 13:15:45 When I sleep for 2 seconds # features/steps/patroni_api.py:41 605s Mar 22 13:15:47 And I shut down postgres-0 # features/steps/basic_replication.py:41 606s Mar 22 13:15:48 And I run patronictl.py resume batman # features/steps/patroni_api.py:88 607s Mar 22 13:15:49 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 607s Mar 22 13:15:49 And postgres-2 role is the primary after 24 seconds # features/steps/basic_replication.py:117 626s Mar 22 13:16:08 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:158 630s Mar 22 13:16:12 And there is a postgres-2_cb.log with "on_role_change primary batman" in postgres-2 data directory # features/steps/cascading_replication.py:12 630s Mar 22 13:16:12 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:73 630s Mar 22 13:16:12 Then I receive a response code 200 # features/steps/patroni_api.py:100 630s Mar 22 13:16:12 When I add the table bar to postgres-2 # features/steps/basic_replication.py:66 630s Mar 22 13:16:12 Then table bar is present on postgres-1 after 20 seconds # features/steps/basic_replication.py:105 630s Mar 22 13:16:12 And Response on GET http://127.0.0.1:8010/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:158 631s Mar 22 13:16:13 631s Mar 22 13:16:13 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 631s Mar 22 13:16:13 Given I add the table splitbrain to postgres-0 # features/steps/basic_replication.py:66 631s Mar 22 13:16:13 And I start postgres-0 # features/steps/basic_replication.py:20 631s Mar 22 13:16:13 Then postgres-0 role is the secondary after 20 seconds # features/steps/basic_replication.py:117 635s Mar 22 13:16:17 When I add the table buz to postgres-2 # features/steps/basic_replication.py:66 635s Mar 22 13:16:17 Then table buz is present on postgres-0 after 20 seconds # features/steps/basic_replication.py:105 639s Mar 22 13:16:21 639s Mar 22 13:16:21 @reject-duplicate-name 639s Mar 22 13:16:21 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 639s Mar 22 13:16:21 Given I start duplicate postgres-0 on port 8011 # features/steps/basic_replication.py:25 641s Mar 22 13:16:23 Then there is one of ["Can't start; there is already a node named 'postgres-0' running"] CRITICAL in the dup-postgres-0 patroni log after 5 seconds # features/steps/basic_replication.py:133 645s Mar 22 13:16:27 645s Mar 22 13:16:27 Feature: cascading replication # features/cascading_replication.feature:1 645s Mar 22 13:16:27 We should check that patroni can do base backup and streaming from the replica 645s Mar 22 13:16:27 Scenario: check a base backup and streaming replication from a replica # features/cascading_replication.feature:4 645s Mar 22 13:16:27 Given I start postgres-0 # features/steps/basic_replication.py:20 650s Mar 22 13:16:32 And postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 650s Mar 22 13:16:32 And I configure and start postgres-1 with a tag clonefrom true # features/steps/cascading_replication.py:7 655s Mar 22 13:16:37 And replication works from postgres-0 to postgres-1 after 20 seconds # features/steps/basic_replication.py:124 656s Mar 22 13:16:38 And I create label with "postgres-0" in postgres-0 data directory # features/steps/cascading_replication.py:18 656s Mar 22 13:16:38 And I create label with "postgres-1" in postgres-1 data directory # features/steps/cascading_replication.py:18 656s Mar 22 13:16:38 And "members/postgres-1" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 656s Mar 22 13:16:38 And I configure and start postgres-2 with a tag replicatefrom postgres-1 # features/steps/cascading_replication.py:7 661s Mar 22 13:16:43 Then replication works from postgres-0 to postgres-2 after 30 seconds # features/steps/basic_replication.py:124 662s Mar 22 13:16:44 And there is a label with "postgres-1" in postgres-2 data directory # features/steps/cascading_replication.py:12 667s Mar 22 13:16:49 667s SKIP FEATURE citus: Citus extension isn't available 667s SKIP Scenario check that worker cluster is registered in the coordinator: Citus extension isn't available 667s SKIP Scenario coordinator failover updates pg_dist_node: Citus extension isn't available 667s SKIP Scenario worker switchover doesn't break client queries on the coordinator: Citus extension isn't available 667s SKIP Scenario worker primary restart doesn't break client queries on the coordinator: Citus extension isn't available 667s SKIP Scenario check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node: Citus extension isn't available 667s Mar 22 13:16:49 Feature: citus # features/citus.feature:1 667s Mar 22 13:16:49 We should check that coordinator discovers and registers workers and clients don't have errors when worker cluster switches over 667s Mar 22 13:16:49 Scenario: check that worker cluster is registered in the coordinator # features/citus.feature:4 667s Mar 22 13:16:49 Given I start postgres-0 in citus group 0 # None 667s Mar 22 13:16:49 And I start postgres-2 in citus group 1 # None 667s Mar 22 13:16:49 Then postgres-0 is a leader in a group 0 after 10 seconds # None 667s Mar 22 13:16:49 And postgres-2 is a leader in a group 1 after 10 seconds # None 667s Mar 22 13:16:49 When I start postgres-1 in citus group 0 # None 667s Mar 22 13:16:49 And I start postgres-3 in citus group 1 # None 667s Mar 22 13:16:49 Then replication works from postgres-0 to postgres-1 after 15 seconds # None 667s Mar 22 13:16:49 Then replication works from postgres-2 to postgres-3 after 15 seconds # None 667s Mar 22 13:16:49 And postgres-0 is registered in the postgres-0 as the primary in group 0 after 5 seconds # None 667s Mar 22 13:16:49 And postgres-1 is registered in the postgres-0 as the secondary in group 0 after 5 seconds # None 667s Mar 22 13:16:49 And postgres-2 is registered in the postgres-0 as the primary in group 1 after 5 seconds # None 667s Mar 22 13:16:49 And postgres-3 is registered in the postgres-0 as the secondary in group 1 after 5 seconds # None 667s Mar 22 13:16:49 667s Mar 22 13:16:49 Scenario: coordinator failover updates pg_dist_node # features/citus.feature:18 667s Mar 22 13:16:49 Given I run patronictl.py failover batman --group 0 --candidate postgres-1 --force # None 667s Mar 22 13:16:49 Then postgres-1 role is the primary after 10 seconds # None 667s Mar 22 13:16:49 And "members/postgres-0" key in a group 0 in DCS has state=running after 15 seconds # None 667s Mar 22 13:16:49 And replication works from postgres-1 to postgres-0 after 15 seconds # None 667s Mar 22 13:16:49 And postgres-1 is registered in the postgres-2 as the primary in group 0 after 5 seconds # None 667s Mar 22 13:16:49 And postgres-0 is registered in the postgres-2 as the secondary in group 0 after 15 seconds # None 667s Mar 22 13:16:49 And "sync" key in a group 0 in DCS has sync_standby=postgres-0 after 15 seconds # None 667s Mar 22 13:16:49 When I run patronictl.py switchover batman --group 0 --candidate postgres-0 --force # None 667s Mar 22 13:16:49 Then postgres-0 role is the primary after 10 seconds # None 667s Mar 22 13:16:49 And replication works from postgres-0 to postgres-1 after 15 seconds # None 667s Mar 22 13:16:49 And postgres-0 is registered in the postgres-2 as the primary in group 0 after 5 seconds # None 667s Mar 22 13:16:49 And postgres-1 is registered in the postgres-2 as the secondary in group 0 after 15 seconds # None 667s Mar 22 13:16:49 And "sync" key in a group 0 in DCS has sync_standby=postgres-1 after 15 seconds # None 667s Mar 22 13:16:49 667s Mar 22 13:16:49 Scenario: worker switchover doesn't break client queries on the coordinator # features/citus.feature:33 667s Mar 22 13:16:49 Given I create a distributed table on postgres-0 # None 667s Mar 22 13:16:49 And I start a thread inserting data on postgres-0 # None 667s Mar 22 13:16:49 When I run patronictl.py switchover batman --group 1 --force # None 667s Mar 22 13:16:49 Then I receive a response returncode 0 # None 667s Mar 22 13:16:49 And postgres-3 role is the primary after 10 seconds # None 667s Mar 22 13:16:49 And "members/postgres-2" key in a group 1 in DCS has state=running after 15 seconds # None 667s Mar 22 13:16:49 And replication works from postgres-3 to postgres-2 after 15 seconds # None 667s Mar 22 13:16:49 And postgres-3 is registered in the postgres-0 as the primary in group 1 after 5 seconds # None 667s Mar 22 13:16:49 And postgres-2 is registered in the postgres-0 as the secondary in group 1 after 15 seconds # None 667s Mar 22 13:16:49 And "sync" key in a group 1 in DCS has sync_standby=postgres-2 after 15 seconds # None 667s Mar 22 13:16:49 And a thread is still alive # None 667s Mar 22 13:16:49 When I run patronictl.py switchover batman --group 1 --force # None 667s Mar 22 13:16:49 Then I receive a response returncode 0 # None 667s Mar 22 13:16:49 And postgres-2 role is the primary after 10 seconds # None 667s Mar 22 13:16:49 And replication works from postgres-2 to postgres-3 after 15 seconds # None 667s Mar 22 13:16:49 And postgres-2 is registered in the postgres-0 as the primary in group 1 after 5 seconds # None 667s Mar 22 13:16:49 And postgres-3 is registered in the postgres-0 as the secondary in group 1 after 15 seconds # None 667s Mar 22 13:16:49 And "sync" key in a group 1 in DCS has sync_standby=postgres-3 after 15 seconds # None 667s Mar 22 13:16:49 And a thread is still alive # None 667s Mar 22 13:16:49 When I stop a thread # None 667s Mar 22 13:16:49 Then a distributed table on postgres-0 has expected rows # None 667s Mar 22 13:16:49 667s Mar 22 13:16:49 Scenario: worker primary restart doesn't break client queries on the coordinator # features/citus.feature:56 667s Mar 22 13:16:49 Given I cleanup a distributed table on postgres-0 # None 667s Mar 22 13:16:49 And I start a thread inserting data on postgres-0 # None 667s Mar 22 13:16:49 When I run patronictl.py restart batman postgres-2 --group 1 --force # None 667s Mar 22 13:16:49 Then I receive a response returncode 0 # None 667s Mar 22 13:16:49 And postgres-2 role is the primary after 10 seconds # None 667s Mar 22 13:16:49 And replication works from postgres-2 to postgres-3 after 15 seconds # None 667s Mar 22 13:16:49 And postgres-2 is registered in the postgres-0 as the primary in group 1 after 5 seconds # None 667s Mar 22 13:16:49 And postgres-3 is registered in the postgres-0 as the secondary in group 1 after 15 seconds # None 667s Mar 22 13:16:49 And a thread is still alive # None 667s Mar 22 13:16:49 When I stop a thread # None 667s Mar 22 13:16:49 Then a distributed table on postgres-0 has expected rows # None 667s Mar 22 13:16:49 667s Mar 22 13:16:49 Scenario: check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node # features/citus.feature:69 667s Mar 22 13:16:49 Given I start postgres-4 in citus group 2 # None 667s Mar 22 13:16:49 Then postgres-4 is a leader in a group 2 after 10 seconds # None 667s Mar 22 13:16:49 And "members/postgres-4" key in a group 2 in DCS has role=primary after 3 seconds # None 667s Mar 22 13:16:49 When I run patronictl.py edit-config batman --group 2 -s ttl=20 --force # None 667s Mar 22 13:16:49 Then I receive a response returncode 0 # None 667s Mar 22 13:16:49 And I receive a response output "+ttl: 20" # None 667s Mar 22 13:16:49 Then postgres-4 is registered in the postgres-2 as the primary in group 2 after 5 seconds # None 667s Mar 22 13:16:49 When I shut down postgres-4 # None 667s Mar 22 13:16:49 Then there is a transaction in progress on postgres-0 changing pg_dist_node after 5 seconds # None 667s Mar 22 13:16:49 When I run patronictl.py restart batman postgres-2 --group 1 --force # None 667s Mar 22 13:16:49 Then a transaction finishes in 20 seconds # None 667s Mar 22 13:16:49 667s Mar 22 13:16:49 Feature: custom bootstrap # features/custom_bootstrap.feature:1 667s Mar 22 13:16:49 We should check that patroni can bootstrap a new cluster from a backup 667s Mar 22 13:16:49 Scenario: clone existing cluster using pg_basebackup # features/custom_bootstrap.feature:4 667s Mar 22 13:16:49 Given I start postgres-0 # features/steps/basic_replication.py:20 672s Mar 22 13:16:54 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 672s Mar 22 13:16:54 When I add the table foo to postgres-0 # features/steps/basic_replication.py:66 672s Mar 22 13:16:54 And I start postgres-1 in a cluster batman1 as a clone of postgres-0 # features/steps/custom_bootstrap.py:6 679s Mar 22 13:17:01 Then postgres-1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 680s Mar 22 13:17:02 Then table foo is present on postgres-1 after 10 seconds # features/steps/basic_replication.py:105 680s Mar 22 13:17:02 680s Mar 22 13:17:02 Scenario: make a backup and do a restore into a new cluster # features/custom_bootstrap.feature:12 680s Mar 22 13:17:02 Given I add the table bar to postgres-1 # features/steps/basic_replication.py:66 680s Mar 22 13:17:02 And I do a backup of postgres-1 # features/steps/custom_bootstrap.py:25 681s Mar 22 13:17:03 When I start postgres-2 in a cluster batman2 from backup # features/steps/custom_bootstrap.py:11 688s Mar 22 13:17:10 Then postgres-2 is a leader of batman2 after 30 seconds # features/steps/custom_bootstrap.py:16 688s Mar 22 13:17:10 And table bar is present on postgres-2 after 10 seconds # features/steps/basic_replication.py:105 695s Mar 22 13:17:17 695s Mar 22 13:17:17 Feature: dcs failsafe mode # features/dcs_failsafe_mode.feature:1 695s Mar 22 13:17:17 We should check the basic dcs failsafe mode functioning 695s Mar 22 13:17:17 Scenario: check failsafe mode can be successfully enabled # features/dcs_failsafe_mode.feature:4 695s Mar 22 13:17:17 Given I start postgres-0 # features/steps/basic_replication.py:20 700s Mar 22 13:17:22 And postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 700s Mar 22 13:17:22 Then "config" key in DCS has ttl=30 after 10 seconds # features/steps/cascading_replication.py:23 700s Mar 22 13:17:22 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:73 700s Mar 22 13:17:22 Then I receive a response code 200 # features/steps/patroni_api.py:100 700s Mar 22 13:17:22 And Response on GET http://127.0.0.1:8008/failsafe contains postgres-0 after 10 seconds # features/steps/patroni_api.py:158 701s Mar 22 13:17:23 When I issue a GET request to http://127.0.0.1:8008/failsafe # features/steps/patroni_api.py:63 701s Mar 22 13:17:23 Then I receive a response code 200 # features/steps/patroni_api.py:100 701s Mar 22 13:17:23 And I receive a response postgres-0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:100 701s Mar 22 13:17:23 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,"postgres_0":null}} # features/steps/patroni_api.py:73 701s Mar 22 13:17:23 Then I receive a response code 200 # features/steps/patroni_api.py:100 701s Mar 22 13:17:23 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:73 701s Mar 22 13:17:23 Then I receive a response code 200 # features/steps/patroni_api.py:100 701s SKIP Scenario check one-node cluster is functioning while DCS is down: it is not possible to control state of etcd3 from tests 701s 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 701s Mar 22 13:17:23 701s Mar 22 13:17:23 @dcs-failsafe 701s Mar 22 13:17:23 Scenario: check one-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:20 701s Mar 22 13:17:23 Given DCS is down # None 701s Mar 22 13:17:23 Then Response on GET http://127.0.0.1:8008/primary contains failsafe_mode_is_active after 12 seconds # None 701s Mar 22 13:17:23 And postgres-0 role is the primary after 10 seconds # None 701s Mar 22 13:17:23 701s Mar 22 13:17:23 @dcs-failsafe 701s Mar 22 13:17:23 Scenario: check new replica isn't promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:26 701s Mar 22 13:17:23 Given DCS is up # None 701s Mar 22 13:17:23 When I do a backup of postgres-0 # None 701s Mar 22 13:17:23 And I shut down postgres-0 # None 701s Mar 22 13:17:23 When I start postgres-1 in a cluster batman from backup with no_leader # None 701s Mar 22 13:17:23 Then postgres-1 role is the replica after 12 seconds # None 701s Mar 22 13:17:23 701s Mar 22 13:17:23 Scenario: check leader and replica are both in /failsafe key after leader is back # features/dcs_failsafe_mode.feature:33 701s Mar 22 13:17:23 Given I start postgres-0 # features/steps/basic_replication.py:20 701s Mar 22 13:17:23 And I start postgres-1 # features/steps/basic_replication.py:20 706s Mar 22 13:17:28 Then "members/postgres-0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 706s Mar 22 13:17:28 And "members/postgres-1" key in DCS has state=running after 2 seconds # features/steps/cascading_replication.py:23 707s Mar 22 13:17:29 And Response on GET http://127.0.0.1:8009/failsafe contains postgres-1 after 10 seconds # features/steps/patroni_api.py:158 707s Mar 22 13:17:29 When I issue a GET request to http://127.0.0.1:8009/failsafe # features/steps/patroni_api.py:63 707s SKIP Scenario check leader and replica are functioning while DCS is down: it is not possible to control state of etcd3 from tests 707s 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 707s Mar 22 13:17:29 Then I receive a response code 200 # features/steps/patroni_api.py:100 707s Mar 22 13:17:29 And I receive a response postgres-0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:100 707s Mar 22 13:17:29 And I receive a response postgres-1 http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:100 707s 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 707s SKIP Scenario scale to three-node cluster: it is not possible to control state of etcd3 from tests 707s Mar 22 13:17:29 707s Mar 22 13:17:29 @dcs-failsafe @slot-advance 707s Mar 22 13:17:29 Scenario: check leader and replica are functioning while DCS is down # features/dcs_failsafe_mode.feature:46 707s Mar 22 13:17:29 Given I get all changes from physical slot dcs_slot_1 on postgres-0 # None 707s Mar 22 13:17:29 Then physical slot dcs_slot_1 is in sync between postgres-0 and postgres-1 after 10 seconds # None 707s Mar 22 13:17:29 And logical slot dcs_slot_0 is in sync between postgres-0 and postgres-1 after 10 seconds # None 707s Mar 22 13:17:29 And DCS is down # None 707s Mar 22 13:17:29 Then Response on GET http://127.0.0.1:8008/primary contains failsafe_mode_is_active after 12 seconds # None 707s Mar 22 13:17:29 Then postgres-0 role is the primary after 10 seconds # None 707s Mar 22 13:17:29 And postgres-1 role is the replica after 2 seconds # None 707s Mar 22 13:17:29 And replication works from postgres-0 to postgres-1 after 10 seconds # None 707s Mar 22 13:17:29 When I get all changes from logical slot dcs_slot_0 on postgres-0 # None 707s Mar 22 13:17:29 And I get all changes from physical slot dcs_slot_1 on postgres-0 # None 707s Mar 22 13:17:29 Then logical slot dcs_slot_0 is in sync between postgres-0 and postgres-1 after 20 seconds # None 707s Mar 22 13:17:29 And physical slot dcs_slot_1 is in sync between postgres-0 and postgres-1 after 10 seconds # None 707s Mar 22 13:17:29 707s Mar 22 13:17:29 @dcs-failsafe 707s Mar 22 13:17:29 Scenario: check primary is demoted when one replica is shut down and DCS is down # features/dcs_failsafe_mode.feature:61 707s Mar 22 13:17:29 Given DCS is down # None 707s Mar 22 13:17:29 And I kill postgres-1 # None 707s Mar 22 13:17:29 And I kill postmaster on postgres-1 # None 707s Mar 22 13:17:29 Then postgres-0 role is the replica after 12 seconds # None 707s Mar 22 13:17:29 707s Mar 22 13:17:29 @dcs-failsafe 707s Mar 22 13:17:29 Scenario: check known replica is promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:68 707s Mar 22 13:17:29 Given I kill postgres-0 # None 707s Mar 22 13:17:29 And I shut down postmaster on postgres-0 # None 707s Mar 22 13:17:29 And DCS is up # None 707s Mar 22 13:17:29 When I start postgres-1 # None 707s Mar 22 13:17:29 Then "members/postgres-1" key in DCS has state=running after 10 seconds # None 707s Mar 22 13:17:29 And postgres-1 role is the primary after 25 seconds # None 707s SKIP Scenario make sure permanent slots exist on replicas: it is not possible to control state of etcd3 from tests 707s SKIP Scenario check three-node cluster is functioning while DCS is down: it is not possible to control state of etcd3 from tests 707s 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 707s Mar 22 13:17:29 707s Mar 22 13:17:29 @dcs-failsafe 707s Mar 22 13:17:29 Scenario: scale to three-node cluster # features/dcs_failsafe_mode.feature:77 707s Mar 22 13:17:29 Given I start postgres-0 # None 707s Mar 22 13:17:29 And I configure and start postgres-2 with a tag replicatefrom postgres-0 # None 707s Mar 22 13:17:29 Then "members/postgres-2" key in DCS has state=running after 10 seconds # None 707s Mar 22 13:17:29 And "members/postgres-0" key in DCS has state=running after 20 seconds # None 707s Mar 22 13:17:29 And Response on GET http://127.0.0.1:8008/failsafe contains postgres-2 after 10 seconds # None 707s Mar 22 13:17:29 And replication works from postgres-1 to postgres-0 after 10 seconds # None 707s Mar 22 13:17:29 And replication works from postgres-1 to postgres-2 after 10 seconds # None 707s Mar 22 13:17:29 707s Mar 22 13:17:29 @dcs-failsafe @slot-advance 707s Mar 22 13:17:29 Scenario: make sure permanent slots exist on replicas # features/dcs_failsafe_mode.feature:88 707s Mar 22 13:17:29 Given I issue a PATCH request to http://127.0.0.1:8009/config with {"slots":{"dcs_slot_0":null,"dcs_slot_2":{"type":"logical","database":"postgres","plugin":"test_decoding"}}} # None 707s Mar 22 13:17:29 Then logical slot dcs_slot_2 is in sync between postgres-1 and postgres-0 after 20 seconds # None 707s Mar 22 13:17:29 And logical slot dcs_slot_2 is in sync between postgres-1 and postgres-2 after 20 seconds # None 707s Mar 22 13:17:29 When I get all changes from physical slot dcs_slot_1 on postgres-1 # None 707s Mar 22 13:17:29 Then physical slot dcs_slot_1 is in sync between postgres-1 and postgres-0 after 10 seconds # None 707s Mar 22 13:17:29 And physical slot dcs_slot_1 is in sync between postgres-1 and postgres-2 after 10 seconds # None 707s Mar 22 13:17:29 And physical slot postgres_0 is in sync between postgres-1 and postgres-2 after 10 seconds # None 707s Mar 22 13:17:29 And physical slot postgres_2 is in sync between postgres-0 and postgres-1 after 10 seconds # None 707s Mar 22 13:17:29 707s Mar 22 13:17:29 @dcs-failsafe 707s Mar 22 13:17:29 Scenario: check three-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:99 707s Mar 22 13:17:29 Given DCS is down # None 707s Mar 22 13:17:29 Then Response on GET http://127.0.0.1:8009/primary contains failsafe_mode_is_active after 12 seconds # None 707s Mar 22 13:17:29 Then postgres-1 role is the primary after 10 seconds # None 707s Mar 22 13:17:29 And postgres-0 role is the replica after 2 seconds # None 707s Mar 22 13:17:29 And postgres-2 role is the replica after 2 seconds # None 711s Mar 22 13:17:33 711s Mar 22 13:17:33 @dcs-failsafe @slot-advance 711s Mar 22 13:17:33 Scenario: check that permanent slots are in sync between nodes while DCS is down # features/dcs_failsafe_mode.feature:108 711s Mar 22 13:17:33 Given replication works from postgres-1 to postgres-0 after 10 seconds # None 711s Mar 22 13:17:33 And replication works from postgres-1 to postgres-2 after 10 seconds # None 711s Mar 22 13:17:33 When I get all changes from logical slot dcs_slot_2 on postgres-1 # None 711s Mar 22 13:17:33 And I get all changes from physical slot dcs_slot_1 on postgres-1 # None 711s Mar 22 13:17:33 Then logical slot dcs_slot_2 is in sync between postgres-1 and postgres-0 after 20 seconds # None 711s Mar 22 13:17:33 And logical slot dcs_slot_2 is in sync between postgres-1 and postgres-2 after 20 seconds # None 711s Mar 22 13:17:33 And physical slot dcs_slot_1 is in sync between postgres-1 and postgres-0 after 10 seconds # None 711s Mar 22 13:17:33 And physical slot dcs_slot_1 is in sync between postgres-1 and postgres-2 after 10 seconds # None 711s Mar 22 13:17:33 And physical slot postgres_0 is in sync between postgres-1 and postgres-2 after 10 seconds # None 711s Mar 22 13:17:33 And physical slot postgres_2 is in sync between postgres-0 and postgres-1 after 10 seconds # None 711s Mar 22 13:17:33 711s Mar 22 13:17:33 Feature: ignored slots # features/ignored_slots.feature:1 711s Mar 22 13:17:33 711s Mar 22 13:17:33 Scenario: check ignored slots aren't removed on failover/switchover # features/ignored_slots.feature:2 711s Mar 22 13:17:33 Given I start postgres-1 # features/steps/basic_replication.py:20 716s Mar 22 13:17:38 Then postgres-1 is a leader after 10 seconds # features/steps/patroni_api.py:31 716s Mar 22 13:17:38 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 716s Mar 22 13:17: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:73 716s Mar 22 13:17:38 Then I receive a response code 200 # features/steps/patroni_api.py:100 716s Mar 22 13:17:38 And Response on GET http://127.0.0.1:8009/config contains ignore_slots after 10 seconds # features/steps/patroni_api.py:158 716s Mar 22 13:17:38 When I shut down postgres-1 # features/steps/basic_replication.py:41 718s Mar 22 13:17:40 And I start postgres-1 # features/steps/basic_replication.py:20 721s Mar 22 13:17:43 Then postgres-1 is a leader after 10 seconds # features/steps/patroni_api.py:31 722s Mar 22 13:17:44 And "members/postgres-1" key in DCS has role=primary after 10 seconds # features/steps/cascading_replication.py:23 723s Mar 22 13:17:45 And postgres-1 role is the primary after 20 seconds # features/steps/basic_replication.py:117 723s Mar 22 13:17:45 When I create a logical replication slot unmanaged_slot_0 on postgres-1 with the test_decoding plugin # features/steps/slots.py:9 723s Mar 22 13:17:45 And I create a logical replication slot unmanaged_slot_1 on postgres-1 with the test_decoding plugin # features/steps/slots.py:9 724s Mar 22 13:17:45 And I create a logical replication slot unmanaged_slot_2 on postgres-1 with the test_decoding plugin # features/steps/slots.py:9 724s Mar 22 13:17:45 And I create a logical replication slot unmanaged_slot_3 on postgres-1 with the test_decoding plugin # features/steps/slots.py:9 724s Mar 22 13:17:46 And I create a logical replication slot dummy_slot on postgres-1 with the test_decoding plugin # features/steps/slots.py:9 724s Mar 22 13:17:46 Then postgres-1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:20 724s Mar 22 13:17:46 And postgres-1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:20 724s Mar 22 13:17:46 And postgres-1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:20 724s Mar 22 13:17:46 And postgres-1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:20 724s Mar 22 13:17:46 When I start postgres-0 # features/steps/basic_replication.py:20 729s Mar 22 13:17:51 Then "members/postgres-0" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 729s Mar 22 13:17:51 And postgres-0 role is the secondary after 20 seconds # features/steps/basic_replication.py:117 729s Mar 22 13:17:51 And replication works from postgres-1 to postgres-0 after 20 seconds # features/steps/basic_replication.py:124 730s Mar 22 13:17:52 When I shut down postgres-1 # features/steps/basic_replication.py:41 732s Mar 22 13:17:54 Then "members/postgres-0" key in DCS has role=primary after 10 seconds # features/steps/cascading_replication.py:23 733s Mar 22 13:17:55 When I start postgres-1 # features/steps/basic_replication.py:20 736s Mar 22 13:17:58 Then postgres-1 role is the secondary after 20 seconds # features/steps/basic_replication.py:117 736s Mar 22 13:17:58 And "members/postgres-1" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 737s Mar 22 13:17:59 And I sleep for 2 seconds # features/steps/patroni_api.py:41 739s Mar 22 13:18:01 And postgres-1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:20 739s Mar 22 13:18:01 And postgres-1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:20 739s Mar 22 13:18:01 And postgres-1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:20 739s Mar 22 13:18:01 And postgres-1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:20 739s Mar 22 13:18:01 And postgres-1 does not have a replication slot named dummy_slot # features/steps/slots.py:41 739s Mar 22 13:18:01 When I shut down postgres-0 # features/steps/basic_replication.py:41 741s Mar 22 13:18:03 Then "members/postgres-1" key in DCS has role=primary after 10 seconds # features/steps/cascading_replication.py:23 742s Mar 22 13:18:04 And postgres-1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:20 742s Mar 22 13:18:04 And postgres-1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:20 742s Mar 22 13:18:04 And postgres-1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:20 742s Mar 22 13:18:04 And postgres-1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:20 744s Mar 22 13:18:06 744s Mar 22 13:18:06 Feature: nostream node # features/nostream_node.feature:1 744s Mar 22 13:18:06 744s Mar 22 13:18:06 Scenario: check nostream node is recovering from archive # features/nostream_node.feature:3 744s Mar 22 13:18:06 When I start postgres-0 # features/steps/basic_replication.py:20 749s Mar 22 13:18:11 And I configure and start postgres-1 with a tag nostream true # features/steps/cascading_replication.py:7 754s Mar 22 13:18:16 Then "members/postgres-1" key in DCS has replication_state=in archive recovery after 10 seconds # features/steps/cascading_replication.py:23 754s Mar 22 13:18:16 And replication works from postgres-0 to postgres-1 after 30 seconds # features/steps/basic_replication.py:124 759s Mar 22 13:18:21 759s Mar 22 13:18:21 @slot-advance 759s Mar 22 13:18:21 Scenario: check permanent logical replication slots are not copied # features/nostream_node.feature:10 759s Mar 22 13:18:21 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:73 759s Mar 22 13:18:21 Then I receive a response code 200 # features/steps/patroni_api.py:100 759s Mar 22 13:18:21 When I run patronictl.py restart batman postgres-0 --force # features/steps/patroni_api.py:88 761s Mar 22 13:18:23 Then postgres-0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:20 762s Mar 22 13:18:24 When I configure and start postgres-2 with a tag replicatefrom postgres-1 # features/steps/cascading_replication.py:7 770s Mar 22 13:18:29 Then "members/postgres-2" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 775s Mar 22 13:18:36 And postgres-1 does not have a replication slot named test_logical # features/steps/slots.py:41 775s Mar 22 13:18:36 And postgres-2 does not have a replication slot named test_logical # features/steps/slots.py:41 775s Mar 22 13:18:36 775s Mar 22 13:18:36 @slot-advance 775s Mar 22 13:18:36 Scenario: check that slots are written to the /status key # features/nostream_node.feature:21 775s Mar 22 13:18:36 Given "status" key in DCS has postgres_0 in slots # features/steps/slots.py:118 775s Mar 22 13:18:36 And "status" key in DCS has postgres_2 in slots # features/steps/slots.py:118 775s Mar 22 13:18:36 And "status" key in DCS has test_logical in slots # features/steps/slots.py:118 775s Mar 22 13:18:36 And "status" key in DCS has test_logical in slots # features/steps/slots.py:118 775s Mar 22 13:18:36 And "status" key in DCS does not have postgres_1 in slots # features/steps/slots.py:124 782s Mar 22 13:18:44 782s Mar 22 13:18:44 Feature: patroni api # features/patroni_api.feature:1 782s Mar 22 13:18:44 We should check that patroni correctly responds to valid and not-valid API requests. 782s Mar 22 13:18:44 Scenario: check API requests on a stand-alone server # features/patroni_api.feature:4 782s Mar 22 13:18:44 Given I start postgres-0 # features/steps/basic_replication.py:20 787s Mar 22 13:18:49 And postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 787s Mar 22 13:18:49 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:63 787s Mar 22 13:18:49 Then I receive a response code 200 # features/steps/patroni_api.py:100 787s Mar 22 13:18:49 And I receive a response state running # features/steps/patroni_api.py:100 787s Mar 22 13:18:49 And I receive a response role primary # features/steps/patroni_api.py:100 787s Mar 22 13:18:49 When I issue a GET request to http://127.0.0.1:8008/standby_leader # features/steps/patroni_api.py:63 787s Mar 22 13:18:49 Then I receive a response code 503 # features/steps/patroni_api.py:100 787s Mar 22 13:18:49 When I issue a GET request to http://127.0.0.1:8008/health # features/steps/patroni_api.py:63 787s Mar 22 13:18:49 Then I receive a response code 200 # features/steps/patroni_api.py:100 787s Mar 22 13:18:49 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:63 787s Mar 22 13:18:49 Then I receive a response code 503 # features/steps/patroni_api.py:100 787s Mar 22 13:18:49 When I issue a POST request to http://127.0.0.1:8008/reinitialize with {"force": true} # features/steps/patroni_api.py:73 787s Mar 22 13:18:49 Then I receive a response code 503 # features/steps/patroni_api.py:100 787s Mar 22 13:18:49 And I receive a response text I am the leader, can not reinitialize # features/steps/patroni_api.py:100 787s Mar 22 13:18:49 When I run patronictl.py switchover batman --primary postgres-0 --force # features/steps/patroni_api.py:88 788s Mar 22 13:18:50 Then I receive a response returncode 1 # features/steps/patroni_api.py:100 788s Mar 22 13:18:50 And I receive a response output "Error: No candidates found to switchover to" # features/steps/patroni_api.py:100 788s Mar 22 13:18:50 When I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres-0"} # features/steps/patroni_api.py:73 788s Mar 22 13:18:50 Then I receive a response code 412 # features/steps/patroni_api.py:100 788s Mar 22 13:18:50 And I receive a response text switchover is not possible: cluster does not have members except leader # features/steps/patroni_api.py:100 788s Mar 22 13:18:50 When I issue an empty POST request to http://127.0.0.1:8008/failover # features/steps/patroni_api.py:68 788s Mar 22 13:18:50 Then I receive a response code 400 # features/steps/patroni_api.py:100 788s Mar 22 13:18:50 When I issue a POST request to http://127.0.0.1:8008/failover with {"foo": "bar"} # features/steps/patroni_api.py:73 789s Mar 22 13:18:50 Then I receive a response code 400 # features/steps/patroni_api.py:100 789s Mar 22 13:18:50 And I receive a response text "Failover could be performed only to a specific candidate" # features/steps/patroni_api.py:100 789s Mar 22 13:18:50 789s Mar 22 13:18:50 Scenario: check local configuration reload # features/patroni_api.feature:32 789s Mar 22 13:18:50 Given I add tag new_tag new_value to postgres-0 config # features/steps/patroni_api.py:139 789s Mar 22 13:18:51 And I issue an empty POST request to http://127.0.0.1:8008/reload # features/steps/patroni_api.py:68 789s Mar 22 13:18:51 Then I receive a response code 202 # features/steps/patroni_api.py:100 789s Mar 22 13:18:51 789s Mar 22 13:18:51 Scenario: check dynamic configuration change via DCS # features/patroni_api.feature:37 789s Mar 22 13:18:51 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"ttl": 20, "postgresql": {"parameters": {"max_connections": "101"}}} # features/steps/patroni_api.py:73 789s Mar 22 13:18:51 Then I receive a response code 200 # features/steps/patroni_api.py:100 789s Mar 22 13:18:51 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 11 seconds # features/steps/patroni_api.py:158 792s Mar 22 13:18:54 When I issue a GET request to http://127.0.0.1:8008/config # features/steps/patroni_api.py:63 792s Mar 22 13:18:54 Then I receive a response code 200 # features/steps/patroni_api.py:100 792s Mar 22 13:18:54 And I receive a response ttl 20 # features/steps/patroni_api.py:100 792s Mar 22 13:18:54 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:63 792s Mar 22 13:18:54 Then I receive a response code 200 # features/steps/patroni_api.py:100 792s Mar 22 13:18:54 And I receive a response tags {'new_tag': 'new_value'} # features/steps/patroni_api.py:100 792s Mar 22 13:18:54 And I sleep for 4 seconds # features/steps/patroni_api.py:41 796s Mar 22 13:18:58 796s Mar 22 13:18:58 Scenario: check the scheduled restart # features/patroni_api.feature:49 796s Mar 22 13:18:58 Given I run patronictl.py edit-config -p 'superuser_reserved_connections=6' --force batman # features/steps/patroni_api.py:88 797s Mar 22 13:18:59 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 797s Mar 22 13:18:59 And I receive a response output "+ superuser_reserved_connections: 6" # features/steps/patroni_api.py:100 797s Mar 22 13:18:59 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 5 seconds # features/steps/patroni_api.py:158 797s Mar 22 13:18:59 Given I issue a scheduled restart at http://127.0.0.1:8008 in 5 seconds with {"role": "replica"} # features/steps/patroni_api.py:126 797s Mar 22 13:18:59 Then I receive a response code 202 # features/steps/patroni_api.py:100 797s Mar 22 13:18:59 And I sleep for 8 seconds # features/steps/patroni_api.py:41 805s Mar 22 13:19:07 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 10 seconds # features/steps/patroni_api.py:158 806s Mar 22 13:19:08 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:126 806s Mar 22 13:19:08 Then I receive a response code 202 # features/steps/patroni_api.py:100 806s Mar 22 13:19:08 And Response on GET http://127.0.0.1:8008/patroni does not contain pending_restart after 10 seconds # features/steps/patroni_api.py:173 812s Mar 22 13:19:14 And postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 814s Mar 22 13:19:15 814s Mar 22 13:19:15 Scenario: check API requests for the primary-replica pair in the pause mode # features/patroni_api.feature:63 814s Mar 22 13:19:15 Given I start postgres-1 # features/steps/basic_replication.py:20 819s Mar 22 13:19:21 Then replication works from postgres-0 to postgres-1 after 20 seconds # features/steps/basic_replication.py:124 820s Mar 22 13:19:22 When I run patronictl.py pause batman # features/steps/patroni_api.py:88 821s Mar 22 13:19:23 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 821s Mar 22 13:19:23 When I kill postmaster on postgres-1 # features/steps/basic_replication.py:56 821s Mar 22 13:19:23 waiting for server to shut down.... done 821s Mar 22 13:19:23 server stopped 821s Mar 22 13:19:23 And I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:63 821s Mar 22 13:19:23 Then I receive a response code 503 # features/steps/patroni_api.py:100 821s Mar 22 13:19:23 And "members/postgres-1" key in DCS has state=stopped after 10 seconds # features/steps/cascading_replication.py:23 823s Mar 22 13:19:25 When I run patronictl.py restart batman postgres-1 --force # features/steps/patroni_api.py:88 826s Mar 22 13:19:28 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 826s Mar 22 13:19:28 Then replication works from postgres-0 to postgres-1 after 20 seconds # features/steps/basic_replication.py:124 827s Mar 22 13:19:29 And I sleep for 2 seconds # features/steps/patroni_api.py:41 829s Mar 22 13:19:31 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:63 829s Mar 22 13:19:31 Then I receive a response code 200 # features/steps/patroni_api.py:100 829s Mar 22 13:19:31 And I receive a response state running # features/steps/patroni_api.py:100 829s Mar 22 13:19:31 And I receive a response role replica # features/steps/patroni_api.py:100 829s Mar 22 13:19:31 When I run patronictl.py reinit batman postgres-1 --force --wait # features/steps/patroni_api.py:88 834s Mar 22 13:19:36 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 834s Mar 22 13:19:36 And I receive a response output "Success: reinitialize for member postgres-1" # features/steps/patroni_api.py:100 834s Mar 22 13:19:36 And postgres-1 role is the secondary after 30 seconds # features/steps/basic_replication.py:117 835s Mar 22 13:19:37 And replication works from postgres-0 to postgres-1 after 20 seconds # features/steps/basic_replication.py:124 836s Mar 22 13:19:38 When I run patronictl.py restart batman postgres-0 --force # features/steps/patroni_api.py:88 838s Mar 22 13:19:40 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 838s Mar 22 13:19:40 And I receive a response output "Success: restart on member postgres-0" # features/steps/patroni_api.py:100 838s Mar 22 13:19:40 And postgres-0 role is the primary after 5 seconds # features/steps/basic_replication.py:117 839s Mar 22 13:19:41 839s Mar 22 13:19:41 Scenario: check the switchover via the API in the pause mode # features/patroni_api.feature:90 839s Mar 22 13:19:41 Given I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres-0", "candidate": "postgres-1"} # features/steps/patroni_api.py:73 841s Mar 22 13:19:43 Then I receive a response code 200 # features/steps/patroni_api.py:100 841s Mar 22 13:19:43 And postgres-1 is a leader after 5 seconds # features/steps/patroni_api.py:31 841s Mar 22 13:19:43 And postgres-1 role is the primary after 10 seconds # features/steps/basic_replication.py:117 842s Mar 22 13:19:44 And postgres-0 role is the secondary after 10 seconds # features/steps/basic_replication.py:117 848s Mar 22 13:19:50 And replication works from postgres-1 to postgres-0 after 20 seconds # features/steps/basic_replication.py:124 848s Mar 22 13:19:50 And "members/postgres-0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 848s Mar 22 13:19:50 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:63 849s Mar 22 13:19:51 Then I receive a response code 503 # features/steps/patroni_api.py:100 849s Mar 22 13:19:51 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:63 849s Mar 22 13:19:51 Then I receive a response code 200 # features/steps/patroni_api.py:100 849s Mar 22 13:19:51 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:63 849s Mar 22 13:19:51 Then I receive a response code 200 # features/steps/patroni_api.py:100 849s Mar 22 13:19:51 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:63 849s Mar 22 13:19:51 Then I receive a response code 503 # features/steps/patroni_api.py:100 849s Mar 22 13:19:51 849s Mar 22 13:19:51 Scenario: check the scheduled switchover # features/patroni_api.feature:107 849s Mar 22 13:19:51 Given I issue a scheduled switchover from postgres-1 to postgres-0 in 10 seconds # features/steps/patroni_api.py:119 850s Mar 22 13:19:52 Then I receive a response returncode 1 # features/steps/patroni_api.py:100 850s Mar 22 13:19:52 And I receive a response output "Can't schedule switchover in the paused state" # features/steps/patroni_api.py:100 850s Mar 22 13:19:52 When I run patronictl.py resume batman # features/steps/patroni_api.py:88 851s Mar 22 13:19:53 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 851s Mar 22 13:19:53 Given I issue a scheduled switchover from postgres-1 to postgres-0 in 10 seconds # features/steps/patroni_api.py:119 853s Mar 22 13:19:55 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 853s Mar 22 13:19:55 And postgres-0 is a leader after 20 seconds # features/steps/patroni_api.py:31 863s Mar 22 13:20:05 And postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 864s Mar 22 13:20:06 And postgres-1 role is the secondary after 10 seconds # features/steps/basic_replication.py:117 867s Mar 22 13:20:09 And replication works from postgres-0 to postgres-1 after 25 seconds # features/steps/basic_replication.py:124 867s Mar 22 13:20:09 And "members/postgres-1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 869s Mar 22 13:20:11 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:63 869s Mar 22 13:20:11 Then I receive a response code 200 # features/steps/patroni_api.py:100 869s Mar 22 13:20:11 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:63 869s Mar 22 13:20:11 Then I receive a response code 503 # features/steps/patroni_api.py:100 869s Mar 22 13:20:11 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:63 869s Mar 22 13:20:11 Then I receive a response code 503 # features/steps/patroni_api.py:100 869s Mar 22 13:20:11 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:63 869s Mar 22 13:20:11 Then I receive a response code 200 # features/steps/patroni_api.py:100 873s Mar 22 13:20:15 873s Mar 22 13:20:15 Feature: permanent slots # features/permanent_slots.feature:1 873s Mar 22 13:20:15 873s Mar 22 13:20:15 Scenario: check that physical permanent slots are created # features/permanent_slots.feature:2 873s Mar 22 13:20:15 Given I start postgres-0 # features/steps/basic_replication.py:20 878s Mar 22 13:20:20 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 879s Mar 22 13:20:21 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 880s Mar 22 13:20:21 When I issue a PATCH request to http://127.0.0.1:8008/config with {"slots":{"test_physical":0,"postgres_3":0},"postgresql":{"parameters":{"wal_level":"logical"}}} # features/steps/patroni_api.py:73 880s Mar 22 13:20:22 Then I receive a response code 200 # features/steps/patroni_api.py:100 880s Mar 22 13:20:22 And Response on GET http://127.0.0.1:8008/config contains slots after 10 seconds # features/steps/patroni_api.py:158 880s Mar 22 13:20:22 When I start postgres-1 # features/steps/basic_replication.py:20 885s Mar 22 13:20:27 And I configure and start postgres-2 with a tag nofailover true # features/steps/cascading_replication.py:7 890s Mar 22 13:20:32 And I configure and start postgres-3 with a tag replicatefrom postgres-2 # features/steps/cascading_replication.py:7 895s Mar 22 13:20:37 Then postgres-0 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:82 895s Mar 22 13:20:37 And postgres-0 has a physical replication slot named postgres_1 after 10 seconds # features/steps/slots.py:82 895s Mar 22 13:20:37 And postgres-0 has a physical replication slot named postgres_2 after 10 seconds # features/steps/slots.py:82 895s Mar 22 13:20:37 And postgres-2 has a physical replication slot named postgres_3 after 10 seconds # features/steps/slots.py:82 895s Mar 22 13:20:37 And postgres-2 does not have a replication slot named test_physical # features/steps/slots.py:41 895s Mar 22 13:20:37 895s Mar 22 13:20:37 @slot-advance 895s Mar 22 13:20:37 Scenario: check that logical permanent slots are created # features/permanent_slots.feature:19 895s Mar 22 13:20:37 Given I run patronictl.py restart batman postgres-0 --force # features/steps/patroni_api.py:88 897s Mar 22 13:20:39 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:73 897s Mar 22 13:20:39 Then postgres-0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:20 898s Mar 22 13:20:40 898s Mar 22 13:20:40 @slot-advance 898s Mar 22 13:20:40 Scenario: check that permanent slots are created on replicas # features/permanent_slots.feature:25 898s Mar 22 13:20:40 Given postgres-1 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:20 903s Mar 22 13:20:45 Then Logical slot test_logical is in sync between postgres-0 and postgres-1 after 10 seconds # features/steps/slots.py:52 903s Mar 22 13:20:45 And Logical slot test_logical is in sync between postgres-0 and postgres-3 after 10 seconds # features/steps/slots.py:52 904s Mar 22 13:20:46 And postgres-1 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:82 904s Mar 22 13:20:46 And postgres-2 does not have a replication slot named test_logical # features/steps/slots.py:41 904s Mar 22 13:20:46 And postgres-3 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:82 904s Mar 22 13:20:46 904s Mar 22 13:20:46 @slot-advance 904s Mar 22 13:20:46 Scenario: check permanent physical slots that match with member names # features/permanent_slots.feature:34 904s Mar 22 13:20:46 Given postgres-0 has a physical replication slot named postgres_3 after 2 seconds # features/steps/slots.py:82 904s Mar 22 13:20:46 And postgres-1 has a physical replication slot named postgres_0 after 2 seconds # features/steps/slots.py:82 904s Mar 22 13:20:46 And postgres-1 has a physical replication slot named postgres_2 after 2 seconds # features/steps/slots.py:82 904s Mar 22 13:20:46 And postgres-1 has a physical replication slot named postgres_3 after 2 seconds # features/steps/slots.py:82 904s Mar 22 13:20:46 And postgres-2 does not have a replication slot named postgres_0 # features/steps/slots.py:41 904s Mar 22 13:20:46 And postgres-2 does not have a replication slot named postgres_1 # features/steps/slots.py:41 904s Mar 22 13:20:46 And postgres-2 has a physical replication slot named postgres_3 after 2 seconds # features/steps/slots.py:82 904s Mar 22 13:20:46 And postgres-3 has a physical replication slot named postgres_0 after 2 seconds # features/steps/slots.py:82 904s Mar 22 13:20:46 And postgres-3 has a physical replication slot named postgres_1 after 2 seconds # features/steps/slots.py:82 904s Mar 22 13:20:46 And postgres-3 has a physical replication slot named postgres_2 after 2 seconds # features/steps/slots.py:82 904s Mar 22 13:20:46 904s Mar 22 13:20:46 @slot-advance 904s Mar 22 13:20:46 Scenario: check that permanent slots are advanced on replicas # features/permanent_slots.feature:47 904s Mar 22 13:20:46 Given I add the table replicate_me to postgres-0 # features/steps/basic_replication.py:66 904s Mar 22 13:20:46 When I get all changes from logical slot test_logical on postgres-0 # features/steps/slots.py:72 904s Mar 22 13:20:46 And I get all changes from physical slot test_physical on postgres-0 # features/steps/slots.py:77 904s Mar 22 13:20:46 Then Logical slot test_logical is in sync between postgres-0 and postgres-1 after 10 seconds # features/steps/slots.py:52 905s Mar 22 13:20:47 And Physical slot test_physical is in sync between postgres-0 and postgres-1 after 10 seconds # features/steps/slots.py:52 905s Mar 22 13:20:47 And Logical slot test_logical is in sync between postgres-0 and postgres-3 after 10 seconds # features/steps/slots.py:52 905s Mar 22 13:20:47 And Physical slot test_physical is in sync between postgres-0 and postgres-3 after 10 seconds # features/steps/slots.py:52 905s Mar 22 13:20:47 And Physical slot postgres_1 is in sync between postgres-0 and postgres-3 after 10 seconds # features/steps/slots.py:52 905s Mar 22 13:20:47 And Physical slot postgres_3 is in sync between postgres-2 and postgres-0 after 20 seconds # features/steps/slots.py:52 907s Mar 22 13:20:49 And Physical slot postgres_3 is in sync between postgres-2 and postgres-1 after 10 seconds # features/steps/slots.py:52 908s Mar 22 13:20:50 908s Mar 22 13:20:50 @slot-advance 908s Mar 22 13:20:50 Scenario: check that permanent slots and member slots are written to the /status key # features/permanent_slots.feature:60 908s Mar 22 13:20:50 Given "status" key in DCS has test_physical in slots # features/steps/slots.py:118 908s Mar 22 13:20:50 And "status" key in DCS has postgres_0 in slots # features/steps/slots.py:118 908s Mar 22 13:20:50 And "status" key in DCS has postgres_1 in slots # features/steps/slots.py:118 908s Mar 22 13:20:50 And "status" key in DCS has postgres_2 in slots # features/steps/slots.py:118 908s Mar 22 13:20:50 And "status" key in DCS has postgres_3 in slots # features/steps/slots.py:118 908s Mar 22 13:20:50 908s Mar 22 13:20:50 @slot-advance 908s Mar 22 13:20:50 Scenario: check that only non-permanent member slots are written to the retain_slots in /status key # features/permanent_slots.feature:68 908s Mar 22 13:20:50 Given "status" key in DCS has postgres_0 in retain_slots # features/steps/slots.py:118 908s Mar 22 13:20:50 And "status" key in DCS has postgres_1 in retain_slots # features/steps/slots.py:118 908s Mar 22 13:20:50 And "status" key in DCS has postgres_2 in retain_slots # features/steps/slots.py:118 908s Mar 22 13:20:50 And "status" key in DCS does not have postgres_3 in retain_slots # features/steps/slots.py:124 908s Mar 22 13:20:50 908s Mar 22 13:20:50 Scenario: check permanent physical replication slot after failover # features/permanent_slots.feature:74 908s Mar 22 13:20:50 Given I shut down postgres-3 # features/steps/basic_replication.py:41 909s Mar 22 13:20:51 And I shut down postgres-2 # features/steps/basic_replication.py:41 910s Mar 22 13:20:52 And I shut down postgres-0 # features/steps/basic_replication.py:41 912s Mar 22 13:20:54 Then postgres-1 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:82 912s Mar 22 13:20:54 And postgres-1 has a physical replication slot named postgres_0 after 10 seconds # features/steps/slots.py:82 912s Mar 22 13:20:54 And postgres-1 has a physical replication slot named postgres_3 after 10 seconds # features/steps/slots.py:82 912s Mar 22 13:20:54 When I start postgres-0 # features/steps/basic_replication.py:20 915s Mar 22 13:20:57 Then postgres-0 role is the replica after 20 seconds # features/steps/basic_replication.py:117 915s Mar 22 13:20:57 And physical replication slot named postgres_1 on postgres-0 has no xmin value after 10 seconds # features/steps/slots.py:98 916s Mar 22 13:20:58 And postgres-0 has a physical replication slot named postgres_2 after 10 seconds # features/steps/slots.py:82 916s Mar 22 13:20:58 And postgres-0 has a physical replication slot named postgres_3 after 10 seconds # features/steps/slots.py:82 919s Mar 22 13:21:01 919s Mar 22 13:21:01 Feature: priority replication # features/priority_failover.feature:1 919s Mar 22 13:21:01 We should check that we can give nodes priority during failover 919s Mar 22 13:21:01 Scenario: check failover priority 0 prevents leaderships # features/priority_failover.feature:4 919s Mar 22 13:21:01 Given I configure and start postgres-0 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 924s Mar 22 13:21:06 And I configure and start postgres-1 with a tag failover_priority 0 # features/steps/cascading_replication.py:7 929s Mar 22 13:21:11 Then replication works from postgres-0 to postgres-1 after 20 seconds # features/steps/basic_replication.py:124 931s Mar 22 13:21:13 When I shut down postgres-0 # features/steps/basic_replication.py:41 933s Mar 22 13:21:15 And there is one of ["following a different leader because I am not allowed to promote"] INFO in the postgres-1 patroni log after 5 seconds # features/steps/basic_replication.py:133 935s Mar 22 13:21:17 Then postgres-1 role is the secondary after 10 seconds # features/steps/basic_replication.py:117 935s Mar 22 13:21:17 When I start postgres-0 # features/steps/basic_replication.py:20 938s Mar 22 13:21:20 Then postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 939s Mar 22 13:21:21 939s Mar 22 13:21:21 Scenario: check higher failover priority is respected # features/priority_failover.feature:14 939s Mar 22 13:21:21 Given I configure and start postgres-2 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 944s Mar 22 13:21:26 And I configure and start postgres-3 with a tag failover_priority 2 # features/steps/cascading_replication.py:7 949s Mar 22 13:21:31 Then replication works from postgres-0 to postgres-2 after 20 seconds # features/steps/basic_replication.py:124 950s Mar 22 13:21:32 And replication works from postgres-0 to postgres-3 after 20 seconds # features/steps/basic_replication.py:124 951s Mar 22 13:21:33 When I shut down postgres-0 # features/steps/basic_replication.py:41 953s Mar 22 13:21:35 Then postgres-3 role is the primary after 10 seconds # features/steps/basic_replication.py:117 954s Mar 22 13:21:36 And there is one of ["postgres-3 has equally tolerable WAL position and priority 2, while this node has priority 1","Wal position of postgres-3 is ahead of my wal position"] INFO in the postgres-2 patroni log after 5 seconds # features/steps/basic_replication.py:133 954s Mar 22 13:21:36 954s Mar 22 13:21:36 Scenario: check conflicting configuration handling # features/priority_failover.feature:23 954s Mar 22 13:21:36 When I set nofailover tag in postgres-2 config # features/steps/patroni_api.py:133 954s Mar 22 13:21:36 And I issue an empty POST request to http://127.0.0.1:8010/reload # features/steps/patroni_api.py:68 954s Mar 22 13:21:36 Then I receive a response code 202 # features/steps/patroni_api.py:100 954s Mar 22 13:21:36 And there is one of ["Conflicting configuration between nofailover: True and failover_priority: 1. Defaulting to nofailover: True"] WARNING in the postgres-2 patroni log after 5 seconds # features/steps/basic_replication.py:133 956s Mar 22 13:21:38 And "members/postgres-2" key in DCS has tags={'failover_priority': '1', 'nofailover': True} after 10 seconds # features/steps/cascading_replication.py:23 958s Mar 22 13:21:40 When I issue a POST request to http://127.0.0.1:8010/failover with {"candidate": "postgres-2"} # features/steps/patroni_api.py:73 958s Mar 22 13:21:40 Then I receive a response code 412 # features/steps/patroni_api.py:100 958s Mar 22 13:21:40 And I receive a response text "failover is not possible: no good candidates have been found" # features/steps/patroni_api.py:100 958s Mar 22 13:21:40 When I reset nofailover tag in postgres-1 config # features/steps/patroni_api.py:133 958s Mar 22 13:21:40 And I issue an empty POST request to http://127.0.0.1:8009/reload # features/steps/patroni_api.py:68 958s Mar 22 13:21:40 Then I receive a response code 202 # features/steps/patroni_api.py:100 958s Mar 22 13:21:40 And there is one of ["Conflicting configuration between nofailover: False and failover_priority: 0. Defaulting to nofailover: False"] WARNING in the postgres-1 patroni log after 5 seconds # features/steps/basic_replication.py:133 959s Mar 22 13:21:41 And "members/postgres-1" key in DCS has tags={'failover_priority': '0', 'nofailover': False} after 10 seconds # features/steps/cascading_replication.py:23 960s Mar 22 13:21:42 And I issue a POST request to http://127.0.0.1:8009/failover with {"candidate": "postgres-1"} # features/steps/patroni_api.py:73 963s Mar 22 13:21:45 Then I receive a response code 200 # features/steps/patroni_api.py:100 963s Mar 22 13:21:45 And postgres-1 role is the primary after 10 seconds # features/steps/basic_replication.py:117 969s Mar 22 13:21:51 969s Mar 22 13:21:51 Feature: quorum commit # features/quorum_commit.feature:1 969s Mar 22 13:21:51 Check basic workfrlows when quorum commit is enabled 969s Mar 22 13:21:51 Scenario: check enable quorum commit and that the only leader promotes after restart # features/quorum_commit.feature:4 969s Mar 22 13:21:51 Given I start postgres-0 # features/steps/basic_replication.py:20 974s Mar 22 13:21:56 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 974s Mar 22 13:21:56 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 974s Mar 22 13:21:56 When I issue a PATCH request to http://127.0.0.1:8008/config with {"ttl": 20, "synchronous_mode": "quorum"} # features/steps/patroni_api.py:73 974s Mar 22 13:21:56 Then I receive a response code 200 # features/steps/patroni_api.py:100 974s Mar 22 13:21:56 And sync key in DCS has leader=postgres-0 after 20 seconds # features/steps/quorum_commit.py:8 975s Mar 22 13:21:57 And sync key in DCS has quorum=0 after 2 seconds # features/steps/quorum_commit.py:8 975s Mar 22 13:21:57 And synchronous_standby_names on postgres-0 is set to '_empty_str_' after 2 seconds # features/steps/quorum_commit.py:39 975s Mar 22 13:21:57 When I shut down postgres-0 # features/steps/basic_replication.py:41 977s Mar 22 13:21:59 And sync key in DCS has leader=postgres-0 after 2 seconds # features/steps/quorum_commit.py:8 977s Mar 22 13:21:59 When I start postgres-0 # features/steps/basic_replication.py:20 980s Mar 22 13:22:02 Then postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 982s Mar 22 13:22:04 When I issue a PATCH request to http://127.0.0.1:8008/config with {"synchronous_mode_strict": true} # features/steps/patroni_api.py:73 982s Mar 22 13:22:04 Then synchronous_standby_names on postgres-0 is set to 'ANY 1 (*)' after 10 seconds # features/steps/quorum_commit.py:39 983s Mar 22 13:22:05 983s Mar 22 13:22:05 Scenario: check failover with one quorum standby # features/quorum_commit.feature:20 983s Mar 22 13:22:05 Given I start postgres-1 # features/steps/basic_replication.py:20 988s Mar 22 13:22:10 Then sync key in DCS has sync_standby=postgres-1 after 10 seconds # features/steps/quorum_commit.py:8 991s Mar 22 13:22:13 And synchronous_standby_names on postgres-0 is set to 'ANY 1 ("postgres-1")' after 2 seconds # features/steps/quorum_commit.py:39 991s Mar 22 13:22:13 When I shut down postgres-0 # features/steps/basic_replication.py:41 993s Mar 22 13:22:15 Then postgres-1 role is the primary after 10 seconds # features/steps/basic_replication.py:117 994s Mar 22 13:22:16 And sync key in DCS has quorum=0 after 10 seconds # features/steps/quorum_commit.py:8 994s Mar 22 13:22:16 Then synchronous_standby_names on postgres-1 is set to 'ANY 1 (*)' after 10 seconds # features/steps/quorum_commit.py:39 998s Mar 22 13:22:19 When I start postgres-0 # features/steps/basic_replication.py:20 1000s Mar 22 13:22:22 Then sync key in DCS has leader=postgres-1 after 10 seconds # features/steps/quorum_commit.py:8 1000s Mar 22 13:22:22 Then sync key in DCS has sync_standby=postgres-0 after 10 seconds # features/steps/quorum_commit.py:8 1002s Mar 22 13:22:24 And synchronous_standby_names on postgres-1 is set to 'ANY 1 ("postgres-0")' after 2 seconds # features/steps/quorum_commit.py:39 1002s Mar 22 13:22:24 1002s Mar 22 13:22:24 Scenario: check behavior with three nodes and different replication factor # features/quorum_commit.feature:33 1002s Mar 22 13:22:24 Given I start postgres-2 # features/steps/basic_replication.py:20 1008s Mar 22 13:22:30 Then sync key in DCS has sync_standby=postgres-0,postgres-2 after 10 seconds # features/steps/quorum_commit.py:8 1009s Mar 22 13:22:31 And sync key in DCS has quorum=1 after 2 seconds # features/steps/quorum_commit.py:8 1009s Mar 22 13:22:31 And synchronous_standby_names on postgres-1 is set to 'ANY 1 ("postgres-0","postgres-2")' after 2 seconds # features/steps/quorum_commit.py:39 1009s Mar 22 13:22:31 When I issue a PATCH request to http://127.0.0.1:8009/config with {"synchronous_node_count": 2} # features/steps/patroni_api.py:73 1009s Mar 22 13:22:31 Then sync key in DCS has quorum=0 after 10 seconds # features/steps/quorum_commit.py:8 1010s Mar 22 13:22:32 And synchronous_standby_names on postgres-1 is set to 'ANY 2 ("postgres-0","postgres-2")' after 2 seconds # features/steps/quorum_commit.py:39 1010s Mar 22 13:22:32 1010s Mar 22 13:22:32 Scenario: switch from quorum replication to good old multisync and back # features/quorum_commit.feature:42 1010s Mar 22 13:22:32 Given I issue a PATCH request to http://127.0.0.1:8009/config with {"synchronous_mode": true, "synchronous_node_count": 1} # features/steps/patroni_api.py:73 1010s Mar 22 13:22:32 And I shut down postgres-0 # features/steps/basic_replication.py:41 1011s Mar 22 13:22:33 Then synchronous_standby_names on postgres-1 is set to '"postgres-2"' after 10 seconds # features/steps/quorum_commit.py:39 1013s Mar 22 13:22:35 And sync key in DCS has sync_standby=postgres-2 after 10 seconds # features/steps/quorum_commit.py:8 1015s Mar 22 13:22:37 Then sync key in DCS has quorum=0 after 2 seconds # features/steps/quorum_commit.py:8 1015s Mar 22 13:22:37 When I issue a PATCH request to http://127.0.0.1:8009/config with {"synchronous_mode": "quorum"} # features/steps/patroni_api.py:73 1015s Mar 22 13:22:37 And I start postgres-0 # features/steps/basic_replication.py:20 1018s Mar 22 13:22:40 Then synchronous_standby_names on postgres-1 is set to 'ANY 1 ("postgres-0","postgres-2")' after 10 seconds # features/steps/quorum_commit.py:39 1020s Mar 22 13:22:42 And sync key in DCS has sync_standby=postgres-0,postgres-2 after 10 seconds # features/steps/quorum_commit.py:8 1020s Mar 22 13:22:42 Then sync key in DCS has quorum=1 after 2 seconds # features/steps/quorum_commit.py:8 1020s Mar 22 13:22:42 1020s Mar 22 13:22:42 Scenario: REST API and patronictl # features/quorum_commit.feature:54 1020s Mar 22 13:22:42 Given I run patronictl.py list batman # features/steps/patroni_api.py:88 1022s Mar 22 13:22:44 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 1022s Mar 22 13:22:44 And I receive a response output "Quorum Standby" # features/steps/patroni_api.py:100 1022s Mar 22 13:22:44 And Status code on GET http://127.0.0.1:8008/quorum is 200 after 3 seconds # features/steps/patroni_api.py:144 1022s Mar 22 13:22:44 And Status code on GET http://127.0.0.1:8010/quorum is 200 after 3 seconds # features/steps/patroni_api.py:144 1022s Mar 22 13:22:44 1022s Mar 22 13:22:44 Scenario: nosync node is removed from voters and synchronous_standby_names # features/quorum_commit.feature:61 1022s Mar 22 13:22:44 Given I add tag nosync true to postgres-2 config # features/steps/patroni_api.py:139 1022s Mar 22 13:22:44 When I issue an empty POST request to http://127.0.0.1:8010/reload # features/steps/patroni_api.py:68 1022s Mar 22 13:22:44 Then I receive a response code 202 # features/steps/patroni_api.py:100 1022s Mar 22 13:22:44 And sync key in DCS has quorum=0 after 10 seconds # features/steps/quorum_commit.py:8 1024s Mar 22 13:22:46 And sync key in DCS has sync_standby=postgres-0 after 10 seconds # features/steps/quorum_commit.py:8 1024s Mar 22 13:22:46 And synchronous_standby_names on postgres-1 is set to 'ANY 1 ("postgres-0")' after 2 seconds # features/steps/quorum_commit.py:39 1024s Mar 22 13:22:46 And Status code on GET http://127.0.0.1:8010/quorum is 503 after 10 seconds # features/steps/patroni_api.py:144 1031s Mar 22 13:22:53 1031s Mar 22 13:22:53 Feature: recovery # features/recovery.feature:1 1031s Mar 22 13:22:53 We want to check that crashed postgres is started back 1031s Mar 22 13:22:53 Scenario: check that timeline is not incremented when primary is started after crash # features/recovery.feature:4 1031s Mar 22 13:22:53 Given I start postgres-0 # features/steps/basic_replication.py:20 1036s Mar 22 13:22:58 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 1036s Mar 22 13:22:58 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1036s Mar 22 13:22:58 When I start postgres-1 # features/steps/basic_replication.py:20 1041s Mar 22 13:23:03 And I add the table foo to postgres-0 # features/steps/basic_replication.py:66 1041s Mar 22 13:23:03 Then table foo is present on postgres-1 after 20 seconds # features/steps/basic_replication.py:105 1042s Mar 22 13:23:04 When I kill postmaster on postgres-0 # features/steps/basic_replication.py:56 1042s Mar 22 13:23:04 waiting for server to shut down.... done 1042s Mar 22 13:23:04 server stopped 1042s Mar 22 13:23:04 Then postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 1045s Mar 22 13:23:07 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:63 1045s Mar 22 13:23:07 Then I receive a response code 200 # features/steps/patroni_api.py:100 1045s Mar 22 13:23:07 And I receive a response role primary # features/steps/patroni_api.py:100 1045s Mar 22 13:23:07 And I receive a response timeline 1 # features/steps/patroni_api.py:100 1045s Mar 22 13:23:07 And "members/postgres-0" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 1046s Mar 22 13:23:08 And replication works from postgres-0 to postgres-1 after 15 seconds # features/steps/basic_replication.py:124 1048s Mar 22 13:23:10 1048s Mar 22 13:23:10 Scenario: check immediate failover when master_start_timeout=0 # features/recovery.feature:20 1048s Mar 22 13:23:10 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"master_start_timeout": 0} # features/steps/patroni_api.py:73 1049s Mar 22 13:23:10 Then I receive a response code 200 # features/steps/patroni_api.py:100 1049s Mar 22 13:23:10 And Response on GET http://127.0.0.1:8008/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:158 1049s Mar 22 13:23:11 When I kill postmaster on postgres-0 # features/steps/basic_replication.py:56 1049s Mar 22 13:23:11 waiting for server to shut down.... done 1049s Mar 22 13:23:11 server stopped 1049s Mar 22 13:23:11 Then postgres-1 is a leader after 10 seconds # features/steps/patroni_api.py:31 1055s Mar 22 13:23:17 And postgres-1 role is the primary after 10 seconds # features/steps/basic_replication.py:117 1055s Mar 22 13:23:17 1055s Mar 22 13:23:17 Scenario: check crashed primary demotes after failed attempt to start # features/recovery.feature:28 1055s Mar 22 13:23:17 Given I issue a PATCH request to http://127.0.0.1:8009/config with {"master_start_timeout": null} # features/steps/patroni_api.py:73 1055s Mar 22 13:23:17 Then I receive a response code 200 # features/steps/patroni_api.py:100 1055s Mar 22 13:23:17 And postgres-0 role is the replica after 10 seconds # features/steps/basic_replication.py:117 1057s Mar 22 13:23:19 When I ensure postgres-1 fails to start after a failure # features/steps/recovery.py:6 1057s Mar 22 13:23:19 When I kill postmaster on postgres-1 # features/steps/basic_replication.py:56 1057s Mar 22 13:23:19 waiting for server to shut down.... done 1057s Mar 22 13:23:19 server stopped 1057s Mar 22 13:23:19 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 1058s Mar 22 13:23:20 And there is a postgres-1_cb.log with "on_role_change demoted batman" in postgres-1 data directory # features/steps/cascading_replication.py:12 1062s Mar 22 13:23:24 1062s Mar 22 13:23:24 Feature: standby cluster # features/standby_cluster.feature:1 1062s Mar 22 13:23:24 1062s Mar 22 13:23:24 Scenario: prepare the cluster with logical slots # features/standby_cluster.feature:2 1062s Mar 22 13:23:24 Given I start postgres-1 # features/steps/basic_replication.py:20 1067s Mar 22 13:23:29 Then postgres-1 is a leader after 10 seconds # features/steps/patroni_api.py:31 1067s Mar 22 13:23:29 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1067s Mar 22 13:23:29 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:73 1067s Mar 22 13:23:29 Then I receive a response code 200 # features/steps/patroni_api.py:100 1067s Mar 22 13:23:29 And Response on GET http://127.0.0.1:8009/config contains slots after 10 seconds # features/steps/patroni_api.py:158 1067s Mar 22 13:23:29 And I sleep for 3 seconds # features/steps/patroni_api.py:41 1070s Mar 22 13:23:32 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:73 1070s Mar 22 13:23:32 Then I receive a response code 200 # features/steps/patroni_api.py:100 1070s Mar 22 13:23:32 And I do a backup of postgres-1 # features/steps/custom_bootstrap.py:25 1072s Mar 22 13:23:34 When I start postgres-0 # features/steps/basic_replication.py:20 1077s Mar 22 13:23:39 Then "members/postgres-0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1078s Mar 22 13:23:40 And replication works from postgres-1 to postgres-0 after 15 seconds # features/steps/basic_replication.py:124 1079s Mar 22 13:23:41 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:63 1079s Mar 22 13:23:41 Then I receive a response code 200 # features/steps/patroni_api.py:100 1079s Mar 22 13:23:41 And I receive a response replication_state streaming # features/steps/patroni_api.py:100 1079s Mar 22 13:23:41 And "members/postgres-0" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 1079s Mar 22 13:23:41 1079s Mar 22 13:23:41 @slot-advance 1079s Mar 22 13:23:41 Scenario: check permanent logical slots are synced to the replica # features/standby_cluster.feature:22 1079s Mar 22 13:23:41 Given I run patronictl.py restart batman postgres-1 --force # features/steps/patroni_api.py:88 1082s Mar 22 13:23:44 Then Logical slot test_logical is in sync between postgres-0 and postgres-1 after 10 seconds # features/steps/slots.py:52 1088s Mar 22 13:23:50 1088s Mar 22 13:23:50 Scenario: Detach exiting node from the cluster # features/standby_cluster.feature:26 1088s Mar 22 13:23:50 When I shut down postgres-1 # features/steps/basic_replication.py:41 1090s Mar 22 13:23:52 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 1090s Mar 22 13:23:52 And "members/postgres-0" key in DCS has role=primary after 5 seconds # features/steps/cascading_replication.py:23 1094s Mar 22 13:23:56 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:63 1094s Mar 22 13:23:56 Then I receive a response code 200 # features/steps/patroni_api.py:100 1094s Mar 22 13:23:56 1094s Mar 22 13:23:56 Scenario: check replication of a single table in a standby cluster # features/standby_cluster.feature:33 1094s Mar 22 13:23:56 Given I start postgres-1 in a standby cluster batman1 as a clone of postgres-0 # features/steps/standby_cluster.py:23 1097s Mar 22 13:23:59 Then postgres-1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 1098s Mar 22 13:24:00 When I add the table foo to postgres-0 # features/steps/basic_replication.py:66 1098s Mar 22 13:24:00 Then table foo is present on postgres-1 after 20 seconds # features/steps/basic_replication.py:105 1098s Mar 22 13:24:00 When I issue a GET request to http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:63 1098s Mar 22 13:24:00 Then I receive a response code 200 # features/steps/patroni_api.py:100 1098s Mar 22 13:24:00 And I receive a response replication_state streaming # features/steps/patroni_api.py:100 1098s Mar 22 13:24:00 And I sleep for 3 seconds # features/steps/patroni_api.py:41 1101s Mar 22 13:24:03 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:63 1101s Mar 22 13:24:03 Then I receive a response code 503 # features/steps/patroni_api.py:100 1101s Mar 22 13:24:03 When I issue a GET request to http://127.0.0.1:8009/standby_leader # features/steps/patroni_api.py:63 1101s Mar 22 13:24:03 Then I receive a response code 200 # features/steps/patroni_api.py:100 1101s Mar 22 13:24:03 And I receive a response role standby_leader # features/steps/patroni_api.py:100 1101s Mar 22 13:24:03 And there is a postgres-1_cb.log with "on_role_change standby_leader batman1" in postgres-1 data directory # features/steps/cascading_replication.py:12 1101s Mar 22 13:24:03 When I start postgres-2 in a cluster batman1 # features/steps/standby_cluster.py:12 1106s Mar 22 13:24:08 Then postgres-2 role is the replica after 24 seconds # features/steps/basic_replication.py:117 1106s Mar 22 13:24:08 And postgres-2 is replicating from postgres-1 after 10 seconds # features/steps/standby_cluster.py:52 1106s Mar 22 13:24:08 And table foo is present on postgres-2 after 20 seconds # features/steps/basic_replication.py:105 1106s Mar 22 13:24:08 When I issue a GET request to http://127.0.0.1:8010/patroni # features/steps/patroni_api.py:63 1106s Mar 22 13:24:08 Then I receive a response code 200 # features/steps/patroni_api.py:100 1106s Mar 22 13:24:08 And I receive a response replication_state streaming # features/steps/patroni_api.py:100 1106s Mar 22 13:24:08 And postgres-1 does not have a replication slot named test_logical # features/steps/slots.py:41 1106s Mar 22 13:24:08 1106s Mar 22 13:24:08 Scenario: check switchover # features/standby_cluster.feature:57 1106s Mar 22 13:24:08 Given I run patronictl.py switchover batman1 --force # features/steps/patroni_api.py:88 1110s Mar 22 13:24:12 Then Status code on GET http://127.0.0.1:8010/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:144 1110s Mar 22 13:24:12 And postgres-1 is replicating from postgres-2 after 32 seconds # features/steps/standby_cluster.py:52 1112s Mar 22 13:24:14 And there is a postgres-2_cb.log with "on_start replica batman1\non_role_change standby_leader batman1" in postgres-2 data directory # features/steps/cascading_replication.py:12 1112s Mar 22 13:24:14 1112s Mar 22 13:24:14 Scenario: check failover # features/standby_cluster.feature:63 1112s Mar 22 13:24:14 When I kill postgres-2 # features/steps/basic_replication.py:46 1113s Mar 22 13:24:15 And I kill postmaster on postgres-2 # features/steps/basic_replication.py:56 1113s Mar 22 13:24:15 waiting for server to shut down.... done 1113s Mar 22 13:24:15 server stopped 1113s Mar 22 13:24:15 Then postgres-1 is replicating from postgres-0 after 32 seconds # features/steps/standby_cluster.py:52 1132s Mar 22 13:24:34 And Status code on GET http://127.0.0.1:8009/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:144 1132s Mar 22 13:24:34 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:63 1132s Mar 22 13:24:34 Then I receive a response code 503 # features/steps/patroni_api.py:100 1132s Mar 22 13:24:34 And I receive a response role standby_leader # features/steps/patroni_api.py:100 1132s Mar 22 13:24:34 And replication works from postgres-0 to postgres-1 after 15 seconds # features/steps/basic_replication.py:124 1133s Mar 22 13:24:35 And there is a postgres-1_cb.log with "on_role_change replica batman1\non_role_change standby_leader batman1" in postgres-1 data directory # features/steps/cascading_replication.py:12 1137s Mar 22 13:24:39 1137s Mar 22 13:24:39 Feature: watchdog # features/watchdog.feature:1 1137s Mar 22 13:24:39 Verify that watchdog gets pinged and triggered under appropriate circumstances. 1137s Mar 22 13:24:39 Scenario: watchdog is opened and pinged # features/watchdog.feature:4 1137s Mar 22 13:24:39 Given I start postgres-0 with watchdog # features/steps/watchdog.py:17 1142s Mar 22 13:24:44 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 1142s Mar 22 13:24:44 And postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 1142s Mar 22 13:24:44 And postgres-0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:22 1143s Mar 22 13:24:45 And postgres-0 watchdog has a 15 second timeout # features/steps/watchdog.py:35 1143s Mar 22 13:24:45 1143s Mar 22 13:24:45 Scenario: watchdog is reconfigured after global ttl changed # features/watchdog.feature:11 1143s Mar 22 13:24:45 Given I run patronictl.py edit-config batman -s ttl=30 --force # features/steps/patroni_api.py:88 1145s Mar 22 13:24:47 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 1145s Mar 22 13:24:47 And I receive a response output "+ttl: 30" # features/steps/patroni_api.py:100 1145s Mar 22 13:24:47 When I sleep for 4 seconds # features/steps/patroni_api.py:41 1149s Mar 22 13:24:51 Then postgres-0 watchdog has a 25 second timeout # features/steps/watchdog.py:35 1149s Mar 22 13:24:51 1149s Mar 22 13:24:51 Scenario: watchdog is disabled during pause # features/watchdog.feature:18 1149s Mar 22 13:24:51 Given I run patronictl.py pause batman # features/steps/patroni_api.py:88 1150s Mar 22 13:24:52 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 1150s Mar 22 13:24:52 When I sleep for 2 seconds # features/steps/patroni_api.py:41 1152s Mar 22 13:24:54 Then postgres-0 watchdog has been closed # features/steps/watchdog.py:30 1152s Mar 22 13:24:54 1152s Mar 22 13:24:54 Scenario: watchdog is opened and pinged after resume # features/watchdog.feature:24 1152s Mar 22 13:24:54 Given I reset postgres-0 watchdog state # features/steps/watchdog.py:40 1152s Mar 22 13:24:54 And I run patronictl.py resume batman # features/steps/patroni_api.py:88 1154s Mar 22 13:24:56 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 1154s Mar 22 13:24:56 And postgres-0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:22 1155s Mar 22 13:24:57 1155s Mar 22 13:24:57 Scenario: watchdog is disabled when shutting down # features/watchdog.feature:30 1155s Mar 22 13:24:57 Given I shut down postgres-0 # features/steps/basic_replication.py:41 1157s Mar 22 13:24:59 Then postgres-0 watchdog has been closed # features/steps/watchdog.py:30 1157s Mar 22 13:24:59 1157s Mar 22 13:24:59 Scenario: watchdog is triggered if patroni stops responding # features/watchdog.feature:34 1157s Mar 22 13:24:59 Given I reset postgres-0 watchdog state # features/steps/watchdog.py:40 1157s Mar 22 13:24:59 And I start postgres-0 with watchdog # features/steps/watchdog.py:17 1160s Mar 22 13:25:02 Then postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 1162s Mar 22 13:25:04 When postgres-0 hangs for 30 seconds # features/steps/watchdog.py:53 1162s Mar 22 13:25:04 Then postgres-0 watchdog is triggered after 30 seconds # features/steps/watchdog.py:45 1189s Mar 22 13:25:31 1189s Mar 22 13:25:31 Combined data file .coverage.autopkgtest-lxd-muyhey.4058.XbGnlunx 1189s Mar 22 13:25:31 Combined data file .coverage.autopkgtest-lxd-muyhey.4106.XkxbQKkx 1189s Mar 22 13:25:31 Combined data file .coverage.autopkgtest-lxd-muyhey.4154.XpUUVWax 1189s Mar 22 13:25:31 Combined data file .coverage.autopkgtest-lxd-muyhey.4205.Xhmyuxux 1189s Mar 22 13:25:31 Combined data file .coverage.autopkgtest-lxd-muyhey.4251.XMHOuwax 1189s Mar 22 13:25:31 Combined data file .coverage.autopkgtest-lxd-muyhey.4326.XwytAExx 1189s Mar 22 13:25:31 Combined data file .coverage.autopkgtest-lxd-muyhey.4377.XlGaXYrx 1189s Mar 22 13:25:31 Combined data file .coverage.autopkgtest-lxd-muyhey.4380.XbJaElfx 1189s Mar 22 13:25:31 Combined data file .coverage.autopkgtest-lxd-muyhey.4458.XstTHuOx 1189s Mar 22 13:25:31 Combined data file .coverage.autopkgtest-lxd-muyhey.4564.XDYAjtsx 1189s Mar 22 13:25:31 Combined data file .coverage.autopkgtest-lxd-muyhey.4578.XkZGEvRx 1189s Mar 22 13:25:31 Combined data file .coverage.autopkgtest-lxd-muyhey.4622.XmcBakQx 1189s Mar 22 13:25:31 Combined data file .coverage.autopkgtest-lxd-muyhey.4672.XClhiZmx 1189s Mar 22 13:25:31 Combined data file .coverage.autopkgtest-lxd-muyhey.4787.XIFyKBkx 1189s Mar 22 13:25:31 Combined data file .coverage.autopkgtest-lxd-muyhey.4833.XVAtDiCx 1189s Mar 22 13:25:31 Combined data file .coverage.autopkgtest-lxd-muyhey.4892.XqmUJzBx 1189s Mar 22 13:25:31 Combined data file .coverage.autopkgtest-lxd-muyhey.4985.XAksiPNx 1189s Mar 22 13:25:31 Combined data file .coverage.autopkgtest-lxd-muyhey.5035.XaMkFshx 1189s Mar 22 13:25:31 Combined data file .coverage.autopkgtest-lxd-muyhey.5135.XJGdAVsx 1189s Mar 22 13:25:31 Combined data file .coverage.autopkgtest-lxd-muyhey.5188.XCWaeGSx 1189s Mar 22 13:25:31 Combined data file .coverage.autopkgtest-lxd-muyhey.5251.XlLdDJYx 1189s Mar 22 13:25:31 Combined data file .coverage.autopkgtest-lxd-muyhey.5342.XbBLTasx 1189s Mar 22 13:25:31 Combined data file .coverage.autopkgtest-lxd-muyhey.5441.XDFHlmjx 1189s Mar 22 13:25:31 Combined data file .coverage.autopkgtest-lxd-muyhey.5485.XFlLbYox 1189s Mar 22 13:25:31 Combined data file .coverage.autopkgtest-lxd-muyhey.5548.XHjJnRMx 1189s Mar 22 13:25:31 Combined data file .coverage.autopkgtest-lxd-muyhey.5584.XBlRvygx 1189s Mar 22 13:25:31 Combined data file .coverage.autopkgtest-lxd-muyhey.5724.XKrKoIex 1189s Mar 22 13:25:31 Combined data file .coverage.autopkgtest-lxd-muyhey.5774.XZJLZolx 1189s Mar 22 13:25:31 Combined data file .coverage.autopkgtest-lxd-muyhey.5790.XRUchlFx 1189s Mar 22 13:25:31 Combined data file .coverage.autopkgtest-lxd-muyhey.5829.XmvKqMhx 1189s Mar 22 13:25:31 Combined data file .coverage.autopkgtest-lxd-muyhey.5879.XjRuJMZx 1189s Mar 22 13:25:31 Combined data file .coverage.autopkgtest-lxd-muyhey.5884.XdiWvVVx 1189s Mar 22 13:25:31 Combined data file .coverage.autopkgtest-lxd-muyhey.5921.XrcCXyOx 1189s Mar 22 13:25:31 Combined data file .coverage.autopkgtest-lxd-muyhey.5968.XKgtNNUx 1189s Mar 22 13:25:31 Combined data file .coverage.autopkgtest-lxd-muyhey.6137.XTkJZMQx 1189s Mar 22 13:25:31 Combined data file .coverage.autopkgtest-lxd-muyhey.6139.XTKLhxOx 1189s Mar 22 13:25:31 Combined data file .coverage.autopkgtest-lxd-muyhey.6145.XbgguMfx 1189s Mar 22 13:25:31 Combined data file .coverage.autopkgtest-lxd-muyhey.6285.XhTqYVYx 1189s Mar 22 13:25:31 Combined data file .coverage.autopkgtest-lxd-muyhey.6331.XSIPWBMx 1189s Mar 22 13:25:31 Combined data file .coverage.autopkgtest-lxd-muyhey.6381.XBbmWokx 1189s Mar 22 13:25:31 Combined data file .coverage.autopkgtest-lxd-muyhey.6418.XkyzSyvx 1189s Mar 22 13:25:31 Combined data file .coverage.autopkgtest-lxd-muyhey.6472.XiErZSpx 1189s Mar 22 13:25:31 Combined data file .coverage.autopkgtest-lxd-muyhey.6613.XjRHtYax 1189s Mar 22 13:25:31 Combined data file .coverage.autopkgtest-lxd-muyhey.6681.XdkcyHEx 1189s Mar 22 13:25:31 Combined data file .coverage.autopkgtest-lxd-muyhey.6725.XogXtvxx 1189s Mar 22 13:25:31 Combined data file .coverage.autopkgtest-lxd-muyhey.6798.XIUMXawx 1189s Mar 22 13:25:31 Combined data file .coverage.autopkgtest-lxd-muyhey.6876.XkSsFJDx 1189s Mar 22 13:25:31 Combined data file .coverage.autopkgtest-lxd-muyhey.6942.XYDtgRex 1189s Mar 22 13:25:31 Combined data file .coverage.autopkgtest-lxd-muyhey.7272.XrYjpEtx 1189s Mar 22 13:25:31 Combined data file .coverage.autopkgtest-lxd-muyhey.7323.Xeijnnux 1189s Mar 22 13:25:31 Combined data file .coverage.autopkgtest-lxd-muyhey.7383.XTZhDhTx 1189s Mar 22 13:25:31 Combined data file .coverage.autopkgtest-lxd-muyhey.7473.XKyceLKx 1189s Mar 22 13:25:31 Combined data file .coverage.autopkgtest-lxd-muyhey.7522.XUBbdNix 1189s Mar 22 13:25:31 Combined data file .coverage.autopkgtest-lxd-muyhey.7579.XcxrRbFx 1189s Mar 22 13:25:31 Combined data file .coverage.autopkgtest-lxd-muyhey.7624.XtwPaHix 1189s Mar 22 13:25:31 Combined data file .coverage.autopkgtest-lxd-muyhey.7662.XzIpIonx 1189s Mar 22 13:25:31 Combined data file .coverage.autopkgtest-lxd-muyhey.7706.XTEFHEMx 1189s Mar 22 13:25:31 Combined data file .coverage.autopkgtest-lxd-muyhey.7936.XpWOjOqx 1189s Mar 22 13:25:31 Combined data file .coverage.autopkgtest-lxd-muyhey.8000.XNfWjZPx 1189s Mar 22 13:25:31 Combined data file .coverage.autopkgtest-lxd-muyhey.8056.XKHFeZXx 1189s Mar 22 13:25:31 Combined data file .coverage.autopkgtest-lxd-muyhey.8159.XlDzYMYx 1189s Mar 22 13:25:31 Combined data file .coverage.autopkgtest-lxd-muyhey.8280.XjlqkwFx 1189s Mar 22 13:25:31 Combined data file .coverage.autopkgtest-lxd-muyhey.8410.XXMgRcLx 1189s Mar 22 13:25:31 Combined data file .coverage.autopkgtest-lxd-muyhey.8454.XDuehSBx 1189s Mar 22 13:25:31 Skipping duplicate data .coverage.autopkgtest-lxd-muyhey.8456.XMzQFnBx 1189s Mar 22 13:25:31 Combined data file .coverage.autopkgtest-lxd-muyhey.8459.XdqEidQx 1189s Mar 22 13:25:31 Combined data file .coverage.autopkgtest-lxd-muyhey.8470.XeiDVpCx 1193s Mar 22 13:25:35 Name Stmts Miss Cover 1193s Mar 22 13:25:35 ------------------------------------------------------------------------------------------------------------- 1193s Mar 22 13:25:35 /usr/lib/python3/dist-packages/OpenSSL/SSL.py 1159 642 45% 1193s Mar 22 13:25:35 /usr/lib/python3/dist-packages/OpenSSL/__init__.py 3 0 100% 1193s Mar 22 13:25:35 /usr/lib/python3/dist-packages/OpenSSL/_util.py 44 15 66% 1193s Mar 22 13:25:35 /usr/lib/python3/dist-packages/OpenSSL/crypto.py 869 663 24% 1193s Mar 22 13:25:35 /usr/lib/python3/dist-packages/OpenSSL/version.py 9 0 100% 1193s Mar 22 13:25:35 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 101 96 5% 1193s Mar 22 13:25:35 /usr/lib/python3/dist-packages/bcrypt/__init__.py 3 0 100% 1193s Mar 22 13:25:35 /usr/lib/python3/dist-packages/cryptography/__about__.py 5 0 100% 1193s Mar 22 13:25:35 /usr/lib/python3/dist-packages/cryptography/__init__.py 3 0 100% 1193s Mar 22 13:25:35 /usr/lib/python3/dist-packages/cryptography/exceptions.py 26 5 81% 1193s Mar 22 13:25:35 /usr/lib/python3/dist-packages/cryptography/hazmat/__init__.py 2 0 100% 1193s Mar 22 13:25:35 /usr/lib/python3/dist-packages/cryptography/hazmat/_oid.py 135 0 100% 1193s Mar 22 13:25:35 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/__init__.py 0 0 100% 1193s Mar 22 13:25:35 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/__init__.py 0 0 100% 1193s Mar 22 13:25:35 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/_conditional.py 38 17 55% 1193s Mar 22 13:25:35 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/binding.py 51 4 92% 1193s Mar 22 13:25:35 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/__init__.py 1 0 100% 1193s Mar 22 13:25:35 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/ciphers/__init__.py 1 0 100% 1193s Mar 22 13:25:35 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/ciphers/algorithms.py 68 18 74% 1193s Mar 22 13:25:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/__init__.py 0 0 100% 1193s Mar 22 13:25:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_asymmetric.py 6 0 100% 1193s Mar 22 13:25:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_cipheralgorithm.py 23 4 83% 1193s Mar 22 13:25:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_serialization.py 79 35 56% 1193s Mar 22 13:25:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/__init__.py 0 0 100% 1193s Mar 22 13:25:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dh.py 47 0 100% 1193s Mar 22 13:25:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dsa.py 55 5 91% 1193s Mar 22 13:25:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ec.py 172 22 87% 1193s Mar 22 13:25:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed448.py 45 12 73% 1193s Mar 22 13:25:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed25519.py 43 12 72% 1193s Mar 22 13:25:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/padding.py 55 23 58% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/rsa.py 93 40 57% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/types.py 19 0 100% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/utils.py 14 5 64% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x448.py 43 12 72% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x25519.py 41 12 71% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/__init__.py 4 0 100% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/algorithms.py 72 15 79% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/base.py 54 12 78% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/modes.py 140 59 58% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/constant_time.py 6 3 50% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hashes.py 127 20 84% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/__init__.py 5 0 100% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/base.py 7 0 100% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/ssh.py 775 614 21% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/cryptography/utils.py 76 28 63% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/cryptography/x509/__init__.py 70 0 100% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/cryptography/x509/base.py 488 227 53% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/cryptography/x509/certificate_transparency.py 42 0 100% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/cryptography/x509/extensions.py 1024 552 46% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/cryptography/x509/general_name.py 166 94 43% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/cryptography/x509/name.py 236 144 39% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/cryptography/x509/oid.py 3 0 100% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/cryptography/x509/verification.py 12 0 100% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/dateutil/__init__.py 13 4 69% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/dateutil/_version.py 13 3 77% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 810 436 46% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 183 150 18% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 240 206 14% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 151 114 25% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 794 626 21% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/dateutil/tz/win.py 152 149 2% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/dns/__init__.py 2 0 100% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/dns/_asyncbackend.py 14 6 57% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/dns/_ddr.py 105 86 18% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/dns/_features.py 46 8 83% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/dns/_immutable_ctx.py 40 5 88% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/dns/asyncbackend.py 44 32 27% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/dns/asyncquery.py 322 283 12% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/dns/edns.py 307 185 40% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/dns/entropy.py 80 49 39% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/dns/enum.py 72 46 36% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/dns/exception.py 59 33 44% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/dns/flags.py 40 14 65% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/dns/grange.py 33 30 9% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/dns/immutable.py 41 30 27% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/dns/inet.py 79 65 18% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/dns/ipv4.py 26 20 23% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/dns/ipv6.py 114 100 12% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/dns/message.py 829 676 18% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/dns/name.py 617 425 31% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/dns/nameserver.py 102 55 46% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/dns/node.py 117 71 39% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/dns/opcode.py 30 7 77% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/dns/query.py 562 477 15% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/dns/quic/__init__.py 28 23 18% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/dns/rcode.py 68 13 81% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/dns/rdata.py 386 277 28% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/dns/rdataclass.py 43 9 79% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/dns/rdataset.py 192 133 31% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/dns/rdatatype.py 215 23 89% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/OPT.py 34 19 44% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/SOA.py 41 26 37% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/TSIG.py 58 42 28% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/ZONEMD.py 43 27 37% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/__init__.py 1 0 100% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/dns/rdtypes/__init__.py 1 0 100% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/dns/rdtypes/svcbbase.py 415 268 35% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/dns/rdtypes/util.py 191 154 19% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/dns/renderer.py 151 118 22% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/dns/resolver.py 873 696 20% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/dns/reversename.py 32 24 25% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/dns/rrset.py 77 56 27% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/dns/serial.py 92 79 14% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/dns/set.py 148 107 28% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/dns/tokenizer.py 334 279 16% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/dns/transaction.py 269 201 25% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/dns/tsig.py 176 122 31% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/dns/ttl.py 44 38 14% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/dns/version.py 6 0 100% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/dns/wire.py 64 42 34% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/dns/xfr.py 148 126 15% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/dns/zone.py 507 383 24% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/dns/zonefile.py 427 379 11% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/dns/zonetypes.py 14 2 86% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/etcd/__init__.py 125 63 50% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/etcd/client.py 380 256 33% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/etcd/lock.py 125 103 18% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/idna/__init__.py 4 0 100% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/idna/core.py 292 257 12% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/idna/idnadata.py 4 0 100% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/idna/intranges.py 30 24 20% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/idna/package_data.py 1 0 100% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/patroni/__main__.py 201 63 69% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/patroni/api.py 788 292 63% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 15 84% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/patroni/collections.py 56 5 91% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/patroni/config.py 357 84 76% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/patroni/config_generator.py 212 159 25% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/patroni/daemon.py 76 3 96% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 710 93 87% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/patroni/dcs/etcd3.py 679 124 82% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/patroni/dcs/etcd.py 603 256 58% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/patroni/dynamic_loader.py 35 7 80% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/patroni/file_perm.py 47 10 79% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/patroni/global_config.py 87 0 100% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/patroni/ha.py 1359 374 72% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/patroni/log.py 235 79 66% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 825 165 80% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/patroni/postgresql/available_parameters/__init__.py 24 3 88% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 254 60 76% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 840 215 74% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 1 99% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 43 8 81% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/patroni/postgresql/mpp/__init__.py 89 11 88% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 83 51% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 416 127 69% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 349 38 89% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 154 10 94% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 157 24 85% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/patroni/psycopg.py 46 19 59% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/patroni/quorum.py 182 48 74% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/patroni/request.py 58 7 88% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/patroni/tags.py 38 0 100% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/patroni/utils.py 371 104 72% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/patroni/validator.py 309 215 30% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 42 79% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 35 74% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/psutil/__init__.py 950 629 34% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/psutil/_common.py 422 212 50% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/psutil/_compat.py 301 263 13% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1250 924 26% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/psutil/_psposix.py 95 38 60% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/urllib3/__init__.py 49 15 69% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 63 45 29% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/urllib3/_collections.py 231 124 46% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 54 24 56% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/urllib3/_version.py 13 3 77% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/urllib3/connection.py 389 137 65% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 344 129 62% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/urllib3/contrib/__init__.py 0 0 100% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/urllib3/contrib/pyopenssl.py 263 101 62% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/urllib3/exceptions.py 121 39 68% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/urllib3/http2/__init__.py 28 21 25% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/urllib3/http2/probe.py 49 31 37% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 86 63% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/urllib3/response.py 634 331 48% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 42 36% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 49 53% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 15 53% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/urllib3/util/retry.py 174 51 71% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 172 74 57% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 152 106 30% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 14 80% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/urllib3/util/url.py 203 73 64% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 10 62% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 18 63% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/yaml/parser.py 352 198 44% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/yaml/reader.py 122 34 72% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/yaml/scanner.py 758 437 42% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 1194s Mar 22 13:25:35 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 1194s Mar 22 13:25:35 patroni/__init__.py 13 2 85% 1194s Mar 22 13:25:35 patroni/__main__.py 201 201 0% 1194s Mar 22 13:25:35 patroni/api.py 788 788 0% 1194s Mar 22 13:25:35 patroni/async_executor.py 96 69 28% 1194s Mar 22 13:25:35 patroni/collections.py 56 15 73% 1194s Mar 22 13:25:35 patroni/config.py 357 186 48% 1194s Mar 22 13:25:35 patroni/config_generator.py 212 212 0% 1194s Mar 22 13:25:35 patroni/ctl.py 936 395 58% 1194s Mar 22 13:25:35 patroni/daemon.py 76 76 0% 1194s Mar 22 13:25:35 patroni/dcs/__init__.py 710 315 56% 1194s Mar 22 13:25:35 patroni/dcs/consul.py 482 482 0% 1194s Mar 22 13:25:35 patroni/dcs/etcd3.py 679 346 49% 1194s Mar 22 13:25:35 patroni/dcs/etcd.py 603 280 54% 1194s Mar 22 13:25:35 patroni/dcs/exhibitor.py 62 62 0% 1194s Mar 22 13:25:35 patroni/dcs/kubernetes.py 943 943 0% 1194s Mar 22 13:25:35 patroni/dcs/raft.py 319 319 0% 1194s Mar 22 13:25:35 patroni/dcs/zookeeper.py 289 289 0% 1194s Mar 22 13:25:35 patroni/dynamic_loader.py 35 7 80% 1194s Mar 22 13:25:35 patroni/exceptions.py 16 1 94% 1194s Mar 22 13:25:35 patroni/file_perm.py 47 17 64% 1194s Mar 22 13:25:35 patroni/global_config.py 87 19 78% 1194s Mar 22 13:25:35 patroni/ha.py 1359 1359 0% 1194s Mar 22 13:25:35 patroni/log.py 235 183 22% 1194s Mar 22 13:25:35 patroni/postgresql/__init__.py 825 653 21% 1194s Mar 22 13:25:35 patroni/postgresql/available_parameters/__init__.py 24 3 88% 1194s Mar 22 13:25:35 patroni/postgresql/bootstrap.py 254 224 12% 1194s Mar 22 13:25:35 patroni/postgresql/callback_executor.py 55 34 38% 1194s Mar 22 13:25:35 patroni/postgresql/cancellable.py 104 84 19% 1194s Mar 22 13:25:35 patroni/postgresql/config.py 840 720 14% 1194s Mar 22 13:25:35 patroni/postgresql/connection.py 75 50 33% 1194s Mar 22 13:25:35 patroni/postgresql/misc.py 43 30 30% 1194s Mar 22 13:25:35 patroni/postgresql/mpp/__init__.py 89 21 76% 1194s Mar 22 13:25:35 patroni/postgresql/mpp/citus.py 366 366 0% 1194s Mar 22 13:25:35 patroni/postgresql/postmaster.py 170 139 18% 1194s Mar 22 13:25:35 patroni/postgresql/rewind.py 416 416 0% 1194s Mar 22 13:25:35 patroni/postgresql/slots.py 349 300 14% 1194s Mar 22 13:25:35 patroni/postgresql/sync.py 154 114 26% 1194s Mar 22 13:25:35 patroni/postgresql/validator.py 157 52 67% 1194s Mar 22 13:25:35 patroni/psycopg.py 46 32 30% 1194s Mar 22 13:25:35 patroni/quorum.py 182 182 0% 1194s Mar 22 13:25:35 patroni/raft_controller.py 22 22 0% 1194s Mar 22 13:25:35 patroni/request.py 58 6 90% 1194s Mar 22 13:25:35 patroni/scripts/__init__.py 0 0 100% 1194s Mar 22 13:25:35 patroni/scripts/aws.py 59 59 0% 1194s Mar 22 13:25:35 patroni/scripts/barman/__init__.py 0 0 100% 1194s Mar 22 13:25:35 patroni/scripts/barman/cli.py 50 50 0% 1194s Mar 22 13:25:35 patroni/scripts/barman/config_switch.py 50 50 0% 1194s Mar 22 13:25:35 patroni/scripts/barman/recover.py 36 36 0% 1194s Mar 22 13:25:35 patroni/scripts/barman/utils.py 93 93 0% 1194s Mar 22 13:25:35 patroni/scripts/wale_restore.py 207 207 0% 1194s Mar 22 13:25:35 patroni/tags.py 38 11 71% 1194s Mar 22 13:25:35 patroni/utils.py 371 185 50% 1194s Mar 22 13:25:35 patroni/validator.py 309 222 28% 1194s Mar 22 13:25:35 patroni/version.py 1 0 100% 1194s Mar 22 13:25:35 patroni/watchdog/__init__.py 2 2 0% 1194s Mar 22 13:25:35 patroni/watchdog/base.py 203 203 0% 1194s Mar 22 13:25:35 patroni/watchdog/linux.py 135 135 0% 1194s Mar 22 13:25:35 ------------------------------------------------------------------------------------------------------------- 1194s Mar 22 13:25:35 TOTAL 54417 32591 40% 1194s Mar 22 13:25:35 13 features passed, 0 failed, 1 skipped 1194s Mar 22 13:25:35 55 scenarios passed, 0 failed, 14 skipped 1194s Mar 22 13:25:35 539 steps passed, 0 failed, 128 skipped, 0 undefined 1194s Mar 22 13:25:35 Took 9m35.568s 1194s + bash -c 'rm -rf features/output' 1194s + echo '### End 17 acceptance-etcd3 ###' 1194s ### End 17 acceptance-etcd3 ### 1194s + rm -f /tmp/pgpass_postgres-0 /tmp/pgpass_postgres-1 /tmp/pgpass_postgres-2 /tmp/pgpass_postgres-3 1194s ++ id -u 1194s + '[' 1000 -eq 0 ']' 1194s autopkgtest [13:25:36]: test acceptance-etcd3: -----------------------] 1198s acceptance-etcd3 PASS 1198s autopkgtest [13:25:40]: test acceptance-etcd3: - - - - - - - - - - results - - - - - - - - - - 1201s autopkgtest [13:25:43]: test acceptance-etcd: preparing testbed 1203s Reading package lists... 1203s Building dependency tree... 1203s Reading state information... 1204s Starting pkgProblemResolver with broken count: 0 1204s Starting 2 pkgProblemResolver with broken count: 0 1204s Done 1205s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1214s autopkgtest [13:25:56]: test acceptance-etcd: debian/tests/acceptance etcd 1214s autopkgtest [13:25:56]: test acceptance-etcd: [----------------------- 1216s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 1216s ++ ls -1r /usr/lib/postgresql/ 1216s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 1216s + '[' 17 == 10 -o 17 == 11 ']' 1216s + echo '### PostgreSQL 17 acceptance-etcd ###' 1216s + bash -c 'set -o pipefail; ETCD_UNSUPPORTED_ARCH=arm DCS=etcd PATH=/usr/lib/postgresql/17/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin behave | ts' 1216s ### PostgreSQL 17 acceptance-etcd ### 1218s Mar 22 13:26:00 No data to combine 1222s Mar 22 13:26:04 Name Stmts Miss Cover 1222s Mar 22 13:26:04 ------------------------------------------------------------------------------------------------------------- 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/OpenSSL/SSL.py 1159 642 45% 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/OpenSSL/__init__.py 3 0 100% 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/OpenSSL/_util.py 44 15 66% 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/OpenSSL/crypto.py 869 663 24% 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/OpenSSL/version.py 9 0 100% 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 101 96 5% 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/bcrypt/__init__.py 3 0 100% 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/cryptography/__about__.py 5 0 100% 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/cryptography/__init__.py 3 0 100% 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/cryptography/exceptions.py 26 5 81% 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/cryptography/hazmat/__init__.py 2 0 100% 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/cryptography/hazmat/_oid.py 135 0 100% 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/__init__.py 0 0 100% 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/__init__.py 0 0 100% 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/_conditional.py 38 17 55% 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/binding.py 51 4 92% 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/__init__.py 1 0 100% 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/ciphers/__init__.py 1 0 100% 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/ciphers/algorithms.py 68 18 74% 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/__init__.py 0 0 100% 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_asymmetric.py 6 0 100% 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_cipheralgorithm.py 23 4 83% 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_serialization.py 79 35 56% 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/__init__.py 0 0 100% 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dh.py 47 0 100% 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dsa.py 55 5 91% 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ec.py 172 22 87% 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed448.py 45 12 73% 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed25519.py 43 12 72% 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/padding.py 55 23 58% 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/rsa.py 93 40 57% 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/types.py 19 0 100% 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/utils.py 14 5 64% 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x448.py 43 12 72% 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x25519.py 41 12 71% 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/__init__.py 4 0 100% 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/algorithms.py 72 15 79% 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/base.py 54 12 78% 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/modes.py 140 59 58% 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/constant_time.py 6 3 50% 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hashes.py 127 20 84% 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/__init__.py 5 0 100% 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/base.py 7 0 100% 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/ssh.py 775 614 21% 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/cryptography/utils.py 76 28 63% 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/cryptography/x509/__init__.py 70 0 100% 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/cryptography/x509/base.py 488 227 53% 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/cryptography/x509/certificate_transparency.py 42 0 100% 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/cryptography/x509/extensions.py 1024 552 46% 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/cryptography/x509/general_name.py 166 94 43% 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/cryptography/x509/name.py 236 144 39% 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/cryptography/x509/oid.py 3 0 100% 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/cryptography/x509/verification.py 12 0 100% 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/dateutil/__init__.py 13 4 69% 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/dateutil/_version.py 13 3 77% 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 810 436 46% 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 183 150 18% 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 240 206 14% 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 151 114 25% 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 794 626 21% 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/dateutil/tz/win.py 152 149 2% 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/dns/__init__.py 2 0 100% 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/dns/_asyncbackend.py 14 6 57% 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/dns/_ddr.py 105 86 18% 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/dns/_features.py 46 8 83% 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/dns/_immutable_ctx.py 40 5 88% 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/dns/asyncbackend.py 44 32 27% 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/dns/asyncquery.py 322 283 12% 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/dns/edns.py 307 185 40% 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/dns/entropy.py 80 49 39% 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/dns/enum.py 72 46 36% 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/dns/exception.py 59 33 44% 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/dns/flags.py 40 14 65% 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/dns/grange.py 33 30 9% 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/dns/immutable.py 41 30 27% 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/dns/inet.py 79 65 18% 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/dns/ipv4.py 26 20 23% 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/dns/ipv6.py 114 100 12% 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/dns/message.py 829 676 18% 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/dns/name.py 617 425 31% 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/dns/nameserver.py 102 55 46% 1222s Mar 22 13:26:04 /usr/lib/python3/dist-packages/dns/node.py 117 71 39% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/dns/opcode.py 30 7 77% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/dns/query.py 562 477 15% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/dns/quic/__init__.py 28 23 18% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/dns/rcode.py 68 13 81% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/dns/rdata.py 386 277 28% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/dns/rdataclass.py 43 9 79% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/dns/rdataset.py 192 133 31% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/dns/rdatatype.py 215 23 89% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/OPT.py 34 19 44% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/SOA.py 41 26 37% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/TSIG.py 58 42 28% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/ZONEMD.py 43 27 37% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/__init__.py 1 0 100% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/dns/rdtypes/__init__.py 1 0 100% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/dns/rdtypes/svcbbase.py 415 268 35% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/dns/rdtypes/util.py 191 154 19% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/dns/renderer.py 151 118 22% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/dns/resolver.py 873 696 20% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/dns/reversename.py 32 24 25% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/dns/rrset.py 77 56 27% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/dns/serial.py 92 79 14% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/dns/set.py 148 107 28% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/dns/tokenizer.py 334 279 16% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/dns/transaction.py 269 201 25% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/dns/tsig.py 176 122 31% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/dns/ttl.py 44 38 14% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/dns/version.py 6 0 100% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/dns/wire.py 64 42 34% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/dns/xfr.py 148 126 15% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/dns/zone.py 507 383 24% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/dns/zonefile.py 427 379 11% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/dns/zonetypes.py 14 2 86% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/etcd/__init__.py 125 63 50% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/etcd/client.py 380 256 33% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/etcd/lock.py 125 103 18% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/idna/__init__.py 4 0 100% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/idna/core.py 292 257 12% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/idna/idnadata.py 4 0 100% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/idna/intranges.py 30 24 20% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/idna/package_data.py 1 0 100% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/patroni/__main__.py 201 63 69% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/patroni/api.py 788 292 63% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 15 84% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/patroni/collections.py 56 5 91% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/patroni/config.py 357 84 76% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/patroni/config_generator.py 212 159 25% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/patroni/daemon.py 76 3 96% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 710 93 87% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/patroni/dcs/etcd3.py 679 124 82% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/patroni/dcs/etcd.py 603 256 58% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/patroni/dynamic_loader.py 35 7 80% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/patroni/file_perm.py 47 10 79% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/patroni/global_config.py 87 0 100% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/patroni/ha.py 1359 374 72% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/patroni/log.py 235 79 66% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 825 165 80% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/patroni/postgresql/available_parameters/__init__.py 24 3 88% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 254 60 76% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 840 215 74% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 1 99% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 43 8 81% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/patroni/postgresql/mpp/__init__.py 89 11 88% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 83 51% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 416 127 69% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 349 38 89% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 154 10 94% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 157 24 85% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/patroni/psycopg.py 46 19 59% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/patroni/quorum.py 182 48 74% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/patroni/request.py 58 7 88% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/patroni/tags.py 38 0 100% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/patroni/utils.py 371 104 72% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/patroni/validator.py 309 215 30% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 42 79% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 35 74% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/psutil/__init__.py 950 629 34% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/psutil/_common.py 422 212 50% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/psutil/_compat.py 301 263 13% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1250 924 26% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/psutil/_psposix.py 95 38 60% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/urllib3/__init__.py 49 15 69% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 63 45 29% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/urllib3/_collections.py 231 124 46% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 54 24 56% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/urllib3/_version.py 13 3 77% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/urllib3/connection.py 389 137 65% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 344 129 62% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/urllib3/contrib/__init__.py 0 0 100% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/urllib3/contrib/pyopenssl.py 263 101 62% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/urllib3/exceptions.py 121 39 68% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/urllib3/http2/__init__.py 28 21 25% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/urllib3/http2/probe.py 49 31 37% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 86 63% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/urllib3/response.py 634 331 48% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 42 36% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 49 53% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 15 53% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/urllib3/util/retry.py 174 51 71% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 172 74 57% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 152 106 30% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 14 80% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/urllib3/util/url.py 203 73 64% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 10 62% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 18 63% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/yaml/parser.py 352 198 44% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/yaml/reader.py 122 34 72% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/yaml/scanner.py 758 437 42% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 1223s Mar 22 13:26:04 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 1223s Mar 22 13:26:04 patroni/__init__.py 13 2 85% 1223s Mar 22 13:26:04 patroni/__main__.py 201 201 0% 1223s Mar 22 13:26:04 patroni/api.py 788 788 0% 1223s Mar 22 13:26:04 patroni/async_executor.py 96 69 28% 1223s Mar 22 13:26:04 patroni/collections.py 56 15 73% 1223s Mar 22 13:26:04 patroni/config.py 357 186 48% 1223s Mar 22 13:26:04 patroni/config_generator.py 212 212 0% 1223s Mar 22 13:26:04 patroni/ctl.py 936 395 58% 1223s Mar 22 13:26:04 patroni/daemon.py 76 76 0% 1223s Mar 22 13:26:04 patroni/dcs/__init__.py 710 315 56% 1223s Mar 22 13:26:04 patroni/dcs/consul.py 482 482 0% 1223s Mar 22 13:26:04 patroni/dcs/etcd3.py 679 346 49% 1223s Mar 22 13:26:04 patroni/dcs/etcd.py 603 280 54% 1223s Mar 22 13:26:04 patroni/dcs/exhibitor.py 62 62 0% 1223s Mar 22 13:26:04 patroni/dcs/kubernetes.py 943 943 0% 1223s Mar 22 13:26:04 patroni/dcs/raft.py 319 319 0% 1223s Mar 22 13:26:04 patroni/dcs/zookeeper.py 289 289 0% 1223s Mar 22 13:26:04 patroni/dynamic_loader.py 35 7 80% 1223s Mar 22 13:26:04 patroni/exceptions.py 16 1 94% 1223s Mar 22 13:26:04 patroni/file_perm.py 47 17 64% 1223s Mar 22 13:26:04 patroni/global_config.py 87 19 78% 1223s Mar 22 13:26:04 patroni/ha.py 1359 1359 0% 1223s Mar 22 13:26:04 patroni/log.py 235 183 22% 1223s Mar 22 13:26:04 patroni/postgresql/__init__.py 825 653 21% 1223s Mar 22 13:26:04 patroni/postgresql/available_parameters/__init__.py 24 3 88% 1223s Mar 22 13:26:04 patroni/postgresql/bootstrap.py 254 224 12% 1223s Mar 22 13:26:04 patroni/postgresql/callback_executor.py 55 34 38% 1223s Mar 22 13:26:04 patroni/postgresql/cancellable.py 104 84 19% 1223s Mar 22 13:26:04 patroni/postgresql/config.py 840 720 14% 1223s Mar 22 13:26:04 patroni/postgresql/connection.py 75 50 33% 1223s Mar 22 13:26:04 patroni/postgresql/misc.py 43 30 30% 1223s Mar 22 13:26:04 patroni/postgresql/mpp/__init__.py 89 21 76% 1223s Mar 22 13:26:04 patroni/postgresql/mpp/citus.py 366 366 0% 1223s Mar 22 13:26:04 patroni/postgresql/postmaster.py 170 139 18% 1223s Mar 22 13:26:04 patroni/postgresql/rewind.py 416 416 0% 1223s Mar 22 13:26:04 patroni/postgresql/slots.py 349 300 14% 1223s Mar 22 13:26:04 patroni/postgresql/sync.py 154 114 26% 1223s Mar 22 13:26:04 patroni/postgresql/validator.py 157 52 67% 1223s Mar 22 13:26:04 patroni/psycopg.py 46 32 30% 1223s Mar 22 13:26:04 patroni/quorum.py 182 182 0% 1223s Mar 22 13:26:04 patroni/raft_controller.py 22 22 0% 1223s Mar 22 13:26:04 patroni/request.py 58 6 90% 1223s Mar 22 13:26:04 patroni/scripts/__init__.py 0 0 100% 1223s Mar 22 13:26:04 patroni/scripts/aws.py 59 59 0% 1223s Mar 22 13:26:04 patroni/scripts/barman/__init__.py 0 0 100% 1223s Mar 22 13:26:04 patroni/scripts/barman/cli.py 50 50 0% 1223s Mar 22 13:26:04 patroni/scripts/barman/config_switch.py 50 50 0% 1223s Mar 22 13:26:04 patroni/scripts/barman/recover.py 36 36 0% 1223s Mar 22 13:26:04 patroni/scripts/barman/utils.py 93 93 0% 1223s Mar 22 13:26:04 patroni/scripts/wale_restore.py 207 207 0% 1223s Mar 22 13:26:04 patroni/tags.py 38 11 71% 1223s Mar 22 13:26:04 patroni/utils.py 371 185 50% 1223s Mar 22 13:26:04 patroni/validator.py 309 222 28% 1223s Mar 22 13:26:04 patroni/version.py 1 0 100% 1223s Mar 22 13:26:04 patroni/watchdog/__init__.py 2 2 0% 1223s Mar 22 13:26:04 patroni/watchdog/base.py 203 203 0% 1223s Mar 22 13:26:04 patroni/watchdog/linux.py 135 135 0% 1223s Mar 22 13:26:04 ------------------------------------------------------------------------------------------------------------- 1223s Mar 22 13:26:04 TOTAL 54417 32591 40% 1223s Mar 22 13:26:04 HOOK-ERROR in before_all: AssertionError: Process etcd is not running after being started 1223s Mar 22 13:26:04 1223s Mar 22 13:26:04 ABORTED: By user. 1223s Mar 22 13:26:04 0 features passed, 0 failed, 0 skipped, 14 untested 1223s Mar 22 13:26:04 0 scenarios passed, 0 failed, 0 skipped, 69 untested 1223s Mar 22 13:26:04 0 steps passed, 0 failed, 0 skipped, 0 undefined, 667 untested 1223s Mar 22 13:26:04 Took 0m0.000s 1223s features/output/*_failed/*: 1223s + for file in features/output/*_failed/* 1223s + case $file in 1223s + echo 'features/output/*_failed/*:' 1223s + cat 'features/output/*_failed/*' 1223s cat: 'features/output/*_failed/*': No such file or directory 1223s + rm -f '/tmp/pgpass_postgres-?' 1223s ++ id -u 1223s + '[' 1000 -eq 0 ']' 1223s autopkgtest [13:26:05]: test acceptance-etcd: -----------------------] 1227s autopkgtest [13:26:09]: test acceptance-etcd: - - - - - - - - - - results - - - - - - - - - - 1227s acceptance-etcd FAIL non-zero exit status 1 1230s autopkgtest [13:26:12]: test acceptance-zookeeper: preparing testbed 1252s autopkgtest [13:26:34]: testbed dpkg architecture: armhf 1253s autopkgtest [13:26:35]: testbed apt version: 2.9.34 1257s autopkgtest [13:26:39]: @@@@@@@@@@@@@@@@@@@@ test bed setup 1259s autopkgtest [13:26:41]: testbed release detected to be: plucky 1266s autopkgtest [13:26:48]: updating testbed package index (apt update) 1268s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [126 kB] 1268s Get:2 http://ftpmaster.internal/ubuntu plucky InRelease [265 kB] 1268s Get:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease [126 kB] 1268s Get:4 http://ftpmaster.internal/ubuntu plucky-security InRelease [126 kB] 1268s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [1232 B] 1268s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [11.5 kB] 1268s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [29.9 kB] 1268s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [288 kB] 1268s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf Packages [38.6 kB] 1268s Get:10 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf c-n-f Metadata [1264 B] 1268s Get:11 http://ftpmaster.internal/ubuntu plucky-proposed/restricted armhf c-n-f Metadata [116 B] 1268s Get:12 http://ftpmaster.internal/ubuntu plucky-proposed/universe armhf Packages [177 kB] 1268s Get:13 http://ftpmaster.internal/ubuntu plucky-proposed/universe armhf c-n-f Metadata [6520 B] 1268s Get:14 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse armhf Packages [1712 B] 1268s Get:15 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse armhf c-n-f Metadata [284 B] 1268s Get:16 http://ftpmaster.internal/ubuntu plucky/main Sources [1388 kB] 1269s Get:17 http://ftpmaster.internal/ubuntu plucky/multiverse Sources [297 kB] 1269s Get:18 http://ftpmaster.internal/ubuntu plucky/universe Sources [21.0 MB] 1270s Get:19 http://ftpmaster.internal/ubuntu plucky/main armhf Packages [1350 kB] 1270s Get:20 http://ftpmaster.internal/ubuntu plucky/main armhf c-n-f Metadata [29.3 kB] 1270s Get:21 http://ftpmaster.internal/ubuntu plucky/universe armhf Packages [15.4 MB] 1271s Get:22 http://ftpmaster.internal/ubuntu plucky/universe armhf c-n-f Metadata [277 kB] 1271s Get:23 http://ftpmaster.internal/ubuntu plucky/multiverse armhf Packages [172 kB] 1275s Fetched 41.1 MB in 7s (6160 kB/s) 1276s Reading package lists... 1282s autopkgtest [13:27:04]: upgrading testbed (apt dist-upgrade and autopurge) 1283s Reading package lists... 1284s Building dependency tree... 1284s Reading state information... 1285s Calculating upgrade...Starting pkgProblemResolver with broken count: 0 1286s Starting 2 pkgProblemResolver with broken count: 0 1286s Done 1287s Entering ResolveByKeep 1288s 1289s Calculating upgrade... 1290s The following packages will be upgraded: 1290s python3-dateutil 1290s 1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1290s Need to get 80.3 kB of archives. 1290s After this operation, 0 B of additional disk space will be used. 1290s Get:1 http://ftpmaster.internal/ubuntu plucky/main armhf python3-dateutil all 2.9.0-4 [80.3 kB] 1291s Fetched 80.3 kB in 0s (281 kB/s) 1291s (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 ... 63958 files and directories currently installed.) 1291s Preparing to unpack .../python3-dateutil_2.9.0-4_all.deb ... 1291s Unpacking python3-dateutil (2.9.0-4) over (2.9.0-3) ... 1291s Setting up python3-dateutil (2.9.0-4) ... 1293s Reading package lists... 1294s Building dependency tree... 1294s Reading state information... 1295s Starting pkgProblemResolver with broken count: 0 1295s Starting 2 pkgProblemResolver with broken count: 0 1295s Done 1296s Solving dependencies... 1297s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1299s autopkgtest [13:27:21]: rebooting testbed after setup commands that affected boot 1360s Reading package lists... 1361s Building dependency tree... 1361s Reading state information... 1361s Starting pkgProblemResolver with broken count: 0 1361s Starting 2 pkgProblemResolver with broken count: 0 1361s Done 1362s The following NEW packages will be installed: 1362s adwaita-icon-theme at-spi2-common ca-certificates-java 1362s dconf-gsettings-backend dconf-service default-jre default-jre-headless 1362s fontconfig fontconfig-config fonts-dejavu-core fonts-dejavu-mono 1362s fonts-font-awesome fonts-lato gtk-update-icon-cache hicolor-icon-theme 1362s java-common junit4 libactivation-java libapache-pom-java libapr1t64 1362s libasm-java libasound2-data libasound2t64 libatinject-jsr330-api-java 1362s libatk-bridge2.0-0t64 libatk1.0-0t64 libatspi2.0-0t64 libavahi-client3 1362s libavahi-common-data libavahi-common3 libcairo-gobject2 libcairo2 libcares2 1362s libcolord2 libcommons-cli-java libcommons-io-java libcommons-logging-java 1362s libcommons-parent-java libcups2t64 libdatrie1 libdconf1 libdeflate0 1362s libdropwizard-metrics-java libeclipse-jdt-core-compiler-batch-java 1362s libeclipse-jdt-core-java libel-api-java libepoxy0 liberror-prone-java 1362s libev4t64 libfindbugs-annotations-java libfontconfig1 libfreetype6 libgbm1 1362s libgdk-pixbuf-2.0-0 libgdk-pixbuf2.0-common libgif7 libgl1 libgl1-mesa-dri 1362s libglvnd0 libglx-mesa0 libglx0 libgraphite2-3 libgtk-3-0t64 libgtk-3-common 1362s libguava-java libhamcrest-java libharfbuzz0b libio-pty-perl libipc-run-perl 1362s libjackson2-annotations-java libjackson2-core-java libjackson2-databind-java 1362s libjavaparser-java libjaxb-api-java libjbig0 libjctools-java 1362s libjetty9-extra-java libjetty9-java libjffi-java libjffi-jni 1362s libjnr-constants-java libjnr-enxio-java libjnr-ffi-java libjnr-posix-java 1362s libjnr-unixsocket-java libjnr-x86asm-java libjpeg-turbo8 libjpeg8 1362s libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl libjsp-api-java 1362s libjsr305-java liblcms2-2 liblerc4 libllvm19 libllvm20 liblog4j1.2-java 1362s libmail-java libnetty-java libnetty-tcnative-java libnetty-tcnative-jni 1362s libpango-1.0-0 libpangocairo-1.0-0 libpangoft2-1.0-0 libpcsclite1 1362s libpixman-1-0 libpq5 libservlet-api-java libsharpyuv0 libslf4j-java 1362s libsnappy-java libsnappy-jni libsnappy1v5 libspring-beans-java 1362s libspring-core-java libtaglibs-standard-impl-java 1362s libtaglibs-standard-spec-java libthai-data libthai0 libtiff6 1362s libtime-duration-perl libtimedate-perl libtomcat9-java libvulkan1 1362s libwayland-client0 libwayland-cursor0 libwayland-egl1 libwayland-server0 1362s libwebp7 libwebsocket-api-java libx11-xcb1 libxcb-dri3-0 libxcb-glx0 1362s libxcb-present0 libxcb-randr0 libxcb-render0 libxcb-shm0 libxcb-sync1 1362s libxcb-xfixes0 libxcomposite1 libxcursor1 libxdamage1 libxfixes3 libxi6 1362s libxinerama1 libxrandr2 libxrender1 libxshmfence1 libxslt1.1 libxtst6 1362s libxxf86vm1 libzookeeper-java mesa-libgallium moreutils openjdk-21-jre 1362s openjdk-21-jre-headless patroni patroni-doc postgresql postgresql-17 1362s postgresql-client-17 postgresql-client-common postgresql-common 1362s postgresql-common-dev python3-behave python3-click python3-coverage 1362s python3-dnspython python3-eventlet python3-gevent python3-greenlet 1362s python3-kazoo python3-kerberos python3-parse python3-parse-type 1362s python3-prettytable python3-psutil python3-psycopg2 python3-pure-sasl 1362s python3-wcwidth python3-ydiff python3-zope.event python3-zope.interface 1362s sphinx-rtd-theme-common ssl-cert x11-common zookeeper zookeeperd 1362s 0 upgraded, 190 newly installed, 0 to remove and 0 not upgraded. 1362s Need to get 180 MB of archives. 1362s After this operation, 630 MB of additional disk space will be used. 1362s Get:1 http://ftpmaster.internal/ubuntu plucky/main armhf fonts-lato all 2.015-1 [2781 kB] 1363s Get:2 http://ftpmaster.internal/ubuntu plucky/main armhf libjson-perl all 4.10000-1 [81.9 kB] 1363s Get:3 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql-client-common all 274 [47.6 kB] 1363s Get:4 http://ftpmaster.internal/ubuntu plucky/main armhf libio-pty-perl armhf 1:1.20-1build3 [31.0 kB] 1363s Get:5 http://ftpmaster.internal/ubuntu plucky/main armhf libipc-run-perl all 20231003.0-2 [91.5 kB] 1363s Get:6 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql-common-dev all 274 [73.0 kB] 1363s Get:7 http://ftpmaster.internal/ubuntu plucky/main armhf ssl-cert all 1.1.3ubuntu1 [18.7 kB] 1363s Get:8 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql-common all 274 [101 kB] 1363s Get:9 http://ftpmaster.internal/ubuntu plucky/main armhf ca-certificates-java all 20240118 [11.6 kB] 1363s Get:10 http://ftpmaster.internal/ubuntu plucky/main armhf java-common all 0.76 [6852 B] 1363s Get:11 http://ftpmaster.internal/ubuntu plucky/main armhf liblcms2-2 armhf 2.16-2 [137 kB] 1363s Get:12 http://ftpmaster.internal/ubuntu plucky/main armhf libjpeg-turbo8 armhf 2.1.5-3ubuntu2 [127 kB] 1363s Get:13 http://ftpmaster.internal/ubuntu plucky/main armhf libjpeg8 armhf 8c-2ubuntu11 [2148 B] 1363s Get:14 http://ftpmaster.internal/ubuntu plucky/main armhf libpcsclite1 armhf 2.3.1-1 [24.9 kB] 1363s Get:15 http://ftpmaster.internal/ubuntu plucky/main armhf openjdk-21-jre-headless armhf 21.0.7~7ea-1 [39.8 MB] 1364s Get:16 http://ftpmaster.internal/ubuntu plucky/main armhf default-jre-headless armhf 2:1.21-76 [3182 B] 1364s Get:17 http://ftpmaster.internal/ubuntu plucky/main armhf libgdk-pixbuf2.0-common all 2.42.12+dfsg-2 [8004 B] 1364s Get:18 http://ftpmaster.internal/ubuntu plucky/main armhf libdeflate0 armhf 1.23-1 [38.5 kB] 1364s Get:19 http://ftpmaster.internal/ubuntu plucky/main armhf libjbig0 armhf 2.1-6.1ubuntu2 [24.9 kB] 1364s Get:20 http://ftpmaster.internal/ubuntu plucky/main armhf liblerc4 armhf 4.0.0+ds-5ubuntu1 [160 kB] 1364s Get:21 http://ftpmaster.internal/ubuntu plucky/main armhf libsharpyuv0 armhf 1.5.0-0.1 [16.4 kB] 1364s Get:22 http://ftpmaster.internal/ubuntu plucky/main armhf libwebp7 armhf 1.5.0-0.1 [188 kB] 1364s Get:23 http://ftpmaster.internal/ubuntu plucky/main armhf libtiff6 armhf 4.5.1+git230720-4ubuntu4 [179 kB] 1364s Get:24 http://ftpmaster.internal/ubuntu plucky/main armhf libgdk-pixbuf-2.0-0 armhf 2.42.12+dfsg-2 [136 kB] 1364s Get:25 http://ftpmaster.internal/ubuntu plucky/main armhf gtk-update-icon-cache armhf 4.18.2+ds-1 [51.8 kB] 1364s Get:26 http://ftpmaster.internal/ubuntu plucky/main armhf hicolor-icon-theme all 0.18-2 [13.3 kB] 1364s Get:27 http://ftpmaster.internal/ubuntu plucky/main armhf adwaita-icon-theme all 48.0-1 [578 kB] 1364s Get:28 http://ftpmaster.internal/ubuntu plucky/main armhf at-spi2-common all 2.56.0-2 [9108 B] 1364s Get:29 http://ftpmaster.internal/ubuntu plucky/main armhf libatk1.0-0t64 armhf 2.56.0-2 [48.4 kB] 1364s Get:30 http://ftpmaster.internal/ubuntu plucky/main armhf libxi6 armhf 2:1.8.2-1 [26.5 kB] 1364s Get:31 http://ftpmaster.internal/ubuntu plucky/main armhf libatspi2.0-0t64 armhf 2.56.0-2 [74.6 kB] 1364s Get:32 http://ftpmaster.internal/ubuntu plucky/main armhf libatk-bridge2.0-0t64 armhf 2.56.0-2 [59.8 kB] 1364s Get:33 http://ftpmaster.internal/ubuntu plucky/main armhf libfreetype6 armhf 2.13.3+dfsg-1 [330 kB] 1364s Get:34 http://ftpmaster.internal/ubuntu plucky/main armhf fonts-dejavu-mono all 2.37-8 [502 kB] 1364s Get:35 http://ftpmaster.internal/ubuntu plucky/main armhf fonts-dejavu-core all 2.37-8 [835 kB] 1364s Get:36 http://ftpmaster.internal/ubuntu plucky/main armhf fontconfig-config armhf 2.15.0-2.1ubuntu1 [37.7 kB] 1364s Get:37 http://ftpmaster.internal/ubuntu plucky/main armhf libfontconfig1 armhf 2.15.0-2.1ubuntu1 [114 kB] 1364s Get:38 http://ftpmaster.internal/ubuntu plucky/main armhf libpixman-1-0 armhf 0.44.0-3 [183 kB] 1364s Get:39 http://ftpmaster.internal/ubuntu plucky/main armhf libxcb-render0 armhf 1.17.0-2 [15.3 kB] 1364s Get:40 http://ftpmaster.internal/ubuntu plucky/main armhf libxcb-shm0 armhf 1.17.0-2 [5774 B] 1364s Get:41 http://ftpmaster.internal/ubuntu plucky/main armhf libxrender1 armhf 1:0.9.10-1.1build1 [16.0 kB] 1364s Get:42 http://ftpmaster.internal/ubuntu plucky/main armhf libcairo2 armhf 1.18.4-1 [483 kB] 1364s Get:43 http://ftpmaster.internal/ubuntu plucky/main armhf libcairo-gobject2 armhf 1.18.4-1 [126 kB] 1364s Get:44 http://ftpmaster.internal/ubuntu plucky/main armhf libcolord2 armhf 1.4.7-3 [132 kB] 1364s Get:45 http://ftpmaster.internal/ubuntu plucky/main armhf libavahi-common-data armhf 0.8-16ubuntu2 [31.0 kB] 1364s Get:46 http://ftpmaster.internal/ubuntu plucky/main armhf libavahi-common3 armhf 0.8-16ubuntu2 [20.2 kB] 1364s Get:47 http://ftpmaster.internal/ubuntu plucky/main armhf libavahi-client3 armhf 0.8-16ubuntu2 [24.5 kB] 1364s Get:48 http://ftpmaster.internal/ubuntu plucky/main armhf libcups2t64 armhf 2.4.11-0ubuntu2 [243 kB] 1364s Get:49 http://ftpmaster.internal/ubuntu plucky/main armhf libepoxy0 armhf 1.5.10-2 [192 kB] 1364s Get:50 http://ftpmaster.internal/ubuntu plucky/main armhf libgraphite2-3 armhf 1.3.14-2ubuntu1 [64.8 kB] 1364s Get:51 http://ftpmaster.internal/ubuntu plucky/main armhf libharfbuzz0b armhf 10.2.0-1 [464 kB] 1364s Get:52 http://ftpmaster.internal/ubuntu plucky/main armhf fontconfig armhf 2.15.0-2.1ubuntu1 [190 kB] 1364s Get:53 http://ftpmaster.internal/ubuntu plucky/main armhf libthai-data all 0.1.29-2build1 [158 kB] 1364s Get:54 http://ftpmaster.internal/ubuntu plucky/main armhf libdatrie1 armhf 0.2.13-3build1 [15.7 kB] 1364s Get:55 http://ftpmaster.internal/ubuntu plucky/main armhf libthai0 armhf 0.1.29-2build1 [15.2 kB] 1365s Get:56 http://ftpmaster.internal/ubuntu plucky/main armhf libpango-1.0-0 armhf 1.56.3-1 [216 kB] 1365s Get:57 http://ftpmaster.internal/ubuntu plucky/main armhf libpangoft2-1.0-0 armhf 1.56.3-1 [44.1 kB] 1365s Get:58 http://ftpmaster.internal/ubuntu plucky/main armhf libpangocairo-1.0-0 armhf 1.56.3-1 [25.0 kB] 1365s Get:59 http://ftpmaster.internal/ubuntu plucky/main armhf libwayland-client0 armhf 1.23.1-3 [23.3 kB] 1365s Get:60 http://ftpmaster.internal/ubuntu plucky/main armhf libwayland-cursor0 armhf 1.23.1-3 [9648 B] 1365s Get:61 http://ftpmaster.internal/ubuntu plucky/main armhf libwayland-egl1 armhf 1.23.1-3 [5874 B] 1365s Get:62 http://ftpmaster.internal/ubuntu plucky/main armhf libxcomposite1 armhf 1:0.4.6-1 [6060 B] 1365s Get:63 http://ftpmaster.internal/ubuntu plucky/main armhf libxfixes3 armhf 1:6.0.0-2build1 [9038 B] 1365s Get:64 http://ftpmaster.internal/ubuntu plucky/main armhf libxcursor1 armhf 1:1.2.3-1 [18.0 kB] 1365s Get:65 http://ftpmaster.internal/ubuntu plucky/main armhf libxdamage1 armhf 1:1.1.6-1build1 [5462 B] 1365s Get:66 http://ftpmaster.internal/ubuntu plucky/main armhf libxinerama1 armhf 2:1.1.4-3build1 [5866 B] 1365s Get:67 http://ftpmaster.internal/ubuntu plucky/main armhf libxrandr2 armhf 2:1.5.4-1 [15.8 kB] 1365s Get:68 http://ftpmaster.internal/ubuntu plucky/main armhf libdconf1 armhf 0.40.0-5 [38.4 kB] 1365s Get:69 http://ftpmaster.internal/ubuntu plucky/main armhf dconf-service armhf 0.40.0-5 [27.6 kB] 1365s Get:70 http://ftpmaster.internal/ubuntu plucky/main armhf dconf-gsettings-backend armhf 0.40.0-5 [23.8 kB] 1365s Get:71 http://ftpmaster.internal/ubuntu plucky/main armhf libgtk-3-common all 3.24.49-2ubuntu1 [1424 kB] 1365s Get:72 http://ftpmaster.internal/ubuntu plucky/main armhf libgtk-3-0t64 armhf 3.24.49-2ubuntu1 [2623 kB] 1365s Get:73 http://ftpmaster.internal/ubuntu plucky/main armhf libglvnd0 armhf 1.7.0-1build1 [83.7 kB] 1365s Get:74 http://ftpmaster.internal/ubuntu plucky/main armhf libx11-xcb1 armhf 2:1.8.10-2 [7902 B] 1365s Get:75 http://ftpmaster.internal/ubuntu plucky/main armhf libxcb-dri3-0 armhf 1.17.0-2 [7120 B] 1365s Get:76 http://ftpmaster.internal/ubuntu plucky/main armhf libxcb-glx0 armhf 1.17.0-2 [22.6 kB] 1365s Get:77 http://ftpmaster.internal/ubuntu plucky/main armhf libxcb-present0 armhf 1.17.0-2 [5940 B] 1365s Get:78 http://ftpmaster.internal/ubuntu plucky/main armhf libxcb-xfixes0 armhf 1.17.0-2 [10.0 kB] 1365s Get:79 http://ftpmaster.internal/ubuntu plucky/main armhf libxxf86vm1 armhf 1:1.1.4-1build4 [8068 B] 1365s Get:80 http://ftpmaster.internal/ubuntu plucky/main armhf libllvm19 armhf 1:19.1.7-1ubuntu2 [27.8 MB] 1365s Get:81 http://ftpmaster.internal/ubuntu plucky/main armhf libxcb-randr0 armhf 1.17.0-2 [17.0 kB] 1365s Get:82 http://ftpmaster.internal/ubuntu plucky/main armhf libxcb-sync1 armhf 1.17.0-2 [8732 B] 1365s Get:83 http://ftpmaster.internal/ubuntu plucky/main armhf libxshmfence1 armhf 1.3-1build5 [4464 B] 1365s Get:84 http://ftpmaster.internal/ubuntu plucky/main armhf mesa-libgallium armhf 25.0.1-2ubuntu2 [8256 kB] 1366s Get:85 http://ftpmaster.internal/ubuntu plucky/main armhf libwayland-server0 armhf 1.23.1-3 [30.3 kB] 1366s Get:86 http://ftpmaster.internal/ubuntu plucky/main armhf libgbm1 armhf 25.0.1-2ubuntu2 [29.0 kB] 1366s Get:87 http://ftpmaster.internal/ubuntu plucky/main armhf libvulkan1 armhf 1.4.304.0-1 [127 kB] 1366s Get:88 http://ftpmaster.internal/ubuntu plucky/main armhf libgl1-mesa-dri armhf 25.0.1-2ubuntu2 [31.9 kB] 1366s Get:89 http://ftpmaster.internal/ubuntu plucky/main armhf libglx-mesa0 armhf 25.0.1-2ubuntu2 [120 kB] 1366s Get:90 http://ftpmaster.internal/ubuntu plucky/main armhf libglx0 armhf 1.7.0-1build1 [39.3 kB] 1366s Get:91 http://ftpmaster.internal/ubuntu plucky/main armhf libgl1 armhf 1.7.0-1build1 [105 kB] 1366s Get:92 http://ftpmaster.internal/ubuntu plucky/main armhf libasound2-data all 1.2.13-1build1 [21.1 kB] 1366s Get:93 http://ftpmaster.internal/ubuntu plucky/main armhf libasound2t64 armhf 1.2.13-1build1 [347 kB] 1366s Get:94 http://ftpmaster.internal/ubuntu plucky/main armhf libgif7 armhf 5.2.2-1ubuntu2 [32.5 kB] 1366s Get:95 http://ftpmaster.internal/ubuntu plucky/main armhf x11-common all 1:7.7+23ubuntu3 [21.7 kB] 1366s Get:96 http://ftpmaster.internal/ubuntu plucky/main armhf libxtst6 armhf 2:1.2.5-1 [11.0 kB] 1366s Get:97 http://ftpmaster.internal/ubuntu plucky/main armhf openjdk-21-jre armhf 21.0.7~7ea-1 [198 kB] 1366s Get:98 http://ftpmaster.internal/ubuntu plucky/main armhf default-jre armhf 2:1.21-76 [918 B] 1366s Get:99 http://ftpmaster.internal/ubuntu plucky/universe armhf libhamcrest-java all 2.2-2 [117 kB] 1366s Get:100 http://ftpmaster.internal/ubuntu plucky/universe armhf junit4 all 4.13.2-5 [348 kB] 1366s Get:101 http://ftpmaster.internal/ubuntu plucky/universe armhf libcommons-cli-java all 1.6.0-1 [59.9 kB] 1366s Get:102 http://ftpmaster.internal/ubuntu plucky/universe armhf libapache-pom-java all 33-2 [5874 B] 1366s Get:103 http://ftpmaster.internal/ubuntu plucky/universe armhf libcommons-parent-java all 56-1 [10.7 kB] 1366s Get:104 http://ftpmaster.internal/ubuntu plucky/universe armhf libcommons-io-java all 2.18.0-1 [477 kB] 1366s Get:105 http://ftpmaster.internal/ubuntu plucky/universe armhf libdropwizard-metrics-java all 3.2.6-1 [240 kB] 1366s Get:106 http://ftpmaster.internal/ubuntu plucky/universe armhf libfindbugs-annotations-java all 3.1.0~preview2-4 [48.9 kB] 1366s Get:107 http://ftpmaster.internal/ubuntu plucky/universe armhf libatinject-jsr330-api-java all 1.0+ds1-6 [5076 B] 1366s Get:108 http://ftpmaster.internal/ubuntu plucky/universe armhf liberror-prone-java all 2.18.0-1 [22.5 kB] 1366s Get:109 http://ftpmaster.internal/ubuntu plucky/universe armhf libjsr305-java all 0.1~+svn49-12 [27.0 kB] 1366s Get:110 http://ftpmaster.internal/ubuntu plucky/universe armhf libguava-java all 32.0.1-1 [2692 kB] 1367s Get:111 http://ftpmaster.internal/ubuntu plucky/universe armhf libjackson2-annotations-java all 2.14.0-1 [64.7 kB] 1367s Get:112 http://ftpmaster.internal/ubuntu plucky/universe armhf libjackson2-core-java all 2.14.1-1 [432 kB] 1367s Get:113 http://ftpmaster.internal/ubuntu plucky/universe armhf libjackson2-databind-java all 2.14.0+ds-1 [1481 kB] 1367s Get:114 http://ftpmaster.internal/ubuntu plucky/universe armhf libasm-java all 9.7.1-1 [388 kB] 1367s Get:115 http://ftpmaster.internal/ubuntu plucky/universe armhf libel-api-java all 3.0.0-3 [64.9 kB] 1367s Get:116 http://ftpmaster.internal/ubuntu plucky/universe armhf libjsp-api-java all 2.3.4-3 [53.7 kB] 1367s Get:117 http://ftpmaster.internal/ubuntu plucky/universe armhf libservlet-api-java all 4.0.1-2 [81.0 kB] 1367s Get:118 http://ftpmaster.internal/ubuntu plucky/universe armhf libwebsocket-api-java all 1.1-2 [40.1 kB] 1367s Get:119 http://ftpmaster.internal/ubuntu plucky/universe armhf libjetty9-java all 9.4.56-1 [2790 kB] 1367s Get:120 http://ftpmaster.internal/ubuntu plucky/universe armhf libjnr-constants-java all 0.10.4-2 [1397 kB] 1367s Get:121 http://ftpmaster.internal/ubuntu plucky/universe armhf libjffi-jni armhf 1.3.13+ds-1 [24.9 kB] 1367s Get:122 http://ftpmaster.internal/ubuntu plucky/universe armhf libjffi-java all 1.3.13+ds-1 [112 kB] 1367s Get:123 http://ftpmaster.internal/ubuntu plucky/universe armhf libjnr-x86asm-java all 1.0.2-6 [216 kB] 1367s Get:124 http://ftpmaster.internal/ubuntu plucky/universe armhf libjnr-ffi-java all 2.2.15-2 [627 kB] 1367s Get:125 http://ftpmaster.internal/ubuntu plucky/universe armhf libjnr-enxio-java all 0.32.16-1 [33.7 kB] 1367s Get:126 http://ftpmaster.internal/ubuntu plucky/universe armhf libjnr-posix-java all 3.1.18-1 [267 kB] 1367s Get:127 http://ftpmaster.internal/ubuntu plucky/universe armhf libjnr-unixsocket-java all 0.38.21-2 [46.9 kB] 1367s Get:128 http://ftpmaster.internal/ubuntu plucky/universe armhf libactivation-java all 1.2.0-2 [84.7 kB] 1367s Get:129 http://ftpmaster.internal/ubuntu plucky/universe armhf libmail-java all 1.6.5-3 [681 kB] 1367s Get:130 http://ftpmaster.internal/ubuntu plucky/universe armhf libcommons-logging-java all 1.3.0-1ubuntu1 [63.8 kB] 1367s Get:131 http://ftpmaster.internal/ubuntu plucky/universe armhf libjaxb-api-java all 2.3.1-1 [119 kB] 1367s Get:132 http://ftpmaster.internal/ubuntu plucky/universe armhf libspring-core-java all 4.3.30-2ubuntu1 [1015 kB] 1367s Get:133 http://ftpmaster.internal/ubuntu plucky/universe armhf libspring-beans-java all 4.3.30-2ubuntu1 [677 kB] 1367s Get:134 http://ftpmaster.internal/ubuntu plucky/universe armhf libtaglibs-standard-spec-java all 1.2.5-3 [35.2 kB] 1367s Get:135 http://ftpmaster.internal/ubuntu plucky/universe armhf libtaglibs-standard-impl-java all 1.2.5-3 [182 kB] 1367s Get:136 http://ftpmaster.internal/ubuntu plucky/universe armhf libeclipse-jdt-core-compiler-batch-java all 3.35.0+eclipse4.29-2 [2933 kB] 1367s Get:137 http://ftpmaster.internal/ubuntu plucky/universe armhf libeclipse-jdt-core-java all 3.35.0+eclipse4.29-2 [3831 kB] 1367s Get:138 http://ftpmaster.internal/ubuntu plucky/universe armhf libtomcat9-java all 9.0.70-2ubuntu1.1 [6161 kB] 1369s Get:139 http://ftpmaster.internal/ubuntu plucky/universe armhf libjetty9-extra-java all 9.4.56-1 [1199 kB] 1369s Get:140 http://ftpmaster.internal/ubuntu plucky/universe armhf libjavaparser-java all 3.26.1-1 [1326 kB] 1369s Get:141 http://ftpmaster.internal/ubuntu plucky/universe armhf libjctools-java all 4.0.5+dfsg-1 [506 kB] 1369s Get:142 http://ftpmaster.internal/ubuntu plucky/universe armhf libnetty-java all 1:4.1.48-10 [3628 kB] 1369s Get:143 http://ftpmaster.internal/ubuntu plucky/universe armhf libslf4j-java all 1.7.32-1 [141 kB] 1369s Get:144 http://ftpmaster.internal/ubuntu plucky/main armhf libsnappy1v5 armhf 1.2.1-1 [28.4 kB] 1369s Get:145 http://ftpmaster.internal/ubuntu plucky/universe armhf libsnappy-jni armhf 1.1.10.7-1 [6228 B] 1369s Get:146 http://ftpmaster.internal/ubuntu plucky/universe armhf libsnappy-java all 1.1.10.7-1 [83.6 kB] 1369s Get:147 http://ftpmaster.internal/ubuntu plucky/main armhf libapr1t64 armhf 1.7.5-1 [88.2 kB] 1369s Get:148 http://ftpmaster.internal/ubuntu plucky/universe armhf libnetty-tcnative-jni armhf 2.0.28-1build4 [28.9 kB] 1369s Get:149 http://ftpmaster.internal/ubuntu plucky/universe armhf libnetty-tcnative-java all 2.0.28-1build4 [24.8 kB] 1369s Get:150 http://ftpmaster.internal/ubuntu plucky/universe armhf liblog4j1.2-java all 1.2.17-11 [439 kB] 1369s Get:151 http://ftpmaster.internal/ubuntu plucky/universe armhf libzookeeper-java all 3.9.3-1build1 [1890 kB] 1369s Get:152 http://ftpmaster.internal/ubuntu plucky/universe armhf zookeeper all 3.9.3-1build1 [57.8 kB] 1369s Get:153 http://ftpmaster.internal/ubuntu plucky/universe armhf zookeeperd all 3.9.3-1build1 [6016 B] 1369s Get:154 http://ftpmaster.internal/ubuntu plucky/main armhf fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 1369s Get:155 http://ftpmaster.internal/ubuntu plucky/main armhf libcares2 armhf 1.34.4-2.1 [85.0 kB] 1369s Get:156 http://ftpmaster.internal/ubuntu plucky/universe armhf libev4t64 armhf 1:4.33-2.1build1 [26.3 kB] 1369s Get:157 http://ftpmaster.internal/ubuntu plucky/main armhf libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 1369s Get:158 http://ftpmaster.internal/ubuntu plucky/main armhf libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 1369s Get:159 http://ftpmaster.internal/ubuntu plucky/main armhf libjs-sphinxdoc all 8.1.3-5 [31.0 kB] 1369s Get:160 http://ftpmaster.internal/ubuntu plucky/main armhf libllvm20 armhf 1:20.1.0~+rc3-1~exp1ubuntu1 [29.6 MB] 1369s Get:161 http://ftpmaster.internal/ubuntu plucky/main armhf libpq5 armhf 17.4-1 [125 kB] 1369s Get:162 http://ftpmaster.internal/ubuntu plucky/main armhf libtime-duration-perl all 1.21-2 [12.3 kB] 1369s Get:163 http://ftpmaster.internal/ubuntu plucky/main armhf libtimedate-perl all 2.3300-2 [34.0 kB] 1369s Get:164 http://ftpmaster.internal/ubuntu plucky/main armhf libxslt1.1 armhf 1.1.39-0exp1ubuntu4 [151 kB] 1369s Get:165 http://ftpmaster.internal/ubuntu plucky/universe armhf moreutils armhf 0.69-1 [53.5 kB] 1369s Get:166 http://ftpmaster.internal/ubuntu plucky/main armhf python3-click all 8.2.0+0.really.8.1.8-1 [80.0 kB] 1369s Get:167 http://ftpmaster.internal/ubuntu plucky/main armhf python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 1369s Get:168 http://ftpmaster.internal/ubuntu plucky/main armhf python3-prettytable all 3.12.0-1 [36.5 kB] 1369s Get:169 http://ftpmaster.internal/ubuntu plucky/main armhf python3-psutil armhf 5.9.8-2build3 [194 kB] 1369s Get:170 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-ydiff all 1.4.2-1 [19.0 kB] 1369s Get:171 http://ftpmaster.internal/ubuntu plucky/main armhf python3-psycopg2 armhf 2.9.10-1build1 [125 kB] 1369s Get:172 http://ftpmaster.internal/ubuntu plucky/main armhf python3-greenlet armhf 3.1.0-1build1 [161 kB] 1369s Get:173 http://ftpmaster.internal/ubuntu plucky/main armhf python3-dnspython all 2.7.0-1ubuntu1 [167 kB] 1369s Get:174 http://ftpmaster.internal/ubuntu plucky/main armhf python3-eventlet all 0.39.0-0ubuntu1 [277 kB] 1369s Get:175 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-zope.event all 5.0-0.1 [7512 B] 1369s Get:176 http://ftpmaster.internal/ubuntu plucky/main armhf python3-zope.interface armhf 7.2-1build1 [139 kB] 1369s Get:177 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-gevent armhf 24.11.1-1build1 [822 kB] 1369s Get:178 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-kerberos armhf 1.1.14-3.1build11 [19.9 kB] 1369s Get:179 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-pure-sasl all 0.5.1+dfsg1-5 [11.4 kB] 1369s Get:180 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-kazoo all 2.9.0-2 [103 kB] 1369s Get:181 http://ftpmaster.internal/ubuntu plucky-proposed/universe armhf patroni all 4.0.4-8 [282 kB] 1369s Get:182 http://ftpmaster.internal/ubuntu plucky/main armhf sphinx-rtd-theme-common all 3.0.2+dfsg-2 [1014 kB] 1369s Get:183 http://ftpmaster.internal/ubuntu plucky-proposed/universe armhf patroni-doc all 4.0.4-8 [526 kB] 1369s Get:184 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql-client-17 armhf 17.4-1 [1285 kB] 1369s Get:185 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql-17 armhf 17.4-1 [14.8 MB] 1370s Get:186 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql all 17+274 [14.4 kB] 1370s Get:187 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-parse all 1.20.2-1 [27.0 kB] 1370s Get:188 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-parse-type all 0.6.4-2 [23.5 kB] 1370s Get:189 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-behave all 1.2.6-6 [98.6 kB] 1370s Get:190 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-coverage armhf 7.6.0+dfsg1-2build1 [152 kB] 1370s Preconfiguring packages ... 1370s /var/cache/debconf/tmp.ci/postgresql.config.PfY3KW: 12: pg_lsclusters: not found 1370s Fetched 180 MB in 8s (23.6 MB/s) 1371s Selecting previously unselected package fonts-lato. 1371s (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 ... 63958 files and directories currently installed.) 1371s Preparing to unpack .../000-fonts-lato_2.015-1_all.deb ... 1371s Unpacking fonts-lato (2.015-1) ... 1371s Selecting previously unselected package libjson-perl. 1371s Preparing to unpack .../001-libjson-perl_4.10000-1_all.deb ... 1371s Unpacking libjson-perl (4.10000-1) ... 1371s Selecting previously unselected package postgresql-client-common. 1371s Preparing to unpack .../002-postgresql-client-common_274_all.deb ... 1371s Unpacking postgresql-client-common (274) ... 1371s Selecting previously unselected package libio-pty-perl. 1371s Preparing to unpack .../003-libio-pty-perl_1%3a1.20-1build3_armhf.deb ... 1371s Unpacking libio-pty-perl (1:1.20-1build3) ... 1371s Selecting previously unselected package libipc-run-perl. 1371s Preparing to unpack .../004-libipc-run-perl_20231003.0-2_all.deb ... 1371s Unpacking libipc-run-perl (20231003.0-2) ... 1371s Selecting previously unselected package postgresql-common-dev. 1371s Preparing to unpack .../005-postgresql-common-dev_274_all.deb ... 1371s Unpacking postgresql-common-dev (274) ... 1371s Selecting previously unselected package ssl-cert. 1371s Preparing to unpack .../006-ssl-cert_1.1.3ubuntu1_all.deb ... 1371s Unpacking ssl-cert (1.1.3ubuntu1) ... 1371s Selecting previously unselected package postgresql-common. 1371s Preparing to unpack .../007-postgresql-common_274_all.deb ... 1371s Adding 'diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common' 1371s Unpacking postgresql-common (274) ... 1371s Selecting previously unselected package ca-certificates-java. 1371s Preparing to unpack .../008-ca-certificates-java_20240118_all.deb ... 1371s Unpacking ca-certificates-java (20240118) ... 1371s Selecting previously unselected package java-common. 1371s Preparing to unpack .../009-java-common_0.76_all.deb ... 1371s Unpacking java-common (0.76) ... 1371s Selecting previously unselected package liblcms2-2:armhf. 1371s Preparing to unpack .../010-liblcms2-2_2.16-2_armhf.deb ... 1371s Unpacking liblcms2-2:armhf (2.16-2) ... 1371s Selecting previously unselected package libjpeg-turbo8:armhf. 1371s Preparing to unpack .../011-libjpeg-turbo8_2.1.5-3ubuntu2_armhf.deb ... 1371s Unpacking libjpeg-turbo8:armhf (2.1.5-3ubuntu2) ... 1371s Selecting previously unselected package libjpeg8:armhf. 1371s Preparing to unpack .../012-libjpeg8_8c-2ubuntu11_armhf.deb ... 1371s Unpacking libjpeg8:armhf (8c-2ubuntu11) ... 1371s Selecting previously unselected package libpcsclite1:armhf. 1371s Preparing to unpack .../013-libpcsclite1_2.3.1-1_armhf.deb ... 1371s Unpacking libpcsclite1:armhf (2.3.1-1) ... 1371s Selecting previously unselected package openjdk-21-jre-headless:armhf. 1371s Preparing to unpack .../014-openjdk-21-jre-headless_21.0.7~7ea-1_armhf.deb ... 1371s Unpacking openjdk-21-jre-headless:armhf (21.0.7~7ea-1) ... 1373s Selecting previously unselected package default-jre-headless. 1373s Preparing to unpack .../015-default-jre-headless_2%3a1.21-76_armhf.deb ... 1373s Unpacking default-jre-headless (2:1.21-76) ... 1373s Selecting previously unselected package libgdk-pixbuf2.0-common. 1373s Preparing to unpack .../016-libgdk-pixbuf2.0-common_2.42.12+dfsg-2_all.deb ... 1373s Unpacking libgdk-pixbuf2.0-common (2.42.12+dfsg-2) ... 1373s Selecting previously unselected package libdeflate0:armhf. 1373s Preparing to unpack .../017-libdeflate0_1.23-1_armhf.deb ... 1373s Unpacking libdeflate0:armhf (1.23-1) ... 1373s Selecting previously unselected package libjbig0:armhf. 1373s Preparing to unpack .../018-libjbig0_2.1-6.1ubuntu2_armhf.deb ... 1373s Unpacking libjbig0:armhf (2.1-6.1ubuntu2) ... 1373s Selecting previously unselected package liblerc4:armhf. 1373s Preparing to unpack .../019-liblerc4_4.0.0+ds-5ubuntu1_armhf.deb ... 1373s Unpacking liblerc4:armhf (4.0.0+ds-5ubuntu1) ... 1373s Selecting previously unselected package libsharpyuv0:armhf. 1373s Preparing to unpack .../020-libsharpyuv0_1.5.0-0.1_armhf.deb ... 1373s Unpacking libsharpyuv0:armhf (1.5.0-0.1) ... 1373s Selecting previously unselected package libwebp7:armhf. 1373s Preparing to unpack .../021-libwebp7_1.5.0-0.1_armhf.deb ... 1373s Unpacking libwebp7:armhf (1.5.0-0.1) ... 1373s Selecting previously unselected package libtiff6:armhf. 1373s Preparing to unpack .../022-libtiff6_4.5.1+git230720-4ubuntu4_armhf.deb ... 1373s Unpacking libtiff6:armhf (4.5.1+git230720-4ubuntu4) ... 1373s Selecting previously unselected package libgdk-pixbuf-2.0-0:armhf. 1373s Preparing to unpack .../023-libgdk-pixbuf-2.0-0_2.42.12+dfsg-2_armhf.deb ... 1373s Unpacking libgdk-pixbuf-2.0-0:armhf (2.42.12+dfsg-2) ... 1373s Selecting previously unselected package gtk-update-icon-cache. 1373s Preparing to unpack .../024-gtk-update-icon-cache_4.18.2+ds-1_armhf.deb ... 1373s No diversion 'diversion of /usr/sbin/update-icon-caches to /usr/sbin/update-icon-caches.gtk2 by libgtk-3-bin', none removed. 1373s 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. 1373s Unpacking gtk-update-icon-cache (4.18.2+ds-1) ... 1373s Selecting previously unselected package hicolor-icon-theme. 1373s Preparing to unpack .../025-hicolor-icon-theme_0.18-2_all.deb ... 1373s Unpacking hicolor-icon-theme (0.18-2) ... 1373s Selecting previously unselected package adwaita-icon-theme. 1373s Preparing to unpack .../026-adwaita-icon-theme_48.0-1_all.deb ... 1373s Unpacking adwaita-icon-theme (48.0-1) ... 1373s Selecting previously unselected package at-spi2-common. 1373s Preparing to unpack .../027-at-spi2-common_2.56.0-2_all.deb ... 1373s Unpacking at-spi2-common (2.56.0-2) ... 1373s Selecting previously unselected package libatk1.0-0t64:armhf. 1373s Preparing to unpack .../028-libatk1.0-0t64_2.56.0-2_armhf.deb ... 1373s Unpacking libatk1.0-0t64:armhf (2.56.0-2) ... 1373s Selecting previously unselected package libxi6:armhf. 1373s Preparing to unpack .../029-libxi6_2%3a1.8.2-1_armhf.deb ... 1373s Unpacking libxi6:armhf (2:1.8.2-1) ... 1373s Selecting previously unselected package libatspi2.0-0t64:armhf. 1373s Preparing to unpack .../030-libatspi2.0-0t64_2.56.0-2_armhf.deb ... 1373s Unpacking libatspi2.0-0t64:armhf (2.56.0-2) ... 1373s Selecting previously unselected package libatk-bridge2.0-0t64:armhf. 1373s Preparing to unpack .../031-libatk-bridge2.0-0t64_2.56.0-2_armhf.deb ... 1373s Unpacking libatk-bridge2.0-0t64:armhf (2.56.0-2) ... 1373s Selecting previously unselected package libfreetype6:armhf. 1374s Preparing to unpack .../032-libfreetype6_2.13.3+dfsg-1_armhf.deb ... 1374s Unpacking libfreetype6:armhf (2.13.3+dfsg-1) ... 1374s Selecting previously unselected package fonts-dejavu-mono. 1374s Preparing to unpack .../033-fonts-dejavu-mono_2.37-8_all.deb ... 1374s Unpacking fonts-dejavu-mono (2.37-8) ... 1374s Selecting previously unselected package fonts-dejavu-core. 1374s Preparing to unpack .../034-fonts-dejavu-core_2.37-8_all.deb ... 1374s Unpacking fonts-dejavu-core (2.37-8) ... 1374s Selecting previously unselected package fontconfig-config. 1374s Preparing to unpack .../035-fontconfig-config_2.15.0-2.1ubuntu1_armhf.deb ... 1374s Unpacking fontconfig-config (2.15.0-2.1ubuntu1) ... 1374s Selecting previously unselected package libfontconfig1:armhf. 1374s Preparing to unpack .../036-libfontconfig1_2.15.0-2.1ubuntu1_armhf.deb ... 1374s Unpacking libfontconfig1:armhf (2.15.0-2.1ubuntu1) ... 1374s Selecting previously unselected package libpixman-1-0:armhf. 1374s Preparing to unpack .../037-libpixman-1-0_0.44.0-3_armhf.deb ... 1374s Unpacking libpixman-1-0:armhf (0.44.0-3) ... 1374s Selecting previously unselected package libxcb-render0:armhf. 1374s Preparing to unpack .../038-libxcb-render0_1.17.0-2_armhf.deb ... 1374s Unpacking libxcb-render0:armhf (1.17.0-2) ... 1374s Selecting previously unselected package libxcb-shm0:armhf. 1374s Preparing to unpack .../039-libxcb-shm0_1.17.0-2_armhf.deb ... 1374s Unpacking libxcb-shm0:armhf (1.17.0-2) ... 1374s Selecting previously unselected package libxrender1:armhf. 1374s Preparing to unpack .../040-libxrender1_1%3a0.9.10-1.1build1_armhf.deb ... 1374s Unpacking libxrender1:armhf (1:0.9.10-1.1build1) ... 1374s Selecting previously unselected package libcairo2:armhf. 1374s Preparing to unpack .../041-libcairo2_1.18.4-1_armhf.deb ... 1374s Unpacking libcairo2:armhf (1.18.4-1) ... 1374s Selecting previously unselected package libcairo-gobject2:armhf. 1374s Preparing to unpack .../042-libcairo-gobject2_1.18.4-1_armhf.deb ... 1374s Unpacking libcairo-gobject2:armhf (1.18.4-1) ... 1374s Selecting previously unselected package libcolord2:armhf. 1374s Preparing to unpack .../043-libcolord2_1.4.7-3_armhf.deb ... 1374s Unpacking libcolord2:armhf (1.4.7-3) ... 1374s Selecting previously unselected package libavahi-common-data:armhf. 1374s Preparing to unpack .../044-libavahi-common-data_0.8-16ubuntu2_armhf.deb ... 1374s Unpacking libavahi-common-data:armhf (0.8-16ubuntu2) ... 1374s Selecting previously unselected package libavahi-common3:armhf. 1374s Preparing to unpack .../045-libavahi-common3_0.8-16ubuntu2_armhf.deb ... 1374s Unpacking libavahi-common3:armhf (0.8-16ubuntu2) ... 1374s Selecting previously unselected package libavahi-client3:armhf. 1374s Preparing to unpack .../046-libavahi-client3_0.8-16ubuntu2_armhf.deb ... 1374s Unpacking libavahi-client3:armhf (0.8-16ubuntu2) ... 1374s Selecting previously unselected package libcups2t64:armhf. 1374s Preparing to unpack .../047-libcups2t64_2.4.11-0ubuntu2_armhf.deb ... 1374s Unpacking libcups2t64:armhf (2.4.11-0ubuntu2) ... 1374s Selecting previously unselected package libepoxy0:armhf. 1374s Preparing to unpack .../048-libepoxy0_1.5.10-2_armhf.deb ... 1374s Unpacking libepoxy0:armhf (1.5.10-2) ... 1375s Selecting previously unselected package libgraphite2-3:armhf. 1375s Preparing to unpack .../049-libgraphite2-3_1.3.14-2ubuntu1_armhf.deb ... 1375s Unpacking libgraphite2-3:armhf (1.3.14-2ubuntu1) ... 1375s Selecting previously unselected package libharfbuzz0b:armhf. 1375s Preparing to unpack .../050-libharfbuzz0b_10.2.0-1_armhf.deb ... 1375s Unpacking libharfbuzz0b:armhf (10.2.0-1) ... 1375s Selecting previously unselected package fontconfig. 1375s Preparing to unpack .../051-fontconfig_2.15.0-2.1ubuntu1_armhf.deb ... 1375s Unpacking fontconfig (2.15.0-2.1ubuntu1) ... 1375s Selecting previously unselected package libthai-data. 1375s Preparing to unpack .../052-libthai-data_0.1.29-2build1_all.deb ... 1375s Unpacking libthai-data (0.1.29-2build1) ... 1375s Selecting previously unselected package libdatrie1:armhf. 1375s Preparing to unpack .../053-libdatrie1_0.2.13-3build1_armhf.deb ... 1375s Unpacking libdatrie1:armhf (0.2.13-3build1) ... 1375s Selecting previously unselected package libthai0:armhf. 1375s Preparing to unpack .../054-libthai0_0.1.29-2build1_armhf.deb ... 1375s Unpacking libthai0:armhf (0.1.29-2build1) ... 1375s Selecting previously unselected package libpango-1.0-0:armhf. 1375s Preparing to unpack .../055-libpango-1.0-0_1.56.3-1_armhf.deb ... 1375s Unpacking libpango-1.0-0:armhf (1.56.3-1) ... 1375s Selecting previously unselected package libpangoft2-1.0-0:armhf. 1375s Preparing to unpack .../056-libpangoft2-1.0-0_1.56.3-1_armhf.deb ... 1375s Unpacking libpangoft2-1.0-0:armhf (1.56.3-1) ... 1375s Selecting previously unselected package libpangocairo-1.0-0:armhf. 1375s Preparing to unpack .../057-libpangocairo-1.0-0_1.56.3-1_armhf.deb ... 1375s Unpacking libpangocairo-1.0-0:armhf (1.56.3-1) ... 1375s Selecting previously unselected package libwayland-client0:armhf. 1375s Preparing to unpack .../058-libwayland-client0_1.23.1-3_armhf.deb ... 1375s Unpacking libwayland-client0:armhf (1.23.1-3) ... 1375s Selecting previously unselected package libwayland-cursor0:armhf. 1375s Preparing to unpack .../059-libwayland-cursor0_1.23.1-3_armhf.deb ... 1375s Unpacking libwayland-cursor0:armhf (1.23.1-3) ... 1375s Selecting previously unselected package libwayland-egl1:armhf. 1375s Preparing to unpack .../060-libwayland-egl1_1.23.1-3_armhf.deb ... 1375s Unpacking libwayland-egl1:armhf (1.23.1-3) ... 1375s Selecting previously unselected package libxcomposite1:armhf. 1375s Preparing to unpack .../061-libxcomposite1_1%3a0.4.6-1_armhf.deb ... 1375s Unpacking libxcomposite1:armhf (1:0.4.6-1) ... 1375s Selecting previously unselected package libxfixes3:armhf. 1375s Preparing to unpack .../062-libxfixes3_1%3a6.0.0-2build1_armhf.deb ... 1375s Unpacking libxfixes3:armhf (1:6.0.0-2build1) ... 1375s Selecting previously unselected package libxcursor1:armhf. 1375s Preparing to unpack .../063-libxcursor1_1%3a1.2.3-1_armhf.deb ... 1375s Unpacking libxcursor1:armhf (1:1.2.3-1) ... 1375s Selecting previously unselected package libxdamage1:armhf. 1375s Preparing to unpack .../064-libxdamage1_1%3a1.1.6-1build1_armhf.deb ... 1375s Unpacking libxdamage1:armhf (1:1.1.6-1build1) ... 1375s Selecting previously unselected package libxinerama1:armhf. 1375s Preparing to unpack .../065-libxinerama1_2%3a1.1.4-3build1_armhf.deb ... 1375s Unpacking libxinerama1:armhf (2:1.1.4-3build1) ... 1375s Selecting previously unselected package libxrandr2:armhf. 1375s Preparing to unpack .../066-libxrandr2_2%3a1.5.4-1_armhf.deb ... 1375s Unpacking libxrandr2:armhf (2:1.5.4-1) ... 1375s Selecting previously unselected package libdconf1:armhf. 1375s Preparing to unpack .../067-libdconf1_0.40.0-5_armhf.deb ... 1375s Unpacking libdconf1:armhf (0.40.0-5) ... 1375s Selecting previously unselected package dconf-service. 1375s Preparing to unpack .../068-dconf-service_0.40.0-5_armhf.deb ... 1375s Unpacking dconf-service (0.40.0-5) ... 1375s Selecting previously unselected package dconf-gsettings-backend:armhf. 1375s Preparing to unpack .../069-dconf-gsettings-backend_0.40.0-5_armhf.deb ... 1375s Unpacking dconf-gsettings-backend:armhf (0.40.0-5) ... 1375s Selecting previously unselected package libgtk-3-common. 1375s Preparing to unpack .../070-libgtk-3-common_3.24.49-2ubuntu1_all.deb ... 1375s Unpacking libgtk-3-common (3.24.49-2ubuntu1) ... 1375s Selecting previously unselected package libgtk-3-0t64:armhf. 1375s Preparing to unpack .../071-libgtk-3-0t64_3.24.49-2ubuntu1_armhf.deb ... 1375s Unpacking libgtk-3-0t64:armhf (3.24.49-2ubuntu1) ... 1376s Selecting previously unselected package libglvnd0:armhf. 1376s Preparing to unpack .../072-libglvnd0_1.7.0-1build1_armhf.deb ... 1376s Unpacking libglvnd0:armhf (1.7.0-1build1) ... 1376s Selecting previously unselected package libx11-xcb1:armhf. 1376s Preparing to unpack .../073-libx11-xcb1_2%3a1.8.10-2_armhf.deb ... 1376s Unpacking libx11-xcb1:armhf (2:1.8.10-2) ... 1376s Selecting previously unselected package libxcb-dri3-0:armhf. 1376s Preparing to unpack .../074-libxcb-dri3-0_1.17.0-2_armhf.deb ... 1376s Unpacking libxcb-dri3-0:armhf (1.17.0-2) ... 1376s Selecting previously unselected package libxcb-glx0:armhf. 1376s Preparing to unpack .../075-libxcb-glx0_1.17.0-2_armhf.deb ... 1376s Unpacking libxcb-glx0:armhf (1.17.0-2) ... 1376s Selecting previously unselected package libxcb-present0:armhf. 1376s Preparing to unpack .../076-libxcb-present0_1.17.0-2_armhf.deb ... 1376s Unpacking libxcb-present0:armhf (1.17.0-2) ... 1376s Selecting previously unselected package libxcb-xfixes0:armhf. 1376s Preparing to unpack .../077-libxcb-xfixes0_1.17.0-2_armhf.deb ... 1376s Unpacking libxcb-xfixes0:armhf (1.17.0-2) ... 1376s Selecting previously unselected package libxxf86vm1:armhf. 1376s Preparing to unpack .../078-libxxf86vm1_1%3a1.1.4-1build4_armhf.deb ... 1376s Unpacking libxxf86vm1:armhf (1:1.1.4-1build4) ... 1376s Selecting previously unselected package libllvm19:armhf. 1376s Preparing to unpack .../079-libllvm19_1%3a19.1.7-1ubuntu2_armhf.deb ... 1376s Unpacking libllvm19:armhf (1:19.1.7-1ubuntu2) ... 1377s Selecting previously unselected package libxcb-randr0:armhf. 1377s Preparing to unpack .../080-libxcb-randr0_1.17.0-2_armhf.deb ... 1377s Unpacking libxcb-randr0:armhf (1.17.0-2) ... 1377s Selecting previously unselected package libxcb-sync1:armhf. 1377s Preparing to unpack .../081-libxcb-sync1_1.17.0-2_armhf.deb ... 1377s Unpacking libxcb-sync1:armhf (1.17.0-2) ... 1377s Selecting previously unselected package libxshmfence1:armhf. 1377s Preparing to unpack .../082-libxshmfence1_1.3-1build5_armhf.deb ... 1377s Unpacking libxshmfence1:armhf (1.3-1build5) ... 1377s Selecting previously unselected package mesa-libgallium:armhf. 1377s Preparing to unpack .../083-mesa-libgallium_25.0.1-2ubuntu2_armhf.deb ... 1377s Unpacking mesa-libgallium:armhf (25.0.1-2ubuntu2) ... 1377s Selecting previously unselected package libwayland-server0:armhf. 1377s Preparing to unpack .../084-libwayland-server0_1.23.1-3_armhf.deb ... 1377s Unpacking libwayland-server0:armhf (1.23.1-3) ... 1377s Selecting previously unselected package libgbm1:armhf. 1377s Preparing to unpack .../085-libgbm1_25.0.1-2ubuntu2_armhf.deb ... 1377s Unpacking libgbm1:armhf (25.0.1-2ubuntu2) ... 1377s Selecting previously unselected package libvulkan1:armhf. 1377s Preparing to unpack .../086-libvulkan1_1.4.304.0-1_armhf.deb ... 1377s Unpacking libvulkan1:armhf (1.4.304.0-1) ... 1377s Selecting previously unselected package libgl1-mesa-dri:armhf. 1377s Preparing to unpack .../087-libgl1-mesa-dri_25.0.1-2ubuntu2_armhf.deb ... 1377s Unpacking libgl1-mesa-dri:armhf (25.0.1-2ubuntu2) ... 1377s Selecting previously unselected package libglx-mesa0:armhf. 1377s Preparing to unpack .../088-libglx-mesa0_25.0.1-2ubuntu2_armhf.deb ... 1377s Unpacking libglx-mesa0:armhf (25.0.1-2ubuntu2) ... 1377s Selecting previously unselected package libglx0:armhf. 1377s Preparing to unpack .../089-libglx0_1.7.0-1build1_armhf.deb ... 1377s Unpacking libglx0:armhf (1.7.0-1build1) ... 1377s Selecting previously unselected package libgl1:armhf. 1377s Preparing to unpack .../090-libgl1_1.7.0-1build1_armhf.deb ... 1377s Unpacking libgl1:armhf (1.7.0-1build1) ... 1377s Selecting previously unselected package libasound2-data. 1377s Preparing to unpack .../091-libasound2-data_1.2.13-1build1_all.deb ... 1377s Unpacking libasound2-data (1.2.13-1build1) ... 1377s Selecting previously unselected package libasound2t64:armhf. 1377s Preparing to unpack .../092-libasound2t64_1.2.13-1build1_armhf.deb ... 1377s Unpacking libasound2t64:armhf (1.2.13-1build1) ... 1377s Selecting previously unselected package libgif7:armhf. 1377s Preparing to unpack .../093-libgif7_5.2.2-1ubuntu2_armhf.deb ... 1377s Unpacking libgif7:armhf (5.2.2-1ubuntu2) ... 1377s Selecting previously unselected package x11-common. 1378s Preparing to unpack .../094-x11-common_1%3a7.7+23ubuntu3_all.deb ... 1378s Unpacking x11-common (1:7.7+23ubuntu3) ... 1378s Selecting previously unselected package libxtst6:armhf. 1378s Preparing to unpack .../095-libxtst6_2%3a1.2.5-1_armhf.deb ... 1378s Unpacking libxtst6:armhf (2:1.2.5-1) ... 1378s Selecting previously unselected package openjdk-21-jre:armhf. 1378s Preparing to unpack .../096-openjdk-21-jre_21.0.7~7ea-1_armhf.deb ... 1378s Unpacking openjdk-21-jre:armhf (21.0.7~7ea-1) ... 1378s Selecting previously unselected package default-jre. 1378s Preparing to unpack .../097-default-jre_2%3a1.21-76_armhf.deb ... 1378s Unpacking default-jre (2:1.21-76) ... 1378s Selecting previously unselected package libhamcrest-java. 1378s Preparing to unpack .../098-libhamcrest-java_2.2-2_all.deb ... 1378s Unpacking libhamcrest-java (2.2-2) ... 1378s Selecting previously unselected package junit4. 1378s Preparing to unpack .../099-junit4_4.13.2-5_all.deb ... 1378s Unpacking junit4 (4.13.2-5) ... 1378s Selecting previously unselected package libcommons-cli-java. 1378s Preparing to unpack .../100-libcommons-cli-java_1.6.0-1_all.deb ... 1378s Unpacking libcommons-cli-java (1.6.0-1) ... 1378s Selecting previously unselected package libapache-pom-java. 1378s Preparing to unpack .../101-libapache-pom-java_33-2_all.deb ... 1378s Unpacking libapache-pom-java (33-2) ... 1378s Selecting previously unselected package libcommons-parent-java. 1378s Preparing to unpack .../102-libcommons-parent-java_56-1_all.deb ... 1378s Unpacking libcommons-parent-java (56-1) ... 1378s Selecting previously unselected package libcommons-io-java. 1378s Preparing to unpack .../103-libcommons-io-java_2.18.0-1_all.deb ... 1378s Unpacking libcommons-io-java (2.18.0-1) ... 1378s Selecting previously unselected package libdropwizard-metrics-java. 1378s Preparing to unpack .../104-libdropwizard-metrics-java_3.2.6-1_all.deb ... 1378s Unpacking libdropwizard-metrics-java (3.2.6-1) ... 1378s Selecting previously unselected package libfindbugs-annotations-java. 1378s Preparing to unpack .../105-libfindbugs-annotations-java_3.1.0~preview2-4_all.deb ... 1378s Unpacking libfindbugs-annotations-java (3.1.0~preview2-4) ... 1378s Selecting previously unselected package libatinject-jsr330-api-java. 1378s Preparing to unpack .../106-libatinject-jsr330-api-java_1.0+ds1-6_all.deb ... 1378s Unpacking libatinject-jsr330-api-java (1.0+ds1-6) ... 1378s Selecting previously unselected package liberror-prone-java. 1378s Preparing to unpack .../107-liberror-prone-java_2.18.0-1_all.deb ... 1378s Unpacking liberror-prone-java (2.18.0-1) ... 1378s Selecting previously unselected package libjsr305-java. 1378s Preparing to unpack .../108-libjsr305-java_0.1~+svn49-12_all.deb ... 1378s Unpacking libjsr305-java (0.1~+svn49-12) ... 1378s Selecting previously unselected package libguava-java. 1378s Preparing to unpack .../109-libguava-java_32.0.1-1_all.deb ... 1378s Unpacking libguava-java (32.0.1-1) ... 1378s Selecting previously unselected package libjackson2-annotations-java. 1378s Preparing to unpack .../110-libjackson2-annotations-java_2.14.0-1_all.deb ... 1378s Unpacking libjackson2-annotations-java (2.14.0-1) ... 1378s Selecting previously unselected package libjackson2-core-java. 1378s Preparing to unpack .../111-libjackson2-core-java_2.14.1-1_all.deb ... 1378s Unpacking libjackson2-core-java (2.14.1-1) ... 1378s Selecting previously unselected package libjackson2-databind-java. 1378s Preparing to unpack .../112-libjackson2-databind-java_2.14.0+ds-1_all.deb ... 1378s Unpacking libjackson2-databind-java (2.14.0+ds-1) ... 1378s Selecting previously unselected package libasm-java. 1378s Preparing to unpack .../113-libasm-java_9.7.1-1_all.deb ... 1378s Unpacking libasm-java (9.7.1-1) ... 1378s Selecting previously unselected package libel-api-java. 1378s Preparing to unpack .../114-libel-api-java_3.0.0-3_all.deb ... 1378s Unpacking libel-api-java (3.0.0-3) ... 1378s Selecting previously unselected package libjsp-api-java. 1378s Preparing to unpack .../115-libjsp-api-java_2.3.4-3_all.deb ... 1378s Unpacking libjsp-api-java (2.3.4-3) ... 1378s Selecting previously unselected package libservlet-api-java. 1379s Preparing to unpack .../116-libservlet-api-java_4.0.1-2_all.deb ... 1379s Unpacking libservlet-api-java (4.0.1-2) ... 1379s Selecting previously unselected package libwebsocket-api-java. 1379s Preparing to unpack .../117-libwebsocket-api-java_1.1-2_all.deb ... 1379s Unpacking libwebsocket-api-java (1.1-2) ... 1379s Selecting previously unselected package libjetty9-java. 1379s Preparing to unpack .../118-libjetty9-java_9.4.56-1_all.deb ... 1379s Unpacking libjetty9-java (9.4.56-1) ... 1379s Selecting previously unselected package libjnr-constants-java. 1379s Preparing to unpack .../119-libjnr-constants-java_0.10.4-2_all.deb ... 1379s Unpacking libjnr-constants-java (0.10.4-2) ... 1379s Selecting previously unselected package libjffi-jni:armhf. 1379s Preparing to unpack .../120-libjffi-jni_1.3.13+ds-1_armhf.deb ... 1379s Unpacking libjffi-jni:armhf (1.3.13+ds-1) ... 1379s Selecting previously unselected package libjffi-java. 1379s Preparing to unpack .../121-libjffi-java_1.3.13+ds-1_all.deb ... 1379s Unpacking libjffi-java (1.3.13+ds-1) ... 1379s Selecting previously unselected package libjnr-x86asm-java. 1379s Preparing to unpack .../122-libjnr-x86asm-java_1.0.2-6_all.deb ... 1379s Unpacking libjnr-x86asm-java (1.0.2-6) ... 1379s Selecting previously unselected package libjnr-ffi-java. 1379s Preparing to unpack .../123-libjnr-ffi-java_2.2.15-2_all.deb ... 1379s Unpacking libjnr-ffi-java (2.2.15-2) ... 1379s Selecting previously unselected package libjnr-enxio-java. 1379s Preparing to unpack .../124-libjnr-enxio-java_0.32.16-1_all.deb ... 1379s Unpacking libjnr-enxio-java (0.32.16-1) ... 1379s Selecting previously unselected package libjnr-posix-java. 1379s Preparing to unpack .../125-libjnr-posix-java_3.1.18-1_all.deb ... 1379s Unpacking libjnr-posix-java (3.1.18-1) ... 1379s Selecting previously unselected package libjnr-unixsocket-java. 1379s Preparing to unpack .../126-libjnr-unixsocket-java_0.38.21-2_all.deb ... 1379s Unpacking libjnr-unixsocket-java (0.38.21-2) ... 1379s Selecting previously unselected package libactivation-java. 1379s Preparing to unpack .../127-libactivation-java_1.2.0-2_all.deb ... 1379s Unpacking libactivation-java (1.2.0-2) ... 1379s Selecting previously unselected package libmail-java. 1379s Preparing to unpack .../128-libmail-java_1.6.5-3_all.deb ... 1379s Unpacking libmail-java (1.6.5-3) ... 1379s Selecting previously unselected package libcommons-logging-java. 1379s Preparing to unpack .../129-libcommons-logging-java_1.3.0-1ubuntu1_all.deb ... 1379s Unpacking libcommons-logging-java (1.3.0-1ubuntu1) ... 1379s Selecting previously unselected package libjaxb-api-java. 1379s Preparing to unpack .../130-libjaxb-api-java_2.3.1-1_all.deb ... 1379s Unpacking libjaxb-api-java (2.3.1-1) ... 1379s Selecting previously unselected package libspring-core-java. 1379s Preparing to unpack .../131-libspring-core-java_4.3.30-2ubuntu1_all.deb ... 1379s Unpacking libspring-core-java (4.3.30-2ubuntu1) ... 1379s Selecting previously unselected package libspring-beans-java. 1379s Preparing to unpack .../132-libspring-beans-java_4.3.30-2ubuntu1_all.deb ... 1379s Unpacking libspring-beans-java (4.3.30-2ubuntu1) ... 1379s Selecting previously unselected package libtaglibs-standard-spec-java. 1379s Preparing to unpack .../133-libtaglibs-standard-spec-java_1.2.5-3_all.deb ... 1379s Unpacking libtaglibs-standard-spec-java (1.2.5-3) ... 1379s Selecting previously unselected package libtaglibs-standard-impl-java. 1379s Preparing to unpack .../134-libtaglibs-standard-impl-java_1.2.5-3_all.deb ... 1379s Unpacking libtaglibs-standard-impl-java (1.2.5-3) ... 1379s Selecting previously unselected package libeclipse-jdt-core-compiler-batch-java. 1379s Preparing to unpack .../135-libeclipse-jdt-core-compiler-batch-java_3.35.0+eclipse4.29-2_all.deb ... 1379s Unpacking libeclipse-jdt-core-compiler-batch-java (3.35.0+eclipse4.29-2) ... 1379s Selecting previously unselected package libeclipse-jdt-core-java. 1379s Preparing to unpack .../136-libeclipse-jdt-core-java_3.35.0+eclipse4.29-2_all.deb ... 1379s Unpacking libeclipse-jdt-core-java (3.35.0+eclipse4.29-2) ... 1379s Selecting previously unselected package libtomcat9-java. 1379s Preparing to unpack .../137-libtomcat9-java_9.0.70-2ubuntu1.1_all.deb ... 1379s Unpacking libtomcat9-java (9.0.70-2ubuntu1.1) ... 1380s Selecting previously unselected package libjetty9-extra-java. 1380s Preparing to unpack .../138-libjetty9-extra-java_9.4.56-1_all.deb ... 1380s Unpacking libjetty9-extra-java (9.4.56-1) ... 1380s Selecting previously unselected package libjavaparser-java. 1380s Preparing to unpack .../139-libjavaparser-java_3.26.1-1_all.deb ... 1380s Unpacking libjavaparser-java (3.26.1-1) ... 1380s Selecting previously unselected package libjctools-java. 1380s Preparing to unpack .../140-libjctools-java_4.0.5+dfsg-1_all.deb ... 1380s Unpacking libjctools-java (4.0.5+dfsg-1) ... 1380s Selecting previously unselected package libnetty-java. 1380s Preparing to unpack .../141-libnetty-java_1%3a4.1.48-10_all.deb ... 1380s Unpacking libnetty-java (1:4.1.48-10) ... 1380s Selecting previously unselected package libslf4j-java. 1380s Preparing to unpack .../142-libslf4j-java_1.7.32-1_all.deb ... 1380s Unpacking libslf4j-java (1.7.32-1) ... 1380s Selecting previously unselected package libsnappy1v5:armhf. 1380s Preparing to unpack .../143-libsnappy1v5_1.2.1-1_armhf.deb ... 1380s Unpacking libsnappy1v5:armhf (1.2.1-1) ... 1380s Selecting previously unselected package libsnappy-jni. 1380s Preparing to unpack .../144-libsnappy-jni_1.1.10.7-1_armhf.deb ... 1380s Unpacking libsnappy-jni (1.1.10.7-1) ... 1380s Selecting previously unselected package libsnappy-java. 1380s Preparing to unpack .../145-libsnappy-java_1.1.10.7-1_all.deb ... 1380s Unpacking libsnappy-java (1.1.10.7-1) ... 1380s Selecting previously unselected package libapr1t64:armhf. 1380s Preparing to unpack .../146-libapr1t64_1.7.5-1_armhf.deb ... 1380s Unpacking libapr1t64:armhf (1.7.5-1) ... 1380s Selecting previously unselected package libnetty-tcnative-jni. 1380s Preparing to unpack .../147-libnetty-tcnative-jni_2.0.28-1build4_armhf.deb ... 1380s Unpacking libnetty-tcnative-jni (2.0.28-1build4) ... 1380s Selecting previously unselected package libnetty-tcnative-java. 1380s Preparing to unpack .../148-libnetty-tcnative-java_2.0.28-1build4_all.deb ... 1380s Unpacking libnetty-tcnative-java (2.0.28-1build4) ... 1380s Selecting previously unselected package liblog4j1.2-java. 1380s Preparing to unpack .../149-liblog4j1.2-java_1.2.17-11_all.deb ... 1380s Unpacking liblog4j1.2-java (1.2.17-11) ... 1380s Selecting previously unselected package libzookeeper-java. 1380s Preparing to unpack .../150-libzookeeper-java_3.9.3-1build1_all.deb ... 1380s Unpacking libzookeeper-java (3.9.3-1build1) ... 1380s Selecting previously unselected package zookeeper. 1380s Preparing to unpack .../151-zookeeper_3.9.3-1build1_all.deb ... 1380s Unpacking zookeeper (3.9.3-1build1) ... 1380s Selecting previously unselected package zookeeperd. 1380s Preparing to unpack .../152-zookeeperd_3.9.3-1build1_all.deb ... 1380s Unpacking zookeeperd (3.9.3-1build1) ... 1380s Selecting previously unselected package fonts-font-awesome. 1380s Preparing to unpack .../153-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 1380s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 1380s Selecting previously unselected package libcares2:armhf. 1380s Preparing to unpack .../154-libcares2_1.34.4-2.1_armhf.deb ... 1380s Unpacking libcares2:armhf (1.34.4-2.1) ... 1380s Selecting previously unselected package libev4t64:armhf. 1380s Preparing to unpack .../155-libev4t64_1%3a4.33-2.1build1_armhf.deb ... 1380s Unpacking libev4t64:armhf (1:4.33-2.1build1) ... 1380s Selecting previously unselected package libjs-jquery. 1380s Preparing to unpack .../156-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 1380s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 1380s Selecting previously unselected package libjs-underscore. 1381s Preparing to unpack .../157-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 1381s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 1381s Selecting previously unselected package libjs-sphinxdoc. 1381s Preparing to unpack .../158-libjs-sphinxdoc_8.1.3-5_all.deb ... 1381s Unpacking libjs-sphinxdoc (8.1.3-5) ... 1381s Selecting previously unselected package libllvm20:armhf. 1381s Preparing to unpack .../159-libllvm20_1%3a20.1.0~+rc3-1~exp1ubuntu1_armhf.deb ... 1381s Unpacking libllvm20:armhf (1:20.1.0~+rc3-1~exp1ubuntu1) ... 1382s Selecting previously unselected package libpq5:armhf. 1382s Preparing to unpack .../160-libpq5_17.4-1_armhf.deb ... 1382s Unpacking libpq5:armhf (17.4-1) ... 1382s Selecting previously unselected package libtime-duration-perl. 1382s Preparing to unpack .../161-libtime-duration-perl_1.21-2_all.deb ... 1382s Unpacking libtime-duration-perl (1.21-2) ... 1382s Selecting previously unselected package libtimedate-perl. 1382s Preparing to unpack .../162-libtimedate-perl_2.3300-2_all.deb ... 1382s Unpacking libtimedate-perl (2.3300-2) ... 1382s Selecting previously unselected package libxslt1.1:armhf. 1382s Preparing to unpack .../163-libxslt1.1_1.1.39-0exp1ubuntu4_armhf.deb ... 1382s Unpacking libxslt1.1:armhf (1.1.39-0exp1ubuntu4) ... 1382s Selecting previously unselected package moreutils. 1382s Preparing to unpack .../164-moreutils_0.69-1_armhf.deb ... 1382s Unpacking moreutils (0.69-1) ... 1382s Selecting previously unselected package python3-click. 1382s Preparing to unpack .../165-python3-click_8.2.0+0.really.8.1.8-1_all.deb ... 1382s Unpacking python3-click (8.2.0+0.really.8.1.8-1) ... 1382s Selecting previously unselected package python3-wcwidth. 1382s Preparing to unpack .../166-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 1382s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 1382s Selecting previously unselected package python3-prettytable. 1382s Preparing to unpack .../167-python3-prettytable_3.12.0-1_all.deb ... 1382s Unpacking python3-prettytable (3.12.0-1) ... 1382s Selecting previously unselected package python3-psutil. 1382s Preparing to unpack .../168-python3-psutil_5.9.8-2build3_armhf.deb ... 1382s Unpacking python3-psutil (5.9.8-2build3) ... 1382s Selecting previously unselected package python3-ydiff. 1382s Preparing to unpack .../169-python3-ydiff_1.4.2-1_all.deb ... 1382s Unpacking python3-ydiff (1.4.2-1) ... 1382s Selecting previously unselected package python3-psycopg2. 1383s Preparing to unpack .../170-python3-psycopg2_2.9.10-1build1_armhf.deb ... 1383s Unpacking python3-psycopg2 (2.9.10-1build1) ... 1383s Selecting previously unselected package python3-greenlet. 1383s Preparing to unpack .../171-python3-greenlet_3.1.0-1build1_armhf.deb ... 1383s Unpacking python3-greenlet (3.1.0-1build1) ... 1383s Selecting previously unselected package python3-dnspython. 1383s Preparing to unpack .../172-python3-dnspython_2.7.0-1ubuntu1_all.deb ... 1383s Unpacking python3-dnspython (2.7.0-1ubuntu1) ... 1383s Selecting previously unselected package python3-eventlet. 1383s Preparing to unpack .../173-python3-eventlet_0.39.0-0ubuntu1_all.deb ... 1383s Unpacking python3-eventlet (0.39.0-0ubuntu1) ... 1383s Selecting previously unselected package python3-zope.event. 1383s Preparing to unpack .../174-python3-zope.event_5.0-0.1_all.deb ... 1383s Unpacking python3-zope.event (5.0-0.1) ... 1383s Selecting previously unselected package python3-zope.interface. 1383s Preparing to unpack .../175-python3-zope.interface_7.2-1build1_armhf.deb ... 1383s Unpacking python3-zope.interface (7.2-1build1) ... 1383s Selecting previously unselected package python3-gevent. 1383s Preparing to unpack .../176-python3-gevent_24.11.1-1build1_armhf.deb ... 1383s Unpacking python3-gevent (24.11.1-1build1) ... 1383s Selecting previously unselected package python3-kerberos. 1383s Preparing to unpack .../177-python3-kerberos_1.1.14-3.1build11_armhf.deb ... 1383s Unpacking python3-kerberos (1.1.14-3.1build11) ... 1383s Selecting previously unselected package python3-pure-sasl. 1383s Preparing to unpack .../178-python3-pure-sasl_0.5.1+dfsg1-5_all.deb ... 1383s Unpacking python3-pure-sasl (0.5.1+dfsg1-5) ... 1383s Selecting previously unselected package python3-kazoo. 1383s Preparing to unpack .../179-python3-kazoo_2.9.0-2_all.deb ... 1383s Unpacking python3-kazoo (2.9.0-2) ... 1383s Selecting previously unselected package patroni. 1383s Preparing to unpack .../180-patroni_4.0.4-8_all.deb ... 1383s Unpacking patroni (4.0.4-8) ... 1383s Selecting previously unselected package sphinx-rtd-theme-common. 1383s Preparing to unpack .../181-sphinx-rtd-theme-common_3.0.2+dfsg-2_all.deb ... 1383s Unpacking sphinx-rtd-theme-common (3.0.2+dfsg-2) ... 1383s Selecting previously unselected package patroni-doc. 1383s Preparing to unpack .../182-patroni-doc_4.0.4-8_all.deb ... 1383s Unpacking patroni-doc (4.0.4-8) ... 1383s Selecting previously unselected package postgresql-client-17. 1383s Preparing to unpack .../183-postgresql-client-17_17.4-1_armhf.deb ... 1383s Unpacking postgresql-client-17 (17.4-1) ... 1383s Selecting previously unselected package postgresql-17. 1383s Preparing to unpack .../184-postgresql-17_17.4-1_armhf.deb ... 1383s Unpacking postgresql-17 (17.4-1) ... 1384s Selecting previously unselected package postgresql. 1384s Preparing to unpack .../185-postgresql_17+274_all.deb ... 1384s Unpacking postgresql (17+274) ... 1384s Selecting previously unselected package python3-parse. 1384s Preparing to unpack .../186-python3-parse_1.20.2-1_all.deb ... 1384s Unpacking python3-parse (1.20.2-1) ... 1384s Selecting previously unselected package python3-parse-type. 1384s Preparing to unpack .../187-python3-parse-type_0.6.4-2_all.deb ... 1384s Unpacking python3-parse-type (0.6.4-2) ... 1384s Selecting previously unselected package python3-behave. 1384s Preparing to unpack .../188-python3-behave_1.2.6-6_all.deb ... 1384s Unpacking python3-behave (1.2.6-6) ... 1384s Selecting previously unselected package python3-coverage. 1384s Preparing to unpack .../189-python3-coverage_7.6.0+dfsg1-2build1_armhf.deb ... 1384s Unpacking python3-coverage (7.6.0+dfsg1-2build1) ... 1384s Setting up postgresql-client-common (274) ... 1384s Setting up libgraphite2-3:armhf (1.3.14-2ubuntu1) ... 1384s Setting up libxcb-dri3-0:armhf (1.17.0-2) ... 1384s Setting up liblcms2-2:armhf (2.16-2) ... 1384s Setting up libtaglibs-standard-spec-java (1.2.5-3) ... 1384s Setting up libpixman-1-0:armhf (0.44.0-3) ... 1384s Setting up libev4t64:armhf (1:4.33-2.1build1) ... 1384s Setting up libjackson2-annotations-java (2.14.0-1) ... 1384s Setting up libllvm19:armhf (1:19.1.7-1ubuntu2) ... 1384s Setting up libsharpyuv0:armhf (1.5.0-0.1) ... 1384s Setting up libwayland-server0:armhf (1.23.1-3) ... 1384s Setting up libx11-xcb1:armhf (2:1.8.10-2) ... 1384s Setting up libslf4j-java (1.7.32-1) ... 1384s Setting up fonts-lato (2.015-1) ... 1384s Setting up libeclipse-jdt-core-compiler-batch-java (3.35.0+eclipse4.29-2) ... 1384s Setting up libxdamage1:armhf (1:1.1.6-1build1) ... 1384s Setting up libxcb-xfixes0:armhf (1.17.0-2) ... 1384s Setting up libjavaparser-java (3.26.1-1) ... 1384s Setting up liblerc4:armhf (4.0.0+ds-5ubuntu1) ... 1384s Setting up libjsr305-java (0.1~+svn49-12) ... 1384s Setting up hicolor-icon-theme (0.18-2) ... 1384s Setting up libxi6:armhf (2:1.8.2-1) ... 1384s Setting up java-common (0.76) ... 1384s Setting up libxrender1:armhf (1:0.9.10-1.1build1) ... 1384s Setting up libdatrie1:armhf (0.2.13-3build1) ... 1384s Setting up libcommons-cli-java (1.6.0-1) ... 1384s Setting up libio-pty-perl (1:1.20-1build3) ... 1384s Setting up libxcb-render0:armhf (1.17.0-2) ... 1384s Setting up python3-zope.event (5.0-0.1) ... 1384s Setting up python3-zope.interface (7.2-1build1) ... 1385s Setting up libglvnd0:armhf (1.7.0-1build1) ... 1385s Setting up libxcb-glx0:armhf (1.17.0-2) ... 1385s Setting up libgdk-pixbuf2.0-common (2.42.12+dfsg-2) ... 1385s Setting up python3-ydiff (1.4.2-1) ... 1385s Setting up libasm-java (9.7.1-1) ... 1385s Setting up x11-common (1:7.7+23ubuntu3) ... 1385s Setting up libpq5:armhf (17.4-1) ... 1385s Setting up libdeflate0:armhf (1.23-1) ... 1385s Setting up python3-kerberos (1.1.14-3.1build11) ... 1385s Setting up liblog4j1.2-java (1.2.17-11) ... 1385s Setting up libel-api-java (3.0.0-3) ... 1385s Setting up python3-coverage (7.6.0+dfsg1-2build1) ... 1385s Setting up libxcb-shm0:armhf (1.17.0-2) ... 1385s Setting up python3-click (8.2.0+0.really.8.1.8-1) ... 1386s Setting up libjnr-x86asm-java (1.0.2-6) ... 1386s Setting up libjbig0:armhf (2.1-6.1ubuntu2) ... 1386s Setting up libcolord2:armhf (1.4.7-3) ... 1386s Setting up python3-psutil (5.9.8-2build3) ... 1386s Setting up libeclipse-jdt-core-java (3.35.0+eclipse4.29-2) ... 1386s Setting up libxxf86vm1:armhf (1:1.1.4-1build4) ... 1386s Setting up libsnappy1v5:armhf (1.2.1-1) ... 1386s Setting up libxcb-present0:armhf (1.17.0-2) ... 1386s Setting up libtaglibs-standard-impl-java (1.2.5-3) ... 1386s Setting up libdconf1:armhf (0.40.0-5) ... 1386s Setting up libjctools-java (4.0.5+dfsg-1) ... 1386s Setting up libdropwizard-metrics-java (3.2.6-1) ... 1386s Setting up libasound2-data (1.2.13-1build1) ... 1386s Setting up libasound2t64:armhf (1.2.13-1build1) ... 1386s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 1386s Setting up libfreetype6:armhf (2.13.3+dfsg-1) ... 1386s Setting up libfindbugs-annotations-java (3.1.0~preview2-4) ... 1386s Setting up libepoxy0:armhf (1.5.10-2) ... 1386s Setting up ssl-cert (1.1.3ubuntu1) ... 1387s Created symlink '/etc/systemd/system/multi-user.target.wants/ssl-cert.service' → '/usr/lib/systemd/system/ssl-cert.service'. 1388s Setting up libxfixes3:armhf (1:6.0.0-2build1) ... 1388s Setting up libxcb-sync1:armhf (1.17.0-2) ... 1388s Setting up libapache-pom-java (33-2) ... 1388s Setting up libavahi-common-data:armhf (0.8-16ubuntu2) ... 1388s Setting up libatinject-jsr330-api-java (1.0+ds1-6) ... 1388s Setting up libatspi2.0-0t64:armhf (2.56.0-2) ... 1388s Setting up libwebsocket-api-java (1.1-2) ... 1388s Setting up python3-greenlet (3.1.0-1build1) ... 1388s Setting up libxinerama1:armhf (2:1.1.4-3build1) ... 1388s Setting up fonts-dejavu-mono (2.37-8) ... 1388s Setting up libcares2:armhf (1.34.4-2.1) ... 1388s Setting up libxrandr2:armhf (2:1.5.4-1) ... 1388s Setting up libllvm20:armhf (1:20.1.0~+rc3-1~exp1ubuntu1) ... 1388s Setting up python3-psycopg2 (2.9.10-1build1) ... 1388s Setting up fonts-dejavu-core (2.37-8) ... 1388s Setting up libipc-run-perl (20231003.0-2) ... 1388s Setting up libpcsclite1:armhf (2.3.1-1) ... 1388s Setting up libjpeg-turbo8:armhf (2.1.5-3ubuntu2) ... 1388s Setting up libactivation-java (1.2.0-2) ... 1388s Setting up libtomcat9-java (9.0.70-2ubuntu1.1) ... 1388s Setting up libhamcrest-java (2.2-2) ... 1388s Setting up libjsp-api-java (2.3.4-3) ... 1388s Setting up libvulkan1:armhf (1.4.304.0-1) ... 1388s Setting up libtime-duration-perl (1.21-2) ... 1388s Setting up libwebp7:armhf (1.5.0-0.1) ... 1388s Setting up libtimedate-perl (2.3300-2) ... 1388s Setting up libgif7:armhf (5.2.2-1ubuntu2) ... 1388s Setting up libxshmfence1:armhf (1.3-1build5) ... 1388s Setting up libmail-java (1.6.5-3) ... 1388s Setting up at-spi2-common (2.56.0-2) ... 1388s Setting up python3-dnspython (2.7.0-1ubuntu1) ... 1389s Setting up libnetty-java (1:4.1.48-10) ... 1389s Setting up libxcb-randr0:armhf (1.17.0-2) ... 1389s Setting up python3-parse (1.20.2-1) ... 1389s Setting up libapr1t64:armhf (1.7.5-1) ... 1389s Setting up libjson-perl (4.10000-1) ... 1389s Setting up libxslt1.1:armhf (1.1.39-0exp1ubuntu4) ... 1389s Setting up libservlet-api-java (4.0.1-2) ... 1389s Setting up libjackson2-core-java (2.14.1-1) ... 1389s Setting up libharfbuzz0b:armhf (10.2.0-1) ... 1389s Setting up libthai-data (0.1.29-2build1) ... 1389s Setting up libjffi-jni:armhf (1.3.13+ds-1) ... 1389s Setting up libwayland-egl1:armhf (1.23.1-3) ... 1389s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 1389s Setting up ca-certificates-java (20240118) ... 1389s No JRE found. Skipping Java certificates setup. 1389s Setting up python3-prettytable (3.12.0-1) ... 1389s Setting up libsnappy-jni (1.1.10.7-1) ... 1389s Setting up libxcomposite1:armhf (1:0.4.6-1) ... 1389s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 1389s Setting up sphinx-rtd-theme-common (3.0.2+dfsg-2) ... 1389s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 1389s Setting up postgresql-common-dev (274) ... 1389s Setting up libjnr-constants-java (0.10.4-2) ... 1389s Setting up libwayland-client0:armhf (1.23.1-3) ... 1389s Setting up libjpeg8:armhf (8c-2ubuntu11) ... 1389s Setting up libjaxb-api-java (2.3.1-1) ... 1389s Setting up libjffi-java (1.3.13+ds-1) ... 1389s Setting up mesa-libgallium:armhf (25.0.1-2ubuntu2) ... 1389s Setting up libjetty9-java (9.4.56-1) ... 1389s Setting up moreutils (0.69-1) ... 1389s Setting up libatk1.0-0t64:armhf (2.56.0-2) ... 1389s Setting up openjdk-21-jre-headless:armhf (21.0.7~7ea-1) ... 1389s update-alternatives: using /usr/lib/jvm/java-21-openjdk-armhf/bin/java to provide /usr/bin/java (java) in auto mode 1389s update-alternatives: using /usr/lib/jvm/java-21-openjdk-armhf/bin/jpackage to provide /usr/bin/jpackage (jpackage) in auto mode 1389s update-alternatives: using /usr/lib/jvm/java-21-openjdk-armhf/bin/keytool to provide /usr/bin/keytool (keytool) in auto mode 1389s update-alternatives: using /usr/lib/jvm/java-21-openjdk-armhf/bin/rmiregistry to provide /usr/bin/rmiregistry (rmiregistry) in auto mode 1389s update-alternatives: using /usr/lib/jvm/java-21-openjdk-armhf/lib/jexec to provide /usr/bin/jexec (jexec) in auto mode 1389s Setting up python3-pure-sasl (0.5.1+dfsg1-5) ... 1389s Setting up libgbm1:armhf (25.0.1-2ubuntu2) ... 1389s Setting up postgresql-client-17 (17.4-1) ... 1390s update-alternatives: using /usr/share/postgresql/17/man/man1/psql.1.gz to provide /usr/share/man/man1/psql.1.gz (psql.1.gz) in auto mode 1390s Setting up fontconfig-config (2.15.0-2.1ubuntu1) ... 1390s Setting up libxtst6:armhf (2:1.2.5-1) ... 1390s Setting up libxcursor1:armhf (1:1.2.3-1) ... 1390s Setting up libgl1-mesa-dri:armhf (25.0.1-2ubuntu2) ... 1390s Setting up libcommons-parent-java (56-1) ... 1390s Setting up libavahi-common3:armhf (0.8-16ubuntu2) ... 1390s Setting up libcommons-logging-java (1.3.0-1ubuntu1) ... 1390s Setting up dconf-service (0.40.0-5) ... 1390s Setting up python3-gevent (24.11.1-1build1) ... 1390s Setting up libjackson2-databind-java (2.14.0+ds-1) ... 1390s Setting up libthai0:armhf (0.1.29-2build1) ... 1390s Setting up python3-parse-type (0.6.4-2) ... 1391s Setting up python3-eventlet (0.39.0-0ubuntu1) ... 1391s Setting up libnetty-tcnative-jni (2.0.28-1build4) ... 1391s Setting up python3-kazoo (2.9.0-2) ... 1391s Setting up postgresql-common (274) ... 1392s Creating config file /etc/postgresql-common/createcluster.conf with new version 1392s Building PostgreSQL dictionaries from installed myspell/hunspell packages... 1392s Removing obsolete dictionary files: 1393s Created symlink '/etc/systemd/system/multi-user.target.wants/postgresql.service' → '/usr/lib/systemd/system/postgresql.service'. 1393s Setting up libjs-sphinxdoc (8.1.3-5) ... 1393s Setting up libtiff6:armhf (4.5.1+git230720-4ubuntu4) ... 1393s Setting up libwayland-cursor0:armhf (1.23.1-3) ... 1393s Setting up libgdk-pixbuf-2.0-0:armhf (2.42.12+dfsg-2) ... 1393s Setting up python3-behave (1.2.6-6) ... 1393s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 1393s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 1394s /usr/lib/python3/dist-packages/behave/matchers.py:284: SyntaxWarning: invalid escape sequence '\d' 1394s @parse.with_pattern(r"\d+") 1394s Setting up libsnappy-java (1.1.10.7-1) ... 1394s Setting up libfontconfig1:armhf (2.15.0-2.1ubuntu1) ... 1394s Setting up patroni (4.0.4-8) ... 1394s Created symlink '/etc/systemd/system/multi-user.target.wants/patroni.service' → '/usr/lib/systemd/system/patroni.service'. 1394s Setting up libavahi-client3:armhf (0.8-16ubuntu2) ... 1394s Setting up libjnr-ffi-java (2.2.15-2) ... 1394s Setting up libatk-bridge2.0-0t64:armhf (2.56.0-2) ... 1394s Setting up gtk-update-icon-cache (4.18.2+ds-1) ... 1394s Setting up fontconfig (2.15.0-2.1ubuntu1) ... 1396s Regenerating fonts cache... done. 1396s Setting up postgresql-17 (17.4-1) ... 1398s Creating new PostgreSQL cluster 17/main ... 1398s /usr/lib/postgresql/17/bin/initdb -D /var/lib/postgresql/17/main --auth-local peer --auth-host scram-sha-256 --no-instructions 1398s The files belonging to this database system will be owned by user "postgres". 1398s This user must also own the server process. 1398s 1398s The database cluster will be initialized with locale "C.UTF-8". 1398s The default database encoding has accordingly been set to "UTF8". 1398s The default text search configuration will be set to "english". 1398s 1398s Data page checksums are disabled. 1398s 1398s fixing permissions on existing directory /var/lib/postgresql/17/main ... ok 1398s creating subdirectories ... ok 1398s selecting dynamic shared memory implementation ... posix 1398s selecting default "max_connections" ... 100 1398s selecting default "shared_buffers" ... 128MB 1398s selecting default time zone ... Etc/UTC 1398s creating configuration files ... ok 1398s running bootstrap script ... ok 1398s performing post-bootstrap initialization ... ok 1398s syncing data to disk ... ok 1401s Setting up libglx-mesa0:armhf (25.0.1-2ubuntu2) ... 1401s Setting up libglx0:armhf (1.7.0-1build1) ... 1401s Setting up libspring-core-java (4.3.30-2ubuntu1) ... 1401s Setting up dconf-gsettings-backend:armhf (0.40.0-5) ... 1401s Setting up libcommons-io-java (2.18.0-1) ... 1401s Setting up patroni-doc (4.0.4-8) ... 1401s Setting up libpango-1.0-0:armhf (1.56.3-1) ... 1401s Setting up libcairo2:armhf (1.18.4-1) ... 1401s Setting up libjnr-enxio-java (0.32.16-1) ... 1402s Setting up libgl1:armhf (1.7.0-1build1) ... 1402s Setting up adwaita-icon-theme (48.0-1) ... 1402s update-alternatives: using /usr/share/icons/Adwaita/cursor.theme to provide /usr/share/icons/default/index.theme (x-cursor-theme) in auto mode 1402s Setting up libcairo-gobject2:armhf (1.18.4-1) ... 1402s Setting up postgresql (17+274) ... 1402s Setting up libpangoft2-1.0-0:armhf (1.56.3-1) ... 1402s Setting up libcups2t64:armhf (2.4.11-0ubuntu2) ... 1402s Setting up libgtk-3-common (3.24.49-2ubuntu1) ... 1402s Setting up libjnr-posix-java (3.1.18-1) ... 1402s Setting up libpangocairo-1.0-0:armhf (1.56.3-1) ... 1402s Setting up libspring-beans-java (4.3.30-2ubuntu1) ... 1402s Setting up libjnr-unixsocket-java (0.38.21-2) ... 1402s Setting up libjetty9-extra-java (9.4.56-1) ... 1402s Setting up libguava-java (32.0.1-1) ... 1402s Setting up liberror-prone-java (2.18.0-1) ... 1402s Processing triggers for libc-bin (2.41-1ubuntu2) ... 1402s Processing triggers for man-db (2.13.0-1) ... 1403s Processing triggers for libglib2.0-0t64:armhf (2.84.0-1) ... 1403s Setting up libgtk-3-0t64:armhf (3.24.49-2ubuntu1) ... 1403s Processing triggers for ca-certificates-java (20240118) ... 1404s Adding debian:ACCVRAIZ1.pem 1404s Adding debian:AC_RAIZ_FNMT-RCM.pem 1404s Adding debian:AC_RAIZ_FNMT-RCM_SERVIDORES_SEGUROS.pem 1404s Adding debian:ANF_Secure_Server_Root_CA.pem 1404s Adding debian:Actalis_Authentication_Root_CA.pem 1404s Adding debian:AffirmTrust_Commercial.pem 1404s Adding debian:AffirmTrust_Networking.pem 1404s Adding debian:AffirmTrust_Premium.pem 1404s Adding debian:AffirmTrust_Premium_ECC.pem 1404s Adding debian:Amazon_Root_CA_1.pem 1404s Adding debian:Amazon_Root_CA_2.pem 1404s Adding debian:Amazon_Root_CA_3.pem 1404s Adding debian:Amazon_Root_CA_4.pem 1404s Adding debian:Atos_TrustedRoot_2011.pem 1404s Adding debian:Atos_TrustedRoot_Root_CA_ECC_TLS_2021.pem 1404s Adding debian:Atos_TrustedRoot_Root_CA_RSA_TLS_2021.pem 1404s Adding debian:Autoridad_de_Certificacion_Firmaprofesional_CIF_A62634068.pem 1404s Adding debian:BJCA_Global_Root_CA1.pem 1404s Adding debian:BJCA_Global_Root_CA2.pem 1404s Adding debian:Baltimore_CyberTrust_Root.pem 1404s Adding debian:Buypass_Class_2_Root_CA.pem 1404s Adding debian:Buypass_Class_3_Root_CA.pem 1404s Adding debian:CA_Disig_Root_R2.pem 1404s Adding debian:CFCA_EV_ROOT.pem 1404s Adding debian:COMODO_Certification_Authority.pem 1404s Adding debian:COMODO_ECC_Certification_Authority.pem 1404s Adding debian:COMODO_RSA_Certification_Authority.pem 1404s Adding debian:Certainly_Root_E1.pem 1404s Adding debian:Certainly_Root_R1.pem 1404s Adding debian:Certigna.pem 1404s Adding debian:Certigna_Root_CA.pem 1404s Adding debian:Certum_EC-384_CA.pem 1404s Adding debian:Certum_Trusted_Network_CA.pem 1404s Adding debian:Certum_Trusted_Network_CA_2.pem 1404s Adding debian:Certum_Trusted_Root_CA.pem 1404s Adding debian:CommScope_Public_Trust_ECC_Root-01.pem 1404s Adding debian:CommScope_Public_Trust_ECC_Root-02.pem 1404s Adding debian:CommScope_Public_Trust_RSA_Root-01.pem 1404s Adding debian:CommScope_Public_Trust_RSA_Root-02.pem 1404s Adding debian:Comodo_AAA_Services_root.pem 1404s Adding debian:D-TRUST_BR_Root_CA_1_2020.pem 1404s Adding debian:D-TRUST_EV_Root_CA_1_2020.pem 1404s Adding debian:D-TRUST_Root_Class_3_CA_2_2009.pem 1404s Adding debian:D-TRUST_Root_Class_3_CA_2_EV_2009.pem 1404s Adding debian:DigiCert_Assured_ID_Root_CA.pem 1404s Adding debian:DigiCert_Assured_ID_Root_G2.pem 1404s Adding debian:DigiCert_Assured_ID_Root_G3.pem 1404s Adding debian:DigiCert_Global_Root_CA.pem 1404s Adding debian:DigiCert_Global_Root_G2.pem 1404s Adding debian:DigiCert_Global_Root_G3.pem 1404s Adding debian:DigiCert_High_Assurance_EV_Root_CA.pem 1404s Adding debian:DigiCert_TLS_ECC_P384_Root_G5.pem 1404s Adding debian:DigiCert_TLS_RSA4096_Root_G5.pem 1404s Adding debian:DigiCert_Trusted_Root_G4.pem 1404s Adding debian:Entrust.net_Premium_2048_Secure_Server_CA.pem 1404s Adding debian:Entrust_Root_Certification_Authority.pem 1404s Adding debian:Entrust_Root_Certification_Authority_-_EC1.pem 1404s Adding debian:Entrust_Root_Certification_Authority_-_G2.pem 1404s Adding debian:Entrust_Root_Certification_Authority_-_G4.pem 1404s Adding debian:FIRMAPROFESIONAL_CA_ROOT-A_WEB.pem 1404s Adding debian:GDCA_TrustAUTH_R5_ROOT.pem 1404s Adding debian:GLOBALTRUST_2020.pem 1404s Adding debian:GTS_Root_R1.pem 1404s Adding debian:GTS_Root_R2.pem 1404s Adding debian:GTS_Root_R3.pem 1404s Adding debian:GTS_Root_R4.pem 1404s Adding debian:GlobalSign_ECC_Root_CA_-_R4.pem 1404s Adding debian:GlobalSign_ECC_Root_CA_-_R5.pem 1404s Adding debian:GlobalSign_Root_CA.pem 1404s Adding debian:GlobalSign_Root_CA_-_R3.pem 1404s Adding debian:GlobalSign_Root_CA_-_R6.pem 1404s Adding debian:GlobalSign_Root_E46.pem 1404s Adding debian:GlobalSign_Root_R46.pem 1404s Adding debian:Go_Daddy_Class_2_CA.pem 1404s Adding debian:Go_Daddy_Root_Certificate_Authority_-_G2.pem 1404s Adding debian:HARICA_TLS_ECC_Root_CA_2021.pem 1404s Adding debian:HARICA_TLS_RSA_Root_CA_2021.pem 1404s Adding debian:Hellenic_Academic_and_Research_Institutions_ECC_RootCA_2015.pem 1404s Adding debian:Hellenic_Academic_and_Research_Institutions_RootCA_2015.pem 1404s Adding debian:HiPKI_Root_CA_-_G1.pem 1404s Adding debian:Hongkong_Post_Root_CA_3.pem 1404s Adding debian:ISRG_Root_X1.pem 1404s Adding debian:ISRG_Root_X2.pem 1404s Adding debian:IdenTrust_Commercial_Root_CA_1.pem 1404s Adding debian:IdenTrust_Public_Sector_Root_CA_1.pem 1404s Adding debian:Izenpe.com.pem 1404s Adding debian:Microsec_e-Szigno_Root_CA_2009.pem 1404s Adding debian:Microsoft_ECC_Root_Certificate_Authority_2017.pem 1404s Adding debian:Microsoft_RSA_Root_Certificate_Authority_2017.pem 1404s Adding debian:NAVER_Global_Root_Certification_Authority.pem 1404s Adding debian:NetLock_Arany_=Class_Gold=_Főtanúsítvány.pem 1404s Adding debian:OISTE_WISeKey_Global_Root_GB_CA.pem 1404s Adding debian:OISTE_WISeKey_Global_Root_GC_CA.pem 1404s Adding debian:QuoVadis_Root_CA_1_G3.pem 1404s Adding debian:QuoVadis_Root_CA_2.pem 1404s Adding debian:QuoVadis_Root_CA_2_G3.pem 1404s Adding debian:QuoVadis_Root_CA_3.pem 1404s Adding debian:QuoVadis_Root_CA_3_G3.pem 1404s Adding debian:SSL.com_EV_Root_Certification_Authority_ECC.pem 1404s Adding debian:SSL.com_EV_Root_Certification_Authority_RSA_R2.pem 1404s Adding debian:SSL.com_Root_Certification_Authority_ECC.pem 1404s Adding debian:SSL.com_Root_Certification_Authority_RSA.pem 1404s Adding debian:SSL.com_TLS_ECC_Root_CA_2022.pem 1404s Adding debian:SSL.com_TLS_RSA_Root_CA_2022.pem 1404s Adding debian:SZAFIR_ROOT_CA2.pem 1404s Adding debian:Sectigo_Public_Server_Authentication_Root_E46.pem 1404s Adding debian:Sectigo_Public_Server_Authentication_Root_R46.pem 1404s Adding debian:SecureSign_RootCA11.pem 1404s Adding debian:SecureSign_Root_CA12.pem 1404s Adding debian:SecureSign_Root_CA14.pem 1404s Adding debian:SecureSign_Root_CA15.pem 1404s Adding debian:SecureTrust_CA.pem 1404s Adding debian:Secure_Global_CA.pem 1404s Adding debian:Security_Communication_ECC_RootCA1.pem 1404s Adding debian:Security_Communication_RootCA2.pem 1404s Adding debian:Security_Communication_RootCA3.pem 1404s Adding debian:Starfield_Class_2_CA.pem 1404s Adding debian:Starfield_Root_Certificate_Authority_-_G2.pem 1404s Adding debian:Starfield_Services_Root_Certificate_Authority_-_G2.pem 1404s Adding debian:SwissSign_Gold_CA_-_G2.pem 1404s Adding debian:SwissSign_Silver_CA_-_G2.pem 1404s Adding debian:T-TeleSec_GlobalRoot_Class_2.pem 1404s Adding debian:T-TeleSec_GlobalRoot_Class_3.pem 1404s Adding debian:TUBITAK_Kamu_SM_SSL_Kok_Sertifikasi_-_Surum_1.pem 1404s Adding debian:TWCA_CYBER_Root_CA.pem 1404s Adding debian:TWCA_Global_Root_CA.pem 1404s Adding debian:TWCA_Root_Certification_Authority.pem 1404s Adding debian:Telekom_Security_TLS_ECC_Root_2020.pem 1404s Adding debian:Telekom_Security_TLS_RSA_Root_2023.pem 1404s Adding debian:TeliaSonera_Root_CA_v1.pem 1404s Adding debian:Telia_Root_CA_v2.pem 1404s Adding debian:TrustAsia_Global_Root_CA_G3.pem 1404s Adding debian:TrustAsia_Global_Root_CA_G4.pem 1404s Adding debian:Trustwave_Global_Certification_Authority.pem 1404s Adding debian:Trustwave_Global_ECC_P256_Certification_Authority.pem 1404s Adding debian:Trustwave_Global_ECC_P384_Certification_Authority.pem 1404s Adding debian:TunTrust_Root_CA.pem 1404s Adding debian:UCA_Extended_Validation_Root.pem 1404s Adding debian:UCA_Global_G2_Root.pem 1404s Adding debian:USERTrust_ECC_Certification_Authority.pem 1404s Adding debian:USERTrust_RSA_Certification_Authority.pem 1404s Adding debian:XRamp_Global_CA_Root.pem 1404s Adding debian:certSIGN_ROOT_CA.pem 1404s Adding debian:certSIGN_Root_CA_G2.pem 1404s Adding debian:e-Szigno_Root_CA_2017.pem 1404s Adding debian:ePKI_Root_Certification_Authority.pem 1404s Adding debian:emSign_ECC_Root_CA_-_C3.pem 1404s Adding debian:emSign_ECC_Root_CA_-_G3.pem 1404s Adding debian:emSign_Root_CA_-_C1.pem 1404s Adding debian:emSign_Root_CA_-_G1.pem 1404s Adding debian:vTrus_ECC_Root_CA.pem 1404s Adding debian:vTrus_Root_CA.pem 1404s done. 1404s Setting up default-jre-headless (2:1.21-76) ... 1404s Setting up openjdk-21-jre:armhf (21.0.7~7ea-1) ... 1404s Setting up junit4 (4.13.2-5) ... 1404s Setting up default-jre (2:1.21-76) ... 1404s Setting up libnetty-tcnative-java (2.0.28-1build4) ... 1404s Setting up libzookeeper-java (3.9.3-1build1) ... 1404s Setting up zookeeper (3.9.3-1build1) ... 1405s warn: The home directory `/var/lib/zookeeper' already exists. Not touching this directory. 1405s warn: Warning: The home directory `/var/lib/zookeeper' does not belong to the user you are currently creating. 1405s update-alternatives: using /etc/zookeeper/conf_example to provide /etc/zookeeper/conf (zookeeper-conf) in auto mode 1405s Setting up zookeeperd (3.9.3-1build1) ... 1405s Processing triggers for libc-bin (2.41-1ubuntu2) ... 1421s autopkgtest [13:29:23]: test acceptance-zookeeper: debian/tests/acceptance zookeeper "-e dcs_failsafe_mode" 1421s autopkgtest [13:29:23]: test acceptance-zookeeper: [----------------------- 1428s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 1428s ++ ls -1r /usr/lib/postgresql/ 1428s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 1428s + '[' 17 == 10 -o 17 == 11 ']' 1428s + echo '### PostgreSQL 17 acceptance-zookeeper -e dcs_failsafe_mode ###' 1428s + su postgres -p -c 'set -o pipefail; ETCD_UNSUPPORTED_ARCH=arm DCS=zookeeper PATH=/usr/lib/postgresql/17/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' 1428s ### PostgreSQL 17 acceptance-zookeeper -e dcs_failsafe_mode ### 1429s Mar 22 13:29:31 Feature: basic replication # features/basic_replication.feature:1 1429s Mar 22 13:29:31 We should check that the basic bootstrapping, replication and failover works. 1429s Mar 22 13:29:31 Scenario: check replication of a single table # features/basic_replication.feature:4 1429s Mar 22 13:29:31 Given I start postgres-0 # features/steps/basic_replication.py:20 1434s Mar 22 13:29:36 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 1434s Mar 22 13:29:36 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1434s Mar 22 13:29: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:73 1434s Mar 22 13:29:36 Then I receive a response code 200 # features/steps/patroni_api.py:100 1434s Mar 22 13:29:36 When I start postgres-1 # features/steps/basic_replication.py:20 1438s Mar 22 13:29:40 And I configure and start postgres-2 with a tag replicatefrom postgres-0 # features/steps/cascading_replication.py:7 1443s Mar 22 13:29:45 And "sync" key in DCS has leader=postgres-0 after 20 seconds # features/steps/cascading_replication.py:23 1443s Mar 22 13:29:45 And I add the table foo to postgres-0 # features/steps/basic_replication.py:66 1443s Mar 22 13:29:45 Then table foo is present on postgres-1 after 20 seconds # features/steps/basic_replication.py:105 1444s Mar 22 13:29:46 Then table foo is present on postgres-2 after 20 seconds # features/steps/basic_replication.py:105 1444s Mar 22 13:29:46 1444s Mar 22 13:29:46 Scenario: check restart of sync replica # features/basic_replication.feature:17 1444s Mar 22 13:29:46 Given I shut down postgres-2 # features/steps/basic_replication.py:41 1445s Mar 22 13:29:47 Then "sync" key in DCS has sync_standby=postgres-1 after 5 seconds # features/steps/cascading_replication.py:23 1445s Mar 22 13:29:47 When I start postgres-2 # features/steps/basic_replication.py:20 1448s Mar 22 13:29:50 And I shut down postgres-1 # features/steps/basic_replication.py:41 1451s Mar 22 13:29:53 Then "sync" key in DCS has sync_standby=postgres-2 after 10 seconds # features/steps/cascading_replication.py:23 1452s Mar 22 13:29:54 When I start postgres-1 # features/steps/basic_replication.py:20 1455s Mar 22 13:29:57 Then "members/postgres-1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1455s Mar 22 13:29:57 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:144 1455s Mar 22 13:29:57 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:144 1455s Mar 22 13:29:57 1455s Mar 22 13:29:57 Scenario: check stuck sync replica # features/basic_replication.feature:28 1455s Mar 22 13:29:57 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:73 1455s Mar 22 13:29:57 Then I receive a response code 200 # features/steps/patroni_api.py:100 1455s Mar 22 13:29:57 And I create table on postgres-0 # features/steps/basic_replication.py:85 1456s Mar 22 13:29:57 And table mytest is present on postgres-1 after 2 seconds # features/steps/basic_replication.py:105 1457s Mar 22 13:29:58 And table mytest is present on postgres-2 after 2 seconds # features/steps/basic_replication.py:105 1457s Mar 22 13:29:58 When I pause wal replay on postgres-2 # features/steps/basic_replication.py:76 1457s Mar 22 13:29:58 And I load data on postgres-0 # features/steps/basic_replication.py:96 1457s Mar 22 13:29:59 Then "sync" key in DCS has sync_standby=postgres-1 after 15 seconds # features/steps/cascading_replication.py:23 1460s Mar 22 13:30:02 And I resume wal replay on postgres-2 # features/steps/basic_replication.py:76 1460s Mar 22 13:30:02 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:144 1461s Mar 22 13:30:03 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:144 1461s Mar 22 13:30:03 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:73 1461s Mar 22 13:30:03 Then I receive a response code 200 # features/steps/patroni_api.py:100 1461s Mar 22 13:30:03 And I drop table on postgres-0 # features/steps/basic_replication.py:85 1461s Mar 22 13:30:03 1461s Mar 22 13:30:03 Scenario: check multi sync replication # features/basic_replication.feature:44 1461s Mar 22 13:30:03 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"synchronous_node_count": 2} # features/steps/patroni_api.py:73 1461s Mar 22 13:30:03 Then I receive a response code 200 # features/steps/patroni_api.py:100 1461s Mar 22 13:30:03 Then "sync" key in DCS has sync_standby=postgres-1,postgres-2 after 10 seconds # features/steps/cascading_replication.py:23 1465s Mar 22 13:30:07 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:144 1467s Mar 22 13:30:09 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:144 1467s Mar 22 13:30:09 When I issue a PATCH request to http://127.0.0.1:8008/config with {"synchronous_node_count": 1} # features/steps/patroni_api.py:73 1467s Mar 22 13:30:09 Then I receive a response code 200 # features/steps/patroni_api.py:100 1467s Mar 22 13:30:09 And I shut down postgres-1 # features/steps/basic_replication.py:41 1470s Mar 22 13:30:12 Then "sync" key in DCS has sync_standby=postgres-2 after 10 seconds # features/steps/cascading_replication.py:23 1471s Mar 22 13:30:13 When I start postgres-1 # features/steps/basic_replication.py:20 1474s Mar 22 13:30:16 Then "members/postgres-1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1475s Mar 22 13:30:17 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:144 1475s Mar 22 13:30:17 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:144 1475s Mar 22 13:30:17 1475s Mar 22 13:30:17 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 1475s Mar 22 13:30:17 Given I run patronictl.py pause batman # features/steps/patroni_api.py:88 1476s Mar 22 13:30:18 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 1476s Mar 22 13:30:18 When I sleep for 2 seconds # features/steps/patroni_api.py:41 1478s Mar 22 13:30:20 And I shut down postgres-0 # features/steps/basic_replication.py:41 1479s Mar 22 13:30:21 And I run patronictl.py resume batman # features/steps/patroni_api.py:88 1481s Mar 22 13:30:23 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 1481s Mar 22 13:30:23 And postgres-2 role is the primary after 24 seconds # features/steps/basic_replication.py:117 1500s Mar 22 13:30:42 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:158 1503s Mar 22 13:30:45 And there is a postgres-2_cb.log with "on_role_change primary batman" in postgres-2 data directory # features/steps/cascading_replication.py:12 1503s Mar 22 13:30:45 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:73 1503s Mar 22 13:30:45 Then I receive a response code 200 # features/steps/patroni_api.py:100 1503s Mar 22 13:30:45 When I add the table bar to postgres-2 # features/steps/basic_replication.py:66 1503s Mar 22 13:30:45 Then table bar is present on postgres-1 after 20 seconds # features/steps/basic_replication.py:105 1503s Mar 22 13:30:45 And Response on GET http://127.0.0.1:8010/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:158 1503s Mar 22 13:30:45 1503s Mar 22 13:30:45 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 1503s Mar 22 13:30:45 Given I add the table splitbrain to postgres-0 # features/steps/basic_replication.py:66 1503s Mar 22 13:30:45 And I start postgres-0 # features/steps/basic_replication.py:20 1503s Mar 22 13:30:45 Then postgres-0 role is the secondary after 20 seconds # features/steps/basic_replication.py:117 1511s Mar 22 13:30:53 When I add the table buz to postgres-2 # features/steps/basic_replication.py:66 1512s Mar 22 13:30:53 Then table buz is present on postgres-0 after 20 seconds # features/steps/basic_replication.py:105 1512s Mar 22 13:30:53 1512s Mar 22 13:30:53 @reject-duplicate-name 1512s Mar 22 13:30:53 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 1512s Mar 22 13:30:53 Given I start duplicate postgres-0 on port 8011 # features/steps/basic_replication.py:25 1514s Mar 22 13:30:55 Then there is one of ["Can't start; there is already a node named 'postgres-0' running"] CRITICAL in the dup-postgres-0 patroni log after 5 seconds # features/steps/basic_replication.py:133 1518s Mar 22 13:31:00 1518s Mar 22 13:31:00 Feature: cascading replication # features/cascading_replication.feature:1 1518s Mar 22 13:31:00 We should check that patroni can do base backup and streaming from the replica 1518s Mar 22 13:31:00 Scenario: check a base backup and streaming replication from a replica # features/cascading_replication.feature:4 1518s Mar 22 13:31:00 Given I start postgres-0 # features/steps/basic_replication.py:20 1522s Mar 22 13:31:04 And postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 1523s Mar 22 13:31:05 And I configure and start postgres-1 with a tag clonefrom true # features/steps/cascading_replication.py:7 1527s Mar 22 13:31:09 And replication works from postgres-0 to postgres-1 after 20 seconds # features/steps/basic_replication.py:124 1528s Mar 22 13:31:10 And I create label with "postgres-0" in postgres-0 data directory # features/steps/cascading_replication.py:18 1528s Mar 22 13:31:10 And I create label with "postgres-1" in postgres-1 data directory # features/steps/cascading_replication.py:18 1528s Mar 22 13:31:10 And "members/postgres-1" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 1528s Mar 22 13:31:10 And I configure and start postgres-2 with a tag replicatefrom postgres-1 # features/steps/cascading_replication.py:7 1533s Mar 22 13:31:15 Then replication works from postgres-0 to postgres-2 after 30 seconds # features/steps/basic_replication.py:124 1534s Mar 22 13:31:16 And there is a label with "postgres-1" in postgres-2 data directory # features/steps/cascading_replication.py:12 1539s Mar 22 13:31:21 1539s SKIP FEATURE citus: Citus extension isn't available 1539s SKIP Scenario check that worker cluster is registered in the coordinator: Citus extension isn't available 1539s SKIP Scenario coordinator failover updates pg_dist_node: Citus extension isn't available 1539s SKIP Scenario worker switchover doesn't break client queries on the coordinator: Citus extension isn't available 1539s SKIP Scenario worker primary restart doesn't break client queries on the coordinator: Citus extension isn't available 1539s SKIP Scenario check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node: Citus extension isn't available 1539s Mar 22 13:31:21 Feature: citus # features/citus.feature:1 1539s Mar 22 13:31:21 We should check that coordinator discovers and registers workers and clients don't have errors when worker cluster switches over 1539s Mar 22 13:31:21 Scenario: check that worker cluster is registered in the coordinator # features/citus.feature:4 1539s Mar 22 13:31:21 Given I start postgres-0 in citus group 0 # None 1539s Mar 22 13:31:21 And I start postgres-2 in citus group 1 # None 1539s Mar 22 13:31:21 Then postgres-0 is a leader in a group 0 after 10 seconds # None 1539s Mar 22 13:31:21 And postgres-2 is a leader in a group 1 after 10 seconds # None 1539s Mar 22 13:31:21 When I start postgres-1 in citus group 0 # None 1539s Mar 22 13:31:21 And I start postgres-3 in citus group 1 # None 1539s Mar 22 13:31:21 Then replication works from postgres-0 to postgres-1 after 15 seconds # None 1539s Mar 22 13:31:21 Then replication works from postgres-2 to postgres-3 after 15 seconds # None 1539s Mar 22 13:31:21 And postgres-0 is registered in the postgres-0 as the primary in group 0 after 5 seconds # None 1539s Mar 22 13:31:21 And postgres-1 is registered in the postgres-0 as the secondary in group 0 after 5 seconds # None 1539s Mar 22 13:31:21 And postgres-2 is registered in the postgres-0 as the primary in group 1 after 5 seconds # None 1539s Mar 22 13:31:21 And postgres-3 is registered in the postgres-0 as the secondary in group 1 after 5 seconds # None 1539s Mar 22 13:31:21 1539s Mar 22 13:31:21 Scenario: coordinator failover updates pg_dist_node # features/citus.feature:18 1539s Mar 22 13:31:21 Given I run patronictl.py failover batman --group 0 --candidate postgres-1 --force # None 1539s Mar 22 13:31:21 Then postgres-1 role is the primary after 10 seconds # None 1539s Mar 22 13:31:21 And "members/postgres-0" key in a group 0 in DCS has state=running after 15 seconds # None 1539s Mar 22 13:31:21 And replication works from postgres-1 to postgres-0 after 15 seconds # None 1539s Mar 22 13:31:21 And postgres-1 is registered in the postgres-2 as the primary in group 0 after 5 seconds # None 1539s Mar 22 13:31:21 And postgres-0 is registered in the postgres-2 as the secondary in group 0 after 15 seconds # None 1539s Mar 22 13:31:21 And "sync" key in a group 0 in DCS has sync_standby=postgres-0 after 15 seconds # None 1539s Mar 22 13:31:21 When I run patronictl.py switchover batman --group 0 --candidate postgres-0 --force # None 1539s Mar 22 13:31:21 Then postgres-0 role is the primary after 10 seconds # None 1539s Mar 22 13:31:21 And replication works from postgres-0 to postgres-1 after 15 seconds # None 1539s Mar 22 13:31:21 And postgres-0 is registered in the postgres-2 as the primary in group 0 after 5 seconds # None 1539s Mar 22 13:31:21 And postgres-1 is registered in the postgres-2 as the secondary in group 0 after 15 seconds # None 1539s Mar 22 13:31:21 And "sync" key in a group 0 in DCS has sync_standby=postgres-1 after 15 seconds # None 1539s Mar 22 13:31:21 1539s Mar 22 13:31:21 Scenario: worker switchover doesn't break client queries on the coordinator # features/citus.feature:33 1539s Mar 22 13:31:21 Given I create a distributed table on postgres-0 # None 1539s Mar 22 13:31:21 And I start a thread inserting data on postgres-0 # None 1539s Mar 22 13:31:21 When I run patronictl.py switchover batman --group 1 --force # None 1539s Mar 22 13:31:21 Then I receive a response returncode 0 # None 1539s Mar 22 13:31:21 And postgres-3 role is the primary after 10 seconds # None 1539s Mar 22 13:31:21 And "members/postgres-2" key in a group 1 in DCS has state=running after 15 seconds # None 1539s Mar 22 13:31:21 And replication works from postgres-3 to postgres-2 after 15 seconds # None 1539s Mar 22 13:31:21 And postgres-3 is registered in the postgres-0 as the primary in group 1 after 5 seconds # None 1539s Mar 22 13:31:21 And postgres-2 is registered in the postgres-0 as the secondary in group 1 after 15 seconds # None 1539s Mar 22 13:31:21 And "sync" key in a group 1 in DCS has sync_standby=postgres-2 after 15 seconds # None 1539s Mar 22 13:31:21 And a thread is still alive # None 1539s Mar 22 13:31:21 When I run patronictl.py switchover batman --group 1 --force # None 1539s Mar 22 13:31:21 Then I receive a response returncode 0 # None 1539s Mar 22 13:31:21 And postgres-2 role is the primary after 10 seconds # None 1539s Mar 22 13:31:21 And replication works from postgres-2 to postgres-3 after 15 seconds # None 1539s Mar 22 13:31:21 And postgres-2 is registered in the postgres-0 as the primary in group 1 after 5 seconds # None 1539s Mar 22 13:31:21 And postgres-3 is registered in the postgres-0 as the secondary in group 1 after 15 seconds # None 1539s Mar 22 13:31:21 And "sync" key in a group 1 in DCS has sync_standby=postgres-3 after 15 seconds # None 1539s Mar 22 13:31:21 And a thread is still alive # None 1539s Mar 22 13:31:21 When I stop a thread # None 1539s Mar 22 13:31:21 Then a distributed table on postgres-0 has expected rows # None 1539s Mar 22 13:31:21 1539s Mar 22 13:31:21 Scenario: worker primary restart doesn't break client queries on the coordinator # features/citus.feature:56 1539s Mar 22 13:31:21 Given I cleanup a distributed table on postgres-0 # None 1539s Mar 22 13:31:21 And I start a thread inserting data on postgres-0 # None 1539s Mar 22 13:31:21 When I run patronictl.py restart batman postgres-2 --group 1 --force # None 1539s Mar 22 13:31:21 Then I receive a response returncode 0 # None 1539s Mar 22 13:31:21 And postgres-2 role is the primary after 10 seconds # None 1539s Mar 22 13:31:21 And replication works from postgres-2 to postgres-3 after 15 seconds # None 1539s Mar 22 13:31:21 And postgres-2 is registered in the postgres-0 as the primary in group 1 after 5 seconds # None 1539s Mar 22 13:31:21 And postgres-3 is registered in the postgres-0 as the secondary in group 1 after 15 seconds # None 1539s Mar 22 13:31:21 And a thread is still alive # None 1539s Mar 22 13:31:21 When I stop a thread # None 1539s Mar 22 13:31:21 Then a distributed table on postgres-0 has expected rows # None 1539s Mar 22 13:31:21 1539s Mar 22 13:31:21 Scenario: check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node # features/citus.feature:69 1539s Mar 22 13:31:21 Given I start postgres-4 in citus group 2 # None 1539s Mar 22 13:31:21 Then postgres-4 is a leader in a group 2 after 10 seconds # None 1539s Mar 22 13:31:21 And "members/postgres-4" key in a group 2 in DCS has role=primary after 3 seconds # None 1539s Mar 22 13:31:21 When I run patronictl.py edit-config batman --group 2 -s ttl=20 --force # None 1539s Mar 22 13:31:21 Then I receive a response returncode 0 # None 1539s Mar 22 13:31:21 And I receive a response output "+ttl: 20" # None 1539s Mar 22 13:31:21 Then postgres-4 is registered in the postgres-2 as the primary in group 2 after 5 seconds # None 1539s Mar 22 13:31:21 When I shut down postgres-4 # None 1539s Mar 22 13:31:21 Then there is a transaction in progress on postgres-0 changing pg_dist_node after 5 seconds # None 1539s Mar 22 13:31:21 When I run patronictl.py restart batman postgres-2 --group 1 --force # None 1539s Mar 22 13:31:21 Then a transaction finishes in 20 seconds # None 1539s Mar 22 13:31:21 1539s Mar 22 13:31:21 Feature: custom bootstrap # features/custom_bootstrap.feature:1 1539s Mar 22 13:31:21 We should check that patroni can bootstrap a new cluster from a backup 1539s Mar 22 13:31:21 Scenario: clone existing cluster using pg_basebackup # features/custom_bootstrap.feature:4 1539s Mar 22 13:31:21 Given I start postgres-0 # features/steps/basic_replication.py:20 1544s Mar 22 13:31:26 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 1544s Mar 22 13:31:26 When I add the table foo to postgres-0 # features/steps/basic_replication.py:66 1544s Mar 22 13:31:26 And I start postgres-1 in a cluster batman1 as a clone of postgres-0 # features/steps/custom_bootstrap.py:6 1549s Mar 22 13:31:31 Then postgres-1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 1550s Mar 22 13:31:32 Then table foo is present on postgres-1 after 10 seconds # features/steps/basic_replication.py:105 1550s Mar 22 13:31:32 1550s Mar 22 13:31:32 Scenario: make a backup and do a restore into a new cluster # features/custom_bootstrap.feature:12 1550s Mar 22 13:31:32 Given I add the table bar to postgres-1 # features/steps/basic_replication.py:66 1550s Mar 22 13:31:32 And I do a backup of postgres-1 # features/steps/custom_bootstrap.py:25 1552s Mar 22 13:31:34 When I start postgres-2 in a cluster batman2 from backup # features/steps/custom_bootstrap.py:11 1558s Mar 22 13:31:40 Then postgres-2 is a leader of batman2 after 30 seconds # features/steps/custom_bootstrap.py:16 1558s Mar 22 13:31:40 And table bar is present on postgres-2 after 10 seconds # features/steps/basic_replication.py:105 1565s Mar 22 13:31:47 1565s Mar 22 13:31:47 Feature: ignored slots # features/ignored_slots.feature:1 1565s Mar 22 13:31:47 1565s Mar 22 13:31:47 Scenario: check ignored slots aren't removed on failover/switchover # features/ignored_slots.feature:2 1565s Mar 22 13:31:47 Given I start postgres-1 # features/steps/basic_replication.py:20 1570s Mar 22 13:31:52 Then postgres-1 is a leader after 10 seconds # features/steps/patroni_api.py:31 1570s Mar 22 13:31:52 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1570s Mar 22 13:31:52 When I issue a PATCH request to http://127.0.0.1:8009/config with {"ignore_slots": [{"name": "unmanaged_slot_0", "database": "postgres", "plugin": "test_decoding", "type": "logical"}, {"name": "unmanaged_slot_1", "database": "postgres", "plugin": "test_decoding"}, {"name": "unmanaged_slot_2", "database": "postgres"}, {"name": "unmanaged_slot_3"}], "postgresql": {"parameters": {"wal_level": "logical"}}} # features/steps/patroni_api.py:73 1570s Mar 22 13:31:52 Then I receive a response code 200 # features/steps/patroni_api.py:100 1570s Mar 22 13:31:52 And Response on GET http://127.0.0.1:8009/config contains ignore_slots after 10 seconds # features/steps/patroni_api.py:158 1570s Mar 22 13:31:52 When I shut down postgres-1 # features/steps/basic_replication.py:41 1572s Mar 22 13:31:54 And I start postgres-1 # features/steps/basic_replication.py:20 1575s Mar 22 13:31:57 Then postgres-1 is a leader after 10 seconds # features/steps/patroni_api.py:31 1575s Mar 22 13:31:57 And "members/postgres-1" key in DCS has role=primary after 10 seconds # features/steps/cascading_replication.py:23 1576s Mar 22 13:31:58 And postgres-1 role is the primary after 20 seconds # features/steps/basic_replication.py:117 1576s Mar 22 13:31:58 When I create a logical replication slot unmanaged_slot_0 on postgres-1 with the test_decoding plugin # features/steps/slots.py:9 1576s Mar 22 13:31:58 And I create a logical replication slot unmanaged_slot_1 on postgres-1 with the test_decoding plugin # features/steps/slots.py:9 1576s Mar 22 13:31:58 And I create a logical replication slot unmanaged_slot_2 on postgres-1 with the test_decoding plugin # features/steps/slots.py:9 1576s Mar 22 13:31:58 And I create a logical replication slot unmanaged_slot_3 on postgres-1 with the test_decoding plugin # features/steps/slots.py:9 1576s Mar 22 13:31:58 And I create a logical replication slot dummy_slot on postgres-1 with the test_decoding plugin # features/steps/slots.py:9 1576s Mar 22 13:31:58 Then postgres-1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:20 1576s Mar 22 13:31:58 And postgres-1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:20 1576s Mar 22 13:31:58 And postgres-1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:20 1576s Mar 22 13:31:58 And postgres-1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:20 1576s Mar 22 13:31:58 When I start postgres-0 # features/steps/basic_replication.py:20 1581s Mar 22 13:32:03 Then "members/postgres-0" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 1581s Mar 22 13:32:03 And postgres-0 role is the secondary after 20 seconds # features/steps/basic_replication.py:117 1581s Mar 22 13:32:03 And replication works from postgres-1 to postgres-0 after 20 seconds # features/steps/basic_replication.py:124 1582s Mar 22 13:32:04 When I shut down postgres-1 # features/steps/basic_replication.py:41 1584s Mar 22 13:32:06 Then "members/postgres-0" key in DCS has role=primary after 10 seconds # features/steps/cascading_replication.py:23 1585s Mar 22 13:32:07 When I start postgres-1 # features/steps/basic_replication.py:20 1588s Mar 22 13:32:10 Then postgres-1 role is the secondary after 20 seconds # features/steps/basic_replication.py:117 1588s Mar 22 13:32:10 And "members/postgres-1" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 1588s Mar 22 13:32:10 And I sleep for 2 seconds # features/steps/patroni_api.py:41 1590s Mar 22 13:32:12 And postgres-1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:20 1590s Mar 22 13:32:12 And postgres-1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:20 1590s Mar 22 13:32:12 And postgres-1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:20 1590s Mar 22 13:32:12 And postgres-1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:20 1590s Mar 22 13:32:12 And postgres-1 does not have a replication slot named dummy_slot # features/steps/slots.py:41 1590s Mar 22 13:32:12 When I shut down postgres-0 # features/steps/basic_replication.py:41 1592s Mar 22 13:32:14 Then "members/postgres-1" key in DCS has role=primary after 10 seconds # features/steps/cascading_replication.py:23 1593s Mar 22 13:32:15 And postgres-1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:20 1593s Mar 22 13:32:15 And postgres-1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:20 1593s Mar 22 13:32:15 And postgres-1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:20 1593s Mar 22 13:32:15 And postgres-1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:20 1595s Mar 22 13:32:17 1595s Mar 22 13:32:17 Feature: nostream node # features/nostream_node.feature:1 1595s Mar 22 13:32:17 1595s Mar 22 13:32:17 Scenario: check nostream node is recovering from archive # features/nostream_node.feature:3 1595s Mar 22 13:32:17 When I start postgres-0 # features/steps/basic_replication.py:20 1600s Mar 22 13:32:22 And I configure and start postgres-1 with a tag nostream true # features/steps/cascading_replication.py:7 1605s Mar 22 13:32:27 Then "members/postgres-1" key in DCS has replication_state=in archive recovery after 10 seconds # features/steps/cascading_replication.py:23 1605s Mar 22 13:32:27 And replication works from postgres-0 to postgres-1 after 30 seconds # features/steps/basic_replication.py:124 1611s Mar 22 13:32:32 1611s Mar 22 13:32:32 @slot-advance 1611s Mar 22 13:32:32 Scenario: check permanent logical replication slots are not copied # features/nostream_node.feature:10 1611s Mar 22 13:32:32 When I issue a PATCH request to http://127.0.0.1:8008/config with {"postgresql": {"parameters": {"wal_level": "logical"}}, "slots":{"test_logical":{"type":"logical","database":"postgres","plugin":"test_decoding"}}} # features/steps/patroni_api.py:73 1611s Mar 22 13:32:33 Then I receive a response code 200 # features/steps/patroni_api.py:100 1611s Mar 22 13:32:33 When I run patronictl.py restart batman postgres-0 --force # features/steps/patroni_api.py:88 1613s Mar 22 13:32:34 Then postgres-0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:20 1614s Mar 22 13:32:36 When I configure and start postgres-2 with a tag replicatefrom postgres-1 # features/steps/cascading_replication.py:7 1619s Mar 22 13:32:41 Then "members/postgres-2" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 1620s Mar 22 13:32:42 And postgres-1 does not have a replication slot named test_logical # features/steps/slots.py:41 1620s Mar 22 13:32:42 And postgres-2 does not have a replication slot named test_logical # features/steps/slots.py:41 1620s Mar 22 13:32:42 1620s Mar 22 13:32:42 @slot-advance 1620s Mar 22 13:32:42 Scenario: check that slots are written to the /status key # features/nostream_node.feature:21 1620s Mar 22 13:32:42 Given "status" key in DCS has postgres_0 in slots # features/steps/slots.py:118 1620s Mar 22 13:32:42 And "status" key in DCS has postgres_2 in slots # features/steps/slots.py:118 1620s Mar 22 13:32:42 And "status" key in DCS has test_logical in slots # features/steps/slots.py:118 1620s Mar 22 13:32:42 And "status" key in DCS has test_logical in slots # features/steps/slots.py:118 1620s Mar 22 13:32:42 And "status" key in DCS does not have postgres_1 in slots # features/steps/slots.py:124 1625s Mar 22 13:32:47 1625s Mar 22 13:32:47 Feature: patroni api # features/patroni_api.feature:1 1625s Mar 22 13:32:47 We should check that patroni correctly responds to valid and not-valid API requests. 1625s Mar 22 13:32:47 Scenario: check API requests on a stand-alone server # features/patroni_api.feature:4 1625s Mar 22 13:32:47 Given I start postgres-0 # features/steps/basic_replication.py:20 1630s Mar 22 13:32:52 And postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 1630s Mar 22 13:32:52 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:63 1630s Mar 22 13:32:52 Then I receive a response code 200 # features/steps/patroni_api.py:100 1630s Mar 22 13:32:52 And I receive a response state running # features/steps/patroni_api.py:100 1630s Mar 22 13:32:52 And I receive a response role primary # features/steps/patroni_api.py:100 1630s Mar 22 13:32:52 When I issue a GET request to http://127.0.0.1:8008/standby_leader # features/steps/patroni_api.py:63 1630s Mar 22 13:32:52 Then I receive a response code 503 # features/steps/patroni_api.py:100 1630s Mar 22 13:32:52 When I issue a GET request to http://127.0.0.1:8008/health # features/steps/patroni_api.py:63 1630s Mar 22 13:32:52 Then I receive a response code 200 # features/steps/patroni_api.py:100 1630s Mar 22 13:32:52 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:63 1630s Mar 22 13:32:52 Then I receive a response code 503 # features/steps/patroni_api.py:100 1630s Mar 22 13:32:52 When I issue a POST request to http://127.0.0.1:8008/reinitialize with {"force": true} # features/steps/patroni_api.py:73 1630s Mar 22 13:32:52 Then I receive a response code 503 # features/steps/patroni_api.py:100 1630s Mar 22 13:32:52 And I receive a response text I am the leader, can not reinitialize # features/steps/patroni_api.py:100 1630s Mar 22 13:32:52 When I run patronictl.py switchover batman --primary postgres-0 --force # features/steps/patroni_api.py:88 1632s Mar 22 13:32:54 Then I receive a response returncode 1 # features/steps/patroni_api.py:100 1632s Mar 22 13:32:54 And I receive a response output "Error: No candidates found to switchover to" # features/steps/patroni_api.py:100 1632s Mar 22 13:32:54 When I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres-0"} # features/steps/patroni_api.py:73 1632s Mar 22 13:32:54 Then I receive a response code 412 # features/steps/patroni_api.py:100 1632s Mar 22 13:32:54 And I receive a response text switchover is not possible: cluster does not have members except leader # features/steps/patroni_api.py:100 1632s Mar 22 13:32:54 When I issue an empty POST request to http://127.0.0.1:8008/failover # features/steps/patroni_api.py:68 1632s Mar 22 13:32:54 Then I receive a response code 400 # features/steps/patroni_api.py:100 1632s Mar 22 13:32:54 When I issue a POST request to http://127.0.0.1:8008/failover with {"foo": "bar"} # features/steps/patroni_api.py:73 1632s Mar 22 13:32:54 Then I receive a response code 400 # features/steps/patroni_api.py:100 1632s Mar 22 13:32:54 And I receive a response text "Failover could be performed only to a specific candidate" # features/steps/patroni_api.py:100 1632s Mar 22 13:32:54 1632s Mar 22 13:32:54 Scenario: check local configuration reload # features/patroni_api.feature:32 1632s Mar 22 13:32:54 Given I add tag new_tag new_value to postgres-0 config # features/steps/patroni_api.py:139 1632s Mar 22 13:32:54 And I issue an empty POST request to http://127.0.0.1:8008/reload # features/steps/patroni_api.py:68 1632s Mar 22 13:32:54 Then I receive a response code 202 # features/steps/patroni_api.py:100 1632s Mar 22 13:32:54 1632s Mar 22 13:32:54 Scenario: check dynamic configuration change via DCS # features/patroni_api.feature:37 1632s Mar 22 13:32:54 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"ttl": 20, "postgresql": {"parameters": {"max_connections": "101"}}} # features/steps/patroni_api.py:73 1632s Mar 22 13:32:54 Then I receive a response code 200 # features/steps/patroni_api.py:100 1632s Mar 22 13:32:54 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 11 seconds # features/steps/patroni_api.py:158 1635s Mar 22 13:32:57 When I issue a GET request to http://127.0.0.1:8008/config # features/steps/patroni_api.py:63 1635s Mar 22 13:32:57 Then I receive a response code 200 # features/steps/patroni_api.py:100 1635s Mar 22 13:32:57 And I receive a response ttl 20 # features/steps/patroni_api.py:100 1635s Mar 22 13:32:57 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:63 1635s Mar 22 13:32:57 Then I receive a response code 200 # features/steps/patroni_api.py:100 1635s Mar 22 13:32:57 And I receive a response tags {'new_tag': 'new_value'} # features/steps/patroni_api.py:100 1635s Mar 22 13:32:57 And I sleep for 4 seconds # features/steps/patroni_api.py:41 1639s Mar 22 13:33:01 1639s Mar 22 13:33:01 Scenario: check the scheduled restart # features/patroni_api.feature:49 1639s Mar 22 13:33:01 Given I run patronictl.py edit-config -p 'superuser_reserved_connections=6' --force batman # features/steps/patroni_api.py:88 1640s Mar 22 13:33:02 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 1640s Mar 22 13:33:02 And I receive a response output "+ superuser_reserved_connections: 6" # features/steps/patroni_api.py:100 1640s Mar 22 13:33:02 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 5 seconds # features/steps/patroni_api.py:158 1640s Mar 22 13:33:02 Given I issue a scheduled restart at http://127.0.0.1:8008 in 5 seconds with {"role": "replica"} # features/steps/patroni_api.py:126 1640s Mar 22 13:33:02 Then I receive a response code 202 # features/steps/patroni_api.py:100 1640s Mar 22 13:33:02 And I sleep for 8 seconds # features/steps/patroni_api.py:41 1648s Mar 22 13:33:10 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 10 seconds # features/steps/patroni_api.py:158 1648s Mar 22 13:33:10 Given I issue a scheduled restart at http://127.0.0.1:8008 in 5 seconds with {"restart_pending": "True"} # features/steps/patroni_api.py:126 1648s Mar 22 13:33:10 Then I receive a response code 202 # features/steps/patroni_api.py:100 1648s Mar 22 13:33:10 And Response on GET http://127.0.0.1:8008/patroni does not contain pending_restart after 10 seconds # features/steps/patroni_api.py:173 1655s Mar 22 13:33:17 And postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 1656s Mar 22 13:33:18 1656s Mar 22 13:33:18 Scenario: check API requests for the primary-replica pair in the pause mode # features/patroni_api.feature:63 1656s Mar 22 13:33:18 Given I start postgres-1 # features/steps/basic_replication.py:20 1660s Mar 22 13:33:22 Then replication works from postgres-0 to postgres-1 after 20 seconds # features/steps/basic_replication.py:124 1661s Mar 22 13:33:23 When I run patronictl.py pause batman # features/steps/patroni_api.py:88 1662s Mar 22 13:33:24 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 1662s Mar 22 13:33:24 When I kill postmaster on postgres-1 # features/steps/basic_replication.py:56 1662s Mar 22 13:33:24 waiting for server to shut down.... done 1662s Mar 22 13:33:24 server stopped 1662s Mar 22 13:33:24 And I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:63 1663s Mar 22 13:33:25 Then I receive a response code 503 # features/steps/patroni_api.py:100 1663s Mar 22 13:33:25 And "members/postgres-1" key in DCS has state=stopped after 10 seconds # features/steps/cascading_replication.py:23 1664s Mar 22 13:33:26 When I run patronictl.py restart batman postgres-1 --force # features/steps/patroni_api.py:88 1666s Mar 22 13:33:28 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 1666s Mar 22 13:33:28 Then replication works from postgres-0 to postgres-1 after 20 seconds # features/steps/basic_replication.py:124 1667s Mar 22 13:33:29 And I sleep for 2 seconds # features/steps/patroni_api.py:41 1669s Mar 22 13:33:31 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:63 1669s Mar 22 13:33:31 Then I receive a response code 200 # features/steps/patroni_api.py:100 1669s Mar 22 13:33:31 And I receive a response state running # features/steps/patroni_api.py:100 1669s Mar 22 13:33:31 And I receive a response role replica # features/steps/patroni_api.py:100 1669s Mar 22 13:33:31 When I run patronictl.py reinit batman postgres-1 --force --wait # features/steps/patroni_api.py:88 1674s Mar 22 13:33:36 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 1674s Mar 22 13:33:36 And I receive a response output "Success: reinitialize for member postgres-1" # features/steps/patroni_api.py:100 1674s Mar 22 13:33:36 And postgres-1 role is the secondary after 30 seconds # features/steps/basic_replication.py:117 1675s Mar 22 13:33:37 And replication works from postgres-0 to postgres-1 after 20 seconds # features/steps/basic_replication.py:124 1675s Mar 22 13:33:37 When I run patronictl.py restart batman postgres-0 --force # features/steps/patroni_api.py:88 1677s Mar 22 13:33:39 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 1677s Mar 22 13:33:39 And I receive a response output "Success: restart on member postgres-0" # features/steps/patroni_api.py:100 1677s Mar 22 13:33:39 And postgres-0 role is the primary after 5 seconds # features/steps/basic_replication.py:117 1678s Mar 22 13:33:40 1678s Mar 22 13:33:40 Scenario: check the switchover via the API in the pause mode # features/patroni_api.feature:90 1678s Mar 22 13:33:40 Given I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres-0", "candidate": "postgres-1"} # features/steps/patroni_api.py:73 1680s Mar 22 13:33:42 Then I receive a response code 200 # features/steps/patroni_api.py:100 1680s Mar 22 13:33:42 And postgres-1 is a leader after 5 seconds # features/steps/patroni_api.py:31 1680s Mar 22 13:33:42 And postgres-1 role is the primary after 10 seconds # features/steps/basic_replication.py:117 1681s Mar 22 13:33:43 And postgres-0 role is the secondary after 10 seconds # features/steps/basic_replication.py:117 1686s Mar 22 13:33:48 And replication works from postgres-1 to postgres-0 after 20 seconds # features/steps/basic_replication.py:124 1686s Mar 22 13:33:48 And "members/postgres-0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1686s Mar 22 13:33:48 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:63 1686s Mar 22 13:33:48 Then I receive a response code 503 # features/steps/patroni_api.py:100 1686s Mar 22 13:33:48 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:63 1686s Mar 22 13:33:48 Then I receive a response code 200 # features/steps/patroni_api.py:100 1686s Mar 22 13:33:48 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:63 1686s Mar 22 13:33:48 Then I receive a response code 200 # features/steps/patroni_api.py:100 1686s Mar 22 13:33:48 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:63 1686s Mar 22 13:33:48 Then I receive a response code 503 # features/steps/patroni_api.py:100 1686s Mar 22 13:33:48 1686s Mar 22 13:33:48 Scenario: check the scheduled switchover # features/patroni_api.feature:107 1686s Mar 22 13:33:48 Given I issue a scheduled switchover from postgres-1 to postgres-0 in 10 seconds # features/steps/patroni_api.py:119 1688s Mar 22 13:33:50 Then I receive a response returncode 1 # features/steps/patroni_api.py:100 1688s Mar 22 13:33:50 And I receive a response output "Can't schedule switchover in the paused state" # features/steps/patroni_api.py:100 1688s Mar 22 13:33:50 When I run patronictl.py resume batman # features/steps/patroni_api.py:88 1689s Mar 22 13:33:51 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 1689s Mar 22 13:33:51 Given I issue a scheduled switchover from postgres-1 to postgres-0 in 10 seconds # features/steps/patroni_api.py:119 1690s Mar 22 13:33:52 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 1690s Mar 22 13:33:52 And postgres-0 is a leader after 20 seconds # features/steps/patroni_api.py:31 1700s Mar 22 13:34:02 And postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 1701s Mar 22 13:34:03 And postgres-1 role is the secondary after 10 seconds # features/steps/basic_replication.py:117 1703s Mar 22 13:34:05 And replication works from postgres-0 to postgres-1 after 25 seconds # features/steps/basic_replication.py:124 1703s Mar 22 13:34:05 And "members/postgres-1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1704s Mar 22 13:34:06 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:63 1705s Mar 22 13:34:07 Then I receive a response code 200 # features/steps/patroni_api.py:100 1705s Mar 22 13:34:07 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:63 1705s Mar 22 13:34:07 Then I receive a response code 503 # features/steps/patroni_api.py:100 1705s Mar 22 13:34:07 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:63 1705s Mar 22 13:34:07 Then I receive a response code 503 # features/steps/patroni_api.py:100 1705s Mar 22 13:34:07 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:63 1705s Mar 22 13:34:07 Then I receive a response code 200 # features/steps/patroni_api.py:100 1709s Mar 22 13:34:11 1709s Mar 22 13:34:11 Feature: permanent slots # features/permanent_slots.feature:1 1709s Mar 22 13:34:11 1709s Mar 22 13:34:11 Scenario: check that physical permanent slots are created # features/permanent_slots.feature:2 1709s Mar 22 13:34:11 Given I start postgres-0 # features/steps/basic_replication.py:20 1713s Mar 22 13:34:15 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 1714s Mar 22 13:34:16 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1714s Mar 22 13:34:16 When I issue a PATCH request to http://127.0.0.1:8008/config with {"slots":{"test_physical":0,"postgres_3":0},"postgresql":{"parameters":{"wal_level":"logical"}}} # features/steps/patroni_api.py:73 1714s Mar 22 13:34:16 Then I receive a response code 200 # features/steps/patroni_api.py:100 1714s Mar 22 13:34:16 And Response on GET http://127.0.0.1:8008/config contains slots after 10 seconds # features/steps/patroni_api.py:158 1714s Mar 22 13:34:16 When I start postgres-1 # features/steps/basic_replication.py:20 1718s Mar 22 13:34:20 And I configure and start postgres-2 with a tag nofailover true # features/steps/cascading_replication.py:7 1723s Mar 22 13:34:25 And I configure and start postgres-3 with a tag replicatefrom postgres-2 # features/steps/cascading_replication.py:7 1728s Mar 22 13:34:30 Then postgres-0 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:82 1728s Mar 22 13:34:30 And postgres-0 has a physical replication slot named postgres_1 after 10 seconds # features/steps/slots.py:82 1728s Mar 22 13:34:30 And postgres-0 has a physical replication slot named postgres_2 after 10 seconds # features/steps/slots.py:82 1728s Mar 22 13:34:30 And postgres-2 has a physical replication slot named postgres_3 after 10 seconds # features/steps/slots.py:82 1728s Mar 22 13:34:30 And postgres-2 does not have a replication slot named test_physical # features/steps/slots.py:41 1728s Mar 22 13:34:30 1728s Mar 22 13:34:30 @slot-advance 1728s Mar 22 13:34:30 Scenario: check that logical permanent slots are created # features/permanent_slots.feature:19 1728s Mar 22 13:34:30 Given I run patronictl.py restart batman postgres-0 --force # features/steps/patroni_api.py:88 1730s Mar 22 13:34:32 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:73 1730s Mar 22 13:34:32 Then postgres-0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:20 1731s Mar 22 13:34:33 1731s Mar 22 13:34:33 @slot-advance 1731s Mar 22 13:34:33 Scenario: check that permanent slots are created on replicas # features/permanent_slots.feature:25 1731s Mar 22 13:34:33 Given postgres-1 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:20 1738s Mar 22 13:34:40 Then Logical slot test_logical is in sync between postgres-0 and postgres-1 after 10 seconds # features/steps/slots.py:52 1738s Mar 22 13:34:40 And Logical slot test_logical is in sync between postgres-0 and postgres-3 after 10 seconds # features/steps/slots.py:52 1739s Mar 22 13:34:41 And postgres-1 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:82 1739s Mar 22 13:34:41 And postgres-2 does not have a replication slot named test_logical # features/steps/slots.py:41 1739s Mar 22 13:34:41 And postgres-3 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:82 1739s Mar 22 13:34:41 1739s Mar 22 13:34:41 @slot-advance 1739s Mar 22 13:34:41 Scenario: check permanent physical slots that match with member names # features/permanent_slots.feature:34 1739s Mar 22 13:34:41 Given postgres-0 has a physical replication slot named postgres_3 after 2 seconds # features/steps/slots.py:82 1739s Mar 22 13:34:41 And postgres-1 has a physical replication slot named postgres_0 after 2 seconds # features/steps/slots.py:82 1739s Mar 22 13:34:41 And postgres-1 has a physical replication slot named postgres_2 after 2 seconds # features/steps/slots.py:82 1739s Mar 22 13:34:41 And postgres-1 has a physical replication slot named postgres_3 after 2 seconds # features/steps/slots.py:82 1739s Mar 22 13:34:41 And postgres-2 does not have a replication slot named postgres_0 # features/steps/slots.py:41 1739s Mar 22 13:34:41 And postgres-2 does not have a replication slot named postgres_1 # features/steps/slots.py:41 1739s Mar 22 13:34:41 And postgres-2 has a physical replication slot named postgres_3 after 2 seconds # features/steps/slots.py:82 1739s Mar 22 13:34:41 And postgres-3 has a physical replication slot named postgres_0 after 2 seconds # features/steps/slots.py:82 1739s Mar 22 13:34:41 And postgres-3 has a physical replication slot named postgres_1 after 2 seconds # features/steps/slots.py:82 1739s Mar 22 13:34:41 And postgres-3 has a physical replication slot named postgres_2 after 2 seconds # features/steps/slots.py:82 1739s Mar 22 13:34:41 1739s Mar 22 13:34:41 @slot-advance 1739s Mar 22 13:34:41 Scenario: check that permanent slots are advanced on replicas # features/permanent_slots.feature:47 1739s Mar 22 13:34:41 Given I add the table replicate_me to postgres-0 # features/steps/basic_replication.py:66 1739s Mar 22 13:34:41 When I get all changes from logical slot test_logical on postgres-0 # features/steps/slots.py:72 1739s Mar 22 13:34:41 And I get all changes from physical slot test_physical on postgres-0 # features/steps/slots.py:77 1739s Mar 22 13:34:41 Then Logical slot test_logical is in sync between postgres-0 and postgres-1 after 10 seconds # features/steps/slots.py:52 1742s Mar 22 13:34:44 And Physical slot test_physical is in sync between postgres-0 and postgres-1 after 10 seconds # features/steps/slots.py:52 1742s Mar 22 13:34:44 And Logical slot test_logical is in sync between postgres-0 and postgres-3 after 10 seconds # features/steps/slots.py:52 1742s Mar 22 13:34:44 And Physical slot test_physical is in sync between postgres-0 and postgres-3 after 10 seconds # features/steps/slots.py:52 1742s Mar 22 13:34:44 And Physical slot postgres_1 is in sync between postgres-0 and postgres-3 after 10 seconds # features/steps/slots.py:52 1742s Mar 22 13:34:44 And Physical slot postgres_3 is in sync between postgres-2 and postgres-0 after 20 seconds # features/steps/slots.py:52 1742s Mar 22 13:34:44 And Physical slot postgres_3 is in sync between postgres-2 and postgres-1 after 10 seconds # features/steps/slots.py:52 1742s Mar 22 13:34:44 1742s Mar 22 13:34:44 @slot-advance 1742s Mar 22 13:34:44 Scenario: check that permanent slots and member slots are written to the /status key # features/permanent_slots.feature:60 1742s Mar 22 13:34:44 Given "status" key in DCS has test_physical in slots # features/steps/slots.py:118 1742s Mar 22 13:34:44 And "status" key in DCS has postgres_0 in slots # features/steps/slots.py:118 1742s Mar 22 13:34:44 And "status" key in DCS has postgres_1 in slots # features/steps/slots.py:118 1742s Mar 22 13:34:44 And "status" key in DCS has postgres_2 in slots # features/steps/slots.py:118 1743s Mar 22 13:34:44 And "status" key in DCS has postgres_3 in slots # features/steps/slots.py:118 1743s Mar 22 13:34:44 1743s Mar 22 13:34:44 @slot-advance 1743s Mar 22 13:34:44 Scenario: check that only non-permanent member slots are written to the retain_slots in /status key # features/permanent_slots.feature:68 1743s Mar 22 13:34:44 Given "status" key in DCS has postgres_0 in retain_slots # features/steps/slots.py:118 1743s Mar 22 13:34:44 And "status" key in DCS has postgres_1 in retain_slots # features/steps/slots.py:118 1743s Mar 22 13:34:44 And "status" key in DCS has postgres_2 in retain_slots # features/steps/slots.py:118 1743s Mar 22 13:34:44 And "status" key in DCS does not have postgres_3 in retain_slots # features/steps/slots.py:124 1743s Mar 22 13:34:44 1743s Mar 22 13:34:44 Scenario: check permanent physical replication slot after failover # features/permanent_slots.feature:74 1743s Mar 22 13:34:44 Given I shut down postgres-3 # features/steps/basic_replication.py:41 1744s Mar 22 13:34:45 And I shut down postgres-2 # features/steps/basic_replication.py:41 1745s Mar 22 13:34:46 And I shut down postgres-0 # features/steps/basic_replication.py:41 1747s Mar 22 13:34:48 Then postgres-1 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:82 1747s Mar 22 13:34:48 And postgres-1 has a physical replication slot named postgres_0 after 10 seconds # features/steps/slots.py:82 1747s Mar 22 13:34:48 And postgres-1 has a physical replication slot named postgres_3 after 10 seconds # features/steps/slots.py:82 1747s Mar 22 13:34:48 When I start postgres-0 # features/steps/basic_replication.py:20 1750s Mar 22 13:34:52 Then postgres-0 role is the replica after 20 seconds # features/steps/basic_replication.py:117 1750s Mar 22 13:34:52 And physical replication slot named postgres_1 on postgres-0 has no xmin value after 10 seconds # features/steps/slots.py:98 1750s Mar 22 13:34:52 And postgres-0 has a physical replication slot named postgres_2 after 10 seconds # features/steps/slots.py:82 1750s Mar 22 13:34:52 And postgres-0 has a physical replication slot named postgres_3 after 10 seconds # features/steps/slots.py:82 1753s Mar 22 13:34:55 1753s Mar 22 13:34:55 Feature: priority replication # features/priority_failover.feature:1 1753s Mar 22 13:34:55 We should check that we can give nodes priority during failover 1753s Mar 22 13:34:55 Scenario: check failover priority 0 prevents leaderships # features/priority_failover.feature:4 1753s Mar 22 13:34:55 Given I configure and start postgres-0 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 1757s Mar 22 13:34:59 And I configure and start postgres-1 with a tag failover_priority 0 # features/steps/cascading_replication.py:7 1761s Mar 22 13:35:03 Then replication works from postgres-0 to postgres-1 after 20 seconds # features/steps/basic_replication.py:124 1762s Mar 22 13:35:04 When I shut down postgres-0 # features/steps/basic_replication.py:41 1764s Mar 22 13:35:06 And there is one of ["following a different leader because I am not allowed to promote"] INFO in the postgres-1 patroni log after 5 seconds # features/steps/basic_replication.py:133 1766s Mar 22 13:35:08 Then postgres-1 role is the secondary after 10 seconds # features/steps/basic_replication.py:117 1766s Mar 22 13:35:08 When I start postgres-0 # features/steps/basic_replication.py:20 1769s Mar 22 13:35:11 Then postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 1771s Mar 22 13:35:13 1771s Mar 22 13:35:13 Scenario: check higher failover priority is respected # features/priority_failover.feature:14 1771s Mar 22 13:35:13 Given I configure and start postgres-2 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 1776s Mar 22 13:35:18 And I configure and start postgres-3 with a tag failover_priority 2 # features/steps/cascading_replication.py:7 1781s Mar 22 13:35:23 Then replication works from postgres-0 to postgres-2 after 20 seconds # features/steps/basic_replication.py:124 1782s Mar 22 13:35:24 And replication works from postgres-0 to postgres-3 after 20 seconds # features/steps/basic_replication.py:124 1783s Mar 22 13:35:25 When I shut down postgres-0 # features/steps/basic_replication.py:41 1785s Mar 22 13:35:27 Then postgres-3 role is the primary after 10 seconds # features/steps/basic_replication.py:117 1786s Mar 22 13:35:28 And there is one of ["postgres-3 has equally tolerable WAL position and priority 2, while this node has priority 1","Wal position of postgres-3 is ahead of my wal position"] INFO in the postgres-2 patroni log after 5 seconds # features/steps/basic_replication.py:133 1786s Mar 22 13:35:28 1786s Mar 22 13:35:28 Scenario: check conflicting configuration handling # features/priority_failover.feature:23 1786s Mar 22 13:35:28 When I set nofailover tag in postgres-2 config # features/steps/patroni_api.py:133 1786s Mar 22 13:35:28 And I issue an empty POST request to http://127.0.0.1:8010/reload # features/steps/patroni_api.py:68 1786s Mar 22 13:35:28 Then I receive a response code 202 # features/steps/patroni_api.py:100 1786s Mar 22 13:35:28 And there is one of ["Conflicting configuration between nofailover: True and failover_priority: 1. Defaulting to nofailover: True"] WARNING in the postgres-2 patroni log after 5 seconds # features/steps/basic_replication.py:133 1787s Mar 22 13:35:29 And "members/postgres-2" key in DCS has tags={'failover_priority': '1', 'nofailover': True} after 10 seconds # features/steps/cascading_replication.py:23 1788s Mar 22 13:35:30 When I issue a POST request to http://127.0.0.1:8010/failover with {"candidate": "postgres-2"} # features/steps/patroni_api.py:73 1789s Mar 22 13:35:30 Then I receive a response code 412 # features/steps/patroni_api.py:100 1789s Mar 22 13:35:30 And I receive a response text "failover is not possible: no good candidates have been found" # features/steps/patroni_api.py:100 1789s Mar 22 13:35:30 When I reset nofailover tag in postgres-1 config # features/steps/patroni_api.py:133 1789s Mar 22 13:35:31 And I issue an empty POST request to http://127.0.0.1:8009/reload # features/steps/patroni_api.py:68 1789s Mar 22 13:35:31 Then I receive a response code 202 # features/steps/patroni_api.py:100 1789s Mar 22 13:35:31 And there is one of ["Conflicting configuration between nofailover: False and failover_priority: 0. Defaulting to nofailover: False"] WARNING in the postgres-1 patroni log after 5 seconds # features/steps/basic_replication.py:133 1790s Mar 22 13:35:32 And "members/postgres-1" key in DCS has tags={'failover_priority': '0', 'nofailover': False} after 10 seconds # features/steps/cascading_replication.py:23 1791s Mar 22 13:35:33 And I issue a POST request to http://127.0.0.1:8009/failover with {"candidate": "postgres-1"} # features/steps/patroni_api.py:73 1794s Mar 22 13:35:36 Then I receive a response code 200 # features/steps/patroni_api.py:100 1794s Mar 22 13:35:36 And postgres-1 role is the primary after 10 seconds # features/steps/basic_replication.py:117 1799s Mar 22 13:35:41 1799s Mar 22 13:35:41 Feature: quorum commit # features/quorum_commit.feature:1 1799s Mar 22 13:35:41 Check basic workfrlows when quorum commit is enabled 1799s Mar 22 13:35:41 Scenario: check enable quorum commit and that the only leader promotes after restart # features/quorum_commit.feature:4 1799s Mar 22 13:35:41 Given I start postgres-0 # features/steps/basic_replication.py:20 1804s Mar 22 13:35:46 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 1804s Mar 22 13:35:46 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1804s Mar 22 13:35:46 When I issue a PATCH request to http://127.0.0.1:8008/config with {"ttl": 20, "synchronous_mode": "quorum"} # features/steps/patroni_api.py:73 1804s Mar 22 13:35:46 Then I receive a response code 200 # features/steps/patroni_api.py:100 1804s Mar 22 13:35:46 And sync key in DCS has leader=postgres-0 after 20 seconds # features/steps/quorum_commit.py:8 1805s Mar 22 13:35:47 And sync key in DCS has quorum=0 after 2 seconds # features/steps/quorum_commit.py:8 1805s Mar 22 13:35:47 And synchronous_standby_names on postgres-0 is set to '_empty_str_' after 2 seconds # features/steps/quorum_commit.py:39 1805s Mar 22 13:35:47 When I shut down postgres-0 # features/steps/basic_replication.py:41 1807s Mar 22 13:35:49 And sync key in DCS has leader=postgres-0 after 2 seconds # features/steps/quorum_commit.py:8 1807s Mar 22 13:35:49 When I start postgres-0 # features/steps/basic_replication.py:20 1810s Mar 22 13:35:52 Then postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 1812s Mar 22 13:35:54 When I issue a PATCH request to http://127.0.0.1:8008/config with {"synchronous_mode_strict": true} # features/steps/patroni_api.py:73 1812s Mar 22 13:35:54 Then synchronous_standby_names on postgres-0 is set to 'ANY 1 (*)' after 10 seconds # features/steps/quorum_commit.py:39 1813s Mar 22 13:35:55 1813s Mar 22 13:35:55 Scenario: check failover with one quorum standby # features/quorum_commit.feature:20 1813s Mar 22 13:35:55 Given I start postgres-1 # features/steps/basic_replication.py:20 1818s Mar 22 13:36:00 Then sync key in DCS has sync_standby=postgres-1 after 10 seconds # features/steps/quorum_commit.py:8 1820s Mar 22 13:36:02 And synchronous_standby_names on postgres-0 is set to 'ANY 1 ("postgres-1")' after 2 seconds # features/steps/quorum_commit.py:39 1820s Mar 22 13:36:02 When I shut down postgres-0 # features/steps/basic_replication.py:41 1822s Mar 22 13:36:04 Then postgres-1 role is the primary after 10 seconds # features/steps/basic_replication.py:117 1823s Mar 22 13:36:05 And sync key in DCS has quorum=0 after 10 seconds # features/steps/quorum_commit.py:8 1823s Mar 22 13:36:05 Then synchronous_standby_names on postgres-1 is set to 'ANY 1 (*)' after 10 seconds # features/steps/quorum_commit.py:39 1826s Mar 22 13:36:08 When I start postgres-0 # features/steps/basic_replication.py:20 1830s Mar 22 13:36:12 Then sync key in DCS has leader=postgres-1 after 10 seconds # features/steps/quorum_commit.py:8 1830s Mar 22 13:36:12 Then sync key in DCS has sync_standby=postgres-0 after 10 seconds # features/steps/quorum_commit.py:8 1832s Mar 22 13:36:14 And synchronous_standby_names on postgres-1 is set to 'ANY 1 ("postgres-0")' after 2 seconds # features/steps/quorum_commit.py:39 1832s Mar 22 13:36:14 1832s Mar 22 13:36:14 Scenario: check behavior with three nodes and different replication factor # features/quorum_commit.feature:33 1832s Mar 22 13:36:14 Given I start postgres-2 # features/steps/basic_replication.py:20 1837s Mar 22 13:36:19 Then sync key in DCS has sync_standby=postgres-0,postgres-2 after 10 seconds # features/steps/quorum_commit.py:8 1838s Mar 22 13:36:20 And sync key in DCS has quorum=1 after 2 seconds # features/steps/quorum_commit.py:8 1838s Mar 22 13:36:20 And synchronous_standby_names on postgres-1 is set to 'ANY 1 ("postgres-0","postgres-2")' after 2 seconds # features/steps/quorum_commit.py:39 1838s Mar 22 13:36:20 When I issue a PATCH request to http://127.0.0.1:8009/config with {"synchronous_node_count": 2} # features/steps/patroni_api.py:73 1838s Mar 22 13:36:20 Then sync key in DCS has quorum=0 after 10 seconds # features/steps/quorum_commit.py:8 1839s Mar 22 13:36:21 And synchronous_standby_names on postgres-1 is set to 'ANY 2 ("postgres-0","postgres-2")' after 2 seconds # features/steps/quorum_commit.py:39 1839s Mar 22 13:36:21 1839s Mar 22 13:36:21 Scenario: switch from quorum replication to good old multisync and back # features/quorum_commit.feature:42 1839s Mar 22 13:36:21 Given I issue a PATCH request to http://127.0.0.1:8009/config with {"synchronous_mode": true, "synchronous_node_count": 1} # features/steps/patroni_api.py:73 1839s Mar 22 13:36:21 And I shut down postgres-0 # features/steps/basic_replication.py:41 1840s Mar 22 13:36:22 Then synchronous_standby_names on postgres-1 is set to '"postgres-2"' after 10 seconds # features/steps/quorum_commit.py:39 1842s Mar 22 13:36:24 And sync key in DCS has sync_standby=postgres-2 after 10 seconds # features/steps/quorum_commit.py:8 1844s Mar 22 13:36:26 Then sync key in DCS has quorum=0 after 2 seconds # features/steps/quorum_commit.py:8 1844s Mar 22 13:36:26 When I issue a PATCH request to http://127.0.0.1:8009/config with {"synchronous_mode": "quorum"} # features/steps/patroni_api.py:73 1844s Mar 22 13:36:26 And I start postgres-0 # features/steps/basic_replication.py:20 1847s Mar 22 13:36:29 Then synchronous_standby_names on postgres-1 is set to 'ANY 1 ("postgres-0","postgres-2")' after 10 seconds # features/steps/quorum_commit.py:39 1848s Mar 22 13:36:30 And sync key in DCS has sync_standby=postgres-0,postgres-2 after 10 seconds # features/steps/quorum_commit.py:8 1848s Mar 22 13:36:30 Then sync key in DCS has quorum=1 after 2 seconds # features/steps/quorum_commit.py:8 1848s Mar 22 13:36:30 1848s Mar 22 13:36:30 Scenario: REST API and patronictl # features/quorum_commit.feature:54 1848s Mar 22 13:36:30 Given I run patronictl.py list batman # features/steps/patroni_api.py:88 1849s Mar 22 13:36:31 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 1849s Mar 22 13:36:31 And I receive a response output "Quorum Standby" # features/steps/patroni_api.py:100 1849s Mar 22 13:36:31 And Status code on GET http://127.0.0.1:8008/quorum is 200 after 3 seconds # features/steps/patroni_api.py:144 1849s Mar 22 13:36:31 And Status code on GET http://127.0.0.1:8010/quorum is 200 after 3 seconds # features/steps/patroni_api.py:144 1849s Mar 22 13:36:31 1849s Mar 22 13:36:31 Scenario: nosync node is removed from voters and synchronous_standby_names # features/quorum_commit.feature:61 1849s Mar 22 13:36:31 Given I add tag nosync true to postgres-2 config # features/steps/patroni_api.py:139 1849s Mar 22 13:36:31 When I issue an empty POST request to http://127.0.0.1:8010/reload # features/steps/patroni_api.py:68 1849s Mar 22 13:36:31 Then I receive a response code 202 # features/steps/patroni_api.py:100 1849s Mar 22 13:36:31 And sync key in DCS has quorum=0 after 10 seconds # features/steps/quorum_commit.py:8 1852s Mar 22 13:36:34 And sync key in DCS has sync_standby=postgres-0 after 10 seconds # features/steps/quorum_commit.py:8 1852s Mar 22 13:36:34 And synchronous_standby_names on postgres-1 is set to 'ANY 1 ("postgres-0")' after 2 seconds # features/steps/quorum_commit.py:39 1852s Mar 22 13:36:34 And Status code on GET http://127.0.0.1:8010/quorum is 503 after 10 seconds # features/steps/patroni_api.py:144 1860s Mar 22 13:36:42 1860s Mar 22 13:36:42 Feature: recovery # features/recovery.feature:1 1860s Mar 22 13:36:42 We want to check that crashed postgres is started back 1860s Mar 22 13:36:42 Scenario: check that timeline is not incremented when primary is started after crash # features/recovery.feature:4 1860s Mar 22 13:36:42 Given I start postgres-0 # features/steps/basic_replication.py:20 1865s Mar 22 13:36:47 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 1865s Mar 22 13:36:47 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1865s Mar 22 13:36:47 When I start postgres-1 # features/steps/basic_replication.py:20 1870s Mar 22 13:36:52 And I add the table foo to postgres-0 # features/steps/basic_replication.py:66 1870s Mar 22 13:36:52 Then table foo is present on postgres-1 after 20 seconds # features/steps/basic_replication.py:105 1871s Mar 22 13:36:53 When I kill postmaster on postgres-0 # features/steps/basic_replication.py:56 1871s Mar 22 13:36:53 waiting for server to shut down.... done 1871s Mar 22 13:36:53 server stopped 1871s Mar 22 13:36:53 Then postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 1874s Mar 22 13:36:56 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:63 1874s Mar 22 13:36:56 Then I receive a response code 200 # features/steps/patroni_api.py:100 1874s Mar 22 13:36:56 And I receive a response role primary # features/steps/patroni_api.py:100 1874s Mar 22 13:36:56 And I receive a response timeline 1 # features/steps/patroni_api.py:100 1874s Mar 22 13:36:56 And "members/postgres-0" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 1874s Mar 22 13:36:56 And replication works from postgres-0 to postgres-1 after 15 seconds # features/steps/basic_replication.py:124 1877s Mar 22 13:36:59 1877s Mar 22 13:36:59 Scenario: check immediate failover when master_start_timeout=0 # features/recovery.feature:20 1877s Mar 22 13:36:59 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"master_start_timeout": 0} # features/steps/patroni_api.py:73 1877s Mar 22 13:36:59 Then I receive a response code 200 # features/steps/patroni_api.py:100 1877s Mar 22 13:36:59 And Response on GET http://127.0.0.1:8008/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:158 1877s Mar 22 13:36:59 When I kill postmaster on postgres-0 # features/steps/basic_replication.py:56 1877s Mar 22 13:36:59 waiting for server to shut down.... done 1877s Mar 22 13:36:59 server stopped 1877s Mar 22 13:36:59 Then postgres-1 is a leader after 10 seconds # features/steps/patroni_api.py:31 1880s Mar 22 13:37:02 And postgres-1 role is the primary after 10 seconds # features/steps/basic_replication.py:117 1881s Mar 22 13:37:02 1881s Mar 22 13:37:02 Scenario: check crashed primary demotes after failed attempt to start # features/recovery.feature:28 1881s Mar 22 13:37:02 Given I issue a PATCH request to http://127.0.0.1:8009/config with {"master_start_timeout": null} # features/steps/patroni_api.py:73 1881s Mar 22 13:37:03 Then I receive a response code 200 # features/steps/patroni_api.py:100 1881s Mar 22 13:37:03 And postgres-0 role is the replica after 10 seconds # features/steps/basic_replication.py:117 1883s Mar 22 13:37:05 When I ensure postgres-1 fails to start after a failure # features/steps/recovery.py:6 1883s Mar 22 13:37:05 When I kill postmaster on postgres-1 # features/steps/basic_replication.py:56 1883s Mar 22 13:37:05 waiting for server to shut down.... done 1883s Mar 22 13:37:05 server stopped 1883s Mar 22 13:37:05 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 1884s Mar 22 13:37:06 And there is a postgres-1_cb.log with "on_role_change demoted batman" in postgres-1 data directory # features/steps/cascading_replication.py:12 1887s Mar 22 13:37:09 1887s Mar 22 13:37:09 Feature: standby cluster # features/standby_cluster.feature:1 1887s Mar 22 13:37:09 1887s Mar 22 13:37:09 Scenario: prepare the cluster with logical slots # features/standby_cluster.feature:2 1887s Mar 22 13:37:09 Given I start postgres-1 # features/steps/basic_replication.py:20 1892s Mar 22 13:37:14 Then postgres-1 is a leader after 10 seconds # features/steps/patroni_api.py:31 1892s Mar 22 13:37:14 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1892s Mar 22 13:37:14 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:73 1892s Mar 22 13:37:14 Then I receive a response code 200 # features/steps/patroni_api.py:100 1892s Mar 22 13:37:14 And Response on GET http://127.0.0.1:8009/config contains slots after 10 seconds # features/steps/patroni_api.py:158 1892s Mar 22 13:37:14 And I sleep for 3 seconds # features/steps/patroni_api.py:41 1895s Mar 22 13:37:17 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:73 1895s Mar 22 13:37:17 Then I receive a response code 200 # features/steps/patroni_api.py:100 1895s Mar 22 13:37:17 And I do a backup of postgres-1 # features/steps/custom_bootstrap.py:25 1897s Mar 22 13:37:19 When I start postgres-0 # features/steps/basic_replication.py:20 1902s Mar 22 13:37:24 Then "members/postgres-0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1902s Mar 22 13:37:24 And replication works from postgres-1 to postgres-0 after 15 seconds # features/steps/basic_replication.py:124 1903s Mar 22 13:37:25 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:63 1903s Mar 22 13:37:25 Then I receive a response code 200 # features/steps/patroni_api.py:100 1903s Mar 22 13:37:25 And I receive a response replication_state streaming # features/steps/patroni_api.py:100 1903s Mar 22 13:37:25 And "members/postgres-0" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 1903s Mar 22 13:37:25 1903s Mar 22 13:37:25 @slot-advance 1903s Mar 22 13:37:25 Scenario: check permanent logical slots are synced to the replica # features/standby_cluster.feature:22 1903s Mar 22 13:37:25 Given I run patronictl.py restart batman postgres-1 --force # features/steps/patroni_api.py:88 1905s Mar 22 13:37:27 Then Logical slot test_logical is in sync between postgres-0 and postgres-1 after 10 seconds # features/steps/slots.py:52 1912s Mar 22 13:37:33 1912s Mar 22 13:37:33 Scenario: Detach exiting node from the cluster # features/standby_cluster.feature:26 1912s Mar 22 13:37:33 When I shut down postgres-1 # features/steps/basic_replication.py:41 1914s Mar 22 13:37:35 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 1914s Mar 22 13:37:35 And "members/postgres-0" key in DCS has role=primary after 5 seconds # features/steps/cascading_replication.py:23 1915s Mar 22 13:37:36 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:63 1915s Mar 22 13:37:37 Then I receive a response code 200 # features/steps/patroni_api.py:100 1915s Mar 22 13:37:37 1915s Mar 22 13:37:37 Scenario: check replication of a single table in a standby cluster # features/standby_cluster.feature:33 1915s Mar 22 13:37:37 Given I start postgres-1 in a standby cluster batman1 as a clone of postgres-0 # features/steps/standby_cluster.py:23 1918s Mar 22 13:37:40 Then postgres-1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 1919s Mar 22 13:37:41 When I add the table foo to postgres-0 # features/steps/basic_replication.py:66 1919s Mar 22 13:37:41 Then table foo is present on postgres-1 after 20 seconds # features/steps/basic_replication.py:105 1919s Mar 22 13:37:41 When I issue a GET request to http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:63 1919s Mar 22 13:37:41 Then I receive a response code 200 # features/steps/patroni_api.py:100 1919s Mar 22 13:37:41 And I receive a response replication_state streaming # features/steps/patroni_api.py:100 1919s Mar 22 13:37:41 And I sleep for 3 seconds # features/steps/patroni_api.py:41 1922s Mar 22 13:37:44 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:63 1922s Mar 22 13:37:44 Then I receive a response code 503 # features/steps/patroni_api.py:100 1922s Mar 22 13:37:44 When I issue a GET request to http://127.0.0.1:8009/standby_leader # features/steps/patroni_api.py:63 1922s Mar 22 13:37:44 Then I receive a response code 200 # features/steps/patroni_api.py:100 1922s Mar 22 13:37:44 And I receive a response role standby_leader # features/steps/patroni_api.py:100 1922s Mar 22 13:37:44 And there is a postgres-1_cb.log with "on_role_change standby_leader batman1" in postgres-1 data directory # features/steps/cascading_replication.py:12 1922s Mar 22 13:37:44 When I start postgres-2 in a cluster batman1 # features/steps/standby_cluster.py:12 1927s Mar 22 13:37:49 Then postgres-2 role is the replica after 24 seconds # features/steps/basic_replication.py:117 1927s Mar 22 13:37:49 And postgres-2 is replicating from postgres-1 after 10 seconds # features/steps/standby_cluster.py:52 1928s Mar 22 13:37:50 And table foo is present on postgres-2 after 20 seconds # features/steps/basic_replication.py:105 1928s Mar 22 13:37:50 When I issue a GET request to http://127.0.0.1:8010/patroni # features/steps/patroni_api.py:63 1928s Mar 22 13:37:50 Then I receive a response code 200 # features/steps/patroni_api.py:100 1928s Mar 22 13:37:50 And I receive a response replication_state streaming # features/steps/patroni_api.py:100 1928s Mar 22 13:37:50 And postgres-1 does not have a replication slot named test_logical # features/steps/slots.py:41 1928s Mar 22 13:37:50 1928s Mar 22 13:37:50 Scenario: check switchover # features/standby_cluster.feature:57 1928s Mar 22 13:37:50 Given I run patronictl.py switchover batman1 --force # features/steps/patroni_api.py:88 1932s Mar 22 13:37:54 Then Status code on GET http://127.0.0.1:8010/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:144 1932s Mar 22 13:37:54 And postgres-1 is replicating from postgres-2 after 32 seconds # features/steps/standby_cluster.py:52 1935s Mar 22 13:37:57 And there is a postgres-2_cb.log with "on_start replica batman1\non_role_change standby_leader batman1" in postgres-2 data directory # features/steps/cascading_replication.py:12 1935s Mar 22 13:37:57 1935s Mar 22 13:37:57 Scenario: check failover # features/standby_cluster.feature:63 1935s Mar 22 13:37:57 When I kill postgres-2 # features/steps/basic_replication.py:46 1936s Mar 22 13:37:58 And I kill postmaster on postgres-2 # features/steps/basic_replication.py:56 1936s Mar 22 13:37:58 waiting for server to shut down.... done 1936s Mar 22 13:37:58 server stopped 1936s Mar 22 13:37:58 Then postgres-1 is replicating from postgres-0 after 32 seconds # features/steps/standby_cluster.py:52 1958s Mar 22 13:38:20 And Status code on GET http://127.0.0.1:8009/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:144 1958s Mar 22 13:38:20 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:63 1958s Mar 22 13:38:20 Then I receive a response code 503 # features/steps/patroni_api.py:100 1958s Mar 22 13:38:20 And I receive a response role standby_leader # features/steps/patroni_api.py:100 1958s Mar 22 13:38:20 And replication works from postgres-0 to postgres-1 after 15 seconds # features/steps/basic_replication.py:124 1959s Mar 22 13:38:21 And there is a postgres-1_cb.log with "on_role_change replica batman1\non_role_change standby_leader batman1" in postgres-1 data directory # features/steps/cascading_replication.py:12 1963s Mar 22 13:38:25 1963s Mar 22 13:38:25 Feature: watchdog # features/watchdog.feature:1 1963s Mar 22 13:38:25 Verify that watchdog gets pinged and triggered under appropriate circumstances. 1963s Mar 22 13:38:25 Scenario: watchdog is opened and pinged # features/watchdog.feature:4 1963s Mar 22 13:38:25 Given I start postgres-0 with watchdog # features/steps/watchdog.py:17 1968s Mar 22 13:38:30 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 1968s Mar 22 13:38:30 And postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 1968s Mar 22 13:38:30 And postgres-0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:22 1969s Mar 22 13:38:31 And postgres-0 watchdog has a 15 second timeout # features/steps/watchdog.py:35 1969s Mar 22 13:38:31 1969s Mar 22 13:38:31 Scenario: watchdog is reconfigured after global ttl changed # features/watchdog.feature:11 1969s Mar 22 13:38:31 Given I run patronictl.py edit-config batman -s ttl=30 --force # features/steps/patroni_api.py:88 1971s Mar 22 13:38:33 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 1971s Mar 22 13:38:33 And I receive a response output "+ttl: 30" # features/steps/patroni_api.py:100 1971s Mar 22 13:38:33 When I sleep for 4 seconds # features/steps/patroni_api.py:41 1975s Mar 22 13:38:37 Then postgres-0 watchdog has a 25 second timeout # features/steps/watchdog.py:35 1975s Mar 22 13:38:37 1975s Mar 22 13:38:37 Scenario: watchdog is disabled during pause # features/watchdog.feature:18 1975s Mar 22 13:38:37 Given I run patronictl.py pause batman # features/steps/patroni_api.py:88 1977s Mar 22 13:38:39 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 1977s Mar 22 13:38:39 When I sleep for 2 seconds # features/steps/patroni_api.py:41 1979s Mar 22 13:38:41 Then postgres-0 watchdog has been closed # features/steps/watchdog.py:30 1979s Mar 22 13:38:41 1979s Mar 22 13:38:41 Scenario: watchdog is opened and pinged after resume # features/watchdog.feature:24 1979s Mar 22 13:38:41 Given I reset postgres-0 watchdog state # features/steps/watchdog.py:40 1979s Mar 22 13:38:41 And I run patronictl.py resume batman # features/steps/patroni_api.py:88 1981s Mar 22 13:38:43 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 1981s Mar 22 13:38:43 And postgres-0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:22 1981s Mar 22 13:38:43 1981s Mar 22 13:38:43 Scenario: watchdog is disabled when shutting down # features/watchdog.feature:30 1981s Mar 22 13:38:43 Given I shut down postgres-0 # features/steps/basic_replication.py:41 1983s Mar 22 13:38:45 Then postgres-0 watchdog has been closed # features/steps/watchdog.py:30 1983s Mar 22 13:38:45 1983s Mar 22 13:38:45 Scenario: watchdog is triggered if patroni stops responding # features/watchdog.feature:34 1983s Mar 22 13:38:45 Given I reset postgres-0 watchdog state # features/steps/watchdog.py:40 1983s Mar 22 13:38:45 And I start postgres-0 with watchdog # features/steps/watchdog.py:17 1987s Mar 22 13:38:49 Then postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 1988s Mar 22 13:38:50 When postgres-0 hangs for 30 seconds # features/steps/watchdog.py:53 1988s Mar 22 13:38:50 Then postgres-0 watchdog is triggered after 30 seconds # features/steps/watchdog.py:45 2015s Mar 22 13:39:17 2016s Mar 22 13:39:18 Combined data file .coverage.autopkgtest-lxd-uijnxw.5401.XDkJUcnx 2016s Mar 22 13:39:18 Combined data file .coverage.autopkgtest-lxd-uijnxw.5466.XdwIJhmx 2016s Mar 22 13:39:18 Combined data file .coverage.autopkgtest-lxd-uijnxw.5513.XPWjaOhx 2016s Mar 22 13:39:18 Combined data file .coverage.autopkgtest-lxd-uijnxw.5578.XZYCEPYx 2016s Mar 22 13:39:18 Combined data file .coverage.autopkgtest-lxd-uijnxw.5627.XFiLChdx 2016s Mar 22 13:39:18 Combined data file .coverage.autopkgtest-lxd-uijnxw.5708.XUqOGrkx 2016s Mar 22 13:39:18 Combined data file .coverage.autopkgtest-lxd-uijnxw.5761.XmsLGyAx 2016s Mar 22 13:39:18 Combined data file .coverage.autopkgtest-lxd-uijnxw.5766.XqBdlBfx 2016s Mar 22 13:39:18 Combined data file .coverage.autopkgtest-lxd-uijnxw.5847.XESTmHLx 2016s Mar 22 13:39:18 Combined data file .coverage.autopkgtest-lxd-uijnxw.5950.XYXeUwJx 2016s Mar 22 13:39:18 Combined data file .coverage.autopkgtest-lxd-uijnxw.5962.XXpsECOx 2016s Mar 22 13:39:18 Combined data file .coverage.autopkgtest-lxd-uijnxw.6008.XQzdOfYx 2016s Mar 22 13:39:18 Combined data file .coverage.autopkgtest-lxd-uijnxw.6057.XsxVEJJx 2016s Mar 22 13:39:18 Combined data file .coverage.autopkgtest-lxd-uijnxw.6177.XoXCyPlx 2016s Mar 22 13:39:18 Combined data file .coverage.autopkgtest-lxd-uijnxw.6224.XwGyhQGx 2016s Mar 22 13:39:18 Combined data file .coverage.autopkgtest-lxd-uijnxw.6281.XWEJsXCx 2016s Mar 22 13:39:18 Combined data file .coverage.autopkgtest-lxd-uijnxw.6384.XBfLowHx 2016s Mar 22 13:39:18 Combined data file .coverage.autopkgtest-lxd-uijnxw.6441.XnQboAbx 2016s Mar 22 13:39:18 Combined data file .coverage.autopkgtest-lxd-uijnxw.6506.XTmWvbTx 2016s Mar 22 13:39:18 Combined data file .coverage.autopkgtest-lxd-uijnxw.6602.XqpAYqVx 2016s Mar 22 13:39:18 Combined data file .coverage.autopkgtest-lxd-uijnxw.6707.XBrpGaex 2016s Mar 22 13:39:18 Combined data file .coverage.autopkgtest-lxd-uijnxw.6752.XMWGIDMx 2016s Mar 22 13:39:18 Combined data file .coverage.autopkgtest-lxd-uijnxw.6818.XUvKbSzx 2016s Mar 22 13:39:18 Combined data file .coverage.autopkgtest-lxd-uijnxw.6856.XjCNCAex 2016s Mar 22 13:39:18 Combined data file .coverage.autopkgtest-lxd-uijnxw.6973.XKVLenYx 2016s Mar 22 13:39:18 Combined data file .coverage.autopkgtest-lxd-uijnxw.7024.XZqKAzax 2016s Mar 22 13:39:18 Combined data file .coverage.autopkgtest-lxd-uijnxw.7044.XJQjZmsx 2016s Mar 22 13:39:18 Combined data file .coverage.autopkgtest-lxd-uijnxw.7086.XWMCYCGx 2016s Mar 22 13:39:18 Combined data file .coverage.autopkgtest-lxd-uijnxw.7138.XzTbzBgx 2016s Mar 22 13:39:18 Combined data file .coverage.autopkgtest-lxd-uijnxw.7145.XBeiaDTx 2016s Mar 22 13:39:18 Combined data file .coverage.autopkgtest-lxd-uijnxw.7185.XbVDyQbx 2016s Mar 22 13:39:18 Combined data file .coverage.autopkgtest-lxd-uijnxw.7232.XjkwzZcx 2016s Mar 22 13:39:18 Combined data file .coverage.autopkgtest-lxd-uijnxw.7405.XKxjABYx 2016s Mar 22 13:39:18 Combined data file .coverage.autopkgtest-lxd-uijnxw.7409.XgIIbVyx 2016s Mar 22 13:39:18 Combined data file .coverage.autopkgtest-lxd-uijnxw.7417.XqcWDSJx 2016s Mar 22 13:39:18 Combined data file .coverage.autopkgtest-lxd-uijnxw.7561.Xryxhdix 2016s Mar 22 13:39:18 Combined data file .coverage.autopkgtest-lxd-uijnxw.7609.XKYdcZrx 2016s Mar 22 13:39:18 Combined data file .coverage.autopkgtest-lxd-uijnxw.7650.XASbeAsx 2016s Mar 22 13:39:18 Combined data file .coverage.autopkgtest-lxd-uijnxw.7705.XLHgOQkx 2016s Mar 22 13:39:18 Skipping duplicate data .coverage.autopkgtest-lxd-uijnxw.7750.XMsWLYEx 2016s Mar 22 13:39:18 Combined data file .coverage.autopkgtest-lxd-uijnxw.7900.XNHTELox 2016s Mar 22 13:39:18 Combined data file .coverage.autopkgtest-lxd-uijnxw.7970.XWOkReAx 2016s Mar 22 13:39:18 Combined data file .coverage.autopkgtest-lxd-uijnxw.8013.XxtOXRDx 2016s Mar 22 13:39:18 Combined data file .coverage.autopkgtest-lxd-uijnxw.8094.XeOCDAQx 2016s Mar 22 13:39:18 Combined data file .coverage.autopkgtest-lxd-uijnxw.8182.XlXRXYEx 2016s Mar 22 13:39:18 Combined data file .coverage.autopkgtest-lxd-uijnxw.8236.XnQYHkxx 2016s Mar 22 13:39:18 Combined data file .coverage.autopkgtest-lxd-uijnxw.8563.XRXGZJYx 2016s Mar 22 13:39:18 Combined data file .coverage.autopkgtest-lxd-uijnxw.8621.XylTDhHx 2016s Mar 22 13:39:18 Combined data file .coverage.autopkgtest-lxd-uijnxw.8682.XMcqdFhx 2016s Mar 22 13:39:18 Combined data file .coverage.autopkgtest-lxd-uijnxw.8781.XMoldPDx 2016s Mar 22 13:39:18 Combined data file .coverage.autopkgtest-lxd-uijnxw.8832.XfoILUpx 2016s Mar 22 13:39:18 Combined data file .coverage.autopkgtest-lxd-uijnxw.8892.XqOKxEGx 2016s Mar 22 13:39:18 Combined data file .coverage.autopkgtest-lxd-uijnxw.8938.XCYpnPPx 2016s Mar 22 13:39:18 Combined data file .coverage.autopkgtest-lxd-uijnxw.8982.XQVEDxMx 2016s Mar 22 13:39:18 Combined data file .coverage.autopkgtest-lxd-uijnxw.9027.XksQxvix 2016s Mar 22 13:39:18 Combined data file .coverage.autopkgtest-lxd-uijnxw.9258.XwmrFgSx 2016s Mar 22 13:39:18 Combined data file .coverage.autopkgtest-lxd-uijnxw.9324.XpwoRslx 2016s Mar 22 13:39:18 Combined data file .coverage.autopkgtest-lxd-uijnxw.9378.XVIzrYCx 2016s Mar 22 13:39:18 Combined data file .coverage.autopkgtest-lxd-uijnxw.9487.XAWyAOZx 2016s Mar 22 13:39:18 Combined data file .coverage.autopkgtest-lxd-uijnxw.9618.XgqFAsmx 2016s Mar 22 13:39:18 Combined data file .coverage.autopkgtest-lxd-uijnxw.9765.XdWieAAx 2016s Mar 22 13:39:18 Combined data file .coverage.autopkgtest-lxd-uijnxw.9813.XFBUiCdx 2016s Mar 22 13:39:18 Skipping duplicate data .coverage.autopkgtest-lxd-uijnxw.9820.XyQYcJyx 2016s Mar 22 13:39:18 Combined data file .coverage.autopkgtest-lxd-uijnxw.9825.XVTCoKFx 2016s Mar 22 13:39:18 Combined data file .coverage.autopkgtest-lxd-uijnxw.9841.XBkNMdxx 2021s Mar 22 13:39:23 Name Stmts Miss Cover 2021s Mar 22 13:39:23 -------------------------------------------------------------------------------------------------------- 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 101 96 5% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/dateutil/__init__.py 13 4 69% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/dateutil/_version.py 13 3 77% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 810 436 46% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 183 150 18% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 240 206 14% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 151 114 25% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 794 626 21% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/dateutil/tz/win.py 152 149 2% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/kazoo/__init__.py 1 0 100% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/kazoo/client.py 629 266 58% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/kazoo/exceptions.py 110 1 99% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/kazoo/handlers/__init__.py 0 0 100% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/kazoo/handlers/threading.py 94 15 84% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/kazoo/handlers/utils.py 222 75 66% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/kazoo/hosts.py 18 4 78% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/kazoo/loggingsupport.py 1 0 100% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/kazoo/protocol/__init__.py 0 0 100% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/kazoo/protocol/connection.py 485 175 64% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/kazoo/protocol/paths.py 33 8 76% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/kazoo/protocol/serialization.py 316 111 65% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/kazoo/protocol/states.py 49 9 82% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/kazoo/python2atexit.py 32 19 41% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/kazoo/recipe/__init__.py 0 0 100% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/kazoo/recipe/barrier.py 97 80 18% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/kazoo/recipe/counter.py 49 36 27% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/kazoo/recipe/election.py 16 10 38% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/kazoo/recipe/lease.py 54 36 33% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/kazoo/recipe/lock.py 295 242 18% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/kazoo/recipe/partitioner.py 155 120 23% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/kazoo/recipe/party.py 62 43 31% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/kazoo/recipe/queue.py 157 126 20% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/kazoo/recipe/watchers.py 172 138 20% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/kazoo/retry.py 60 4 93% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/kazoo/security.py 58 35 40% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/kazoo/version.py 1 0 100% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/patroni/__main__.py 201 64 68% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/patroni/api.py 788 296 62% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 15 84% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/patroni/collections.py 56 5 91% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/patroni/config.py 357 82 77% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/patroni/config_generator.py 212 159 25% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/patroni/daemon.py 76 3 96% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 710 108 85% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/patroni/dcs/zookeeper.py 289 67 77% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/patroni/dynamic_loader.py 35 7 80% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/patroni/file_perm.py 47 10 79% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/patroni/global_config.py 87 0 100% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/patroni/ha.py 1359 385 72% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/patroni/log.py 235 79 66% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 825 169 80% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/patroni/postgresql/available_parameters/__init__.py 24 3 88% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 254 60 76% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 840 216 74% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 1 99% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 43 8 81% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/patroni/postgresql/mpp/__init__.py 89 11 88% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 83 51% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 416 128 69% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 349 38 89% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 154 10 94% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 157 24 85% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/patroni/psycopg.py 46 19 59% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/patroni/quorum.py 182 48 74% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/patroni/request.py 58 7 88% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/patroni/tags.py 38 0 100% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/patroni/utils.py 371 122 67% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/patroni/validator.py 309 215 30% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 46 77% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 35 74% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/psutil/__init__.py 950 629 34% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/psutil/_common.py 422 212 50% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/psutil/_compat.py 301 263 13% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1250 922 26% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/psutil/_psposix.py 95 38 60% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/puresasl/__init__.py 21 2 90% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/puresasl/client.py 71 47 34% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/puresasl/mechanisms.py 363 263 28% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/six.py 505 259 49% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/urllib3/__init__.py 49 15 69% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 63 45 29% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/urllib3/_collections.py 231 125 46% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 54 24 56% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/urllib3/_version.py 13 3 77% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/urllib3/connection.py 389 149 62% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 344 130 62% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/urllib3/exceptions.py 121 39 68% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/urllib3/http2/__init__.py 28 21 25% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/urllib3/http2/probe.py 49 31 37% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 88 62% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/urllib3/response.py 634 393 38% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 9 86% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 52 50% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 17 47% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/urllib3/util/retry.py 174 53 70% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 172 73 58% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 152 106 30% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 19 73% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/urllib3/util/url.py 203 76 63% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 18 31% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 38 22% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/yaml/parser.py 352 180 49% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/yaml/reader.py 122 30 75% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/yaml/scanner.py 758 415 45% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 2021s Mar 22 13:39:23 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 2021s Mar 22 13:39:23 patroni/__init__.py 13 2 85% 2021s Mar 22 13:39:23 patroni/__main__.py 201 201 0% 2021s Mar 22 13:39:23 patroni/api.py 788 788 0% 2021s Mar 22 13:39:23 patroni/async_executor.py 96 69 28% 2021s Mar 22 13:39:23 patroni/collections.py 56 15 73% 2021s Mar 22 13:39:23 patroni/config.py 357 184 48% 2021s Mar 22 13:39:23 patroni/config_generator.py 212 212 0% 2021s Mar 22 13:39:23 patroni/ctl.py 936 395 58% 2021s Mar 22 13:39:23 patroni/daemon.py 76 76 0% 2021s Mar 22 13:39:23 patroni/dcs/__init__.py 710 319 55% 2021s Mar 22 13:39:23 patroni/dcs/consul.py 482 482 0% 2021s Mar 22 13:39:23 patroni/dcs/etcd3.py 679 679 0% 2021s Mar 22 13:39:23 patroni/dcs/etcd.py 603 603 0% 2021s Mar 22 13:39:23 patroni/dcs/exhibitor.py 62 62 0% 2021s Mar 22 13:39:23 patroni/dcs/kubernetes.py 943 943 0% 2021s Mar 22 13:39:23 patroni/dcs/raft.py 319 319 0% 2021s Mar 22 13:39:23 patroni/dcs/zookeeper.py 289 153 47% 2021s Mar 22 13:39:23 patroni/dynamic_loader.py 35 7 80% 2021s Mar 22 13:39:23 patroni/exceptions.py 16 1 94% 2021s Mar 22 13:39:23 patroni/file_perm.py 47 17 64% 2021s Mar 22 13:39:23 patroni/global_config.py 87 19 78% 2021s Mar 22 13:39:23 patroni/ha.py 1359 1359 0% 2021s Mar 22 13:39:23 patroni/log.py 235 183 22% 2021s Mar 22 13:39:23 patroni/postgresql/__init__.py 825 653 21% 2021s Mar 22 13:39:23 patroni/postgresql/available_parameters/__init__.py 24 6 75% 2021s Mar 22 13:39:23 patroni/postgresql/bootstrap.py 254 224 12% 2021s Mar 22 13:39:23 patroni/postgresql/callback_executor.py 55 34 38% 2021s Mar 22 13:39:23 patroni/postgresql/cancellable.py 104 84 19% 2021s Mar 22 13:39:23 patroni/postgresql/config.py 840 720 14% 2021s Mar 22 13:39:23 patroni/postgresql/connection.py 75 50 33% 2021s Mar 22 13:39:23 patroni/postgresql/misc.py 43 30 30% 2021s Mar 22 13:39:23 patroni/postgresql/mpp/__init__.py 89 21 76% 2021s Mar 22 13:39:23 patroni/postgresql/mpp/citus.py 366 366 0% 2021s Mar 22 13:39:23 patroni/postgresql/postmaster.py 170 139 18% 2021s Mar 22 13:39:23 patroni/postgresql/rewind.py 416 416 0% 2021s Mar 22 13:39:23 patroni/postgresql/slots.py 349 300 14% 2021s Mar 22 13:39:23 patroni/postgresql/sync.py 154 114 26% 2021s Mar 22 13:39:23 patroni/postgresql/validator.py 157 52 67% 2021s Mar 22 13:39:23 patroni/psycopg.py 46 32 30% 2021s Mar 22 13:39:23 patroni/quorum.py 182 182 0% 2021s Mar 22 13:39:23 patroni/raft_controller.py 22 22 0% 2021s Mar 22 13:39:23 patroni/request.py 58 6 90% 2021s Mar 22 13:39:23 patroni/scripts/__init__.py 0 0 100% 2021s Mar 22 13:39:23 patroni/scripts/aws.py 59 59 0% 2021s Mar 22 13:39:23 patroni/scripts/barman/__init__.py 0 0 100% 2021s Mar 22 13:39:23 patroni/scripts/barman/cli.py 50 50 0% 2021s Mar 22 13:39:23 patroni/scripts/barman/config_switch.py 50 50 0% 2021s Mar 22 13:39:23 patroni/scripts/barman/recover.py 36 36 0% 2021s Mar 22 13:39:23 patroni/scripts/barman/utils.py 93 93 0% 2021s Mar 22 13:39:23 patroni/scripts/wale_restore.py 207 207 0% 2021s Mar 22 13:39:23 patroni/tags.py 38 11 71% 2021s Mar 22 13:39:23 patroni/utils.py 371 245 34% 2021s Mar 22 13:39:23 patroni/validator.py 309 222 28% 2021s Mar 22 13:39:23 patroni/version.py 1 0 100% 2021s Mar 22 13:39:23 patroni/watchdog/__init__.py 2 2 0% 2021s Mar 22 13:39:23 patroni/watchdog/base.py 203 203 0% 2021s Mar 22 13:39:23 patroni/watchdog/linux.py 135 135 0% 2021s Mar 22 13:39:23 -------------------------------------------------------------------------------------------------------- 2021s Mar 22 13:39:23 TOTAL 41108 24598 40% 2021s Mar 22 13:39:23 12 features passed, 0 failed, 1 skipped 2021s Mar 22 13:39:23 53 scenarios passed, 0 failed, 5 skipped 2021s Mar 22 13:39:23 517 steps passed, 0 failed, 68 skipped, 0 undefined 2021s Mar 22 13:39:23 Took 8m54.483s 2021s + su postgres -p -c 'rm -rf features/output' 2021s ### End 17 acceptance-zookeeper -e dcs_failsafe_mode ### 2021s + echo '### End 17 acceptance-zookeeper -e dcs_failsafe_mode ###' 2021s + rm -f /tmp/pgpass_postgres-0 /tmp/pgpass_postgres-1 /tmp/pgpass_postgres-2 /tmp/pgpass_postgres-3 2021s ++ id -u 2021s + '[' 0 -eq 0 ']' 2021s + '[' -x /etc/init.d/zookeeper ']' 2021s + /etc/init.d/zookeeper stop 2021s Stopping zookeeper (via systemctl): zookeeper.service. 2022s autopkgtest [13:39:24]: test acceptance-zookeeper: -----------------------] 2026s autopkgtest [13:39:28]: test acceptance-zookeeper: - - - - - - - - - - results - - - - - - - - - - 2026s acceptance-zookeeper PASS 2029s autopkgtest [13:39:31]: test acceptance-raft: preparing testbed 2053s autopkgtest [13:39:55]: testbed dpkg architecture: armhf 2054s autopkgtest [13:39:56]: testbed apt version: 2.9.34 2058s autopkgtest [13:40:00]: @@@@@@@@@@@@@@@@@@@@ test bed setup 2060s autopkgtest [13:40:02]: testbed release detected to be: plucky 2067s autopkgtest [13:40:09]: updating testbed package index (apt update) 2069s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [126 kB] 2069s Get:2 http://ftpmaster.internal/ubuntu plucky InRelease [265 kB] 2069s Get:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease [126 kB] 2069s Get:4 http://ftpmaster.internal/ubuntu plucky-security InRelease [126 kB] 2069s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [30.7 kB] 2069s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [12.2 kB] 2069s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [1232 B] 2069s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [292 kB] 2069s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf Packages [39.7 kB] 2069s Get:10 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf c-n-f Metadata [1264 B] 2069s Get:11 http://ftpmaster.internal/ubuntu plucky-proposed/restricted armhf c-n-f Metadata [116 B] 2069s Get:12 http://ftpmaster.internal/ubuntu plucky-proposed/universe armhf Packages [182 kB] 2069s Get:13 http://ftpmaster.internal/ubuntu plucky-proposed/universe armhf c-n-f Metadata [6520 B] 2069s Get:14 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse armhf Packages [1712 B] 2069s Get:15 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse armhf c-n-f Metadata [188 B] 2069s Get:16 http://ftpmaster.internal/ubuntu plucky/main Sources [1389 kB] 2070s Get:17 http://ftpmaster.internal/ubuntu plucky/universe Sources [21.0 MB] 2070s Get:18 http://ftpmaster.internal/ubuntu plucky/multiverse Sources [297 kB] 2070s Get:19 http://ftpmaster.internal/ubuntu plucky/main armhf Packages [1350 kB] 2070s Get:20 http://ftpmaster.internal/ubuntu plucky/main armhf c-n-f Metadata [29.3 kB] 2070s Get:21 http://ftpmaster.internal/ubuntu plucky/universe armhf Packages [15.3 MB] 2070s Get:22 http://ftpmaster.internal/ubuntu plucky/universe armhf c-n-f Metadata [277 kB] 2070s Get:23 http://ftpmaster.internal/ubuntu plucky/multiverse armhf Packages [172 kB] 2070s Get:24 http://ftpmaster.internal/ubuntu plucky/multiverse armhf c-n-f Metadata [5064 B] 2076s Fetched 41.0 MB in 6s (7044 kB/s) 2078s Reading package lists... 2083s autopkgtest [13:40:25]: upgrading testbed (apt dist-upgrade and autopurge) 2085s Reading package lists... 2086s Building dependency tree... 2086s Reading state information... 2087s Calculating upgrade...Starting pkgProblemResolver with broken count: 0 2087s Starting 2 pkgProblemResolver with broken count: 0 2087s Done 2090s Entering ResolveByKeep 2090s 2090s Calculating upgrade... 2091s The following packages will be upgraded: 2091s gcc-15-base libatomic1 libgcc-s1 libstdc++6 python3-dateutil 2092s 5 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2092s Need to get 907 kB of archives. 2092s After this operation, 0 B of additional disk space will be used. 2092s Get:1 http://ftpmaster.internal/ubuntu plucky/main armhf libatomic1 armhf 15-20250319-1ubuntu1 [7934 B] 2092s Get:2 http://ftpmaster.internal/ubuntu plucky/main armhf gcc-15-base armhf 15-20250319-1ubuntu1 [53.6 kB] 2092s Get:3 http://ftpmaster.internal/ubuntu plucky/main armhf libgcc-s1 armhf 15-20250319-1ubuntu1 [40.6 kB] 2092s Get:4 http://ftpmaster.internal/ubuntu plucky/main armhf libstdc++6 armhf 15-20250319-1ubuntu1 [724 kB] 2092s Get:5 http://ftpmaster.internal/ubuntu plucky/main armhf python3-dateutil all 2.9.0-4 [80.3 kB] 2093s Fetched 907 kB in 1s (1536 kB/s) 2093s (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 ... 63958 files and directories currently installed.) 2093s Preparing to unpack .../libatomic1_15-20250319-1ubuntu1_armhf.deb ... 2093s Unpacking libatomic1:armhf (15-20250319-1ubuntu1) over (15-20250315-1ubuntu1) ... 2093s Preparing to unpack .../gcc-15-base_15-20250319-1ubuntu1_armhf.deb ... 2093s Unpacking gcc-15-base:armhf (15-20250319-1ubuntu1) over (15-20250315-1ubuntu1) ... 2093s Setting up gcc-15-base:armhf (15-20250319-1ubuntu1) ... 2093s (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 ... 63958 files and directories currently installed.) 2093s Preparing to unpack .../libgcc-s1_15-20250319-1ubuntu1_armhf.deb ... 2093s Unpacking libgcc-s1:armhf (15-20250319-1ubuntu1) over (15-20250315-1ubuntu1) ... 2094s Setting up libgcc-s1:armhf (15-20250319-1ubuntu1) ... 2094s (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 ... 63958 files and directories currently installed.) 2094s Preparing to unpack .../libstdc++6_15-20250319-1ubuntu1_armhf.deb ... 2094s Unpacking libstdc++6:armhf (15-20250319-1ubuntu1) over (15-20250315-1ubuntu1) ... 2094s Setting up libstdc++6:armhf (15-20250319-1ubuntu1) ... 2094s (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 ... 63958 files and directories currently installed.) 2094s Preparing to unpack .../python3-dateutil_2.9.0-4_all.deb ... 2094s Unpacking python3-dateutil (2.9.0-4) over (2.9.0-3) ... 2094s Setting up libatomic1:armhf (15-20250319-1ubuntu1) ... 2094s Setting up python3-dateutil (2.9.0-4) ... 2095s Processing triggers for libc-bin (2.41-1ubuntu2) ... 2097s Reading package lists... 2098s Building dependency tree... 2098s Reading state information... 2099s Starting pkgProblemResolver with broken count: 0 2099s Starting 2 pkgProblemResolver with broken count: 0 2099s Done 2100s Solving dependencies... 2101s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2103s autopkgtest [13:40:45]: rebooting testbed after setup commands that affected boot 2164s Reading package lists... 2165s Building dependency tree... 2165s Reading state information... 2166s Starting pkgProblemResolver with broken count: 0 2166s Starting 2 pkgProblemResolver with broken count: 0 2166s Done 2168s The following NEW packages will be installed: 2168s fonts-font-awesome fonts-lato libio-pty-perl libipc-run-perl libjs-jquery 2168s libjs-sphinxdoc libjs-underscore libjson-perl libllvm20 libpq5 2168s libtime-duration-perl libtimedate-perl libxslt1.1 moreutils patroni 2168s patroni-doc postgresql postgresql-17 postgresql-client-17 2168s postgresql-client-common postgresql-common postgresql-common-dev 2168s python3-behave python3-click python3-coverage python3-parse 2168s python3-parse-type python3-prettytable python3-psutil python3-psycopg2 2168s python3-pysyncobj python3-wcwidth python3-ydiff sphinx-rtd-theme-common 2168s ssl-cert 2168s 0 upgraded, 35 newly installed, 0 to remove and 0 not upgraded. 2168s Need to get 53.0 MB of archives. 2168s After this operation, 212 MB of additional disk space will be used. 2168s Get:1 http://ftpmaster.internal/ubuntu plucky/main armhf fonts-lato all 2.015-1 [2781 kB] 2169s Get:2 http://ftpmaster.internal/ubuntu plucky/main armhf libjson-perl all 4.10000-1 [81.9 kB] 2169s Get:3 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql-client-common all 274 [47.6 kB] 2169s Get:4 http://ftpmaster.internal/ubuntu plucky/main armhf libio-pty-perl armhf 1:1.20-1build3 [31.0 kB] 2169s Get:5 http://ftpmaster.internal/ubuntu plucky/main armhf libipc-run-perl all 20231003.0-2 [91.5 kB] 2169s Get:6 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql-common-dev all 274 [73.0 kB] 2169s Get:7 http://ftpmaster.internal/ubuntu plucky/main armhf ssl-cert all 1.1.3ubuntu1 [18.7 kB] 2169s Get:8 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql-common all 274 [101 kB] 2169s Get:9 http://ftpmaster.internal/ubuntu plucky/main armhf fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 2169s Get:10 http://ftpmaster.internal/ubuntu plucky/main armhf libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 2169s Get:11 http://ftpmaster.internal/ubuntu plucky/main armhf libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 2169s Get:12 http://ftpmaster.internal/ubuntu plucky/main armhf libjs-sphinxdoc all 8.1.3-5 [31.0 kB] 2169s Get:13 http://ftpmaster.internal/ubuntu plucky/main armhf libllvm20 armhf 1:20.1.0~+rc3-1~exp1ubuntu1 [29.6 MB] 2170s Get:14 http://ftpmaster.internal/ubuntu plucky/main armhf libpq5 armhf 17.4-1 [125 kB] 2170s Get:15 http://ftpmaster.internal/ubuntu plucky/main armhf libtime-duration-perl all 1.21-2 [12.3 kB] 2170s Get:16 http://ftpmaster.internal/ubuntu plucky/main armhf libtimedate-perl all 2.3300-2 [34.0 kB] 2170s Get:17 http://ftpmaster.internal/ubuntu plucky/main armhf libxslt1.1 armhf 1.1.39-0exp1ubuntu4 [151 kB] 2170s Get:18 http://ftpmaster.internal/ubuntu plucky/universe armhf moreutils armhf 0.69-1 [53.5 kB] 2170s Get:19 http://ftpmaster.internal/ubuntu plucky/main armhf python3-click all 8.2.0+0.really.8.1.8-1 [80.0 kB] 2170s Get:20 http://ftpmaster.internal/ubuntu plucky/main armhf python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 2170s Get:21 http://ftpmaster.internal/ubuntu plucky/main armhf python3-prettytable all 3.12.0-1 [36.5 kB] 2170s Get:22 http://ftpmaster.internal/ubuntu plucky/main armhf python3-psutil armhf 5.9.8-2build3 [194 kB] 2170s Get:23 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-ydiff all 1.4.2-1 [19.0 kB] 2170s Get:24 http://ftpmaster.internal/ubuntu plucky/main armhf python3-psycopg2 armhf 2.9.10-1build1 [125 kB] 2170s Get:25 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-pysyncobj all 0.3.14-2 [61.9 kB] 2170s Get:26 http://ftpmaster.internal/ubuntu plucky-proposed/universe armhf patroni all 4.0.4-8 [282 kB] 2170s Get:27 http://ftpmaster.internal/ubuntu plucky/main armhf sphinx-rtd-theme-common all 3.0.2+dfsg-2 [1014 kB] 2171s Get:28 http://ftpmaster.internal/ubuntu plucky-proposed/universe armhf patroni-doc all 4.0.4-8 [526 kB] 2171s Get:29 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql-client-17 armhf 17.4-1 [1285 kB] 2171s Get:30 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql-17 armhf 17.4-1 [14.8 MB] 2171s Get:31 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql all 17+274 [14.4 kB] 2171s Get:32 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-parse all 1.20.2-1 [27.0 kB] 2171s Get:33 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-parse-type all 0.6.4-2 [23.5 kB] 2171s Get:34 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-behave all 1.2.6-6 [98.6 kB] 2171s Get:35 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-coverage armhf 7.6.0+dfsg1-2build1 [152 kB] 2172s Preconfiguring packages ... 2172s /var/cache/debconf/tmp.ci/postgresql.config.EQQHQt: 12: pg_lsclusters: not found 2172s Fetched 53.0 MB in 3s (16.9 MB/s) 2172s Selecting previously unselected package fonts-lato. 2172s (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 ... 63958 files and directories currently installed.) 2172s Preparing to unpack .../00-fonts-lato_2.015-1_all.deb ... 2172s Unpacking fonts-lato (2.015-1) ... 2173s Selecting previously unselected package libjson-perl. 2173s Preparing to unpack .../01-libjson-perl_4.10000-1_all.deb ... 2173s Unpacking libjson-perl (4.10000-1) ... 2173s Selecting previously unselected package postgresql-client-common. 2173s Preparing to unpack .../02-postgresql-client-common_274_all.deb ... 2173s Unpacking postgresql-client-common (274) ... 2173s Selecting previously unselected package libio-pty-perl. 2173s Preparing to unpack .../03-libio-pty-perl_1%3a1.20-1build3_armhf.deb ... 2173s Unpacking libio-pty-perl (1:1.20-1build3) ... 2173s Selecting previously unselected package libipc-run-perl. 2173s Preparing to unpack .../04-libipc-run-perl_20231003.0-2_all.deb ... 2173s Unpacking libipc-run-perl (20231003.0-2) ... 2173s Selecting previously unselected package postgresql-common-dev. 2173s Preparing to unpack .../05-postgresql-common-dev_274_all.deb ... 2173s Unpacking postgresql-common-dev (274) ... 2173s Selecting previously unselected package ssl-cert. 2173s Preparing to unpack .../06-ssl-cert_1.1.3ubuntu1_all.deb ... 2173s Unpacking ssl-cert (1.1.3ubuntu1) ... 2173s Selecting previously unselected package postgresql-common. 2173s Preparing to unpack .../07-postgresql-common_274_all.deb ... 2173s Adding 'diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common' 2173s Unpacking postgresql-common (274) ... 2173s Selecting previously unselected package fonts-font-awesome. 2173s Preparing to unpack .../08-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 2173s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 2174s Selecting previously unselected package libjs-jquery. 2174s Preparing to unpack .../09-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 2174s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 2174s Selecting previously unselected package libjs-underscore. 2174s Preparing to unpack .../10-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 2174s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 2174s Selecting previously unselected package libjs-sphinxdoc. 2174s Preparing to unpack .../11-libjs-sphinxdoc_8.1.3-5_all.deb ... 2174s Unpacking libjs-sphinxdoc (8.1.3-5) ... 2174s Selecting previously unselected package libllvm20:armhf. 2174s Preparing to unpack .../12-libllvm20_1%3a20.1.0~+rc3-1~exp1ubuntu1_armhf.deb ... 2174s Unpacking libllvm20:armhf (1:20.1.0~+rc3-1~exp1ubuntu1) ... 2175s Selecting previously unselected package libpq5:armhf. 2175s Preparing to unpack .../13-libpq5_17.4-1_armhf.deb ... 2175s Unpacking libpq5:armhf (17.4-1) ... 2175s Selecting previously unselected package libtime-duration-perl. 2175s Preparing to unpack .../14-libtime-duration-perl_1.21-2_all.deb ... 2175s Unpacking libtime-duration-perl (1.21-2) ... 2175s Selecting previously unselected package libtimedate-perl. 2175s Preparing to unpack .../15-libtimedate-perl_2.3300-2_all.deb ... 2175s Unpacking libtimedate-perl (2.3300-2) ... 2175s Selecting previously unselected package libxslt1.1:armhf. 2175s Preparing to unpack .../16-libxslt1.1_1.1.39-0exp1ubuntu4_armhf.deb ... 2175s Unpacking libxslt1.1:armhf (1.1.39-0exp1ubuntu4) ... 2175s Selecting previously unselected package moreutils. 2175s Preparing to unpack .../17-moreutils_0.69-1_armhf.deb ... 2175s Unpacking moreutils (0.69-1) ... 2176s Selecting previously unselected package python3-click. 2176s Preparing to unpack .../18-python3-click_8.2.0+0.really.8.1.8-1_all.deb ... 2176s Unpacking python3-click (8.2.0+0.really.8.1.8-1) ... 2176s Selecting previously unselected package python3-wcwidth. 2176s Preparing to unpack .../19-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 2176s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 2176s Selecting previously unselected package python3-prettytable. 2176s Preparing to unpack .../20-python3-prettytable_3.12.0-1_all.deb ... 2176s Unpacking python3-prettytable (3.12.0-1) ... 2176s Selecting previously unselected package python3-psutil. 2176s Preparing to unpack .../21-python3-psutil_5.9.8-2build3_armhf.deb ... 2176s Unpacking python3-psutil (5.9.8-2build3) ... 2176s Selecting previously unselected package python3-ydiff. 2176s Preparing to unpack .../22-python3-ydiff_1.4.2-1_all.deb ... 2176s Unpacking python3-ydiff (1.4.2-1) ... 2176s Selecting previously unselected package python3-psycopg2. 2176s Preparing to unpack .../23-python3-psycopg2_2.9.10-1build1_armhf.deb ... 2176s Unpacking python3-psycopg2 (2.9.10-1build1) ... 2176s Selecting previously unselected package python3-pysyncobj. 2176s Preparing to unpack .../24-python3-pysyncobj_0.3.14-2_all.deb ... 2176s Unpacking python3-pysyncobj (0.3.14-2) ... 2176s Selecting previously unselected package patroni. 2176s Preparing to unpack .../25-patroni_4.0.4-8_all.deb ... 2176s Unpacking patroni (4.0.4-8) ... 2176s Selecting previously unselected package sphinx-rtd-theme-common. 2176s Preparing to unpack .../26-sphinx-rtd-theme-common_3.0.2+dfsg-2_all.deb ... 2176s Unpacking sphinx-rtd-theme-common (3.0.2+dfsg-2) ... 2176s Selecting previously unselected package patroni-doc. 2176s Preparing to unpack .../27-patroni-doc_4.0.4-8_all.deb ... 2176s Unpacking patroni-doc (4.0.4-8) ... 2176s Selecting previously unselected package postgresql-client-17. 2176s Preparing to unpack .../28-postgresql-client-17_17.4-1_armhf.deb ... 2176s Unpacking postgresql-client-17 (17.4-1) ... 2177s Selecting previously unselected package postgresql-17. 2177s Preparing to unpack .../29-postgresql-17_17.4-1_armhf.deb ... 2177s Unpacking postgresql-17 (17.4-1) ... 2178s Selecting previously unselected package postgresql. 2178s Preparing to unpack .../30-postgresql_17+274_all.deb ... 2178s Unpacking postgresql (17+274) ... 2178s Selecting previously unselected package python3-parse. 2178s Preparing to unpack .../31-python3-parse_1.20.2-1_all.deb ... 2178s Unpacking python3-parse (1.20.2-1) ... 2178s Selecting previously unselected package python3-parse-type. 2178s Preparing to unpack .../32-python3-parse-type_0.6.4-2_all.deb ... 2178s Unpacking python3-parse-type (0.6.4-2) ... 2178s Selecting previously unselected package python3-behave. 2178s Preparing to unpack .../33-python3-behave_1.2.6-6_all.deb ... 2178s Unpacking python3-behave (1.2.6-6) ... 2178s Selecting previously unselected package python3-coverage. 2178s Preparing to unpack .../34-python3-coverage_7.6.0+dfsg1-2build1_armhf.deb ... 2178s Unpacking python3-coverage (7.6.0+dfsg1-2build1) ... 2178s Setting up postgresql-client-common (274) ... 2178s Setting up fonts-lato (2.015-1) ... 2178s Setting up libio-pty-perl (1:1.20-1build3) ... 2178s Setting up python3-pysyncobj (0.3.14-2) ... 2178s Setting up python3-ydiff (1.4.2-1) ... 2179s Setting up libpq5:armhf (17.4-1) ... 2179s Setting up python3-coverage (7.6.0+dfsg1-2build1) ... 2179s Setting up python3-click (8.2.0+0.really.8.1.8-1) ... 2180s Setting up python3-psutil (5.9.8-2build3) ... 2180s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 2181s Setting up ssl-cert (1.1.3ubuntu1) ... 2182s Created symlink '/etc/systemd/system/multi-user.target.wants/ssl-cert.service' → '/usr/lib/systemd/system/ssl-cert.service'. 2182s Setting up libllvm20:armhf (1:20.1.0~+rc3-1~exp1ubuntu1) ... 2182s Setting up python3-psycopg2 (2.9.10-1build1) ... 2183s Setting up libipc-run-perl (20231003.0-2) ... 2183s Setting up libtime-duration-perl (1.21-2) ... 2183s Setting up libtimedate-perl (2.3300-2) ... 2183s Setting up python3-parse (1.20.2-1) ... 2183s Setting up libjson-perl (4.10000-1) ... 2183s Setting up libxslt1.1:armhf (1.1.39-0exp1ubuntu4) ... 2183s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 2183s Setting up python3-prettytable (3.12.0-1) ... 2183s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 2183s Setting up sphinx-rtd-theme-common (3.0.2+dfsg-2) ... 2183s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 2183s Setting up postgresql-common-dev (274) ... 2183s Setting up moreutils (0.69-1) ... 2183s Setting up postgresql-client-17 (17.4-1) ... 2185s update-alternatives: using /usr/share/postgresql/17/man/man1/psql.1.gz to provide /usr/share/man/man1/psql.1.gz (psql.1.gz) in auto mode 2185s Setting up python3-parse-type (0.6.4-2) ... 2185s Setting up postgresql-common (274) ... 2186s Creating config file /etc/postgresql-common/createcluster.conf with new version 2186s Building PostgreSQL dictionaries from installed myspell/hunspell packages... 2186s Removing obsolete dictionary files: 2188s Created symlink '/etc/systemd/system/multi-user.target.wants/postgresql.service' → '/usr/lib/systemd/system/postgresql.service'. 2188s Setting up libjs-sphinxdoc (8.1.3-5) ... 2188s Setting up python3-behave (1.2.6-6) ... 2189s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 2189s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 2189s /usr/lib/python3/dist-packages/behave/matchers.py:284: SyntaxWarning: invalid escape sequence '\d' 2189s @parse.with_pattern(r"\d+") 2189s Setting up patroni (4.0.4-8) ... 2189s Created symlink '/etc/systemd/system/multi-user.target.wants/patroni.service' → '/usr/lib/systemd/system/patroni.service'. 2190s Setting up postgresql-17 (17.4-1) ... 2193s Creating new PostgreSQL cluster 17/main ... 2193s /usr/lib/postgresql/17/bin/initdb -D /var/lib/postgresql/17/main --auth-local peer --auth-host scram-sha-256 --no-instructions 2193s The files belonging to this database system will be owned by user "postgres". 2193s This user must also own the server process. 2193s 2193s The database cluster will be initialized with locale "C.UTF-8". 2193s The default database encoding has accordingly been set to "UTF8". 2193s The default text search configuration will be set to "english". 2193s 2193s Data page checksums are disabled. 2193s 2193s fixing permissions on existing directory /var/lib/postgresql/17/main ... ok 2193s creating subdirectories ... ok 2193s selecting dynamic shared memory implementation ... posix 2193s selecting default "max_connections" ... 100 2193s selecting default "shared_buffers" ... 128MB 2193s selecting default time zone ... Etc/UTC 2193s creating configuration files ... ok 2193s running bootstrap script ... ok 2194s performing post-bootstrap initialization ... ok 2194s syncing data to disk ... ok 2197s Setting up patroni-doc (4.0.4-8) ... 2197s Setting up postgresql (17+274) ... 2198s Processing triggers for man-db (2.13.0-1) ... 2199s Processing triggers for libc-bin (2.41-1ubuntu2) ... 2214s autopkgtest [13:42:36]: test acceptance-raft: debian/tests/acceptance raft 2214s autopkgtest [13:42:36]: test acceptance-raft: [----------------------- 2216s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 2216s ++ ls -1r /usr/lib/postgresql/ 2216s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 2216s + '[' 17 == 10 -o 17 == 11 ']' 2216s + echo '### PostgreSQL 17 acceptance-raft ###' 2216s + bash -c 'set -o pipefail; ETCD_UNSUPPORTED_ARCH=arm DCS=raft PATH=/usr/lib/postgresql/17/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin behave | ts' 2216s ### PostgreSQL 17 acceptance-raft ### 2223s Mar 22 13:42:45 Feature: basic replication # features/basic_replication.feature:1 2223s Mar 22 13:42:45 We should check that the basic bootstrapping, replication and failover works. 2223s Mar 22 13:42:45 Scenario: check replication of a single table # features/basic_replication.feature:4 2223s Mar 22 13:42:45 Given I start postgres-0 # features/steps/basic_replication.py:20 2230s Mar 22 13:42:52 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 2231s Mar 22 13:42:53 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2231s Mar 22 13:42:53 When I issue a PATCH request to http://127.0.0.1:8008/config with {"ttl": 20, "synchronous_mode": true} # features/steps/patroni_api.py:73 2231s Mar 22 13:42:53 Then I receive a response code 200 # features/steps/patroni_api.py:100 2231s Mar 22 13:42:53 When I start postgres-1 # features/steps/basic_replication.py:20 2238s Mar 22 13:43:00 And I configure and start postgres-2 with a tag replicatefrom postgres-0 # features/steps/cascading_replication.py:7 2246s Mar 22 13:43:08 And "sync" key in DCS has leader=postgres-0 after 20 seconds # features/steps/cascading_replication.py:23 2246s Mar 22 13:43:08 And I add the table foo to postgres-0 # features/steps/basic_replication.py:66 2246s Mar 22 13:43:08 Then table foo is present on postgres-1 after 20 seconds # features/steps/basic_replication.py:105 2248s Mar 22 13:43:09 Then table foo is present on postgres-2 after 20 seconds # features/steps/basic_replication.py:105 2248s Mar 22 13:43:09 2248s Mar 22 13:43:09 Scenario: check restart of sync replica # features/basic_replication.feature:17 2248s Mar 22 13:43:09 Given I shut down postgres-2 # features/steps/basic_replication.py:41 2248s Mar 22 13:43:10 Then "sync" key in DCS has sync_standby=postgres-1 after 5 seconds # features/steps/cascading_replication.py:23 2248s Mar 22 13:43:10 When I start postgres-2 # features/steps/basic_replication.py:20 2253s Mar 22 13:43:15 And I shut down postgres-1 # features/steps/basic_replication.py:41 2256s Mar 22 13:43:18 Then "sync" key in DCS has sync_standby=postgres-2 after 10 seconds # features/steps/cascading_replication.py:23 2257s Mar 22 13:43:19 When I start postgres-1 # features/steps/basic_replication.py:20 2264s Mar 22 13:43:25 Then "members/postgres-1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2265s Mar 22 13:43:26 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:144 2265s Mar 22 13:43:27 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:144 2265s Mar 22 13:43:27 2265s Mar 22 13:43:27 Scenario: check stuck sync replica # features/basic_replication.feature:28 2265s Mar 22 13:43:27 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"pause": true, "maximum_lag_on_syncnode": 15000000, "postgresql": {"parameters": {"synchronous_commit": "remote_apply"}}} # features/steps/patroni_api.py:73 2265s Mar 22 13:43:27 Then I receive a response code 200 # features/steps/patroni_api.py:100 2265s Mar 22 13:43:27 And I create table on postgres-0 # features/steps/basic_replication.py:85 2265s Mar 22 13:43:27 And table mytest is present on postgres-1 after 2 seconds # features/steps/basic_replication.py:105 2266s Mar 22 13:43:28 And table mytest is present on postgres-2 after 2 seconds # features/steps/basic_replication.py:105 2266s Mar 22 13:43:28 When I pause wal replay on postgres-2 # features/steps/basic_replication.py:76 2266s Mar 22 13:43:28 And I load data on postgres-0 # features/steps/basic_replication.py:96 2267s Mar 22 13:43:29 Then "sync" key in DCS has sync_standby=postgres-1 after 15 seconds # features/steps/cascading_replication.py:23 2270s Mar 22 13:43:32 And I resume wal replay on postgres-2 # features/steps/basic_replication.py:76 2270s Mar 22 13:43:32 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:144 2270s Mar 22 13:43:32 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:144 2270s Mar 22 13:43:32 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:73 2270s Mar 22 13:43:32 Then I receive a response code 200 # features/steps/patroni_api.py:100 2270s Mar 22 13:43:32 And I drop table on postgres-0 # features/steps/basic_replication.py:85 2270s Mar 22 13:43:32 2270s Mar 22 13:43:32 Scenario: check multi sync replication # features/basic_replication.feature:44 2270s Mar 22 13:43:32 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"synchronous_node_count": 2} # features/steps/patroni_api.py:73 2270s Mar 22 13:43:32 Then I receive a response code 200 # features/steps/patroni_api.py:100 2270s Mar 22 13:43:32 Then "sync" key in DCS has sync_standby=postgres-1,postgres-2 after 10 seconds # features/steps/cascading_replication.py:23 2274s Mar 22 13:43:36 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:144 2274s Mar 22 13:43:36 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:144 2274s Mar 22 13:43:36 When I issue a PATCH request to http://127.0.0.1:8008/config with {"synchronous_node_count": 1} # features/steps/patroni_api.py:73 2274s Mar 22 13:43:36 Then I receive a response code 200 # features/steps/patroni_api.py:100 2274s Mar 22 13:43:36 And I shut down postgres-1 # features/steps/basic_replication.py:41 2277s Mar 22 13:43:39 Then "sync" key in DCS has sync_standby=postgres-2 after 10 seconds # features/steps/cascading_replication.py:23 2278s Mar 22 13:43:40 When I start postgres-1 # features/steps/basic_replication.py:20 2284s Mar 22 13:43:46 Then "members/postgres-1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2285s Mar 22 13:43:47 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:144 2285s Mar 22 13:43:47 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:144 2286s Mar 22 13:43:48 2286s Mar 22 13:43:48 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 2286s Mar 22 13:43:48 Given I run patronictl.py pause batman # features/steps/patroni_api.py:88 2288s Mar 22 13:43:50 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 2288s Mar 22 13:43:50 When I sleep for 2 seconds # features/steps/patroni_api.py:41 2290s Mar 22 13:43:52 And I shut down postgres-0 # features/steps/basic_replication.py:41 2291s Mar 22 13:43:53 And I run patronictl.py resume batman # features/steps/patroni_api.py:88 2294s Mar 22 13:43:56 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 2294s Mar 22 13:43:56 And postgres-2 role is the primary after 24 seconds # features/steps/basic_replication.py:117 2313s Mar 22 13:44:15 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:158 2313s Mar 22 13:44:15 And there is a postgres-2_cb.log with "on_role_change primary batman" in postgres-2 data directory # features/steps/cascading_replication.py:12 2313s Mar 22 13:44:15 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:73 2313s Mar 22 13:44:15 Then I receive a response code 200 # features/steps/patroni_api.py:100 2313s Mar 22 13:44:15 When I add the table bar to postgres-2 # features/steps/basic_replication.py:66 2313s Mar 22 13:44:15 Then table bar is present on postgres-1 after 20 seconds # features/steps/basic_replication.py:105 2314s Mar 22 13:44:16 And Response on GET http://127.0.0.1:8010/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:158 2314s Mar 22 13:44:16 2314s Mar 22 13:44:16 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 2314s Mar 22 13:44:16 Given I add the table splitbrain to postgres-0 # features/steps/basic_replication.py:66 2314s Mar 22 13:44:16 And I start postgres-0 # features/steps/basic_replication.py:20 2314s Mar 22 13:44:16 Then postgres-0 role is the secondary after 20 seconds # features/steps/basic_replication.py:117 2322s Mar 22 13:44:23 When I add the table buz to postgres-2 # features/steps/basic_replication.py:66 2322s Mar 22 13:44:24 Then table buz is present on postgres-0 after 20 seconds # features/steps/basic_replication.py:105 2329s SKIP Scenario check graceful rejection when two nodes have the same name: Flaky test with Raft 2345s Mar 22 13:44:46 2345s Mar 22 13:44:46 @reject-duplicate-name 2345s Mar 22 13:44:46 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 2345s Mar 22 13:44:46 Given I start duplicate postgres-0 on port 8011 # None 2345s Mar 22 13:44:46 Then there is one of ["Can't start; there is already a node named 'postgres-0' running"] CRITICAL in the dup-postgres-0 patroni log after 5 seconds # None 2345s Mar 22 13:44:46 2345s Mar 22 13:44:46 Feature: cascading replication # features/cascading_replication.feature:1 2345s Mar 22 13:44:46 We should check that patroni can do base backup and streaming from the replica 2345s Mar 22 13:44:46 Scenario: check a base backup and streaming replication from a replica # features/cascading_replication.feature:4 2345s Mar 22 13:44:47 Given I start postgres-0 # features/steps/basic_replication.py:20 2354s Mar 22 13:44:56 And postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 2354s Mar 22 13:44:56 And I configure and start postgres-1 with a tag clonefrom true # features/steps/cascading_replication.py:7 2363s Mar 22 13:45:05 And replication works from postgres-0 to postgres-1 after 20 seconds # features/steps/basic_replication.py:124 2364s Mar 22 13:45:06 And I create label with "postgres-0" in postgres-0 data directory # features/steps/cascading_replication.py:18 2364s Mar 22 13:45:06 And I create label with "postgres-1" in postgres-1 data directory # features/steps/cascading_replication.py:18 2364s Mar 22 13:45:06 And "members/postgres-1" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 2364s Mar 22 13:45:06 And I configure and start postgres-2 with a tag replicatefrom postgres-1 # features/steps/cascading_replication.py:7 2372s Mar 22 13:45:14 Then replication works from postgres-0 to postgres-2 after 30 seconds # features/steps/basic_replication.py:124 2373s Mar 22 13:45:15 And there is a label with "postgres-1" in postgres-2 data directory # features/steps/cascading_replication.py:12 2388s Mar 22 13:45:30 2388s SKIP FEATURE citus: Citus extension isn't available 2388s SKIP Scenario check that worker cluster is registered in the coordinator: Citus extension isn't available 2388s SKIP Scenario coordinator failover updates pg_dist_node: Citus extension isn't available 2388s SKIP Scenario worker switchover doesn't break client queries on the coordinator: Citus extension isn't available 2388s SKIP Scenario worker primary restart doesn't break client queries on the coordinator: Citus extension isn't available 2388s SKIP Scenario check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node: Citus extension isn't available 2388s Mar 22 13:45:30 Feature: citus # features/citus.feature:1 2388s Mar 22 13:45:30 We should check that coordinator discovers and registers workers and clients don't have errors when worker cluster switches over 2388s Mar 22 13:45:30 Scenario: check that worker cluster is registered in the coordinator # features/citus.feature:4 2388s Mar 22 13:45:30 Given I start postgres-0 in citus group 0 # None 2388s Mar 22 13:45:30 And I start postgres-2 in citus group 1 # None 2388s Mar 22 13:45:30 Then postgres-0 is a leader in a group 0 after 10 seconds # None 2388s Mar 22 13:45:30 And postgres-2 is a leader in a group 1 after 10 seconds # None 2388s Mar 22 13:45:30 When I start postgres-1 in citus group 0 # None 2388s Mar 22 13:45:30 And I start postgres-3 in citus group 1 # None 2388s Mar 22 13:45:30 Then replication works from postgres-0 to postgres-1 after 15 seconds # None 2388s Mar 22 13:45:30 Then replication works from postgres-2 to postgres-3 after 15 seconds # None 2388s Mar 22 13:45:30 And postgres-0 is registered in the postgres-0 as the primary in group 0 after 5 seconds # None 2388s Mar 22 13:45:30 And postgres-1 is registered in the postgres-0 as the secondary in group 0 after 5 seconds # None 2388s Mar 22 13:45:30 And postgres-2 is registered in the postgres-0 as the primary in group 1 after 5 seconds # None 2388s Mar 22 13:45:30 And postgres-3 is registered in the postgres-0 as the secondary in group 1 after 5 seconds # None 2388s Mar 22 13:45:30 2388s Mar 22 13:45:30 Scenario: coordinator failover updates pg_dist_node # features/citus.feature:18 2388s Mar 22 13:45:30 Given I run patronictl.py failover batman --group 0 --candidate postgres-1 --force # None 2388s Mar 22 13:45:30 Then postgres-1 role is the primary after 10 seconds # None 2388s Mar 22 13:45:30 And "members/postgres-0" key in a group 0 in DCS has state=running after 15 seconds # None 2388s Mar 22 13:45:30 And replication works from postgres-1 to postgres-0 after 15 seconds # None 2388s Mar 22 13:45:30 And postgres-1 is registered in the postgres-2 as the primary in group 0 after 5 seconds # None 2388s Mar 22 13:45:30 And postgres-0 is registered in the postgres-2 as the secondary in group 0 after 15 seconds # None 2388s Mar 22 13:45:30 And "sync" key in a group 0 in DCS has sync_standby=postgres-0 after 15 seconds # None 2388s Mar 22 13:45:30 When I run patronictl.py switchover batman --group 0 --candidate postgres-0 --force # None 2388s Mar 22 13:45:30 Then postgres-0 role is the primary after 10 seconds # None 2388s Mar 22 13:45:30 And replication works from postgres-0 to postgres-1 after 15 seconds # None 2388s Mar 22 13:45:30 And postgres-0 is registered in the postgres-2 as the primary in group 0 after 5 seconds # None 2388s Mar 22 13:45:30 And postgres-1 is registered in the postgres-2 as the secondary in group 0 after 15 seconds # None 2388s Mar 22 13:45:30 And "sync" key in a group 0 in DCS has sync_standby=postgres-1 after 15 seconds # None 2388s Mar 22 13:45:30 2388s Mar 22 13:45:30 Scenario: worker switchover doesn't break client queries on the coordinator # features/citus.feature:33 2388s Mar 22 13:45:30 Given I create a distributed table on postgres-0 # None 2388s Mar 22 13:45:30 And I start a thread inserting data on postgres-0 # None 2388s Mar 22 13:45:30 When I run patronictl.py switchover batman --group 1 --force # None 2388s Mar 22 13:45:30 Then I receive a response returncode 0 # None 2388s Mar 22 13:45:30 And postgres-3 role is the primary after 10 seconds # None 2388s Mar 22 13:45:30 And "members/postgres-2" key in a group 1 in DCS has state=running after 15 seconds # None 2388s Mar 22 13:45:30 And replication works from postgres-3 to postgres-2 after 15 seconds # None 2388s Mar 22 13:45:30 And postgres-3 is registered in the postgres-0 as the primary in group 1 after 5 seconds # None 2388s Mar 22 13:45:30 And postgres-2 is registered in the postgres-0 as the secondary in group 1 after 15 seconds # None 2388s Mar 22 13:45:30 And "sync" key in a group 1 in DCS has sync_standby=postgres-2 after 15 seconds # None 2388s Mar 22 13:45:30 And a thread is still alive # None 2388s Mar 22 13:45:30 When I run patronictl.py switchover batman --group 1 --force # None 2389s Mar 22 13:45:30 Then I receive a response returncode 0 # None 2389s Mar 22 13:45:30 And postgres-2 role is the primary after 10 seconds # None 2389s Mar 22 13:45:30 And replication works from postgres-2 to postgres-3 after 15 seconds # None 2389s Mar 22 13:45:30 And postgres-2 is registered in the postgres-0 as the primary in group 1 after 5 seconds # None 2389s Mar 22 13:45:30 And postgres-3 is registered in the postgres-0 as the secondary in group 1 after 15 seconds # None 2389s Mar 22 13:45:30 And "sync" key in a group 1 in DCS has sync_standby=postgres-3 after 15 seconds # None 2389s Mar 22 13:45:30 And a thread is still alive # None 2389s Mar 22 13:45:30 When I stop a thread # None 2389s Mar 22 13:45:30 Then a distributed table on postgres-0 has expected rows # None 2389s Mar 22 13:45:30 2389s Mar 22 13:45:30 Scenario: worker primary restart doesn't break client queries on the coordinator # features/citus.feature:56 2389s Mar 22 13:45:30 Given I cleanup a distributed table on postgres-0 # None 2389s Mar 22 13:45:30 And I start a thread inserting data on postgres-0 # None 2389s Mar 22 13:45:30 When I run patronictl.py restart batman postgres-2 --group 1 --force # None 2389s Mar 22 13:45:30 Then I receive a response returncode 0 # None 2389s Mar 22 13:45:30 And postgres-2 role is the primary after 10 seconds # None 2389s Mar 22 13:45:30 And replication works from postgres-2 to postgres-3 after 15 seconds # None 2389s Mar 22 13:45:30 And postgres-2 is registered in the postgres-0 as the primary in group 1 after 5 seconds # None 2389s Mar 22 13:45:30 And postgres-3 is registered in the postgres-0 as the secondary in group 1 after 15 seconds # None 2389s Mar 22 13:45:30 And a thread is still alive # None 2389s Mar 22 13:45:30 When I stop a thread # None 2389s Mar 22 13:45:30 Then a distributed table on postgres-0 has expected rows # None 2395s Mar 22 13:45:37 2395s Mar 22 13:45:37 Scenario: check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node # features/citus.feature:69 2395s Mar 22 13:45:37 Given I start postgres-4 in citus group 2 # None 2395s Mar 22 13:45:37 Then postgres-4 is a leader in a group 2 after 10 seconds # None 2395s Mar 22 13:45:37 And "members/postgres-4" key in a group 2 in DCS has role=primary after 3 seconds # None 2395s Mar 22 13:45:37 When I run patronictl.py edit-config batman --group 2 -s ttl=20 --force # None 2395s Mar 22 13:45:37 Then I receive a response returncode 0 # None 2395s Mar 22 13:45:37 And I receive a response output "+ttl: 20" # None 2395s Mar 22 13:45:37 Then postgres-4 is registered in the postgres-2 as the primary in group 2 after 5 seconds # None 2395s Mar 22 13:45:37 When I shut down postgres-4 # None 2395s Mar 22 13:45:37 Then there is a transaction in progress on postgres-0 changing pg_dist_node after 5 seconds # None 2395s Mar 22 13:45:37 When I run patronictl.py restart batman postgres-2 --group 1 --force # None 2395s Mar 22 13:45:37 Then a transaction finishes in 20 seconds # None 2395s Mar 22 13:45:37 2395s Mar 22 13:45:37 Feature: custom bootstrap # features/custom_bootstrap.feature:1 2395s Mar 22 13:45:37 We should check that patroni can bootstrap a new cluster from a backup 2395s Mar 22 13:45:37 Scenario: clone existing cluster using pg_basebackup # features/custom_bootstrap.feature:4 2395s Mar 22 13:45:37 Given I start postgres-0 # features/steps/basic_replication.py:20 2400s Mar 22 13:45:42 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 2400s Mar 22 13:45:42 When I add the table foo to postgres-0 # features/steps/basic_replication.py:66 2400s Mar 22 13:45:42 And I start postgres-1 in a cluster batman1 as a clone of postgres-0 # features/steps/custom_bootstrap.py:6 2406s Mar 22 13:45:48 Then postgres-1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 2407s Mar 22 13:45:49 Then table foo is present on postgres-1 after 10 seconds # features/steps/basic_replication.py:105 2407s Mar 22 13:45:49 2407s Mar 22 13:45:49 Scenario: make a backup and do a restore into a new cluster # features/custom_bootstrap.feature:12 2407s Mar 22 13:45:49 Given I add the table bar to postgres-1 # features/steps/basic_replication.py:66 2407s Mar 22 13:45:49 And I do a backup of postgres-1 # features/steps/custom_bootstrap.py:25 2409s Mar 22 13:45:51 When I start postgres-2 in a cluster batman2 from backup # features/steps/custom_bootstrap.py:11 2416s Mar 22 13:45:58 Then postgres-2 is a leader of batman2 after 30 seconds # features/steps/custom_bootstrap.py:16 2416s Mar 22 13:45:58 And table bar is present on postgres-2 after 10 seconds # features/steps/basic_replication.py:105 2433s Mar 22 13:46:15 2433s Mar 22 13:46:15 Feature: dcs failsafe mode # features/dcs_failsafe_mode.feature:1 2433s Mar 22 13:46:15 We should check the basic dcs failsafe mode functioning 2433s Mar 22 13:46:15 Scenario: check failsafe mode can be successfully enabled # features/dcs_failsafe_mode.feature:4 2433s Mar 22 13:46:15 Given I start postgres-0 # features/steps/basic_replication.py:20 2439s Mar 22 13:46:21 And postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 2439s Mar 22 13:46:21 Then "config" key in DCS has ttl=30 after 10 seconds # features/steps/cascading_replication.py:23 2439s Mar 22 13:46:21 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:73 2439s Mar 22 13:46:21 Then I receive a response code 200 # features/steps/patroni_api.py:100 2439s Mar 22 13:46:21 And Response on GET http://127.0.0.1:8008/failsafe contains postgres-0 after 10 seconds # features/steps/patroni_api.py:158 2439s Mar 22 13:46:21 When I issue a GET request to http://127.0.0.1:8008/failsafe # features/steps/patroni_api.py:63 2439s Mar 22 13:46:21 Then I receive a response code 200 # features/steps/patroni_api.py:100 2439s Mar 22 13:46:21 And I receive a response postgres-0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:100 2439s Mar 22 13:46:21 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,"postgres_0":null}} # features/steps/patroni_api.py:73 2439s Mar 22 13:46:21 Then I receive a response code 200 # features/steps/patroni_api.py:100 2439s Mar 22 13:46:21 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:73 2439s Mar 22 13:46:21 Then I receive a response code 200 # features/steps/patroni_api.py:100 2439s Mar 22 13:46:21 2439s Mar 22 13:46:21 @dcs-failsafe 2439s Mar 22 13:46:21 Scenario: check one-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:20 2439s Mar 22 13:46:21 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 2439s Mar 22 13:46:21 Then Response on GET http://127.0.0.1:8008/primary contains failsafe_mode_is_active after 12 seconds # features/steps/patroni_api.py:158 2443s Mar 22 13:46:25 And postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 2443s Mar 22 13:46:25 2443s Mar 22 13:46:25 @dcs-failsafe 2443s Mar 22 13:46:25 Scenario: check new replica isn't promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:26 2443s Mar 22 13:46:25 Given DCS is up # features/steps/dcs_failsafe_mode.py:9 2443s Mar 22 13:46:25 When I do a backup of postgres-0 # features/steps/custom_bootstrap.py:25 2445s Mar 22 13:46:27 And I shut down postgres-0 # features/steps/basic_replication.py:41 2447s Mar 22 13:46:29 When I start postgres-1 in a cluster batman from backup with no_leader # features/steps/dcs_failsafe_mode.py:14 2452s Mar 22 13:46:34 Then postgres-1 role is the replica after 12 seconds # features/steps/basic_replication.py:117 2452s Mar 22 13:46:34 2452s Mar 22 13:46:34 Scenario: check leader and replica are both in /failsafe key after leader is back # features/dcs_failsafe_mode.feature:33 2452s Mar 22 13:46:34 Given I start postgres-0 # features/steps/basic_replication.py:20 2455s Mar 22 13:46:37 And I start postgres-1 # features/steps/basic_replication.py:20 2455s Mar 22 13:46:37 Then "members/postgres-0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2456s Mar 22 13:46:38 And "members/postgres-1" key in DCS has state=running after 2 seconds # features/steps/cascading_replication.py:23 2456s Mar 22 13:46:38 And Response on GET http://127.0.0.1:8009/failsafe contains postgres-1 after 10 seconds # features/steps/patroni_api.py:158 2461s Mar 22 13:46:43 When I issue a GET request to http://127.0.0.1:8009/failsafe # features/steps/patroni_api.py:63 2461s Mar 22 13:46:43 Then I receive a response code 200 # features/steps/patroni_api.py:100 2461s Mar 22 13:46:43 And I receive a response postgres-0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:100 2461s Mar 22 13:46:43 And I receive a response postgres-1 http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:100 2461s Mar 22 13:46:43 2461s Mar 22 13:46:43 @dcs-failsafe @slot-advance 2461s Mar 22 13:46:43 Scenario: check leader and replica are functioning while DCS is down # features/dcs_failsafe_mode.feature:46 2461s Mar 22 13:46:43 Given I get all changes from physical slot dcs_slot_1 on postgres-0 # features/steps/slots.py:77 2461s Mar 22 13:46:43 Then physical slot dcs_slot_1 is in sync between postgres-0 and postgres-1 after 10 seconds # features/steps/slots.py:52 2464s Mar 22 13:46:46 And logical slot dcs_slot_0 is in sync between postgres-0 and postgres-1 after 10 seconds # features/steps/slots.py:52 2464s Mar 22 13:46:46 And DCS is down # features/steps/dcs_failsafe_mode.py:4 2464s Mar 22 13:46:46 Then Response on GET http://127.0.0.1:8008/primary contains failsafe_mode_is_active after 12 seconds # features/steps/patroni_api.py:158 2468s Mar 22 13:46:50 Then postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 2468s Mar 22 13:46:50 And postgres-1 role is the replica after 2 seconds # features/steps/basic_replication.py:117 2468s Mar 22 13:46:50 And replication works from postgres-0 to postgres-1 after 10 seconds # features/steps/basic_replication.py:124 2468s Mar 22 13:46:50 When I get all changes from logical slot dcs_slot_0 on postgres-0 # features/steps/slots.py:72 2468s Mar 22 13:46:50 And I get all changes from physical slot dcs_slot_1 on postgres-0 # features/steps/slots.py:77 2468s Mar 22 13:46:50 Then logical slot dcs_slot_0 is in sync between postgres-0 and postgres-1 after 20 seconds # features/steps/slots.py:52 2475s Mar 22 13:46:57 And physical slot dcs_slot_1 is in sync between postgres-0 and postgres-1 after 10 seconds # features/steps/slots.py:52 2475s Mar 22 13:46:57 2475s Mar 22 13:46:57 @dcs-failsafe 2475s Mar 22 13:46:57 Scenario: check primary is demoted when one replica is shut down and DCS is down # features/dcs_failsafe_mode.feature:61 2475s Mar 22 13:46:57 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 2475s Mar 22 13:46:57 And I kill postgres-1 # features/steps/basic_replication.py:46 2476s Mar 22 13:46:58 And I kill postmaster on postgres-1 # features/steps/basic_replication.py:56 2476s Mar 22 13:46:58 waiting for server to shut down.... done 2476s Mar 22 13:46:58 server stopped 2476s Mar 22 13:46:58 Then postgres-0 role is the replica after 12 seconds # features/steps/basic_replication.py:117 2478s Mar 22 13:47:00 2478s Mar 22 13:47:00 @dcs-failsafe 2478s Mar 22 13:47:00 Scenario: check known replica is promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:68 2478s Mar 22 13:47:00 Given I kill postgres-0 # features/steps/basic_replication.py:46 2479s Mar 22 13:47:01 And I shut down postmaster on postgres-0 # features/steps/basic_replication.py:51 2479s Mar 22 13:47:01 waiting for server to shut down.... done 2479s Mar 22 13:47:01 server stopped 2479s Mar 22 13:47:01 And DCS is up # features/steps/dcs_failsafe_mode.py:9 2479s Mar 22 13:47:01 When I start postgres-1 # features/steps/basic_replication.py:20 2482s Mar 22 13:47:04 Then "members/postgres-1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2483s Mar 22 13:47:05 And postgres-1 role is the primary after 25 seconds # features/steps/basic_replication.py:117 2485s Mar 22 13:47:07 2485s Mar 22 13:47:07 @dcs-failsafe 2485s Mar 22 13:47:07 Scenario: scale to three-node cluster # features/dcs_failsafe_mode.feature:77 2485s Mar 22 13:47:07 Given I start postgres-0 # features/steps/basic_replication.py:20 2491s Mar 22 13:47:13 And I configure and start postgres-2 with a tag replicatefrom postgres-0 # features/steps/cascading_replication.py:7 2496s Mar 22 13:47:18 Then "members/postgres-2" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2497s Mar 22 13:47:19 And "members/postgres-0" key in DCS has state=running after 20 seconds # features/steps/cascading_replication.py:23 2497s Mar 22 13:47:19 And Response on GET http://127.0.0.1:8008/failsafe contains postgres-2 after 10 seconds # features/steps/patroni_api.py:158 2497s Mar 22 13:47:19 And replication works from postgres-1 to postgres-0 after 10 seconds # features/steps/basic_replication.py:124 2497s Mar 22 13:47:19 And replication works from postgres-1 to postgres-2 after 10 seconds # features/steps/basic_replication.py:124 2499s Mar 22 13:47:20 2499s Mar 22 13:47:20 @dcs-failsafe @slot-advance 2499s Mar 22 13:47:20 Scenario: make sure permanent slots exist on replicas # features/dcs_failsafe_mode.feature:88 2499s Mar 22 13:47:20 Given I issue a PATCH request to http://127.0.0.1:8009/config with {"slots":{"dcs_slot_0":null,"dcs_slot_2":{"type":"logical","database":"postgres","plugin":"test_decoding"}}} # features/steps/patroni_api.py:73 2499s Mar 22 13:47:21 Then logical slot dcs_slot_2 is in sync between postgres-1 and postgres-0 after 20 seconds # features/steps/slots.py:52 2503s Mar 22 13:47:25 And logical slot dcs_slot_2 is in sync between postgres-1 and postgres-2 after 20 seconds # features/steps/slots.py:52 2504s Mar 22 13:47:26 When I get all changes from physical slot dcs_slot_1 on postgres-1 # features/steps/slots.py:77 2504s Mar 22 13:47:26 Then physical slot dcs_slot_1 is in sync between postgres-1 and postgres-0 after 10 seconds # features/steps/slots.py:52 2506s Mar 22 13:47:28 And physical slot dcs_slot_1 is in sync between postgres-1 and postgres-2 after 10 seconds # features/steps/slots.py:52 2506s Mar 22 13:47:28 And physical slot postgres_0 is in sync between postgres-1 and postgres-2 after 10 seconds # features/steps/slots.py:52 2506s Mar 22 13:47:28 And physical slot postgres_2 is in sync between postgres-0 and postgres-1 after 10 seconds # features/steps/slots.py:52 2506s Mar 22 13:47:28 2506s Mar 22 13:47:28 @dcs-failsafe 2506s Mar 22 13:47:28 Scenario: check three-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:99 2506s Mar 22 13:47:28 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 2506s Mar 22 13:47:28 Then Response on GET http://127.0.0.1:8009/primary contains failsafe_mode_is_active after 12 seconds # features/steps/patroni_api.py:158 2510s Mar 22 13:47:32 Then postgres-1 role is the primary after 10 seconds # features/steps/basic_replication.py:117 2510s Mar 22 13:47:32 And postgres-0 role is the replica after 2 seconds # features/steps/basic_replication.py:117 2510s Mar 22 13:47:32 And postgres-2 role is the replica after 2 seconds # features/steps/basic_replication.py:117 2510s Mar 22 13:47:32 2510s Mar 22 13:47:32 @dcs-failsafe @slot-advance 2510s Mar 22 13:47:32 Scenario: check that permanent slots are in sync between nodes while DCS is down # features/dcs_failsafe_mode.feature:108 2510s Mar 22 13:47:32 Given replication works from postgres-1 to postgres-0 after 10 seconds # features/steps/basic_replication.py:124 2510s Mar 22 13:47:32 And replication works from postgres-1 to postgres-2 after 10 seconds # features/steps/basic_replication.py:124 2511s Mar 22 13:47:33 When I get all changes from logical slot dcs_slot_2 on postgres-1 # features/steps/slots.py:72 2511s Mar 22 13:47:33 And I get all changes from physical slot dcs_slot_1 on postgres-1 # features/steps/slots.py:77 2511s Mar 22 13:47:33 Then logical slot dcs_slot_2 is in sync between postgres-1 and postgres-0 after 20 seconds # features/steps/slots.py:52 2517s Mar 22 13:47:39 And logical slot dcs_slot_2 is in sync between postgres-1 and postgres-2 after 20 seconds # features/steps/slots.py:52 2517s Mar 22 13:47:39 And physical slot dcs_slot_1 is in sync between postgres-1 and postgres-0 after 10 seconds # features/steps/slots.py:52 2517s Mar 22 13:47:39 And physical slot dcs_slot_1 is in sync between postgres-1 and postgres-2 after 10 seconds # features/steps/slots.py:52 2517s Mar 22 13:47:39 And physical slot postgres_0 is in sync between postgres-1 and postgres-2 after 10 seconds # features/steps/slots.py:52 2517s Mar 22 13:47:39 And physical slot postgres_2 is in sync between postgres-0 and postgres-1 after 10 seconds # features/steps/slots.py:52 2530s Mar 22 13:47:52 2530s Mar 22 13:47:52 Feature: ignored slots # features/ignored_slots.feature:1 2530s Mar 22 13:47:52 2530s Mar 22 13:47:52 Scenario: check ignored slots aren't removed on failover/switchover # features/ignored_slots.feature:2 2530s Mar 22 13:47:52 Given I start postgres-1 # features/steps/basic_replication.py:20 2535s Mar 22 13:47:57 Then postgres-1 is a leader after 10 seconds # features/steps/patroni_api.py:31 2535s Mar 22 13:47:57 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2535s Mar 22 13:47:57 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:73 2535s Mar 22 13:47:57 Then I receive a response code 200 # features/steps/patroni_api.py:100 2535s Mar 22 13:47:57 And Response on GET http://127.0.0.1:8009/config contains ignore_slots after 10 seconds # features/steps/patroni_api.py:158 2535s Mar 22 13:47:57 When I shut down postgres-1 # features/steps/basic_replication.py:41 2537s Mar 22 13:47:59 And I start postgres-1 # features/steps/basic_replication.py:20 2540s Mar 22 13:48:02 Then postgres-1 is a leader after 10 seconds # features/steps/patroni_api.py:31 2542s Mar 22 13:48:04 And "members/postgres-1" key in DCS has role=primary after 10 seconds # features/steps/cascading_replication.py:23 2544s Mar 22 13:48:06 And postgres-1 role is the primary after 20 seconds # features/steps/basic_replication.py:117 2544s Mar 22 13:48:06 When I create a logical replication slot unmanaged_slot_0 on postgres-1 with the test_decoding plugin # features/steps/slots.py:9 2544s Mar 22 13:48:06 And I create a logical replication slot unmanaged_slot_1 on postgres-1 with the test_decoding plugin # features/steps/slots.py:9 2544s Mar 22 13:48:06 And I create a logical replication slot unmanaged_slot_2 on postgres-1 with the test_decoding plugin # features/steps/slots.py:9 2544s Mar 22 13:48:06 And I create a logical replication slot unmanaged_slot_3 on postgres-1 with the test_decoding plugin # features/steps/slots.py:9 2544s Mar 22 13:48:06 And I create a logical replication slot dummy_slot on postgres-1 with the test_decoding plugin # features/steps/slots.py:9 2544s Mar 22 13:48:06 Then postgres-1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:20 2544s Mar 22 13:48:06 And postgres-1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:20 2544s Mar 22 13:48:06 And postgres-1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:20 2544s Mar 22 13:48:06 And postgres-1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:20 2544s Mar 22 13:48:06 When I start postgres-0 # features/steps/basic_replication.py:20 2549s Mar 22 13:48:11 Then "members/postgres-0" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 2549s Mar 22 13:48:11 And postgres-0 role is the secondary after 20 seconds # features/steps/basic_replication.py:117 2549s Mar 22 13:48:11 And replication works from postgres-1 to postgres-0 after 20 seconds # features/steps/basic_replication.py:124 2550s Mar 22 13:48:12 When I shut down postgres-1 # features/steps/basic_replication.py:41 2552s Mar 22 13:48:14 Then "members/postgres-0" key in DCS has role=primary after 10 seconds # features/steps/cascading_replication.py:23 2553s Mar 22 13:48:15 When I start postgres-1 # features/steps/basic_replication.py:20 2556s Mar 22 13:48:18 Then postgres-1 role is the secondary after 20 seconds # features/steps/basic_replication.py:117 2556s Mar 22 13:48:18 And "members/postgres-1" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 2557s Mar 22 13:48:19 And I sleep for 2 seconds # features/steps/patroni_api.py:41 2559s Mar 22 13:48:21 And postgres-1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:20 2559s Mar 22 13:48:21 And postgres-1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:20 2559s Mar 22 13:48:21 And postgres-1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:20 2559s Mar 22 13:48:21 And postgres-1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:20 2559s Mar 22 13:48:21 And postgres-1 does not have a replication slot named dummy_slot # features/steps/slots.py:41 2559s Mar 22 13:48:21 When I shut down postgres-0 # features/steps/basic_replication.py:41 2561s Mar 22 13:48:23 Then "members/postgres-1" key in DCS has role=primary after 10 seconds # features/steps/cascading_replication.py:23 2562s Mar 22 13:48:24 And postgres-1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:20 2562s Mar 22 13:48:24 And postgres-1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:20 2562s Mar 22 13:48:24 And postgres-1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:20 2562s Mar 22 13:48:24 And postgres-1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:20 2571s Mar 22 13:48:33 2571s Mar 22 13:48:33 Feature: nostream node # features/nostream_node.feature:1 2571s Mar 22 13:48:33 2571s Mar 22 13:48:33 Scenario: check nostream node is recovering from archive # features/nostream_node.feature:3 2571s Mar 22 13:48:33 When I start postgres-0 # features/steps/basic_replication.py:20 2576s Mar 22 13:48:38 And I configure and start postgres-1 with a tag nostream true # features/steps/cascading_replication.py:7 2581s Mar 22 13:48:43 Then "members/postgres-1" key in DCS has replication_state=in archive recovery after 10 seconds # features/steps/cascading_replication.py:23 2581s Mar 22 13:48:43 And replication works from postgres-0 to postgres-1 after 30 seconds # features/steps/basic_replication.py:124 2586s Mar 22 13:48:48 2586s Mar 22 13:48:48 @slot-advance 2586s Mar 22 13:48:48 Scenario: check permanent logical replication slots are not copied # features/nostream_node.feature:10 2586s Mar 22 13:48:48 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:73 2586s Mar 22 13:48:48 Then I receive a response code 200 # features/steps/patroni_api.py:100 2586s Mar 22 13:48:48 When I run patronictl.py restart batman postgres-0 --force # features/steps/patroni_api.py:88 2588s Mar 22 13:48:50 Then postgres-0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:20 2589s Mar 22 13:48:51 When I configure and start postgres-2 with a tag replicatefrom postgres-1 # features/steps/cascading_replication.py:7 2594s Mar 22 13:48:56 Then "members/postgres-2" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 2595s Mar 22 13:48:57 And postgres-1 does not have a replication slot named test_logical # features/steps/slots.py:41 2595s Mar 22 13:48:57 And postgres-2 does not have a replication slot named test_logical # features/steps/slots.py:41 2595s Mar 22 13:48:57 2595s Mar 22 13:48:57 @slot-advance 2595s Mar 22 13:48:57 Scenario: check that slots are written to the /status key # features/nostream_node.feature:21 2595s Mar 22 13:48:57 Given "status" key in DCS has postgres_0 in slots # features/steps/slots.py:118 2595s Mar 22 13:48:57 And "status" key in DCS has postgres_2 in slots # features/steps/slots.py:118 2595s Mar 22 13:48:57 And "status" key in DCS has test_logical in slots # features/steps/slots.py:118 2595s Mar 22 13:48:57 And "status" key in DCS has test_logical in slots # features/steps/slots.py:118 2595s Mar 22 13:48:57 And "status" key in DCS does not have postgres_1 in slots # features/steps/slots.py:124 2611s Mar 22 13:49:13 2611s Mar 22 13:49:13 Feature: patroni api # features/patroni_api.feature:1 2611s Mar 22 13:49:13 We should check that patroni correctly responds to valid and not-valid API requests. 2611s Mar 22 13:49:13 Scenario: check API requests on a stand-alone server # features/patroni_api.feature:4 2611s Mar 22 13:49:13 Given I start postgres-0 # features/steps/basic_replication.py:20 2616s Mar 22 13:49:18 And postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 2616s Mar 22 13:49:18 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:63 2616s Mar 22 13:49:18 Then I receive a response code 200 # features/steps/patroni_api.py:100 2616s Mar 22 13:49:18 And I receive a response state running # features/steps/patroni_api.py:100 2616s Mar 22 13:49:18 And I receive a response role primary # features/steps/patroni_api.py:100 2616s Mar 22 13:49:18 When I issue a GET request to http://127.0.0.1:8008/standby_leader # features/steps/patroni_api.py:63 2616s Mar 22 13:49:18 Then I receive a response code 503 # features/steps/patroni_api.py:100 2616s Mar 22 13:49:18 When I issue a GET request to http://127.0.0.1:8008/health # features/steps/patroni_api.py:63 2616s Mar 22 13:49:18 Then I receive a response code 200 # features/steps/patroni_api.py:100 2616s Mar 22 13:49:18 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:63 2616s Mar 22 13:49:18 Then I receive a response code 503 # features/steps/patroni_api.py:100 2616s Mar 22 13:49:18 When I issue a POST request to http://127.0.0.1:8008/reinitialize with {"force": true} # features/steps/patroni_api.py:73 2616s Mar 22 13:49:18 Then I receive a response code 503 # features/steps/patroni_api.py:100 2616s Mar 22 13:49:18 And I receive a response text I am the leader, can not reinitialize # features/steps/patroni_api.py:100 2616s Mar 22 13:49:18 When I run patronictl.py switchover batman --primary postgres-0 --force # features/steps/patroni_api.py:88 2618s Mar 22 13:49:20 Then I receive a response returncode 1 # features/steps/patroni_api.py:100 2618s Mar 22 13:49:20 And I receive a response output "Error: No candidates found to switchover to" # features/steps/patroni_api.py:100 2618s Mar 22 13:49:20 When I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres-0"} # features/steps/patroni_api.py:73 2618s Mar 22 13:49:20 Then I receive a response code 412 # features/steps/patroni_api.py:100 2618s Mar 22 13:49:20 And I receive a response text switchover is not possible: cluster does not have members except leader # features/steps/patroni_api.py:100 2618s Mar 22 13:49:20 When I issue an empty POST request to http://127.0.0.1:8008/failover # features/steps/patroni_api.py:68 2618s Mar 22 13:49:20 Then I receive a response code 400 # features/steps/patroni_api.py:100 2618s Mar 22 13:49:20 When I issue a POST request to http://127.0.0.1:8008/failover with {"foo": "bar"} # features/steps/patroni_api.py:73 2618s Mar 22 13:49:20 Then I receive a response code 400 # features/steps/patroni_api.py:100 2618s Mar 22 13:49:20 And I receive a response text "Failover could be performed only to a specific candidate" # features/steps/patroni_api.py:100 2618s Mar 22 13:49:20 2618s Mar 22 13:49:20 Scenario: check local configuration reload # features/patroni_api.feature:32 2618s Mar 22 13:49:20 Given I add tag new_tag new_value to postgres-0 config # features/steps/patroni_api.py:139 2618s Mar 22 13:49:20 And I issue an empty POST request to http://127.0.0.1:8008/reload # features/steps/patroni_api.py:68 2618s Mar 22 13:49:20 Then I receive a response code 202 # features/steps/patroni_api.py:100 2618s Mar 22 13:49:20 2618s Mar 22 13:49:20 Scenario: check dynamic configuration change via DCS # features/patroni_api.feature:37 2618s Mar 22 13:49:20 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:73 2618s Mar 22 13:49:20 Then I receive a response code 200 # features/steps/patroni_api.py:100 2618s Mar 22 13:49:20 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 11 seconds # features/steps/patroni_api.py:158 2620s Mar 22 13:49:22 When I issue a GET request to http://127.0.0.1:8008/config # features/steps/patroni_api.py:63 2620s Mar 22 13:49:22 Then I receive a response code 200 # features/steps/patroni_api.py:100 2620s Mar 22 13:49:22 And I receive a response ttl 20 # features/steps/patroni_api.py:100 2620s Mar 22 13:49:22 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:63 2620s Mar 22 13:49:22 Then I receive a response code 200 # features/steps/patroni_api.py:100 2620s Mar 22 13:49:22 And I receive a response tags {'new_tag': 'new_value'} # features/steps/patroni_api.py:100 2620s Mar 22 13:49:22 And I sleep for 4 seconds # features/steps/patroni_api.py:41 2624s Mar 22 13:49:26 2624s Mar 22 13:49:26 Scenario: check the scheduled restart # features/patroni_api.feature:49 2624s Mar 22 13:49:26 Given I run patronictl.py edit-config -p 'superuser_reserved_connections=6' --force batman # features/steps/patroni_api.py:88 2626s Mar 22 13:49:28 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 2626s Mar 22 13:49:28 And I receive a response output "+ superuser_reserved_connections: 6" # features/steps/patroni_api.py:100 2626s Mar 22 13:49:28 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 5 seconds # features/steps/patroni_api.py:158 2626s Mar 22 13:49:28 Given I issue a scheduled restart at http://127.0.0.1:8008 in 5 seconds with {"role": "replica"} # features/steps/patroni_api.py:126 2626s Mar 22 13:49:28 Then I receive a response code 202 # features/steps/patroni_api.py:100 2626s Mar 22 13:49:28 And I sleep for 8 seconds # features/steps/patroni_api.py:41 2634s Mar 22 13:49:36 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 10 seconds # features/steps/patroni_api.py:158 2634s Mar 22 13:49:36 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:126 2634s Mar 22 13:49:36 Then I receive a response code 202 # features/steps/patroni_api.py:100 2634s Mar 22 13:49:36 And Response on GET http://127.0.0.1:8008/patroni does not contain pending_restart after 10 seconds # features/steps/patroni_api.py:173 2641s Mar 22 13:49:43 And postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 2642s Mar 22 13:49:44 2642s Mar 22 13:49:44 Scenario: check API requests for the primary-replica pair in the pause mode # features/patroni_api.feature:63 2642s Mar 22 13:49:44 Given I start postgres-1 # features/steps/basic_replication.py:20 2652s Mar 22 13:49:54 Then replication works from postgres-0 to postgres-1 after 20 seconds # features/steps/basic_replication.py:124 2653s Mar 22 13:49:55 When I run patronictl.py pause batman # features/steps/patroni_api.py:88 2654s Mar 22 13:49:56 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 2654s Mar 22 13:49:56 When I kill postmaster on postgres-1 # features/steps/basic_replication.py:56 2654s Mar 22 13:49:56 waiting for server to shut down.... done 2654s Mar 22 13:49:56 server stopped 2654s Mar 22 13:49:56 And I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:63 2655s Mar 22 13:49:56 Then I receive a response code 503 # features/steps/patroni_api.py:100 2655s Mar 22 13:49:56 And "members/postgres-1" key in DCS has state=stopped after 10 seconds # features/steps/cascading_replication.py:23 2656s Mar 22 13:49:57 When I run patronictl.py restart batman postgres-1 --force # features/steps/patroni_api.py:88 2659s Mar 22 13:50:01 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 2659s Mar 22 13:50:01 Then replication works from postgres-0 to postgres-1 after 20 seconds # features/steps/basic_replication.py:124 2660s Mar 22 13:50:02 And I sleep for 2 seconds # features/steps/patroni_api.py:41 2662s Mar 22 13:50:04 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:63 2662s Mar 22 13:50:04 Then I receive a response code 200 # features/steps/patroni_api.py:100 2662s Mar 22 13:50:04 And I receive a response state running # features/steps/patroni_api.py:100 2662s Mar 22 13:50:04 And I receive a response role replica # features/steps/patroni_api.py:100 2662s Mar 22 13:50:04 When I run patronictl.py reinit batman postgres-1 --force --wait # features/steps/patroni_api.py:88 2667s Mar 22 13:50:09 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 2667s Mar 22 13:50:09 And I receive a response output "Success: reinitialize for member postgres-1" # features/steps/patroni_api.py:100 2667s Mar 22 13:50:09 And postgres-1 role is the secondary after 30 seconds # features/steps/basic_replication.py:117 2668s Mar 22 13:50:10 And replication works from postgres-0 to postgres-1 after 20 seconds # features/steps/basic_replication.py:124 2669s Mar 22 13:50:11 When I run patronictl.py restart batman postgres-0 --force # features/steps/patroni_api.py:88 2671s Mar 22 13:50:13 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 2671s Mar 22 13:50:13 And I receive a response output "Success: restart on member postgres-0" # features/steps/patroni_api.py:100 2671s Mar 22 13:50:13 And postgres-0 role is the primary after 5 seconds # features/steps/basic_replication.py:117 2672s Mar 22 13:50:14 2672s Mar 22 13:50:14 Scenario: check the switchover via the API in the pause mode # features/patroni_api.feature:90 2672s Mar 22 13:50:14 Given I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres-0", "candidate": "postgres-1"} # features/steps/patroni_api.py:73 2674s Mar 22 13:50:16 Then I receive a response code 200 # features/steps/patroni_api.py:100 2674s Mar 22 13:50:16 And postgres-1 is a leader after 5 seconds # features/steps/patroni_api.py:31 2674s Mar 22 13:50:16 And postgres-1 role is the primary after 10 seconds # features/steps/basic_replication.py:117 2675s Mar 22 13:50:17 And postgres-0 role is the secondary after 10 seconds # features/steps/basic_replication.py:117 2680s Mar 22 13:50:22 And replication works from postgres-1 to postgres-0 after 20 seconds # features/steps/basic_replication.py:124 2680s Mar 22 13:50:22 And "members/postgres-0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2681s Mar 22 13:50:23 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:63 2681s Mar 22 13:50:23 Then I receive a response code 503 # features/steps/patroni_api.py:100 2681s Mar 22 13:50:23 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:63 2681s Mar 22 13:50:23 Then I receive a response code 200 # features/steps/patroni_api.py:100 2681s Mar 22 13:50:23 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:63 2681s Mar 22 13:50:23 Then I receive a response code 200 # features/steps/patroni_api.py:100 2681s Mar 22 13:50:23 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:63 2681s Mar 22 13:50:23 Then I receive a response code 503 # features/steps/patroni_api.py:100 2681s Mar 22 13:50:23 2681s Mar 22 13:50:23 Scenario: check the scheduled switchover # features/patroni_api.feature:107 2681s Mar 22 13:50:23 Given I issue a scheduled switchover from postgres-1 to postgres-0 in 10 seconds # features/steps/patroni_api.py:119 2683s Mar 22 13:50:25 Then I receive a response returncode 1 # features/steps/patroni_api.py:100 2683s Mar 22 13:50:25 And I receive a response output "Can't schedule switchover in the paused state" # features/steps/patroni_api.py:100 2683s Mar 22 13:50:25 When I run patronictl.py resume batman # features/steps/patroni_api.py:88 2685s Mar 22 13:50:26 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 2685s Mar 22 13:50:26 Given I issue a scheduled switchover from postgres-1 to postgres-0 in 10 seconds # features/steps/patroni_api.py:119 2686s Mar 22 13:50:28 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 2686s Mar 22 13:50:28 And postgres-0 is a leader after 20 seconds # features/steps/patroni_api.py:31 2696s Mar 22 13:50:38 And postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 2697s Mar 22 13:50:39 And postgres-1 role is the secondary after 10 seconds # features/steps/basic_replication.py:117 2699s Mar 22 13:50:41 And replication works from postgres-0 to postgres-1 after 25 seconds # features/steps/basic_replication.py:124 2699s Mar 22 13:50:41 And "members/postgres-1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2700s Mar 22 13:50:42 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:63 2700s Mar 22 13:50:42 Then I receive a response code 200 # features/steps/patroni_api.py:100 2700s Mar 22 13:50:42 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:63 2700s Mar 22 13:50:42 Then I receive a response code 503 # features/steps/patroni_api.py:100 2700s Mar 22 13:50:42 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:63 2700s Mar 22 13:50:42 Then I receive a response code 503 # features/steps/patroni_api.py:100 2700s Mar 22 13:50:42 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:63 2700s Mar 22 13:50:42 Then I receive a response code 200 # features/steps/patroni_api.py:100 2711s Mar 22 13:50:53 2711s Mar 22 13:50:53 Feature: permanent slots # features/permanent_slots.feature:1 2711s Mar 22 13:50:53 2711s Mar 22 13:50:53 Scenario: check that physical permanent slots are created # features/permanent_slots.feature:2 2711s Mar 22 13:50:53 Given I start postgres-0 # features/steps/basic_replication.py:20 2716s Mar 22 13:50:58 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 2716s Mar 22 13:50:58 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2716s Mar 22 13:50:58 When I issue a PATCH request to http://127.0.0.1:8008/config with {"slots":{"test_physical":0,"postgres_3":0},"postgresql":{"parameters":{"wal_level":"logical"}}} # features/steps/patroni_api.py:73 2716s Mar 22 13:50:58 Then I receive a response code 200 # features/steps/patroni_api.py:100 2716s Mar 22 13:50:58 And Response on GET http://127.0.0.1:8008/config contains slots after 10 seconds # features/steps/patroni_api.py:158 2716s Mar 22 13:50:58 When I start postgres-1 # features/steps/basic_replication.py:20 2721s Mar 22 13:51:03 And I configure and start postgres-2 with a tag nofailover true # features/steps/cascading_replication.py:7 2726s Mar 22 13:51:08 And I configure and start postgres-3 with a tag replicatefrom postgres-2 # features/steps/cascading_replication.py:7 2731s Mar 22 13:51:13 Then postgres-0 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:82 2731s Mar 22 13:51:13 And postgres-0 has a physical replication slot named postgres_1 after 10 seconds # features/steps/slots.py:82 2731s Mar 22 13:51:13 And postgres-0 has a physical replication slot named postgres_2 after 10 seconds # features/steps/slots.py:82 2731s Mar 22 13:51:13 And postgres-2 has a physical replication slot named postgres_3 after 10 seconds # features/steps/slots.py:82 2731s Mar 22 13:51:13 And postgres-2 does not have a replication slot named test_physical # features/steps/slots.py:41 2731s Mar 22 13:51:13 2731s Mar 22 13:51:13 @slot-advance 2731s Mar 22 13:51:13 Scenario: check that logical permanent slots are created # features/permanent_slots.feature:19 2731s Mar 22 13:51:13 Given I run patronictl.py restart batman postgres-0 --force # features/steps/patroni_api.py:88 2734s Mar 22 13:51:16 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:73 2734s Mar 22 13:51:16 Then postgres-0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:20 2735s Mar 22 13:51:17 2735s Mar 22 13:51:17 @slot-advance 2735s Mar 22 13:51:17 Scenario: check that permanent slots are created on replicas # features/permanent_slots.feature:25 2735s Mar 22 13:51:17 Given postgres-1 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:20 2740s Mar 22 13:51:22 Then Logical slot test_logical is in sync between postgres-0 and postgres-1 after 10 seconds # features/steps/slots.py:52 2740s Mar 22 13:51:22 And Logical slot test_logical is in sync between postgres-0 and postgres-3 after 10 seconds # features/steps/slots.py:52 2741s Mar 22 13:51:23 And postgres-1 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:82 2741s Mar 22 13:51:23 And postgres-2 does not have a replication slot named test_logical # features/steps/slots.py:41 2741s Mar 22 13:51:23 And postgres-3 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:82 2741s Mar 22 13:51:23 2741s Mar 22 13:51:23 @slot-advance 2741s Mar 22 13:51:23 Scenario: check permanent physical slots that match with member names # features/permanent_slots.feature:34 2741s Mar 22 13:51:23 Given postgres-0 has a physical replication slot named postgres_3 after 2 seconds # features/steps/slots.py:82 2741s Mar 22 13:51:23 And postgres-1 has a physical replication slot named postgres_0 after 2 seconds # features/steps/slots.py:82 2741s Mar 22 13:51:23 And postgres-1 has a physical replication slot named postgres_2 after 2 seconds # features/steps/slots.py:82 2741s Mar 22 13:51:23 And postgres-1 has a physical replication slot named postgres_3 after 2 seconds # features/steps/slots.py:82 2741s Mar 22 13:51:23 And postgres-2 does not have a replication slot named postgres_0 # features/steps/slots.py:41 2741s Mar 22 13:51:23 And postgres-2 does not have a replication slot named postgres_1 # features/steps/slots.py:41 2741s Mar 22 13:51:23 And postgres-2 has a physical replication slot named postgres_3 after 2 seconds # features/steps/slots.py:82 2741s Mar 22 13:51:23 And postgres-3 has a physical replication slot named postgres_0 after 2 seconds # features/steps/slots.py:82 2741s Mar 22 13:51:23 And postgres-3 has a physical replication slot named postgres_1 after 2 seconds # features/steps/slots.py:82 2741s Mar 22 13:51:23 And postgres-3 has a physical replication slot named postgres_2 after 2 seconds # features/steps/slots.py:82 2741s Mar 22 13:51:23 2741s Mar 22 13:51:23 @slot-advance 2741s Mar 22 13:51:23 Scenario: check that permanent slots are advanced on replicas # features/permanent_slots.feature:47 2741s Mar 22 13:51:23 Given I add the table replicate_me to postgres-0 # features/steps/basic_replication.py:66 2741s Mar 22 13:51:23 When I get all changes from logical slot test_logical on postgres-0 # features/steps/slots.py:72 2741s Mar 22 13:51:23 And I get all changes from physical slot test_physical on postgres-0 # features/steps/slots.py:77 2741s Mar 22 13:51:23 Then Logical slot test_logical is in sync between postgres-0 and postgres-1 after 10 seconds # features/steps/slots.py:52 2742s Mar 22 13:51:24 And Physical slot test_physical is in sync between postgres-0 and postgres-1 after 10 seconds # features/steps/slots.py:52 2742s Mar 22 13:51:24 And Logical slot test_logical is in sync between postgres-0 and postgres-3 after 10 seconds # features/steps/slots.py:52 2742s Mar 22 13:51:24 And Physical slot test_physical is in sync between postgres-0 and postgres-3 after 10 seconds # features/steps/slots.py:52 2742s Mar 22 13:51:24 And Physical slot postgres_1 is in sync between postgres-0 and postgres-3 after 10 seconds # features/steps/slots.py:52 2742s Mar 22 13:51:24 And Physical slot postgres_3 is in sync between postgres-2 and postgres-0 after 20 seconds # features/steps/slots.py:52 2744s Mar 22 13:51:26 And Physical slot postgres_3 is in sync between postgres-2 and postgres-1 after 10 seconds # features/steps/slots.py:52 2744s Mar 22 13:51:26 2744s Mar 22 13:51:26 @slot-advance 2744s Mar 22 13:51:26 Scenario: check that permanent slots and member slots are written to the /status key # features/permanent_slots.feature:60 2744s Mar 22 13:51:26 Given "status" key in DCS has test_physical in slots # features/steps/slots.py:118 2744s Mar 22 13:51:26 And "status" key in DCS has postgres_0 in slots # features/steps/slots.py:118 2744s Mar 22 13:51:26 And "status" key in DCS has postgres_1 in slots # features/steps/slots.py:118 2744s Mar 22 13:51:26 And "status" key in DCS has postgres_2 in slots # features/steps/slots.py:118 2744s Mar 22 13:51:26 And "status" key in DCS has postgres_3 in slots # features/steps/slots.py:118 2744s Mar 22 13:51:26 2744s Mar 22 13:51:26 @slot-advance 2744s Mar 22 13:51:26 Scenario: check that only non-permanent member slots are written to the retain_slots in /status key # features/permanent_slots.feature:68 2744s Mar 22 13:51:26 Given "status" key in DCS has postgres_0 in retain_slots # features/steps/slots.py:118 2744s Mar 22 13:51:26 And "status" key in DCS has postgres_1 in retain_slots # features/steps/slots.py:118 2744s Mar 22 13:51:26 And "status" key in DCS has postgres_2 in retain_slots # features/steps/slots.py:118 2744s Mar 22 13:51:26 And "status" key in DCS does not have postgres_3 in retain_slots # features/steps/slots.py:124 2744s Mar 22 13:51:26 2744s Mar 22 13:51:26 Scenario: check permanent physical replication slot after failover # features/permanent_slots.feature:74 2744s Mar 22 13:51:26 Given I shut down postgres-3 # features/steps/basic_replication.py:41 2745s Mar 22 13:51:27 And I shut down postgres-2 # features/steps/basic_replication.py:41 2746s Mar 22 13:51:28 And I shut down postgres-0 # features/steps/basic_replication.py:41 2748s Mar 22 13:51:30 Then postgres-1 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:82 2748s Mar 22 13:51:30 And postgres-1 has a physical replication slot named postgres_0 after 10 seconds # features/steps/slots.py:82 2748s Mar 22 13:51:30 And postgres-1 has a physical replication slot named postgres_3 after 10 seconds # features/steps/slots.py:82 2748s Mar 22 13:51:30 When I start postgres-0 # features/steps/basic_replication.py:20 2751s Mar 22 13:51:33 Then postgres-0 role is the replica after 20 seconds # features/steps/basic_replication.py:117 2751s Mar 22 13:51:33 And physical replication slot named postgres_1 on postgres-0 has no xmin value after 10 seconds # features/steps/slots.py:98 2752s Mar 22 13:51:34 And postgres-0 has a physical replication slot named postgres_2 after 10 seconds # features/steps/slots.py:82 2752s Mar 22 13:51:34 And postgres-0 has a physical replication slot named postgres_3 after 10 seconds # features/steps/slots.py:82 2766s Mar 22 13:51:48 2766s Mar 22 13:51:48 Feature: priority replication # features/priority_failover.feature:1 2766s Mar 22 13:51:48 We should check that we can give nodes priority during failover 2766s Mar 22 13:51:48 Scenario: check failover priority 0 prevents leaderships # features/priority_failover.feature:4 2766s Mar 22 13:51:48 Given I configure and start postgres-0 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 2771s Mar 22 13:51:53 And I configure and start postgres-1 with a tag failover_priority 0 # features/steps/cascading_replication.py:7 2776s Mar 22 13:51:58 Then replication works from postgres-0 to postgres-1 after 20 seconds # features/steps/basic_replication.py:124 2777s Mar 22 13:51:59 When I shut down postgres-0 # features/steps/basic_replication.py:41 2779s Mar 22 13:52:01 And there is one of ["following a different leader because I am not allowed to promote"] INFO in the postgres-1 patroni log after 5 seconds # features/steps/basic_replication.py:133 2781s Mar 22 13:52:03 Then postgres-1 role is the secondary after 10 seconds # features/steps/basic_replication.py:117 2781s Mar 22 13:52:03 When I start postgres-0 # features/steps/basic_replication.py:20 2784s Mar 22 13:52:06 Then postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 2787s Mar 22 13:52:09 2787s Mar 22 13:52:09 Scenario: check higher failover priority is respected # features/priority_failover.feature:14 2787s Mar 22 13:52:09 Given I configure and start postgres-2 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 2792s Mar 22 13:52:14 And I configure and start postgres-3 with a tag failover_priority 2 # features/steps/cascading_replication.py:7 2797s Mar 22 13:52:19 Then replication works from postgres-0 to postgres-2 after 20 seconds # features/steps/basic_replication.py:124 2798s Mar 22 13:52:20 And replication works from postgres-0 to postgres-3 after 20 seconds # features/steps/basic_replication.py:124 2799s Mar 22 13:52:21 When I shut down postgres-0 # features/steps/basic_replication.py:41 2801s Mar 22 13:52:23 Then postgres-3 role is the primary after 10 seconds # features/steps/basic_replication.py:117 2801s Mar 22 13:52:23 And there is one of ["postgres-3 has equally tolerable WAL position and priority 2, while this node has priority 1","Wal position of postgres-3 is ahead of my wal position"] INFO in the postgres-2 patroni log after 5 seconds # features/steps/basic_replication.py:133 2801s Mar 22 13:52:23 2801s Mar 22 13:52:23 Scenario: check conflicting configuration handling # features/priority_failover.feature:23 2801s Mar 22 13:52:23 When I set nofailover tag in postgres-2 config # features/steps/patroni_api.py:133 2801s Mar 22 13:52:23 And I issue an empty POST request to http://127.0.0.1:8010/reload # features/steps/patroni_api.py:68 2801s Mar 22 13:52:23 Then I receive a response code 202 # features/steps/patroni_api.py:100 2801s Mar 22 13:52:23 And there is one of ["Conflicting configuration between nofailover: True and failover_priority: 1. Defaulting to nofailover: True"] WARNING in the postgres-2 patroni log after 5 seconds # features/steps/basic_replication.py:133 2802s Mar 22 13:52:24 And "members/postgres-2" key in DCS has tags={'failover_priority': '1', 'nofailover': True} after 10 seconds # features/steps/cascading_replication.py:23 2803s Mar 22 13:52:25 When I issue a POST request to http://127.0.0.1:8010/failover with {"candidate": "postgres-2"} # features/steps/patroni_api.py:73 2803s Mar 22 13:52:25 Then I receive a response code 412 # features/steps/patroni_api.py:100 2803s Mar 22 13:52:25 And I receive a response text "failover is not possible: no good candidates have been found" # features/steps/patroni_api.py:100 2803s Mar 22 13:52:25 When I reset nofailover tag in postgres-1 config # features/steps/patroni_api.py:133 2803s Mar 22 13:52:25 And I issue an empty POST request to http://127.0.0.1:8009/reload # features/steps/patroni_api.py:68 2803s Mar 22 13:52:25 Then I receive a response code 202 # features/steps/patroni_api.py:100 2803s Mar 22 13:52:25 And there is one of ["Conflicting configuration between nofailover: False and failover_priority: 0. Defaulting to nofailover: False"] WARNING in the postgres-1 patroni log after 5 seconds # features/steps/basic_replication.py:133 2804s Mar 22 13:52:26 And "members/postgres-1" key in DCS has tags={'failover_priority': '0', 'nofailover': False} after 10 seconds # features/steps/cascading_replication.py:23 2805s Mar 22 13:52:27 And I issue a POST request to http://127.0.0.1:8009/failover with {"candidate": "postgres-1"} # features/steps/patroni_api.py:73 2807s Mar 22 13:52:29 Then I receive a response code 200 # features/steps/patroni_api.py:100 2807s Mar 22 13:52:29 And postgres-1 role is the primary after 10 seconds # features/steps/basic_replication.py:117 2820s Mar 22 13:52:42 2820s Mar 22 13:52:42 Feature: quorum commit # features/quorum_commit.feature:1 2820s Mar 22 13:52:42 Check basic workfrlows when quorum commit is enabled 2820s Mar 22 13:52:42 Scenario: check enable quorum commit and that the only leader promotes after restart # features/quorum_commit.feature:4 2820s Mar 22 13:52:42 Given I start postgres-0 # features/steps/basic_replication.py:20 2825s Mar 22 13:52:47 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 2825s Mar 22 13:52:47 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2825s Mar 22 13:52:47 When I issue a PATCH request to http://127.0.0.1:8008/config with {"ttl": 20, "synchronous_mode": "quorum"} # features/steps/patroni_api.py:73 2825s Mar 22 13:52:47 Then I receive a response code 200 # features/steps/patroni_api.py:100 2825s Mar 22 13:52:47 And sync key in DCS has leader=postgres-0 after 20 seconds # features/steps/quorum_commit.py:8 2825s Mar 22 13:52:47 And sync key in DCS has quorum=0 after 2 seconds # features/steps/quorum_commit.py:8 2825s Mar 22 13:52:47 And synchronous_standby_names on postgres-0 is set to '_empty_str_' after 2 seconds # features/steps/quorum_commit.py:39 2825s Mar 22 13:52:47 When I shut down postgres-0 # features/steps/basic_replication.py:41 2827s Mar 22 13:52:49 And sync key in DCS has leader=postgres-0 after 2 seconds # features/steps/quorum_commit.py:8 2827s Mar 22 13:52:49 When I start postgres-0 # features/steps/basic_replication.py:20 2830s Mar 22 13:52:52 Then postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 2833s Mar 22 13:52:55 When I issue a PATCH request to http://127.0.0.1:8008/config with {"synchronous_mode_strict": true} # features/steps/patroni_api.py:73 2833s Mar 22 13:52:55 Then synchronous_standby_names on postgres-0 is set to 'ANY 1 (*)' after 10 seconds # features/steps/quorum_commit.py:39 2834s Mar 22 13:52:56 2834s Mar 22 13:52:56 Scenario: check failover with one quorum standby # features/quorum_commit.feature:20 2834s Mar 22 13:52:56 Given I start postgres-1 # features/steps/basic_replication.py:20 2839s Mar 22 13:53:01 Then sync key in DCS has sync_standby=postgres-1 after 10 seconds # features/steps/quorum_commit.py:8 2841s Mar 22 13:53:03 And synchronous_standby_names on postgres-0 is set to 'ANY 1 ("postgres-1")' after 2 seconds # features/steps/quorum_commit.py:39 2841s Mar 22 13:53:03 When I shut down postgres-0 # features/steps/basic_replication.py:41 2843s Mar 22 13:53:05 Then postgres-1 role is the primary after 10 seconds # features/steps/basic_replication.py:117 2844s Mar 22 13:53:06 And sync key in DCS has quorum=0 after 10 seconds # features/steps/quorum_commit.py:8 2844s Mar 22 13:53:06 Then synchronous_standby_names on postgres-1 is set to 'ANY 1 (*)' after 10 seconds # features/steps/quorum_commit.py:39 2846s Mar 22 13:53:08 When I start postgres-0 # features/steps/basic_replication.py:20 2849s Mar 22 13:53:11 Then sync key in DCS has leader=postgres-1 after 10 seconds # features/steps/quorum_commit.py:8 2849s Mar 22 13:53:11 Then sync key in DCS has sync_standby=postgres-0 after 10 seconds # features/steps/quorum_commit.py:8 2851s Mar 22 13:53:13 And synchronous_standby_names on postgres-1 is set to 'ANY 1 ("postgres-0")' after 2 seconds # features/steps/quorum_commit.py:39 2851s Mar 22 13:53:13 2851s Mar 22 13:53:13 Scenario: check behavior with three nodes and different replication factor # features/quorum_commit.feature:33 2851s Mar 22 13:53:13 Given I start postgres-2 # features/steps/basic_replication.py:20 2856s Mar 22 13:53:18 Then sync key in DCS has sync_standby=postgres-0,postgres-2 after 10 seconds # features/steps/quorum_commit.py:8 2857s Mar 22 13:53:19 And sync key in DCS has quorum=1 after 2 seconds # features/steps/quorum_commit.py:8 2857s Mar 22 13:53:19 And synchronous_standby_names on postgres-1 is set to 'ANY 1 ("postgres-0","postgres-2")' after 2 seconds # features/steps/quorum_commit.py:39 2857s Mar 22 13:53:19 When I issue a PATCH request to http://127.0.0.1:8009/config with {"synchronous_node_count": 2} # features/steps/patroni_api.py:73 2858s Mar 22 13:53:20 Then sync key in DCS has quorum=0 after 10 seconds # features/steps/quorum_commit.py:8 2859s Mar 22 13:53:21 And synchronous_standby_names on postgres-1 is set to 'ANY 2 ("postgres-0","postgres-2")' after 2 seconds # features/steps/quorum_commit.py:39 2859s Mar 22 13:53:21 2859s Mar 22 13:53:21 Scenario: switch from quorum replication to good old multisync and back # features/quorum_commit.feature:42 2859s Mar 22 13:53:21 Given I issue a PATCH request to http://127.0.0.1:8009/config with {"synchronous_mode": true, "synchronous_node_count": 1} # features/steps/patroni_api.py:73 2859s Mar 22 13:53:21 And I shut down postgres-0 # features/steps/basic_replication.py:41 2860s Mar 22 13:53:22 Then synchronous_standby_names on postgres-1 is set to '"postgres-2"' after 10 seconds # features/steps/quorum_commit.py:39 2862s Mar 22 13:53:24 And sync key in DCS has sync_standby=postgres-2 after 10 seconds # features/steps/quorum_commit.py:8 2864s Mar 22 13:53:26 Then sync key in DCS has quorum=0 after 2 seconds # features/steps/quorum_commit.py:8 2864s Mar 22 13:53:26 When I issue a PATCH request to http://127.0.0.1:8009/config with {"synchronous_mode": "quorum"} # features/steps/patroni_api.py:73 2864s Mar 22 13:53:26 And I start postgres-0 # features/steps/basic_replication.py:20 2867s Mar 22 13:53:29 Then synchronous_standby_names on postgres-1 is set to 'ANY 1 ("postgres-0","postgres-2")' after 10 seconds # features/steps/quorum_commit.py:39 2868s Mar 22 13:53:30 And sync key in DCS has sync_standby=postgres-0,postgres-2 after 10 seconds # features/steps/quorum_commit.py:8 2868s Mar 22 13:53:30 Then sync key in DCS has quorum=1 after 2 seconds # features/steps/quorum_commit.py:8 2868s Mar 22 13:53:30 2868s Mar 22 13:53:30 Scenario: REST API and patronictl # features/quorum_commit.feature:54 2868s Mar 22 13:53:30 Given I run patronictl.py list batman # features/steps/patroni_api.py:88 2870s Mar 22 13:53:32 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 2870s Mar 22 13:53:32 And I receive a response output "Quorum Standby" # features/steps/patroni_api.py:100 2870s Mar 22 13:53:32 And Status code on GET http://127.0.0.1:8008/quorum is 200 after 3 seconds # features/steps/patroni_api.py:144 2870s Mar 22 13:53:32 And Status code on GET http://127.0.0.1:8010/quorum is 200 after 3 seconds # features/steps/patroni_api.py:144 2870s Mar 22 13:53:32 2870s Mar 22 13:53:32 Scenario: nosync node is removed from voters and synchronous_standby_names # features/quorum_commit.feature:61 2870s Mar 22 13:53:32 Given I add tag nosync true to postgres-2 config # features/steps/patroni_api.py:139 2870s Mar 22 13:53:32 When I issue an empty POST request to http://127.0.0.1:8010/reload # features/steps/patroni_api.py:68 2870s Mar 22 13:53:32 Then I receive a response code 202 # features/steps/patroni_api.py:100 2870s Mar 22 13:53:32 And sync key in DCS has quorum=0 after 10 seconds # features/steps/quorum_commit.py:8 2873s Mar 22 13:53:35 And sync key in DCS has sync_standby=postgres-0 after 10 seconds # features/steps/quorum_commit.py:8 2873s Mar 22 13:53:35 And synchronous_standby_names on postgres-1 is set to 'ANY 1 ("postgres-0")' after 2 seconds # features/steps/quorum_commit.py:39 2873s Mar 22 13:53:35 And Status code on GET http://127.0.0.1:8010/quorum is 503 after 10 seconds # features/steps/patroni_api.py:144 2887s Mar 22 13:53:49 2887s Mar 22 13:53:49 Feature: recovery # features/recovery.feature:1 2887s Mar 22 13:53:49 We want to check that crashed postgres is started back 2887s Mar 22 13:53:49 Scenario: check that timeline is not incremented when primary is started after crash # features/recovery.feature:4 2887s Mar 22 13:53:49 Given I start postgres-0 # features/steps/basic_replication.py:20 2892s Mar 22 13:53:54 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 2892s Mar 22 13:53:54 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2892s Mar 22 13:53:54 When I start postgres-1 # features/steps/basic_replication.py:20 2898s Mar 22 13:54:00 And I add the table foo to postgres-0 # features/steps/basic_replication.py:66 2898s Mar 22 13:54:00 Then table foo is present on postgres-1 after 20 seconds # features/steps/basic_replication.py:105 2899s Mar 22 13:54:01 When I kill postmaster on postgres-0 # features/steps/basic_replication.py:56 2899s Mar 22 13:54:01 waiting for server to shut down.... done 2899s Mar 22 13:54:01 server stopped 2899s Mar 22 13:54:01 Then postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 2902s Mar 22 13:54:04 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:63 2902s Mar 22 13:54:04 Then I receive a response code 200 # features/steps/patroni_api.py:100 2902s Mar 22 13:54:04 And I receive a response role primary # features/steps/patroni_api.py:100 2902s Mar 22 13:54:04 And I receive a response timeline 1 # features/steps/patroni_api.py:100 2902s Mar 22 13:54:04 And "members/postgres-0" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 2902s Mar 22 13:54:04 And replication works from postgres-0 to postgres-1 after 15 seconds # features/steps/basic_replication.py:124 2905s Mar 22 13:54:07 2905s Mar 22 13:54:07 Scenario: check immediate failover when master_start_timeout=0 # features/recovery.feature:20 2905s Mar 22 13:54:07 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"master_start_timeout": 0} # features/steps/patroni_api.py:73 2905s Mar 22 13:54:07 Then I receive a response code 200 # features/steps/patroni_api.py:100 2905s Mar 22 13:54:07 And Response on GET http://127.0.0.1:8008/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:158 2905s Mar 22 13:54:07 When I kill postmaster on postgres-0 # features/steps/basic_replication.py:56 2905s Mar 22 13:54:07 waiting for server to shut down.... done 2905s Mar 22 13:54:07 server stopped 2905s Mar 22 13:54:07 Then postgres-1 is a leader after 10 seconds # features/steps/patroni_api.py:31 2908s Mar 22 13:54:10 And postgres-1 role is the primary after 10 seconds # features/steps/basic_replication.py:117 2908s Mar 22 13:54:10 2908s Mar 22 13:54:10 Scenario: check crashed primary demotes after failed attempt to start # features/recovery.feature:28 2908s Mar 22 13:54:10 Given I issue a PATCH request to http://127.0.0.1:8009/config with {"master_start_timeout": null} # features/steps/patroni_api.py:73 2908s Mar 22 13:54:10 Then I receive a response code 200 # features/steps/patroni_api.py:100 2908s Mar 22 13:54:10 And postgres-0 role is the replica after 10 seconds # features/steps/basic_replication.py:117 2910s Mar 22 13:54:12 When I ensure postgres-1 fails to start after a failure # features/steps/recovery.py:6 2910s Mar 22 13:54:12 When I kill postmaster on postgres-1 # features/steps/basic_replication.py:56 2910s Mar 22 13:54:12 waiting for server to shut down.... done 2910s Mar 22 13:54:12 server stopped 2910s Mar 22 13:54:12 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 2911s Mar 22 13:54:13 And there is a postgres-1_cb.log with "on_role_change demoted batman" in postgres-1 data directory # features/steps/cascading_replication.py:12 2921s Mar 22 13:54:23 2921s Mar 22 13:54:23 Feature: standby cluster # features/standby_cluster.feature:1 2921s Mar 22 13:54:23 2921s Mar 22 13:54:23 Scenario: prepare the cluster with logical slots # features/standby_cluster.feature:2 2921s Mar 22 13:54:23 Given I start postgres-1 # features/steps/basic_replication.py:20 2926s Mar 22 13:54:28 Then postgres-1 is a leader after 10 seconds # features/steps/patroni_api.py:31 2926s Mar 22 13:54:28 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2926s Mar 22 13:54:28 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:73 2926s Mar 22 13:54:28 Then I receive a response code 200 # features/steps/patroni_api.py:100 2926s Mar 22 13:54:28 And Response on GET http://127.0.0.1:8009/config contains slots after 10 seconds # features/steps/patroni_api.py:158 2926s Mar 22 13:54:28 And I sleep for 3 seconds # features/steps/patroni_api.py:41 2929s Mar 22 13:54:31 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:73 2929s Mar 22 13:54:31 Then I receive a response code 200 # features/steps/patroni_api.py:100 2929s Mar 22 13:54:31 And I do a backup of postgres-1 # features/steps/custom_bootstrap.py:25 2931s Mar 22 13:54:33 When I start postgres-0 # features/steps/basic_replication.py:20 2936s Mar 22 13:54:38 Then "members/postgres-0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2937s Mar 22 13:54:39 And replication works from postgres-1 to postgres-0 after 15 seconds # features/steps/basic_replication.py:124 2938s Mar 22 13:54:40 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:63 2938s Mar 22 13:54:40 Then I receive a response code 200 # features/steps/patroni_api.py:100 2938s Mar 22 13:54:40 And I receive a response replication_state streaming # features/steps/patroni_api.py:100 2938s Mar 22 13:54:40 And "members/postgres-0" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 2938s Mar 22 13:54:40 2938s Mar 22 13:54:40 @slot-advance 2938s Mar 22 13:54:40 Scenario: check permanent logical slots are synced to the replica # features/standby_cluster.feature:22 2938s Mar 22 13:54:40 Given I run patronictl.py restart batman postgres-1 --force # features/steps/patroni_api.py:88 2941s Mar 22 13:54:43 Then Logical slot test_logical is in sync between postgres-0 and postgres-1 after 10 seconds # features/steps/slots.py:52 2947s Mar 22 13:54:49 2947s Mar 22 13:54:49 Scenario: Detach exiting node from the cluster # features/standby_cluster.feature:26 2947s Mar 22 13:54:49 When I shut down postgres-1 # features/steps/basic_replication.py:41 2949s Mar 22 13:54:51 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 2949s Mar 22 13:54:51 And "members/postgres-0" key in DCS has role=primary after 5 seconds # features/steps/cascading_replication.py:23 2953s Mar 22 13:54:55 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:63 2953s Mar 22 13:54:55 Then I receive a response code 200 # features/steps/patroni_api.py:100 2953s Mar 22 13:54:55 2953s Mar 22 13:54:55 Scenario: check replication of a single table in a standby cluster # features/standby_cluster.feature:33 2953s Mar 22 13:54:55 Given I start postgres-1 in a standby cluster batman1 as a clone of postgres-0 # features/steps/standby_cluster.py:23 2957s Mar 22 13:54:59 Then postgres-1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 2959s Mar 22 13:55:01 When I add the table foo to postgres-0 # features/steps/basic_replication.py:66 2959s Mar 22 13:55:01 Then table foo is present on postgres-1 after 20 seconds # features/steps/basic_replication.py:105 2959s Mar 22 13:55:01 When I issue a GET request to http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:63 2959s Mar 22 13:55:01 Then I receive a response code 200 # features/steps/patroni_api.py:100 2959s Mar 22 13:55:01 And I receive a response replication_state streaming # features/steps/patroni_api.py:100 2959s Mar 22 13:55:01 And I sleep for 3 seconds # features/steps/patroni_api.py:41 2962s Mar 22 13:55:04 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:63 2962s Mar 22 13:55:04 Then I receive a response code 503 # features/steps/patroni_api.py:100 2962s Mar 22 13:55:04 When I issue a GET request to http://127.0.0.1:8009/standby_leader # features/steps/patroni_api.py:63 2962s Mar 22 13:55:04 Then I receive a response code 200 # features/steps/patroni_api.py:100 2962s Mar 22 13:55:04 And I receive a response role standby_leader # features/steps/patroni_api.py:100 2962s Mar 22 13:55:04 And there is a postgres-1_cb.log with "on_role_change standby_leader batman1" in postgres-1 data directory # features/steps/cascading_replication.py:12 2962s Mar 22 13:55:04 When I start postgres-2 in a cluster batman1 # features/steps/standby_cluster.py:12 2967s Mar 22 13:55:09 Then postgres-2 role is the replica after 24 seconds # features/steps/basic_replication.py:117 2967s Mar 22 13:55:09 And postgres-2 is replicating from postgres-1 after 10 seconds # features/steps/standby_cluster.py:52 2968s Mar 22 13:55:10 And table foo is present on postgres-2 after 20 seconds # features/steps/basic_replication.py:105 2968s Mar 22 13:55:10 When I issue a GET request to http://127.0.0.1:8010/patroni # features/steps/patroni_api.py:63 2968s Mar 22 13:55:10 Then I receive a response code 200 # features/steps/patroni_api.py:100 2968s Mar 22 13:55:10 And I receive a response replication_state streaming # features/steps/patroni_api.py:100 2968s Mar 22 13:55:10 And postgres-1 does not have a replication slot named test_logical # features/steps/slots.py:41 2968s Mar 22 13:55:10 2968s Mar 22 13:55:10 Scenario: check switchover # features/standby_cluster.feature:57 2968s Mar 22 13:55:10 Given I run patronictl.py switchover batman1 --force # features/steps/patroni_api.py:88 2972s Mar 22 13:55:14 Then Status code on GET http://127.0.0.1:8010/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:144 2972s Mar 22 13:55:14 And postgres-1 is replicating from postgres-2 after 32 seconds # features/steps/standby_cluster.py:52 2975s Mar 22 13:55:17 And there is a postgres-2_cb.log with "on_start replica batman1\non_role_change standby_leader batman1" in postgres-2 data directory # features/steps/cascading_replication.py:12 2975s Mar 22 13:55:17 2975s Mar 22 13:55:17 Scenario: check failover # features/standby_cluster.feature:63 2975s Mar 22 13:55:17 When I kill postgres-2 # features/steps/basic_replication.py:46 2976s Mar 22 13:55:18 And I kill postmaster on postgres-2 # features/steps/basic_replication.py:56 2976s Mar 22 13:55:18 waiting for server to shut down.... done 2976s Mar 22 13:55:18 server stopped 2976s Mar 22 13:55:18 Then postgres-1 is replicating from postgres-0 after 32 seconds # features/steps/standby_cluster.py:52 2996s Mar 22 13:55:38 And Status code on GET http://127.0.0.1:8009/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:144 2996s Mar 22 13:55:38 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:63 2996s Mar 22 13:55:38 Then I receive a response code 503 # features/steps/patroni_api.py:100 2996s Mar 22 13:55:38 And I receive a response role standby_leader # features/steps/patroni_api.py:100 2996s Mar 22 13:55:38 And replication works from postgres-0 to postgres-1 after 15 seconds # features/steps/basic_replication.py:124 2997s Mar 22 13:55:39 And there is a postgres-1_cb.log with "on_role_change replica batman1\non_role_change standby_leader batman1" in postgres-1 data directory # features/steps/cascading_replication.py:12 3026s Mar 22 13:56:08 3026s Mar 22 13:56:08 Feature: watchdog # features/watchdog.feature:1 3026s Mar 22 13:56:08 Verify that watchdog gets pinged and triggered under appropriate circumstances. 3026s Mar 22 13:56:08 Scenario: watchdog is opened and pinged # features/watchdog.feature:4 3026s Mar 22 13:56:08 Given I start postgres-0 with watchdog # features/steps/watchdog.py:17 3032s Mar 22 13:56:14 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 3032s Mar 22 13:56:14 And postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 3032s Mar 22 13:56:14 And postgres-0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:22 3032s Mar 22 13:56:14 And postgres-0 watchdog has a 15 second timeout # features/steps/watchdog.py:35 3032s Mar 22 13:56:14 3032s Mar 22 13:56:14 Scenario: watchdog is reconfigured after global ttl changed # features/watchdog.feature:11 3032s Mar 22 13:56:14 Given I run patronictl.py edit-config batman -s ttl=30 --force # features/steps/patroni_api.py:88 3034s Mar 22 13:56:16 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 3034s Mar 22 13:56:16 And I receive a response output "+ttl: 30" # features/steps/patroni_api.py:100 3034s Mar 22 13:56:16 When I sleep for 4 seconds # features/steps/patroni_api.py:41 3038s Mar 22 13:56:20 Then postgres-0 watchdog has a 25 second timeout # features/steps/watchdog.py:35 3038s Mar 22 13:56:20 3038s Mar 22 13:56:20 Scenario: watchdog is disabled during pause # features/watchdog.feature:18 3038s Mar 22 13:56:20 Given I run patronictl.py pause batman # features/steps/patroni_api.py:88 3039s Mar 22 13:56:21 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 3039s Mar 22 13:56:21 When I sleep for 2 seconds # features/steps/patroni_api.py:41 3041s Mar 22 13:56:23 Then postgres-0 watchdog has been closed # features/steps/watchdog.py:30 3041s Mar 22 13:56:23 3041s Mar 22 13:56:23 Scenario: watchdog is opened and pinged after resume # features/watchdog.feature:24 3041s Mar 22 13:56:23 Given I reset postgres-0 watchdog state # features/steps/watchdog.py:40 3041s Mar 22 13:56:23 And I run patronictl.py resume batman # features/steps/patroni_api.py:88 3043s Mar 22 13:56:25 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 3043s Mar 22 13:56:25 And postgres-0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:22 3044s Mar 22 13:56:26 3044s Mar 22 13:56:26 Scenario: watchdog is disabled when shutting down # features/watchdog.feature:30 3044s Mar 22 13:56:26 Given I shut down postgres-0 # features/steps/basic_replication.py:41 3046s Mar 22 13:56:28 Then postgres-0 watchdog has been closed # features/steps/watchdog.py:30 3046s Mar 22 13:56:28 3046s Mar 22 13:56:28 Scenario: watchdog is triggered if patroni stops responding # features/watchdog.feature:34 3046s Mar 22 13:56:28 Given I reset postgres-0 watchdog state # features/steps/watchdog.py:40 3046s Mar 22 13:56:28 And I start postgres-0 with watchdog # features/steps/watchdog.py:17 3051s Mar 22 13:56:32 Then postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 3053s Mar 22 13:56:34 When postgres-0 hangs for 30 seconds # features/steps/watchdog.py:53 3053s Mar 22 13:56:35 Then postgres-0 watchdog is triggered after 30 seconds # features/steps/watchdog.py:45 3090s Mar 22 13:57:12 3092s Mar 22 13:57:14 Combined data file .coverage.autopkgtest-lxd-qtyfae.3177.XzAfwqwx 3092s Mar 22 13:57:14 Combined data file .coverage.autopkgtest-lxd-qtyfae.3180.XslJbvex 3092s Mar 22 13:57:14 Combined data file .coverage.autopkgtest-lxd-qtyfae.3225.XuIMRNlx 3092s Mar 22 13:57:14 Combined data file .coverage.autopkgtest-lxd-qtyfae.3274.XVXmDmox 3092s Mar 22 13:57:14 Combined data file .coverage.autopkgtest-lxd-qtyfae.3324.XPFdMJAx 3092s Mar 22 13:57:14 Combined data file .coverage.autopkgtest-lxd-qtyfae.3372.XoDAxDKx 3092s Mar 22 13:57:14 Combined data file .coverage.autopkgtest-lxd-qtyfae.3446.XFjkxyZx 3092s Mar 22 13:57:14 Combined data file .coverage.autopkgtest-lxd-qtyfae.3497.XMYMZJDx 3092s Mar 22 13:57:14 Combined data file .coverage.autopkgtest-lxd-qtyfae.3501.XyOmYIux 3092s Mar 22 13:57:14 Combined data file .coverage.autopkgtest-lxd-qtyfae.3579.XTmRLyJx 3092s Mar 22 13:57:14 Combined data file .coverage.autopkgtest-lxd-qtyfae.3698.XwUXMHhx 3092s Mar 22 13:57:14 Combined data file .coverage.autopkgtest-lxd-qtyfae.3701.XwgrRsjx 3092s Mar 22 13:57:14 Combined data file .coverage.autopkgtest-lxd-qtyfae.3745.XKYlkfSx 3092s Mar 22 13:57:14 Combined data file .coverage.autopkgtest-lxd-qtyfae.3798.XgeGnjDx 3092s Mar 22 13:57:14 Combined data file .coverage.autopkgtest-lxd-qtyfae.3925.XrUmfuXx 3092s Mar 22 13:57:14 Combined data file .coverage.autopkgtest-lxd-qtyfae.3929.XBYGwhFx 3092s Mar 22 13:57:14 Combined data file .coverage.autopkgtest-lxd-qtyfae.3932.XjMlwmOx 3092s Mar 22 13:57:14 Combined data file .coverage.autopkgtest-lxd-qtyfae.3978.XXeJORlx 3092s Mar 22 13:57:14 Combined data file .coverage.autopkgtest-lxd-qtyfae.4034.XYsFsaAx 3092s Mar 22 13:57:14 Combined data file .coverage.autopkgtest-lxd-qtyfae.4130.XOZrwwSx 3092s Mar 22 13:57:14 Combined data file .coverage.autopkgtest-lxd-qtyfae.4133.XcXZEhBx 3092s Mar 22 13:57:14 Combined data file .coverage.autopkgtest-lxd-qtyfae.4455.XfqPWCZx 3092s Mar 22 13:57:14 Combined data file .coverage.autopkgtest-lxd-qtyfae.4528.XZIOAXVx 3092s Mar 22 13:57:14 Combined data file .coverage.autopkgtest-lxd-qtyfae.4616.XNJDZaBx 3092s Mar 22 13:57:14 Combined data file .coverage.autopkgtest-lxd-qtyfae.4864.XjGiVdIx 3092s Mar 22 13:57:14 Combined data file .coverage.autopkgtest-lxd-qtyfae.4867.XWiKGXMx 3092s Mar 22 13:57:14 Combined data file .coverage.autopkgtest-lxd-qtyfae.4920.XegFOzGx 3092s Mar 22 13:57:14 Combined data file .coverage.autopkgtest-lxd-qtyfae.4983.XllRDDAx 3092s Mar 22 13:57:14 Combined data file .coverage.autopkgtest-lxd-qtyfae.5074.XcDviNdx 3092s Mar 22 13:57:14 Skipping duplicate data .coverage.autopkgtest-lxd-qtyfae.5172.XgsrdWCx 3092s Mar 22 13:57:14 Combined data file .coverage.autopkgtest-lxd-qtyfae.5175.XzkIYZXx 3092s Mar 22 13:57:14 Combined data file .coverage.autopkgtest-lxd-qtyfae.5219.XteCxpax 3092s Mar 22 13:57:14 Combined data file .coverage.autopkgtest-lxd-qtyfae.5283.XDwEgxKx 3092s Mar 22 13:57:14 Combined data file .coverage.autopkgtest-lxd-qtyfae.5320.XUSlMydx 3092s Mar 22 13:57:14 Skipping duplicate data .coverage.autopkgtest-lxd-qtyfae.5455.XixTkaNx 3092s Mar 22 13:57:14 Combined data file .coverage.autopkgtest-lxd-qtyfae.5458.XCJSMEnx 3092s Mar 22 13:57:14 Combined data file .coverage.autopkgtest-lxd-qtyfae.5509.XcWnlxMx 3092s Mar 22 13:57:14 Combined data file .coverage.autopkgtest-lxd-qtyfae.5525.XhwaEQFx 3092s Mar 22 13:57:14 Combined data file .coverage.autopkgtest-lxd-qtyfae.5565.XcHFydzx 3092s Mar 22 13:57:14 Combined data file .coverage.autopkgtest-lxd-qtyfae.5613.XouaNgNx 3092s Mar 22 13:57:14 Combined data file .coverage.autopkgtest-lxd-qtyfae.5619.XSpwhHmx 3092s Mar 22 13:57:14 Combined data file .coverage.autopkgtest-lxd-qtyfae.5662.XayfsUfx 3092s Mar 22 13:57:14 Combined data file .coverage.autopkgtest-lxd-qtyfae.5707.XmXXOSfx 3092s Mar 22 13:57:14 Combined data file .coverage.autopkgtest-lxd-qtyfae.5878.XBPNJklx 3092s Mar 22 13:57:14 Combined data file .coverage.autopkgtest-lxd-qtyfae.5881.XoMOMVox 3092s Mar 22 13:57:14 Combined data file .coverage.autopkgtest-lxd-qtyfae.5888.XFIQHAGx 3092s Mar 22 13:57:14 Skipping duplicate data .coverage.autopkgtest-lxd-qtyfae.6022.XsoPJjXx 3092s Mar 22 13:57:14 Combined data file .coverage.autopkgtest-lxd-qtyfae.6025.XaFNXRox 3092s Mar 22 13:57:14 Combined data file .coverage.autopkgtest-lxd-qtyfae.6072.XCWGJWbx 3092s Mar 22 13:57:14 Combined data file .coverage.autopkgtest-lxd-qtyfae.6122.XcIWQvXx 3092s Mar 22 13:57:14 Combined data file .coverage.autopkgtest-lxd-qtyfae.6168.XqHQWShx 3092s Mar 22 13:57:14 Skipping duplicate data .coverage.autopkgtest-lxd-qtyfae.6212.XHlyBZLx 3092s Mar 22 13:57:14 Combined data file .coverage.autopkgtest-lxd-qtyfae.6348.XFIahSWx 3092s Mar 22 13:57:14 Skipping duplicate data .coverage.autopkgtest-lxd-qtyfae.6426.XYPBTbGx 3092s Mar 22 13:57:14 Combined data file .coverage.autopkgtest-lxd-qtyfae.6429.XwbhZcIx 3092s Mar 22 13:57:14 Combined data file .coverage.autopkgtest-lxd-qtyfae.6473.XsHLlIex 3092s Mar 22 13:57:14 Combined data file .coverage.autopkgtest-lxd-qtyfae.6546.XgXjYDGx 3092s Mar 22 13:57:14 Combined data file .coverage.autopkgtest-lxd-qtyfae.6632.XfwLILrx 3092s Mar 22 13:57:14 Combined data file .coverage.autopkgtest-lxd-qtyfae.6694.XUSsUjlx 3092s Mar 22 13:57:14 Skipping duplicate data .coverage.autopkgtest-lxd-qtyfae.7014.XneyOpZx 3092s Mar 22 13:57:14 Combined data file .coverage.autopkgtest-lxd-qtyfae.7017.XtJImfux 3092s Mar 22 13:57:14 Combined data file .coverage.autopkgtest-lxd-qtyfae.7070.XHJvujcx 3092s Mar 22 13:57:14 Combined data file .coverage.autopkgtest-lxd-qtyfae.7133.XpqPwhIx 3092s Mar 22 13:57:14 Combined data file .coverage.autopkgtest-lxd-qtyfae.7223.XPSHEcux 3092s Mar 22 13:57:14 Combined data file .coverage.autopkgtest-lxd-qtyfae.7271.XFRaGRrx 3092s Mar 22 13:57:14 Combined data file .coverage.autopkgtest-lxd-qtyfae.7328.XBjgTnvx 3092s Mar 22 13:57:14 Combined data file .coverage.autopkgtest-lxd-qtyfae.7371.XtlkzsDx 3092s Mar 22 13:57:14 Skipping duplicate data .coverage.autopkgtest-lxd-qtyfae.7410.XvMUhiYx 3092s Mar 22 13:57:14 Combined data file .coverage.autopkgtest-lxd-qtyfae.7413.XllTvapx 3092s Mar 22 13:57:14 Combined data file .coverage.autopkgtest-lxd-qtyfae.7457.XpGXicmx 3092s Mar 22 13:57:14 Combined data file .coverage.autopkgtest-lxd-qtyfae.7679.XgpPqtix 3092s Mar 22 13:57:14 Combined data file .coverage.autopkgtest-lxd-qtyfae.7744.XBITEpXx 3092s Mar 22 13:57:14 Combined data file .coverage.autopkgtest-lxd-qtyfae.7799.XhDuMARx 3092s Mar 22 13:57:14 Combined data file .coverage.autopkgtest-lxd-qtyfae.7905.XXidjFtx 3092s Mar 22 13:57:14 Combined data file .coverage.autopkgtest-lxd-qtyfae.8031.XkjboxAx 3092s Mar 22 13:57:14 Combined data file .coverage.autopkgtest-lxd-qtyfae.8162.XSyQhrjx 3092s Mar 22 13:57:14 Combined data file .coverage.autopkgtest-lxd-qtyfae.8166.XAkjHGTx 3092s Mar 22 13:57:14 Combined data file .coverage.autopkgtest-lxd-qtyfae.8210.XVUIhXGx 3092s Mar 22 13:57:14 Skipping duplicate data .coverage.autopkgtest-lxd-qtyfae.8214.XsdMYhQx 3092s Mar 22 13:57:14 Combined data file .coverage.autopkgtest-lxd-qtyfae.8218.XpGYAcdx 3092s Mar 22 13:57:14 Combined data file .coverage.autopkgtest-lxd-qtyfae.8233.XgKhTnCx 3092s Mar 22 13:57:14 Combined data file .coverage.autopkgtest-lxd-qtyfae.8300.XkXsGUJx 3095s Mar 22 13:57:17 Name Stmts Miss Cover 3095s Mar 22 13:57:17 ---------------------------------------------------------------------------------------------------------- 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 101 96 5% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/cryptography/__about__.py 5 0 100% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/cryptography/__init__.py 3 0 100% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/cryptography/exceptions.py 26 5 81% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/cryptography/fernet.py 137 54 61% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/cryptography/hazmat/__init__.py 2 0 100% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/cryptography/hazmat/_oid.py 135 0 100% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/__init__.py 5 0 100% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/__init__.py 3 0 100% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/backend.py 135 67 50% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/__init__.py 0 0 100% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/__init__.py 0 0 100% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/_conditional.py 38 17 55% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/binding.py 51 4 92% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/__init__.py 1 0 100% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/ciphers/__init__.py 1 0 100% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/ciphers/algorithms.py 68 18 74% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/__init__.py 0 0 100% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_asymmetric.py 6 0 100% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_cipheralgorithm.py 23 1 96% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_serialization.py 79 35 56% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/__init__.py 0 0 100% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ec.py 172 22 87% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/padding.py 55 23 58% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/rsa.py 93 40 57% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/utils.py 14 5 64% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/__init__.py 4 0 100% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/algorithms.py 72 13 82% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/base.py 54 3 94% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/modes.py 140 50 64% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/constant_time.py 6 3 50% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hashes.py 127 20 84% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hmac.py 6 0 100% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/kdf/__init__.py 7 0 100% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/kdf/pbkdf2.py 27 5 81% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/padding.py 104 37 64% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/cryptography/utils.py 76 25 67% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/dateutil/__init__.py 13 4 69% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/dateutil/_version.py 13 3 77% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 810 436 46% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 183 150 18% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 240 206 14% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 151 114 25% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 794 626 21% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/dateutil/tz/win.py 152 149 2% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/patroni/__main__.py 201 66 67% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/patroni/api.py 788 292 63% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 15 84% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/patroni/collections.py 56 5 91% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/patroni/config.py 357 88 75% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/patroni/config_generator.py 212 159 25% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/patroni/daemon.py 76 3 96% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 710 99 86% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/patroni/dcs/raft.py 319 44 86% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/patroni/dynamic_loader.py 35 7 80% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/patroni/file_perm.py 47 10 79% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/patroni/global_config.py 87 0 100% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/patroni/ha.py 1359 310 77% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/patroni/log.py 235 79 66% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 825 169 80% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/patroni/postgresql/available_parameters/__init__.py 24 3 88% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 254 60 76% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 840 217 74% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 1 99% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 43 8 81% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/patroni/postgresql/mpp/__init__.py 89 11 88% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 83 51% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 416 128 69% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 349 38 89% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 154 11 93% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 157 24 85% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/patroni/psycopg.py 46 19 59% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/patroni/quorum.py 182 48 74% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/patroni/request.py 58 6 90% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/patroni/tags.py 38 0 100% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/patroni/utils.py 371 122 67% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/patroni/validator.py 309 215 30% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 42 79% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 35 74% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/psutil/__init__.py 950 629 34% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/psutil/_common.py 422 212 50% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/psutil/_compat.py 301 263 13% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1250 924 26% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/psutil/_psposix.py 95 38 60% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/pysyncobj/__init__.py 2 0 100% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/pysyncobj/atomic_replace.py 4 0 100% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/pysyncobj/config.py 80 1 99% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/pysyncobj/dns_resolver.py 52 10 81% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/pysyncobj/encryptor.py 17 2 88% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/pysyncobj/fast_queue.py 21 1 95% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/pysyncobj/journal.py 193 37 81% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/pysyncobj/monotonic.py 76 70 8% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/pysyncobj/node.py 49 10 80% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/pysyncobj/pickle.py 52 32 38% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/pysyncobj/pipe_notifier.py 24 2 92% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/pysyncobj/poller.py 87 41 53% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/pysyncobj/serializer.py 167 133 20% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/pysyncobj/syncobj.py 1057 491 54% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/pysyncobj/tcp_connection.py 250 35 86% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/pysyncobj/tcp_server.py 56 12 79% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/pysyncobj/transport.py 266 51 81% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/pysyncobj/utility.py 59 9 85% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/pysyncobj/version.py 1 0 100% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/pysyncobj/win_inet_pton.py 44 31 30% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/urllib3/__init__.py 49 15 69% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 63 45 29% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/urllib3/_collections.py 231 104 55% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 54 16 70% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/urllib3/_version.py 13 3 77% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/urllib3/connection.py 389 143 63% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 344 130 62% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/urllib3/exceptions.py 121 39 68% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/urllib3/http2/__init__.py 28 21 25% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/urllib3/http2/probe.py 49 31 37% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 88 62% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/urllib3/response.py 634 395 38% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 9 86% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 49 53% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 17 47% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/urllib3/util/retry.py 174 50 71% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 172 73 58% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 152 106 30% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 19 73% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/urllib3/util/url.py 203 76 63% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 9 65% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 38 22% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/yaml/parser.py 352 180 49% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/yaml/reader.py 122 30 75% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/yaml/scanner.py 758 415 45% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 3095s Mar 22 13:57:17 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 3095s Mar 22 13:57:17 patroni/__init__.py 13 2 85% 3095s Mar 22 13:57:17 patroni/__main__.py 201 201 0% 3095s Mar 22 13:57:17 patroni/api.py 788 788 0% 3095s Mar 22 13:57:17 patroni/async_executor.py 96 69 28% 3095s Mar 22 13:57:17 patroni/collections.py 56 15 73% 3095s Mar 22 13:57:17 patroni/config.py 357 179 50% 3095s Mar 22 13:57:17 patroni/config_generator.py 212 212 0% 3095s Mar 22 13:57:17 patroni/ctl.py 936 395 58% 3095s Mar 22 13:57:17 patroni/daemon.py 76 6 92% 3095s Mar 22 13:57:17 patroni/dcs/__init__.py 710 316 55% 3095s Mar 22 13:57:17 patroni/dcs/consul.py 482 482 0% 3095s Mar 22 13:57:17 patroni/dcs/etcd3.py 679 679 0% 3095s Mar 22 13:57:17 patroni/dcs/etcd.py 603 603 0% 3095s Mar 22 13:57:17 patroni/dcs/exhibitor.py 62 62 0% 3095s Mar 22 13:57:17 patroni/dcs/kubernetes.py 943 943 0% 3095s Mar 22 13:57:17 patroni/dcs/raft.py 319 74 77% 3095s Mar 22 13:57:17 patroni/dcs/zookeeper.py 289 289 0% 3095s Mar 22 13:57:17 patroni/dynamic_loader.py 35 7 80% 3095s Mar 22 13:57:17 patroni/exceptions.py 16 1 94% 3095s Mar 22 13:57:17 patroni/file_perm.py 47 17 64% 3095s Mar 22 13:57:17 patroni/global_config.py 87 19 78% 3095s Mar 22 13:57:17 patroni/ha.py 1359 1359 0% 3095s Mar 22 13:57:17 patroni/log.py 235 103 56% 3095s Mar 22 13:57:17 patroni/postgresql/__init__.py 825 653 21% 3095s Mar 22 13:57:17 patroni/postgresql/available_parameters/__init__.py 24 3 88% 3095s Mar 22 13:57:17 patroni/postgresql/bootstrap.py 254 224 12% 3095s Mar 22 13:57:17 patroni/postgresql/callback_executor.py 55 34 38% 3095s Mar 22 13:57:17 patroni/postgresql/cancellable.py 104 84 19% 3095s Mar 22 13:57:17 patroni/postgresql/config.py 840 720 14% 3095s Mar 22 13:57:17 patroni/postgresql/connection.py 75 50 33% 3095s Mar 22 13:57:17 patroni/postgresql/misc.py 43 30 30% 3095s Mar 22 13:57:17 patroni/postgresql/mpp/__init__.py 89 21 76% 3095s Mar 22 13:57:17 patroni/postgresql/mpp/citus.py 366 366 0% 3095s Mar 22 13:57:17 patroni/postgresql/postmaster.py 170 139 18% 3095s Mar 22 13:57:17 patroni/postgresql/rewind.py 416 416 0% 3095s Mar 22 13:57:17 patroni/postgresql/slots.py 349 300 14% 3095s Mar 22 13:57:17 patroni/postgresql/sync.py 154 114 26% 3095s Mar 22 13:57:17 patroni/postgresql/validator.py 157 52 67% 3095s Mar 22 13:57:17 patroni/psycopg.py 46 32 30% 3095s Mar 22 13:57:17 patroni/quorum.py 182 182 0% 3095s Mar 22 13:57:17 patroni/raft_controller.py 22 1 95% 3095s Mar 22 13:57:17 patroni/request.py 58 6 90% 3095s Mar 22 13:57:17 patroni/scripts/__init__.py 0 0 100% 3095s Mar 22 13:57:17 patroni/scripts/aws.py 59 59 0% 3095s Mar 22 13:57:17 patroni/scripts/barman/__init__.py 0 0 100% 3095s Mar 22 13:57:17 patroni/scripts/barman/cli.py 50 50 0% 3095s Mar 22 13:57:17 patroni/scripts/barman/config_switch.py 50 50 0% 3095s Mar 22 13:57:17 patroni/scripts/barman/recover.py 36 36 0% 3095s Mar 22 13:57:17 patroni/scripts/barman/utils.py 93 93 0% 3095s Mar 22 13:57:17 patroni/scripts/wale_restore.py 207 207 0% 3095s Mar 22 13:57:17 patroni/tags.py 38 11 71% 3095s Mar 22 13:57:17 patroni/utils.py 371 232 37% 3095s Mar 22 13:57:17 patroni/validator.py 309 222 28% 3095s Mar 22 13:57:17 patroni/version.py 1 0 100% 3095s Mar 22 13:57:17 patroni/watchdog/__init__.py 2 2 0% 3095s Mar 22 13:57:17 patroni/watchdog/base.py 203 203 0% 3095s Mar 22 13:57:17 patroni/watchdog/linux.py 135 135 0% 3095s Mar 22 13:57:17 ---------------------------------------------------------------------------------------------------------- 3095s Mar 22 13:57:17 TOTAL 41244 23433 43% 3095s Mar 22 13:57:17 13 features passed, 0 failed, 1 skipped 3095s Mar 22 13:57:17 63 scenarios passed, 0 failed, 6 skipped 3095s Mar 22 13:57:17 597 steps passed, 0 failed, 70 skipped, 0 undefined 3095s Mar 22 13:57:17 Took 11m12.947s 3096s + bash -c 'rm -rf features/output' 3096s ### End 17 acceptance-raft ### 3096s + echo '### End 17 acceptance-raft ###' 3096s + rm -f /tmp/pgpass_postgres-0 /tmp/pgpass_postgres-1 /tmp/pgpass_postgres-2 /tmp/pgpass_postgres-3 3096s ++ id -u 3096s + '[' 1000 -eq 0 ']' 3096s autopkgtest [13:57:18]: test acceptance-raft: -----------------------] 3100s acceptance-raft PASS 3100s autopkgtest [13:57:22]: test acceptance-raft: - - - - - - - - - - results - - - - - - - - - - 3104s autopkgtest [13:57:26]: @@@@@@@@@@@@@@@@@@@@ summary 3104s test PASS 3104s acceptance-etcd3-basic PASS 3104s acceptance-etcd3 PASS 3104s acceptance-etcd FAIL non-zero exit status 1 3104s acceptance-zookeeper PASS 3104s acceptance-raft PASS