0s autopkgtest [09:27:04]: starting date and time: 2025-04-14 09:27:04+0000 0s autopkgtest [09:27:04]: git checkout: 325255d2 Merge branch 'pin-any-arch' into 'ubuntu/production' 0s autopkgtest [09:27:04]: host juju-7f2275-prod-proposed-migration-environment-9; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.2811q2ie/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,localhost,localdomain,internal,login.ubuntu.com,archive.ubuntu.com,ports.ubuntu.com,security.ubuntu.com,ddebs.ubuntu.com,changelogs.ubuntu.com,keyserver.ubuntu.com,launchpadlibrarian.net,launchpadcontent.net,launchpad.net,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.239 lxd-armhf-10.145.243.239:autopkgtest/ubuntu/plucky/armhf 32s autopkgtest [09:27:36]: testbed dpkg architecture: armhf 34s autopkgtest [09:27:38]: testbed apt version: 3.0.0 38s autopkgtest [09:27:42]: @@@@@@@@@@@@@@@@@@@@ test bed setup 39s autopkgtest [09:27:43]: testbed release detected to be: None 46s autopkgtest [09:27:50]: updating testbed package index (apt update) 48s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [265 kB] 49s Get:2 http://ftpmaster.internal/ubuntu plucky InRelease [265 kB] 49s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 49s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 49s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [5192 B] 49s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [204 kB] 49s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [9948 B] 49s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf Packages [3452 B] 49s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf c-n-f Metadata [288 B] 49s Get:10 http://ftpmaster.internal/ubuntu plucky-proposed/restricted armhf c-n-f Metadata [116 B] 49s Get:11 http://ftpmaster.internal/ubuntu plucky-proposed/universe armhf Packages [109 kB] 49s Get:12 http://ftpmaster.internal/ubuntu plucky-proposed/universe armhf c-n-f Metadata [4896 B] 49s Get:13 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse armhf c-n-f Metadata [116 B] 49s Get:14 http://ftpmaster.internal/ubuntu plucky/universe Sources [21.1 MB] 50s Get:15 http://ftpmaster.internal/ubuntu plucky/universe armhf Packages [15.3 MB] 55s Fetched 37.2 MB in 5s (7336 kB/s) 56s Reading package lists... 61s autopkgtest [09:28:05]: upgrading testbed (apt dist-upgrade and autopurge) 63s Reading package lists... 63s Building dependency tree... 63s Reading state information... 64s Calculating upgrade...Starting pkgProblemResolver with broken count: 0 64s Starting 2 pkgProblemResolver with broken count: 0 64s Done 65s Entering ResolveByKeep 66s 66s Calculating upgrade... 67s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 68s Reading package lists... 69s Building dependency tree... 69s Reading state information... 69s Starting pkgProblemResolver with broken count: 0 70s Starting 2 pkgProblemResolver with broken count: 0 70s Done 70s Solving dependencies... 71s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 73s autopkgtest [09:28:17]: rebooting testbed after setup commands that affected boot 112s autopkgtest [09:28:56]: 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 136s autopkgtest [09:29:20]: @@@@@@@@@@@@@@@@@@@@ apt-source patroni 150s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed/universe patroni 4.0.4-8 (dsc) [2870 B] 150s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/universe patroni 4.0.4-8 (tar) [1205 kB] 150s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/universe patroni 4.0.4-8 (diff) [28.2 kB] 150s gpgv: Signature made Fri Mar 14 13:47:44 2025 UTC 150s gpgv: using RSA key 9CA877749FAB2E4FA96862ECDC686A27B43481B0 150s gpgv: Can't check signature: No public key 150s dpkg-source: warning: cannot verify inline signature for ./patroni_4.0.4-8.dsc: no acceptable signature found 150s autopkgtest [09:29:34]: testing package patroni version 4.0.4-8 152s autopkgtest [09:29:36]: build not needed 155s autopkgtest [09:29:39]: test test: preparing testbed 156s Reading package lists... 157s Building dependency tree... 157s Reading state information... 157s Starting pkgProblemResolver with broken count: 0 157s Starting 2 pkgProblemResolver with broken count: 0 157s Done 159s The following NEW packages will be installed: 159s fonts-font-awesome fonts-lato libcares2 libev4t64 libjs-jquery 159s libjs-jquery-hotkeys libjs-jquery-isonscreen libjs-jquery-metadata 159s libjs-jquery-tablesorter libjs-jquery-throttle-debounce libjs-sphinxdoc 159s libjs-underscore libpq5 patroni patroni-doc python3-aiohappyeyeballs 159s python3-aiohttp python3-aiosignal python3-async-timeout python3-cachetools 159s python3-click python3-consul python3-coverage python3-dnspython python3-etcd 159s python3-eventlet python3-flake8 python3-frozenlist python3-gevent 159s python3-google-auth python3-greenlet python3-iniconfig python3-kazoo 159s python3-kerberos python3-kubernetes python3-mccabe python3-mock 159s python3-multidict python3-pluggy python3-prettytable python3-psutil 159s python3-psycopg2 python3-pure-sasl python3-pyasn1 python3-pyasn1-modules 159s python3-pycodestyle python3-pyflakes python3-pysyncobj python3-pytest 159s python3-pytest-cov python3-pyu2f python3-requests-oauthlib python3-responses 159s python3-rsa python3-wcwidth python3-websocket python3-yarl python3-ydiff 159s python3-zope.event python3-zope.interface sphinx-rtd-theme-common 159s 0 upgraded, 61 newly installed, 0 to remove and 0 not upgraded. 159s Need to get 10.3 MB of archives. 159s After this operation, 61.1 MB of additional disk space will be used. 159s Get:1 http://ftpmaster.internal/ubuntu plucky/main armhf fonts-lato all 2.015-1 [2781 kB] 160s Get:2 http://ftpmaster.internal/ubuntu plucky/main armhf fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 160s Get:3 http://ftpmaster.internal/ubuntu plucky/main armhf libcares2 armhf 1.34.4-2.1 [85.0 kB] 160s Get:4 http://ftpmaster.internal/ubuntu plucky/universe armhf libev4t64 armhf 1:4.33-2.1build1 [26.3 kB] 160s Get:5 http://ftpmaster.internal/ubuntu plucky/main armhf libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 160s Get:6 http://ftpmaster.internal/ubuntu plucky/universe armhf libjs-jquery-metadata all 12-4 [6582 B] 160s Get:7 http://ftpmaster.internal/ubuntu plucky/universe armhf libjs-jquery-tablesorter all 1:2.31.3+dfsg1-4 [192 kB] 160s Get:8 http://ftpmaster.internal/ubuntu plucky/universe armhf libjs-jquery-throttle-debounce all 1.1+dfsg.1-2 [12.5 kB] 160s Get:9 http://ftpmaster.internal/ubuntu plucky/main armhf libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 160s Get:10 http://ftpmaster.internal/ubuntu plucky/main armhf libjs-sphinxdoc all 8.1.3-5 [31.0 kB] 160s 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] 161s Get:16 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-ydiff all 1.4.2-1 [19.0 kB] 161s Get:17 http://ftpmaster.internal/ubuntu plucky/main armhf python3-psycopg2 armhf 2.9.10-1build1 [125 kB] 161s Get:18 http://ftpmaster.internal/ubuntu plucky/main armhf python3-dnspython all 2.7.0-1ubuntu1 [167 kB] 161s 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] 161s Get:26 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-kerberos armhf 1.1.14-3.1build11 [19.9 kB] 161s Get:27 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-pure-sasl all 0.5.1+dfsg1-5 [11.4 kB] 161s Get:28 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-kazoo all 2.9.0-2 [103 kB] 161s Get:29 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-multidict armhf 6.2.0-2 [32.8 kB] 161s Get:30 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-yarl armhf 1.13.1-1build2 [91.4 kB] 161s Get:31 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-async-timeout all 5.0.1-1 [6830 B] 161s Get:32 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-aiohappyeyeballs all 2.6.1-1 [11.1 kB] 161s Get:33 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-frozenlist armhf 1.5.0-1build2 [47.0 kB] 161s Get:34 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-aiosignal all 1.3.2-1 [5182 B] 161s Get:35 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-aiohttp armhf 3.10.11-1build1 [289 kB] 161s Get:36 http://ftpmaster.internal/ubuntu plucky/main armhf python3-cachetools all 5.3.3-1 [10.3 kB] 161s Get:37 http://ftpmaster.internal/ubuntu plucky/main armhf python3-pyasn1 all 0.6.1-1 [56.4 kB] 161s Get:38 http://ftpmaster.internal/ubuntu plucky/main armhf python3-pyasn1-modules all 0.4.1-2 [80.3 kB] 161s Get:39 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-pyu2f all 0.1.5-4 [22.9 kB] 161s Get:40 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-responses all 0.25.6-1 [40.5 kB] 161s Get:41 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-rsa all 4.9-2 [28.2 kB] 161s Get:42 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-google-auth all 2.28.2-3 [91.0 kB] 161s Get:43 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-requests-oauthlib all 1.3.1-1 [18.8 kB] 161s Get:44 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-websocket all 1.8.0-2 [38.5 kB] 161s Get:45 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-kubernetes all 30.1.0-2 [385 kB] 161s Get:46 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-pysyncobj all 0.3.14-2 [61.9 kB] 161s Get:47 http://ftpmaster.internal/ubuntu plucky-proposed/universe armhf patroni all 4.0.4-8 [282 kB] 161s Get:48 http://ftpmaster.internal/ubuntu plucky/main armhf sphinx-rtd-theme-common all 3.0.2+dfsg-2 [1014 kB] 161s Get:49 http://ftpmaster.internal/ubuntu plucky-proposed/universe armhf patroni-doc all 4.0.4-8 [526 kB] 161s Get:50 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-coverage armhf 7.6.0+dfsg1-2build1 [152 kB] 161s Get:51 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-mccabe all 0.7.0-1 [8678 B] 161s Get:52 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-pycodestyle all 2.12.1-2 [30.2 kB] 161s Get:53 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-pyflakes all 3.2.0-3 [53.0 kB] 161s Get:54 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-flake8 all 7.1.1-3 [44.0 kB] 161s Get:55 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-iniconfig all 1.1.1-2 [6024 B] 161s Get:56 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-pluggy all 1.5.0-1 [21.0 kB] 161s Get:57 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-pytest all 8.3.5-1 [252 kB] 161s Get:58 http://ftpmaster.internal/ubuntu plucky/universe armhf libjs-jquery-hotkeys all 0.2.0-1 [13.3 kB] 161s Get:59 http://ftpmaster.internal/ubuntu plucky/universe armhf libjs-jquery-isonscreen all 1.2.0-1.1 [3244 B] 161s Get:60 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-pytest-cov all 5.0.0-1 [21.3 kB] 161s Get:61 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-mock all 5.1.0-1 [64.1 kB] 162s Fetched 10.3 MB in 3s (3717 kB/s) 162s Selecting previously unselected package fonts-lato. 162s (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 ... 63969 files and directories currently installed.) 162s Preparing to unpack .../00-fonts-lato_2.015-1_all.deb ... 162s Unpacking fonts-lato (2.015-1) ... 163s Selecting previously unselected package fonts-font-awesome. 163s Preparing to unpack .../01-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 163s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 163s Selecting previously unselected package libcares2:armhf. 163s Preparing to unpack .../02-libcares2_1.34.4-2.1_armhf.deb ... 163s Unpacking libcares2:armhf (1.34.4-2.1) ... 163s Selecting previously unselected package libev4t64:armhf. 163s Preparing to unpack .../03-libev4t64_1%3a4.33-2.1build1_armhf.deb ... 163s Unpacking libev4t64:armhf (1:4.33-2.1build1) ... 163s Selecting previously unselected package libjs-jquery. 163s Preparing to unpack .../04-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 163s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 163s Selecting previously unselected package libjs-jquery-metadata. 163s Preparing to unpack .../05-libjs-jquery-metadata_12-4_all.deb ... 163s Unpacking libjs-jquery-metadata (12-4) ... 163s Selecting previously unselected package libjs-jquery-tablesorter. 163s Preparing to unpack .../06-libjs-jquery-tablesorter_1%3a2.31.3+dfsg1-4_all.deb ... 163s Unpacking libjs-jquery-tablesorter (1:2.31.3+dfsg1-4) ... 163s Selecting previously unselected package libjs-jquery-throttle-debounce. 163s Preparing to unpack .../07-libjs-jquery-throttle-debounce_1.1+dfsg.1-2_all.deb ... 163s Unpacking libjs-jquery-throttle-debounce (1.1+dfsg.1-2) ... 163s Selecting previously unselected package libjs-underscore. 163s Preparing to unpack .../08-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 163s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 163s Selecting previously unselected package libjs-sphinxdoc. 163s Preparing to unpack .../09-libjs-sphinxdoc_8.1.3-5_all.deb ... 163s Unpacking libjs-sphinxdoc (8.1.3-5) ... 163s Selecting previously unselected package libpq5:armhf. 163s Preparing to unpack .../10-libpq5_17.4-1_armhf.deb ... 163s Unpacking libpq5:armhf (17.4-1) ... 163s Selecting previously unselected package python3-click. 163s Preparing to unpack .../11-python3-click_8.2.0+0.really.8.1.8-1_all.deb ... 163s Unpacking python3-click (8.2.0+0.really.8.1.8-1) ... 163s Selecting previously unselected package python3-wcwidth. 163s Preparing to unpack .../12-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 163s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 163s Selecting previously unselected package python3-prettytable. 163s Preparing to unpack .../13-python3-prettytable_3.12.0-1_all.deb ... 163s Unpacking python3-prettytable (3.12.0-1) ... 163s Selecting previously unselected package python3-psutil. 163s Preparing to unpack .../14-python3-psutil_5.9.8-2build3_armhf.deb ... 163s Unpacking python3-psutil (5.9.8-2build3) ... 163s Selecting previously unselected package python3-ydiff. 163s Preparing to unpack .../15-python3-ydiff_1.4.2-1_all.deb ... 163s Unpacking python3-ydiff (1.4.2-1) ... 163s Selecting previously unselected package python3-psycopg2. 163s Preparing to unpack .../16-python3-psycopg2_2.9.10-1build1_armhf.deb ... 163s Unpacking python3-psycopg2 (2.9.10-1build1) ... 163s Selecting previously unselected package python3-dnspython. 163s Preparing to unpack .../17-python3-dnspython_2.7.0-1ubuntu1_all.deb ... 163s Unpacking python3-dnspython (2.7.0-1ubuntu1) ... 164s Selecting previously unselected package python3-etcd. 164s Preparing to unpack .../18-python3-etcd_0.4.5-6_all.deb ... 164s Unpacking python3-etcd (0.4.5-6) ... 164s Selecting previously unselected package python3-consul. 164s Preparing to unpack .../19-python3-consul_1.5.1+dfsg-1_all.deb ... 164s Unpacking python3-consul (1.5.1+dfsg-1) ... 164s Selecting previously unselected package python3-greenlet. 164s Preparing to unpack .../20-python3-greenlet_3.1.0-1build1_armhf.deb ... 164s Unpacking python3-greenlet (3.1.0-1build1) ... 164s Selecting previously unselected package python3-eventlet. 164s Preparing to unpack .../21-python3-eventlet_0.39.0-0ubuntu1_all.deb ... 164s Unpacking python3-eventlet (0.39.0-0ubuntu1) ... 164s Selecting previously unselected package python3-zope.event. 164s Preparing to unpack .../22-python3-zope.event_5.0-0.1_all.deb ... 164s Unpacking python3-zope.event (5.0-0.1) ... 164s Selecting previously unselected package python3-zope.interface. 164s Preparing to unpack .../23-python3-zope.interface_7.2-1build1_armhf.deb ... 164s Unpacking python3-zope.interface (7.2-1build1) ... 164s Selecting previously unselected package python3-gevent. 164s Preparing to unpack .../24-python3-gevent_24.11.1-1build1_armhf.deb ... 164s Unpacking python3-gevent (24.11.1-1build1) ... 164s Selecting previously unselected package python3-kerberos. 164s Preparing to unpack .../25-python3-kerberos_1.1.14-3.1build11_armhf.deb ... 164s Unpacking python3-kerberos (1.1.14-3.1build11) ... 164s Selecting previously unselected package python3-pure-sasl. 164s Preparing to unpack .../26-python3-pure-sasl_0.5.1+dfsg1-5_all.deb ... 164s Unpacking python3-pure-sasl (0.5.1+dfsg1-5) ... 164s Selecting previously unselected package python3-kazoo. 164s Preparing to unpack .../27-python3-kazoo_2.9.0-2_all.deb ... 164s Unpacking python3-kazoo (2.9.0-2) ... 164s Selecting previously unselected package python3-multidict. 164s Preparing to unpack .../28-python3-multidict_6.2.0-2_armhf.deb ... 164s Unpacking python3-multidict (6.2.0-2) ... 164s Selecting previously unselected package python3-yarl. 164s Preparing to unpack .../29-python3-yarl_1.13.1-1build2_armhf.deb ... 164s Unpacking python3-yarl (1.13.1-1build2) ... 164s Selecting previously unselected package python3-async-timeout. 164s Preparing to unpack .../30-python3-async-timeout_5.0.1-1_all.deb ... 164s Unpacking python3-async-timeout (5.0.1-1) ... 164s Selecting previously unselected package python3-aiohappyeyeballs. 164s Preparing to unpack .../31-python3-aiohappyeyeballs_2.6.1-1_all.deb ... 164s Unpacking python3-aiohappyeyeballs (2.6.1-1) ... 164s Selecting previously unselected package python3-frozenlist. 164s Preparing to unpack .../32-python3-frozenlist_1.5.0-1build2_armhf.deb ... 164s Unpacking python3-frozenlist (1.5.0-1build2) ... 164s Selecting previously unselected package python3-aiosignal. 164s Preparing to unpack .../33-python3-aiosignal_1.3.2-1_all.deb ... 164s Unpacking python3-aiosignal (1.3.2-1) ... 164s Selecting previously unselected package python3-aiohttp. 165s Preparing to unpack .../34-python3-aiohttp_3.10.11-1build1_armhf.deb ... 165s Unpacking python3-aiohttp (3.10.11-1build1) ... 165s Selecting previously unselected package python3-cachetools. 165s Preparing to unpack .../35-python3-cachetools_5.3.3-1_all.deb ... 165s Unpacking python3-cachetools (5.3.3-1) ... 165s Selecting previously unselected package python3-pyasn1. 165s Preparing to unpack .../36-python3-pyasn1_0.6.1-1_all.deb ... 165s Unpacking python3-pyasn1 (0.6.1-1) ... 165s Selecting previously unselected package python3-pyasn1-modules. 165s Preparing to unpack .../37-python3-pyasn1-modules_0.4.1-2_all.deb ... 165s Unpacking python3-pyasn1-modules (0.4.1-2) ... 165s Selecting previously unselected package python3-pyu2f. 165s Preparing to unpack .../38-python3-pyu2f_0.1.5-4_all.deb ... 165s Unpacking python3-pyu2f (0.1.5-4) ... 165s Selecting previously unselected package python3-responses. 165s Preparing to unpack .../39-python3-responses_0.25.6-1_all.deb ... 165s Unpacking python3-responses (0.25.6-1) ... 165s Selecting previously unselected package python3-rsa. 165s Preparing to unpack .../40-python3-rsa_4.9-2_all.deb ... 165s Unpacking python3-rsa (4.9-2) ... 165s Selecting previously unselected package python3-google-auth. 165s Preparing to unpack .../41-python3-google-auth_2.28.2-3_all.deb ... 165s Unpacking python3-google-auth (2.28.2-3) ... 165s Selecting previously unselected package python3-requests-oauthlib. 165s Preparing to unpack .../42-python3-requests-oauthlib_1.3.1-1_all.deb ... 165s Unpacking python3-requests-oauthlib (1.3.1-1) ... 165s Selecting previously unselected package python3-websocket. 165s Preparing to unpack .../43-python3-websocket_1.8.0-2_all.deb ... 165s Unpacking python3-websocket (1.8.0-2) ... 165s Selecting previously unselected package python3-kubernetes. 165s Preparing to unpack .../44-python3-kubernetes_30.1.0-2_all.deb ... 165s Unpacking python3-kubernetes (30.1.0-2) ... 165s Selecting previously unselected package python3-pysyncobj. 165s Preparing to unpack .../45-python3-pysyncobj_0.3.14-2_all.deb ... 165s Unpacking python3-pysyncobj (0.3.14-2) ... 165s Selecting previously unselected package patroni. 165s Preparing to unpack .../46-patroni_4.0.4-8_all.deb ... 165s Unpacking patroni (4.0.4-8) ... 165s Selecting previously unselected package sphinx-rtd-theme-common. 166s Preparing to unpack .../47-sphinx-rtd-theme-common_3.0.2+dfsg-2_all.deb ... 166s Unpacking sphinx-rtd-theme-common (3.0.2+dfsg-2) ... 166s Selecting previously unselected package patroni-doc. 166s Preparing to unpack .../48-patroni-doc_4.0.4-8_all.deb ... 166s Unpacking patroni-doc (4.0.4-8) ... 166s Selecting previously unselected package python3-coverage. 166s Preparing to unpack .../49-python3-coverage_7.6.0+dfsg1-2build1_armhf.deb ... 166s Unpacking python3-coverage (7.6.0+dfsg1-2build1) ... 166s Selecting previously unselected package python3-mccabe. 166s Preparing to unpack .../50-python3-mccabe_0.7.0-1_all.deb ... 166s Unpacking python3-mccabe (0.7.0-1) ... 166s Selecting previously unselected package python3-pycodestyle. 166s Preparing to unpack .../51-python3-pycodestyle_2.12.1-2_all.deb ... 166s Unpacking python3-pycodestyle (2.12.1-2) ... 166s Selecting previously unselected package python3-pyflakes. 166s Preparing to unpack .../52-python3-pyflakes_3.2.0-3_all.deb ... 166s Unpacking python3-pyflakes (3.2.0-3) ... 166s Selecting previously unselected package python3-flake8. 166s Preparing to unpack .../53-python3-flake8_7.1.1-3_all.deb ... 166s Unpacking python3-flake8 (7.1.1-3) ... 166s Selecting previously unselected package python3-iniconfig. 166s Preparing to unpack .../54-python3-iniconfig_1.1.1-2_all.deb ... 166s Unpacking python3-iniconfig (1.1.1-2) ... 166s Selecting previously unselected package python3-pluggy. 166s Preparing to unpack .../55-python3-pluggy_1.5.0-1_all.deb ... 166s Unpacking python3-pluggy (1.5.0-1) ... 166s Selecting previously unselected package python3-pytest. 166s Preparing to unpack .../56-python3-pytest_8.3.5-1_all.deb ... 166s Unpacking python3-pytest (8.3.5-1) ... 166s Selecting previously unselected package libjs-jquery-hotkeys. 166s Preparing to unpack .../57-libjs-jquery-hotkeys_0.2.0-1_all.deb ... 166s Unpacking libjs-jquery-hotkeys (0.2.0-1) ... 166s Selecting previously unselected package libjs-jquery-isonscreen. 166s Preparing to unpack .../58-libjs-jquery-isonscreen_1.2.0-1.1_all.deb ... 166s Unpacking libjs-jquery-isonscreen (1.2.0-1.1) ... 166s Selecting previously unselected package python3-pytest-cov. 166s Preparing to unpack .../59-python3-pytest-cov_5.0.0-1_all.deb ... 166s Unpacking python3-pytest-cov (5.0.0-1) ... 166s Selecting previously unselected package python3-mock. 166s Preparing to unpack .../60-python3-mock_5.1.0-1_all.deb ... 166s Unpacking python3-mock (5.1.0-1) ... 166s Setting up python3-iniconfig (1.1.1-2) ... 167s Setting up libev4t64:armhf (1:4.33-2.1build1) ... 167s Setting up fonts-lato (2.015-1) ... 167s Setting up python3-pysyncobj (0.3.14-2) ... 167s Setting up python3-cachetools (5.3.3-1) ... 167s Setting up python3-zope.event (5.0-0.1) ... 167s Setting up python3-zope.interface (7.2-1build1) ... 168s Setting up python3-pyflakes (3.2.0-3) ... 168s Setting up python3-ydiff (1.4.2-1) ... 168s Setting up libpq5:armhf (17.4-1) ... 168s Setting up python3-kerberos (1.1.14-3.1build11) ... 168s Setting up python3-coverage (7.6.0+dfsg1-2build1) ... 168s Setting up libjs-jquery-throttle-debounce (1.1+dfsg.1-2) ... 168s Setting up python3-click (8.2.0+0.really.8.1.8-1) ... 169s Setting up python3-psutil (5.9.8-2build3) ... 169s Setting up python3-multidict (6.2.0-2) ... 169s Setting up python3-frozenlist (1.5.0-1build2) ... 169s Setting up python3-aiosignal (1.3.2-1) ... 170s Setting up python3-mock (5.1.0-1) ... 170s Setting up python3-async-timeout (5.0.1-1) ... 170s Setting up python3-responses (0.25.6-1) ... 170s Setting up python3-pycodestyle (2.12.1-2) ... 170s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 171s Setting up python3-pyu2f (0.1.5-4) ... 171s Setting up python3-greenlet (3.1.0-1build1) ... 171s Setting up libcares2:armhf (1.34.4-2.1) ... 171s Setting up python3-psycopg2 (2.9.10-1build1) ... 171s Setting up python3-aiohappyeyeballs (2.6.1-1) ... 171s Setting up python3-pluggy (1.5.0-1) ... 172s Setting up python3-dnspython (2.7.0-1ubuntu1) ... 172s Setting up python3-pyasn1 (0.6.1-1) ... 172s Setting up python3-mccabe (0.7.0-1) ... 172s Setting up python3-consul (1.5.1+dfsg-1) ... 173s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 173s Setting up libjs-jquery-hotkeys (0.2.0-1) ... 173s Setting up python3-prettytable (3.12.0-1) ... 173s Setting up python3-yarl (1.13.1-1build2) ... 173s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 173s Setting up sphinx-rtd-theme-common (3.0.2+dfsg-2) ... 173s Setting up python3-websocket (1.8.0-2) ... 173s Setting up python3-requests-oauthlib (1.3.1-1) ... 173s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 174s Setting up python3-pure-sasl (0.5.1+dfsg1-5) ... 174s Setting up python3-etcd (0.4.5-6) ... 174s Setting up python3-pytest (8.3.5-1) ... 174s Setting up python3-aiohttp (3.10.11-1build1) ... 175s Setting up python3-gevent (24.11.1-1build1) ... 175s Setting up python3-flake8 (7.1.1-3) ... 175s Setting up python3-eventlet (0.39.0-0ubuntu1) ... 176s Setting up python3-kazoo (2.9.0-2) ... 176s Setting up python3-pyasn1-modules (0.4.1-2) ... 177s Setting up libjs-jquery-metadata (12-4) ... 177s Setting up libjs-jquery-isonscreen (1.2.0-1.1) ... 177s Setting up libjs-sphinxdoc (8.1.3-5) ... 177s Setting up libjs-jquery-tablesorter (1:2.31.3+dfsg1-4) ... 177s Setting up python3-rsa (4.9-2) ... 177s Setting up patroni (4.0.4-8) ... 177s Created symlink '/etc/systemd/system/multi-user.target.wants/patroni.service' → '/usr/lib/systemd/system/patroni.service'. 178s Setting up patroni-doc (4.0.4-8) ... 178s Setting up python3-pytest-cov (5.0.0-1) ... 178s Setting up python3-google-auth (2.28.2-3) ... 178s Setting up python3-kubernetes (30.1.0-2) ... 180s Processing triggers for man-db (2.13.0-1) ... 181s Processing triggers for libc-bin (2.41-6ubuntu1) ... 191s autopkgtest [09:30:15]: test test: [----------------------- 195s ============================= test session starts ============================== 195s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 195s rootdir: /tmp/autopkgtest.QSa6Tc/build.qqC/src 195s plugins: typeguard-4.4.2, cov-5.0.0 195s collected 651 items 195s 196s tests/test_api.py ................................... [ 5%] 196s tests/test_async_executor.py .... [ 5%] 196s tests/test_aws.py .... [ 6%] 196s tests/test_barman.py ................ [ 9%] 196s tests/test_bootstrap.py .......... [ 10%] 196s tests/test_callback_executor.py . [ 10%] 196s tests/test_cancellable.py ... [ 11%] 196s tests/test_citus.py sssssssssssss................ [ 15%] 197s tests/test_config.py .......... [ 17%] 197s tests/test_config_generator.py ...... [ 18%] 197s tests/test_consul.py ....................... [ 21%] 197s tests/test_ctl.py ...................................... [ 27%] 198s tests/test_etcd.py ............................. [ 31%] 198s tests/test_etcd3.py ................................. [ 37%] 198s tests/test_exhibitor.py ... [ 37%] 198s tests/test_file_perm.py ... [ 37%] 200s tests/test_ha.py ....................................................... [ 46%] 201s ................................................................ [ 56%] 203s tests/test_kubernetes.py ........................................ [ 62%] 203s tests/test_log.py .......... [ 63%] 203s tests/test_mpp.py .. [ 64%] 204s tests/test_patroni.py .................... [ 67%] 204s tests/test_postgresql.py ............................................... [ 74%] 205s ............. [ 76%] 205s tests/test_postmaster.py ......... [ 77%] 205s tests/test_quorum.py ............... [ 80%] 213s tests/test_raft.py ........... [ 81%] 213s tests/test_raft_controller.py ... [ 82%] 213s tests/test_rewind.py .............. [ 84%] 214s tests/test_slots.py ............... [ 86%] 214s tests/test_sync.py .... [ 87%] 214s tests/test_utils.py ............... [ 89%] 214s 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 21.69s ======================= 216s autopkgtest [09:30:40]: test test: -----------------------] 220s test PASS 220s autopkgtest [09:30:44]: test test: - - - - - - - - - - results - - - - - - - - - - 223s autopkgtest [09:30:47]: test acceptance-etcd3-basic: preparing testbed 245s autopkgtest [09:31:09]: testbed dpkg architecture: armhf 247s autopkgtest [09:31:11]: testbed apt version: 3.0.0 251s autopkgtest [09:31:15]: @@@@@@@@@@@@@@@@@@@@ test bed setup 252s autopkgtest [09:31:16]: testbed release detected to be: plucky 260s autopkgtest [09:31:24]: updating testbed package index (apt update) 262s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [265 kB] 262s Get:2 http://ftpmaster.internal/ubuntu plucky InRelease [265 kB] 262s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 262s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 262s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [5192 B] 262s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [204 kB] 262s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [9948 B] 262s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf Packages [3452 B] 262s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf c-n-f Metadata [288 B] 262s Get:10 http://ftpmaster.internal/ubuntu plucky-proposed/restricted armhf c-n-f Metadata [116 B] 262s Get:11 http://ftpmaster.internal/ubuntu plucky-proposed/universe armhf Packages [109 kB] 262s Get:12 http://ftpmaster.internal/ubuntu plucky-proposed/universe armhf c-n-f Metadata [4896 B] 262s Get:13 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse armhf c-n-f Metadata [116 B] 262s Get:14 http://ftpmaster.internal/ubuntu plucky/universe Sources [21.1 MB] 264s Get:15 http://ftpmaster.internal/ubuntu plucky/universe armhf Packages [15.3 MB] 270s Fetched 37.2 MB in 7s (5594 kB/s) 271s Reading package lists... 276s autopkgtest [09:31:40]: upgrading testbed (apt dist-upgrade and autopurge) 278s Reading package lists... 279s Building dependency tree... 279s Reading state information... 280s Calculating upgrade...Starting pkgProblemResolver with broken count: 0 280s Starting 2 pkgProblemResolver with broken count: 0 280s Done 281s Entering ResolveByKeep 282s 282s Calculating upgrade... 283s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 285s Reading package lists... 285s Building dependency tree... 285s Reading state information... 286s Starting pkgProblemResolver with broken count: 0 286s Starting 2 pkgProblemResolver with broken count: 0 286s Done 287s Solving dependencies... 288s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 290s autopkgtest [09:31:54]: rebooting testbed after setup commands that affected boot 355s Reading package lists... 355s Building dependency tree... 355s Reading state information... 356s Starting pkgProblemResolver with broken count: 0 356s Starting 2 pkgProblemResolver with broken count: 0 356s Done 357s The following NEW packages will be installed: 357s etcd-server fonts-font-awesome fonts-lato libio-pty-perl libipc-run-perl 357s libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl libllvm20 libpq5 357s libtime-duration-perl libtimedate-perl libxslt1.1 moreutils patroni 357s patroni-doc postgresql postgresql-17 postgresql-client-17 357s postgresql-client-common postgresql-common postgresql-common-dev 357s python3-behave python3-click python3-coverage python3-dnspython python3-etcd 357s python3-parse python3-parse-type python3-prettytable python3-psutil 357s python3-psycopg2 python3-wcwidth python3-ydiff sphinx-rtd-theme-common 357s ssl-cert 357s 0 upgraded, 37 newly installed, 0 to remove and 0 not upgraded. 357s Need to get 64.4 MB of archives. 357s After this operation, 253 MB of additional disk space will be used. 357s Get:1 http://ftpmaster.internal/ubuntu plucky/main armhf fonts-lato all 2.015-1 [2781 kB] 358s Get:2 http://ftpmaster.internal/ubuntu plucky/main armhf libjson-perl all 4.10000-1 [81.9 kB] 358s Get:3 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql-client-common all 274 [47.6 kB] 358s Get:4 http://ftpmaster.internal/ubuntu plucky/main armhf libio-pty-perl armhf 1:1.20-1build3 [31.0 kB] 358s Get:5 http://ftpmaster.internal/ubuntu plucky/main armhf libipc-run-perl all 20231003.0-2 [91.5 kB] 358s Get:6 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql-common-dev all 274 [73.0 kB] 358s Get:7 http://ftpmaster.internal/ubuntu plucky/main armhf ssl-cert all 1.1.3ubuntu1 [18.7 kB] 358s Get:8 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql-common all 274 [101 kB] 358s Get:9 http://ftpmaster.internal/ubuntu plucky/universe armhf etcd-server armhf 3.5.16-4 [11.3 MB] 359s Get:10 http://ftpmaster.internal/ubuntu plucky/main armhf fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 359s Get:11 http://ftpmaster.internal/ubuntu plucky/main armhf libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 359s Get:12 http://ftpmaster.internal/ubuntu plucky/main armhf libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 359s Get:13 http://ftpmaster.internal/ubuntu plucky/main armhf libjs-sphinxdoc all 8.1.3-5 [31.0 kB] 359s Get:14 http://ftpmaster.internal/ubuntu plucky/main armhf libllvm20 armhf 1:20.1.2-0ubuntu1 [29.6 MB] 362s Get:15 http://ftpmaster.internal/ubuntu plucky/main armhf libpq5 armhf 17.4-1 [125 kB] 362s Get:16 http://ftpmaster.internal/ubuntu plucky/main armhf libtime-duration-perl all 1.21-2 [12.3 kB] 362s Get:17 http://ftpmaster.internal/ubuntu plucky/main armhf libtimedate-perl all 2.3300-2 [34.0 kB] 362s Get:18 http://ftpmaster.internal/ubuntu plucky/main armhf libxslt1.1 armhf 1.1.39-0exp1ubuntu4 [151 kB] 362s Get:19 http://ftpmaster.internal/ubuntu plucky/universe armhf moreutils armhf 0.69-1 [53.5 kB] 362s Get:20 http://ftpmaster.internal/ubuntu plucky/main armhf python3-click all 8.2.0+0.really.8.1.8-1 [80.0 kB] 362s Get:21 http://ftpmaster.internal/ubuntu plucky/main armhf python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 362s Get:22 http://ftpmaster.internal/ubuntu plucky/main armhf python3-prettytable all 3.12.0-1 [36.5 kB] 362s Get:23 http://ftpmaster.internal/ubuntu plucky/main armhf python3-psutil armhf 5.9.8-2build3 [194 kB] 362s Get:24 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-ydiff all 1.4.2-1 [19.0 kB] 362s Get:25 http://ftpmaster.internal/ubuntu plucky/main armhf python3-psycopg2 armhf 2.9.10-1build1 [125 kB] 362s Get:26 http://ftpmaster.internal/ubuntu plucky/main armhf python3-dnspython all 2.7.0-1ubuntu1 [167 kB] 362s Get:27 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-etcd all 0.4.5-6 [32.1 kB] 362s Get:28 http://ftpmaster.internal/ubuntu plucky-proposed/universe armhf patroni all 4.0.4-8 [282 kB] 362s Get:29 http://ftpmaster.internal/ubuntu plucky/main armhf sphinx-rtd-theme-common all 3.0.2+dfsg-2 [1014 kB] 362s Get:30 http://ftpmaster.internal/ubuntu plucky-proposed/universe armhf patroni-doc all 4.0.4-8 [526 kB] 362s Get:31 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql-client-17 armhf 17.4-1 [1285 kB] 363s Get:32 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql-17 armhf 17.4-1 [14.8 MB] 364s Get:33 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql all 17+274 [14.4 kB] 364s Get:34 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-parse all 1.20.2-1 [27.0 kB] 364s Get:35 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-parse-type all 0.6.4-2 [23.5 kB] 364s Get:36 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-behave all 1.2.6-6 [98.6 kB] 364s Get:37 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-coverage armhf 7.6.0+dfsg1-2build1 [152 kB] 364s Preconfiguring packages ... 364s /var/cache/debconf/tmp.ci/postgresql.config.ynrwd9: 12: pg_lsclusters: not found 365s Fetched 64.4 MB in 7s (9712 kB/s) 365s Selecting previously unselected package fonts-lato. 365s (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 ... 63969 files and directories currently installed.) 365s Preparing to unpack .../00-fonts-lato_2.015-1_all.deb ... 365s Unpacking fonts-lato (2.015-1) ... 365s Selecting previously unselected package libjson-perl. 365s Preparing to unpack .../01-libjson-perl_4.10000-1_all.deb ... 365s Unpacking libjson-perl (4.10000-1) ... 365s Selecting previously unselected package postgresql-client-common. 365s Preparing to unpack .../02-postgresql-client-common_274_all.deb ... 365s Unpacking postgresql-client-common (274) ... 365s Selecting previously unselected package libio-pty-perl. 365s Preparing to unpack .../03-libio-pty-perl_1%3a1.20-1build3_armhf.deb ... 365s Unpacking libio-pty-perl (1:1.20-1build3) ... 365s Selecting previously unselected package libipc-run-perl. 365s Preparing to unpack .../04-libipc-run-perl_20231003.0-2_all.deb ... 365s Unpacking libipc-run-perl (20231003.0-2) ... 365s Selecting previously unselected package postgresql-common-dev. 365s Preparing to unpack .../05-postgresql-common-dev_274_all.deb ... 365s Unpacking postgresql-common-dev (274) ... 365s Selecting previously unselected package ssl-cert. 365s Preparing to unpack .../06-ssl-cert_1.1.3ubuntu1_all.deb ... 365s Unpacking ssl-cert (1.1.3ubuntu1) ... 365s Selecting previously unselected package postgresql-common. 365s Preparing to unpack .../07-postgresql-common_274_all.deb ... 365s Adding 'diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common' 365s Unpacking postgresql-common (274) ... 365s Selecting previously unselected package etcd-server. 365s Preparing to unpack .../08-etcd-server_3.5.16-4_armhf.deb ... 365s Unpacking etcd-server (3.5.16-4) ... 366s Selecting previously unselected package fonts-font-awesome. 366s Preparing to unpack .../09-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 366s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 366s Selecting previously unselected package libjs-jquery. 366s Preparing to unpack .../10-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 366s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 366s Selecting previously unselected package libjs-underscore. 366s Preparing to unpack .../11-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 366s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 366s Selecting previously unselected package libjs-sphinxdoc. 366s Preparing to unpack .../12-libjs-sphinxdoc_8.1.3-5_all.deb ... 366s Unpacking libjs-sphinxdoc (8.1.3-5) ... 366s Selecting previously unselected package libllvm20:armhf. 366s Preparing to unpack .../13-libllvm20_1%3a20.1.2-0ubuntu1_armhf.deb ... 366s Unpacking libllvm20:armhf (1:20.1.2-0ubuntu1) ... 367s Selecting previously unselected package libpq5:armhf. 367s Preparing to unpack .../14-libpq5_17.4-1_armhf.deb ... 367s Unpacking libpq5:armhf (17.4-1) ... 367s Selecting previously unselected package libtime-duration-perl. 367s Preparing to unpack .../15-libtime-duration-perl_1.21-2_all.deb ... 367s Unpacking libtime-duration-perl (1.21-2) ... 367s Selecting previously unselected package libtimedate-perl. 367s Preparing to unpack .../16-libtimedate-perl_2.3300-2_all.deb ... 367s Unpacking libtimedate-perl (2.3300-2) ... 367s Selecting previously unselected package libxslt1.1:armhf. 367s Preparing to unpack .../17-libxslt1.1_1.1.39-0exp1ubuntu4_armhf.deb ... 367s Unpacking libxslt1.1:armhf (1.1.39-0exp1ubuntu4) ... 367s Selecting previously unselected package moreutils. 367s Preparing to unpack .../18-moreutils_0.69-1_armhf.deb ... 367s Unpacking moreutils (0.69-1) ... 368s Selecting previously unselected package python3-click. 368s Preparing to unpack .../19-python3-click_8.2.0+0.really.8.1.8-1_all.deb ... 368s Unpacking python3-click (8.2.0+0.really.8.1.8-1) ... 368s Selecting previously unselected package python3-wcwidth. 368s Preparing to unpack .../20-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 368s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 368s Selecting previously unselected package python3-prettytable. 368s Preparing to unpack .../21-python3-prettytable_3.12.0-1_all.deb ... 368s Unpacking python3-prettytable (3.12.0-1) ... 368s Selecting previously unselected package python3-psutil. 368s Preparing to unpack .../22-python3-psutil_5.9.8-2build3_armhf.deb ... 368s Unpacking python3-psutil (5.9.8-2build3) ... 368s Selecting previously unselected package python3-ydiff. 368s Preparing to unpack .../23-python3-ydiff_1.4.2-1_all.deb ... 368s Unpacking python3-ydiff (1.4.2-1) ... 368s Selecting previously unselected package python3-psycopg2. 368s Preparing to unpack .../24-python3-psycopg2_2.9.10-1build1_armhf.deb ... 368s Unpacking python3-psycopg2 (2.9.10-1build1) ... 368s Selecting previously unselected package python3-dnspython. 368s Preparing to unpack .../25-python3-dnspython_2.7.0-1ubuntu1_all.deb ... 368s Unpacking python3-dnspython (2.7.0-1ubuntu1) ... 368s Selecting previously unselected package python3-etcd. 368s Preparing to unpack .../26-python3-etcd_0.4.5-6_all.deb ... 368s Unpacking python3-etcd (0.4.5-6) ... 368s Selecting previously unselected package patroni. 368s Preparing to unpack .../27-patroni_4.0.4-8_all.deb ... 368s Unpacking patroni (4.0.4-8) ... 368s Selecting previously unselected package sphinx-rtd-theme-common. 368s Preparing to unpack .../28-sphinx-rtd-theme-common_3.0.2+dfsg-2_all.deb ... 368s Unpacking sphinx-rtd-theme-common (3.0.2+dfsg-2) ... 368s Selecting previously unselected package patroni-doc. 368s Preparing to unpack .../29-patroni-doc_4.0.4-8_all.deb ... 368s Unpacking patroni-doc (4.0.4-8) ... 368s Selecting previously unselected package postgresql-client-17. 368s Preparing to unpack .../30-postgresql-client-17_17.4-1_armhf.deb ... 368s Unpacking postgresql-client-17 (17.4-1) ... 368s Selecting previously unselected package postgresql-17. 368s Preparing to unpack .../31-postgresql-17_17.4-1_armhf.deb ... 368s Unpacking postgresql-17 (17.4-1) ... 369s Selecting previously unselected package postgresql. 369s Preparing to unpack .../32-postgresql_17+274_all.deb ... 369s Unpacking postgresql (17+274) ... 369s Selecting previously unselected package python3-parse. 369s Preparing to unpack .../33-python3-parse_1.20.2-1_all.deb ... 369s Unpacking python3-parse (1.20.2-1) ... 369s Selecting previously unselected package python3-parse-type. 369s Preparing to unpack .../34-python3-parse-type_0.6.4-2_all.deb ... 369s Unpacking python3-parse-type (0.6.4-2) ... 369s Selecting previously unselected package python3-behave. 369s Preparing to unpack .../35-python3-behave_1.2.6-6_all.deb ... 369s Unpacking python3-behave (1.2.6-6) ... 369s Selecting previously unselected package python3-coverage. 369s Preparing to unpack .../36-python3-coverage_7.6.0+dfsg1-2build1_armhf.deb ... 369s Unpacking python3-coverage (7.6.0+dfsg1-2build1) ... 369s Setting up postgresql-client-common (274) ... 369s Setting up fonts-lato (2.015-1) ... 369s Setting up libio-pty-perl (1:1.20-1build3) ... 369s Setting up python3-ydiff (1.4.2-1) ... 369s Setting up libpq5:armhf (17.4-1) ... 369s Setting up python3-coverage (7.6.0+dfsg1-2build1) ... 370s Setting up python3-click (8.2.0+0.really.8.1.8-1) ... 370s Setting up python3-psutil (5.9.8-2build3) ... 370s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 371s Setting up ssl-cert (1.1.3ubuntu1) ... 371s Created symlink '/etc/systemd/system/multi-user.target.wants/ssl-cert.service' → '/usr/lib/systemd/system/ssl-cert.service'. 372s Setting up libllvm20:armhf (1:20.1.2-0ubuntu1) ... 372s Setting up python3-psycopg2 (2.9.10-1build1) ... 372s Setting up libipc-run-perl (20231003.0-2) ... 372s Setting up libtime-duration-perl (1.21-2) ... 372s Setting up libtimedate-perl (2.3300-2) ... 372s Setting up python3-dnspython (2.7.0-1ubuntu1) ... 372s Setting up python3-parse (1.20.2-1) ... 373s Setting up libjson-perl (4.10000-1) ... 373s Setting up libxslt1.1:armhf (1.1.39-0exp1ubuntu4) ... 373s Setting up etcd-server (3.5.16-4) ... 373s info: Selecting UID from range 100 to 999 ... 373s 373s info: Selecting GID from range 100 to 999 ... 373s info: Adding system user `etcd' (UID 106) ... 373s info: Adding new group `etcd' (GID 110) ... 373s info: Adding new user `etcd' (UID 106) with group `etcd' ... 373s info: Creating home directory `/var/lib/etcd/' ... 373s Created symlink '/etc/systemd/system/etcd2.service' → '/usr/lib/systemd/system/etcd.service'. 373s Created symlink '/etc/systemd/system/multi-user.target.wants/etcd.service' → '/usr/lib/systemd/system/etcd.service'. 375s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 375s Setting up python3-prettytable (3.12.0-1) ... 375s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 375s Setting up sphinx-rtd-theme-common (3.0.2+dfsg-2) ... 375s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 375s Setting up postgresql-common-dev (274) ... 375s Setting up moreutils (0.69-1) ... 375s Setting up postgresql-client-17 (17.4-1) ... 376s 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 376s Setting up python3-etcd (0.4.5-6) ... 376s Setting up python3-parse-type (0.6.4-2) ... 376s Setting up postgresql-common (274) ... 377s Creating config file /etc/postgresql-common/createcluster.conf with new version 377s Building PostgreSQL dictionaries from installed myspell/hunspell packages... 377s Removing obsolete dictionary files: 378s Created symlink '/etc/systemd/system/multi-user.target.wants/postgresql.service' → '/usr/lib/systemd/system/postgresql.service'. 379s Setting up libjs-sphinxdoc (8.1.3-5) ... 379s Setting up python3-behave (1.2.6-6) ... 379s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 379s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 379s /usr/lib/python3/dist-packages/behave/matchers.py:284: SyntaxWarning: invalid escape sequence '\d' 379s @parse.with_pattern(r"\d+") 379s Setting up patroni (4.0.4-8) ... 379s Created symlink '/etc/systemd/system/multi-user.target.wants/patroni.service' → '/usr/lib/systemd/system/patroni.service'. 380s Setting up postgresql-17 (17.4-1) ... 381s Creating new PostgreSQL cluster 17/main ... 381s /usr/lib/postgresql/17/bin/initdb -D /var/lib/postgresql/17/main --auth-local peer --auth-host scram-sha-256 --no-instructions 381s The files belonging to this database system will be owned by user "postgres". 381s This user must also own the server process. 381s 381s The database cluster will be initialized with locale "C.UTF-8". 381s The default database encoding has accordingly been set to "UTF8". 381s The default text search configuration will be set to "english". 381s 381s Data page checksums are disabled. 381s 381s fixing permissions on existing directory /var/lib/postgresql/17/main ... ok 381s creating subdirectories ... ok 381s selecting dynamic shared memory implementation ... posix 381s selecting default "max_connections" ... 100 381s selecting default "shared_buffers" ... 128MB 381s selecting default time zone ... Etc/UTC 381s creating configuration files ... ok 381s running bootstrap script ... ok 382s performing post-bootstrap initialization ... ok 382s syncing data to disk ... ok 385s Setting up patroni-doc (4.0.4-8) ... 385s Setting up postgresql (17+274) ... 385s Processing triggers for man-db (2.13.0-1) ... 387s Processing triggers for libc-bin (2.41-6ubuntu1) ... 402s autopkgtest [09:33:46]: test acceptance-etcd3-basic: debian/tests/acceptance etcd3 features/basic_replication.feature 402s autopkgtest [09:33:46]: test acceptance-etcd3-basic: [----------------------- 404s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 404s ++ ls -1r /usr/lib/postgresql/ 404s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 404s + '[' 17 == 10 -o 17 == 11 ']' 404s + echo '### PostgreSQL 17 acceptance-etcd3 features/basic_replication.feature ###' 404s + 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' 404s ### PostgreSQL 17 acceptance-etcd3 features/basic_replication.feature ### 405s Apr 14 09:33:49 Feature: basic replication # features/basic_replication.feature:1 405s Apr 14 09:33:49 We should check that the basic bootstrapping, replication and failover works. 405s Apr 14 09:33:49 Scenario: check replication of a single table # features/basic_replication.feature:4 405s Apr 14 09:33:49 Given I start postgres-0 # features/steps/basic_replication.py:20 410s Apr 14 09:33:54 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 410s Apr 14 09:33:54 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 410s Apr 14 09:33:54 When I issue a PATCH request to http://127.0.0.1:8008/config with {"ttl": 20, "synchronous_mode": true} # features/steps/patroni_api.py:73 410s Apr 14 09:33:54 Then I receive a response code 200 # features/steps/patroni_api.py:100 410s Apr 14 09:33:54 When I start postgres-1 # features/steps/basic_replication.py:20 415s Apr 14 09:33:59 And I configure and start postgres-2 with a tag replicatefrom postgres-0 # features/steps/cascading_replication.py:7 421s Apr 14 09:34:05 And "sync" key in DCS has leader=postgres-0 after 20 seconds # features/steps/cascading_replication.py:23 421s Apr 14 09:34:05 And I add the table foo to postgres-0 # features/steps/basic_replication.py:66 421s Apr 14 09:34:05 Then table foo is present on postgres-1 after 20 seconds # features/steps/basic_replication.py:105 422s Apr 14 09:34:06 Then table foo is present on postgres-2 after 20 seconds # features/steps/basic_replication.py:105 422s Apr 14 09:34:06 422s Apr 14 09:34:06 Scenario: check restart of sync replica # features/basic_replication.feature:17 422s Apr 14 09:34:06 Given I shut down postgres-2 # features/steps/basic_replication.py:41 423s Apr 14 09:34:07 Then "sync" key in DCS has sync_standby=postgres-1 after 5 seconds # features/steps/cascading_replication.py:23 423s Apr 14 09:34:07 When I start postgres-2 # features/steps/basic_replication.py:20 426s Apr 14 09:34:10 And I shut down postgres-1 # features/steps/basic_replication.py:41 429s Apr 14 09:34:13 Then "sync" key in DCS has sync_standby=postgres-2 after 10 seconds # features/steps/cascading_replication.py:23 429s Apr 14 09:34:13 When I start postgres-1 # features/steps/basic_replication.py:20 432s Apr 14 09:34:16 Then "members/postgres-1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 433s Apr 14 09:34:17 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:144 433s Apr 14 09:34:17 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:144 434s Apr 14 09:34:17 434s Apr 14 09:34:17 Scenario: check stuck sync replica # features/basic_replication.feature:28 434s Apr 14 09:34:17 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"pause": true, "maximum_lag_on_syncnode": 15000000, "postgresql": {"parameters": {"synchronous_commit": "remote_apply"}}} # features/steps/patroni_api.py:73 434s Apr 14 09:34:18 Then I receive a response code 200 # features/steps/patroni_api.py:100 434s Apr 14 09:34:18 And I create table on postgres-0 # features/steps/basic_replication.py:85 434s Apr 14 09:34:18 And table mytest is present on postgres-1 after 2 seconds # features/steps/basic_replication.py:105 435s Apr 14 09:34:19 And table mytest is present on postgres-2 after 2 seconds # features/steps/basic_replication.py:105 435s Apr 14 09:34:19 When I pause wal replay on postgres-2 # features/steps/basic_replication.py:76 435s Apr 14 09:34:19 And I load data on postgres-0 # features/steps/basic_replication.py:96 435s Apr 14 09:34:19 Then "sync" key in DCS has sync_standby=postgres-1 after 15 seconds # features/steps/cascading_replication.py:23 438s Apr 14 09:34:22 And I resume wal replay on postgres-2 # features/steps/basic_replication.py:76 438s Apr 14 09:34:22 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:144 438s Apr 14 09:34:22 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:144 438s Apr 14 09:34:22 When I issue a PATCH request to http://127.0.0.1:8008/config with {"pause": null, "maximum_lag_on_syncnode": -1, "postgresql": {"parameters": {"synchronous_commit": "on"}}} # features/steps/patroni_api.py:73 438s Apr 14 09:34:22 Then I receive a response code 200 # features/steps/patroni_api.py:100 438s Apr 14 09:34:22 And I drop table on postgres-0 # features/steps/basic_replication.py:85 439s Apr 14 09:34:22 439s Apr 14 09:34:22 Scenario: check multi sync replication # features/basic_replication.feature:44 439s Apr 14 09:34:22 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"synchronous_node_count": 2} # features/steps/patroni_api.py:73 439s Apr 14 09:34:23 Then I receive a response code 200 # features/steps/patroni_api.py:100 439s Apr 14 09:34:23 Then "sync" key in DCS has sync_standby=postgres-1,postgres-2 after 10 seconds # features/steps/cascading_replication.py:23 443s Apr 14 09:34:27 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:144 443s Apr 14 09:34:27 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:144 443s Apr 14 09:34:27 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 443s Apr 14 09:34:27 Then I receive a response code 200 # features/steps/patroni_api.py:100 443s Apr 14 09:34:27 And I shut down postgres-1 # features/steps/basic_replication.py:41 446s Apr 14 09:34:30 Then "sync" key in DCS has sync_standby=postgres-2 after 10 seconds # features/steps/cascading_replication.py:23 447s Apr 14 09:34:31 When I start postgres-1 # features/steps/basic_replication.py:20 451s Apr 14 09:34:35 Then "members/postgres-1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 451s Apr 14 09:34:35 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:144 451s Apr 14 09:34:35 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:144 451s Apr 14 09:34:35 451s Apr 14 09:34:35 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 451s Apr 14 09:34:35 Given I run patronictl.py pause batman # features/steps/patroni_api.py:88 453s Apr 14 09:34:36 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 453s Apr 14 09:34:36 When I sleep for 2 seconds # features/steps/patroni_api.py:41 455s Apr 14 09:34:38 And I shut down postgres-0 # features/steps/basic_replication.py:41 456s Apr 14 09:34:39 And I run patronictl.py resume batman # features/steps/patroni_api.py:88 457s Apr 14 09:34:41 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 457s Apr 14 09:34:41 And postgres-2 role is the primary after 24 seconds # features/steps/basic_replication.py:117 477s Apr 14 09:35:01 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:158 478s Apr 14 09:35:02 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 478s Apr 14 09:35:02 When I issue a PATCH request to http://127.0.0.1:8010/config with {"synchronous_mode": null, "master_start_timeout": 0} # features/steps/patroni_api.py:73 478s Apr 14 09:35:02 Then I receive a response code 200 # features/steps/patroni_api.py:100 478s Apr 14 09:35:02 When I add the table bar to postgres-2 # features/steps/basic_replication.py:66 478s Apr 14 09:35:02 Then table bar is present on postgres-1 after 20 seconds # features/steps/basic_replication.py:105 478s Apr 14 09:35:02 And Response on GET http://127.0.0.1:8010/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:158 480s Apr 14 09:35:04 480s Apr 14 09:35:04 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 480s Apr 14 09:35:04 Given I add the table splitbrain to postgres-0 # features/steps/basic_replication.py:66 480s Apr 14 09:35:04 And I start postgres-0 # features/steps/basic_replication.py:20 480s Apr 14 09:35:04 Then postgres-0 role is the secondary after 20 seconds # features/steps/basic_replication.py:117 484s Apr 14 09:35:08 When I add the table buz to postgres-2 # features/steps/basic_replication.py:66 484s Apr 14 09:35:08 Then table buz is present on postgres-0 after 20 seconds # features/steps/basic_replication.py:105 490s Apr 14 09:35:14 490s Apr 14 09:35:14 @reject-duplicate-name 490s Apr 14 09:35:14 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 490s Apr 14 09:35:14 Given I start duplicate postgres-0 on port 8011 # features/steps/basic_replication.py:25 492s Apr 14 09:35:16 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 496s Apr 14 09:35:20 496s Apr 14 09:35:20 Combined data file .coverage.autopkgtest-lxd-lkvmxp.3354.XdfydOJx 496s Apr 14 09:35:20 Combined data file .coverage.autopkgtest-lxd-lkvmxp.3399.XqsGhrPx 496s Apr 14 09:35:20 Combined data file .coverage.autopkgtest-lxd-lkvmxp.3438.Xwbhigix 496s Apr 14 09:35:20 Combined data file .coverage.autopkgtest-lxd-lkvmxp.3498.XYilNjKx 496s Apr 14 09:35:20 Combined data file .coverage.autopkgtest-lxd-lkvmxp.3544.XfCdmRkx 496s Apr 14 09:35:20 Combined data file .coverage.autopkgtest-lxd-lkvmxp.3620.XtsQCQHx 496s Apr 14 09:35:20 Combined data file .coverage.autopkgtest-lxd-lkvmxp.3670.XtziMBVx 496s Apr 14 09:35:20 Combined data file .coverage.autopkgtest-lxd-lkvmxp.3673.XEsYIipx 496s Apr 14 09:35:20 Combined data file .coverage.autopkgtest-lxd-lkvmxp.3751.XlDsFVAx 496s Apr 14 09:35:20 Combined data file .coverage.autopkgtest-lxd-lkvmxp.3854.XTGjkRix 501s Apr 14 09:35:25 Name Stmts Miss Cover 501s Apr 14 09:35:25 ------------------------------------------------------------------------------------------------------------- 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/OpenSSL/SSL.py 1159 647 44% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/OpenSSL/__init__.py 3 0 100% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/OpenSSL/_util.py 44 15 66% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/OpenSSL/crypto.py 869 663 24% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/OpenSSL/version.py 9 0 100% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 101 96 5% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/bcrypt/__init__.py 3 0 100% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/cryptography/__about__.py 5 0 100% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/cryptography/__init__.py 3 0 100% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/cryptography/exceptions.py 26 5 81% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/cryptography/hazmat/__init__.py 2 0 100% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/cryptography/hazmat/_oid.py 135 0 100% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/__init__.py 0 0 100% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/__init__.py 0 0 100% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/_conditional.py 38 17 55% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/binding.py 51 4 92% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/__init__.py 1 0 100% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/ciphers/__init__.py 1 0 100% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/ciphers/algorithms.py 68 18 74% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/__init__.py 0 0 100% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_asymmetric.py 6 0 100% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_cipheralgorithm.py 23 4 83% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_serialization.py 79 35 56% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/__init__.py 0 0 100% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dh.py 47 0 100% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dsa.py 55 5 91% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ec.py 172 22 87% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed448.py 45 12 73% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed25519.py 43 12 72% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/padding.py 55 23 58% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/rsa.py 93 40 57% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/types.py 19 0 100% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/utils.py 14 5 64% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x448.py 43 12 72% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x25519.py 41 12 71% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/__init__.py 4 0 100% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/algorithms.py 72 15 79% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/base.py 54 12 78% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/modes.py 140 59 58% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/constant_time.py 6 3 50% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hashes.py 127 20 84% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/__init__.py 5 0 100% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/base.py 7 0 100% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/ssh.py 775 614 21% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/cryptography/utils.py 76 28 63% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/cryptography/x509/__init__.py 70 0 100% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/cryptography/x509/base.py 488 227 53% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/cryptography/x509/certificate_transparency.py 42 0 100% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/cryptography/x509/extensions.py 1024 552 46% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/cryptography/x509/general_name.py 166 94 43% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/cryptography/x509/name.py 236 144 39% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/cryptography/x509/oid.py 3 0 100% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/cryptography/x509/verification.py 12 0 100% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/dateutil/__init__.py 13 4 69% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/dateutil/_version.py 13 3 77% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 810 688 15% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 183 150 18% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 240 206 14% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 151 117 23% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 794 629 21% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/dateutil/tz/win.py 152 149 2% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/dns/__init__.py 2 0 100% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/dns/_asyncbackend.py 14 6 57% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/dns/_ddr.py 105 86 18% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/dns/_features.py 46 8 83% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/dns/_immutable_ctx.py 40 5 88% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/dns/asyncbackend.py 44 32 27% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/dns/asyncquery.py 322 283 12% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/dns/edns.py 307 185 40% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/dns/entropy.py 80 49 39% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/dns/enum.py 72 46 36% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/dns/exception.py 59 33 44% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/dns/flags.py 40 14 65% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/dns/grange.py 33 30 9% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/dns/immutable.py 41 30 27% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/dns/inet.py 79 65 18% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/dns/ipv4.py 26 20 23% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/dns/ipv6.py 114 100 12% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/dns/message.py 829 676 18% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/dns/name.py 617 425 31% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/dns/nameserver.py 102 55 46% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/dns/node.py 117 71 39% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/dns/opcode.py 30 7 77% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/dns/query.py 562 477 15% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/dns/quic/__init__.py 28 23 18% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/dns/rcode.py 68 13 81% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/dns/rdata.py 386 277 28% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/dns/rdataclass.py 43 9 79% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/dns/rdataset.py 192 133 31% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/dns/rdatatype.py 215 23 89% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/OPT.py 34 19 44% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/SOA.py 41 26 37% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/TSIG.py 58 42 28% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/ZONEMD.py 43 27 37% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/__init__.py 1 0 100% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/dns/rdtypes/__init__.py 1 0 100% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/dns/rdtypes/svcbbase.py 415 268 35% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/dns/rdtypes/util.py 191 154 19% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/dns/renderer.py 151 118 22% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/dns/resolver.py 873 696 20% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/dns/reversename.py 32 24 25% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/dns/rrset.py 77 56 27% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/dns/serial.py 92 79 14% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/dns/set.py 148 107 28% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/dns/tokenizer.py 334 279 16% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/dns/transaction.py 269 201 25% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/dns/tsig.py 176 122 31% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/dns/ttl.py 44 38 14% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/dns/version.py 6 0 100% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/dns/wire.py 64 42 34% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/dns/xfr.py 148 126 15% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/dns/zone.py 507 383 24% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/dns/zonefile.py 427 379 11% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/dns/zonetypes.py 14 2 86% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/etcd/__init__.py 125 63 50% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/etcd/client.py 380 256 33% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/etcd/lock.py 125 103 18% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/idna/__init__.py 4 0 100% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/idna/core.py 292 257 12% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/idna/idnadata.py 4 0 100% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/idna/intranges.py 30 24 20% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/idna/package_data.py 1 0 100% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/patroni/__main__.py 201 68 66% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/patroni/api.py 788 439 44% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 19 80% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/patroni/collections.py 56 7 88% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/patroni/config.py 357 100 72% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/patroni/config_generator.py 212 159 25% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/patroni/daemon.py 76 6 92% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 710 165 77% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/patroni/dcs/etcd3.py 679 159 77% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/patroni/dcs/etcd.py 603 259 57% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/patroni/dynamic_loader.py 35 7 80% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/patroni/file_perm.py 47 11 77% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/patroni/global_config.py 87 4 95% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/patroni/ha.py 1359 681 50% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/patroni/log.py 235 81 66% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 825 240 71% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/patroni/postgresql/available_parameters/__init__.py 24 3 88% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 254 89 65% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 840 255 70% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 7 91% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 43 13 70% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/patroni/postgresql/mpp/__init__.py 89 12 87% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 92 46% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 416 200 52% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 349 177 49% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 154 23 85% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 157 24 85% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/patroni/psycopg.py 46 19 59% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/patroni/quorum.py 182 160 12% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/patroni/request.py 58 7 88% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/patroni/tags.py 38 5 87% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/patroni/utils.py 371 125 66% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/patroni/validator.py 309 218 29% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 49 76% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 50 63% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/psutil/__init__.py 950 636 33% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/psutil/_common.py 422 212 50% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/psutil/_compat.py 301 264 12% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1250 936 25% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/psutil/_psposix.py 95 41 57% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/urllib3/__init__.py 49 15 69% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 63 45 29% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/urllib3/_collections.py 231 124 46% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 54 24 56% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/urllib3/_version.py 13 3 77% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/urllib3/connection.py 389 138 65% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 344 134 61% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/urllib3/contrib/__init__.py 0 0 100% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/urllib3/contrib/pyopenssl.py 263 103 61% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/urllib3/exceptions.py 121 39 68% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/urllib3/http2/__init__.py 28 21 25% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/urllib3/http2/probe.py 49 31 37% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 86 63% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/urllib3/response.py 634 350 45% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 42 36% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 49 53% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 15 53% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/urllib3/util/retry.py 174 55 68% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 172 74 57% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 152 106 30% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 14 80% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/urllib3/util/url.py 203 73 64% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 10 62% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 18 63% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/yaml/parser.py 352 198 44% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/yaml/reader.py 122 34 72% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/yaml/scanner.py 758 437 42% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 501s Apr 14 09:35:25 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 501s Apr 14 09:35:25 patroni/__init__.py 13 2 85% 501s Apr 14 09:35:25 patroni/__main__.py 201 201 0% 501s Apr 14 09:35:25 patroni/api.py 788 788 0% 501s Apr 14 09:35:25 patroni/async_executor.py 96 69 28% 501s Apr 14 09:35:25 patroni/collections.py 56 15 73% 501s Apr 14 09:35:25 patroni/config.py 357 186 48% 501s Apr 14 09:35:25 patroni/config_generator.py 212 212 0% 501s Apr 14 09:35:25 patroni/ctl.py 936 661 29% 501s Apr 14 09:35:25 patroni/daemon.py 76 76 0% 501s Apr 14 09:35:25 patroni/dcs/__init__.py 710 357 50% 501s Apr 14 09:35:25 patroni/dcs/consul.py 482 482 0% 501s Apr 14 09:35:25 patroni/dcs/etcd3.py 679 362 47% 501s Apr 14 09:35:25 patroni/dcs/etcd.py 603 285 53% 501s Apr 14 09:35:25 patroni/dcs/exhibitor.py 62 62 0% 501s Apr 14 09:35:25 patroni/dcs/kubernetes.py 943 943 0% 501s Apr 14 09:35:25 patroni/dcs/raft.py 319 319 0% 501s Apr 14 09:35:25 patroni/dcs/zookeeper.py 289 289 0% 501s Apr 14 09:35:25 patroni/dynamic_loader.py 35 7 80% 501s Apr 14 09:35:25 patroni/exceptions.py 16 1 94% 501s Apr 14 09:35:25 patroni/file_perm.py 47 17 64% 501s Apr 14 09:35:25 patroni/global_config.py 87 25 71% 501s Apr 14 09:35:25 patroni/ha.py 1359 1359 0% 501s Apr 14 09:35:25 patroni/log.py 235 183 22% 501s Apr 14 09:35:25 patroni/postgresql/__init__.py 825 653 21% 501s Apr 14 09:35:25 patroni/postgresql/available_parameters/__init__.py 24 3 88% 501s Apr 14 09:35:25 patroni/postgresql/bootstrap.py 254 224 12% 501s Apr 14 09:35:25 patroni/postgresql/callback_executor.py 55 34 38% 501s Apr 14 09:35:25 patroni/postgresql/cancellable.py 104 84 19% 501s Apr 14 09:35:25 patroni/postgresql/config.py 840 720 14% 501s Apr 14 09:35:25 patroni/postgresql/connection.py 75 50 33% 501s Apr 14 09:35:25 patroni/postgresql/misc.py 43 30 30% 501s Apr 14 09:35:25 patroni/postgresql/mpp/__init__.py 89 21 76% 501s Apr 14 09:35:25 patroni/postgresql/mpp/citus.py 366 366 0% 501s Apr 14 09:35:25 patroni/postgresql/postmaster.py 170 139 18% 501s Apr 14 09:35:25 patroni/postgresql/rewind.py 416 416 0% 501s Apr 14 09:35:25 patroni/postgresql/slots.py 349 300 14% 501s Apr 14 09:35:25 patroni/postgresql/sync.py 154 114 26% 501s Apr 14 09:35:25 patroni/postgresql/validator.py 157 52 67% 501s Apr 14 09:35:25 patroni/psycopg.py 46 32 30% 501s Apr 14 09:35:25 patroni/quorum.py 182 182 0% 501s Apr 14 09:35:25 patroni/raft_controller.py 22 22 0% 501s Apr 14 09:35:25 patroni/request.py 58 6 90% 501s Apr 14 09:35:25 patroni/scripts/__init__.py 0 0 100% 501s Apr 14 09:35:25 patroni/scripts/aws.py 59 59 0% 501s Apr 14 09:35:25 patroni/scripts/barman/__init__.py 0 0 100% 501s Apr 14 09:35:25 patroni/scripts/barman/cli.py 50 50 0% 501s Apr 14 09:35:25 patroni/scripts/barman/config_switch.py 50 50 0% 501s Apr 14 09:35:25 patroni/scripts/barman/recover.py 36 36 0% 501s Apr 14 09:35:25 patroni/scripts/barman/utils.py 93 93 0% 501s Apr 14 09:35:25 patroni/scripts/wale_restore.py 207 207 0% 501s Apr 14 09:35:25 patroni/tags.py 38 15 61% 501s Apr 14 09:35:25 patroni/utils.py 371 238 36% 501s Apr 14 09:35:25 patroni/validator.py 309 222 28% 501s Apr 14 09:35:25 patroni/version.py 1 0 100% 501s Apr 14 09:35:25 patroni/watchdog/__init__.py 2 2 0% 501s Apr 14 09:35:25 patroni/watchdog/base.py 203 203 0% 501s Apr 14 09:35:25 patroni/watchdog/linux.py 135 135 0% 501s Apr 14 09:35:25 ------------------------------------------------------------------------------------------------------------- 501s Apr 14 09:35:25 TOTAL 54417 34454 37% 501s Apr 14 09:35:25 1 feature passed, 0 failed, 0 skipped 501s Apr 14 09:35:25 7 scenarios passed, 0 failed, 0 skipped 501s Apr 14 09:35:25 68 steps passed, 0 failed, 0 skipped, 0 undefined 501s Apr 14 09:35:25 Took 1m26.548s 501s + bash -c 'rm -rf features/output' 501s ### End 17 acceptance-etcd3 features/basic_replication.feature ### 501s + echo '### End 17 acceptance-etcd3 features/basic_replication.feature ###' 501s + rm -f /tmp/pgpass_postgres-0 /tmp/pgpass_postgres-1 /tmp/pgpass_postgres-2 501s ++ id -u 501s + '[' 1000 -eq 0 ']' 502s autopkgtest [09:35:26]: test acceptance-etcd3-basic: -----------------------] 505s autopkgtest [09:35:29]: test acceptance-etcd3-basic: - - - - - - - - - - results - - - - - - - - - - 505s acceptance-etcd3-basic PASS 509s autopkgtest [09:35:33]: test acceptance-etcd3: preparing testbed 510s Reading package lists... 511s Building dependency tree... 511s Reading state information... 511s Starting pkgProblemResolver with broken count: 0 512s Starting 2 pkgProblemResolver with broken count: 0 512s Done 513s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 522s autopkgtest [09:35:46]: test acceptance-etcd3: debian/tests/acceptance etcd3 522s autopkgtest [09:35:46]: test acceptance-etcd3: [----------------------- 524s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 524s ++ ls -1r /usr/lib/postgresql/ 524s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 524s + '[' 17 == 10 -o 17 == 11 ']' 524s + echo '### PostgreSQL 17 acceptance-etcd3 ###' 524s + 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' 524s ### PostgreSQL 17 acceptance-etcd3 ### 525s Apr 14 09:35:49 Feature: basic replication # features/basic_replication.feature:1 525s Apr 14 09:35:49 We should check that the basic bootstrapping, replication and failover works. 525s Apr 14 09:35:49 Scenario: check replication of a single table # features/basic_replication.feature:4 525s Apr 14 09:35:49 Given I start postgres-0 # features/steps/basic_replication.py:20 530s Apr 14 09:35:54 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 530s Apr 14 09:35:54 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 530s Apr 14 09:35:54 When I issue a PATCH request to http://127.0.0.1:8008/config with {"ttl": 20, "synchronous_mode": true} # features/steps/patroni_api.py:73 530s Apr 14 09:35:54 Then I receive a response code 200 # features/steps/patroni_api.py:100 530s Apr 14 09:35:54 When I start postgres-1 # features/steps/basic_replication.py:20 535s Apr 14 09:35:59 And I configure and start postgres-2 with a tag replicatefrom postgres-0 # features/steps/cascading_replication.py:7 540s Apr 14 09:36:04 And "sync" key in DCS has leader=postgres-0 after 20 seconds # features/steps/cascading_replication.py:23 540s Apr 14 09:36:04 And I add the table foo to postgres-0 # features/steps/basic_replication.py:66 540s Apr 14 09:36:04 Then table foo is present on postgres-1 after 20 seconds # features/steps/basic_replication.py:105 541s Apr 14 09:36:05 Then table foo is present on postgres-2 after 20 seconds # features/steps/basic_replication.py:105 541s Apr 14 09:36:05 541s Apr 14 09:36:05 Scenario: check restart of sync replica # features/basic_replication.feature:17 541s Apr 14 09:36:05 Given I shut down postgres-2 # features/steps/basic_replication.py:41 542s Apr 14 09:36:06 Then "sync" key in DCS has sync_standby=postgres-1 after 5 seconds # features/steps/cascading_replication.py:23 542s Apr 14 09:36:06 When I start postgres-2 # features/steps/basic_replication.py:20 545s Apr 14 09:36:09 And I shut down postgres-1 # features/steps/basic_replication.py:41 548s Apr 14 09:36:12 Then "sync" key in DCS has sync_standby=postgres-2 after 10 seconds # features/steps/cascading_replication.py:23 548s Apr 14 09:36:12 When I start postgres-1 # features/steps/basic_replication.py:20 551s Apr 14 09:36:15 Then "members/postgres-1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 552s Apr 14 09:36:16 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:144 552s Apr 14 09:36:16 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:144 552s Apr 14 09:36:16 552s Apr 14 09:36:16 Scenario: check stuck sync replica # features/basic_replication.feature:28 552s Apr 14 09:36:16 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"pause": true, "maximum_lag_on_syncnode": 15000000, "postgresql": {"parameters": {"synchronous_commit": "remote_apply"}}} # features/steps/patroni_api.py:73 552s Apr 14 09:36:16 Then I receive a response code 200 # features/steps/patroni_api.py:100 552s Apr 14 09:36:16 And I create table on postgres-0 # features/steps/basic_replication.py:85 552s Apr 14 09:36:16 And table mytest is present on postgres-1 after 2 seconds # features/steps/basic_replication.py:105 553s Apr 14 09:36:17 And table mytest is present on postgres-2 after 2 seconds # features/steps/basic_replication.py:105 553s Apr 14 09:36:17 When I pause wal replay on postgres-2 # features/steps/basic_replication.py:76 553s Apr 14 09:36:17 And I load data on postgres-0 # features/steps/basic_replication.py:96 554s Apr 14 09:36:18 Then "sync" key in DCS has sync_standby=postgres-1 after 15 seconds # features/steps/cascading_replication.py:23 557s Apr 14 09:36:21 And I resume wal replay on postgres-2 # features/steps/basic_replication.py:76 557s Apr 14 09:36:21 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:144 558s Apr 14 09:36:22 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:144 558s Apr 14 09:36:22 When I issue a PATCH request to http://127.0.0.1:8008/config with {"pause": null, "maximum_lag_on_syncnode": -1, "postgresql": {"parameters": {"synchronous_commit": "on"}}} # features/steps/patroni_api.py:73 558s Apr 14 09:36:22 Then I receive a response code 200 # features/steps/patroni_api.py:100 558s Apr 14 09:36:22 And I drop table on postgres-0 # features/steps/basic_replication.py:85 558s Apr 14 09:36:22 558s Apr 14 09:36:22 Scenario: check multi sync replication # features/basic_replication.feature:44 558s Apr 14 09:36:22 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"synchronous_node_count": 2} # features/steps/patroni_api.py:73 558s Apr 14 09:36:22 Then I receive a response code 200 # features/steps/patroni_api.py:100 558s Apr 14 09:36:22 Then "sync" key in DCS has sync_standby=postgres-1,postgres-2 after 10 seconds # features/steps/cascading_replication.py:23 562s Apr 14 09:36:26 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:144 562s Apr 14 09:36:26 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:144 562s Apr 14 09:36:26 When I issue a PATCH request to http://127.0.0.1:8008/config with {"synchronous_node_count": 1} # features/steps/patroni_api.py:73 563s Apr 14 09:36:27 Then I receive a response code 200 # features/steps/patroni_api.py:100 563s Apr 14 09:36:27 And I shut down postgres-1 # features/steps/basic_replication.py:41 566s Apr 14 09:36:30 Then "sync" key in DCS has sync_standby=postgres-2 after 10 seconds # features/steps/cascading_replication.py:23 567s Apr 14 09:36:31 When I start postgres-1 # features/steps/basic_replication.py:20 571s Apr 14 09:36:35 Then "members/postgres-1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 572s Apr 14 09:36:36 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:144 572s Apr 14 09:36:36 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:144 572s Apr 14 09:36:36 572s Apr 14 09:36:36 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 572s Apr 14 09:36:36 Given I run patronictl.py pause batman # features/steps/patroni_api.py:88 573s Apr 14 09:36:37 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 573s Apr 14 09:36:37 When I sleep for 2 seconds # features/steps/patroni_api.py:41 575s Apr 14 09:36:39 And I shut down postgres-0 # features/steps/basic_replication.py:41 576s Apr 14 09:36:40 And I run patronictl.py resume batman # features/steps/patroni_api.py:88 578s Apr 14 09:36:42 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 578s Apr 14 09:36:42 And postgres-2 role is the primary after 24 seconds # features/steps/basic_replication.py:117 598s Apr 14 09:37:02 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:158 598s Apr 14 09:37:02 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 598s Apr 14 09:37:02 When I issue a PATCH request to http://127.0.0.1:8010/config with {"synchronous_mode": null, "master_start_timeout": 0} # features/steps/patroni_api.py:73 598s Apr 14 09:37:02 Then I receive a response code 200 # features/steps/patroni_api.py:100 598s Apr 14 09:37:02 When I add the table bar to postgres-2 # features/steps/basic_replication.py:66 598s Apr 14 09:37:02 Then table bar is present on postgres-1 after 20 seconds # features/steps/basic_replication.py:105 599s Apr 14 09:37:03 And Response on GET http://127.0.0.1:8010/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:158 599s Apr 14 09:37:03 599s Apr 14 09:37:03 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 599s Apr 14 09:37:03 Given I add the table splitbrain to postgres-0 # features/steps/basic_replication.py:66 599s Apr 14 09:37:03 And I start postgres-0 # features/steps/basic_replication.py:20 599s Apr 14 09:37:03 Then postgres-0 role is the secondary after 20 seconds # features/steps/basic_replication.py:117 603s Apr 14 09:37:07 When I add the table buz to postgres-2 # features/steps/basic_replication.py:66 603s Apr 14 09:37:07 Then table buz is present on postgres-0 after 20 seconds # features/steps/basic_replication.py:105 608s Apr 14 09:37:12 608s Apr 14 09:37:12 @reject-duplicate-name 608s Apr 14 09:37:12 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 608s Apr 14 09:37:12 Given I start duplicate postgres-0 on port 8011 # features/steps/basic_replication.py:25 610s Apr 14 09:37:14 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 615s Apr 14 09:37:19 615s Apr 14 09:37:19 Feature: cascading replication # features/cascading_replication.feature:1 615s Apr 14 09:37:19 We should check that patroni can do base backup and streaming from the replica 615s Apr 14 09:37:19 Scenario: check a base backup and streaming replication from a replica # features/cascading_replication.feature:4 615s Apr 14 09:37:19 Given I start postgres-0 # features/steps/basic_replication.py:20 620s Apr 14 09:37:24 And postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 621s Apr 14 09:37:25 And I configure and start postgres-1 with a tag clonefrom true # features/steps/cascading_replication.py:7 626s Apr 14 09:37:30 And replication works from postgres-0 to postgres-1 after 20 seconds # features/steps/basic_replication.py:124 627s Apr 14 09:37:31 And I create label with "postgres-0" in postgres-0 data directory # features/steps/cascading_replication.py:18 627s Apr 14 09:37:31 And I create label with "postgres-1" in postgres-1 data directory # features/steps/cascading_replication.py:18 627s Apr 14 09:37:31 And "members/postgres-1" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 627s Apr 14 09:37:31 And I configure and start postgres-2 with a tag replicatefrom postgres-1 # features/steps/cascading_replication.py:7 632s Apr 14 09:37:36 Then replication works from postgres-0 to postgres-2 after 30 seconds # features/steps/basic_replication.py:124 633s Apr 14 09:37:37 And there is a label with "postgres-1" in postgres-2 data directory # features/steps/cascading_replication.py:12 640s SKIP FEATURE citus: Citus extension isn't available 640s SKIP Scenario check that worker cluster is registered in the coordinator: Citus extension isn't available 640s SKIP Scenario coordinator failover updates pg_dist_node: Citus extension isn't available 640s SKIP Scenario worker switchover doesn't break client queries on the coordinator: Citus extension isn't available 640s SKIP Scenario worker primary restart doesn't break client queries on the coordinator: Citus extension isn't available 640s 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 640s Apr 14 09:37:44 640s Apr 14 09:37:44 Feature: citus # features/citus.feature:1 640s Apr 14 09:37:44 We should check that coordinator discovers and registers workers and clients don't have errors when worker cluster switches over 640s Apr 14 09:37:44 Scenario: check that worker cluster is registered in the coordinator # features/citus.feature:4 640s Apr 14 09:37:44 Given I start postgres-0 in citus group 0 # None 640s Apr 14 09:37:44 And I start postgres-2 in citus group 1 # None 640s Apr 14 09:37:44 Then postgres-0 is a leader in a group 0 after 10 seconds # None 640s Apr 14 09:37:44 And postgres-2 is a leader in a group 1 after 10 seconds # None 640s Apr 14 09:37:44 When I start postgres-1 in citus group 0 # None 640s Apr 14 09:37:44 And I start postgres-3 in citus group 1 # None 640s Apr 14 09:37:44 Then replication works from postgres-0 to postgres-1 after 15 seconds # None 640s Apr 14 09:37:44 Then replication works from postgres-2 to postgres-3 after 15 seconds # None 640s Apr 14 09:37:44 And postgres-0 is registered in the postgres-0 as the primary in group 0 after 5 seconds # None 640s Apr 14 09:37:44 And postgres-1 is registered in the postgres-0 as the secondary in group 0 after 5 seconds # None 640s Apr 14 09:37:44 And postgres-2 is registered in the postgres-0 as the primary in group 1 after 5 seconds # None 640s Apr 14 09:37:44 And postgres-3 is registered in the postgres-0 as the secondary in group 1 after 5 seconds # None 640s Apr 14 09:37:44 640s Apr 14 09:37:44 Scenario: coordinator failover updates pg_dist_node # features/citus.feature:18 640s Apr 14 09:37:44 Given I run patronictl.py failover batman --group 0 --candidate postgres-1 --force # None 640s Apr 14 09:37:44 Then postgres-1 role is the primary after 10 seconds # None 640s Apr 14 09:37:44 And "members/postgres-0" key in a group 0 in DCS has state=running after 15 seconds # None 640s Apr 14 09:37:44 And replication works from postgres-1 to postgres-0 after 15 seconds # None 640s Apr 14 09:37:44 And postgres-1 is registered in the postgres-2 as the primary in group 0 after 5 seconds # None 640s Apr 14 09:37:44 And postgres-0 is registered in the postgres-2 as the secondary in group 0 after 15 seconds # None 640s Apr 14 09:37:44 And "sync" key in a group 0 in DCS has sync_standby=postgres-0 after 15 seconds # None 640s Apr 14 09:37:44 When I run patronictl.py switchover batman --group 0 --candidate postgres-0 --force # None 640s Apr 14 09:37:44 Then postgres-0 role is the primary after 10 seconds # None 640s Apr 14 09:37:44 And replication works from postgres-0 to postgres-1 after 15 seconds # None 640s Apr 14 09:37:44 And postgres-0 is registered in the postgres-2 as the primary in group 0 after 5 seconds # None 640s Apr 14 09:37:44 And postgres-1 is registered in the postgres-2 as the secondary in group 0 after 15 seconds # None 640s Apr 14 09:37:44 And "sync" key in a group 0 in DCS has sync_standby=postgres-1 after 15 seconds # None 640s Apr 14 09:37:44 640s Apr 14 09:37:44 Scenario: worker switchover doesn't break client queries on the coordinator # features/citus.feature:33 640s Apr 14 09:37:44 Given I create a distributed table on postgres-0 # None 640s Apr 14 09:37:44 And I start a thread inserting data on postgres-0 # None 640s Apr 14 09:37:44 When I run patronictl.py switchover batman --group 1 --force # None 640s Apr 14 09:37:44 Then I receive a response returncode 0 # None 640s Apr 14 09:37:44 And postgres-3 role is the primary after 10 seconds # None 640s Apr 14 09:37:44 And "members/postgres-2" key in a group 1 in DCS has state=running after 15 seconds # None 640s Apr 14 09:37:44 And replication works from postgres-3 to postgres-2 after 15 seconds # None 640s Apr 14 09:37:44 And postgres-3 is registered in the postgres-0 as the primary in group 1 after 5 seconds # None 640s Apr 14 09:37:44 And postgres-2 is registered in the postgres-0 as the secondary in group 1 after 15 seconds # None 640s Apr 14 09:37:44 And "sync" key in a group 1 in DCS has sync_standby=postgres-2 after 15 seconds # None 640s Apr 14 09:37:44 And a thread is still alive # None 640s Apr 14 09:37:44 When I run patronictl.py switchover batman --group 1 --force # None 640s Apr 14 09:37:44 Then I receive a response returncode 0 # None 640s Apr 14 09:37:44 And postgres-2 role is the primary after 10 seconds # None 640s Apr 14 09:37:44 And replication works from postgres-2 to postgres-3 after 15 seconds # None 640s Apr 14 09:37:44 And postgres-2 is registered in the postgres-0 as the primary in group 1 after 5 seconds # None 640s Apr 14 09:37:44 And postgres-3 is registered in the postgres-0 as the secondary in group 1 after 15 seconds # None 640s Apr 14 09:37:44 And "sync" key in a group 1 in DCS has sync_standby=postgres-3 after 15 seconds # None 640s Apr 14 09:37:44 And a thread is still alive # None 640s Apr 14 09:37:44 When I stop a thread # None 640s Apr 14 09:37:44 Then a distributed table on postgres-0 has expected rows # None 640s Apr 14 09:37:44 640s Apr 14 09:37:44 Scenario: worker primary restart doesn't break client queries on the coordinator # features/citus.feature:56 640s Apr 14 09:37:44 Given I cleanup a distributed table on postgres-0 # None 640s Apr 14 09:37:44 And I start a thread inserting data on postgres-0 # None 640s Apr 14 09:37:44 When I run patronictl.py restart batman postgres-2 --group 1 --force # None 640s Apr 14 09:37:44 Then I receive a response returncode 0 # None 640s Apr 14 09:37:44 And postgres-2 role is the primary after 10 seconds # None 640s Apr 14 09:37:44 And replication works from postgres-2 to postgres-3 after 15 seconds # None 640s Apr 14 09:37:44 And postgres-2 is registered in the postgres-0 as the primary in group 1 after 5 seconds # None 640s Apr 14 09:37:44 And postgres-3 is registered in the postgres-0 as the secondary in group 1 after 15 seconds # None 640s Apr 14 09:37:44 And a thread is still alive # None 640s Apr 14 09:37:44 When I stop a thread # None 640s Apr 14 09:37:44 Then a distributed table on postgres-0 has expected rows # None 640s Apr 14 09:37:44 640s Apr 14 09:37:44 Scenario: check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node # features/citus.feature:69 640s Apr 14 09:37:44 Given I start postgres-4 in citus group 2 # None 640s Apr 14 09:37:44 Then postgres-4 is a leader in a group 2 after 10 seconds # None 640s Apr 14 09:37:44 And "members/postgres-4" key in a group 2 in DCS has role=primary after 3 seconds # None 640s Apr 14 09:37:44 When I run patronictl.py edit-config batman --group 2 -s ttl=20 --force # None 640s Apr 14 09:37:44 Then I receive a response returncode 0 # None 640s Apr 14 09:37:44 And I receive a response output "+ttl: 20" # None 640s Apr 14 09:37:44 Then postgres-4 is registered in the postgres-2 as the primary in group 2 after 5 seconds # None 640s Apr 14 09:37:44 When I shut down postgres-4 # None 640s Apr 14 09:37:44 Then there is a transaction in progress on postgres-0 changing pg_dist_node after 5 seconds # None 640s Apr 14 09:37:44 When I run patronictl.py restart batman postgres-2 --group 1 --force # None 640s Apr 14 09:37:44 Then a transaction finishes in 20 seconds # None 640s Apr 14 09:37:44 640s Apr 14 09:37:44 Feature: custom bootstrap # features/custom_bootstrap.feature:1 640s Apr 14 09:37:44 We should check that patroni can bootstrap a new cluster from a backup 640s Apr 14 09:37:44 Scenario: clone existing cluster using pg_basebackup # features/custom_bootstrap.feature:4 640s Apr 14 09:37:44 Given I start postgres-0 # features/steps/basic_replication.py:20 645s Apr 14 09:37:49 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 645s Apr 14 09:37:49 When I add the table foo to postgres-0 # features/steps/basic_replication.py:66 645s Apr 14 09:37:49 And I start postgres-1 in a cluster batman1 as a clone of postgres-0 # features/steps/custom_bootstrap.py:6 651s Apr 14 09:37:55 Then postgres-1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 652s Apr 14 09:37:56 Then table foo is present on postgres-1 after 10 seconds # features/steps/basic_replication.py:105 652s Apr 14 09:37:56 652s Apr 14 09:37:56 Scenario: make a backup and do a restore into a new cluster # features/custom_bootstrap.feature:12 652s Apr 14 09:37:56 Given I add the table bar to postgres-1 # features/steps/basic_replication.py:66 652s Apr 14 09:37:56 And I do a backup of postgres-1 # features/steps/custom_bootstrap.py:25 655s Apr 14 09:37:59 When I start postgres-2 in a cluster batman2 from backup # features/steps/custom_bootstrap.py:11 663s Apr 14 09:38:07 Then postgres-2 is a leader of batman2 after 30 seconds # features/steps/custom_bootstrap.py:16 663s Apr 14 09:38:07 And table bar is present on postgres-2 after 10 seconds # features/steps/basic_replication.py:105 670s Apr 14 09:38:14 670s Apr 14 09:38:14 Feature: dcs failsafe mode # features/dcs_failsafe_mode.feature:1 670s Apr 14 09:38:14 We should check the basic dcs failsafe mode functioning 670s Apr 14 09:38:14 Scenario: check failsafe mode can be successfully enabled # features/dcs_failsafe_mode.feature:4 670s Apr 14 09:38:14 Given I start postgres-0 # features/steps/basic_replication.py:20 675s Apr 14 09:38:19 And postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 675s Apr 14 09:38:19 Then "config" key in DCS has ttl=30 after 10 seconds # features/steps/cascading_replication.py:23 675s Apr 14 09:38:19 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 675s Apr 14 09:38:19 Then I receive a response code 200 # features/steps/patroni_api.py:100 675s Apr 14 09:38:19 And Response on GET http://127.0.0.1:8008/failsafe contains postgres-0 after 10 seconds # features/steps/patroni_api.py:158 676s Apr 14 09:38:20 When I issue a GET request to http://127.0.0.1:8008/failsafe # features/steps/patroni_api.py:63 676s Apr 14 09:38:20 Then I receive a response code 200 # features/steps/patroni_api.py:100 676s Apr 14 09:38:20 And I receive a response postgres-0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:100 676s Apr 14 09:38:20 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 676s Apr 14 09:38:20 Then I receive a response code 200 # features/steps/patroni_api.py:100 676s Apr 14 09:38:20 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 676s Apr 14 09:38:20 Then I receive a response code 200 # features/steps/patroni_api.py:100 676s Apr 14 09:38:20 676s Apr 14 09:38:20 @dcs-failsafe 676s Apr 14 09:38:20 Scenario: check one-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:20 676s Apr 14 09:38:20 Given DCS is down # None 676s Apr 14 09:38:20 Then Response on GET http://127.0.0.1:8008/primary contains failsafe_mode_is_active after 12 seconds # None 676s Apr 14 09:38:20 And postgres-0 role is the primary after 10 seconds # None 676s Apr 14 09:38:20 676s Apr 14 09:38:20 @dcs-failsafe 676s Apr 14 09:38:20 Scenario: check new replica isn't promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:26 676s Apr 14 09:38:20 Given DCS is up # None 676s Apr 14 09:38:20 When I do a backup of postgres-0 # None 676s Apr 14 09:38:20 And I shut down postgres-0 # None 676s Apr 14 09:38:20 When I start postgres-1 in a cluster batman from backup with no_leader # None 676s Apr 14 09:38:20 Then postgres-1 role is the replica after 12 seconds # None 676s Apr 14 09:38:20 676s Apr 14 09:38:20 Scenario: check leader and replica are both in /failsafe key after leader is back # features/dcs_failsafe_mode.feature:33 676s Apr 14 09:38:20 Given I start postgres-0 # features/steps/basic_replication.py:20 676s Apr 14 09:38:20 And I start postgres-1 # features/steps/basic_replication.py:20 676s SKIP Scenario check one-node cluster is functioning while DCS is down: it is not possible to control state of etcd3 from tests 676s 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 682s Apr 14 09:38:26 Then "members/postgres-0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 682s Apr 14 09:38:26 And "members/postgres-1" key in DCS has state=running after 2 seconds # features/steps/cascading_replication.py:23 682s Apr 14 09:38:26 And Response on GET http://127.0.0.1:8009/failsafe contains postgres-1 after 10 seconds # features/steps/patroni_api.py:158 682s Apr 14 09:38:26 When I issue a GET request to http://127.0.0.1:8009/failsafe # features/steps/patroni_api.py:63 682s Apr 14 09:38:26 Then I receive a response code 200 # features/steps/patroni_api.py:100 682s Apr 14 09:38:26 And I receive a response postgres-0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:100 682s Apr 14 09:38:26 And I receive a response postgres-1 http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:100 682s Apr 14 09:38:26 682s Apr 14 09:38:26 @dcs-failsafe @slot-advance 682s Apr 14 09:38:26 Scenario: check leader and replica are functioning while DCS is down # features/dcs_failsafe_mode.feature:46 682s Apr 14 09:38:26 Given I get all changes from physical slot dcs_slot_1 on postgres-0 # None 682s Apr 14 09:38:26 Then physical slot dcs_slot_1 is in sync between postgres-0 and postgres-1 after 10 seconds # None 682s Apr 14 09:38:26 And logical slot dcs_slot_0 is in sync between postgres-0 and postgres-1 after 10 seconds # None 682s Apr 14 09:38:26 And DCS is down # None 682s Apr 14 09:38:26 Then Response on GET http://127.0.0.1:8008/primary contains failsafe_mode_is_active after 12 seconds # None 682s Apr 14 09:38:26 Then postgres-0 role is the primary after 10 seconds # None 682s Apr 14 09:38:26 And postgres-1 role is the replica after 2 seconds # None 682s Apr 14 09:38:26 And replication works from postgres-0 to postgres-1 after 10 seconds # None 682s Apr 14 09:38:26 When I get all changes from logical slot dcs_slot_0 on postgres-0 # None 682s Apr 14 09:38:26 And I get all changes from physical slot dcs_slot_1 on postgres-0 # None 682s Apr 14 09:38:26 Then logical slot dcs_slot_0 is in sync between postgres-0 and postgres-1 after 20 seconds # None 682s Apr 14 09:38:26 And physical slot dcs_slot_1 is in sync between postgres-0 and postgres-1 after 10 seconds # None 682s Apr 14 09:38:26 682s Apr 14 09:38:26 @dcs-failsafe 682s Apr 14 09:38:26 Scenario: check primary is demoted when one replica is shut down and DCS is down # features/dcs_failsafe_mode.feature:61 682s Apr 14 09:38:26 Given DCS is down # None 682s Apr 14 09:38:26 And I kill postgres-1 # None 682s Apr 14 09:38:26 And I kill postmaster on postgres-1 # None 682s Apr 14 09:38:26 Then postgres-0 role is the replica after 12 seconds # None 682s SKIP Scenario check leader and replica are functioning while DCS is down: it is not possible to control state of etcd3 from tests 682s 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 682s Apr 14 09:38:26 682s Apr 14 09:38:26 @dcs-failsafe 682s Apr 14 09:38:26 Scenario: check known replica is promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:68 682s Apr 14 09:38:26 Given I kill postgres-0 # None 682s Apr 14 09:38:26 And I shut down postmaster on postgres-0 # None 682s Apr 14 09:38:26 And DCS is up # None 682s Apr 14 09:38:26 When I start postgres-1 # None 682s Apr 14 09:38:26 Then "members/postgres-1" key in DCS has state=running after 10 seconds # None 682s Apr 14 09:38:26 And postgres-1 role is the primary after 25 seconds # None 682s 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 682s SKIP Scenario scale to three-node cluster: it is not possible to control state of etcd3 from tests 682s SKIP Scenario make sure permanent slots exist on replicas: it is not possible to control state of etcd3 from tests 682s SKIP Scenario check three-node cluster is functioning while DCS is down: it is not possible to control state of etcd3 from tests 682s 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 682s Apr 14 09:38:26 682s Apr 14 09:38:26 @dcs-failsafe 682s Apr 14 09:38:26 Scenario: scale to three-node cluster # features/dcs_failsafe_mode.feature:77 682s Apr 14 09:38:26 Given I start postgres-0 # None 682s Apr 14 09:38:26 And I configure and start postgres-2 with a tag replicatefrom postgres-0 # None 682s Apr 14 09:38:26 Then "members/postgres-2" key in DCS has state=running after 10 seconds # None 682s Apr 14 09:38:26 And "members/postgres-0" key in DCS has state=running after 20 seconds # None 682s Apr 14 09:38:26 And Response on GET http://127.0.0.1:8008/failsafe contains postgres-2 after 10 seconds # None 682s Apr 14 09:38:26 And replication works from postgres-1 to postgres-0 after 10 seconds # None 682s Apr 14 09:38:26 And replication works from postgres-1 to postgres-2 after 10 seconds # None 682s Apr 14 09:38:26 682s Apr 14 09:38:26 @dcs-failsafe @slot-advance 682s Apr 14 09:38:26 Scenario: make sure permanent slots exist on replicas # features/dcs_failsafe_mode.feature:88 682s Apr 14 09:38:26 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 682s Apr 14 09:38:26 Then logical slot dcs_slot_2 is in sync between postgres-1 and postgres-0 after 20 seconds # None 682s Apr 14 09:38:26 And logical slot dcs_slot_2 is in sync between postgres-1 and postgres-2 after 20 seconds # None 682s Apr 14 09:38:26 When I get all changes from physical slot dcs_slot_1 on postgres-1 # None 682s Apr 14 09:38:26 Then physical slot dcs_slot_1 is in sync between postgres-1 and postgres-0 after 10 seconds # None 682s Apr 14 09:38:26 And physical slot dcs_slot_1 is in sync between postgres-1 and postgres-2 after 10 seconds # None 682s Apr 14 09:38:26 And physical slot postgres_0 is in sync between postgres-1 and postgres-2 after 10 seconds # None 682s Apr 14 09:38:26 And physical slot postgres_2 is in sync between postgres-0 and postgres-1 after 10 seconds # None 682s Apr 14 09:38:26 682s Apr 14 09:38:26 @dcs-failsafe 682s Apr 14 09:38:26 Scenario: check three-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:99 682s Apr 14 09:38:26 Given DCS is down # None 682s Apr 14 09:38:26 Then Response on GET http://127.0.0.1:8009/primary contains failsafe_mode_is_active after 12 seconds # None 682s Apr 14 09:38:26 Then postgres-1 role is the primary after 10 seconds # None 682s Apr 14 09:38:26 And postgres-0 role is the replica after 2 seconds # None 682s Apr 14 09:38:26 And postgres-2 role is the replica after 2 seconds # None 686s Apr 14 09:38:30 686s Apr 14 09:38:30 @dcs-failsafe @slot-advance 686s Apr 14 09:38:30 Scenario: check that permanent slots are in sync between nodes while DCS is down # features/dcs_failsafe_mode.feature:108 686s Apr 14 09:38:30 Given replication works from postgres-1 to postgres-0 after 10 seconds # None 686s Apr 14 09:38:30 And replication works from postgres-1 to postgres-2 after 10 seconds # None 686s Apr 14 09:38:30 When I get all changes from logical slot dcs_slot_2 on postgres-1 # None 686s Apr 14 09:38:30 And I get all changes from physical slot dcs_slot_1 on postgres-1 # None 686s Apr 14 09:38:30 Then logical slot dcs_slot_2 is in sync between postgres-1 and postgres-0 after 20 seconds # None 686s Apr 14 09:38:30 And logical slot dcs_slot_2 is in sync between postgres-1 and postgres-2 after 20 seconds # None 686s Apr 14 09:38:30 And physical slot dcs_slot_1 is in sync between postgres-1 and postgres-0 after 10 seconds # None 686s Apr 14 09:38:30 And physical slot dcs_slot_1 is in sync between postgres-1 and postgres-2 after 10 seconds # None 686s Apr 14 09:38:30 And physical slot postgres_0 is in sync between postgres-1 and postgres-2 after 10 seconds # None 686s Apr 14 09:38:30 And physical slot postgres_2 is in sync between postgres-0 and postgres-1 after 10 seconds # None 686s Apr 14 09:38:30 686s Apr 14 09:38:30 Feature: ignored slots # features/ignored_slots.feature:1 686s Apr 14 09:38:30 686s Apr 14 09:38:30 Scenario: check ignored slots aren't removed on failover/switchover # features/ignored_slots.feature:2 686s Apr 14 09:38:30 Given I start postgres-1 # features/steps/basic_replication.py:20 692s Apr 14 09:38:36 Then postgres-1 is a leader after 10 seconds # features/steps/patroni_api.py:31 692s Apr 14 09:38:36 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 692s Apr 14 09:38:36 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 693s Apr 14 09:38:37 Then I receive a response code 200 # features/steps/patroni_api.py:100 693s Apr 14 09:38:37 And Response on GET http://127.0.0.1:8009/config contains ignore_slots after 10 seconds # features/steps/patroni_api.py:158 693s Apr 14 09:38:37 When I shut down postgres-1 # features/steps/basic_replication.py:41 695s Apr 14 09:38:39 And I start postgres-1 # features/steps/basic_replication.py:20 698s Apr 14 09:38:42 Then postgres-1 is a leader after 10 seconds # features/steps/patroni_api.py:31 699s Apr 14 09:38:43 And "members/postgres-1" key in DCS has role=primary after 10 seconds # features/steps/cascading_replication.py:23 703s Apr 14 09:38:47 And postgres-1 role is the primary after 20 seconds # features/steps/basic_replication.py:117 703s Apr 14 09:38:47 When I create a logical replication slot unmanaged_slot_0 on postgres-1 with the test_decoding plugin # features/steps/slots.py:9 703s Apr 14 09:38:47 And I create a logical replication slot unmanaged_slot_1 on postgres-1 with the test_decoding plugin # features/steps/slots.py:9 703s Apr 14 09:38:47 And I create a logical replication slot unmanaged_slot_2 on postgres-1 with the test_decoding plugin # features/steps/slots.py:9 703s Apr 14 09:38:47 And I create a logical replication slot unmanaged_slot_3 on postgres-1 with the test_decoding plugin # features/steps/slots.py:9 703s Apr 14 09:38:47 And I create a logical replication slot dummy_slot on postgres-1 with the test_decoding plugin # features/steps/slots.py:9 703s Apr 14 09:38:47 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 703s Apr 14 09:38:47 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 703s Apr 14 09:38:47 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 703s Apr 14 09:38:47 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 703s Apr 14 09:38:47 When I start postgres-0 # features/steps/basic_replication.py:20 708s Apr 14 09:38:52 Then "members/postgres-0" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 709s Apr 14 09:38:53 And postgres-0 role is the secondary after 20 seconds # features/steps/basic_replication.py:117 709s Apr 14 09:38:53 And replication works from postgres-1 to postgres-0 after 20 seconds # features/steps/basic_replication.py:124 710s Apr 14 09:38:54 When I shut down postgres-1 # features/steps/basic_replication.py:41 712s Apr 14 09:38:56 Then "members/postgres-0" key in DCS has role=primary after 10 seconds # features/steps/cascading_replication.py:23 713s Apr 14 09:38:57 When I start postgres-1 # features/steps/basic_replication.py:20 717s Apr 14 09:39:01 Then postgres-1 role is the secondary after 20 seconds # features/steps/basic_replication.py:117 717s Apr 14 09:39:01 And "members/postgres-1" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 717s Apr 14 09:39:01 And I sleep for 2 seconds # features/steps/patroni_api.py:41 719s Apr 14 09:39:03 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 719s Apr 14 09:39:03 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 719s Apr 14 09:39:03 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 719s Apr 14 09:39:03 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 719s Apr 14 09:39:03 And postgres-1 does not have a replication slot named dummy_slot # features/steps/slots.py:41 719s Apr 14 09:39:03 When I shut down postgres-0 # features/steps/basic_replication.py:41 721s Apr 14 09:39:05 Then "members/postgres-1" key in DCS has role=primary after 10 seconds # features/steps/cascading_replication.py:23 722s Apr 14 09:39:06 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 722s Apr 14 09:39: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 722s Apr 14 09:39: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 722s Apr 14 09:39: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 724s Apr 14 09:39:08 724s Apr 14 09:39:08 Feature: nostream node # features/nostream_node.feature:1 724s Apr 14 09:39:08 724s Apr 14 09:39:08 Scenario: check nostream node is recovering from archive # features/nostream_node.feature:3 724s Apr 14 09:39:08 When I start postgres-0 # features/steps/basic_replication.py:20 730s Apr 14 09:39:14 And I configure and start postgres-1 with a tag nostream true # features/steps/cascading_replication.py:7 735s Apr 14 09:39:19 Then "members/postgres-1" key in DCS has replication_state=in archive recovery after 10 seconds # features/steps/cascading_replication.py:23 736s Apr 14 09:39:20 And replication works from postgres-0 to postgres-1 after 30 seconds # features/steps/basic_replication.py:124 742s Apr 14 09:39:25 742s Apr 14 09:39:25 @slot-advance 742s Apr 14 09:39:25 Scenario: check permanent logical replication slots are not copied # features/nostream_node.feature:10 742s Apr 14 09:39:25 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 742s Apr 14 09:39:26 Then I receive a response code 200 # features/steps/patroni_api.py:100 742s Apr 14 09:39:26 When I run patronictl.py restart batman postgres-0 --force # features/steps/patroni_api.py:88 744s Apr 14 09:39:28 Then postgres-0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:20 745s Apr 14 09:39:29 When I configure and start postgres-2 with a tag replicatefrom postgres-1 # features/steps/cascading_replication.py:7 750s Apr 14 09:39:34 Then "members/postgres-2" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 750s Apr 14 09:39:34 And postgres-1 does not have a replication slot named test_logical # features/steps/slots.py:41 750s Apr 14 09:39:34 And postgres-2 does not have a replication slot named test_logical # features/steps/slots.py:41 750s Apr 14 09:39:34 750s Apr 14 09:39:34 @slot-advance 750s Apr 14 09:39:34 Scenario: check that slots are written to the /status key # features/nostream_node.feature:21 750s Apr 14 09:39:34 Given "status" key in DCS has postgres_0 in slots # features/steps/slots.py:118 750s Apr 14 09:39:34 And "status" key in DCS has postgres_2 in slots # features/steps/slots.py:118 750s Apr 14 09:39:34 And "status" key in DCS has test_logical in slots # features/steps/slots.py:118 750s Apr 14 09:39:34 And "status" key in DCS has test_logical in slots # features/steps/slots.py:118 750s Apr 14 09:39:34 And "status" key in DCS does not have postgres_1 in slots # features/steps/slots.py:124 757s Apr 14 09:39:41 757s Apr 14 09:39:41 Feature: patroni api # features/patroni_api.feature:1 757s Apr 14 09:39:41 We should check that patroni correctly responds to valid and not-valid API requests. 757s Apr 14 09:39:41 Scenario: check API requests on a stand-alone server # features/patroni_api.feature:4 757s Apr 14 09:39:41 Given I start postgres-0 # features/steps/basic_replication.py:20 763s Apr 14 09:39:47 And postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 763s Apr 14 09:39:47 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:63 763s Apr 14 09:39:47 Then I receive a response code 200 # features/steps/patroni_api.py:100 763s Apr 14 09:39:47 And I receive a response state running # features/steps/patroni_api.py:100 763s Apr 14 09:39:47 And I receive a response role primary # features/steps/patroni_api.py:100 763s Apr 14 09:39:47 When I issue a GET request to http://127.0.0.1:8008/standby_leader # features/steps/patroni_api.py:63 764s Apr 14 09:39:47 Then I receive a response code 503 # features/steps/patroni_api.py:100 764s Apr 14 09:39:47 When I issue a GET request to http://127.0.0.1:8008/health # features/steps/patroni_api.py:63 764s Apr 14 09:39:48 Then I receive a response code 200 # features/steps/patroni_api.py:100 764s Apr 14 09:39:48 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:63 764s Apr 14 09:39:48 Then I receive a response code 503 # features/steps/patroni_api.py:100 764s Apr 14 09:39:48 When I issue a POST request to http://127.0.0.1:8008/reinitialize with {"force": true} # features/steps/patroni_api.py:73 764s Apr 14 09:39:48 Then I receive a response code 503 # features/steps/patroni_api.py:100 764s Apr 14 09:39:48 And I receive a response text I am the leader, can not reinitialize # features/steps/patroni_api.py:100 764s Apr 14 09:39:48 When I run patronictl.py switchover batman --primary postgres-0 --force # features/steps/patroni_api.py:88 765s Apr 14 09:39:49 Then I receive a response returncode 1 # features/steps/patroni_api.py:100 765s Apr 14 09:39:49 And I receive a response output "Error: No candidates found to switchover to" # features/steps/patroni_api.py:100 765s Apr 14 09:39:49 When I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres-0"} # features/steps/patroni_api.py:73 765s Apr 14 09:39:49 Then I receive a response code 412 # features/steps/patroni_api.py:100 765s Apr 14 09:39:49 And I receive a response text switchover is not possible: cluster does not have members except leader # features/steps/patroni_api.py:100 765s Apr 14 09:39:49 When I issue an empty POST request to http://127.0.0.1:8008/failover # features/steps/patroni_api.py:68 765s Apr 14 09:39:49 Then I receive a response code 400 # features/steps/patroni_api.py:100 765s Apr 14 09:39:49 When I issue a POST request to http://127.0.0.1:8008/failover with {"foo": "bar"} # features/steps/patroni_api.py:73 765s Apr 14 09:39:49 Then I receive a response code 400 # features/steps/patroni_api.py:100 765s Apr 14 09:39:49 And I receive a response text "Failover could be performed only to a specific candidate" # features/steps/patroni_api.py:100 765s Apr 14 09:39:49 765s Apr 14 09:39:49 Scenario: check local configuration reload # features/patroni_api.feature:32 765s Apr 14 09:39:49 Given I add tag new_tag new_value to postgres-0 config # features/steps/patroni_api.py:139 765s Apr 14 09:39:49 And I issue an empty POST request to http://127.0.0.1:8008/reload # features/steps/patroni_api.py:68 765s Apr 14 09:39:49 Then I receive a response code 202 # features/steps/patroni_api.py:100 765s Apr 14 09:39:49 765s Apr 14 09:39:49 Scenario: check dynamic configuration change via DCS # features/patroni_api.feature:37 765s Apr 14 09:39:49 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 765s Apr 14 09:39:49 Then I receive a response code 200 # features/steps/patroni_api.py:100 765s Apr 14 09:39:49 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 11 seconds # features/steps/patroni_api.py:158 769s Apr 14 09:39:53 When I issue a GET request to http://127.0.0.1:8008/config # features/steps/patroni_api.py:63 769s Apr 14 09:39:53 Then I receive a response code 200 # features/steps/patroni_api.py:100 769s Apr 14 09:39:53 And I receive a response ttl 20 # features/steps/patroni_api.py:100 769s Apr 14 09:39:53 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:63 769s Apr 14 09:39:53 Then I receive a response code 200 # features/steps/patroni_api.py:100 769s Apr 14 09:39:53 And I receive a response tags {'new_tag': 'new_value'} # features/steps/patroni_api.py:100 769s Apr 14 09:39:53 And I sleep for 4 seconds # features/steps/patroni_api.py:41 773s Apr 14 09:39:57 773s Apr 14 09:39:57 Scenario: check the scheduled restart # features/patroni_api.feature:49 773s Apr 14 09:39:57 Given I run patronictl.py edit-config -p 'superuser_reserved_connections=6' --force batman # features/steps/patroni_api.py:88 775s Apr 14 09:39:58 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 775s Apr 14 09:39:58 And I receive a response output "+ superuser_reserved_connections: 6" # features/steps/patroni_api.py:100 775s Apr 14 09:39:58 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 5 seconds # features/steps/patroni_api.py:158 775s Apr 14 09:39:58 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 775s Apr 14 09:39:58 Then I receive a response code 202 # features/steps/patroni_api.py:100 775s Apr 14 09:39:58 And I sleep for 8 seconds # features/steps/patroni_api.py:41 783s Apr 14 09:40:06 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 10 seconds # features/steps/patroni_api.py:158 783s Apr 14 09:40:07 Given I issue a scheduled restart at http://127.0.0.1:8008 in 5 seconds with {"restart_pending": "True"} # features/steps/patroni_api.py:126 783s Apr 14 09:40:07 Then I receive a response code 202 # features/steps/patroni_api.py:100 783s Apr 14 09:40:07 And Response on GET http://127.0.0.1:8008/patroni does not contain pending_restart after 10 seconds # features/steps/patroni_api.py:173 789s Apr 14 09:40:13 And postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 790s Apr 14 09:40:14 790s Apr 14 09:40:14 Scenario: check API requests for the primary-replica pair in the pause mode # features/patroni_api.feature:63 790s Apr 14 09:40:14 Given I start postgres-1 # features/steps/basic_replication.py:20 797s Apr 14 09:40:20 Then replication works from postgres-0 to postgres-1 after 20 seconds # features/steps/basic_replication.py:124 798s Apr 14 09:40:21 When I run patronictl.py pause batman # features/steps/patroni_api.py:88 799s Apr 14 09:40:23 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 799s Apr 14 09:40:23 When I kill postmaster on postgres-1 # features/steps/basic_replication.py:56 799s Apr 14 09:40:23 waiting for server to shut down.... done 799s Apr 14 09:40:23 server stopped 799s Apr 14 09:40:23 And I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:63 799s Apr 14 09:40:23 Then I receive a response code 503 # features/steps/patroni_api.py:100 799s Apr 14 09:40:23 And "members/postgres-1" key in DCS has state=stopped after 10 seconds # features/steps/cascading_replication.py:23 801s Apr 14 09:40:25 When I run patronictl.py restart batman postgres-1 --force # features/steps/patroni_api.py:88 804s Apr 14 09:40:28 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 804s Apr 14 09:40:28 Then replication works from postgres-0 to postgres-1 after 20 seconds # features/steps/basic_replication.py:124 805s Apr 14 09:40:29 And I sleep for 2 seconds # features/steps/patroni_api.py:41 807s Apr 14 09:40:31 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:63 807s Apr 14 09:40:31 Then I receive a response code 200 # features/steps/patroni_api.py:100 807s Apr 14 09:40:31 And I receive a response state running # features/steps/patroni_api.py:100 807s Apr 14 09:40:31 And I receive a response role replica # features/steps/patroni_api.py:100 807s Apr 14 09:40:31 When I run patronictl.py reinit batman postgres-1 --force --wait # features/steps/patroni_api.py:88 812s Apr 14 09:40:36 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 812s Apr 14 09:40:36 And I receive a response output "Success: reinitialize for member postgres-1" # features/steps/patroni_api.py:100 812s Apr 14 09:40:36 And postgres-1 role is the secondary after 30 seconds # features/steps/basic_replication.py:117 813s Apr 14 09:40:37 And replication works from postgres-0 to postgres-1 after 20 seconds # features/steps/basic_replication.py:124 815s Apr 14 09:40:39 When I run patronictl.py restart batman postgres-0 --force # features/steps/patroni_api.py:88 817s Apr 14 09:40:41 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 817s Apr 14 09:40:41 And I receive a response output "Success: restart on member postgres-0" # features/steps/patroni_api.py:100 817s Apr 14 09:40:41 And postgres-0 role is the primary after 5 seconds # features/steps/basic_replication.py:117 818s Apr 14 09:40:42 818s Apr 14 09:40:42 Scenario: check the switchover via the API in the pause mode # features/patroni_api.feature:90 818s Apr 14 09:40:42 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 820s Apr 14 09:40:44 Then I receive a response code 200 # features/steps/patroni_api.py:100 820s Apr 14 09:40:44 And postgres-1 is a leader after 5 seconds # features/steps/patroni_api.py:31 820s Apr 14 09:40:44 And postgres-1 role is the primary after 10 seconds # features/steps/basic_replication.py:117 821s Apr 14 09:40:45 And postgres-0 role is the secondary after 10 seconds # features/steps/basic_replication.py:117 823s Apr 14 09:40:47 And replication works from postgres-1 to postgres-0 after 20 seconds # features/steps/basic_replication.py:124 823s Apr 14 09:40:47 And "members/postgres-0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 824s Apr 14 09:40:48 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:63 824s Apr 14 09:40:48 Then I receive a response code 503 # features/steps/patroni_api.py:100 824s Apr 14 09:40:48 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:63 824s Apr 14 09:40:48 Then I receive a response code 200 # features/steps/patroni_api.py:100 824s Apr 14 09:40:48 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:63 824s Apr 14 09:40:48 Then I receive a response code 200 # features/steps/patroni_api.py:100 824s Apr 14 09:40:48 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:63 825s Apr 14 09:40:48 Then I receive a response code 503 # features/steps/patroni_api.py:100 825s Apr 14 09:40:48 825s Apr 14 09:40:48 Scenario: check the scheduled switchover # features/patroni_api.feature:107 825s Apr 14 09:40:48 Given I issue a scheduled switchover from postgres-1 to postgres-0 in 10 seconds # features/steps/patroni_api.py:119 826s Apr 14 09:40:50 Then I receive a response returncode 1 # features/steps/patroni_api.py:100 826s Apr 14 09:40:50 And I receive a response output "Can't schedule switchover in the paused state" # features/steps/patroni_api.py:100 826s Apr 14 09:40:50 When I run patronictl.py resume batman # features/steps/patroni_api.py:88 828s Apr 14 09:40:51 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 828s Apr 14 09:40:51 Given I issue a scheduled switchover from postgres-1 to postgres-0 in 10 seconds # features/steps/patroni_api.py:119 829s Apr 14 09:40:53 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 829s Apr 14 09:40:53 And postgres-0 is a leader after 20 seconds # features/steps/patroni_api.py:31 839s Apr 14 09:41:03 And postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 840s Apr 14 09:41:04 And postgres-1 role is the secondary after 10 seconds # features/steps/basic_replication.py:117 843s Apr 14 09:41:07 And replication works from postgres-0 to postgres-1 after 25 seconds # features/steps/basic_replication.py:124 843s Apr 14 09:41:07 And "members/postgres-1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 844s Apr 14 09:41:08 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:63 844s Apr 14 09:41:08 Then I receive a response code 200 # features/steps/patroni_api.py:100 844s Apr 14 09:41:08 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:63 844s Apr 14 09:41:08 Then I receive a response code 503 # features/steps/patroni_api.py:100 844s Apr 14 09:41:08 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:63 844s Apr 14 09:41:08 Then I receive a response code 503 # features/steps/patroni_api.py:100 844s Apr 14 09:41:08 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:63 844s Apr 14 09:41:08 Then I receive a response code 200 # features/steps/patroni_api.py:100 848s Apr 14 09:41:12 848s Apr 14 09:41:12 Feature: permanent slots # features/permanent_slots.feature:1 848s Apr 14 09:41:12 848s Apr 14 09:41:12 Scenario: check that physical permanent slots are created # features/permanent_slots.feature:2 848s Apr 14 09:41:12 Given I start postgres-0 # features/steps/basic_replication.py:20 854s Apr 14 09:41:18 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 854s Apr 14 09:41:18 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 854s Apr 14 09:41:18 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 855s Apr 14 09:41:19 Then I receive a response code 200 # features/steps/patroni_api.py:100 855s Apr 14 09:41:19 And Response on GET http://127.0.0.1:8008/config contains slots after 10 seconds # features/steps/patroni_api.py:158 855s Apr 14 09:41:19 When I start postgres-1 # features/steps/basic_replication.py:20 861s Apr 14 09:41:25 And I configure and start postgres-2 with a tag nofailover true # features/steps/cascading_replication.py:7 868s Apr 14 09:41:32 And I configure and start postgres-3 with a tag replicatefrom postgres-2 # features/steps/cascading_replication.py:7 872s Apr 14 09:41:36 Then postgres-0 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:82 872s Apr 14 09:41:36 And postgres-0 has a physical replication slot named postgres_1 after 10 seconds # features/steps/slots.py:82 872s Apr 14 09:41:36 And postgres-0 has a physical replication slot named postgres_2 after 10 seconds # features/steps/slots.py:82 872s Apr 14 09:41:36 And postgres-2 has a physical replication slot named postgres_3 after 10 seconds # features/steps/slots.py:82 872s Apr 14 09:41:36 And postgres-2 does not have a replication slot named test_physical # features/steps/slots.py:41 872s Apr 14 09:41:36 872s Apr 14 09:41:36 @slot-advance 872s Apr 14 09:41:36 Scenario: check that logical permanent slots are created # features/permanent_slots.feature:19 872s Apr 14 09:41:36 Given I run patronictl.py restart batman postgres-0 --force # features/steps/patroni_api.py:88 874s Apr 14 09:41:38 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 874s Apr 14 09:41:38 Then postgres-0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:20 875s Apr 14 09:41:39 875s Apr 14 09:41:39 @slot-advance 875s Apr 14 09:41:39 Scenario: check that permanent slots are created on replicas # features/permanent_slots.feature:25 875s Apr 14 09:41:39 Given postgres-1 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:20 878s Apr 14 09:41:42 Then Logical slot test_logical is in sync between postgres-0 and postgres-1 after 10 seconds # features/steps/slots.py:52 878s Apr 14 09:41:42 And Logical slot test_logical is in sync between postgres-0 and postgres-3 after 10 seconds # features/steps/slots.py:52 879s Apr 14 09:41:43 And postgres-1 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:82 879s Apr 14 09:41:43 And postgres-2 does not have a replication slot named test_logical # features/steps/slots.py:41 879s Apr 14 09:41:43 And postgres-3 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:82 879s Apr 14 09:41:43 879s Apr 14 09:41:43 @slot-advance 879s Apr 14 09:41:43 Scenario: check permanent physical slots that match with member names # features/permanent_slots.feature:34 879s Apr 14 09:41:43 Given postgres-0 has a physical replication slot named postgres_3 after 2 seconds # features/steps/slots.py:82 879s Apr 14 09:41:43 And postgres-1 has a physical replication slot named postgres_0 after 2 seconds # features/steps/slots.py:82 879s Apr 14 09:41:43 And postgres-1 has a physical replication slot named postgres_2 after 2 seconds # features/steps/slots.py:82 879s Apr 14 09:41:43 And postgres-1 has a physical replication slot named postgres_3 after 2 seconds # features/steps/slots.py:82 879s Apr 14 09:41:43 And postgres-2 does not have a replication slot named postgres_0 # features/steps/slots.py:41 879s Apr 14 09:41:43 And postgres-2 does not have a replication slot named postgres_1 # features/steps/slots.py:41 879s Apr 14 09:41:43 And postgres-2 has a physical replication slot named postgres_3 after 2 seconds # features/steps/slots.py:82 879s Apr 14 09:41:43 And postgres-3 has a physical replication slot named postgres_0 after 2 seconds # features/steps/slots.py:82 879s Apr 14 09:41:43 And postgres-3 has a physical replication slot named postgres_1 after 2 seconds # features/steps/slots.py:82 879s Apr 14 09:41:43 And postgres-3 has a physical replication slot named postgres_2 after 2 seconds # features/steps/slots.py:82 879s Apr 14 09:41:43 879s Apr 14 09:41:43 @slot-advance 879s Apr 14 09:41:43 Scenario: check that permanent slots are advanced on replicas # features/permanent_slots.feature:47 879s Apr 14 09:41:43 Given I add the table replicate_me to postgres-0 # features/steps/basic_replication.py:66 879s Apr 14 09:41:43 When I get all changes from logical slot test_logical on postgres-0 # features/steps/slots.py:72 879s Apr 14 09:41:43 And I get all changes from physical slot test_physical on postgres-0 # features/steps/slots.py:77 879s Apr 14 09:41:43 Then Logical slot test_logical is in sync between postgres-0 and postgres-1 after 10 seconds # features/steps/slots.py:52 881s Apr 14 09:41:45 And Physical slot test_physical is in sync between postgres-0 and postgres-1 after 10 seconds # features/steps/slots.py:52 881s Apr 14 09:41:45 And Logical slot test_logical is in sync between postgres-0 and postgres-3 after 10 seconds # features/steps/slots.py:52 881s Apr 14 09:41:45 And Physical slot test_physical is in sync between postgres-0 and postgres-3 after 10 seconds # features/steps/slots.py:52 881s Apr 14 09:41:45 And Physical slot postgres_1 is in sync between postgres-0 and postgres-3 after 10 seconds # features/steps/slots.py:52 881s Apr 14 09:41:45 And Physical slot postgres_3 is in sync between postgres-2 and postgres-0 after 20 seconds # features/steps/slots.py:52 883s Apr 14 09:41:47 And Physical slot postgres_3 is in sync between postgres-2 and postgres-1 after 10 seconds # features/steps/slots.py:52 883s Apr 14 09:41:47 883s Apr 14 09:41:47 @slot-advance 883s Apr 14 09:41:47 Scenario: check that permanent slots and member slots are written to the /status key # features/permanent_slots.feature:60 883s Apr 14 09:41:47 Given "status" key in DCS has test_physical in slots # features/steps/slots.py:118 883s Apr 14 09:41:47 And "status" key in DCS has postgres_0 in slots # features/steps/slots.py:118 883s Apr 14 09:41:47 And "status" key in DCS has postgres_1 in slots # features/steps/slots.py:118 883s Apr 14 09:41:47 And "status" key in DCS has postgres_2 in slots # features/steps/slots.py:118 883s Apr 14 09:41:47 And "status" key in DCS has postgres_3 in slots # features/steps/slots.py:118 883s Apr 14 09:41:47 883s Apr 14 09:41:47 @slot-advance 883s Apr 14 09:41:47 Scenario: check that only non-permanent member slots are written to the retain_slots in /status key # features/permanent_slots.feature:68 883s Apr 14 09:41:47 Given "status" key in DCS has postgres_0 in retain_slots # features/steps/slots.py:118 883s Apr 14 09:41:47 And "status" key in DCS has postgres_1 in retain_slots # features/steps/slots.py:118 883s Apr 14 09:41:47 And "status" key in DCS has postgres_2 in retain_slots # features/steps/slots.py:118 883s Apr 14 09:41:47 And "status" key in DCS does not have postgres_3 in retain_slots # features/steps/slots.py:124 884s Apr 14 09:41:47 884s Apr 14 09:41:47 Scenario: check permanent physical replication slot after failover # features/permanent_slots.feature:74 884s Apr 14 09:41:47 Given I shut down postgres-3 # features/steps/basic_replication.py:41 885s Apr 14 09:41:48 And I shut down postgres-2 # features/steps/basic_replication.py:41 886s Apr 14 09:41:49 And I shut down postgres-0 # features/steps/basic_replication.py:41 888s Apr 14 09:41:51 Then postgres-1 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:82 888s Apr 14 09:41:51 And postgres-1 has a physical replication slot named postgres_0 after 10 seconds # features/steps/slots.py:82 888s Apr 14 09:41:51 And postgres-1 has a physical replication slot named postgres_3 after 10 seconds # features/steps/slots.py:82 888s Apr 14 09:41:51 When I start postgres-0 # features/steps/basic_replication.py:20 892s Apr 14 09:41:56 Then postgres-0 role is the replica after 20 seconds # features/steps/basic_replication.py:117 892s Apr 14 09:41:56 And physical replication slot named postgres_1 on postgres-0 has no xmin value after 10 seconds # features/steps/slots.py:98 892s Apr 14 09:41:56 And postgres-0 has a physical replication slot named postgres_2 after 10 seconds # features/steps/slots.py:82 892s Apr 14 09:41:56 And postgres-0 has a physical replication slot named postgres_3 after 10 seconds # features/steps/slots.py:82 895s Apr 14 09:41:59 895s Apr 14 09:41:59 Feature: priority replication # features/priority_failover.feature:1 895s Apr 14 09:41:59 We should check that we can give nodes priority during failover 895s Apr 14 09:41:59 Scenario: check failover priority 0 prevents leaderships # features/priority_failover.feature:4 895s Apr 14 09:41:59 Given I configure and start postgres-0 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 901s Apr 14 09:42:05 And I configure and start postgres-1 with a tag failover_priority 0 # features/steps/cascading_replication.py:7 909s Apr 14 09:42:13 Then replication works from postgres-0 to postgres-1 after 20 seconds # features/steps/basic_replication.py:124 910s Apr 14 09:42:14 When I shut down postgres-0 # features/steps/basic_replication.py:41 912s Apr 14 09:42:16 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 914s Apr 14 09:42:18 Then postgres-1 role is the secondary after 10 seconds # features/steps/basic_replication.py:117 914s Apr 14 09:42:18 When I start postgres-0 # features/steps/basic_replication.py:20 917s Apr 14 09:42:21 Then postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 919s Apr 14 09:42:23 919s Apr 14 09:42:23 Scenario: check higher failover priority is respected # features/priority_failover.feature:14 919s Apr 14 09:42:23 Given I configure and start postgres-2 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 927s Apr 14 09:42:31 And I configure and start postgres-3 with a tag failover_priority 2 # features/steps/cascading_replication.py:7 935s Apr 14 09:42:39 Then replication works from postgres-0 to postgres-2 after 20 seconds # features/steps/basic_replication.py:124 935s Apr 14 09:42:39 And replication works from postgres-0 to postgres-3 after 20 seconds # features/steps/basic_replication.py:124 936s Apr 14 09:42:40 When I shut down postgres-0 # features/steps/basic_replication.py:41 938s Apr 14 09:42:42 Then postgres-3 role is the primary after 10 seconds # features/steps/basic_replication.py:117 939s Apr 14 09:42:43 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 939s Apr 14 09:42:43 939s Apr 14 09:42:43 Scenario: check conflicting configuration handling # features/priority_failover.feature:23 939s Apr 14 09:42:43 When I set nofailover tag in postgres-2 config # features/steps/patroni_api.py:133 939s Apr 14 09:42:43 And I issue an empty POST request to http://127.0.0.1:8010/reload # features/steps/patroni_api.py:68 939s Apr 14 09:42:43 Then I receive a response code 202 # features/steps/patroni_api.py:100 939s Apr 14 09:42:43 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 941s Apr 14 09:42:45 And "members/postgres-2" key in DCS has tags={'failover_priority': '1', 'nofailover': True} after 10 seconds # features/steps/cascading_replication.py:23 942s Apr 14 09:42:46 When I issue a POST request to http://127.0.0.1:8010/failover with {"candidate": "postgres-2"} # features/steps/patroni_api.py:73 943s Apr 14 09:42:47 Then I receive a response code 412 # features/steps/patroni_api.py:100 943s Apr 14 09:42:47 And I receive a response text "failover is not possible: no good candidates have been found" # features/steps/patroni_api.py:100 943s Apr 14 09:42:47 When I reset nofailover tag in postgres-1 config # features/steps/patroni_api.py:133 943s Apr 14 09:42:47 And I issue an empty POST request to http://127.0.0.1:8009/reload # features/steps/patroni_api.py:68 943s Apr 14 09:42:47 Then I receive a response code 202 # features/steps/patroni_api.py:100 943s Apr 14 09:42:47 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 945s Apr 14 09:42:49 And "members/postgres-1" key in DCS has tags={'failover_priority': '0', 'nofailover': False} after 10 seconds # features/steps/cascading_replication.py:23 947s Apr 14 09:42:51 And I issue a POST request to http://127.0.0.1:8009/failover with {"candidate": "postgres-1"} # features/steps/patroni_api.py:73 950s Apr 14 09:42:54 Then I receive a response code 200 # features/steps/patroni_api.py:100 950s Apr 14 09:42:54 And postgres-1 role is the primary after 10 seconds # features/steps/basic_replication.py:117 955s Apr 14 09:42:59 955s Apr 14 09:42:59 Feature: quorum commit # features/quorum_commit.feature:1 955s Apr 14 09:42:59 Check basic workfrlows when quorum commit is enabled 955s Apr 14 09:42:59 Scenario: check enable quorum commit and that the only leader promotes after restart # features/quorum_commit.feature:4 955s Apr 14 09:42:59 Given I start postgres-0 # features/steps/basic_replication.py:20 963s Apr 14 09:43:07 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 963s Apr 14 09:43:07 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 963s Apr 14 09:43:07 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 963s Apr 14 09:43:07 Then I receive a response code 200 # features/steps/patroni_api.py:100 963s Apr 14 09:43:07 And sync key in DCS has leader=postgres-0 after 20 seconds # features/steps/quorum_commit.py:8 964s Apr 14 09:43:08 And sync key in DCS has quorum=0 after 2 seconds # features/steps/quorum_commit.py:8 964s Apr 14 09:43:08 And synchronous_standby_names on postgres-0 is set to '_empty_str_' after 2 seconds # features/steps/quorum_commit.py:39 964s Apr 14 09:43:08 When I shut down postgres-0 # features/steps/basic_replication.py:41 966s Apr 14 09:43:10 And sync key in DCS has leader=postgres-0 after 2 seconds # features/steps/quorum_commit.py:8 966s Apr 14 09:43:10 When I start postgres-0 # features/steps/basic_replication.py:20 969s Apr 14 09:43:13 Then postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 971s Apr 14 09:43:15 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 971s Apr 14 09:43:15 Then synchronous_standby_names on postgres-0 is set to 'ANY 1 (*)' after 10 seconds # features/steps/quorum_commit.py:39 972s Apr 14 09:43:16 972s Apr 14 09:43:16 Scenario: check failover with one quorum standby # features/quorum_commit.feature:20 972s Apr 14 09:43:16 Given I start postgres-1 # features/steps/basic_replication.py:20 981s Apr 14 09:43:25 Then sync key in DCS has sync_standby=postgres-1 after 10 seconds # features/steps/quorum_commit.py:8 984s Apr 14 09:43:27 And synchronous_standby_names on postgres-0 is set to 'ANY 1 ("postgres-1")' after 2 seconds # features/steps/quorum_commit.py:39 984s Apr 14 09:43:27 When I shut down postgres-0 # features/steps/basic_replication.py:41 986s Apr 14 09:43:29 Then postgres-1 role is the primary after 10 seconds # features/steps/basic_replication.py:117 987s Apr 14 09:43:30 And sync key in DCS has quorum=0 after 10 seconds # features/steps/quorum_commit.py:8 987s Apr 14 09:43:30 Then synchronous_standby_names on postgres-1 is set to 'ANY 1 (*)' after 10 seconds # features/steps/quorum_commit.py:39 990s Apr 14 09:43:33 When I start postgres-0 # features/steps/basic_replication.py:20 994s Apr 14 09:43:38 Then sync key in DCS has leader=postgres-1 after 10 seconds # features/steps/quorum_commit.py:8 994s Apr 14 09:43:38 Then sync key in DCS has sync_standby=postgres-0 after 10 seconds # features/steps/quorum_commit.py:8 996s Apr 14 09:43:40 And synchronous_standby_names on postgres-1 is set to 'ANY 1 ("postgres-0")' after 2 seconds # features/steps/quorum_commit.py:39 996s Apr 14 09:43:40 996s Apr 14 09:43:40 Scenario: check behavior with three nodes and different replication factor # features/quorum_commit.feature:33 996s Apr 14 09:43:40 Given I start postgres-2 # features/steps/basic_replication.py:20 1004s Apr 14 09:43:48 Then sync key in DCS has sync_standby=postgres-0,postgres-2 after 10 seconds # features/steps/quorum_commit.py:8 1005s Apr 14 09:43:49 And sync key in DCS has quorum=1 after 2 seconds # features/steps/quorum_commit.py:8 1005s Apr 14 09:43:49 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 1005s Apr 14 09:43:49 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 1005s Apr 14 09:43:49 Then sync key in DCS has quorum=0 after 10 seconds # features/steps/quorum_commit.py:8 1006s Apr 14 09:43:50 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 1006s Apr 14 09:43:50 1006s Apr 14 09:43:50 Scenario: switch from quorum replication to good old multisync and back # features/quorum_commit.feature:42 1006s Apr 14 09:43:50 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 1006s Apr 14 09:43:50 And I shut down postgres-0 # features/steps/basic_replication.py:41 1007s Apr 14 09:43:51 Then synchronous_standby_names on postgres-1 is set to '"postgres-2"' after 10 seconds # features/steps/quorum_commit.py:39 1009s Apr 14 09:43:53 And sync key in DCS has sync_standby=postgres-2 after 10 seconds # features/steps/quorum_commit.py:8 1011s Apr 14 09:43:55 Then sync key in DCS has quorum=0 after 2 seconds # features/steps/quorum_commit.py:8 1011s Apr 14 09:43:55 When I issue a PATCH request to http://127.0.0.1:8009/config with {"synchronous_mode": "quorum"} # features/steps/patroni_api.py:73 1011s Apr 14 09:43:55 And I start postgres-0 # features/steps/basic_replication.py:20 1014s Apr 14 09:43:58 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 1016s Apr 14 09:44:00 And sync key in DCS has sync_standby=postgres-0,postgres-2 after 10 seconds # features/steps/quorum_commit.py:8 1016s Apr 14 09:44:00 Then sync key in DCS has quorum=1 after 2 seconds # features/steps/quorum_commit.py:8 1016s Apr 14 09:44:00 1016s Apr 14 09:44:00 Scenario: REST API and patronictl # features/quorum_commit.feature:54 1016s Apr 14 09:44:00 Given I run patronictl.py list batman # features/steps/patroni_api.py:88 1017s Apr 14 09:44:01 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 1017s Apr 14 09:44:01 And I receive a response output "Quorum Standby" # features/steps/patroni_api.py:100 1017s Apr 14 09:44:01 And Status code on GET http://127.0.0.1:8008/quorum is 200 after 3 seconds # features/steps/patroni_api.py:144 1017s Apr 14 09:44:01 And Status code on GET http://127.0.0.1:8010/quorum is 200 after 3 seconds # features/steps/patroni_api.py:144 1017s Apr 14 09:44:01 1017s Apr 14 09:44:01 Scenario: nosync node is removed from voters and synchronous_standby_names # features/quorum_commit.feature:61 1017s Apr 14 09:44:01 Given I add tag nosync true to postgres-2 config # features/steps/patroni_api.py:139 1017s Apr 14 09:44:01 When I issue an empty POST request to http://127.0.0.1:8010/reload # features/steps/patroni_api.py:68 1018s Apr 14 09:44:02 Then I receive a response code 202 # features/steps/patroni_api.py:100 1018s Apr 14 09:44:02 And sync key in DCS has quorum=0 after 10 seconds # features/steps/quorum_commit.py:8 1020s Apr 14 09:44:04 And sync key in DCS has sync_standby=postgres-0 after 10 seconds # features/steps/quorum_commit.py:8 1020s Apr 14 09:44:04 And synchronous_standby_names on postgres-1 is set to 'ANY 1 ("postgres-0")' after 2 seconds # features/steps/quorum_commit.py:39 1020s Apr 14 09:44:04 And Status code on GET http://127.0.0.1:8010/quorum is 503 after 10 seconds # features/steps/patroni_api.py:144 1027s Apr 14 09:44:11 1027s Apr 14 09:44:11 Feature: recovery # features/recovery.feature:1 1027s Apr 14 09:44:11 We want to check that crashed postgres is started back 1027s Apr 14 09:44:11 Scenario: check that timeline is not incremented when primary is started after crash # features/recovery.feature:4 1027s Apr 14 09:44:11 Given I start postgres-0 # features/steps/basic_replication.py:20 1034s Apr 14 09:44:18 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 1035s Apr 14 09:44:19 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1035s Apr 14 09:44:19 When I start postgres-1 # features/steps/basic_replication.py:20 1042s Apr 14 09:44:26 And I add the table foo to postgres-0 # features/steps/basic_replication.py:66 1042s Apr 14 09:44:26 Then table foo is present on postgres-1 after 20 seconds # features/steps/basic_replication.py:105 1043s Apr 14 09:44:27 When I kill postmaster on postgres-0 # features/steps/basic_replication.py:56 1043s Apr 14 09:44:27 waiting for server to shut down.... done 1043s Apr 14 09:44:27 server stopped 1043s Apr 14 09:44:27 Then postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 1045s Apr 14 09:44:29 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:63 1045s Apr 14 09:44:29 Then I receive a response code 200 # features/steps/patroni_api.py:100 1045s Apr 14 09:44:29 And I receive a response role primary # features/steps/patroni_api.py:100 1045s Apr 14 09:44:29 And I receive a response timeline 1 # features/steps/patroni_api.py:100 1045s Apr 14 09:44:29 And "members/postgres-0" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 1046s Apr 14 09:44:30 And replication works from postgres-0 to postgres-1 after 15 seconds # features/steps/basic_replication.py:124 1049s Apr 14 09:44:33 1049s Apr 14 09:44:33 Scenario: check immediate failover when master_start_timeout=0 # features/recovery.feature:20 1049s Apr 14 09:44:33 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"master_start_timeout": 0} # features/steps/patroni_api.py:73 1049s Apr 14 09:44:33 Then I receive a response code 200 # features/steps/patroni_api.py:100 1049s Apr 14 09:44:33 And Response on GET http://127.0.0.1:8008/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:158 1050s Apr 14 09:44:33 When I kill postmaster on postgres-0 # features/steps/basic_replication.py:56 1050s Apr 14 09:44:34 waiting for server to shut down.... done 1050s Apr 14 09:44:34 server stopped 1050s Apr 14 09:44:34 Then postgres-1 is a leader after 10 seconds # features/steps/patroni_api.py:31 1056s Apr 14 09:44:40 And postgres-1 role is the primary after 10 seconds # features/steps/basic_replication.py:117 1057s Apr 14 09:44:41 1057s Apr 14 09:44:41 Scenario: check crashed primary demotes after failed attempt to start # features/recovery.feature:28 1057s Apr 14 09:44:41 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 1057s Apr 14 09:44:41 Then I receive a response code 200 # features/steps/patroni_api.py:100 1057s Apr 14 09:44:41 And postgres-0 role is the replica after 10 seconds # features/steps/basic_replication.py:117 1059s Apr 14 09:44:43 When I ensure postgres-1 fails to start after a failure # features/steps/recovery.py:6 1059s Apr 14 09:44:43 When I kill postmaster on postgres-1 # features/steps/basic_replication.py:56 1059s Apr 14 09:44:43 waiting for server to shut down.... done 1059s Apr 14 09:44:43 server stopped 1059s Apr 14 09:44:43 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 1062s Apr 14 09:44:46 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 1065s Apr 14 09:44:49 1065s Apr 14 09:44:49 Feature: standby cluster # features/standby_cluster.feature:1 1065s Apr 14 09:44:49 1065s Apr 14 09:44:49 Scenario: prepare the cluster with logical slots # features/standby_cluster.feature:2 1065s Apr 14 09:44:49 Given I start postgres-1 # features/steps/basic_replication.py:20 1072s Apr 14 09:44:56 Then postgres-1 is a leader after 10 seconds # features/steps/patroni_api.py:31 1073s Apr 14 09:44:57 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1073s Apr 14 09:44:57 When I issue a PATCH request to http://127.0.0.1:8009/config with {"slots": {"pm_1": {"type": "physical"}}, "postgresql": {"parameters": {"wal_level": "logical"}}} # features/steps/patroni_api.py:73 1073s Apr 14 09:44:57 Then I receive a response code 200 # features/steps/patroni_api.py:100 1073s Apr 14 09:44:57 And Response on GET http://127.0.0.1:8009/config contains slots after 10 seconds # features/steps/patroni_api.py:158 1073s Apr 14 09:44:57 And I sleep for 3 seconds # features/steps/patroni_api.py:41 1076s Apr 14 09:45:00 When I issue a PATCH request to http://127.0.0.1:8009/config with {"slots": {"test_logical": {"type": "logical", "database": "postgres", "plugin": "test_decoding"}}} # features/steps/patroni_api.py:73 1076s Apr 14 09:45:00 Then I receive a response code 200 # features/steps/patroni_api.py:100 1076s Apr 14 09:45:00 And I do a backup of postgres-1 # features/steps/custom_bootstrap.py:25 1081s Apr 14 09:45:05 When I start postgres-0 # features/steps/basic_replication.py:20 1086s Apr 14 09:45:10 Then "members/postgres-0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1087s Apr 14 09:45:11 And replication works from postgres-1 to postgres-0 after 15 seconds # features/steps/basic_replication.py:124 1088s Apr 14 09:45:12 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:63 1088s Apr 14 09:45:12 Then I receive a response code 200 # features/steps/patroni_api.py:100 1088s Apr 14 09:45:12 And I receive a response replication_state streaming # features/steps/patroni_api.py:100 1088s Apr 14 09:45:12 And "members/postgres-0" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 1088s Apr 14 09:45:12 1088s Apr 14 09:45:12 @slot-advance 1088s Apr 14 09:45:12 Scenario: check permanent logical slots are synced to the replica # features/standby_cluster.feature:22 1088s Apr 14 09:45:12 Given I run patronictl.py restart batman postgres-1 --force # features/steps/patroni_api.py:88 1090s Apr 14 09:45:14 Then Logical slot test_logical is in sync between postgres-0 and postgres-1 after 10 seconds # features/steps/slots.py:52 1096s Apr 14 09:45:20 1096s Apr 14 09:45:20 Scenario: Detach exiting node from the cluster # features/standby_cluster.feature:26 1096s Apr 14 09:45:20 When I shut down postgres-1 # features/steps/basic_replication.py:41 1098s Apr 14 09:45:22 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 1098s Apr 14 09:45:22 And "members/postgres-0" key in DCS has role=primary after 5 seconds # features/steps/cascading_replication.py:23 1102s Apr 14 09:45:26 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:63 1102s Apr 14 09:45:26 Then I receive a response code 200 # features/steps/patroni_api.py:100 1102s Apr 14 09:45:26 1102s Apr 14 09:45:26 Scenario: check replication of a single table in a standby cluster # features/standby_cluster.feature:33 1102s Apr 14 09:45:26 Given I start postgres-1 in a standby cluster batman1 as a clone of postgres-0 # features/steps/standby_cluster.py:23 1106s Apr 14 09:45:30 Then postgres-1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 1106s Apr 14 09:45:30 When I add the table foo to postgres-0 # features/steps/basic_replication.py:66 1107s Apr 14 09:45:30 Then table foo is present on postgres-1 after 20 seconds # features/steps/basic_replication.py:105 1107s Apr 14 09:45:30 When I issue a GET request to http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:63 1107s Apr 14 09:45:31 Then I receive a response code 200 # features/steps/patroni_api.py:100 1107s Apr 14 09:45:31 And I receive a response replication_state streaming # features/steps/patroni_api.py:100 1107s Apr 14 09:45:31 And I sleep for 3 seconds # features/steps/patroni_api.py:41 1110s Apr 14 09:45:34 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:63 1110s Apr 14 09:45:34 Then I receive a response code 503 # features/steps/patroni_api.py:100 1110s Apr 14 09:45:34 When I issue a GET request to http://127.0.0.1:8009/standby_leader # features/steps/patroni_api.py:63 1110s Apr 14 09:45:34 Then I receive a response code 200 # features/steps/patroni_api.py:100 1110s Apr 14 09:45:34 And I receive a response role standby_leader # features/steps/patroni_api.py:100 1110s Apr 14 09:45:34 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 1110s Apr 14 09:45:34 When I start postgres-2 in a cluster batman1 # features/steps/standby_cluster.py:12 1116s Apr 14 09:45:40 Then postgres-2 role is the replica after 24 seconds # features/steps/basic_replication.py:117 1116s Apr 14 09:45:40 And postgres-2 is replicating from postgres-1 after 10 seconds # features/steps/standby_cluster.py:52 1116s Apr 14 09:45:40 And table foo is present on postgres-2 after 20 seconds # features/steps/basic_replication.py:105 1116s Apr 14 09:45:40 When I issue a GET request to http://127.0.0.1:8010/patroni # features/steps/patroni_api.py:63 1116s Apr 14 09:45:40 Then I receive a response code 200 # features/steps/patroni_api.py:100 1116s Apr 14 09:45:40 And I receive a response replication_state streaming # features/steps/patroni_api.py:100 1116s Apr 14 09:45:40 And postgres-1 does not have a replication slot named test_logical # features/steps/slots.py:41 1116s Apr 14 09:45:40 1116s Apr 14 09:45:40 Scenario: check switchover # features/standby_cluster.feature:57 1116s Apr 14 09:45:40 Given I run patronictl.py switchover batman1 --force # features/steps/patroni_api.py:88 1119s Apr 14 09:45:43 Then Status code on GET http://127.0.0.1:8010/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:144 1119s Apr 14 09:45:43 And postgres-1 is replicating from postgres-2 after 32 seconds # features/steps/standby_cluster.py:52 1123s Apr 14 09:45:46 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 1123s Apr 14 09:45:46 1123s Apr 14 09:45:46 Scenario: check failover # features/standby_cluster.feature:63 1123s Apr 14 09:45:46 When I kill postgres-2 # features/steps/basic_replication.py:46 1124s Apr 14 09:45:47 And I kill postmaster on postgres-2 # features/steps/basic_replication.py:56 1124s Apr 14 09:45:48 waiting for server to shut down.... done 1124s Apr 14 09:45:48 server stopped 1124s Apr 14 09:45:48 Then postgres-1 is replicating from postgres-0 after 32 seconds # features/steps/standby_cluster.py:52 1144s Apr 14 09:46:08 And Status code on GET http://127.0.0.1:8009/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:144 1144s Apr 14 09:46:08 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:63 1144s Apr 14 09:46:08 Then I receive a response code 503 # features/steps/patroni_api.py:100 1144s Apr 14 09:46:08 And I receive a response role standby_leader # features/steps/patroni_api.py:100 1144s Apr 14 09:46:08 And replication works from postgres-0 to postgres-1 after 15 seconds # features/steps/basic_replication.py:124 1145s Apr 14 09:46:09 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 1149s Apr 14 09:46:13 1149s Apr 14 09:46:13 Feature: watchdog # features/watchdog.feature:1 1149s Apr 14 09:46:13 Verify that watchdog gets pinged and triggered under appropriate circumstances. 1149s Apr 14 09:46:13 Scenario: watchdog is opened and pinged # features/watchdog.feature:4 1149s Apr 14 09:46:13 Given I start postgres-0 with watchdog # features/steps/watchdog.py:17 1154s Apr 14 09:46:18 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 1155s Apr 14 09:46:19 And postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 1155s Apr 14 09:46:19 And postgres-0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:22 1155s Apr 14 09:46:19 And postgres-0 watchdog has a 15 second timeout # features/steps/watchdog.py:35 1155s Apr 14 09:46:19 1155s Apr 14 09:46:19 Scenario: watchdog is reconfigured after global ttl changed # features/watchdog.feature:11 1155s Apr 14 09:46:19 Given I run patronictl.py edit-config batman -s ttl=30 --force # features/steps/patroni_api.py:88 1157s Apr 14 09:46:21 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 1157s Apr 14 09:46:21 And I receive a response output "+ttl: 30" # features/steps/patroni_api.py:100 1157s Apr 14 09:46:21 When I sleep for 4 seconds # features/steps/patroni_api.py:41 1161s Apr 14 09:46:25 Then postgres-0 watchdog has a 25 second timeout # features/steps/watchdog.py:35 1161s Apr 14 09:46:25 1161s Apr 14 09:46:25 Scenario: watchdog is disabled during pause # features/watchdog.feature:18 1161s Apr 14 09:46:25 Given I run patronictl.py pause batman # features/steps/patroni_api.py:88 1162s Apr 14 09:46:26 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 1162s Apr 14 09:46:26 When I sleep for 2 seconds # features/steps/patroni_api.py:41 1164s Apr 14 09:46:28 Then postgres-0 watchdog has been closed # features/steps/watchdog.py:30 1164s Apr 14 09:46:28 1164s Apr 14 09:46:28 Scenario: watchdog is opened and pinged after resume # features/watchdog.feature:24 1164s Apr 14 09:46:28 Given I reset postgres-0 watchdog state # features/steps/watchdog.py:40 1164s Apr 14 09:46:28 And I run patronictl.py resume batman # features/steps/patroni_api.py:88 1166s Apr 14 09:46:30 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 1166s Apr 14 09:46:30 And postgres-0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:22 1166s Apr 14 09:46:30 1166s Apr 14 09:46:30 Scenario: watchdog is disabled when shutting down # features/watchdog.feature:30 1166s Apr 14 09:46:30 Given I shut down postgres-0 # features/steps/basic_replication.py:41 1168s Apr 14 09:46:32 Then postgres-0 watchdog has been closed # features/steps/watchdog.py:30 1168s Apr 14 09:46:32 1168s Apr 14 09:46:32 Scenario: watchdog is triggered if patroni stops responding # features/watchdog.feature:34 1168s Apr 14 09:46:32 Given I reset postgres-0 watchdog state # features/steps/watchdog.py:40 1168s Apr 14 09:46:32 And I start postgres-0 with watchdog # features/steps/watchdog.py:17 1171s Apr 14 09:46:35 Then postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 1173s Apr 14 09:46:37 When postgres-0 hangs for 30 seconds # features/steps/watchdog.py:53 1173s Apr 14 09:46:37 Then postgres-0 watchdog is triggered after 30 seconds # features/steps/watchdog.py:45 1200s Apr 14 09:47:04 1201s Apr 14 09:47:05 Combined data file .coverage.autopkgtest-lxd-lkvmxp.4085.XOKetxfx 1201s Apr 14 09:47:05 Combined data file .coverage.autopkgtest-lxd-lkvmxp.4130.XNRzyipx 1201s Apr 14 09:47:05 Combined data file .coverage.autopkgtest-lxd-lkvmxp.4175.XggIiTnx 1201s Apr 14 09:47:05 Combined data file .coverage.autopkgtest-lxd-lkvmxp.4227.XfIldwnx 1201s Apr 14 09:47:05 Combined data file .coverage.autopkgtest-lxd-lkvmxp.4275.XMoWdfdx 1201s Apr 14 09:47:05 Combined data file .coverage.autopkgtest-lxd-lkvmxp.4350.XwNjoDVx 1201s Apr 14 09:47:05 Combined data file .coverage.autopkgtest-lxd-lkvmxp.4402.XioFZoJx 1201s Apr 14 09:47:05 Combined data file .coverage.autopkgtest-lxd-lkvmxp.4405.XisCNZBx 1201s Apr 14 09:47:05 Combined data file .coverage.autopkgtest-lxd-lkvmxp.4480.XQHOXAax 1201s Apr 14 09:47:05 Combined data file .coverage.autopkgtest-lxd-lkvmxp.4588.XVpVftmx 1201s Apr 14 09:47:05 Combined data file .coverage.autopkgtest-lxd-lkvmxp.4599.XOXLUcox 1201s Apr 14 09:47:05 Combined data file .coverage.autopkgtest-lxd-lkvmxp.4643.XCLzwfRx 1201s Apr 14 09:47:05 Combined data file .coverage.autopkgtest-lxd-lkvmxp.4692.XvHjxHXx 1201s Apr 14 09:47:05 Combined data file .coverage.autopkgtest-lxd-lkvmxp.4805.XhkrLwKx 1201s Apr 14 09:47:05 Combined data file .coverage.autopkgtest-lxd-lkvmxp.4851.XPwCHRxx 1201s Apr 14 09:47:05 Combined data file .coverage.autopkgtest-lxd-lkvmxp.4907.XjsUjpvx 1201s Apr 14 09:47:05 Combined data file .coverage.autopkgtest-lxd-lkvmxp.5005.XCnCWnCx 1201s Apr 14 09:47:05 Combined data file .coverage.autopkgtest-lxd-lkvmxp.5056.XlBWCZSx 1201s Apr 14 09:47:05 Combined data file .coverage.autopkgtest-lxd-lkvmxp.5142.XcREBQwx 1201s Apr 14 09:47:05 Combined data file .coverage.autopkgtest-lxd-lkvmxp.5195.XVNtNGlx 1201s Apr 14 09:47:05 Combined data file .coverage.autopkgtest-lxd-lkvmxp.5258.XDNcewRx 1201s Apr 14 09:47:05 Combined data file .coverage.autopkgtest-lxd-lkvmxp.5348.XLvXwynx 1201s Apr 14 09:47:05 Combined data file .coverage.autopkgtest-lxd-lkvmxp.5447.XeDuVBVx 1201s Apr 14 09:47:05 Combined data file .coverage.autopkgtest-lxd-lkvmxp.5491.XurqSyOx 1201s Apr 14 09:47:05 Combined data file .coverage.autopkgtest-lxd-lkvmxp.5553.XpOBaBjx 1201s Apr 14 09:47:05 Combined data file .coverage.autopkgtest-lxd-lkvmxp.5591.XyGfMgtx 1201s Apr 14 09:47:05 Combined data file .coverage.autopkgtest-lxd-lkvmxp.5713.Xpwinfxx 1201s Apr 14 09:47:05 Combined data file .coverage.autopkgtest-lxd-lkvmxp.5763.XMjphtcx 1201s Apr 14 09:47:05 Combined data file .coverage.autopkgtest-lxd-lkvmxp.5779.XPiBayfx 1201s Apr 14 09:47:05 Combined data file .coverage.autopkgtest-lxd-lkvmxp.5822.XqKaAiSx 1201s Apr 14 09:47:05 Combined data file .coverage.autopkgtest-lxd-lkvmxp.5872.XzfCqiwx 1201s Apr 14 09:47:05 Combined data file .coverage.autopkgtest-lxd-lkvmxp.5877.XTjEKCsx 1201s Apr 14 09:47:05 Combined data file .coverage.autopkgtest-lxd-lkvmxp.5915.XyfHXgnx 1201s Apr 14 09:47:05 Combined data file .coverage.autopkgtest-lxd-lkvmxp.5960.XRTlGIFx 1201s Apr 14 09:47:05 Combined data file .coverage.autopkgtest-lxd-lkvmxp.6084.XAvDEmYx 1201s Apr 14 09:47:05 Combined data file .coverage.autopkgtest-lxd-lkvmxp.6086.XUQUWfqx 1201s Apr 14 09:47:05 Combined data file .coverage.autopkgtest-lxd-lkvmxp.6092.XokMVflx 1201s Apr 14 09:47:05 Combined data file .coverage.autopkgtest-lxd-lkvmxp.6211.XJnnZVWx 1201s Apr 14 09:47:05 Combined data file .coverage.autopkgtest-lxd-lkvmxp.6257.XOpCsUFx 1201s Apr 14 09:47:05 Combined data file .coverage.autopkgtest-lxd-lkvmxp.6307.XcoerYsx 1201s Apr 14 09:47:05 Combined data file .coverage.autopkgtest-lxd-lkvmxp.6354.XinnetNx 1201s Apr 14 09:47:05 Combined data file .coverage.autopkgtest-lxd-lkvmxp.6398.XtOZuUDx 1201s Apr 14 09:47:05 Combined data file .coverage.autopkgtest-lxd-lkvmxp.6530.XJLXDZex 1201s Apr 14 09:47:05 Combined data file .coverage.autopkgtest-lxd-lkvmxp.6597.XNdxrHZx 1201s Apr 14 09:47:05 Combined data file .coverage.autopkgtest-lxd-lkvmxp.6637.XGINgRbx 1201s Apr 14 09:47:05 Combined data file .coverage.autopkgtest-lxd-lkvmxp.6715.XqZbLUDx 1201s Apr 14 09:47:05 Combined data file .coverage.autopkgtest-lxd-lkvmxp.6796.XPbDZmsx 1201s Apr 14 09:47:05 Combined data file .coverage.autopkgtest-lxd-lkvmxp.6859.XrwWSkHx 1201s Apr 14 09:47:05 Combined data file .coverage.autopkgtest-lxd-lkvmxp.7189.XuUcdSOx 1201s Apr 14 09:47:05 Combined data file .coverage.autopkgtest-lxd-lkvmxp.7240.XnjnXYKx 1201s Apr 14 09:47:05 Combined data file .coverage.autopkgtest-lxd-lkvmxp.7304.XergKXCx 1201s Apr 14 09:47:05 Combined data file .coverage.autopkgtest-lxd-lkvmxp.7396.XTDNyFNx 1201s Apr 14 09:47:05 Combined data file .coverage.autopkgtest-lxd-lkvmxp.7446.XPNyoXex 1201s Apr 14 09:47:05 Combined data file .coverage.autopkgtest-lxd-lkvmxp.7502.XhuyXfux 1201s Apr 14 09:47:05 Combined data file .coverage.autopkgtest-lxd-lkvmxp.7546.XIHzuGTx 1201s Apr 14 09:47:05 Combined data file .coverage.autopkgtest-lxd-lkvmxp.7585.XOymepIx 1201s Apr 14 09:47:05 Combined data file .coverage.autopkgtest-lxd-lkvmxp.7629.XpZcGrJx 1201s Apr 14 09:47:05 Combined data file .coverage.autopkgtest-lxd-lkvmxp.7863.XTITdgJx 1201s Apr 14 09:47:05 Combined data file .coverage.autopkgtest-lxd-lkvmxp.7934.XLFvThyx 1201s Apr 14 09:47:05 Combined data file .coverage.autopkgtest-lxd-lkvmxp.7986.XeDekROx 1201s Apr 14 09:47:05 Combined data file .coverage.autopkgtest-lxd-lkvmxp.8090.XoIYIOTx 1201s Apr 14 09:47:05 Combined data file .coverage.autopkgtest-lxd-lkvmxp.8216.XNjpTXax 1201s Apr 14 09:47:05 Combined data file .coverage.autopkgtest-lxd-lkvmxp.8345.XDPBBJbx 1201s Apr 14 09:47:05 Combined data file .coverage.autopkgtest-lxd-lkvmxp.8389.XQgScKCx 1201s Apr 14 09:47:05 Skipping duplicate data .coverage.autopkgtest-lxd-lkvmxp.8391.XmVxzwbx 1201s Apr 14 09:47:05 Combined data file .coverage.autopkgtest-lxd-lkvmxp.8395.XgmAetWx 1201s Apr 14 09:47:05 Combined data file .coverage.autopkgtest-lxd-lkvmxp.8406.XaGcQQzx 1206s Apr 14 09:47:10 Name Stmts Miss Cover 1206s Apr 14 09:47:10 ------------------------------------------------------------------------------------------------------------- 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/OpenSSL/SSL.py 1159 642 45% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/OpenSSL/__init__.py 3 0 100% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/OpenSSL/_util.py 44 15 66% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/OpenSSL/crypto.py 869 663 24% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/OpenSSL/version.py 9 0 100% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 101 96 5% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/bcrypt/__init__.py 3 0 100% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/cryptography/__about__.py 5 0 100% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/cryptography/__init__.py 3 0 100% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/cryptography/exceptions.py 26 5 81% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/cryptography/hazmat/__init__.py 2 0 100% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/cryptography/hazmat/_oid.py 135 0 100% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/__init__.py 0 0 100% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/__init__.py 0 0 100% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/_conditional.py 38 17 55% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/binding.py 51 4 92% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/__init__.py 1 0 100% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/ciphers/__init__.py 1 0 100% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/ciphers/algorithms.py 68 18 74% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/__init__.py 0 0 100% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_asymmetric.py 6 0 100% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_cipheralgorithm.py 23 4 83% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_serialization.py 79 35 56% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/__init__.py 0 0 100% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dh.py 47 0 100% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dsa.py 55 5 91% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ec.py 172 22 87% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed448.py 45 12 73% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed25519.py 43 12 72% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/padding.py 55 23 58% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/rsa.py 93 40 57% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/types.py 19 0 100% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/utils.py 14 5 64% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x448.py 43 12 72% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x25519.py 41 12 71% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/__init__.py 4 0 100% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/algorithms.py 72 15 79% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/base.py 54 12 78% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/modes.py 140 59 58% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/constant_time.py 6 3 50% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hashes.py 127 20 84% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/__init__.py 5 0 100% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/base.py 7 0 100% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/ssh.py 775 614 21% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/cryptography/utils.py 76 28 63% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/cryptography/x509/__init__.py 70 0 100% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/cryptography/x509/base.py 488 227 53% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/cryptography/x509/certificate_transparency.py 42 0 100% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/cryptography/x509/extensions.py 1024 552 46% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/cryptography/x509/general_name.py 166 94 43% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/cryptography/x509/name.py 236 144 39% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/cryptography/x509/oid.py 3 0 100% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/cryptography/x509/verification.py 12 0 100% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/dateutil/__init__.py 13 4 69% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/dateutil/_version.py 13 3 77% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 810 436 46% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 183 150 18% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 240 206 14% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 151 114 25% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 794 626 21% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/dateutil/tz/win.py 152 149 2% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/dns/__init__.py 2 0 100% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/dns/_asyncbackend.py 14 6 57% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/dns/_ddr.py 105 86 18% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/dns/_features.py 46 8 83% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/dns/_immutable_ctx.py 40 5 88% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/dns/asyncbackend.py 44 32 27% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/dns/asyncquery.py 322 283 12% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/dns/edns.py 307 185 40% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/dns/entropy.py 80 49 39% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/dns/enum.py 72 46 36% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/dns/exception.py 59 33 44% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/dns/flags.py 40 14 65% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/dns/grange.py 33 30 9% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/dns/immutable.py 41 30 27% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/dns/inet.py 79 65 18% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/dns/ipv4.py 26 20 23% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/dns/ipv6.py 114 100 12% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/dns/message.py 829 676 18% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/dns/name.py 617 425 31% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/dns/nameserver.py 102 55 46% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/dns/node.py 117 71 39% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/dns/opcode.py 30 7 77% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/dns/query.py 562 477 15% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/dns/quic/__init__.py 28 23 18% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/dns/rcode.py 68 13 81% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/dns/rdata.py 386 277 28% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/dns/rdataclass.py 43 9 79% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/dns/rdataset.py 192 133 31% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/dns/rdatatype.py 215 23 89% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/OPT.py 34 19 44% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/SOA.py 41 26 37% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/TSIG.py 58 42 28% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/ZONEMD.py 43 27 37% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/__init__.py 1 0 100% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/dns/rdtypes/__init__.py 1 0 100% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/dns/rdtypes/svcbbase.py 415 268 35% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/dns/rdtypes/util.py 191 154 19% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/dns/renderer.py 151 118 22% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/dns/resolver.py 873 696 20% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/dns/reversename.py 32 24 25% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/dns/rrset.py 77 56 27% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/dns/serial.py 92 79 14% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/dns/set.py 148 107 28% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/dns/tokenizer.py 334 279 16% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/dns/transaction.py 269 201 25% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/dns/tsig.py 176 122 31% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/dns/ttl.py 44 38 14% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/dns/version.py 6 0 100% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/dns/wire.py 64 42 34% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/dns/xfr.py 148 126 15% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/dns/zone.py 507 383 24% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/dns/zonefile.py 427 379 11% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/dns/zonetypes.py 14 2 86% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/etcd/__init__.py 125 63 50% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/etcd/client.py 380 256 33% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/etcd/lock.py 125 103 18% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/idna/__init__.py 4 0 100% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/idna/core.py 292 257 12% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/idna/idnadata.py 4 0 100% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/idna/intranges.py 30 24 20% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/idna/package_data.py 1 0 100% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/patroni/__main__.py 201 63 69% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/patroni/api.py 788 292 63% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 15 84% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/patroni/collections.py 56 5 91% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/patroni/config.py 357 84 76% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/patroni/config_generator.py 212 159 25% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/patroni/daemon.py 76 3 96% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 710 93 87% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/patroni/dcs/etcd3.py 679 125 82% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/patroni/dcs/etcd.py 603 256 58% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/patroni/dynamic_loader.py 35 7 80% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/patroni/file_perm.py 47 10 79% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/patroni/global_config.py 87 0 100% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/patroni/ha.py 1359 377 72% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/patroni/log.py 235 79 66% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 825 165 80% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/patroni/postgresql/available_parameters/__init__.py 24 3 88% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 254 60 76% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 840 218 74% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 1 99% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 43 8 81% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/patroni/postgresql/mpp/__init__.py 89 11 88% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 83 51% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 416 128 69% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 349 38 89% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 154 11 93% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 157 24 85% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/patroni/psycopg.py 46 19 59% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/patroni/quorum.py 182 48 74% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/patroni/request.py 58 7 88% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/patroni/tags.py 38 0 100% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/patroni/utils.py 371 104 72% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/patroni/validator.py 309 215 30% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 42 79% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 35 74% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/psutil/__init__.py 950 629 34% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/psutil/_common.py 422 212 50% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/psutil/_compat.py 301 263 13% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1250 924 26% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/psutil/_psposix.py 95 38 60% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/urllib3/__init__.py 49 15 69% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 63 45 29% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/urllib3/_collections.py 231 124 46% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 54 24 56% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/urllib3/_version.py 13 3 77% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/urllib3/connection.py 389 137 65% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 344 129 62% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/urllib3/contrib/__init__.py 0 0 100% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/urllib3/contrib/pyopenssl.py 263 101 62% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/urllib3/exceptions.py 121 39 68% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/urllib3/http2/__init__.py 28 21 25% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/urllib3/http2/probe.py 49 31 37% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 86 63% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/urllib3/response.py 634 330 48% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 42 36% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 49 53% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 15 53% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/urllib3/util/retry.py 174 51 71% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 172 74 57% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 152 106 30% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 14 80% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/urllib3/util/url.py 203 73 64% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 10 62% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 18 63% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/yaml/parser.py 352 198 44% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/yaml/reader.py 122 34 72% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/yaml/scanner.py 758 437 42% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 1206s Apr 14 09:47:10 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 1206s Apr 14 09:47:10 patroni/__init__.py 13 2 85% 1206s Apr 14 09:47:10 patroni/__main__.py 201 201 0% 1206s Apr 14 09:47:10 patroni/api.py 788 788 0% 1206s Apr 14 09:47:10 patroni/async_executor.py 96 69 28% 1206s Apr 14 09:47:10 patroni/collections.py 56 15 73% 1206s Apr 14 09:47:10 patroni/config.py 357 186 48% 1206s Apr 14 09:47:10 patroni/config_generator.py 212 212 0% 1206s Apr 14 09:47:10 patroni/ctl.py 936 395 58% 1206s Apr 14 09:47:10 patroni/daemon.py 76 76 0% 1206s Apr 14 09:47:10 patroni/dcs/__init__.py 710 317 55% 1206s Apr 14 09:47:10 patroni/dcs/consul.py 482 482 0% 1206s Apr 14 09:47:10 patroni/dcs/etcd3.py 679 346 49% 1206s Apr 14 09:47:10 patroni/dcs/etcd.py 603 280 54% 1206s Apr 14 09:47:10 patroni/dcs/exhibitor.py 62 62 0% 1206s Apr 14 09:47:10 patroni/dcs/kubernetes.py 943 943 0% 1206s Apr 14 09:47:10 patroni/dcs/raft.py 319 319 0% 1206s Apr 14 09:47:10 patroni/dcs/zookeeper.py 289 289 0% 1206s Apr 14 09:47:10 patroni/dynamic_loader.py 35 7 80% 1206s Apr 14 09:47:10 patroni/exceptions.py 16 1 94% 1206s Apr 14 09:47:10 patroni/file_perm.py 47 17 64% 1206s Apr 14 09:47:10 patroni/global_config.py 87 19 78% 1206s Apr 14 09:47:10 patroni/ha.py 1359 1359 0% 1206s Apr 14 09:47:10 patroni/log.py 235 183 22% 1206s Apr 14 09:47:10 patroni/postgresql/__init__.py 825 653 21% 1206s Apr 14 09:47:10 patroni/postgresql/available_parameters/__init__.py 24 3 88% 1206s Apr 14 09:47:10 patroni/postgresql/bootstrap.py 254 224 12% 1206s Apr 14 09:47:10 patroni/postgresql/callback_executor.py 55 34 38% 1206s Apr 14 09:47:10 patroni/postgresql/cancellable.py 104 84 19% 1206s Apr 14 09:47:10 patroni/postgresql/config.py 840 720 14% 1206s Apr 14 09:47:10 patroni/postgresql/connection.py 75 50 33% 1206s Apr 14 09:47:10 patroni/postgresql/misc.py 43 30 30% 1206s Apr 14 09:47:10 patroni/postgresql/mpp/__init__.py 89 21 76% 1206s Apr 14 09:47:10 patroni/postgresql/mpp/citus.py 366 366 0% 1206s Apr 14 09:47:10 patroni/postgresql/postmaster.py 170 139 18% 1206s Apr 14 09:47:10 patroni/postgresql/rewind.py 416 416 0% 1206s Apr 14 09:47:10 patroni/postgresql/slots.py 349 300 14% 1206s Apr 14 09:47:10 patroni/postgresql/sync.py 154 114 26% 1206s Apr 14 09:47:10 patroni/postgresql/validator.py 157 52 67% 1206s Apr 14 09:47:10 patroni/psycopg.py 46 32 30% 1206s Apr 14 09:47:10 patroni/quorum.py 182 182 0% 1206s Apr 14 09:47:10 patroni/raft_controller.py 22 22 0% 1206s Apr 14 09:47:10 patroni/request.py 58 6 90% 1206s Apr 14 09:47:10 patroni/scripts/__init__.py 0 0 100% 1206s Apr 14 09:47:10 patroni/scripts/aws.py 59 59 0% 1206s Apr 14 09:47:10 patroni/scripts/barman/__init__.py 0 0 100% 1206s Apr 14 09:47:10 patroni/scripts/barman/cli.py 50 50 0% 1206s Apr 14 09:47:10 patroni/scripts/barman/config_switch.py 50 50 0% 1206s Apr 14 09:47:10 patroni/scripts/barman/recover.py 36 36 0% 1206s Apr 14 09:47:10 patroni/scripts/barman/utils.py 93 93 0% 1206s Apr 14 09:47:10 patroni/scripts/wale_restore.py 207 207 0% 1206s Apr 14 09:47:10 patroni/tags.py 38 11 71% 1206s Apr 14 09:47:10 patroni/utils.py 371 186 50% 1206s Apr 14 09:47:10 patroni/validator.py 309 222 28% 1206s Apr 14 09:47:10 patroni/version.py 1 0 100% 1206s Apr 14 09:47:10 patroni/watchdog/__init__.py 2 2 0% 1206s Apr 14 09:47:10 patroni/watchdog/base.py 203 203 0% 1206s Apr 14 09:47:10 patroni/watchdog/linux.py 135 135 0% 1206s Apr 14 09:47:10 ------------------------------------------------------------------------------------------------------------- 1206s Apr 14 09:47:10 TOTAL 54417 32602 40% 1206s Apr 14 09:47:10 13 features passed, 0 failed, 1 skipped 1206s Apr 14 09:47:10 55 scenarios passed, 0 failed, 14 skipped 1206s Apr 14 09:47:10 539 steps passed, 0 failed, 128 skipped, 0 undefined 1206s Apr 14 09:47:10 Took 10m16.027s 1206s + bash -c 'rm -rf features/output' 1206s ### End 17 acceptance-etcd3 ### 1206s + echo '### End 17 acceptance-etcd3 ###' 1206s + rm -f /tmp/pgpass_postgres-0 /tmp/pgpass_postgres-1 /tmp/pgpass_postgres-2 /tmp/pgpass_postgres-3 1206s ++ id -u 1206s + '[' 1000 -eq 0 ']' 1207s autopkgtest [09:47:11]: test acceptance-etcd3: -----------------------] 1210s acceptance-etcd3 PASS 1210s autopkgtest [09:47:14]: test acceptance-etcd3: - - - - - - - - - - results - - - - - - - - - - 1214s autopkgtest [09:47:18]: test acceptance-etcd: preparing testbed 1216s Reading package lists... 1216s Building dependency tree... 1216s Reading state information... 1217s Starting pkgProblemResolver with broken count: 0 1217s Starting 2 pkgProblemResolver with broken count: 0 1217s Done 1219s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1228s autopkgtest [09:47:32]: test acceptance-etcd: debian/tests/acceptance etcd 1228s autopkgtest [09:47:32]: test acceptance-etcd: [----------------------- 1230s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 1230s ++ ls -1r /usr/lib/postgresql/ 1230s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 1230s + '[' 17 == 10 -o 17 == 11 ']' 1230s + echo '### PostgreSQL 17 acceptance-etcd ###' 1230s + 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' 1230s ### PostgreSQL 17 acceptance-etcd ### 1232s Apr 14 09:47:36 No data to combine 1237s Apr 14 09:47:41 Name Stmts Miss Cover 1237s Apr 14 09:47:41 ------------------------------------------------------------------------------------------------------------- 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/OpenSSL/SSL.py 1159 642 45% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/OpenSSL/__init__.py 3 0 100% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/OpenSSL/_util.py 44 15 66% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/OpenSSL/crypto.py 869 663 24% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/OpenSSL/version.py 9 0 100% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 101 96 5% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/bcrypt/__init__.py 3 0 100% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/cryptography/__about__.py 5 0 100% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/cryptography/__init__.py 3 0 100% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/cryptography/exceptions.py 26 5 81% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/cryptography/hazmat/__init__.py 2 0 100% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/cryptography/hazmat/_oid.py 135 0 100% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/__init__.py 0 0 100% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/__init__.py 0 0 100% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/_conditional.py 38 17 55% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/binding.py 51 4 92% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/__init__.py 1 0 100% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/ciphers/__init__.py 1 0 100% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/ciphers/algorithms.py 68 18 74% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/__init__.py 0 0 100% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_asymmetric.py 6 0 100% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_cipheralgorithm.py 23 4 83% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_serialization.py 79 35 56% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/__init__.py 0 0 100% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dh.py 47 0 100% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dsa.py 55 5 91% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ec.py 172 22 87% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed448.py 45 12 73% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed25519.py 43 12 72% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/padding.py 55 23 58% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/rsa.py 93 40 57% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/types.py 19 0 100% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/utils.py 14 5 64% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x448.py 43 12 72% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x25519.py 41 12 71% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/__init__.py 4 0 100% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/algorithms.py 72 15 79% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/base.py 54 12 78% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/modes.py 140 59 58% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/constant_time.py 6 3 50% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hashes.py 127 20 84% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/__init__.py 5 0 100% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/base.py 7 0 100% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/ssh.py 775 614 21% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/cryptography/utils.py 76 28 63% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/cryptography/x509/__init__.py 70 0 100% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/cryptography/x509/base.py 488 227 53% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/cryptography/x509/certificate_transparency.py 42 0 100% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/cryptography/x509/extensions.py 1024 552 46% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/cryptography/x509/general_name.py 166 94 43% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/cryptography/x509/name.py 236 144 39% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/cryptography/x509/oid.py 3 0 100% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/cryptography/x509/verification.py 12 0 100% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/dateutil/__init__.py 13 4 69% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/dateutil/_version.py 13 3 77% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 810 436 46% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 183 150 18% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 240 206 14% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 151 114 25% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 794 626 21% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/dateutil/tz/win.py 152 149 2% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/dns/__init__.py 2 0 100% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/dns/_asyncbackend.py 14 6 57% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/dns/_ddr.py 105 86 18% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/dns/_features.py 46 8 83% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/dns/_immutable_ctx.py 40 5 88% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/dns/asyncbackend.py 44 32 27% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/dns/asyncquery.py 322 283 12% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/dns/edns.py 307 185 40% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/dns/entropy.py 80 49 39% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/dns/enum.py 72 46 36% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/dns/exception.py 59 33 44% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/dns/flags.py 40 14 65% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/dns/grange.py 33 30 9% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/dns/immutable.py 41 30 27% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/dns/inet.py 79 65 18% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/dns/ipv4.py 26 20 23% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/dns/ipv6.py 114 100 12% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/dns/message.py 829 676 18% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/dns/name.py 617 425 31% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/dns/nameserver.py 102 55 46% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/dns/node.py 117 71 39% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/dns/opcode.py 30 7 77% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/dns/query.py 562 477 15% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/dns/quic/__init__.py 28 23 18% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/dns/rcode.py 68 13 81% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/dns/rdata.py 386 277 28% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/dns/rdataclass.py 43 9 79% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/dns/rdataset.py 192 133 31% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/dns/rdatatype.py 215 23 89% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/OPT.py 34 19 44% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/SOA.py 41 26 37% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/TSIG.py 58 42 28% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/ZONEMD.py 43 27 37% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/__init__.py 1 0 100% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/dns/rdtypes/__init__.py 1 0 100% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/dns/rdtypes/svcbbase.py 415 268 35% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/dns/rdtypes/util.py 191 154 19% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/dns/renderer.py 151 118 22% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/dns/resolver.py 873 696 20% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/dns/reversename.py 32 24 25% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/dns/rrset.py 77 56 27% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/dns/serial.py 92 79 14% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/dns/set.py 148 107 28% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/dns/tokenizer.py 334 279 16% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/dns/transaction.py 269 201 25% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/dns/tsig.py 176 122 31% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/dns/ttl.py 44 38 14% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/dns/version.py 6 0 100% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/dns/wire.py 64 42 34% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/dns/xfr.py 148 126 15% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/dns/zone.py 507 383 24% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/dns/zonefile.py 427 379 11% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/dns/zonetypes.py 14 2 86% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/etcd/__init__.py 125 63 50% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/etcd/client.py 380 256 33% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/etcd/lock.py 125 103 18% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/idna/__init__.py 4 0 100% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/idna/core.py 292 257 12% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/idna/idnadata.py 4 0 100% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/idna/intranges.py 30 24 20% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/idna/package_data.py 1 0 100% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/patroni/__main__.py 201 63 69% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/patroni/api.py 788 292 63% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 15 84% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/patroni/collections.py 56 5 91% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/patroni/config.py 357 84 76% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/patroni/config_generator.py 212 159 25% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/patroni/daemon.py 76 3 96% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 710 93 87% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/patroni/dcs/etcd3.py 679 125 82% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/patroni/dcs/etcd.py 603 256 58% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/patroni/dynamic_loader.py 35 7 80% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/patroni/file_perm.py 47 10 79% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/patroni/global_config.py 87 0 100% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/patroni/ha.py 1359 377 72% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/patroni/log.py 235 79 66% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 825 165 80% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/patroni/postgresql/available_parameters/__init__.py 24 3 88% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 254 60 76% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 840 218 74% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 1 99% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 43 8 81% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/patroni/postgresql/mpp/__init__.py 89 11 88% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 83 51% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 416 128 69% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 349 38 89% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 154 11 93% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 157 24 85% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/patroni/psycopg.py 46 19 59% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/patroni/quorum.py 182 48 74% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/patroni/request.py 58 7 88% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/patroni/tags.py 38 0 100% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/patroni/utils.py 371 104 72% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/patroni/validator.py 309 215 30% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 42 79% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 35 74% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/psutil/__init__.py 950 629 34% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/psutil/_common.py 422 212 50% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/psutil/_compat.py 301 263 13% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1250 924 26% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/psutil/_psposix.py 95 38 60% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/urllib3/__init__.py 49 15 69% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 63 45 29% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/urllib3/_collections.py 231 124 46% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 54 24 56% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/urllib3/_version.py 13 3 77% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/urllib3/connection.py 389 137 65% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 344 129 62% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/urllib3/contrib/__init__.py 0 0 100% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/urllib3/contrib/pyopenssl.py 263 101 62% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/urllib3/exceptions.py 121 39 68% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/urllib3/http2/__init__.py 28 21 25% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/urllib3/http2/probe.py 49 31 37% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 86 63% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/urllib3/response.py 634 330 48% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 42 36% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 49 53% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 15 53% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/urllib3/util/retry.py 174 51 71% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 172 74 57% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 152 106 30% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 14 80% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/urllib3/util/url.py 203 73 64% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 10 62% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 18 63% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/yaml/parser.py 352 198 44% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/yaml/reader.py 122 34 72% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/yaml/scanner.py 758 437 42% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 1237s Apr 14 09:47:41 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 1237s Apr 14 09:47:41 patroni/__init__.py 13 2 85% 1237s Apr 14 09:47:41 patroni/__main__.py 201 201 0% 1237s Apr 14 09:47:41 patroni/api.py 788 788 0% 1237s Apr 14 09:47:41 patroni/async_executor.py 96 69 28% 1237s Apr 14 09:47:41 patroni/collections.py 56 15 73% 1237s Apr 14 09:47:41 patroni/config.py 357 186 48% 1237s Apr 14 09:47:41 patroni/config_generator.py 212 212 0% 1237s Apr 14 09:47:41 patroni/ctl.py 936 395 58% 1237s Apr 14 09:47:41 patroni/daemon.py 76 76 0% 1237s Apr 14 09:47:41 patroni/dcs/__init__.py 710 317 55% 1237s Apr 14 09:47:41 patroni/dcs/consul.py 482 482 0% 1237s Apr 14 09:47:41 patroni/dcs/etcd3.py 679 346 49% 1237s Apr 14 09:47:41 patroni/dcs/etcd.py 603 280 54% 1237s Apr 14 09:47:41 patroni/dcs/exhibitor.py 62 62 0% 1237s Apr 14 09:47:41 patroni/dcs/kubernetes.py 943 943 0% 1237s Apr 14 09:47:41 patroni/dcs/raft.py 319 319 0% 1237s Apr 14 09:47:41 patroni/dcs/zookeeper.py 289 289 0% 1237s Apr 14 09:47:41 patroni/dynamic_loader.py 35 7 80% 1237s Apr 14 09:47:41 patroni/exceptions.py 16 1 94% 1237s Apr 14 09:47:41 patroni/file_perm.py 47 17 64% 1237s Apr 14 09:47:41 patroni/global_config.py 87 19 78% 1237s Apr 14 09:47:41 patroni/ha.py 1359 1359 0% 1237s Apr 14 09:47:41 patroni/log.py 235 183 22% 1237s Apr 14 09:47:41 patroni/postgresql/__init__.py 825 653 21% 1237s Apr 14 09:47:41 patroni/postgresql/available_parameters/__init__.py 24 3 88% 1237s Apr 14 09:47:41 patroni/postgresql/bootstrap.py 254 224 12% 1237s Apr 14 09:47:41 patroni/postgresql/callback_executor.py 55 34 38% 1237s Apr 14 09:47:41 patroni/postgresql/cancellable.py 104 84 19% 1237s Apr 14 09:47:41 patroni/postgresql/config.py 840 720 14% 1237s Apr 14 09:47:41 patroni/postgresql/connection.py 75 50 33% 1237s Apr 14 09:47:41 patroni/postgresql/misc.py 43 30 30% 1237s Apr 14 09:47:41 patroni/postgresql/mpp/__init__.py 89 21 76% 1237s Apr 14 09:47:41 patroni/postgresql/mpp/citus.py 366 366 0% 1237s Apr 14 09:47:41 patroni/postgresql/postmaster.py 170 139 18% 1237s Apr 14 09:47:41 patroni/postgresql/rewind.py 416 416 0% 1237s Apr 14 09:47:41 patroni/postgresql/slots.py 349 300 14% 1237s Apr 14 09:47:41 patroni/postgresql/sync.py 154 114 26% 1237s Apr 14 09:47:41 patroni/postgresql/validator.py 157 52 67% 1237s Apr 14 09:47:41 patroni/psycopg.py 46 32 30% 1237s Apr 14 09:47:41 patroni/quorum.py 182 182 0% 1237s Apr 14 09:47:41 patroni/raft_controller.py 22 22 0% 1237s Apr 14 09:47:41 patroni/request.py 58 6 90% 1237s Apr 14 09:47:41 patroni/scripts/__init__.py 0 0 100% 1237s Apr 14 09:47:41 patroni/scripts/aws.py 59 59 0% 1237s Apr 14 09:47:41 patroni/scripts/barman/__init__.py 0 0 100% 1237s Apr 14 09:47:41 patroni/scripts/barman/cli.py 50 50 0% 1237s Apr 14 09:47:41 patroni/scripts/barman/config_switch.py 50 50 0% 1237s Apr 14 09:47:41 patroni/scripts/barman/recover.py 36 36 0% 1237s Apr 14 09:47:41 patroni/scripts/barman/utils.py 93 93 0% 1237s Apr 14 09:47:41 patroni/scripts/wale_restore.py 207 207 0% 1237s Apr 14 09:47:41 patroni/tags.py 38 11 71% 1237s Apr 14 09:47:41 patroni/utils.py 371 186 50% 1237s Apr 14 09:47:41 patroni/validator.py 309 222 28% 1237s Apr 14 09:47:41 patroni/version.py 1 0 100% 1237s Apr 14 09:47:41 patroni/watchdog/__init__.py 2 2 0% 1237s Apr 14 09:47:41 patroni/watchdog/base.py 203 203 0% 1237s Apr 14 09:47:41 patroni/watchdog/linux.py 135 135 0% 1237s Apr 14 09:47:41 ------------------------------------------------------------------------------------------------------------- 1237s Apr 14 09:47:41 TOTAL 54417 32602 40% 1237s Apr 14 09:47:41 HOOK-ERROR in before_all: AssertionError: Process etcd is not running after being started 1237s Apr 14 09:47:41 1237s Apr 14 09:47:41 ABORTED: By user. 1237s Apr 14 09:47:41 0 features passed, 0 failed, 0 skipped, 14 untested 1237s Apr 14 09:47:41 0 scenarios passed, 0 failed, 0 skipped, 69 untested 1237s Apr 14 09:47:41 0 steps passed, 0 failed, 0 skipped, 0 undefined, 667 untested 1237s Apr 14 09:47:41 Took 0m0.000s 1238s features/output/*_failed/*: 1238s + for file in features/output/*_failed/* 1238s + case $file in 1238s + echo 'features/output/*_failed/*:' 1238s + cat 'features/output/*_failed/*' 1238s cat: 'features/output/*_failed/*': No such file or directory 1238s + rm -f '/tmp/pgpass_postgres-?' 1238s ++ id -u 1238s + '[' 1000 -eq 0 ']' 1238s autopkgtest [09:47:42]: test acceptance-etcd: -----------------------] 1242s acceptance-etcd FAIL non-zero exit status 1 1242s autopkgtest [09:47:46]: test acceptance-etcd: - - - - - - - - - - results - - - - - - - - - - 1245s autopkgtest [09:47:49]: test acceptance-zookeeper: preparing testbed 1267s autopkgtest [09:48:11]: testbed dpkg architecture: armhf 1269s autopkgtest [09:48:13]: testbed apt version: 3.0.0 1273s autopkgtest [09:48:17]: @@@@@@@@@@@@@@@@@@@@ test bed setup 1275s autopkgtest [09:48:19]: testbed release detected to be: plucky 1282s autopkgtest [09:48:26]: updating testbed package index (apt update) 1284s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [265 kB] 1284s Get:2 http://ftpmaster.internal/ubuntu plucky InRelease [265 kB] 1284s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 1284s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 1284s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [5192 B] 1284s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [204 kB] 1284s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [9948 B] 1284s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf Packages [3452 B] 1284s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf c-n-f Metadata [288 B] 1284s Get:10 http://ftpmaster.internal/ubuntu plucky-proposed/restricted armhf c-n-f Metadata [116 B] 1284s Get:11 http://ftpmaster.internal/ubuntu plucky-proposed/universe armhf Packages [109 kB] 1284s Get:12 http://ftpmaster.internal/ubuntu plucky-proposed/universe armhf c-n-f Metadata [4896 B] 1284s Get:13 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse armhf c-n-f Metadata [116 B] 1284s Get:14 http://ftpmaster.internal/ubuntu plucky/universe Sources [21.1 MB] 1286s Get:15 http://ftpmaster.internal/ubuntu plucky/universe armhf Packages [15.3 MB] 1291s Fetched 37.2 MB in 6s (6327 kB/s) 1292s Reading package lists... 1298s autopkgtest [09:48:42]: upgrading testbed (apt dist-upgrade and autopurge) 1299s Reading package lists... 1300s Building dependency tree... 1300s Reading state information... 1301s Calculating upgrade...Starting pkgProblemResolver with broken count: 0 1301s Starting 2 pkgProblemResolver with broken count: 0 1301s Done 1303s Entering ResolveByKeep 1303s 1304s Calculating upgrade... 1305s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1306s Reading package lists... 1307s Building dependency tree... 1307s Reading state information... 1307s Starting pkgProblemResolver with broken count: 0 1308s Starting 2 pkgProblemResolver with broken count: 0 1308s Done 1308s Solving dependencies... 1309s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1311s autopkgtest [09:48:55]: rebooting testbed after setup commands that affected boot 1373s Reading package lists... 1373s Building dependency tree... 1373s Reading state information... 1374s Starting pkgProblemResolver with broken count: 0 1374s Starting 2 pkgProblemResolver with broken count: 0 1374s Done 1376s The following NEW packages will be installed: 1376s adwaita-icon-theme at-spi2-common ca-certificates-java 1376s dconf-gsettings-backend dconf-service default-jre default-jre-headless 1376s fontconfig fontconfig-config fonts-dejavu-core fonts-dejavu-mono 1376s fonts-font-awesome fonts-lato gtk-update-icon-cache hicolor-icon-theme 1376s java-common junit4 libactivation-java libapache-pom-java libapr1t64 1376s libasm-java libasound2-data libasound2t64 libatinject-jsr330-api-java 1376s libatk-bridge2.0-0t64 libatk1.0-0t64 libatspi2.0-0t64 libavahi-client3 1376s libavahi-common-data libavahi-common3 libcairo-gobject2 libcairo2 libcares2 1376s libcolord2 libcommons-cli-java libcommons-io-java libcommons-logging-java 1376s libcommons-parent-java libcups2t64 libdatrie1 libdconf1 libdeflate0 1376s libdropwizard-metrics-java libeclipse-jdt-core-compiler-batch-java 1376s libeclipse-jdt-core-java libel-api-java libepoxy0 liberror-prone-java 1376s libev4t64 libfindbugs-annotations-java libfontconfig1 libfreetype6 libgbm1 1376s libgdk-pixbuf-2.0-0 libgdk-pixbuf2.0-common libgif7 libgl1 libgl1-mesa-dri 1376s libglvnd0 libglx-mesa0 libglx0 libgraphite2-3 libgtk-3-0t64 libgtk-3-common 1376s libguava-java libhamcrest-java libharfbuzz0b libio-pty-perl libipc-run-perl 1376s libjackson2-annotations-java libjackson2-core-java libjackson2-databind-java 1376s libjavaparser-java libjaxb-api-java libjbig0 libjctools-java 1376s libjetty9-extra-java libjetty9-java libjffi-java libjffi-jni 1376s libjnr-constants-java libjnr-enxio-java libjnr-ffi-java libjnr-posix-java 1376s libjnr-unixsocket-java libjnr-x86asm-java libjpeg-turbo8 libjpeg8 1376s libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl libjsp-api-java 1376s libjsr305-java liblcms2-2 liblerc4 libllvm19 libllvm20 liblog4j1.2-java 1376s libmail-java libnetty-java libnetty-tcnative-java libnetty-tcnative-jni 1376s libpango-1.0-0 libpangocairo-1.0-0 libpangoft2-1.0-0 libpcsclite1 1376s libpixman-1-0 libpq5 libservlet-api-java libsharpyuv0 libslf4j-java 1376s libsnappy-java libsnappy-jni libsnappy1v5 libspring-beans-java 1376s libspring-core-java libtaglibs-standard-impl-java 1376s libtaglibs-standard-spec-java libthai-data libthai0 libtiff6 1376s libtime-duration-perl libtimedate-perl libtomcat9-java libvulkan1 1376s libwayland-client0 libwayland-cursor0 libwayland-egl1 libwayland-server0 1376s libwebp7 libwebsocket-api-java libx11-xcb1 libxcb-dri3-0 libxcb-glx0 1376s libxcb-present0 libxcb-randr0 libxcb-render0 libxcb-shm0 libxcb-sync1 1376s libxcb-xfixes0 libxcomposite1 libxcursor1 libxdamage1 libxfixes3 libxi6 1376s libxinerama1 libxrandr2 libxrender1 libxshmfence1 libxslt1.1 libxtst6 1376s libxxf86vm1 libzookeeper-java mesa-libgallium moreutils openjdk-21-jre 1376s openjdk-21-jre-headless patroni patroni-doc postgresql postgresql-17 1376s postgresql-client-17 postgresql-client-common postgresql-common 1376s postgresql-common-dev python3-behave python3-click python3-coverage 1376s python3-dnspython python3-eventlet python3-gevent python3-greenlet 1376s python3-kazoo python3-kerberos python3-parse python3-parse-type 1376s python3-prettytable python3-psutil python3-psycopg2 python3-pure-sasl 1376s python3-wcwidth python3-ydiff python3-zope.event python3-zope.interface 1376s sphinx-rtd-theme-common ssl-cert x11-common zookeeper zookeeperd 1376s 0 upgraded, 190 newly installed, 0 to remove and 0 not upgraded. 1376s Need to get 180 MB of archives. 1376s After this operation, 630 MB of additional disk space will be used. 1376s Get:1 http://ftpmaster.internal/ubuntu plucky/main armhf fonts-lato all 2.015-1 [2781 kB] 1377s Get:2 http://ftpmaster.internal/ubuntu plucky/main armhf libjson-perl all 4.10000-1 [81.9 kB] 1377s Get:3 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql-client-common all 274 [47.6 kB] 1377s Get:4 http://ftpmaster.internal/ubuntu plucky/main armhf libio-pty-perl armhf 1:1.20-1build3 [31.0 kB] 1377s Get:5 http://ftpmaster.internal/ubuntu plucky/main armhf libipc-run-perl all 20231003.0-2 [91.5 kB] 1377s Get:6 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql-common-dev all 274 [73.0 kB] 1377s Get:7 http://ftpmaster.internal/ubuntu plucky/main armhf ssl-cert all 1.1.3ubuntu1 [18.7 kB] 1377s Get:8 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql-common all 274 [101 kB] 1377s Get:9 http://ftpmaster.internal/ubuntu plucky/main armhf ca-certificates-java all 20240118 [11.6 kB] 1377s Get:10 http://ftpmaster.internal/ubuntu plucky/main armhf java-common all 0.76 [6852 B] 1377s Get:11 http://ftpmaster.internal/ubuntu plucky/main armhf liblcms2-2 armhf 2.16-2 [137 kB] 1377s Get:12 http://ftpmaster.internal/ubuntu plucky/main armhf libjpeg-turbo8 armhf 2.1.5-3ubuntu2 [127 kB] 1377s Get:13 http://ftpmaster.internal/ubuntu plucky/main armhf libjpeg8 armhf 8c-2ubuntu11 [2148 B] 1377s Get:14 http://ftpmaster.internal/ubuntu plucky/main armhf libpcsclite1 armhf 2.3.1-1 [24.9 kB] 1377s Get:15 http://ftpmaster.internal/ubuntu plucky/main armhf openjdk-21-jre-headless armhf 21.0.7~8ea-1 [39.8 MB] 1378s Get:16 http://ftpmaster.internal/ubuntu plucky/main armhf default-jre-headless armhf 2:1.21-76 [3182 B] 1378s Get:17 http://ftpmaster.internal/ubuntu plucky/main armhf libgdk-pixbuf2.0-common all 2.42.12+dfsg-2 [8004 B] 1378s Get:18 http://ftpmaster.internal/ubuntu plucky/main armhf libdeflate0 armhf 1.23-1 [38.5 kB] 1378s Get:19 http://ftpmaster.internal/ubuntu plucky/main armhf libjbig0 armhf 2.1-6.1ubuntu2 [24.9 kB] 1378s Get:20 http://ftpmaster.internal/ubuntu plucky/main armhf liblerc4 armhf 4.0.0+ds-5ubuntu1 [160 kB] 1378s Get:21 http://ftpmaster.internal/ubuntu plucky/main armhf libsharpyuv0 armhf 1.5.0-0.1 [16.4 kB] 1378s Get:22 http://ftpmaster.internal/ubuntu plucky/main armhf libwebp7 armhf 1.5.0-0.1 [188 kB] 1378s Get:23 http://ftpmaster.internal/ubuntu plucky/main armhf libtiff6 armhf 4.5.1+git230720-4ubuntu4 [179 kB] 1378s Get:24 http://ftpmaster.internal/ubuntu plucky/main armhf libgdk-pixbuf-2.0-0 armhf 2.42.12+dfsg-2 [136 kB] 1378s Get:25 http://ftpmaster.internal/ubuntu plucky/main armhf gtk-update-icon-cache armhf 4.18.4+ds-1 [51.8 kB] 1378s Get:26 http://ftpmaster.internal/ubuntu plucky/main armhf hicolor-icon-theme all 0.18-2 [13.3 kB] 1378s Get:27 http://ftpmaster.internal/ubuntu plucky/main armhf adwaita-icon-theme all 48.0-1 [578 kB] 1378s Get:28 http://ftpmaster.internal/ubuntu plucky/main armhf at-spi2-common all 2.56.1-1 [9142 B] 1378s Get:29 http://ftpmaster.internal/ubuntu plucky/main armhf libatk1.0-0t64 armhf 2.56.1-1 [48.5 kB] 1378s Get:30 http://ftpmaster.internal/ubuntu plucky/main armhf libxi6 armhf 2:1.8.2-1 [26.5 kB] 1378s Get:31 http://ftpmaster.internal/ubuntu plucky/main armhf libatspi2.0-0t64 armhf 2.56.1-1 [74.8 kB] 1378s Get:32 http://ftpmaster.internal/ubuntu plucky/main armhf libatk-bridge2.0-0t64 armhf 2.56.1-1 [59.8 kB] 1378s Get:33 http://ftpmaster.internal/ubuntu plucky/main armhf libfreetype6 armhf 2.13.3+dfsg-1 [330 kB] 1378s Get:34 http://ftpmaster.internal/ubuntu plucky/main armhf fonts-dejavu-mono all 2.37-8 [502 kB] 1378s Get:35 http://ftpmaster.internal/ubuntu plucky/main armhf fonts-dejavu-core all 2.37-8 [835 kB] 1378s Get:36 http://ftpmaster.internal/ubuntu plucky/main armhf fontconfig-config armhf 2.15.0-2.2ubuntu1 [37.9 kB] 1378s Get:37 http://ftpmaster.internal/ubuntu plucky/main armhf libfontconfig1 armhf 2.15.0-2.2ubuntu1 [114 kB] 1378s Get:38 http://ftpmaster.internal/ubuntu plucky/main armhf libpixman-1-0 armhf 0.44.0-3 [183 kB] 1378s Get:39 http://ftpmaster.internal/ubuntu plucky/main armhf libxcb-render0 armhf 1.17.0-2 [15.3 kB] 1378s Get:40 http://ftpmaster.internal/ubuntu plucky/main armhf libxcb-shm0 armhf 1.17.0-2 [5774 B] 1378s Get:41 http://ftpmaster.internal/ubuntu plucky/main armhf libxrender1 armhf 1:0.9.10-1.1build1 [16.0 kB] 1378s Get:42 http://ftpmaster.internal/ubuntu plucky/main armhf libcairo2 armhf 1.18.4-1 [483 kB] 1378s Get:43 http://ftpmaster.internal/ubuntu plucky/main armhf libcairo-gobject2 armhf 1.18.4-1 [126 kB] 1378s Get:44 http://ftpmaster.internal/ubuntu plucky/main armhf libcolord2 armhf 1.4.7-3 [132 kB] 1378s Get:45 http://ftpmaster.internal/ubuntu plucky/main armhf libavahi-common-data armhf 0.8-16ubuntu2 [31.0 kB] 1378s Get:46 http://ftpmaster.internal/ubuntu plucky/main armhf libavahi-common3 armhf 0.8-16ubuntu2 [20.2 kB] 1378s Get:47 http://ftpmaster.internal/ubuntu plucky/main armhf libavahi-client3 armhf 0.8-16ubuntu2 [24.5 kB] 1378s Get:48 http://ftpmaster.internal/ubuntu plucky/main armhf libcups2t64 armhf 2.4.12-0ubuntu1 [240 kB] 1378s Get:49 http://ftpmaster.internal/ubuntu plucky/main armhf libepoxy0 armhf 1.5.10-2 [192 kB] 1378s Get:50 http://ftpmaster.internal/ubuntu plucky/main armhf libgraphite2-3 armhf 1.3.14-2ubuntu1 [64.8 kB] 1378s Get:51 http://ftpmaster.internal/ubuntu plucky/main armhf libharfbuzz0b armhf 10.2.0-1 [464 kB] 1378s Get:52 http://ftpmaster.internal/ubuntu plucky/main armhf fontconfig armhf 2.15.0-2.2ubuntu1 [190 kB] 1378s Get:53 http://ftpmaster.internal/ubuntu plucky/main armhf libthai-data all 0.1.29-2build1 [158 kB] 1378s Get:54 http://ftpmaster.internal/ubuntu plucky/main armhf libdatrie1 armhf 0.2.13-3build1 [15.7 kB] 1378s Get:55 http://ftpmaster.internal/ubuntu plucky/main armhf libthai0 armhf 0.1.29-2build1 [15.2 kB] 1378s Get:56 http://ftpmaster.internal/ubuntu plucky/main armhf libpango-1.0-0 armhf 1.56.3-1 [216 kB] 1378s Get:57 http://ftpmaster.internal/ubuntu plucky/main armhf libpangoft2-1.0-0 armhf 1.56.3-1 [44.1 kB] 1378s Get:58 http://ftpmaster.internal/ubuntu plucky/main armhf libpangocairo-1.0-0 armhf 1.56.3-1 [25.0 kB] 1378s Get:59 http://ftpmaster.internal/ubuntu plucky/main armhf libwayland-client0 armhf 1.23.1-3 [23.3 kB] 1378s Get:60 http://ftpmaster.internal/ubuntu plucky/main armhf libwayland-cursor0 armhf 1.23.1-3 [9648 B] 1378s Get:61 http://ftpmaster.internal/ubuntu plucky/main armhf libwayland-egl1 armhf 1.23.1-3 [5874 B] 1378s Get:62 http://ftpmaster.internal/ubuntu plucky/main armhf libxcomposite1 armhf 1:0.4.6-1 [6060 B] 1378s Get:63 http://ftpmaster.internal/ubuntu plucky/main armhf libxfixes3 armhf 1:6.0.0-2build1 [9038 B] 1378s Get:64 http://ftpmaster.internal/ubuntu plucky/main armhf libxcursor1 armhf 1:1.2.3-1 [18.0 kB] 1379s Get:65 http://ftpmaster.internal/ubuntu plucky/main armhf libxdamage1 armhf 1:1.1.6-1build1 [5462 B] 1379s Get:66 http://ftpmaster.internal/ubuntu plucky/main armhf libxinerama1 armhf 2:1.1.4-3build1 [5866 B] 1379s Get:67 http://ftpmaster.internal/ubuntu plucky/main armhf libxrandr2 armhf 2:1.5.4-1 [15.8 kB] 1379s Get:68 http://ftpmaster.internal/ubuntu plucky/main armhf libdconf1 armhf 0.40.0-5 [38.4 kB] 1379s Get:69 http://ftpmaster.internal/ubuntu plucky/main armhf dconf-service armhf 0.40.0-5 [27.6 kB] 1379s Get:70 http://ftpmaster.internal/ubuntu plucky/main armhf dconf-gsettings-backend armhf 0.40.0-5 [23.8 kB] 1379s Get:71 http://ftpmaster.internal/ubuntu plucky/main armhf libgtk-3-common all 3.24.49-2ubuntu1 [1424 kB] 1379s Get:72 http://ftpmaster.internal/ubuntu plucky/main armhf libgtk-3-0t64 armhf 3.24.49-2ubuntu1 [2623 kB] 1379s Get:73 http://ftpmaster.internal/ubuntu plucky/main armhf libglvnd0 armhf 1.7.0-1build1 [83.7 kB] 1379s Get:74 http://ftpmaster.internal/ubuntu plucky/main armhf libx11-xcb1 armhf 2:1.8.10-2 [7902 B] 1379s Get:75 http://ftpmaster.internal/ubuntu plucky/main armhf libxcb-dri3-0 armhf 1.17.0-2 [7120 B] 1379s Get:76 http://ftpmaster.internal/ubuntu plucky/main armhf libxcb-glx0 armhf 1.17.0-2 [22.6 kB] 1379s Get:77 http://ftpmaster.internal/ubuntu plucky/main armhf libxcb-present0 armhf 1.17.0-2 [5940 B] 1379s Get:78 http://ftpmaster.internal/ubuntu plucky/main armhf libxcb-xfixes0 armhf 1.17.0-2 [10.0 kB] 1379s Get:79 http://ftpmaster.internal/ubuntu plucky/main armhf libxxf86vm1 armhf 1:1.1.4-1build4 [8068 B] 1379s Get:80 http://ftpmaster.internal/ubuntu plucky/main armhf libllvm19 armhf 1:19.1.7-3ubuntu1 [27.8 MB] 1380s Get:81 http://ftpmaster.internal/ubuntu plucky/main armhf libxcb-randr0 armhf 1.17.0-2 [17.0 kB] 1380s Get:82 http://ftpmaster.internal/ubuntu plucky/main armhf libxcb-sync1 armhf 1.17.0-2 [8732 B] 1380s Get:83 http://ftpmaster.internal/ubuntu plucky/main armhf libxshmfence1 armhf 1.3-1build5 [4464 B] 1380s Get:84 http://ftpmaster.internal/ubuntu plucky/main armhf mesa-libgallium armhf 25.0.3-1ubuntu2 [8260 kB] 1380s Get:85 http://ftpmaster.internal/ubuntu plucky/main armhf libwayland-server0 armhf 1.23.1-3 [30.3 kB] 1380s Get:86 http://ftpmaster.internal/ubuntu plucky/main armhf libgbm1 armhf 25.0.3-1ubuntu2 [29.0 kB] 1380s Get:87 http://ftpmaster.internal/ubuntu plucky/main armhf libvulkan1 armhf 1.4.304.0-1 [127 kB] 1380s Get:88 http://ftpmaster.internal/ubuntu plucky/main armhf libgl1-mesa-dri armhf 25.0.3-1ubuntu2 [32.0 kB] 1380s Get:89 http://ftpmaster.internal/ubuntu plucky/main armhf libglx-mesa0 armhf 25.0.3-1ubuntu2 [120 kB] 1380s Get:90 http://ftpmaster.internal/ubuntu plucky/main armhf libglx0 armhf 1.7.0-1build1 [39.3 kB] 1380s Get:91 http://ftpmaster.internal/ubuntu plucky/main armhf libgl1 armhf 1.7.0-1build1 [105 kB] 1380s Get:92 http://ftpmaster.internal/ubuntu plucky/main armhf libasound2-data all 1.2.13-1build1 [21.1 kB] 1380s Get:93 http://ftpmaster.internal/ubuntu plucky/main armhf libasound2t64 armhf 1.2.13-1build1 [347 kB] 1380s Get:94 http://ftpmaster.internal/ubuntu plucky/main armhf libgif7 armhf 5.2.2-1ubuntu2 [32.5 kB] 1380s Get:95 http://ftpmaster.internal/ubuntu plucky/main armhf x11-common all 1:7.7+23ubuntu4 [21.8 kB] 1380s Get:96 http://ftpmaster.internal/ubuntu plucky/main armhf libxtst6 armhf 2:1.2.5-1 [11.0 kB] 1380s Get:97 http://ftpmaster.internal/ubuntu plucky/main armhf openjdk-21-jre armhf 21.0.7~8ea-1 [198 kB] 1380s Get:98 http://ftpmaster.internal/ubuntu plucky/main armhf default-jre armhf 2:1.21-76 [918 B] 1380s Get:99 http://ftpmaster.internal/ubuntu plucky/universe armhf libhamcrest-java all 2.2-2 [117 kB] 1380s Get:100 http://ftpmaster.internal/ubuntu plucky/universe armhf junit4 all 4.13.2-5 [348 kB] 1380s Get:101 http://ftpmaster.internal/ubuntu plucky/universe armhf libcommons-cli-java all 1.6.0-1 [59.9 kB] 1380s Get:102 http://ftpmaster.internal/ubuntu plucky/universe armhf libapache-pom-java all 33-2 [5874 B] 1380s Get:103 http://ftpmaster.internal/ubuntu plucky/universe armhf libcommons-parent-java all 56-1 [10.7 kB] 1380s Get:104 http://ftpmaster.internal/ubuntu plucky/universe armhf libcommons-io-java all 2.18.0-1 [477 kB] 1380s Get:105 http://ftpmaster.internal/ubuntu plucky/universe armhf libdropwizard-metrics-java all 3.2.6-1 [240 kB] 1380s Get:106 http://ftpmaster.internal/ubuntu plucky/universe armhf libfindbugs-annotations-java all 3.1.0~preview2-4 [48.9 kB] 1380s Get:107 http://ftpmaster.internal/ubuntu plucky/universe armhf libatinject-jsr330-api-java all 1.0+ds1-6 [5076 B] 1380s Get:108 http://ftpmaster.internal/ubuntu plucky/universe armhf liberror-prone-java all 2.18.0-1 [22.5 kB] 1380s Get:109 http://ftpmaster.internal/ubuntu plucky/universe armhf libjsr305-java all 0.1~+svn49-12 [27.0 kB] 1380s Get:110 http://ftpmaster.internal/ubuntu plucky/universe armhf libguava-java all 32.0.1-1 [2692 kB] 1381s Get:111 http://ftpmaster.internal/ubuntu plucky/universe armhf libjackson2-annotations-java all 2.14.0-1 [64.7 kB] 1381s Get:112 http://ftpmaster.internal/ubuntu plucky/universe armhf libjackson2-core-java all 2.14.1-1 [432 kB] 1381s Get:113 http://ftpmaster.internal/ubuntu plucky/universe armhf libjackson2-databind-java all 2.14.0+ds-1 [1481 kB] 1381s Get:114 http://ftpmaster.internal/ubuntu plucky/universe armhf libasm-java all 9.7.1-1 [388 kB] 1381s Get:115 http://ftpmaster.internal/ubuntu plucky/universe armhf libel-api-java all 3.0.0-3 [64.9 kB] 1381s Get:116 http://ftpmaster.internal/ubuntu plucky/universe armhf libjsp-api-java all 2.3.4-3 [53.7 kB] 1381s Get:117 http://ftpmaster.internal/ubuntu plucky/universe armhf libservlet-api-java all 4.0.1-2 [81.0 kB] 1381s Get:118 http://ftpmaster.internal/ubuntu plucky/universe armhf libwebsocket-api-java all 1.1-2 [40.1 kB] 1381s Get:119 http://ftpmaster.internal/ubuntu plucky/universe armhf libjetty9-java all 9.4.56-1 [2790 kB] 1381s Get:120 http://ftpmaster.internal/ubuntu plucky/universe armhf libjnr-constants-java all 0.10.4-2 [1397 kB] 1381s Get:121 http://ftpmaster.internal/ubuntu plucky/universe armhf libjffi-jni armhf 1.3.13+ds-1 [24.9 kB] 1381s Get:122 http://ftpmaster.internal/ubuntu plucky/universe armhf libjffi-java all 1.3.13+ds-1 [112 kB] 1381s Get:123 http://ftpmaster.internal/ubuntu plucky/universe armhf libjnr-x86asm-java all 1.0.2-6 [216 kB] 1381s Get:124 http://ftpmaster.internal/ubuntu plucky/universe armhf libjnr-ffi-java all 2.2.15-2 [627 kB] 1381s Get:125 http://ftpmaster.internal/ubuntu plucky/universe armhf libjnr-enxio-java all 0.32.16-1 [33.7 kB] 1381s Get:126 http://ftpmaster.internal/ubuntu plucky/universe armhf libjnr-posix-java all 3.1.18-1 [267 kB] 1381s Get:127 http://ftpmaster.internal/ubuntu plucky/universe armhf libjnr-unixsocket-java all 0.38.21-2 [46.9 kB] 1381s Get:128 http://ftpmaster.internal/ubuntu plucky/universe armhf libactivation-java all 1.2.0-2 [84.7 kB] 1381s Get:129 http://ftpmaster.internal/ubuntu plucky/universe armhf libmail-java all 1.6.5-3 [681 kB] 1381s Get:130 http://ftpmaster.internal/ubuntu plucky/universe armhf libcommons-logging-java all 1.3.0-1ubuntu1 [63.8 kB] 1381s Get:131 http://ftpmaster.internal/ubuntu plucky/universe armhf libjaxb-api-java all 2.3.1-1 [119 kB] 1381s Get:132 http://ftpmaster.internal/ubuntu plucky/universe armhf libspring-core-java all 4.3.30-2ubuntu1 [1015 kB] 1381s Get:133 http://ftpmaster.internal/ubuntu plucky/universe armhf libspring-beans-java all 4.3.30-2ubuntu1 [677 kB] 1381s Get:134 http://ftpmaster.internal/ubuntu plucky/universe armhf libtaglibs-standard-spec-java all 1.2.5-3 [35.2 kB] 1381s Get:135 http://ftpmaster.internal/ubuntu plucky/universe armhf libtaglibs-standard-impl-java all 1.2.5-3 [182 kB] 1381s Get:136 http://ftpmaster.internal/ubuntu plucky/universe armhf libeclipse-jdt-core-compiler-batch-java all 3.35.0+eclipse4.29-2 [2933 kB] 1381s Get:137 http://ftpmaster.internal/ubuntu plucky/universe armhf libeclipse-jdt-core-java all 3.35.0+eclipse4.29-2 [3831 kB] 1381s Get:138 http://ftpmaster.internal/ubuntu plucky/universe armhf libtomcat9-java all 9.0.70-2ubuntu1.1 [6161 kB] 1382s Get:139 http://ftpmaster.internal/ubuntu plucky/universe armhf libjetty9-extra-java all 9.4.56-1 [1199 kB] 1382s Get:140 http://ftpmaster.internal/ubuntu plucky/universe armhf libjavaparser-java all 3.26.1-1 [1326 kB] 1382s Get:141 http://ftpmaster.internal/ubuntu plucky/universe armhf libjctools-java all 4.0.5+dfsg-1 [506 kB] 1382s Get:142 http://ftpmaster.internal/ubuntu plucky/universe armhf libnetty-java all 1:4.1.48-10 [3628 kB] 1382s Get:143 http://ftpmaster.internal/ubuntu plucky/universe armhf libslf4j-java all 1.7.32-1 [141 kB] 1382s Get:144 http://ftpmaster.internal/ubuntu plucky/main armhf libsnappy1v5 armhf 1.2.1-1 [28.4 kB] 1382s Get:145 http://ftpmaster.internal/ubuntu plucky/universe armhf libsnappy-jni armhf 1.1.10.7-1 [6228 B] 1382s Get:146 http://ftpmaster.internal/ubuntu plucky/universe armhf libsnappy-java all 1.1.10.7-1 [83.6 kB] 1382s Get:147 http://ftpmaster.internal/ubuntu plucky/main armhf libapr1t64 armhf 1.7.5-1 [88.2 kB] 1382s Get:148 http://ftpmaster.internal/ubuntu plucky/universe armhf libnetty-tcnative-jni armhf 2.0.28-1build4 [28.9 kB] 1382s Get:149 http://ftpmaster.internal/ubuntu plucky/universe armhf libnetty-tcnative-java all 2.0.28-1build4 [24.8 kB] 1382s Get:150 http://ftpmaster.internal/ubuntu plucky/universe armhf liblog4j1.2-java all 1.2.17-11 [439 kB] 1382s Get:151 http://ftpmaster.internal/ubuntu plucky/universe armhf libzookeeper-java all 3.9.3-1build1 [1890 kB] 1382s Get:152 http://ftpmaster.internal/ubuntu plucky/universe armhf zookeeper all 3.9.3-1build1 [57.8 kB] 1382s Get:153 http://ftpmaster.internal/ubuntu plucky/universe armhf zookeeperd all 3.9.3-1build1 [6016 B] 1382s Get:154 http://ftpmaster.internal/ubuntu plucky/main armhf fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 1382s Get:155 http://ftpmaster.internal/ubuntu plucky/main armhf libcares2 armhf 1.34.4-2.1 [85.0 kB] 1382s Get:156 http://ftpmaster.internal/ubuntu plucky/universe armhf libev4t64 armhf 1:4.33-2.1build1 [26.3 kB] 1382s Get:157 http://ftpmaster.internal/ubuntu plucky/main armhf libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 1382s Get:158 http://ftpmaster.internal/ubuntu plucky/main armhf libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 1382s Get:159 http://ftpmaster.internal/ubuntu plucky/main armhf libjs-sphinxdoc all 8.1.3-5 [31.0 kB] 1382s Get:160 http://ftpmaster.internal/ubuntu plucky/main armhf libllvm20 armhf 1:20.1.2-0ubuntu1 [29.6 MB] 1383s Get:161 http://ftpmaster.internal/ubuntu plucky/main armhf libpq5 armhf 17.4-1 [125 kB] 1383s Get:162 http://ftpmaster.internal/ubuntu plucky/main armhf libtime-duration-perl all 1.21-2 [12.3 kB] 1383s Get:163 http://ftpmaster.internal/ubuntu plucky/main armhf libtimedate-perl all 2.3300-2 [34.0 kB] 1383s Get:164 http://ftpmaster.internal/ubuntu plucky/main armhf libxslt1.1 armhf 1.1.39-0exp1ubuntu4 [151 kB] 1383s Get:165 http://ftpmaster.internal/ubuntu plucky/universe armhf moreutils armhf 0.69-1 [53.5 kB] 1383s Get:166 http://ftpmaster.internal/ubuntu plucky/main armhf python3-click all 8.2.0+0.really.8.1.8-1 [80.0 kB] 1383s Get:167 http://ftpmaster.internal/ubuntu plucky/main armhf python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 1383s Get:168 http://ftpmaster.internal/ubuntu plucky/main armhf python3-prettytable all 3.12.0-1 [36.5 kB] 1383s Get:169 http://ftpmaster.internal/ubuntu plucky/main armhf python3-psutil armhf 5.9.8-2build3 [194 kB] 1383s Get:170 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-ydiff all 1.4.2-1 [19.0 kB] 1383s Get:171 http://ftpmaster.internal/ubuntu plucky/main armhf python3-psycopg2 armhf 2.9.10-1build1 [125 kB] 1383s Get:172 http://ftpmaster.internal/ubuntu plucky/main armhf python3-greenlet armhf 3.1.0-1build1 [161 kB] 1383s Get:173 http://ftpmaster.internal/ubuntu plucky/main armhf python3-dnspython all 2.7.0-1ubuntu1 [167 kB] 1383s Get:174 http://ftpmaster.internal/ubuntu plucky/main armhf python3-eventlet all 0.39.0-0ubuntu1 [277 kB] 1383s Get:175 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-zope.event all 5.0-0.1 [7512 B] 1383s Get:176 http://ftpmaster.internal/ubuntu plucky/main armhf python3-zope.interface armhf 7.2-1build1 [139 kB] 1383s Get:177 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-gevent armhf 24.11.1-1build1 [822 kB] 1383s Get:178 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-kerberos armhf 1.1.14-3.1build11 [19.9 kB] 1383s Get:179 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-pure-sasl all 0.5.1+dfsg1-5 [11.4 kB] 1383s Get:180 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-kazoo all 2.9.0-2 [103 kB] 1383s Get:181 http://ftpmaster.internal/ubuntu plucky-proposed/universe armhf patroni all 4.0.4-8 [282 kB] 1383s Get:182 http://ftpmaster.internal/ubuntu plucky/main armhf sphinx-rtd-theme-common all 3.0.2+dfsg-2 [1014 kB] 1383s Get:183 http://ftpmaster.internal/ubuntu plucky-proposed/universe armhf patroni-doc all 4.0.4-8 [526 kB] 1383s Get:184 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql-client-17 armhf 17.4-1 [1285 kB] 1383s Get:185 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql-17 armhf 17.4-1 [14.8 MB] 1384s Get:186 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql all 17+274 [14.4 kB] 1384s Get:187 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-parse all 1.20.2-1 [27.0 kB] 1384s Get:188 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-parse-type all 0.6.4-2 [23.5 kB] 1384s Get:189 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-behave all 1.2.6-6 [98.6 kB] 1384s Get:190 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-coverage armhf 7.6.0+dfsg1-2build1 [152 kB] 1385s Preconfiguring packages ... 1385s /var/cache/debconf/tmp.ci/postgresql.config.EKMrQN: 12: pg_lsclusters: not found 1385s Fetched 180 MB in 8s (21.6 MB/s) 1385s Selecting previously unselected package fonts-lato. 1385s (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 ... 63969 files and directories currently installed.) 1385s Preparing to unpack .../000-fonts-lato_2.015-1_all.deb ... 1385s Unpacking fonts-lato (2.015-1) ... 1386s Selecting previously unselected package libjson-perl. 1386s Preparing to unpack .../001-libjson-perl_4.10000-1_all.deb ... 1386s Unpacking libjson-perl (4.10000-1) ... 1386s Selecting previously unselected package postgresql-client-common. 1386s Preparing to unpack .../002-postgresql-client-common_274_all.deb ... 1386s Unpacking postgresql-client-common (274) ... 1386s Selecting previously unselected package libio-pty-perl. 1386s Preparing to unpack .../003-libio-pty-perl_1%3a1.20-1build3_armhf.deb ... 1386s Unpacking libio-pty-perl (1:1.20-1build3) ... 1386s Selecting previously unselected package libipc-run-perl. 1386s Preparing to unpack .../004-libipc-run-perl_20231003.0-2_all.deb ... 1386s Unpacking libipc-run-perl (20231003.0-2) ... 1386s Selecting previously unselected package postgresql-common-dev. 1386s Preparing to unpack .../005-postgresql-common-dev_274_all.deb ... 1386s Unpacking postgresql-common-dev (274) ... 1386s Selecting previously unselected package ssl-cert. 1386s Preparing to unpack .../006-ssl-cert_1.1.3ubuntu1_all.deb ... 1386s Unpacking ssl-cert (1.1.3ubuntu1) ... 1386s Selecting previously unselected package postgresql-common. 1386s Preparing to unpack .../007-postgresql-common_274_all.deb ... 1386s Adding 'diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common' 1386s Unpacking postgresql-common (274) ... 1386s Selecting previously unselected package ca-certificates-java. 1386s Preparing to unpack .../008-ca-certificates-java_20240118_all.deb ... 1386s Unpacking ca-certificates-java (20240118) ... 1386s Selecting previously unselected package java-common. 1386s Preparing to unpack .../009-java-common_0.76_all.deb ... 1386s Unpacking java-common (0.76) ... 1386s Selecting previously unselected package liblcms2-2:armhf. 1386s Preparing to unpack .../010-liblcms2-2_2.16-2_armhf.deb ... 1386s Unpacking liblcms2-2:armhf (2.16-2) ... 1386s Selecting previously unselected package libjpeg-turbo8:armhf. 1386s Preparing to unpack .../011-libjpeg-turbo8_2.1.5-3ubuntu2_armhf.deb ... 1386s Unpacking libjpeg-turbo8:armhf (2.1.5-3ubuntu2) ... 1386s Selecting previously unselected package libjpeg8:armhf. 1386s Preparing to unpack .../012-libjpeg8_8c-2ubuntu11_armhf.deb ... 1386s Unpacking libjpeg8:armhf (8c-2ubuntu11) ... 1386s Selecting previously unselected package libpcsclite1:armhf. 1386s Preparing to unpack .../013-libpcsclite1_2.3.1-1_armhf.deb ... 1386s Unpacking libpcsclite1:armhf (2.3.1-1) ... 1386s Selecting previously unselected package openjdk-21-jre-headless:armhf. 1386s Preparing to unpack .../014-openjdk-21-jre-headless_21.0.7~8ea-1_armhf.deb ... 1386s Unpacking openjdk-21-jre-headless:armhf (21.0.7~8ea-1) ... 1388s Selecting previously unselected package default-jre-headless. 1388s Preparing to unpack .../015-default-jre-headless_2%3a1.21-76_armhf.deb ... 1388s Unpacking default-jre-headless (2:1.21-76) ... 1388s Selecting previously unselected package libgdk-pixbuf2.0-common. 1388s Preparing to unpack .../016-libgdk-pixbuf2.0-common_2.42.12+dfsg-2_all.deb ... 1388s Unpacking libgdk-pixbuf2.0-common (2.42.12+dfsg-2) ... 1388s Selecting previously unselected package libdeflate0:armhf. 1388s Preparing to unpack .../017-libdeflate0_1.23-1_armhf.deb ... 1388s Unpacking libdeflate0:armhf (1.23-1) ... 1388s Selecting previously unselected package libjbig0:armhf. 1388s Preparing to unpack .../018-libjbig0_2.1-6.1ubuntu2_armhf.deb ... 1388s Unpacking libjbig0:armhf (2.1-6.1ubuntu2) ... 1388s Selecting previously unselected package liblerc4:armhf. 1388s Preparing to unpack .../019-liblerc4_4.0.0+ds-5ubuntu1_armhf.deb ... 1388s Unpacking liblerc4:armhf (4.0.0+ds-5ubuntu1) ... 1388s Selecting previously unselected package libsharpyuv0:armhf. 1388s Preparing to unpack .../020-libsharpyuv0_1.5.0-0.1_armhf.deb ... 1388s Unpacking libsharpyuv0:armhf (1.5.0-0.1) ... 1388s Selecting previously unselected package libwebp7:armhf. 1388s Preparing to unpack .../021-libwebp7_1.5.0-0.1_armhf.deb ... 1388s Unpacking libwebp7:armhf (1.5.0-0.1) ... 1388s Selecting previously unselected package libtiff6:armhf. 1388s Preparing to unpack .../022-libtiff6_4.5.1+git230720-4ubuntu4_armhf.deb ... 1388s Unpacking libtiff6:armhf (4.5.1+git230720-4ubuntu4) ... 1388s Selecting previously unselected package libgdk-pixbuf-2.0-0:armhf. 1388s Preparing to unpack .../023-libgdk-pixbuf-2.0-0_2.42.12+dfsg-2_armhf.deb ... 1388s Unpacking libgdk-pixbuf-2.0-0:armhf (2.42.12+dfsg-2) ... 1388s Selecting previously unselected package gtk-update-icon-cache. 1388s Preparing to unpack .../024-gtk-update-icon-cache_4.18.4+ds-1_armhf.deb ... 1389s No diversion 'diversion of /usr/sbin/update-icon-caches to /usr/sbin/update-icon-caches.gtk2 by libgtk-3-bin', none removed. 1389s 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. 1389s Unpacking gtk-update-icon-cache (4.18.4+ds-1) ... 1389s Selecting previously unselected package hicolor-icon-theme. 1389s Preparing to unpack .../025-hicolor-icon-theme_0.18-2_all.deb ... 1389s Unpacking hicolor-icon-theme (0.18-2) ... 1389s Selecting previously unselected package adwaita-icon-theme. 1389s Preparing to unpack .../026-adwaita-icon-theme_48.0-1_all.deb ... 1389s Unpacking adwaita-icon-theme (48.0-1) ... 1389s Selecting previously unselected package at-spi2-common. 1389s Preparing to unpack .../027-at-spi2-common_2.56.1-1_all.deb ... 1389s Unpacking at-spi2-common (2.56.1-1) ... 1389s Selecting previously unselected package libatk1.0-0t64:armhf. 1389s Preparing to unpack .../028-libatk1.0-0t64_2.56.1-1_armhf.deb ... 1389s Unpacking libatk1.0-0t64:armhf (2.56.1-1) ... 1389s Selecting previously unselected package libxi6:armhf. 1389s Preparing to unpack .../029-libxi6_2%3a1.8.2-1_armhf.deb ... 1389s Unpacking libxi6:armhf (2:1.8.2-1) ... 1389s Selecting previously unselected package libatspi2.0-0t64:armhf. 1389s Preparing to unpack .../030-libatspi2.0-0t64_2.56.1-1_armhf.deb ... 1389s Unpacking libatspi2.0-0t64:armhf (2.56.1-1) ... 1389s Selecting previously unselected package libatk-bridge2.0-0t64:armhf. 1389s Preparing to unpack .../031-libatk-bridge2.0-0t64_2.56.1-1_armhf.deb ... 1389s Unpacking libatk-bridge2.0-0t64:armhf (2.56.1-1) ... 1389s Selecting previously unselected package libfreetype6:armhf. 1389s Preparing to unpack .../032-libfreetype6_2.13.3+dfsg-1_armhf.deb ... 1389s Unpacking libfreetype6:armhf (2.13.3+dfsg-1) ... 1389s Selecting previously unselected package fonts-dejavu-mono. 1389s Preparing to unpack .../033-fonts-dejavu-mono_2.37-8_all.deb ... 1389s Unpacking fonts-dejavu-mono (2.37-8) ... 1389s Selecting previously unselected package fonts-dejavu-core. 1389s Preparing to unpack .../034-fonts-dejavu-core_2.37-8_all.deb ... 1389s Unpacking fonts-dejavu-core (2.37-8) ... 1389s Selecting previously unselected package fontconfig-config. 1389s Preparing to unpack .../035-fontconfig-config_2.15.0-2.2ubuntu1_armhf.deb ... 1390s Unpacking fontconfig-config (2.15.0-2.2ubuntu1) ... 1390s Selecting previously unselected package libfontconfig1:armhf. 1390s Preparing to unpack .../036-libfontconfig1_2.15.0-2.2ubuntu1_armhf.deb ... 1390s Unpacking libfontconfig1:armhf (2.15.0-2.2ubuntu1) ... 1390s Selecting previously unselected package libpixman-1-0:armhf. 1390s Preparing to unpack .../037-libpixman-1-0_0.44.0-3_armhf.deb ... 1390s Unpacking libpixman-1-0:armhf (0.44.0-3) ... 1390s Selecting previously unselected package libxcb-render0:armhf. 1390s Preparing to unpack .../038-libxcb-render0_1.17.0-2_armhf.deb ... 1390s Unpacking libxcb-render0:armhf (1.17.0-2) ... 1390s Selecting previously unselected package libxcb-shm0:armhf. 1390s Preparing to unpack .../039-libxcb-shm0_1.17.0-2_armhf.deb ... 1390s Unpacking libxcb-shm0:armhf (1.17.0-2) ... 1390s Selecting previously unselected package libxrender1:armhf. 1390s Preparing to unpack .../040-libxrender1_1%3a0.9.10-1.1build1_armhf.deb ... 1390s Unpacking libxrender1:armhf (1:0.9.10-1.1build1) ... 1390s Selecting previously unselected package libcairo2:armhf. 1390s Preparing to unpack .../041-libcairo2_1.18.4-1_armhf.deb ... 1390s Unpacking libcairo2:armhf (1.18.4-1) ... 1390s Selecting previously unselected package libcairo-gobject2:armhf. 1390s Preparing to unpack .../042-libcairo-gobject2_1.18.4-1_armhf.deb ... 1390s Unpacking libcairo-gobject2:armhf (1.18.4-1) ... 1390s Selecting previously unselected package libcolord2:armhf. 1390s Preparing to unpack .../043-libcolord2_1.4.7-3_armhf.deb ... 1390s Unpacking libcolord2:armhf (1.4.7-3) ... 1390s Selecting previously unselected package libavahi-common-data:armhf. 1390s Preparing to unpack .../044-libavahi-common-data_0.8-16ubuntu2_armhf.deb ... 1390s Unpacking libavahi-common-data:armhf (0.8-16ubuntu2) ... 1390s Selecting previously unselected package libavahi-common3:armhf. 1390s Preparing to unpack .../045-libavahi-common3_0.8-16ubuntu2_armhf.deb ... 1390s Unpacking libavahi-common3:armhf (0.8-16ubuntu2) ... 1390s Selecting previously unselected package libavahi-client3:armhf. 1390s Preparing to unpack .../046-libavahi-client3_0.8-16ubuntu2_armhf.deb ... 1390s Unpacking libavahi-client3:armhf (0.8-16ubuntu2) ... 1390s Selecting previously unselected package libcups2t64:armhf. 1390s Preparing to unpack .../047-libcups2t64_2.4.12-0ubuntu1_armhf.deb ... 1390s Unpacking libcups2t64:armhf (2.4.12-0ubuntu1) ... 1390s Selecting previously unselected package libepoxy0:armhf. 1390s Preparing to unpack .../048-libepoxy0_1.5.10-2_armhf.deb ... 1390s Unpacking libepoxy0:armhf (1.5.10-2) ... 1390s Selecting previously unselected package libgraphite2-3:armhf. 1390s Preparing to unpack .../049-libgraphite2-3_1.3.14-2ubuntu1_armhf.deb ... 1390s Unpacking libgraphite2-3:armhf (1.3.14-2ubuntu1) ... 1390s Selecting previously unselected package libharfbuzz0b:armhf. 1390s Preparing to unpack .../050-libharfbuzz0b_10.2.0-1_armhf.deb ... 1390s Unpacking libharfbuzz0b:armhf (10.2.0-1) ... 1390s Selecting previously unselected package fontconfig. 1390s Preparing to unpack .../051-fontconfig_2.15.0-2.2ubuntu1_armhf.deb ... 1390s Unpacking fontconfig (2.15.0-2.2ubuntu1) ... 1391s Selecting previously unselected package libthai-data. 1391s Preparing to unpack .../052-libthai-data_0.1.29-2build1_all.deb ... 1391s Unpacking libthai-data (0.1.29-2build1) ... 1391s Selecting previously unselected package libdatrie1:armhf. 1391s Preparing to unpack .../053-libdatrie1_0.2.13-3build1_armhf.deb ... 1391s Unpacking libdatrie1:armhf (0.2.13-3build1) ... 1391s Selecting previously unselected package libthai0:armhf. 1391s Preparing to unpack .../054-libthai0_0.1.29-2build1_armhf.deb ... 1391s Unpacking libthai0:armhf (0.1.29-2build1) ... 1391s Selecting previously unselected package libpango-1.0-0:armhf. 1391s Preparing to unpack .../055-libpango-1.0-0_1.56.3-1_armhf.deb ... 1391s Unpacking libpango-1.0-0:armhf (1.56.3-1) ... 1391s Selecting previously unselected package libpangoft2-1.0-0:armhf. 1391s Preparing to unpack .../056-libpangoft2-1.0-0_1.56.3-1_armhf.deb ... 1391s Unpacking libpangoft2-1.0-0:armhf (1.56.3-1) ... 1391s Selecting previously unselected package libpangocairo-1.0-0:armhf. 1391s Preparing to unpack .../057-libpangocairo-1.0-0_1.56.3-1_armhf.deb ... 1391s Unpacking libpangocairo-1.0-0:armhf (1.56.3-1) ... 1391s Selecting previously unselected package libwayland-client0:armhf. 1391s Preparing to unpack .../058-libwayland-client0_1.23.1-3_armhf.deb ... 1391s Unpacking libwayland-client0:armhf (1.23.1-3) ... 1391s Selecting previously unselected package libwayland-cursor0:armhf. 1391s Preparing to unpack .../059-libwayland-cursor0_1.23.1-3_armhf.deb ... 1391s Unpacking libwayland-cursor0:armhf (1.23.1-3) ... 1391s Selecting previously unselected package libwayland-egl1:armhf. 1391s Preparing to unpack .../060-libwayland-egl1_1.23.1-3_armhf.deb ... 1391s Unpacking libwayland-egl1:armhf (1.23.1-3) ... 1391s Selecting previously unselected package libxcomposite1:armhf. 1391s Preparing to unpack .../061-libxcomposite1_1%3a0.4.6-1_armhf.deb ... 1391s Unpacking libxcomposite1:armhf (1:0.4.6-1) ... 1391s Selecting previously unselected package libxfixes3:armhf. 1391s Preparing to unpack .../062-libxfixes3_1%3a6.0.0-2build1_armhf.deb ... 1391s Unpacking libxfixes3:armhf (1:6.0.0-2build1) ... 1391s Selecting previously unselected package libxcursor1:armhf. 1391s Preparing to unpack .../063-libxcursor1_1%3a1.2.3-1_armhf.deb ... 1391s Unpacking libxcursor1:armhf (1:1.2.3-1) ... 1391s Selecting previously unselected package libxdamage1:armhf. 1391s Preparing to unpack .../064-libxdamage1_1%3a1.1.6-1build1_armhf.deb ... 1391s Unpacking libxdamage1:armhf (1:1.1.6-1build1) ... 1391s Selecting previously unselected package libxinerama1:armhf. 1391s Preparing to unpack .../065-libxinerama1_2%3a1.1.4-3build1_armhf.deb ... 1391s Unpacking libxinerama1:armhf (2:1.1.4-3build1) ... 1391s Selecting previously unselected package libxrandr2:armhf. 1391s Preparing to unpack .../066-libxrandr2_2%3a1.5.4-1_armhf.deb ... 1391s Unpacking libxrandr2:armhf (2:1.5.4-1) ... 1391s Selecting previously unselected package libdconf1:armhf. 1391s Preparing to unpack .../067-libdconf1_0.40.0-5_armhf.deb ... 1391s Unpacking libdconf1:armhf (0.40.0-5) ... 1391s Selecting previously unselected package dconf-service. 1391s Preparing to unpack .../068-dconf-service_0.40.0-5_armhf.deb ... 1391s Unpacking dconf-service (0.40.0-5) ... 1391s Selecting previously unselected package dconf-gsettings-backend:armhf. 1391s Preparing to unpack .../069-dconf-gsettings-backend_0.40.0-5_armhf.deb ... 1391s Unpacking dconf-gsettings-backend:armhf (0.40.0-5) ... 1391s Selecting previously unselected package libgtk-3-common. 1391s Preparing to unpack .../070-libgtk-3-common_3.24.49-2ubuntu1_all.deb ... 1391s Unpacking libgtk-3-common (3.24.49-2ubuntu1) ... 1392s Selecting previously unselected package libgtk-3-0t64:armhf. 1392s Preparing to unpack .../071-libgtk-3-0t64_3.24.49-2ubuntu1_armhf.deb ... 1392s Unpacking libgtk-3-0t64:armhf (3.24.49-2ubuntu1) ... 1392s Selecting previously unselected package libglvnd0:armhf. 1392s Preparing to unpack .../072-libglvnd0_1.7.0-1build1_armhf.deb ... 1392s Unpacking libglvnd0:armhf (1.7.0-1build1) ... 1392s Selecting previously unselected package libx11-xcb1:armhf. 1392s Preparing to unpack .../073-libx11-xcb1_2%3a1.8.10-2_armhf.deb ... 1392s Unpacking libx11-xcb1:armhf (2:1.8.10-2) ... 1392s Selecting previously unselected package libxcb-dri3-0:armhf. 1392s Preparing to unpack .../074-libxcb-dri3-0_1.17.0-2_armhf.deb ... 1392s Unpacking libxcb-dri3-0:armhf (1.17.0-2) ... 1392s Selecting previously unselected package libxcb-glx0:armhf. 1392s Preparing to unpack .../075-libxcb-glx0_1.17.0-2_armhf.deb ... 1392s Unpacking libxcb-glx0:armhf (1.17.0-2) ... 1392s Selecting previously unselected package libxcb-present0:armhf. 1392s Preparing to unpack .../076-libxcb-present0_1.17.0-2_armhf.deb ... 1392s Unpacking libxcb-present0:armhf (1.17.0-2) ... 1392s Selecting previously unselected package libxcb-xfixes0:armhf. 1392s Preparing to unpack .../077-libxcb-xfixes0_1.17.0-2_armhf.deb ... 1392s Unpacking libxcb-xfixes0:armhf (1.17.0-2) ... 1392s Selecting previously unselected package libxxf86vm1:armhf. 1392s Preparing to unpack .../078-libxxf86vm1_1%3a1.1.4-1build4_armhf.deb ... 1392s Unpacking libxxf86vm1:armhf (1:1.1.4-1build4) ... 1392s Selecting previously unselected package libllvm19:armhf. 1392s Preparing to unpack .../079-libllvm19_1%3a19.1.7-3ubuntu1_armhf.deb ... 1392s Unpacking libllvm19:armhf (1:19.1.7-3ubuntu1) ... 1393s Selecting previously unselected package libxcb-randr0:armhf. 1393s Preparing to unpack .../080-libxcb-randr0_1.17.0-2_armhf.deb ... 1393s Unpacking libxcb-randr0:armhf (1.17.0-2) ... 1393s Selecting previously unselected package libxcb-sync1:armhf. 1393s Preparing to unpack .../081-libxcb-sync1_1.17.0-2_armhf.deb ... 1393s Unpacking libxcb-sync1:armhf (1.17.0-2) ... 1393s Selecting previously unselected package libxshmfence1:armhf. 1393s Preparing to unpack .../082-libxshmfence1_1.3-1build5_armhf.deb ... 1393s Unpacking libxshmfence1:armhf (1.3-1build5) ... 1393s Selecting previously unselected package mesa-libgallium:armhf. 1393s Preparing to unpack .../083-mesa-libgallium_25.0.3-1ubuntu2_armhf.deb ... 1393s Unpacking mesa-libgallium:armhf (25.0.3-1ubuntu2) ... 1394s Selecting previously unselected package libwayland-server0:armhf. 1394s Preparing to unpack .../084-libwayland-server0_1.23.1-3_armhf.deb ... 1394s Unpacking libwayland-server0:armhf (1.23.1-3) ... 1394s Selecting previously unselected package libgbm1:armhf. 1394s Preparing to unpack .../085-libgbm1_25.0.3-1ubuntu2_armhf.deb ... 1394s Unpacking libgbm1:armhf (25.0.3-1ubuntu2) ... 1394s Selecting previously unselected package libvulkan1:armhf. 1394s Preparing to unpack .../086-libvulkan1_1.4.304.0-1_armhf.deb ... 1394s Unpacking libvulkan1:armhf (1.4.304.0-1) ... 1394s Selecting previously unselected package libgl1-mesa-dri:armhf. 1394s Preparing to unpack .../087-libgl1-mesa-dri_25.0.3-1ubuntu2_armhf.deb ... 1394s Unpacking libgl1-mesa-dri:armhf (25.0.3-1ubuntu2) ... 1394s Selecting previously unselected package libglx-mesa0:armhf. 1394s Preparing to unpack .../088-libglx-mesa0_25.0.3-1ubuntu2_armhf.deb ... 1394s Unpacking libglx-mesa0:armhf (25.0.3-1ubuntu2) ... 1394s Selecting previously unselected package libglx0:armhf. 1394s Preparing to unpack .../089-libglx0_1.7.0-1build1_armhf.deb ... 1394s Unpacking libglx0:armhf (1.7.0-1build1) ... 1394s Selecting previously unselected package libgl1:armhf. 1394s Preparing to unpack .../090-libgl1_1.7.0-1build1_armhf.deb ... 1394s Unpacking libgl1:armhf (1.7.0-1build1) ... 1394s Selecting previously unselected package libasound2-data. 1394s Preparing to unpack .../091-libasound2-data_1.2.13-1build1_all.deb ... 1394s Unpacking libasound2-data (1.2.13-1build1) ... 1394s Selecting previously unselected package libasound2t64:armhf. 1394s Preparing to unpack .../092-libasound2t64_1.2.13-1build1_armhf.deb ... 1394s Unpacking libasound2t64:armhf (1.2.13-1build1) ... 1394s Selecting previously unselected package libgif7:armhf. 1394s Preparing to unpack .../093-libgif7_5.2.2-1ubuntu2_armhf.deb ... 1394s Unpacking libgif7:armhf (5.2.2-1ubuntu2) ... 1394s Selecting previously unselected package x11-common. 1394s Preparing to unpack .../094-x11-common_1%3a7.7+23ubuntu4_all.deb ... 1394s Unpacking x11-common (1:7.7+23ubuntu4) ... 1394s Selecting previously unselected package libxtst6:armhf. 1394s Preparing to unpack .../095-libxtst6_2%3a1.2.5-1_armhf.deb ... 1394s Unpacking libxtst6:armhf (2:1.2.5-1) ... 1394s Selecting previously unselected package openjdk-21-jre:armhf. 1394s Preparing to unpack .../096-openjdk-21-jre_21.0.7~8ea-1_armhf.deb ... 1394s Unpacking openjdk-21-jre:armhf (21.0.7~8ea-1) ... 1394s Selecting previously unselected package default-jre. 1394s Preparing to unpack .../097-default-jre_2%3a1.21-76_armhf.deb ... 1394s Unpacking default-jre (2:1.21-76) ... 1394s Selecting previously unselected package libhamcrest-java. 1394s Preparing to unpack .../098-libhamcrest-java_2.2-2_all.deb ... 1394s Unpacking libhamcrest-java (2.2-2) ... 1394s Selecting previously unselected package junit4. 1394s Preparing to unpack .../099-junit4_4.13.2-5_all.deb ... 1394s Unpacking junit4 (4.13.2-5) ... 1395s Selecting previously unselected package libcommons-cli-java. 1395s Preparing to unpack .../100-libcommons-cli-java_1.6.0-1_all.deb ... 1395s Unpacking libcommons-cli-java (1.6.0-1) ... 1395s Selecting previously unselected package libapache-pom-java. 1395s Preparing to unpack .../101-libapache-pom-java_33-2_all.deb ... 1395s Unpacking libapache-pom-java (33-2) ... 1395s Selecting previously unselected package libcommons-parent-java. 1395s Preparing to unpack .../102-libcommons-parent-java_56-1_all.deb ... 1395s Unpacking libcommons-parent-java (56-1) ... 1395s Selecting previously unselected package libcommons-io-java. 1395s Preparing to unpack .../103-libcommons-io-java_2.18.0-1_all.deb ... 1395s Unpacking libcommons-io-java (2.18.0-1) ... 1395s Selecting previously unselected package libdropwizard-metrics-java. 1395s Preparing to unpack .../104-libdropwizard-metrics-java_3.2.6-1_all.deb ... 1395s Unpacking libdropwizard-metrics-java (3.2.6-1) ... 1395s Selecting previously unselected package libfindbugs-annotations-java. 1395s Preparing to unpack .../105-libfindbugs-annotations-java_3.1.0~preview2-4_all.deb ... 1395s Unpacking libfindbugs-annotations-java (3.1.0~preview2-4) ... 1395s Selecting previously unselected package libatinject-jsr330-api-java. 1395s Preparing to unpack .../106-libatinject-jsr330-api-java_1.0+ds1-6_all.deb ... 1395s Unpacking libatinject-jsr330-api-java (1.0+ds1-6) ... 1395s Selecting previously unselected package liberror-prone-java. 1395s Preparing to unpack .../107-liberror-prone-java_2.18.0-1_all.deb ... 1395s Unpacking liberror-prone-java (2.18.0-1) ... 1395s Selecting previously unselected package libjsr305-java. 1395s Preparing to unpack .../108-libjsr305-java_0.1~+svn49-12_all.deb ... 1395s Unpacking libjsr305-java (0.1~+svn49-12) ... 1395s Selecting previously unselected package libguava-java. 1395s Preparing to unpack .../109-libguava-java_32.0.1-1_all.deb ... 1395s Unpacking libguava-java (32.0.1-1) ... 1395s Selecting previously unselected package libjackson2-annotations-java. 1395s Preparing to unpack .../110-libjackson2-annotations-java_2.14.0-1_all.deb ... 1395s Unpacking libjackson2-annotations-java (2.14.0-1) ... 1395s Selecting previously unselected package libjackson2-core-java. 1395s Preparing to unpack .../111-libjackson2-core-java_2.14.1-1_all.deb ... 1395s Unpacking libjackson2-core-java (2.14.1-1) ... 1395s Selecting previously unselected package libjackson2-databind-java. 1395s Preparing to unpack .../112-libjackson2-databind-java_2.14.0+ds-1_all.deb ... 1395s Unpacking libjackson2-databind-java (2.14.0+ds-1) ... 1395s Selecting previously unselected package libasm-java. 1395s Preparing to unpack .../113-libasm-java_9.7.1-1_all.deb ... 1395s Unpacking libasm-java (9.7.1-1) ... 1395s Selecting previously unselected package libel-api-java. 1395s Preparing to unpack .../114-libel-api-java_3.0.0-3_all.deb ... 1395s Unpacking libel-api-java (3.0.0-3) ... 1395s Selecting previously unselected package libjsp-api-java. 1395s Preparing to unpack .../115-libjsp-api-java_2.3.4-3_all.deb ... 1395s Unpacking libjsp-api-java (2.3.4-3) ... 1395s Selecting previously unselected package libservlet-api-java. 1395s Preparing to unpack .../116-libservlet-api-java_4.0.1-2_all.deb ... 1395s Unpacking libservlet-api-java (4.0.1-2) ... 1395s Selecting previously unselected package libwebsocket-api-java. 1395s Preparing to unpack .../117-libwebsocket-api-java_1.1-2_all.deb ... 1395s Unpacking libwebsocket-api-java (1.1-2) ... 1396s Selecting previously unselected package libjetty9-java. 1396s Preparing to unpack .../118-libjetty9-java_9.4.56-1_all.deb ... 1396s Unpacking libjetty9-java (9.4.56-1) ... 1396s Selecting previously unselected package libjnr-constants-java. 1396s Preparing to unpack .../119-libjnr-constants-java_0.10.4-2_all.deb ... 1396s Unpacking libjnr-constants-java (0.10.4-2) ... 1396s Selecting previously unselected package libjffi-jni:armhf. 1396s Preparing to unpack .../120-libjffi-jni_1.3.13+ds-1_armhf.deb ... 1396s Unpacking libjffi-jni:armhf (1.3.13+ds-1) ... 1396s Selecting previously unselected package libjffi-java. 1396s Preparing to unpack .../121-libjffi-java_1.3.13+ds-1_all.deb ... 1396s Unpacking libjffi-java (1.3.13+ds-1) ... 1396s Selecting previously unselected package libjnr-x86asm-java. 1396s Preparing to unpack .../122-libjnr-x86asm-java_1.0.2-6_all.deb ... 1396s Unpacking libjnr-x86asm-java (1.0.2-6) ... 1396s Selecting previously unselected package libjnr-ffi-java. 1396s Preparing to unpack .../123-libjnr-ffi-java_2.2.15-2_all.deb ... 1396s Unpacking libjnr-ffi-java (2.2.15-2) ... 1396s Selecting previously unselected package libjnr-enxio-java. 1396s Preparing to unpack .../124-libjnr-enxio-java_0.32.16-1_all.deb ... 1396s Unpacking libjnr-enxio-java (0.32.16-1) ... 1396s Selecting previously unselected package libjnr-posix-java. 1396s Preparing to unpack .../125-libjnr-posix-java_3.1.18-1_all.deb ... 1396s Unpacking libjnr-posix-java (3.1.18-1) ... 1396s Selecting previously unselected package libjnr-unixsocket-java. 1396s Preparing to unpack .../126-libjnr-unixsocket-java_0.38.21-2_all.deb ... 1396s Unpacking libjnr-unixsocket-java (0.38.21-2) ... 1396s Selecting previously unselected package libactivation-java. 1396s Preparing to unpack .../127-libactivation-java_1.2.0-2_all.deb ... 1396s Unpacking libactivation-java (1.2.0-2) ... 1396s Selecting previously unselected package libmail-java. 1396s Preparing to unpack .../128-libmail-java_1.6.5-3_all.deb ... 1396s Unpacking libmail-java (1.6.5-3) ... 1396s Selecting previously unselected package libcommons-logging-java. 1396s Preparing to unpack .../129-libcommons-logging-java_1.3.0-1ubuntu1_all.deb ... 1396s Unpacking libcommons-logging-java (1.3.0-1ubuntu1) ... 1396s Selecting previously unselected package libjaxb-api-java. 1396s Preparing to unpack .../130-libjaxb-api-java_2.3.1-1_all.deb ... 1396s Unpacking libjaxb-api-java (2.3.1-1) ... 1396s Selecting previously unselected package libspring-core-java. 1396s Preparing to unpack .../131-libspring-core-java_4.3.30-2ubuntu1_all.deb ... 1396s Unpacking libspring-core-java (4.3.30-2ubuntu1) ... 1396s Selecting previously unselected package libspring-beans-java. 1396s Preparing to unpack .../132-libspring-beans-java_4.3.30-2ubuntu1_all.deb ... 1396s Unpacking libspring-beans-java (4.3.30-2ubuntu1) ... 1396s Selecting previously unselected package libtaglibs-standard-spec-java. 1396s Preparing to unpack .../133-libtaglibs-standard-spec-java_1.2.5-3_all.deb ... 1396s Unpacking libtaglibs-standard-spec-java (1.2.5-3) ... 1396s Selecting previously unselected package libtaglibs-standard-impl-java. 1396s Preparing to unpack .../134-libtaglibs-standard-impl-java_1.2.5-3_all.deb ... 1396s Unpacking libtaglibs-standard-impl-java (1.2.5-3) ... 1397s Selecting previously unselected package libeclipse-jdt-core-compiler-batch-java. 1397s Preparing to unpack .../135-libeclipse-jdt-core-compiler-batch-java_3.35.0+eclipse4.29-2_all.deb ... 1397s Unpacking libeclipse-jdt-core-compiler-batch-java (3.35.0+eclipse4.29-2) ... 1397s Selecting previously unselected package libeclipse-jdt-core-java. 1397s Preparing to unpack .../136-libeclipse-jdt-core-java_3.35.0+eclipse4.29-2_all.deb ... 1397s Unpacking libeclipse-jdt-core-java (3.35.0+eclipse4.29-2) ... 1397s Selecting previously unselected package libtomcat9-java. 1397s Preparing to unpack .../137-libtomcat9-java_9.0.70-2ubuntu1.1_all.deb ... 1397s Unpacking libtomcat9-java (9.0.70-2ubuntu1.1) ... 1397s Selecting previously unselected package libjetty9-extra-java. 1397s Preparing to unpack .../138-libjetty9-extra-java_9.4.56-1_all.deb ... 1397s Unpacking libjetty9-extra-java (9.4.56-1) ... 1397s Selecting previously unselected package libjavaparser-java. 1397s Preparing to unpack .../139-libjavaparser-java_3.26.1-1_all.deb ... 1397s Unpacking libjavaparser-java (3.26.1-1) ... 1397s Selecting previously unselected package libjctools-java. 1397s Preparing to unpack .../140-libjctools-java_4.0.5+dfsg-1_all.deb ... 1397s Unpacking libjctools-java (4.0.5+dfsg-1) ... 1397s Selecting previously unselected package libnetty-java. 1397s Preparing to unpack .../141-libnetty-java_1%3a4.1.48-10_all.deb ... 1397s Unpacking libnetty-java (1:4.1.48-10) ... 1397s Selecting previously unselected package libslf4j-java. 1397s Preparing to unpack .../142-libslf4j-java_1.7.32-1_all.deb ... 1397s Unpacking libslf4j-java (1.7.32-1) ... 1397s Selecting previously unselected package libsnappy1v5:armhf. 1397s Preparing to unpack .../143-libsnappy1v5_1.2.1-1_armhf.deb ... 1397s Unpacking libsnappy1v5:armhf (1.2.1-1) ... 1397s Selecting previously unselected package libsnappy-jni. 1397s Preparing to unpack .../144-libsnappy-jni_1.1.10.7-1_armhf.deb ... 1397s Unpacking libsnappy-jni (1.1.10.7-1) ... 1397s Selecting previously unselected package libsnappy-java. 1397s Preparing to unpack .../145-libsnappy-java_1.1.10.7-1_all.deb ... 1397s Unpacking libsnappy-java (1.1.10.7-1) ... 1397s Selecting previously unselected package libapr1t64:armhf. 1397s Preparing to unpack .../146-libapr1t64_1.7.5-1_armhf.deb ... 1397s Unpacking libapr1t64:armhf (1.7.5-1) ... 1397s Selecting previously unselected package libnetty-tcnative-jni. 1397s Preparing to unpack .../147-libnetty-tcnative-jni_2.0.28-1build4_armhf.deb ... 1397s Unpacking libnetty-tcnative-jni (2.0.28-1build4) ... 1397s Selecting previously unselected package libnetty-tcnative-java. 1397s Preparing to unpack .../148-libnetty-tcnative-java_2.0.28-1build4_all.deb ... 1397s Unpacking libnetty-tcnative-java (2.0.28-1build4) ... 1397s Selecting previously unselected package liblog4j1.2-java. 1398s Preparing to unpack .../149-liblog4j1.2-java_1.2.17-11_all.deb ... 1398s Unpacking liblog4j1.2-java (1.2.17-11) ... 1398s Selecting previously unselected package libzookeeper-java. 1398s Preparing to unpack .../150-libzookeeper-java_3.9.3-1build1_all.deb ... 1398s Unpacking libzookeeper-java (3.9.3-1build1) ... 1398s Selecting previously unselected package zookeeper. 1398s Preparing to unpack .../151-zookeeper_3.9.3-1build1_all.deb ... 1398s Unpacking zookeeper (3.9.3-1build1) ... 1398s Selecting previously unselected package zookeeperd. 1398s Preparing to unpack .../152-zookeeperd_3.9.3-1build1_all.deb ... 1398s Unpacking zookeeperd (3.9.3-1build1) ... 1398s Selecting previously unselected package fonts-font-awesome. 1398s Preparing to unpack .../153-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 1398s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 1398s Selecting previously unselected package libcares2:armhf. 1398s Preparing to unpack .../154-libcares2_1.34.4-2.1_armhf.deb ... 1398s Unpacking libcares2:armhf (1.34.4-2.1) ... 1398s Selecting previously unselected package libev4t64:armhf. 1398s Preparing to unpack .../155-libev4t64_1%3a4.33-2.1build1_armhf.deb ... 1398s Unpacking libev4t64:armhf (1:4.33-2.1build1) ... 1398s Selecting previously unselected package libjs-jquery. 1398s Preparing to unpack .../156-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 1398s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 1398s Selecting previously unselected package libjs-underscore. 1398s Preparing to unpack .../157-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 1398s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 1398s Selecting previously unselected package libjs-sphinxdoc. 1398s Preparing to unpack .../158-libjs-sphinxdoc_8.1.3-5_all.deb ... 1398s Unpacking libjs-sphinxdoc (8.1.3-5) ... 1398s Selecting previously unselected package libllvm20:armhf. 1398s Preparing to unpack .../159-libllvm20_1%3a20.1.2-0ubuntu1_armhf.deb ... 1398s Unpacking libllvm20:armhf (1:20.1.2-0ubuntu1) ... 1399s Selecting previously unselected package libpq5:armhf. 1399s Preparing to unpack .../160-libpq5_17.4-1_armhf.deb ... 1399s Unpacking libpq5:armhf (17.4-1) ... 1400s Selecting previously unselected package libtime-duration-perl. 1400s Preparing to unpack .../161-libtime-duration-perl_1.21-2_all.deb ... 1400s Unpacking libtime-duration-perl (1.21-2) ... 1400s Selecting previously unselected package libtimedate-perl. 1400s Preparing to unpack .../162-libtimedate-perl_2.3300-2_all.deb ... 1400s Unpacking libtimedate-perl (2.3300-2) ... 1400s Selecting previously unselected package libxslt1.1:armhf. 1400s Preparing to unpack .../163-libxslt1.1_1.1.39-0exp1ubuntu4_armhf.deb ... 1400s Unpacking libxslt1.1:armhf (1.1.39-0exp1ubuntu4) ... 1400s Selecting previously unselected package moreutils. 1400s Preparing to unpack .../164-moreutils_0.69-1_armhf.deb ... 1400s Unpacking moreutils (0.69-1) ... 1400s Selecting previously unselected package python3-click. 1400s Preparing to unpack .../165-python3-click_8.2.0+0.really.8.1.8-1_all.deb ... 1400s Unpacking python3-click (8.2.0+0.really.8.1.8-1) ... 1400s Selecting previously unselected package python3-wcwidth. 1400s Preparing to unpack .../166-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 1400s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 1400s Selecting previously unselected package python3-prettytable. 1400s Preparing to unpack .../167-python3-prettytable_3.12.0-1_all.deb ... 1400s Unpacking python3-prettytable (3.12.0-1) ... 1400s Selecting previously unselected package python3-psutil. 1400s Preparing to unpack .../168-python3-psutil_5.9.8-2build3_armhf.deb ... 1400s Unpacking python3-psutil (5.9.8-2build3) ... 1400s Selecting previously unselected package python3-ydiff. 1400s Preparing to unpack .../169-python3-ydiff_1.4.2-1_all.deb ... 1400s Unpacking python3-ydiff (1.4.2-1) ... 1400s Selecting previously unselected package python3-psycopg2. 1400s Preparing to unpack .../170-python3-psycopg2_2.9.10-1build1_armhf.deb ... 1400s Unpacking python3-psycopg2 (2.9.10-1build1) ... 1400s Selecting previously unselected package python3-greenlet. 1400s Preparing to unpack .../171-python3-greenlet_3.1.0-1build1_armhf.deb ... 1400s Unpacking python3-greenlet (3.1.0-1build1) ... 1400s Selecting previously unselected package python3-dnspython. 1400s Preparing to unpack .../172-python3-dnspython_2.7.0-1ubuntu1_all.deb ... 1400s Unpacking python3-dnspython (2.7.0-1ubuntu1) ... 1400s Selecting previously unselected package python3-eventlet. 1400s Preparing to unpack .../173-python3-eventlet_0.39.0-0ubuntu1_all.deb ... 1400s Unpacking python3-eventlet (0.39.0-0ubuntu1) ... 1400s Selecting previously unselected package python3-zope.event. 1400s Preparing to unpack .../174-python3-zope.event_5.0-0.1_all.deb ... 1400s Unpacking python3-zope.event (5.0-0.1) ... 1400s Selecting previously unselected package python3-zope.interface. 1400s Preparing to unpack .../175-python3-zope.interface_7.2-1build1_armhf.deb ... 1400s Unpacking python3-zope.interface (7.2-1build1) ... 1400s Selecting previously unselected package python3-gevent. 1400s Preparing to unpack .../176-python3-gevent_24.11.1-1build1_armhf.deb ... 1400s Unpacking python3-gevent (24.11.1-1build1) ... 1401s Selecting previously unselected package python3-kerberos. 1401s Preparing to unpack .../177-python3-kerberos_1.1.14-3.1build11_armhf.deb ... 1401s Unpacking python3-kerberos (1.1.14-3.1build11) ... 1401s Selecting previously unselected package python3-pure-sasl. 1401s Preparing to unpack .../178-python3-pure-sasl_0.5.1+dfsg1-5_all.deb ... 1401s Unpacking python3-pure-sasl (0.5.1+dfsg1-5) ... 1401s Selecting previously unselected package python3-kazoo. 1401s Preparing to unpack .../179-python3-kazoo_2.9.0-2_all.deb ... 1401s Unpacking python3-kazoo (2.9.0-2) ... 1401s Selecting previously unselected package patroni. 1401s Preparing to unpack .../180-patroni_4.0.4-8_all.deb ... 1401s Unpacking patroni (4.0.4-8) ... 1401s Selecting previously unselected package sphinx-rtd-theme-common. 1401s Preparing to unpack .../181-sphinx-rtd-theme-common_3.0.2+dfsg-2_all.deb ... 1401s Unpacking sphinx-rtd-theme-common (3.0.2+dfsg-2) ... 1401s Selecting previously unselected package patroni-doc. 1401s Preparing to unpack .../182-patroni-doc_4.0.4-8_all.deb ... 1401s Unpacking patroni-doc (4.0.4-8) ... 1401s Selecting previously unselected package postgresql-client-17. 1401s Preparing to unpack .../183-postgresql-client-17_17.4-1_armhf.deb ... 1401s Unpacking postgresql-client-17 (17.4-1) ... 1401s Selecting previously unselected package postgresql-17. 1401s Preparing to unpack .../184-postgresql-17_17.4-1_armhf.deb ... 1401s Unpacking postgresql-17 (17.4-1) ... 1402s Selecting previously unselected package postgresql. 1402s Preparing to unpack .../185-postgresql_17+274_all.deb ... 1402s Unpacking postgresql (17+274) ... 1402s Selecting previously unselected package python3-parse. 1402s Preparing to unpack .../186-python3-parse_1.20.2-1_all.deb ... 1402s Unpacking python3-parse (1.20.2-1) ... 1402s Selecting previously unselected package python3-parse-type. 1402s Preparing to unpack .../187-python3-parse-type_0.6.4-2_all.deb ... 1402s Unpacking python3-parse-type (0.6.4-2) ... 1402s Selecting previously unselected package python3-behave. 1402s Preparing to unpack .../188-python3-behave_1.2.6-6_all.deb ... 1402s Unpacking python3-behave (1.2.6-6) ... 1402s Selecting previously unselected package python3-coverage. 1402s Preparing to unpack .../189-python3-coverage_7.6.0+dfsg1-2build1_armhf.deb ... 1402s Unpacking python3-coverage (7.6.0+dfsg1-2build1) ... 1402s Setting up postgresql-client-common (274) ... 1402s Setting up libgraphite2-3:armhf (1.3.14-2ubuntu1) ... 1402s Setting up libxcb-dri3-0:armhf (1.17.0-2) ... 1402s Setting up liblcms2-2:armhf (2.16-2) ... 1402s Setting up libtaglibs-standard-spec-java (1.2.5-3) ... 1402s Setting up libpixman-1-0:armhf (0.44.0-3) ... 1402s Setting up libev4t64:armhf (1:4.33-2.1build1) ... 1402s Setting up libjackson2-annotations-java (2.14.0-1) ... 1402s Setting up libllvm19:armhf (1:19.1.7-3ubuntu1) ... 1402s Setting up libsharpyuv0:armhf (1.5.0-0.1) ... 1402s Setting up libwayland-server0:armhf (1.23.1-3) ... 1402s Setting up libx11-xcb1:armhf (2:1.8.10-2) ... 1402s Setting up libslf4j-java (1.7.32-1) ... 1402s Setting up fonts-lato (2.015-1) ... 1402s Setting up libeclipse-jdt-core-compiler-batch-java (3.35.0+eclipse4.29-2) ... 1402s Setting up libxdamage1:armhf (1:1.1.6-1build1) ... 1402s Setting up libxcb-xfixes0:armhf (1.17.0-2) ... 1402s Setting up libjavaparser-java (3.26.1-1) ... 1402s Setting up liblerc4:armhf (4.0.0+ds-5ubuntu1) ... 1402s Setting up libjsr305-java (0.1~+svn49-12) ... 1402s Setting up hicolor-icon-theme (0.18-2) ... 1402s Setting up libxi6:armhf (2:1.8.2-1) ... 1402s Setting up java-common (0.76) ... 1402s Setting up libxrender1:armhf (1:0.9.10-1.1build1) ... 1402s Setting up libdatrie1:armhf (0.2.13-3build1) ... 1402s Setting up libcommons-cli-java (1.6.0-1) ... 1402s Setting up libio-pty-perl (1:1.20-1build3) ... 1402s Setting up libxcb-render0:armhf (1.17.0-2) ... 1402s Setting up python3-zope.event (5.0-0.1) ... 1402s Setting up python3-zope.interface (7.2-1build1) ... 1403s Setting up libglvnd0:armhf (1.7.0-1build1) ... 1403s Setting up libxcb-glx0:armhf (1.17.0-2) ... 1403s Setting up libgdk-pixbuf2.0-common (2.42.12+dfsg-2) ... 1403s Setting up python3-ydiff (1.4.2-1) ... 1403s Setting up libasm-java (9.7.1-1) ... 1403s Setting up x11-common (1:7.7+23ubuntu4) ... 1404s Setting up libpq5:armhf (17.4-1) ... 1404s Setting up libdeflate0:armhf (1.23-1) ... 1404s Setting up python3-kerberos (1.1.14-3.1build11) ... 1404s Setting up liblog4j1.2-java (1.2.17-11) ... 1404s Setting up libel-api-java (3.0.0-3) ... 1404s Setting up python3-coverage (7.6.0+dfsg1-2build1) ... 1404s Setting up libxcb-shm0:armhf (1.17.0-2) ... 1404s Setting up python3-click (8.2.0+0.really.8.1.8-1) ... 1404s Setting up libjnr-x86asm-java (1.0.2-6) ... 1404s Setting up libjbig0:armhf (2.1-6.1ubuntu2) ... 1404s Setting up libcolord2:armhf (1.4.7-3) ... 1404s Setting up python3-psutil (5.9.8-2build3) ... 1405s Setting up libeclipse-jdt-core-java (3.35.0+eclipse4.29-2) ... 1405s Setting up libxxf86vm1:armhf (1:1.1.4-1build4) ... 1405s Setting up libsnappy1v5:armhf (1.2.1-1) ... 1405s Setting up libxcb-present0:armhf (1.17.0-2) ... 1405s Setting up libtaglibs-standard-impl-java (1.2.5-3) ... 1405s Setting up libdconf1:armhf (0.40.0-5) ... 1405s Setting up libjctools-java (4.0.5+dfsg-1) ... 1405s Setting up libdropwizard-metrics-java (3.2.6-1) ... 1405s Setting up libasound2-data (1.2.13-1build1) ... 1405s Setting up libasound2t64:armhf (1.2.13-1build1) ... 1405s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 1405s Setting up libfreetype6:armhf (2.13.3+dfsg-1) ... 1405s Setting up libfindbugs-annotations-java (3.1.0~preview2-4) ... 1405s Setting up libepoxy0:armhf (1.5.10-2) ... 1405s Setting up ssl-cert (1.1.3ubuntu1) ... 1406s Created symlink '/etc/systemd/system/multi-user.target.wants/ssl-cert.service' → '/usr/lib/systemd/system/ssl-cert.service'. 1406s Setting up libxfixes3:armhf (1:6.0.0-2build1) ... 1406s Setting up libxcb-sync1:armhf (1.17.0-2) ... 1406s Setting up libapache-pom-java (33-2) ... 1406s Setting up libavahi-common-data:armhf (0.8-16ubuntu2) ... 1406s Setting up libatinject-jsr330-api-java (1.0+ds1-6) ... 1406s Setting up libatspi2.0-0t64:armhf (2.56.1-1) ... 1406s Setting up libwebsocket-api-java (1.1-2) ... 1406s Setting up python3-greenlet (3.1.0-1build1) ... 1406s Setting up libxinerama1:armhf (2:1.1.4-3build1) ... 1406s Setting up fonts-dejavu-mono (2.37-8) ... 1406s Setting up libcares2:armhf (1.34.4-2.1) ... 1406s Setting up libxrandr2:armhf (2:1.5.4-1) ... 1406s Setting up libllvm20:armhf (1:20.1.2-0ubuntu1) ... 1406s Setting up python3-psycopg2 (2.9.10-1build1) ... 1407s Setting up fonts-dejavu-core (2.37-8) ... 1407s Setting up libipc-run-perl (20231003.0-2) ... 1407s Setting up libpcsclite1:armhf (2.3.1-1) ... 1407s Setting up libjpeg-turbo8:armhf (2.1.5-3ubuntu2) ... 1407s Setting up libactivation-java (1.2.0-2) ... 1407s Setting up libtomcat9-java (9.0.70-2ubuntu1.1) ... 1407s Setting up libhamcrest-java (2.2-2) ... 1407s Setting up libjsp-api-java (2.3.4-3) ... 1407s Setting up libvulkan1:armhf (1.4.304.0-1) ... 1407s Setting up libtime-duration-perl (1.21-2) ... 1407s Setting up libwebp7:armhf (1.5.0-0.1) ... 1407s Setting up libtimedate-perl (2.3300-2) ... 1407s Setting up libgif7:armhf (5.2.2-1ubuntu2) ... 1407s Setting up libxshmfence1:armhf (1.3-1build5) ... 1407s Setting up libmail-java (1.6.5-3) ... 1407s Setting up at-spi2-common (2.56.1-1) ... 1407s Setting up python3-dnspython (2.7.0-1ubuntu1) ... 1407s Setting up libnetty-java (1:4.1.48-10) ... 1407s Setting up libxcb-randr0:armhf (1.17.0-2) ... 1407s Setting up python3-parse (1.20.2-1) ... 1407s Setting up libapr1t64:armhf (1.7.5-1) ... 1407s Setting up libjson-perl (4.10000-1) ... 1407s Setting up libxslt1.1:armhf (1.1.39-0exp1ubuntu4) ... 1407s Setting up libservlet-api-java (4.0.1-2) ... 1407s Setting up libjackson2-core-java (2.14.1-1) ... 1407s Setting up libharfbuzz0b:armhf (10.2.0-1) ... 1407s Setting up libthai-data (0.1.29-2build1) ... 1407s Setting up libjffi-jni:armhf (1.3.13+ds-1) ... 1407s Setting up libwayland-egl1:armhf (1.23.1-3) ... 1407s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 1407s Setting up ca-certificates-java (20240118) ... 1407s No JRE found. Skipping Java certificates setup. 1407s Setting up python3-prettytable (3.12.0-1) ... 1408s Setting up libsnappy-jni (1.1.10.7-1) ... 1408s Setting up libxcomposite1:armhf (1:0.4.6-1) ... 1408s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 1408s Setting up sphinx-rtd-theme-common (3.0.2+dfsg-2) ... 1408s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 1408s Setting up postgresql-common-dev (274) ... 1408s Setting up libjnr-constants-java (0.10.4-2) ... 1408s Setting up libwayland-client0:armhf (1.23.1-3) ... 1408s Setting up libjpeg8:armhf (8c-2ubuntu11) ... 1408s Setting up libjaxb-api-java (2.3.1-1) ... 1408s Setting up libjffi-java (1.3.13+ds-1) ... 1408s Setting up mesa-libgallium:armhf (25.0.3-1ubuntu2) ... 1408s Setting up libjetty9-java (9.4.56-1) ... 1408s Setting up moreutils (0.69-1) ... 1408s Setting up libatk1.0-0t64:armhf (2.56.1-1) ... 1408s Setting up openjdk-21-jre-headless:armhf (21.0.7~8ea-1) ... 1408s update-alternatives: using /usr/lib/jvm/java-21-openjdk-armhf/bin/java to provide /usr/bin/java (java) in auto mode 1408s update-alternatives: using /usr/lib/jvm/java-21-openjdk-armhf/bin/jpackage to provide /usr/bin/jpackage (jpackage) in auto mode 1408s update-alternatives: using /usr/lib/jvm/java-21-openjdk-armhf/bin/keytool to provide /usr/bin/keytool (keytool) in auto mode 1408s update-alternatives: using /usr/lib/jvm/java-21-openjdk-armhf/bin/rmiregistry to provide /usr/bin/rmiregistry (rmiregistry) in auto mode 1408s update-alternatives: using /usr/lib/jvm/java-21-openjdk-armhf/lib/jexec to provide /usr/bin/jexec (jexec) in auto mode 1408s Setting up python3-pure-sasl (0.5.1+dfsg1-5) ... 1408s Setting up libgbm1:armhf (25.0.3-1ubuntu2) ... 1408s Setting up postgresql-client-17 (17.4-1) ... 1409s 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 1409s Setting up fontconfig-config (2.15.0-2.2ubuntu1) ... 1409s Setting up libxtst6:armhf (2:1.2.5-1) ... 1409s Setting up libxcursor1:armhf (1:1.2.3-1) ... 1409s Setting up libgl1-mesa-dri:armhf (25.0.3-1ubuntu2) ... 1409s Setting up libcommons-parent-java (56-1) ... 1409s Setting up libavahi-common3:armhf (0.8-16ubuntu2) ... 1409s Setting up libcommons-logging-java (1.3.0-1ubuntu1) ... 1409s Setting up dconf-service (0.40.0-5) ... 1409s Setting up python3-gevent (24.11.1-1build1) ... 1410s Setting up libjackson2-databind-java (2.14.0+ds-1) ... 1410s Setting up libthai0:armhf (0.1.29-2build1) ... 1410s Setting up python3-parse-type (0.6.4-2) ... 1410s Setting up python3-eventlet (0.39.0-0ubuntu1) ... 1411s Setting up libnetty-tcnative-jni (2.0.28-1build4) ... 1411s Setting up python3-kazoo (2.9.0-2) ... 1411s Setting up postgresql-common (274) ... 1412s Creating config file /etc/postgresql-common/createcluster.conf with new version 1412s Building PostgreSQL dictionaries from installed myspell/hunspell packages... 1412s Removing obsolete dictionary files: 1413s Created symlink '/etc/systemd/system/multi-user.target.wants/postgresql.service' → '/usr/lib/systemd/system/postgresql.service'. 1413s Setting up libjs-sphinxdoc (8.1.3-5) ... 1413s Setting up libtiff6:armhf (4.5.1+git230720-4ubuntu4) ... 1413s Setting up libwayland-cursor0:armhf (1.23.1-3) ... 1413s Setting up libgdk-pixbuf-2.0-0:armhf (2.42.12+dfsg-2) ... 1413s Setting up python3-behave (1.2.6-6) ... 1413s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 1413s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 1413s /usr/lib/python3/dist-packages/behave/matchers.py:284: SyntaxWarning: invalid escape sequence '\d' 1413s @parse.with_pattern(r"\d+") 1414s Setting up libsnappy-java (1.1.10.7-1) ... 1414s Setting up libfontconfig1:armhf (2.15.0-2.2ubuntu1) ... 1414s Setting up patroni (4.0.4-8) ... 1414s Created symlink '/etc/systemd/system/multi-user.target.wants/patroni.service' → '/usr/lib/systemd/system/patroni.service'. 1415s Setting up libavahi-client3:armhf (0.8-16ubuntu2) ... 1415s Setting up libjnr-ffi-java (2.2.15-2) ... 1415s Setting up libatk-bridge2.0-0t64:armhf (2.56.1-1) ... 1415s Setting up gtk-update-icon-cache (4.18.4+ds-1) ... 1415s Setting up fontconfig (2.15.0-2.2ubuntu1) ... 1417s Regenerating fonts cache... done. 1417s Setting up postgresql-17 (17.4-1) ... 1418s Creating new PostgreSQL cluster 17/main ... 1418s /usr/lib/postgresql/17/bin/initdb -D /var/lib/postgresql/17/main --auth-local peer --auth-host scram-sha-256 --no-instructions 1418s The files belonging to this database system will be owned by user "postgres". 1418s This user must also own the server process. 1418s 1418s The database cluster will be initialized with locale "C.UTF-8". 1418s The default database encoding has accordingly been set to "UTF8". 1418s The default text search configuration will be set to "english". 1418s 1418s Data page checksums are disabled. 1418s 1418s fixing permissions on existing directory /var/lib/postgresql/17/main ... ok 1418s creating subdirectories ... ok 1418s selecting dynamic shared memory implementation ... posix 1418s selecting default "max_connections" ... 100 1418s selecting default "shared_buffers" ... 128MB 1418s selecting default time zone ... Etc/UTC 1418s creating configuration files ... ok 1418s running bootstrap script ... ok 1419s performing post-bootstrap initialization ... ok 1419s syncing data to disk ... ok 1422s Setting up libglx-mesa0:armhf (25.0.3-1ubuntu2) ... 1422s Setting up libglx0:armhf (1.7.0-1build1) ... 1422s Setting up libspring-core-java (4.3.30-2ubuntu1) ... 1422s Setting up dconf-gsettings-backend:armhf (0.40.0-5) ... 1422s Setting up libcommons-io-java (2.18.0-1) ... 1422s Setting up patroni-doc (4.0.4-8) ... 1422s Setting up libpango-1.0-0:armhf (1.56.3-1) ... 1422s Setting up libcairo2:armhf (1.18.4-1) ... 1422s Setting up libjnr-enxio-java (0.32.16-1) ... 1422s Setting up libgl1:armhf (1.7.0-1build1) ... 1422s Setting up adwaita-icon-theme (48.0-1) ... 1422s update-alternatives: using /usr/share/icons/Adwaita/cursor.theme to provide /usr/share/icons/default/index.theme (x-cursor-theme) in auto mode 1422s Setting up libcairo-gobject2:armhf (1.18.4-1) ... 1422s Setting up postgresql (17+274) ... 1422s Setting up libpangoft2-1.0-0:armhf (1.56.3-1) ... 1422s Setting up libcups2t64:armhf (2.4.12-0ubuntu1) ... 1422s Setting up libgtk-3-common (3.24.49-2ubuntu1) ... 1422s Setting up libjnr-posix-java (3.1.18-1) ... 1422s Setting up libpangocairo-1.0-0:armhf (1.56.3-1) ... 1422s Setting up libspring-beans-java (4.3.30-2ubuntu1) ... 1422s Setting up libjnr-unixsocket-java (0.38.21-2) ... 1422s Setting up libjetty9-extra-java (9.4.56-1) ... 1422s Setting up libguava-java (32.0.1-1) ... 1422s Setting up liberror-prone-java (2.18.0-1) ... 1422s Processing triggers for libc-bin (2.41-6ubuntu1) ... 1423s Processing triggers for man-db (2.13.0-1) ... 1424s Processing triggers for libglib2.0-0t64:armhf (2.84.1-1) ... 1424s Setting up libgtk-3-0t64:armhf (3.24.49-2ubuntu1) ... 1424s Processing triggers for ca-certificates-java (20240118) ... 1425s Adding debian:ACCVRAIZ1.pem 1425s Adding debian:AC_RAIZ_FNMT-RCM.pem 1425s Adding debian:AC_RAIZ_FNMT-RCM_SERVIDORES_SEGUROS.pem 1425s Adding debian:ANF_Secure_Server_Root_CA.pem 1425s Adding debian:Actalis_Authentication_Root_CA.pem 1425s Adding debian:AffirmTrust_Commercial.pem 1425s Adding debian:AffirmTrust_Networking.pem 1425s Adding debian:AffirmTrust_Premium.pem 1425s Adding debian:AffirmTrust_Premium_ECC.pem 1425s Adding debian:Amazon_Root_CA_1.pem 1425s Adding debian:Amazon_Root_CA_2.pem 1425s Adding debian:Amazon_Root_CA_3.pem 1425s Adding debian:Amazon_Root_CA_4.pem 1425s Adding debian:Atos_TrustedRoot_2011.pem 1425s Adding debian:Atos_TrustedRoot_Root_CA_ECC_TLS_2021.pem 1425s Adding debian:Atos_TrustedRoot_Root_CA_RSA_TLS_2021.pem 1425s Adding debian:Autoridad_de_Certificacion_Firmaprofesional_CIF_A62634068.pem 1425s Adding debian:BJCA_Global_Root_CA1.pem 1425s Adding debian:BJCA_Global_Root_CA2.pem 1425s Adding debian:Baltimore_CyberTrust_Root.pem 1425s Adding debian:Buypass_Class_2_Root_CA.pem 1425s Adding debian:Buypass_Class_3_Root_CA.pem 1425s Adding debian:CA_Disig_Root_R2.pem 1425s Adding debian:CFCA_EV_ROOT.pem 1425s Adding debian:COMODO_Certification_Authority.pem 1425s Adding debian:COMODO_ECC_Certification_Authority.pem 1425s Adding debian:COMODO_RSA_Certification_Authority.pem 1425s Adding debian:Certainly_Root_E1.pem 1425s Adding debian:Certainly_Root_R1.pem 1425s Adding debian:Certigna.pem 1425s Adding debian:Certigna_Root_CA.pem 1425s Adding debian:Certum_EC-384_CA.pem 1425s Adding debian:Certum_Trusted_Network_CA.pem 1425s Adding debian:Certum_Trusted_Network_CA_2.pem 1425s Adding debian:Certum_Trusted_Root_CA.pem 1425s Adding debian:CommScope_Public_Trust_ECC_Root-01.pem 1425s Adding debian:CommScope_Public_Trust_ECC_Root-02.pem 1425s Adding debian:CommScope_Public_Trust_RSA_Root-01.pem 1425s Adding debian:CommScope_Public_Trust_RSA_Root-02.pem 1425s Adding debian:Comodo_AAA_Services_root.pem 1425s Adding debian:D-TRUST_BR_Root_CA_1_2020.pem 1425s Adding debian:D-TRUST_EV_Root_CA_1_2020.pem 1425s Adding debian:D-TRUST_Root_Class_3_CA_2_2009.pem 1425s Adding debian:D-TRUST_Root_Class_3_CA_2_EV_2009.pem 1425s Adding debian:DigiCert_Assured_ID_Root_CA.pem 1425s Adding debian:DigiCert_Assured_ID_Root_G2.pem 1425s Adding debian:DigiCert_Assured_ID_Root_G3.pem 1425s Adding debian:DigiCert_Global_Root_CA.pem 1425s Adding debian:DigiCert_Global_Root_G2.pem 1425s Adding debian:DigiCert_Global_Root_G3.pem 1425s Adding debian:DigiCert_High_Assurance_EV_Root_CA.pem 1425s Adding debian:DigiCert_TLS_ECC_P384_Root_G5.pem 1425s Adding debian:DigiCert_TLS_RSA4096_Root_G5.pem 1425s Adding debian:DigiCert_Trusted_Root_G4.pem 1425s Adding debian:Entrust.net_Premium_2048_Secure_Server_CA.pem 1425s Adding debian:Entrust_Root_Certification_Authority.pem 1425s Adding debian:Entrust_Root_Certification_Authority_-_EC1.pem 1425s Adding debian:Entrust_Root_Certification_Authority_-_G2.pem 1425s Adding debian:Entrust_Root_Certification_Authority_-_G4.pem 1425s Adding debian:FIRMAPROFESIONAL_CA_ROOT-A_WEB.pem 1425s Adding debian:GDCA_TrustAUTH_R5_ROOT.pem 1425s Adding debian:GLOBALTRUST_2020.pem 1425s Adding debian:GTS_Root_R1.pem 1425s Adding debian:GTS_Root_R2.pem 1425s Adding debian:GTS_Root_R3.pem 1425s Adding debian:GTS_Root_R4.pem 1425s Adding debian:GlobalSign_ECC_Root_CA_-_R4.pem 1425s Adding debian:GlobalSign_ECC_Root_CA_-_R5.pem 1425s Adding debian:GlobalSign_Root_CA.pem 1425s Adding debian:GlobalSign_Root_CA_-_R3.pem 1425s Adding debian:GlobalSign_Root_CA_-_R6.pem 1425s Adding debian:GlobalSign_Root_E46.pem 1425s Adding debian:GlobalSign_Root_R46.pem 1425s Adding debian:Go_Daddy_Class_2_CA.pem 1425s Adding debian:Go_Daddy_Root_Certificate_Authority_-_G2.pem 1425s Adding debian:HARICA_TLS_ECC_Root_CA_2021.pem 1425s Adding debian:HARICA_TLS_RSA_Root_CA_2021.pem 1425s Adding debian:Hellenic_Academic_and_Research_Institutions_ECC_RootCA_2015.pem 1425s Adding debian:Hellenic_Academic_and_Research_Institutions_RootCA_2015.pem 1425s Adding debian:HiPKI_Root_CA_-_G1.pem 1425s Adding debian:Hongkong_Post_Root_CA_3.pem 1425s Adding debian:ISRG_Root_X1.pem 1425s Adding debian:ISRG_Root_X2.pem 1425s Adding debian:IdenTrust_Commercial_Root_CA_1.pem 1425s Adding debian:IdenTrust_Public_Sector_Root_CA_1.pem 1425s Adding debian:Izenpe.com.pem 1425s Adding debian:Microsec_e-Szigno_Root_CA_2009.pem 1425s Adding debian:Microsoft_ECC_Root_Certificate_Authority_2017.pem 1425s Adding debian:Microsoft_RSA_Root_Certificate_Authority_2017.pem 1425s Adding debian:NAVER_Global_Root_Certification_Authority.pem 1425s Adding debian:NetLock_Arany_=Class_Gold=_Főtanúsítvány.pem 1425s Adding debian:OISTE_WISeKey_Global_Root_GB_CA.pem 1425s Adding debian:OISTE_WISeKey_Global_Root_GC_CA.pem 1425s Adding debian:QuoVadis_Root_CA_1_G3.pem 1425s Adding debian:QuoVadis_Root_CA_2.pem 1425s Adding debian:QuoVadis_Root_CA_2_G3.pem 1425s Adding debian:QuoVadis_Root_CA_3.pem 1425s Adding debian:QuoVadis_Root_CA_3_G3.pem 1425s Adding debian:SSL.com_EV_Root_Certification_Authority_ECC.pem 1425s Adding debian:SSL.com_EV_Root_Certification_Authority_RSA_R2.pem 1425s Adding debian:SSL.com_Root_Certification_Authority_ECC.pem 1425s Adding debian:SSL.com_Root_Certification_Authority_RSA.pem 1425s Adding debian:SSL.com_TLS_ECC_Root_CA_2022.pem 1425s Adding debian:SSL.com_TLS_RSA_Root_CA_2022.pem 1425s Adding debian:SZAFIR_ROOT_CA2.pem 1425s Adding debian:Sectigo_Public_Server_Authentication_Root_E46.pem 1425s Adding debian:Sectigo_Public_Server_Authentication_Root_R46.pem 1425s Adding debian:SecureSign_RootCA11.pem 1425s Adding debian:SecureSign_Root_CA12.pem 1425s Adding debian:SecureSign_Root_CA14.pem 1425s Adding debian:SecureSign_Root_CA15.pem 1425s Adding debian:SecureTrust_CA.pem 1425s Adding debian:Secure_Global_CA.pem 1425s Adding debian:Security_Communication_ECC_RootCA1.pem 1425s Adding debian:Security_Communication_RootCA2.pem 1425s Adding debian:Security_Communication_RootCA3.pem 1425s Adding debian:Starfield_Class_2_CA.pem 1425s Adding debian:Starfield_Root_Certificate_Authority_-_G2.pem 1425s Adding debian:Starfield_Services_Root_Certificate_Authority_-_G2.pem 1425s Adding debian:SwissSign_Gold_CA_-_G2.pem 1425s Adding debian:SwissSign_Silver_CA_-_G2.pem 1425s Adding debian:T-TeleSec_GlobalRoot_Class_2.pem 1425s Adding debian:T-TeleSec_GlobalRoot_Class_3.pem 1425s Adding debian:TUBITAK_Kamu_SM_SSL_Kok_Sertifikasi_-_Surum_1.pem 1425s Adding debian:TWCA_CYBER_Root_CA.pem 1425s Adding debian:TWCA_Global_Root_CA.pem 1425s Adding debian:TWCA_Root_Certification_Authority.pem 1425s Adding debian:Telekom_Security_TLS_ECC_Root_2020.pem 1425s Adding debian:Telekom_Security_TLS_RSA_Root_2023.pem 1425s Adding debian:TeliaSonera_Root_CA_v1.pem 1425s Adding debian:Telia_Root_CA_v2.pem 1425s Adding debian:TrustAsia_Global_Root_CA_G3.pem 1425s Adding debian:TrustAsia_Global_Root_CA_G4.pem 1425s Adding debian:Trustwave_Global_Certification_Authority.pem 1425s Adding debian:Trustwave_Global_ECC_P256_Certification_Authority.pem 1425s Adding debian:Trustwave_Global_ECC_P384_Certification_Authority.pem 1425s Adding debian:TunTrust_Root_CA.pem 1425s Adding debian:UCA_Extended_Validation_Root.pem 1425s Adding debian:UCA_Global_G2_Root.pem 1425s Adding debian:USERTrust_ECC_Certification_Authority.pem 1425s Adding debian:USERTrust_RSA_Certification_Authority.pem 1425s Adding debian:XRamp_Global_CA_Root.pem 1425s Adding debian:certSIGN_ROOT_CA.pem 1425s Adding debian:certSIGN_Root_CA_G2.pem 1425s Adding debian:e-Szigno_Root_CA_2017.pem 1425s Adding debian:ePKI_Root_Certification_Authority.pem 1425s Adding debian:emSign_ECC_Root_CA_-_C3.pem 1425s Adding debian:emSign_ECC_Root_CA_-_G3.pem 1425s Adding debian:emSign_Root_CA_-_C1.pem 1425s Adding debian:emSign_Root_CA_-_G1.pem 1425s Adding debian:vTrus_ECC_Root_CA.pem 1425s Adding debian:vTrus_Root_CA.pem 1425s done. 1425s Setting up default-jre-headless (2:1.21-76) ... 1425s Setting up openjdk-21-jre:armhf (21.0.7~8ea-1) ... 1425s Setting up junit4 (4.13.2-5) ... 1425s Setting up default-jre (2:1.21-76) ... 1425s Setting up libnetty-tcnative-java (2.0.28-1build4) ... 1425s Setting up libzookeeper-java (3.9.3-1build1) ... 1425s Setting up zookeeper (3.9.3-1build1) ... 1426s warn: The home directory `/var/lib/zookeeper' already exists. Not touching this directory. 1426s warn: Warning: The home directory `/var/lib/zookeeper' does not belong to the user you are currently creating. 1426s update-alternatives: using /etc/zookeeper/conf_example to provide /etc/zookeeper/conf (zookeeper-conf) in auto mode 1426s Setting up zookeeperd (3.9.3-1build1) ... 1426s Processing triggers for libc-bin (2.41-6ubuntu1) ... 1441s autopkgtest [09:51:05]: test acceptance-zookeeper: debian/tests/acceptance zookeeper "-e dcs_failsafe_mode" 1441s autopkgtest [09:51:05]: test acceptance-zookeeper: [----------------------- 1448s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 1448s ++ ls -1r /usr/lib/postgresql/ 1448s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 1448s + '[' 17 == 10 -o 17 == 11 ']' 1448s + echo '### PostgreSQL 17 acceptance-zookeeper -e dcs_failsafe_mode ###' 1448s + 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' 1448s ### PostgreSQL 17 acceptance-zookeeper -e dcs_failsafe_mode ### 1449s Apr 14 09:51:13 Feature: basic replication # features/basic_replication.feature:1 1449s Apr 14 09:51:13 We should check that the basic bootstrapping, replication and failover works. 1449s Apr 14 09:51:13 Scenario: check replication of a single table # features/basic_replication.feature:4 1449s Apr 14 09:51:13 Given I start postgres-0 # features/steps/basic_replication.py:20 1454s Apr 14 09:51:18 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 1454s Apr 14 09:51:18 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1454s Apr 14 09:51:18 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 1454s Apr 14 09:51:18 Then I receive a response code 200 # features/steps/patroni_api.py:100 1454s Apr 14 09:51:18 When I start postgres-1 # features/steps/basic_replication.py:20 1459s Apr 14 09:51:23 And I configure and start postgres-2 with a tag replicatefrom postgres-0 # features/steps/cascading_replication.py:7 1464s Apr 14 09:51:28 And "sync" key in DCS has leader=postgres-0 after 20 seconds # features/steps/cascading_replication.py:23 1464s Apr 14 09:51:28 And I add the table foo to postgres-0 # features/steps/basic_replication.py:66 1464s Apr 14 09:51:28 Then table foo is present on postgres-1 after 20 seconds # features/steps/basic_replication.py:105 1465s Apr 14 09:51:29 Then table foo is present on postgres-2 after 20 seconds # features/steps/basic_replication.py:105 1465s Apr 14 09:51:29 1465s Apr 14 09:51:29 Scenario: check restart of sync replica # features/basic_replication.feature:17 1465s Apr 14 09:51:29 Given I shut down postgres-2 # features/steps/basic_replication.py:41 1466s Apr 14 09:51:30 Then "sync" key in DCS has sync_standby=postgres-1 after 5 seconds # features/steps/cascading_replication.py:23 1466s Apr 14 09:51:30 When I start postgres-2 # features/steps/basic_replication.py:20 1469s Apr 14 09:51:33 And I shut down postgres-1 # features/steps/basic_replication.py:41 1472s Apr 14 09:51:36 Then "sync" key in DCS has sync_standby=postgres-2 after 10 seconds # features/steps/cascading_replication.py:23 1473s Apr 14 09:51:37 When I start postgres-1 # features/steps/basic_replication.py:20 1476s Apr 14 09:51:40 Then "members/postgres-1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1477s Apr 14 09:51:41 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:144 1477s Apr 14 09:51:41 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:144 1478s Apr 14 09:51:41 1478s Apr 14 09:51:41 Scenario: check stuck sync replica # features/basic_replication.feature:28 1478s Apr 14 09:51:41 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"pause": true, "maximum_lag_on_syncnode": 15000000, "postgresql": {"parameters": {"synchronous_commit": "remote_apply"}}} # features/steps/patroni_api.py:73 1478s Apr 14 09:51:42 Then I receive a response code 200 # features/steps/patroni_api.py:100 1478s Apr 14 09:51:42 And I create table on postgres-0 # features/steps/basic_replication.py:85 1478s Apr 14 09:51:42 And table mytest is present on postgres-1 after 2 seconds # features/steps/basic_replication.py:105 1479s Apr 14 09:51:43 And table mytest is present on postgres-2 after 2 seconds # features/steps/basic_replication.py:105 1479s Apr 14 09:51:43 When I pause wal replay on postgres-2 # features/steps/basic_replication.py:76 1479s Apr 14 09:51:43 And I load data on postgres-0 # features/steps/basic_replication.py:96 1479s Apr 14 09:51:43 Then "sync" key in DCS has sync_standby=postgres-1 after 15 seconds # features/steps/cascading_replication.py:23 1482s Apr 14 09:51:46 And I resume wal replay on postgres-2 # features/steps/basic_replication.py:76 1482s Apr 14 09:51:46 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:144 1483s Apr 14 09:51:47 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:144 1483s Apr 14 09:51:47 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 1484s Apr 14 09:51:47 Then I receive a response code 200 # features/steps/patroni_api.py:100 1484s Apr 14 09:51:47 And I drop table on postgres-0 # features/steps/basic_replication.py:85 1484s Apr 14 09:51:47 1484s Apr 14 09:51:47 Scenario: check multi sync replication # features/basic_replication.feature:44 1484s Apr 14 09:51:47 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 1484s Apr 14 09:51:48 Then I receive a response code 200 # features/steps/patroni_api.py:100 1484s Apr 14 09:51:48 Then "sync" key in DCS has sync_standby=postgres-1,postgres-2 after 10 seconds # features/steps/cascading_replication.py:23 1488s Apr 14 09:51:52 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:144 1489s Apr 14 09:51:53 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:144 1489s Apr 14 09:51:53 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 1489s Apr 14 09:51:53 Then I receive a response code 200 # features/steps/patroni_api.py:100 1489s Apr 14 09:51:53 And I shut down postgres-1 # features/steps/basic_replication.py:41 1492s Apr 14 09:51:56 Then "sync" key in DCS has sync_standby=postgres-2 after 10 seconds # features/steps/cascading_replication.py:23 1493s Apr 14 09:51:57 When I start postgres-1 # features/steps/basic_replication.py:20 1497s Apr 14 09:52:01 Then "members/postgres-1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1498s Apr 14 09:52:02 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:144 1498s Apr 14 09:52:02 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:144 1498s Apr 14 09:52:02 1498s Apr 14 09:52:02 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 1498s Apr 14 09:52:02 Given I run patronictl.py pause batman # features/steps/patroni_api.py:88 1500s Apr 14 09:52:03 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 1500s Apr 14 09:52:03 When I sleep for 2 seconds # features/steps/patroni_api.py:41 1502s Apr 14 09:52:05 And I shut down postgres-0 # features/steps/basic_replication.py:41 1503s Apr 14 09:52:06 And I run patronictl.py resume batman # features/steps/patroni_api.py:88 1504s Apr 14 09:52:08 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 1504s Apr 14 09:52:08 And postgres-2 role is the primary after 24 seconds # features/steps/basic_replication.py:117 1524s Apr 14 09:52:28 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:158 1524s Apr 14 09:52:28 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 1524s Apr 14 09:52:28 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 1524s Apr 14 09:52:28 Then I receive a response code 200 # features/steps/patroni_api.py:100 1524s Apr 14 09:52:28 When I add the table bar to postgres-2 # features/steps/basic_replication.py:66 1524s Apr 14 09:52:28 Then table bar is present on postgres-1 after 20 seconds # features/steps/basic_replication.py:105 1524s Apr 14 09:52:28 And Response on GET http://127.0.0.1:8010/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:158 1524s Apr 14 09:52:28 1524s Apr 14 09:52:28 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 1524s Apr 14 09:52:28 Given I add the table splitbrain to postgres-0 # features/steps/basic_replication.py:66 1524s Apr 14 09:52:28 And I start postgres-0 # features/steps/basic_replication.py:20 1524s Apr 14 09:52:28 Then postgres-0 role is the secondary after 20 seconds # features/steps/basic_replication.py:117 1528s Apr 14 09:52:32 When I add the table buz to postgres-2 # features/steps/basic_replication.py:66 1528s Apr 14 09:52:32 Then table buz is present on postgres-0 after 20 seconds # features/steps/basic_replication.py:105 1532s Apr 14 09:52:36 1532s Apr 14 09:52:36 @reject-duplicate-name 1532s Apr 14 09:52:36 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 1532s Apr 14 09:52:36 Given I start duplicate postgres-0 on port 8011 # features/steps/basic_replication.py:25 1534s Apr 14 09:52:38 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 1539s Apr 14 09:52:43 1539s Apr 14 09:52:43 Feature: cascading replication # features/cascading_replication.feature:1 1539s Apr 14 09:52:43 We should check that patroni can do base backup and streaming from the replica 1539s Apr 14 09:52:43 Scenario: check a base backup and streaming replication from a replica # features/cascading_replication.feature:4 1539s Apr 14 09:52:43 Given I start postgres-0 # features/steps/basic_replication.py:20 1544s Apr 14 09:52:48 And postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 1544s Apr 14 09:52:48 And I configure and start postgres-1 with a tag clonefrom true # features/steps/cascading_replication.py:7 1549s Apr 14 09:52:53 And replication works from postgres-0 to postgres-1 after 20 seconds # features/steps/basic_replication.py:124 1549s Apr 14 09:52:53 And I create label with "postgres-0" in postgres-0 data directory # features/steps/cascading_replication.py:18 1549s Apr 14 09:52:53 And I create label with "postgres-1" in postgres-1 data directory # features/steps/cascading_replication.py:18 1549s Apr 14 09:52:53 And "members/postgres-1" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 1550s Apr 14 09:52:54 And I configure and start postgres-2 with a tag replicatefrom postgres-1 # features/steps/cascading_replication.py:7 1555s Apr 14 09:52:59 Then replication works from postgres-0 to postgres-2 after 30 seconds # features/steps/basic_replication.py:124 1556s Apr 14 09:53:00 And there is a label with "postgres-1" in postgres-2 data directory # features/steps/cascading_replication.py:12 1561s Apr 14 09:53:05 1561s Apr 14 09:53:05 Feature: citus # features/citus.feature:1 1561s SKIP FEATURE citus: Citus extension isn't available 1561s SKIP Scenario check that worker cluster is registered in the coordinator: Citus extension isn't available 1561s SKIP Scenario coordinator failover updates pg_dist_node: Citus extension isn't available 1561s SKIP Scenario worker switchover doesn't break client queries on the coordinator: Citus extension isn't available 1561s SKIP Scenario worker primary restart doesn't break client queries on the coordinator: Citus extension isn't available 1561s 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 1561s Apr 14 09:53:05 We should check that coordinator discovers and registers workers and clients don't have errors when worker cluster switches over 1561s Apr 14 09:53:05 Scenario: check that worker cluster is registered in the coordinator # features/citus.feature:4 1561s Apr 14 09:53:05 Given I start postgres-0 in citus group 0 # None 1561s Apr 14 09:53:05 And I start postgres-2 in citus group 1 # None 1561s Apr 14 09:53:05 Then postgres-0 is a leader in a group 0 after 10 seconds # None 1561s Apr 14 09:53:05 And postgres-2 is a leader in a group 1 after 10 seconds # None 1561s Apr 14 09:53:05 When I start postgres-1 in citus group 0 # None 1561s Apr 14 09:53:05 And I start postgres-3 in citus group 1 # None 1561s Apr 14 09:53:05 Then replication works from postgres-0 to postgres-1 after 15 seconds # None 1561s Apr 14 09:53:05 Then replication works from postgres-2 to postgres-3 after 15 seconds # None 1561s Apr 14 09:53:05 And postgres-0 is registered in the postgres-0 as the primary in group 0 after 5 seconds # None 1561s Apr 14 09:53:05 And postgres-1 is registered in the postgres-0 as the secondary in group 0 after 5 seconds # None 1561s Apr 14 09:53:05 And postgres-2 is registered in the postgres-0 as the primary in group 1 after 5 seconds # None 1561s Apr 14 09:53:05 And postgres-3 is registered in the postgres-0 as the secondary in group 1 after 5 seconds # None 1561s Apr 14 09:53:05 1561s Apr 14 09:53:05 Scenario: coordinator failover updates pg_dist_node # features/citus.feature:18 1561s Apr 14 09:53:05 Given I run patronictl.py failover batman --group 0 --candidate postgres-1 --force # None 1561s Apr 14 09:53:05 Then postgres-1 role is the primary after 10 seconds # None 1561s Apr 14 09:53:05 And "members/postgres-0" key in a group 0 in DCS has state=running after 15 seconds # None 1561s Apr 14 09:53:05 And replication works from postgres-1 to postgres-0 after 15 seconds # None 1561s Apr 14 09:53:05 And postgres-1 is registered in the postgres-2 as the primary in group 0 after 5 seconds # None 1561s Apr 14 09:53:05 And postgres-0 is registered in the postgres-2 as the secondary in group 0 after 15 seconds # None 1561s Apr 14 09:53:05 And "sync" key in a group 0 in DCS has sync_standby=postgres-0 after 15 seconds # None 1561s Apr 14 09:53:05 When I run patronictl.py switchover batman --group 0 --candidate postgres-0 --force # None 1561s Apr 14 09:53:05 Then postgres-0 role is the primary after 10 seconds # None 1561s Apr 14 09:53:05 And replication works from postgres-0 to postgres-1 after 15 seconds # None 1561s Apr 14 09:53:05 And postgres-0 is registered in the postgres-2 as the primary in group 0 after 5 seconds # None 1561s Apr 14 09:53:05 And postgres-1 is registered in the postgres-2 as the secondary in group 0 after 15 seconds # None 1561s Apr 14 09:53:05 And "sync" key in a group 0 in DCS has sync_standby=postgres-1 after 15 seconds # None 1561s Apr 14 09:53:05 1561s Apr 14 09:53:05 Scenario: worker switchover doesn't break client queries on the coordinator # features/citus.feature:33 1561s Apr 14 09:53:05 Given I create a distributed table on postgres-0 # None 1561s Apr 14 09:53:05 And I start a thread inserting data on postgres-0 # None 1561s Apr 14 09:53:05 When I run patronictl.py switchover batman --group 1 --force # None 1561s Apr 14 09:53:05 Then I receive a response returncode 0 # None 1561s Apr 14 09:53:05 And postgres-3 role is the primary after 10 seconds # None 1561s Apr 14 09:53:05 And "members/postgres-2" key in a group 1 in DCS has state=running after 15 seconds # None 1561s Apr 14 09:53:05 And replication works from postgres-3 to postgres-2 after 15 seconds # None 1561s Apr 14 09:53:05 And postgres-3 is registered in the postgres-0 as the primary in group 1 after 5 seconds # None 1561s Apr 14 09:53:05 And postgres-2 is registered in the postgres-0 as the secondary in group 1 after 15 seconds # None 1561s Apr 14 09:53:05 And "sync" key in a group 1 in DCS has sync_standby=postgres-2 after 15 seconds # None 1561s Apr 14 09:53:05 And a thread is still alive # None 1561s Apr 14 09:53:05 When I run patronictl.py switchover batman --group 1 --force # None 1561s Apr 14 09:53:05 Then I receive a response returncode 0 # None 1561s Apr 14 09:53:05 And postgres-2 role is the primary after 10 seconds # None 1561s Apr 14 09:53:05 And replication works from postgres-2 to postgres-3 after 15 seconds # None 1561s Apr 14 09:53:05 And postgres-2 is registered in the postgres-0 as the primary in group 1 after 5 seconds # None 1561s Apr 14 09:53:05 And postgres-3 is registered in the postgres-0 as the secondary in group 1 after 15 seconds # None 1561s Apr 14 09:53:05 And "sync" key in a group 1 in DCS has sync_standby=postgres-3 after 15 seconds # None 1561s Apr 14 09:53:05 And a thread is still alive # None 1561s Apr 14 09:53:05 When I stop a thread # None 1561s Apr 14 09:53:05 Then a distributed table on postgres-0 has expected rows # None 1561s Apr 14 09:53:05 1562s Apr 14 09:53:05 Scenario: worker primary restart doesn't break client queries on the coordinator # features/citus.feature:56 1562s Apr 14 09:53:05 Given I cleanup a distributed table on postgres-0 # None 1562s Apr 14 09:53:05 And I start a thread inserting data on postgres-0 # None 1562s Apr 14 09:53:05 When I run patronictl.py restart batman postgres-2 --group 1 --force # None 1562s Apr 14 09:53:05 Then I receive a response returncode 0 # None 1562s Apr 14 09:53:05 And postgres-2 role is the primary after 10 seconds # None 1562s Apr 14 09:53:05 And replication works from postgres-2 to postgres-3 after 15 seconds # None 1562s Apr 14 09:53:05 And postgres-2 is registered in the postgres-0 as the primary in group 1 after 5 seconds # None 1562s Apr 14 09:53:05 And postgres-3 is registered in the postgres-0 as the secondary in group 1 after 15 seconds # None 1562s Apr 14 09:53:05 And a thread is still alive # None 1562s Apr 14 09:53:05 When I stop a thread # None 1562s Apr 14 09:53:05 Then a distributed table on postgres-0 has expected rows # None 1562s Apr 14 09:53:05 1562s Apr 14 09:53:05 Scenario: check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node # features/citus.feature:69 1562s Apr 14 09:53:05 Given I start postgres-4 in citus group 2 # None 1562s Apr 14 09:53:05 Then postgres-4 is a leader in a group 2 after 10 seconds # None 1562s Apr 14 09:53:05 And "members/postgres-4" key in a group 2 in DCS has role=primary after 3 seconds # None 1562s Apr 14 09:53:05 When I run patronictl.py edit-config batman --group 2 -s ttl=20 --force # None 1562s Apr 14 09:53:05 Then I receive a response returncode 0 # None 1562s Apr 14 09:53:05 And I receive a response output "+ttl: 20" # None 1562s Apr 14 09:53:05 Then postgres-4 is registered in the postgres-2 as the primary in group 2 after 5 seconds # None 1562s Apr 14 09:53:05 When I shut down postgres-4 # None 1562s Apr 14 09:53:05 Then there is a transaction in progress on postgres-0 changing pg_dist_node after 5 seconds # None 1562s Apr 14 09:53:05 When I run patronictl.py restart batman postgres-2 --group 1 --force # None 1562s Apr 14 09:53:05 Then a transaction finishes in 20 seconds # None 1562s Apr 14 09:53:05 1562s Apr 14 09:53:05 Feature: custom bootstrap # features/custom_bootstrap.feature:1 1562s Apr 14 09:53:05 We should check that patroni can bootstrap a new cluster from a backup 1562s Apr 14 09:53:05 Scenario: clone existing cluster using pg_basebackup # features/custom_bootstrap.feature:4 1562s Apr 14 09:53:05 Given I start postgres-0 # features/steps/basic_replication.py:20 1567s Apr 14 09:53:10 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 1567s Apr 14 09:53:10 When I add the table foo to postgres-0 # features/steps/basic_replication.py:66 1567s Apr 14 09:53:10 And I start postgres-1 in a cluster batman1 as a clone of postgres-0 # features/steps/custom_bootstrap.py:6 1572s Apr 14 09:53:16 Then postgres-1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 1573s Apr 14 09:53:17 Then table foo is present on postgres-1 after 10 seconds # features/steps/basic_replication.py:105 1573s Apr 14 09:53:17 1573s Apr 14 09:53:17 Scenario: make a backup and do a restore into a new cluster # features/custom_bootstrap.feature:12 1573s Apr 14 09:53:17 Given I add the table bar to postgres-1 # features/steps/basic_replication.py:66 1573s Apr 14 09:53:17 And I do a backup of postgres-1 # features/steps/custom_bootstrap.py:25 1575s Apr 14 09:53:18 When I start postgres-2 in a cluster batman2 from backup # features/steps/custom_bootstrap.py:11 1583s Apr 14 09:53:27 Then postgres-2 is a leader of batman2 after 30 seconds # features/steps/custom_bootstrap.py:16 1583s Apr 14 09:53:27 And table bar is present on postgres-2 after 10 seconds # features/steps/basic_replication.py:105 1589s Apr 14 09:53:33 1589s Apr 14 09:53:33 Feature: ignored slots # features/ignored_slots.feature:1 1589s Apr 14 09:53:33 1589s Apr 14 09:53:33 Scenario: check ignored slots aren't removed on failover/switchover # features/ignored_slots.feature:2 1589s Apr 14 09:53:33 Given I start postgres-1 # features/steps/basic_replication.py:20 1594s Apr 14 09:53:38 Then postgres-1 is a leader after 10 seconds # features/steps/patroni_api.py:31 1594s Apr 14 09:53:38 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1594s Apr 14 09:53: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 1594s Apr 14 09:53:38 Then I receive a response code 200 # features/steps/patroni_api.py:100 1594s Apr 14 09:53:38 And Response on GET http://127.0.0.1:8009/config contains ignore_slots after 10 seconds # features/steps/patroni_api.py:158 1594s Apr 14 09:53:38 When I shut down postgres-1 # features/steps/basic_replication.py:41 1596s Apr 14 09:53:40 And I start postgres-1 # features/steps/basic_replication.py:20 1599s Apr 14 09:53:43 Then postgres-1 is a leader after 10 seconds # features/steps/patroni_api.py:31 1599s Apr 14 09:53:43 And "members/postgres-1" key in DCS has role=primary after 10 seconds # features/steps/cascading_replication.py:23 1603s Apr 14 09:53:47 And postgres-1 role is the primary after 20 seconds # features/steps/basic_replication.py:117 1603s Apr 14 09:53:47 When I create a logical replication slot unmanaged_slot_0 on postgres-1 with the test_decoding plugin # features/steps/slots.py:9 1603s Apr 14 09:53:47 And I create a logical replication slot unmanaged_slot_1 on postgres-1 with the test_decoding plugin # features/steps/slots.py:9 1603s Apr 14 09:53:47 And I create a logical replication slot unmanaged_slot_2 on postgres-1 with the test_decoding plugin # features/steps/slots.py:9 1603s Apr 14 09:53:47 And I create a logical replication slot unmanaged_slot_3 on postgres-1 with the test_decoding plugin # features/steps/slots.py:9 1603s Apr 14 09:53:47 And I create a logical replication slot dummy_slot on postgres-1 with the test_decoding plugin # features/steps/slots.py:9 1603s Apr 14 09:53:47 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 1603s Apr 14 09:53:47 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 1603s Apr 14 09:53:47 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 1603s Apr 14 09:53:47 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 1603s Apr 14 09:53:47 When I start postgres-0 # features/steps/basic_replication.py:20 1608s Apr 14 09:53:52 Then "members/postgres-0" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 1608s Apr 14 09:53:52 And postgres-0 role is the secondary after 20 seconds # features/steps/basic_replication.py:117 1608s Apr 14 09:53:52 And replication works from postgres-1 to postgres-0 after 20 seconds # features/steps/basic_replication.py:124 1610s Apr 14 09:53:54 When I shut down postgres-1 # features/steps/basic_replication.py:41 1612s Apr 14 09:53:56 Then "members/postgres-0" key in DCS has role=primary after 10 seconds # features/steps/cascading_replication.py:23 1613s Apr 14 09:53:57 When I start postgres-1 # features/steps/basic_replication.py:20 1616s Apr 14 09:54:00 Then postgres-1 role is the secondary after 20 seconds # features/steps/basic_replication.py:117 1616s Apr 14 09:54:00 And "members/postgres-1" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 1617s Apr 14 09:54:01 And I sleep for 2 seconds # features/steps/patroni_api.py:41 1619s Apr 14 09:54:03 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 1619s Apr 14 09:54:03 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 1619s Apr 14 09:54:03 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 1619s Apr 14 09:54:03 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 1619s Apr 14 09:54:03 And postgres-1 does not have a replication slot named dummy_slot # features/steps/slots.py:41 1619s Apr 14 09:54:03 When I shut down postgres-0 # features/steps/basic_replication.py:41 1621s Apr 14 09:54:05 Then "members/postgres-1" key in DCS has role=primary after 10 seconds # features/steps/cascading_replication.py:23 1622s Apr 14 09:54:06 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 1622s Apr 14 09:54: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 1622s Apr 14 09:54: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 1622s Apr 14 09:54: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 1624s Apr 14 09:54:08 1624s Apr 14 09:54:08 Feature: nostream node # features/nostream_node.feature:1 1624s Apr 14 09:54:08 1624s Apr 14 09:54:08 Scenario: check nostream node is recovering from archive # features/nostream_node.feature:3 1624s Apr 14 09:54:08 When I start postgres-0 # features/steps/basic_replication.py:20 1629s Apr 14 09:54:13 And I configure and start postgres-1 with a tag nostream true # features/steps/cascading_replication.py:7 1634s Apr 14 09:54:18 Then "members/postgres-1" key in DCS has replication_state=in archive recovery after 10 seconds # features/steps/cascading_replication.py:23 1635s Apr 14 09:54:19 And replication works from postgres-0 to postgres-1 after 30 seconds # features/steps/basic_replication.py:124 1640s Apr 14 09:54:24 1640s Apr 14 09:54:24 @slot-advance 1640s Apr 14 09:54:24 Scenario: check permanent logical replication slots are not copied # features/nostream_node.feature:10 1640s Apr 14 09:54:24 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 1640s Apr 14 09:54:24 Then I receive a response code 200 # features/steps/patroni_api.py:100 1640s Apr 14 09:54:24 When I run patronictl.py restart batman postgres-0 --force # features/steps/patroni_api.py:88 1642s Apr 14 09:54:26 Then postgres-0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:20 1643s Apr 14 09:54:27 When I configure and start postgres-2 with a tag replicatefrom postgres-1 # features/steps/cascading_replication.py:7 1648s Apr 14 09:54:32 Then "members/postgres-2" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 1649s Apr 14 09:54:33 And postgres-1 does not have a replication slot named test_logical # features/steps/slots.py:41 1649s Apr 14 09:54:33 And postgres-2 does not have a replication slot named test_logical # features/steps/slots.py:41 1649s Apr 14 09:54:33 1649s Apr 14 09:54:33 @slot-advance 1649s Apr 14 09:54:33 Scenario: check that slots are written to the /status key # features/nostream_node.feature:21 1649s Apr 14 09:54:33 Given "status" key in DCS has postgres_0 in slots # features/steps/slots.py:118 1649s Apr 14 09:54:33 And "status" key in DCS has postgres_2 in slots # features/steps/slots.py:118 1649s Apr 14 09:54:33 And "status" key in DCS has test_logical in slots # features/steps/slots.py:118 1649s Apr 14 09:54:33 And "status" key in DCS has test_logical in slots # features/steps/slots.py:118 1649s Apr 14 09:54:33 And "status" key in DCS does not have postgres_1 in slots # features/steps/slots.py:124 1656s Apr 14 09:54:40 1656s Apr 14 09:54:40 Feature: patroni api # features/patroni_api.feature:1 1656s Apr 14 09:54:40 We should check that patroni correctly responds to valid and not-valid API requests. 1656s Apr 14 09:54:40 Scenario: check API requests on a stand-alone server # features/patroni_api.feature:4 1656s Apr 14 09:54:40 Given I start postgres-0 # features/steps/basic_replication.py:20 1661s Apr 14 09:54:45 And postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 1661s Apr 14 09:54:45 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:63 1661s Apr 14 09:54:45 Then I receive a response code 200 # features/steps/patroni_api.py:100 1661s Apr 14 09:54:45 And I receive a response state running # features/steps/patroni_api.py:100 1661s Apr 14 09:54:45 And I receive a response role primary # features/steps/patroni_api.py:100 1661s Apr 14 09:54:45 When I issue a GET request to http://127.0.0.1:8008/standby_leader # features/steps/patroni_api.py:63 1661s Apr 14 09:54:45 Then I receive a response code 503 # features/steps/patroni_api.py:100 1661s Apr 14 09:54:45 When I issue a GET request to http://127.0.0.1:8008/health # features/steps/patroni_api.py:63 1661s Apr 14 09:54:45 Then I receive a response code 200 # features/steps/patroni_api.py:100 1661s Apr 14 09:54:45 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:63 1661s Apr 14 09:54:45 Then I receive a response code 503 # features/steps/patroni_api.py:100 1661s Apr 14 09:54:45 When I issue a POST request to http://127.0.0.1:8008/reinitialize with {"force": true} # features/steps/patroni_api.py:73 1661s Apr 14 09:54:45 Then I receive a response code 503 # features/steps/patroni_api.py:100 1661s Apr 14 09:54:45 And I receive a response text I am the leader, can not reinitialize # features/steps/patroni_api.py:100 1661s Apr 14 09:54:45 When I run patronictl.py switchover batman --primary postgres-0 --force # features/steps/patroni_api.py:88 1662s Apr 14 09:54:46 Then I receive a response returncode 1 # features/steps/patroni_api.py:100 1662s Apr 14 09:54:46 And I receive a response output "Error: No candidates found to switchover to" # features/steps/patroni_api.py:100 1662s Apr 14 09:54:46 When I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres-0"} # features/steps/patroni_api.py:73 1662s Apr 14 09:54:46 Then I receive a response code 412 # features/steps/patroni_api.py:100 1662s Apr 14 09:54:46 And I receive a response text switchover is not possible: cluster does not have members except leader # features/steps/patroni_api.py:100 1662s Apr 14 09:54:46 When I issue an empty POST request to http://127.0.0.1:8008/failover # features/steps/patroni_api.py:68 1663s Apr 14 09:54:47 Then I receive a response code 400 # features/steps/patroni_api.py:100 1663s Apr 14 09:54:47 When I issue a POST request to http://127.0.0.1:8008/failover with {"foo": "bar"} # features/steps/patroni_api.py:73 1663s Apr 14 09:54:47 Then I receive a response code 400 # features/steps/patroni_api.py:100 1663s Apr 14 09:54:47 And I receive a response text "Failover could be performed only to a specific candidate" # features/steps/patroni_api.py:100 1663s Apr 14 09:54:47 1663s Apr 14 09:54:47 Scenario: check local configuration reload # features/patroni_api.feature:32 1663s Apr 14 09:54:47 Given I add tag new_tag new_value to postgres-0 config # features/steps/patroni_api.py:139 1663s Apr 14 09:54:47 And I issue an empty POST request to http://127.0.0.1:8008/reload # features/steps/patroni_api.py:68 1663s Apr 14 09:54:47 Then I receive a response code 202 # features/steps/patroni_api.py:100 1663s Apr 14 09:54:47 1663s Apr 14 09:54:47 Scenario: check dynamic configuration change via DCS # features/patroni_api.feature:37 1663s Apr 14 09:54:47 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 1663s Apr 14 09:54:47 Then I receive a response code 200 # features/steps/patroni_api.py:100 1663s Apr 14 09:54:47 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 11 seconds # features/steps/patroni_api.py:158 1665s Apr 14 09:54:49 When I issue a GET request to http://127.0.0.1:8008/config # features/steps/patroni_api.py:63 1665s Apr 14 09:54:49 Then I receive a response code 200 # features/steps/patroni_api.py:100 1665s Apr 14 09:54:49 And I receive a response ttl 20 # features/steps/patroni_api.py:100 1665s Apr 14 09:54:49 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:63 1665s Apr 14 09:54:49 Then I receive a response code 200 # features/steps/patroni_api.py:100 1665s Apr 14 09:54:49 And I receive a response tags {'new_tag': 'new_value'} # features/steps/patroni_api.py:100 1665s Apr 14 09:54:49 And I sleep for 4 seconds # features/steps/patroni_api.py:41 1669s Apr 14 09:54:53 1669s Apr 14 09:54:53 Scenario: check the scheduled restart # features/patroni_api.feature:49 1669s Apr 14 09:54:53 Given I run patronictl.py edit-config -p 'superuser_reserved_connections=6' --force batman # features/steps/patroni_api.py:88 1670s Apr 14 09:54:54 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 1670s Apr 14 09:54:54 And I receive a response output "+ superuser_reserved_connections: 6" # features/steps/patroni_api.py:100 1670s Apr 14 09:54:54 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 5 seconds # features/steps/patroni_api.py:158 1670s Apr 14 09:54:54 Given I issue a scheduled restart at http://127.0.0.1:8008 in 5 seconds with {"role": "replica"} # features/steps/patroni_api.py:126 1670s Apr 14 09:54:54 Then I receive a response code 202 # features/steps/patroni_api.py:100 1670s Apr 14 09:54:54 And I sleep for 8 seconds # features/steps/patroni_api.py:41 1678s Apr 14 09:55:02 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 10 seconds # features/steps/patroni_api.py:158 1678s Apr 14 09:55:02 Given I issue a scheduled restart at http://127.0.0.1:8008 in 5 seconds with {"restart_pending": "True"} # features/steps/patroni_api.py:126 1679s Apr 14 09:55:03 Then I receive a response code 202 # features/steps/patroni_api.py:100 1679s Apr 14 09:55:03 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 1686s Apr 14 09:55:10 And postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 1687s Apr 14 09:55:11 1687s Apr 14 09:55:11 Scenario: check API requests for the primary-replica pair in the pause mode # features/patroni_api.feature:63 1687s Apr 14 09:55:11 Given I start postgres-1 # features/steps/basic_replication.py:20 1692s Apr 14 09:55:16 Then replication works from postgres-0 to postgres-1 after 20 seconds # features/steps/basic_replication.py:124 1693s Apr 14 09:55:17 When I run patronictl.py pause batman # features/steps/patroni_api.py:88 1694s Apr 14 09:55:18 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 1694s Apr 14 09:55:18 When I kill postmaster on postgres-1 # features/steps/basic_replication.py:56 1694s Apr 14 09:55:18 waiting for server to shut down.... done 1694s Apr 14 09:55:18 server stopped 1694s Apr 14 09:55:18 And I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:63 1694s Apr 14 09:55:18 Then I receive a response code 503 # features/steps/patroni_api.py:100 1694s Apr 14 09:55:18 And "members/postgres-1" key in DCS has state=stopped after 10 seconds # features/steps/cascading_replication.py:23 1695s Apr 14 09:55:19 When I run patronictl.py restart batman postgres-1 --force # features/steps/patroni_api.py:88 1698s Apr 14 09:55:22 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 1698s Apr 14 09:55:22 Then replication works from postgres-0 to postgres-1 after 20 seconds # features/steps/basic_replication.py:124 1699s Apr 14 09:55:23 And I sleep for 2 seconds # features/steps/patroni_api.py:41 1701s Apr 14 09:55:25 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:63 1702s Apr 14 09:55:26 Then I receive a response code 200 # features/steps/patroni_api.py:100 1702s Apr 14 09:55:26 And I receive a response state running # features/steps/patroni_api.py:100 1702s Apr 14 09:55:26 And I receive a response role replica # features/steps/patroni_api.py:100 1702s Apr 14 09:55:26 When I run patronictl.py reinit batman postgres-1 --force --wait # features/steps/patroni_api.py:88 1707s Apr 14 09:55:31 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 1707s Apr 14 09:55:31 And I receive a response output "Success: reinitialize for member postgres-1" # features/steps/patroni_api.py:100 1707s Apr 14 09:55:31 And postgres-1 role is the secondary after 30 seconds # features/steps/basic_replication.py:117 1708s Apr 14 09:55:32 And replication works from postgres-0 to postgres-1 after 20 seconds # features/steps/basic_replication.py:124 1708s Apr 14 09:55:32 When I run patronictl.py restart batman postgres-0 --force # features/steps/patroni_api.py:88 1710s Apr 14 09:55:34 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 1710s Apr 14 09:55:34 And I receive a response output "Success: restart on member postgres-0" # features/steps/patroni_api.py:100 1710s Apr 14 09:55:34 And postgres-0 role is the primary after 5 seconds # features/steps/basic_replication.py:117 1711s Apr 14 09:55:35 1711s Apr 14 09:55:35 Scenario: check the switchover via the API in the pause mode # features/patroni_api.feature:90 1711s Apr 14 09:55:35 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 1713s Apr 14 09:55:37 Then I receive a response code 200 # features/steps/patroni_api.py:100 1713s Apr 14 09:55:37 And postgres-1 is a leader after 5 seconds # features/steps/patroni_api.py:31 1713s Apr 14 09:55:37 And postgres-1 role is the primary after 10 seconds # features/steps/basic_replication.py:117 1714s Apr 14 09:55:38 And postgres-0 role is the secondary after 10 seconds # features/steps/basic_replication.py:117 1716s Apr 14 09:55:40 And replication works from postgres-1 to postgres-0 after 20 seconds # features/steps/basic_replication.py:124 1716s Apr 14 09:55:40 And "members/postgres-0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1717s Apr 14 09:55:41 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:63 1717s Apr 14 09:55:41 Then I receive a response code 503 # features/steps/patroni_api.py:100 1717s Apr 14 09:55:41 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:63 1717s Apr 14 09:55:41 Then I receive a response code 200 # features/steps/patroni_api.py:100 1717s Apr 14 09:55:41 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:63 1717s Apr 14 09:55:41 Then I receive a response code 200 # features/steps/patroni_api.py:100 1717s Apr 14 09:55:41 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:63 1717s Apr 14 09:55:41 Then I receive a response code 503 # features/steps/patroni_api.py:100 1717s Apr 14 09:55:41 1717s Apr 14 09:55:41 Scenario: check the scheduled switchover # features/patroni_api.feature:107 1717s Apr 14 09:55:41 Given I issue a scheduled switchover from postgres-1 to postgres-0 in 10 seconds # features/steps/patroni_api.py:119 1719s Apr 14 09:55:43 Then I receive a response returncode 1 # features/steps/patroni_api.py:100 1719s Apr 14 09:55:43 And I receive a response output "Can't schedule switchover in the paused state" # features/steps/patroni_api.py:100 1719s Apr 14 09:55:43 When I run patronictl.py resume batman # features/steps/patroni_api.py:88 1720s Apr 14 09:55:44 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 1720s Apr 14 09:55:44 Given I issue a scheduled switchover from postgres-1 to postgres-0 in 10 seconds # features/steps/patroni_api.py:119 1722s Apr 14 09:55:45 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 1722s Apr 14 09:55:45 And postgres-0 is a leader after 20 seconds # features/steps/patroni_api.py:31 1732s Apr 14 09:55:56 And postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 1733s Apr 14 09:55:57 And postgres-1 role is the secondary after 10 seconds # features/steps/basic_replication.py:117 1736s Apr 14 09:56:00 And replication works from postgres-0 to postgres-1 after 25 seconds # features/steps/basic_replication.py:124 1736s Apr 14 09:56:00 And "members/postgres-1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1736s Apr 14 09:56:00 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:63 1736s Apr 14 09:56:00 Then I receive a response code 200 # features/steps/patroni_api.py:100 1736s Apr 14 09:56:00 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:63 1736s Apr 14 09:56:00 Then I receive a response code 503 # features/steps/patroni_api.py:100 1736s Apr 14 09:56:00 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:63 1736s Apr 14 09:56:00 Then I receive a response code 503 # features/steps/patroni_api.py:100 1736s Apr 14 09:56:00 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:63 1736s Apr 14 09:56:00 Then I receive a response code 200 # features/steps/patroni_api.py:100 1740s Apr 14 09:56:04 1740s Apr 14 09:56:04 Feature: permanent slots # features/permanent_slots.feature:1 1740s Apr 14 09:56:04 1740s Apr 14 09:56:04 Scenario: check that physical permanent slots are created # features/permanent_slots.feature:2 1740s Apr 14 09:56:04 Given I start postgres-0 # features/steps/basic_replication.py:20 1745s Apr 14 09:56:09 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 1745s Apr 14 09:56:09 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1745s Apr 14 09:56:09 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 1745s Apr 14 09:56:09 Then I receive a response code 200 # features/steps/patroni_api.py:100 1745s Apr 14 09:56:09 And Response on GET http://127.0.0.1:8008/config contains slots after 10 seconds # features/steps/patroni_api.py:158 1745s Apr 14 09:56:09 When I start postgres-1 # features/steps/basic_replication.py:20 1751s Apr 14 09:56:15 And I configure and start postgres-2 with a tag nofailover true # features/steps/cascading_replication.py:7 1756s Apr 14 09:56:20 And I configure and start postgres-3 with a tag replicatefrom postgres-2 # features/steps/cascading_replication.py:7 1760s Apr 14 09:56:24 Then postgres-0 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:82 1760s Apr 14 09:56:24 And postgres-0 has a physical replication slot named postgres_1 after 10 seconds # features/steps/slots.py:82 1760s Apr 14 09:56:24 And postgres-0 has a physical replication slot named postgres_2 after 10 seconds # features/steps/slots.py:82 1760s Apr 14 09:56:24 And postgres-2 has a physical replication slot named postgres_3 after 10 seconds # features/steps/slots.py:82 1760s Apr 14 09:56:24 And postgres-2 does not have a replication slot named test_physical # features/steps/slots.py:41 1760s Apr 14 09:56:24 1760s Apr 14 09:56:24 @slot-advance 1760s Apr 14 09:56:24 Scenario: check that logical permanent slots are created # features/permanent_slots.feature:19 1760s Apr 14 09:56:24 Given I run patronictl.py restart batman postgres-0 --force # features/steps/patroni_api.py:88 1762s Apr 14 09:56:26 And I issue a PATCH request to http://127.0.0.1:8008/config with {"slots":{"test_logical":{"type":"logical","database":"postgres","plugin":"test_decoding"}}} # features/steps/patroni_api.py:73 1762s Apr 14 09:56:26 Then postgres-0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:20 1763s Apr 14 09:56:27 1763s Apr 14 09:56:27 @slot-advance 1763s Apr 14 09:56:27 Scenario: check that permanent slots are created on replicas # features/permanent_slots.feature:25 1763s Apr 14 09:56:27 Given postgres-1 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:20 1768s Apr 14 09:56:32 Then Logical slot test_logical is in sync between postgres-0 and postgres-1 after 10 seconds # features/steps/slots.py:52 1768s Apr 14 09:56:32 And Logical slot test_logical is in sync between postgres-0 and postgres-3 after 10 seconds # features/steps/slots.py:52 1769s Apr 14 09:56:33 And postgres-1 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:82 1769s Apr 14 09:56:33 And postgres-2 does not have a replication slot named test_logical # features/steps/slots.py:41 1769s Apr 14 09:56:33 And postgres-3 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:82 1769s Apr 14 09:56:33 1769s Apr 14 09:56:33 @slot-advance 1769s Apr 14 09:56:33 Scenario: check permanent physical slots that match with member names # features/permanent_slots.feature:34 1769s Apr 14 09:56:33 Given postgres-0 has a physical replication slot named postgres_3 after 2 seconds # features/steps/slots.py:82 1769s Apr 14 09:56:33 And postgres-1 has a physical replication slot named postgres_0 after 2 seconds # features/steps/slots.py:82 1769s Apr 14 09:56:33 And postgres-1 has a physical replication slot named postgres_2 after 2 seconds # features/steps/slots.py:82 1769s Apr 14 09:56:33 And postgres-1 has a physical replication slot named postgres_3 after 2 seconds # features/steps/slots.py:82 1769s Apr 14 09:56:33 And postgres-2 does not have a replication slot named postgres_0 # features/steps/slots.py:41 1769s Apr 14 09:56:33 And postgres-2 does not have a replication slot named postgres_1 # features/steps/slots.py:41 1769s Apr 14 09:56:33 And postgres-2 has a physical replication slot named postgres_3 after 2 seconds # features/steps/slots.py:82 1769s Apr 14 09:56:33 And postgres-3 has a physical replication slot named postgres_0 after 2 seconds # features/steps/slots.py:82 1769s Apr 14 09:56:33 And postgres-3 has a physical replication slot named postgres_1 after 2 seconds # features/steps/slots.py:82 1769s Apr 14 09:56:33 And postgres-3 has a physical replication slot named postgres_2 after 2 seconds # features/steps/slots.py:82 1769s Apr 14 09:56:33 1769s Apr 14 09:56:33 @slot-advance 1769s Apr 14 09:56:33 Scenario: check that permanent slots are advanced on replicas # features/permanent_slots.feature:47 1769s Apr 14 09:56:33 Given I add the table replicate_me to postgres-0 # features/steps/basic_replication.py:66 1769s Apr 14 09:56:33 When I get all changes from logical slot test_logical on postgres-0 # features/steps/slots.py:72 1769s Apr 14 09:56:33 And I get all changes from physical slot test_physical on postgres-0 # features/steps/slots.py:77 1769s Apr 14 09:56:33 Then Logical slot test_logical is in sync between postgres-0 and postgres-1 after 10 seconds # features/steps/slots.py:52 1772s Apr 14 09:56:36 And Physical slot test_physical is in sync between postgres-0 and postgres-1 after 10 seconds # features/steps/slots.py:52 1772s Apr 14 09:56:36 And Logical slot test_logical is in sync between postgres-0 and postgres-3 after 10 seconds # features/steps/slots.py:52 1772s Apr 14 09:56:36 And Physical slot test_physical is in sync between postgres-0 and postgres-3 after 10 seconds # features/steps/slots.py:52 1772s Apr 14 09:56:36 And Physical slot postgres_1 is in sync between postgres-0 and postgres-3 after 10 seconds # features/steps/slots.py:52 1772s Apr 14 09:56:36 And Physical slot postgres_3 is in sync between postgres-2 and postgres-0 after 20 seconds # features/steps/slots.py:52 1772s Apr 14 09:56:36 And Physical slot postgres_3 is in sync between postgres-2 and postgres-1 after 10 seconds # features/steps/slots.py:52 1772s Apr 14 09:56:36 1772s Apr 14 09:56:36 @slot-advance 1772s Apr 14 09:56:36 Scenario: check that permanent slots and member slots are written to the /status key # features/permanent_slots.feature:60 1772s Apr 14 09:56:36 Given "status" key in DCS has test_physical in slots # features/steps/slots.py:118 1772s Apr 14 09:56:36 And "status" key in DCS has postgres_0 in slots # features/steps/slots.py:118 1772s Apr 14 09:56:36 And "status" key in DCS has postgres_1 in slots # features/steps/slots.py:118 1772s Apr 14 09:56:36 And "status" key in DCS has postgres_2 in slots # features/steps/slots.py:118 1772s Apr 14 09:56:36 And "status" key in DCS has postgres_3 in slots # features/steps/slots.py:118 1772s Apr 14 09:56:36 1772s Apr 14 09:56:36 @slot-advance 1772s Apr 14 09:56:36 Scenario: check that only non-permanent member slots are written to the retain_slots in /status key # features/permanent_slots.feature:68 1772s Apr 14 09:56:36 Given "status" key in DCS has postgres_0 in retain_slots # features/steps/slots.py:118 1772s Apr 14 09:56:36 And "status" key in DCS has postgres_1 in retain_slots # features/steps/slots.py:118 1772s Apr 14 09:56:36 And "status" key in DCS has postgres_2 in retain_slots # features/steps/slots.py:118 1772s Apr 14 09:56:36 And "status" key in DCS does not have postgres_3 in retain_slots # features/steps/slots.py:124 1772s Apr 14 09:56:36 1772s Apr 14 09:56:36 Scenario: check permanent physical replication slot after failover # features/permanent_slots.feature:74 1772s Apr 14 09:56:36 Given I shut down postgres-3 # features/steps/basic_replication.py:41 1773s Apr 14 09:56:37 And I shut down postgres-2 # features/steps/basic_replication.py:41 1774s Apr 14 09:56:38 And I shut down postgres-0 # features/steps/basic_replication.py:41 1776s Apr 14 09:56:40 Then postgres-1 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:82 1776s Apr 14 09:56:40 And postgres-1 has a physical replication slot named postgres_0 after 10 seconds # features/steps/slots.py:82 1776s Apr 14 09:56:40 And postgres-1 has a physical replication slot named postgres_3 after 10 seconds # features/steps/slots.py:82 1776s Apr 14 09:56:40 When I start postgres-0 # features/steps/basic_replication.py:20 1779s Apr 14 09:56:43 Then postgres-0 role is the replica after 20 seconds # features/steps/basic_replication.py:117 1779s Apr 14 09:56:43 And physical replication slot named postgres_1 on postgres-0 has no xmin value after 10 seconds # features/steps/slots.py:98 1779s Apr 14 09:56:43 And postgres-0 has a physical replication slot named postgres_2 after 10 seconds # features/steps/slots.py:82 1779s Apr 14 09:56:43 And postgres-0 has a physical replication slot named postgres_3 after 10 seconds # features/steps/slots.py:82 1782s Apr 14 09:56:46 1782s Apr 14 09:56:46 Feature: priority replication # features/priority_failover.feature:1 1782s Apr 14 09:56:46 We should check that we can give nodes priority during failover 1782s Apr 14 09:56:46 Scenario: check failover priority 0 prevents leaderships # features/priority_failover.feature:4 1782s Apr 14 09:56:46 Given I configure and start postgres-0 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 1787s Apr 14 09:56:51 And I configure and start postgres-1 with a tag failover_priority 0 # features/steps/cascading_replication.py:7 1791s Apr 14 09:56:55 Then replication works from postgres-0 to postgres-1 after 20 seconds # features/steps/basic_replication.py:124 1792s Apr 14 09:56:56 When I shut down postgres-0 # features/steps/basic_replication.py:41 1794s Apr 14 09:56:58 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 1796s Apr 14 09:57:00 Then postgres-1 role is the secondary after 10 seconds # features/steps/basic_replication.py:117 1796s Apr 14 09:57:00 When I start postgres-0 # features/steps/basic_replication.py:20 1800s Apr 14 09:57:03 Then postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 1801s Apr 14 09:57:04 1801s Apr 14 09:57:04 Scenario: check higher failover priority is respected # features/priority_failover.feature:14 1801s Apr 14 09:57:04 Given I configure and start postgres-2 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 1806s Apr 14 09:57:10 And I configure and start postgres-3 with a tag failover_priority 2 # features/steps/cascading_replication.py:7 1811s Apr 14 09:57:15 Then replication works from postgres-0 to postgres-2 after 20 seconds # features/steps/basic_replication.py:124 1812s Apr 14 09:57:16 And replication works from postgres-0 to postgres-3 after 20 seconds # features/steps/basic_replication.py:124 1813s Apr 14 09:57:17 When I shut down postgres-0 # features/steps/basic_replication.py:41 1815s Apr 14 09:57:19 Then postgres-3 role is the primary after 10 seconds # features/steps/basic_replication.py:117 1816s Apr 14 09:57:20 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 1816s Apr 14 09:57:20 1816s Apr 14 09:57:20 Scenario: check conflicting configuration handling # features/priority_failover.feature:23 1816s Apr 14 09:57:20 When I set nofailover tag in postgres-2 config # features/steps/patroni_api.py:133 1816s Apr 14 09:57:20 And I issue an empty POST request to http://127.0.0.1:8010/reload # features/steps/patroni_api.py:68 1816s Apr 14 09:57:20 Then I receive a response code 202 # features/steps/patroni_api.py:100 1816s Apr 14 09:57:20 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 1817s Apr 14 09:57:21 And "members/postgres-2" key in DCS has tags={'failover_priority': '1', 'nofailover': True} after 10 seconds # features/steps/cascading_replication.py:23 1818s Apr 14 09:57:22 When I issue a POST request to http://127.0.0.1:8010/failover with {"candidate": "postgres-2"} # features/steps/patroni_api.py:73 1818s Apr 14 09:57:22 Then I receive a response code 412 # features/steps/patroni_api.py:100 1818s Apr 14 09:57:22 And I receive a response text "failover is not possible: no good candidates have been found" # features/steps/patroni_api.py:100 1818s Apr 14 09:57:22 When I reset nofailover tag in postgres-1 config # features/steps/patroni_api.py:133 1818s Apr 14 09:57:22 And I issue an empty POST request to http://127.0.0.1:8009/reload # features/steps/patroni_api.py:68 1818s Apr 14 09:57:22 Then I receive a response code 202 # features/steps/patroni_api.py:100 1818s Apr 14 09:57:22 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 1819s Apr 14 09:57:23 And "members/postgres-1" key in DCS has tags={'failover_priority': '0', 'nofailover': False} after 10 seconds # features/steps/cascading_replication.py:23 1820s Apr 14 09:57:24 And I issue a POST request to http://127.0.0.1:8009/failover with {"candidate": "postgres-1"} # features/steps/patroni_api.py:73 1823s Apr 14 09:57:27 Then I receive a response code 200 # features/steps/patroni_api.py:100 1823s Apr 14 09:57:27 And postgres-1 role is the primary after 10 seconds # features/steps/basic_replication.py:117 1829s Apr 14 09:57:33 1829s Apr 14 09:57:33 Feature: quorum commit # features/quorum_commit.feature:1 1829s Apr 14 09:57:33 Check basic workfrlows when quorum commit is enabled 1829s Apr 14 09:57:33 Scenario: check enable quorum commit and that the only leader promotes after restart # features/quorum_commit.feature:4 1829s Apr 14 09:57:33 Given I start postgres-0 # features/steps/basic_replication.py:20 1834s Apr 14 09:57:38 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 1834s Apr 14 09:57:38 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1834s Apr 14 09:57:38 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 1834s Apr 14 09:57:38 Then I receive a response code 200 # features/steps/patroni_api.py:100 1834s Apr 14 09:57:38 And sync key in DCS has leader=postgres-0 after 20 seconds # features/steps/quorum_commit.py:8 1835s Apr 14 09:57:39 And sync key in DCS has quorum=0 after 2 seconds # features/steps/quorum_commit.py:8 1835s Apr 14 09:57:39 And synchronous_standby_names on postgres-0 is set to '_empty_str_' after 2 seconds # features/steps/quorum_commit.py:39 1835s Apr 14 09:57:39 When I shut down postgres-0 # features/steps/basic_replication.py:41 1837s Apr 14 09:57:41 And sync key in DCS has leader=postgres-0 after 2 seconds # features/steps/quorum_commit.py:8 1837s Apr 14 09:57:41 When I start postgres-0 # features/steps/basic_replication.py:20 1840s Apr 14 09:57:44 Then postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 1841s Apr 14 09:57:45 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 1841s Apr 14 09:57:45 Then synchronous_standby_names on postgres-0 is set to 'ANY 1 (*)' after 10 seconds # features/steps/quorum_commit.py:39 1842s Apr 14 09:57:46 1842s Apr 14 09:57:46 Scenario: check failover with one quorum standby # features/quorum_commit.feature:20 1842s Apr 14 09:57:46 Given I start postgres-1 # features/steps/basic_replication.py:20 1847s Apr 14 09:57:51 Then sync key in DCS has sync_standby=postgres-1 after 10 seconds # features/steps/quorum_commit.py:8 1849s Apr 14 09:57:53 And synchronous_standby_names on postgres-0 is set to 'ANY 1 ("postgres-1")' after 2 seconds # features/steps/quorum_commit.py:39 1849s Apr 14 09:57:53 When I shut down postgres-0 # features/steps/basic_replication.py:41 1851s Apr 14 09:57:55 Then postgres-1 role is the primary after 10 seconds # features/steps/basic_replication.py:117 1852s Apr 14 09:57:56 And sync key in DCS has quorum=0 after 10 seconds # features/steps/quorum_commit.py:8 1852s Apr 14 09:57:56 Then synchronous_standby_names on postgres-1 is set to 'ANY 1 (*)' after 10 seconds # features/steps/quorum_commit.py:39 1855s Apr 14 09:57:59 When I start postgres-0 # features/steps/basic_replication.py:20 1858s Apr 14 09:58:02 Then sync key in DCS has leader=postgres-1 after 10 seconds # features/steps/quorum_commit.py:8 1858s Apr 14 09:58:02 Then sync key in DCS has sync_standby=postgres-0 after 10 seconds # features/steps/quorum_commit.py:8 1860s Apr 14 09:58:04 And synchronous_standby_names on postgres-1 is set to 'ANY 1 ("postgres-0")' after 2 seconds # features/steps/quorum_commit.py:39 1860s Apr 14 09:58:04 1860s Apr 14 09:58:04 Scenario: check behavior with three nodes and different replication factor # features/quorum_commit.feature:33 1860s Apr 14 09:58:04 Given I start postgres-2 # features/steps/basic_replication.py:20 1865s Apr 14 09:58:09 Then sync key in DCS has sync_standby=postgres-0,postgres-2 after 10 seconds # features/steps/quorum_commit.py:8 1866s Apr 14 09:58:10 And sync key in DCS has quorum=1 after 2 seconds # features/steps/quorum_commit.py:8 1866s Apr 14 09:58:10 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 1866s Apr 14 09:58:10 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 1866s Apr 14 09:58:10 Then sync key in DCS has quorum=0 after 10 seconds # features/steps/quorum_commit.py:8 1867s Apr 14 09:58:11 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 1867s Apr 14 09:58:11 1867s Apr 14 09:58:11 Scenario: switch from quorum replication to good old multisync and back # features/quorum_commit.feature:42 1867s Apr 14 09:58:11 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 1867s Apr 14 09:58:11 And I shut down postgres-0 # features/steps/basic_replication.py:41 1868s Apr 14 09:58:12 Then synchronous_standby_names on postgres-1 is set to '"postgres-2"' after 10 seconds # features/steps/quorum_commit.py:39 1870s Apr 14 09:58:14 And sync key in DCS has sync_standby=postgres-2 after 10 seconds # features/steps/quorum_commit.py:8 1872s Apr 14 09:58:16 Then sync key in DCS has quorum=0 after 2 seconds # features/steps/quorum_commit.py:8 1872s Apr 14 09:58:16 When I issue a PATCH request to http://127.0.0.1:8009/config with {"synchronous_mode": "quorum"} # features/steps/patroni_api.py:73 1872s Apr 14 09:58:16 And I start postgres-0 # features/steps/basic_replication.py:20 1875s Apr 14 09:58:19 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 1877s Apr 14 09:58:21 And sync key in DCS has sync_standby=postgres-0,postgres-2 after 10 seconds # features/steps/quorum_commit.py:8 1877s Apr 14 09:58:21 Then sync key in DCS has quorum=1 after 2 seconds # features/steps/quorum_commit.py:8 1877s Apr 14 09:58:21 1877s Apr 14 09:58:21 Scenario: REST API and patronictl # features/quorum_commit.feature:54 1877s Apr 14 09:58:21 Given I run patronictl.py list batman # features/steps/patroni_api.py:88 1879s Apr 14 09:58:23 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 1879s Apr 14 09:58:23 And I receive a response output "Quorum Standby" # features/steps/patroni_api.py:100 1879s Apr 14 09:58:23 And Status code on GET http://127.0.0.1:8008/quorum is 200 after 3 seconds # features/steps/patroni_api.py:144 1879s Apr 14 09:58:23 And Status code on GET http://127.0.0.1:8010/quorum is 200 after 3 seconds # features/steps/patroni_api.py:144 1879s Apr 14 09:58:23 1879s Apr 14 09:58:23 Scenario: nosync node is removed from voters and synchronous_standby_names # features/quorum_commit.feature:61 1879s Apr 14 09:58:23 Given I add tag nosync true to postgres-2 config # features/steps/patroni_api.py:139 1879s Apr 14 09:58:23 When I issue an empty POST request to http://127.0.0.1:8010/reload # features/steps/patroni_api.py:68 1879s Apr 14 09:58:23 Then I receive a response code 202 # features/steps/patroni_api.py:100 1879s Apr 14 09:58:23 And sync key in DCS has quorum=0 after 10 seconds # features/steps/quorum_commit.py:8 1882s Apr 14 09:58:26 And sync key in DCS has sync_standby=postgres-0 after 10 seconds # features/steps/quorum_commit.py:8 1882s Apr 14 09:58:26 And synchronous_standby_names on postgres-1 is set to 'ANY 1 ("postgres-0")' after 2 seconds # features/steps/quorum_commit.py:39 1882s Apr 14 09:58:26 And Status code on GET http://127.0.0.1:8010/quorum is 503 after 10 seconds # features/steps/patroni_api.py:144 1889s Apr 14 09:58:33 1889s Apr 14 09:58:33 Feature: recovery # features/recovery.feature:1 1889s Apr 14 09:58:33 We want to check that crashed postgres is started back 1889s Apr 14 09:58:33 Scenario: check that timeline is not incremented when primary is started after crash # features/recovery.feature:4 1889s Apr 14 09:58:33 Given I start postgres-0 # features/steps/basic_replication.py:20 1895s Apr 14 09:58:38 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 1895s Apr 14 09:58:38 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1895s Apr 14 09:58:38 When I start postgres-1 # features/steps/basic_replication.py:20 1900s Apr 14 09:58:44 And I add the table foo to postgres-0 # features/steps/basic_replication.py:66 1900s Apr 14 09:58:44 Then table foo is present on postgres-1 after 20 seconds # features/steps/basic_replication.py:105 1901s Apr 14 09:58:45 When I kill postmaster on postgres-0 # features/steps/basic_replication.py:56 1901s Apr 14 09:58:45 waiting for server to shut down.... done 1901s Apr 14 09:58:45 server stopped 1901s Apr 14 09:58:45 Then postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 1904s Apr 14 09:58:48 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:63 1904s Apr 14 09:58:48 Then I receive a response code 200 # features/steps/patroni_api.py:100 1904s Apr 14 09:58:48 And I receive a response role primary # features/steps/patroni_api.py:100 1904s Apr 14 09:58:48 And I receive a response timeline 1 # features/steps/patroni_api.py:100 1904s Apr 14 09:58:48 And "members/postgres-0" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 1904s Apr 14 09:58:48 And replication works from postgres-0 to postgres-1 after 15 seconds # features/steps/basic_replication.py:124 1907s Apr 14 09:58:51 1907s Apr 14 09:58:51 Scenario: check immediate failover when master_start_timeout=0 # features/recovery.feature:20 1907s Apr 14 09:58:51 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 1907s Apr 14 09:58:51 Then I receive a response code 200 # features/steps/patroni_api.py:100 1907s Apr 14 09:58:51 And Response on GET http://127.0.0.1:8008/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:158 1907s Apr 14 09:58:51 When I kill postmaster on postgres-0 # features/steps/basic_replication.py:56 1907s Apr 14 09:58:51 waiting for server to shut down.... done 1907s Apr 14 09:58:51 server stopped 1907s Apr 14 09:58:51 Then postgres-1 is a leader after 10 seconds # features/steps/patroni_api.py:31 1910s Apr 14 09:58:54 And postgres-1 role is the primary after 10 seconds # features/steps/basic_replication.py:117 1910s Apr 14 09:58:54 1910s Apr 14 09:58:54 Scenario: check crashed primary demotes after failed attempt to start # features/recovery.feature:28 1910s Apr 14 09:58:54 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 1910s Apr 14 09:58:54 Then I receive a response code 200 # features/steps/patroni_api.py:100 1910s Apr 14 09:58:54 And postgres-0 role is the replica after 10 seconds # features/steps/basic_replication.py:117 1912s Apr 14 09:58:56 When I ensure postgres-1 fails to start after a failure # features/steps/recovery.py:6 1912s Apr 14 09:58:56 When I kill postmaster on postgres-1 # features/steps/basic_replication.py:56 1912s Apr 14 09:58:56 waiting for server to shut down.... done 1912s Apr 14 09:58:56 server stopped 1912s Apr 14 09:58:56 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 1913s Apr 14 09:58:57 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 1916s Apr 14 09:59:00 1916s Apr 14 09:59:00 Feature: standby cluster # features/standby_cluster.feature:1 1916s Apr 14 09:59:00 1916s Apr 14 09:59:00 Scenario: prepare the cluster with logical slots # features/standby_cluster.feature:2 1916s Apr 14 09:59:00 Given I start postgres-1 # features/steps/basic_replication.py:20 1922s Apr 14 09:59:05 Then postgres-1 is a leader after 10 seconds # features/steps/patroni_api.py:31 1922s Apr 14 09:59:05 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1922s Apr 14 09:59:05 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 1922s Apr 14 09:59:06 Then I receive a response code 200 # features/steps/patroni_api.py:100 1922s Apr 14 09:59:06 And Response on GET http://127.0.0.1:8009/config contains slots after 10 seconds # features/steps/patroni_api.py:158 1922s Apr 14 09:59:06 And I sleep for 3 seconds # features/steps/patroni_api.py:41 1925s Apr 14 09:59:09 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 1925s Apr 14 09:59:09 Then I receive a response code 200 # features/steps/patroni_api.py:100 1925s Apr 14 09:59:09 And I do a backup of postgres-1 # features/steps/custom_bootstrap.py:25 1927s Apr 14 09:59:11 When I start postgres-0 # features/steps/basic_replication.py:20 1932s Apr 14 09:59:16 Then "members/postgres-0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1932s Apr 14 09:59:16 And replication works from postgres-1 to postgres-0 after 15 seconds # features/steps/basic_replication.py:124 1933s Apr 14 09:59:17 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:63 1933s Apr 14 09:59:17 Then I receive a response code 200 # features/steps/patroni_api.py:100 1933s Apr 14 09:59:17 And I receive a response replication_state streaming # features/steps/patroni_api.py:100 1933s Apr 14 09:59:17 And "members/postgres-0" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 1933s Apr 14 09:59:17 1933s Apr 14 09:59:17 @slot-advance 1933s Apr 14 09:59:17 Scenario: check permanent logical slots are synced to the replica # features/standby_cluster.feature:22 1933s Apr 14 09:59:17 Given I run patronictl.py restart batman postgres-1 --force # features/steps/patroni_api.py:88 1935s Apr 14 09:59:19 Then Logical slot test_logical is in sync between postgres-0 and postgres-1 after 10 seconds # features/steps/slots.py:52 1941s Apr 14 09:59:25 1941s Apr 14 09:59:25 Scenario: Detach exiting node from the cluster # features/standby_cluster.feature:26 1941s Apr 14 09:59:25 When I shut down postgres-1 # features/steps/basic_replication.py:41 1943s Apr 14 09:59:27 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 1943s Apr 14 09:59:27 And "members/postgres-0" key in DCS has role=primary after 5 seconds # features/steps/cascading_replication.py:23 1944s Apr 14 09:59:28 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:63 1944s Apr 14 09:59:28 Then I receive a response code 200 # features/steps/patroni_api.py:100 1944s Apr 14 09:59:28 1944s Apr 14 09:59:28 Scenario: check replication of a single table in a standby cluster # features/standby_cluster.feature:33 1944s Apr 14 09:59:28 Given I start postgres-1 in a standby cluster batman1 as a clone of postgres-0 # features/steps/standby_cluster.py:23 1947s Apr 14 09:59:31 Then postgres-1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 1948s Apr 14 09:59:32 When I add the table foo to postgres-0 # features/steps/basic_replication.py:66 1948s Apr 14 09:59:32 Then table foo is present on postgres-1 after 20 seconds # features/steps/basic_replication.py:105 1948s Apr 14 09:59:32 When I issue a GET request to http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:63 1948s Apr 14 09:59:32 Then I receive a response code 200 # features/steps/patroni_api.py:100 1948s Apr 14 09:59:32 And I receive a response replication_state streaming # features/steps/patroni_api.py:100 1948s Apr 14 09:59:32 And I sleep for 3 seconds # features/steps/patroni_api.py:41 1951s Apr 14 09:59:35 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:63 1951s Apr 14 09:59:35 Then I receive a response code 503 # features/steps/patroni_api.py:100 1951s Apr 14 09:59:35 When I issue a GET request to http://127.0.0.1:8009/standby_leader # features/steps/patroni_api.py:63 1951s Apr 14 09:59:35 Then I receive a response code 200 # features/steps/patroni_api.py:100 1951s Apr 14 09:59:35 And I receive a response role standby_leader # features/steps/patroni_api.py:100 1951s Apr 14 09:59:35 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 1951s Apr 14 09:59:35 When I start postgres-2 in a cluster batman1 # features/steps/standby_cluster.py:12 1956s Apr 14 09:59:40 Then postgres-2 role is the replica after 24 seconds # features/steps/basic_replication.py:117 1956s Apr 14 09:59:40 And postgres-2 is replicating from postgres-1 after 10 seconds # features/steps/standby_cluster.py:52 1956s Apr 14 09:59:40 And table foo is present on postgres-2 after 20 seconds # features/steps/basic_replication.py:105 1956s Apr 14 09:59:40 When I issue a GET request to http://127.0.0.1:8010/patroni # features/steps/patroni_api.py:63 1956s Apr 14 09:59:40 Then I receive a response code 200 # features/steps/patroni_api.py:100 1956s Apr 14 09:59:40 And I receive a response replication_state streaming # features/steps/patroni_api.py:100 1956s Apr 14 09:59:40 And postgres-1 does not have a replication slot named test_logical # features/steps/slots.py:41 1956s Apr 14 09:59:40 1956s Apr 14 09:59:40 Scenario: check switchover # features/standby_cluster.feature:57 1956s Apr 14 09:59:40 Given I run patronictl.py switchover batman1 --force # features/steps/patroni_api.py:88 1960s Apr 14 09:59:44 Then Status code on GET http://127.0.0.1:8010/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:144 1960s Apr 14 09:59:44 And postgres-1 is replicating from postgres-2 after 32 seconds # features/steps/standby_cluster.py:52 1963s Apr 14 09:59:47 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 1963s Apr 14 09:59:47 1963s Apr 14 09:59:47 Scenario: check failover # features/standby_cluster.feature:63 1963s Apr 14 09:59:47 When I kill postgres-2 # features/steps/basic_replication.py:46 1964s Apr 14 09:59:48 And I kill postmaster on postgres-2 # features/steps/basic_replication.py:56 1964s Apr 14 09:59:48 waiting for server to shut down.... done 1964s Apr 14 09:59:48 server stopped 1964s Apr 14 09:59:48 Then postgres-1 is replicating from postgres-0 after 32 seconds # features/steps/standby_cluster.py:52 1984s Apr 14 10:00:08 And Status code on GET http://127.0.0.1:8009/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:144 1984s Apr 14 10:00:08 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:63 1984s Apr 14 10:00:08 Then I receive a response code 503 # features/steps/patroni_api.py:100 1984s Apr 14 10:00:08 And I receive a response role standby_leader # features/steps/patroni_api.py:100 1984s Apr 14 10:00:08 And replication works from postgres-0 to postgres-1 after 15 seconds # features/steps/basic_replication.py:124 1986s Apr 14 10:00:09 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 1990s Apr 14 10:00:14 1990s Apr 14 10:00:14 Feature: watchdog # features/watchdog.feature:1 1990s Apr 14 10:00:14 Verify that watchdog gets pinged and triggered under appropriate circumstances. 1990s Apr 14 10:00:14 Scenario: watchdog is opened and pinged # features/watchdog.feature:4 1990s Apr 14 10:00:14 Given I start postgres-0 with watchdog # features/steps/watchdog.py:17 1995s Apr 14 10:00:19 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 1995s Apr 14 10:00:19 And postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 1995s Apr 14 10:00:19 And postgres-0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:22 1996s Apr 14 10:00:20 And postgres-0 watchdog has a 15 second timeout # features/steps/watchdog.py:35 1996s Apr 14 10:00:20 1996s Apr 14 10:00:20 Scenario: watchdog is reconfigured after global ttl changed # features/watchdog.feature:11 1996s Apr 14 10:00:20 Given I run patronictl.py edit-config batman -s ttl=30 --force # features/steps/patroni_api.py:88 1997s Apr 14 10:00:21 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 1997s Apr 14 10:00:21 And I receive a response output "+ttl: 30" # features/steps/patroni_api.py:100 1997s Apr 14 10:00:21 When I sleep for 4 seconds # features/steps/patroni_api.py:41 2001s Apr 14 10:00:25 Then postgres-0 watchdog has a 25 second timeout # features/steps/watchdog.py:35 2001s Apr 14 10:00:25 2001s Apr 14 10:00:25 Scenario: watchdog is disabled during pause # features/watchdog.feature:18 2001s Apr 14 10:00:25 Given I run patronictl.py pause batman # features/steps/patroni_api.py:88 2003s Apr 14 10:00:27 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 2003s Apr 14 10:00:27 When I sleep for 2 seconds # features/steps/patroni_api.py:41 2005s Apr 14 10:00:29 Then postgres-0 watchdog has been closed # features/steps/watchdog.py:30 2005s Apr 14 10:00:29 2005s Apr 14 10:00:29 Scenario: watchdog is opened and pinged after resume # features/watchdog.feature:24 2005s Apr 14 10:00:29 Given I reset postgres-0 watchdog state # features/steps/watchdog.py:40 2005s Apr 14 10:00:29 And I run patronictl.py resume batman # features/steps/patroni_api.py:88 2006s Apr 14 10:00:30 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 2006s Apr 14 10:00:30 And postgres-0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:22 2006s Apr 14 10:00:30 2006s Apr 14 10:00:30 Scenario: watchdog is disabled when shutting down # features/watchdog.feature:30 2006s Apr 14 10:00:30 Given I shut down postgres-0 # features/steps/basic_replication.py:41 2008s Apr 14 10:00:32 Then postgres-0 watchdog has been closed # features/steps/watchdog.py:30 2008s Apr 14 10:00:32 2008s Apr 14 10:00:32 Scenario: watchdog is triggered if patroni stops responding # features/watchdog.feature:34 2008s Apr 14 10:00:32 Given I reset postgres-0 watchdog state # features/steps/watchdog.py:40 2008s Apr 14 10:00:32 And I start postgres-0 with watchdog # features/steps/watchdog.py:17 2011s Apr 14 10:00:35 Then postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 2013s Apr 14 10:00:37 When postgres-0 hangs for 30 seconds # features/steps/watchdog.py:53 2013s Apr 14 10:00:37 Then postgres-0 watchdog is triggered after 30 seconds # features/steps/watchdog.py:45 2040s Apr 14 10:01:04 2041s Apr 14 10:01:05 Combined data file .coverage.autopkgtest-lxd-kibpcm.5429.XpcCuiYx 2041s Apr 14 10:01:05 Combined data file .coverage.autopkgtest-lxd-kibpcm.5494.XAFhASkx 2041s Apr 14 10:01:05 Combined data file .coverage.autopkgtest-lxd-kibpcm.5546.XZtITzxx 2041s Apr 14 10:01:05 Combined data file .coverage.autopkgtest-lxd-kibpcm.5605.XYBgWyZx 2041s Apr 14 10:01:05 Combined data file .coverage.autopkgtest-lxd-kibpcm.5654.XqcHEnKx 2041s Apr 14 10:01:05 Combined data file .coverage.autopkgtest-lxd-kibpcm.5731.XhzYevJx 2041s Apr 14 10:01:05 Combined data file .coverage.autopkgtest-lxd-kibpcm.5785.XsyNUSHx 2041s Apr 14 10:01:05 Combined data file .coverage.autopkgtest-lxd-kibpcm.5790.XdYzujBx 2041s Apr 14 10:01:05 Combined data file .coverage.autopkgtest-lxd-kibpcm.5869.XQyKAkJx 2041s Apr 14 10:01:05 Combined data file .coverage.autopkgtest-lxd-kibpcm.5971.XWubDxBx 2041s Apr 14 10:01:05 Combined data file .coverage.autopkgtest-lxd-kibpcm.5989.XEnnoLtx 2041s Apr 14 10:01:05 Combined data file .coverage.autopkgtest-lxd-kibpcm.6035.XasJoQOx 2041s Apr 14 10:01:05 Combined data file .coverage.autopkgtest-lxd-kibpcm.6084.XbEDiAxx 2041s Apr 14 10:01:05 Combined data file .coverage.autopkgtest-lxd-kibpcm.6202.XgrNyhyx 2041s Apr 14 10:01:05 Combined data file .coverage.autopkgtest-lxd-kibpcm.6249.XzoTDUjx 2041s Apr 14 10:01:05 Combined data file .coverage.autopkgtest-lxd-kibpcm.6306.XAwOMIEx 2041s Apr 14 10:01:05 Combined data file .coverage.autopkgtest-lxd-kibpcm.6412.XShBRrMx 2041s Apr 14 10:01:05 Combined data file .coverage.autopkgtest-lxd-kibpcm.6469.XpmrSbOx 2041s Apr 14 10:01:05 Combined data file .coverage.autopkgtest-lxd-kibpcm.6535.XbqsFeJx 2041s Apr 14 10:01:05 Combined data file .coverage.autopkgtest-lxd-kibpcm.6630.XEOIXBax 2041s Apr 14 10:01:05 Combined data file .coverage.autopkgtest-lxd-kibpcm.6736.XSxzdrkx 2041s Apr 14 10:01:05 Combined data file .coverage.autopkgtest-lxd-kibpcm.6781.XQlJQoYx 2041s Apr 14 10:01:05 Combined data file .coverage.autopkgtest-lxd-kibpcm.6845.XEInGJCx 2041s Apr 14 10:01:05 Combined data file .coverage.autopkgtest-lxd-kibpcm.6884.XYCrdMvx 2041s Apr 14 10:01:05 Combined data file .coverage.autopkgtest-lxd-kibpcm.7030.XRcTJIZx 2041s Apr 14 10:01:05 Combined data file .coverage.autopkgtest-lxd-kibpcm.7082.XItSAEpx 2041s Apr 14 10:01:05 Combined data file .coverage.autopkgtest-lxd-kibpcm.7102.XEMxAlPx 2041s Apr 14 10:01:05 Combined data file .coverage.autopkgtest-lxd-kibpcm.7146.XUgANhlx 2041s Apr 14 10:01:05 Combined data file .coverage.autopkgtest-lxd-kibpcm.7198.XefhWcrx 2041s Apr 14 10:01:05 Combined data file .coverage.autopkgtest-lxd-kibpcm.7205.XluVvCrx 2041s Apr 14 10:01:05 Combined data file .coverage.autopkgtest-lxd-kibpcm.7245.XqQdddzx 2041s Apr 14 10:01:05 Combined data file .coverage.autopkgtest-lxd-kibpcm.7291.XfPqNAEx 2041s Apr 14 10:01:05 Combined data file .coverage.autopkgtest-lxd-kibpcm.7421.XVpgTEyx 2041s Apr 14 10:01:05 Combined data file .coverage.autopkgtest-lxd-kibpcm.7425.XNpFWrdx 2041s Apr 14 10:01:05 Combined data file .coverage.autopkgtest-lxd-kibpcm.7433.XpDtefbx 2041s Apr 14 10:01:05 Combined data file .coverage.autopkgtest-lxd-kibpcm.7564.XJFsEdzx 2041s Apr 14 10:01:05 Combined data file .coverage.autopkgtest-lxd-kibpcm.7612.XBfDaKAx 2041s Apr 14 10:01:05 Combined data file .coverage.autopkgtest-lxd-kibpcm.7658.XqRtzOnx 2041s Apr 14 10:01:05 Combined data file .coverage.autopkgtest-lxd-kibpcm.7702.XUUqqjXx 2041s Apr 14 10:01:05 Combined data file .coverage.autopkgtest-lxd-kibpcm.7755.XGgshrXx 2041s Apr 14 10:01:05 Combined data file .coverage.autopkgtest-lxd-kibpcm.7901.Xxhidhzx 2041s Apr 14 10:01:05 Combined data file .coverage.autopkgtest-lxd-kibpcm.7974.XPgnuvPx 2041s Apr 14 10:01:05 Combined data file .coverage.autopkgtest-lxd-kibpcm.8019.XeMAPktx 2041s Apr 14 10:01:05 Combined data file .coverage.autopkgtest-lxd-kibpcm.8096.XnWDEmWx 2041s Apr 14 10:01:05 Combined data file .coverage.autopkgtest-lxd-kibpcm.8176.XCzatRyx 2041s Apr 14 10:01:05 Combined data file .coverage.autopkgtest-lxd-kibpcm.8240.XFPZBHGx 2041s Apr 14 10:01:05 Combined data file .coverage.autopkgtest-lxd-kibpcm.8584.XVVgHIex 2041s Apr 14 10:01:05 Combined data file .coverage.autopkgtest-lxd-kibpcm.8642.XKpxJLsx 2041s Apr 14 10:01:05 Combined data file .coverage.autopkgtest-lxd-kibpcm.8709.XngQRkvx 2041s Apr 14 10:01:05 Combined data file .coverage.autopkgtest-lxd-kibpcm.8807.XXxrMMdx 2041s Apr 14 10:01:05 Combined data file .coverage.autopkgtest-lxd-kibpcm.8858.XEPComux 2041s Apr 14 10:01:05 Combined data file .coverage.autopkgtest-lxd-kibpcm.8919.XKKYlUjx 2041s Apr 14 10:01:05 Combined data file .coverage.autopkgtest-lxd-kibpcm.8964.XTxEJihx 2041s Apr 14 10:01:05 Combined data file .coverage.autopkgtest-lxd-kibpcm.9007.XDEMWxcx 2041s Apr 14 10:01:05 Combined data file .coverage.autopkgtest-lxd-kibpcm.9052.XIPXTYXx 2041s Apr 14 10:01:05 Combined data file .coverage.autopkgtest-lxd-kibpcm.9281.XdguWyyx 2041s Apr 14 10:01:05 Combined data file .coverage.autopkgtest-lxd-kibpcm.9348.XMLdTGdx 2041s Apr 14 10:01:05 Combined data file .coverage.autopkgtest-lxd-kibpcm.9402.XFdZKLAx 2041s Apr 14 10:01:05 Combined data file .coverage.autopkgtest-lxd-kibpcm.9510.XrPdTiix 2041s Apr 14 10:01:05 Combined data file .coverage.autopkgtest-lxd-kibpcm.9641.XcPWBwhx 2041s Apr 14 10:01:05 Combined data file .coverage.autopkgtest-lxd-kibpcm.9789.Xikdwgix 2041s Apr 14 10:01:05 Combined data file .coverage.autopkgtest-lxd-kibpcm.9837.XaLquezx 2041s Apr 14 10:01:05 Skipping duplicate data .coverage.autopkgtest-lxd-kibpcm.9844.XXSSYLwx 2041s Apr 14 10:01:05 Combined data file .coverage.autopkgtest-lxd-kibpcm.9849.XJgGRBOx 2041s Apr 14 10:01:05 Combined data file .coverage.autopkgtest-lxd-kibpcm.9865.XyPZvYxx 2044s Apr 14 10:01:08 Name Stmts Miss Cover 2044s Apr 14 10:01:08 -------------------------------------------------------------------------------------------------------- 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 101 96 5% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/dateutil/__init__.py 13 4 69% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/dateutil/_version.py 13 3 77% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 810 436 46% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 183 150 18% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 240 206 14% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 151 114 25% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 794 626 21% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/dateutil/tz/win.py 152 149 2% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/kazoo/__init__.py 1 0 100% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/kazoo/client.py 629 266 58% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/kazoo/exceptions.py 110 1 99% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/kazoo/handlers/__init__.py 0 0 100% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/kazoo/handlers/threading.py 94 15 84% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/kazoo/handlers/utils.py 222 75 66% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/kazoo/hosts.py 18 4 78% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/kazoo/loggingsupport.py 1 0 100% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/kazoo/protocol/__init__.py 0 0 100% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/kazoo/protocol/connection.py 485 175 64% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/kazoo/protocol/paths.py 33 8 76% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/kazoo/protocol/serialization.py 316 111 65% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/kazoo/protocol/states.py 49 9 82% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/kazoo/python2atexit.py 32 19 41% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/kazoo/recipe/__init__.py 0 0 100% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/kazoo/recipe/barrier.py 97 80 18% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/kazoo/recipe/counter.py 49 36 27% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/kazoo/recipe/election.py 16 10 38% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/kazoo/recipe/lease.py 54 36 33% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/kazoo/recipe/lock.py 295 242 18% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/kazoo/recipe/partitioner.py 155 120 23% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/kazoo/recipe/party.py 62 43 31% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/kazoo/recipe/queue.py 157 126 20% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/kazoo/recipe/watchers.py 172 138 20% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/kazoo/retry.py 60 4 93% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/kazoo/security.py 58 35 40% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/kazoo/version.py 1 0 100% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/patroni/__main__.py 201 64 68% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/patroni/api.py 788 296 62% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 15 84% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/patroni/collections.py 56 5 91% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/patroni/config.py 357 82 77% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/patroni/config_generator.py 212 159 25% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/patroni/daemon.py 76 3 96% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 710 108 85% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/patroni/dcs/zookeeper.py 289 67 77% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/patroni/dynamic_loader.py 35 7 80% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/patroni/file_perm.py 47 10 79% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/patroni/global_config.py 87 0 100% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/patroni/ha.py 1359 387 72% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/patroni/log.py 235 79 66% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 825 170 79% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/patroni/postgresql/available_parameters/__init__.py 24 3 88% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 254 60 76% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 840 219 74% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 1 99% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 43 8 81% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/patroni/postgresql/mpp/__init__.py 89 11 88% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 83 51% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 416 129 69% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 349 38 89% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 154 11 93% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 157 24 85% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/patroni/psycopg.py 46 19 59% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/patroni/quorum.py 182 48 74% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/patroni/request.py 58 7 88% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/patroni/tags.py 38 0 100% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/patroni/utils.py 371 122 67% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/patroni/validator.py 309 215 30% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 46 77% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 35 74% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/psutil/__init__.py 950 629 34% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/psutil/_common.py 422 212 50% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/psutil/_compat.py 301 263 13% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1250 924 26% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/psutil/_psposix.py 95 38 60% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/puresasl/__init__.py 21 2 90% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/puresasl/client.py 71 47 34% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/puresasl/mechanisms.py 363 263 28% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/six.py 505 259 49% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/urllib3/__init__.py 49 15 69% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 63 45 29% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/urllib3/_collections.py 231 125 46% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 54 24 56% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/urllib3/_version.py 13 3 77% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/urllib3/connection.py 389 149 62% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 344 130 62% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/urllib3/exceptions.py 121 39 68% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/urllib3/http2/__init__.py 28 21 25% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/urllib3/http2/probe.py 49 31 37% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 88 62% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/urllib3/response.py 634 393 38% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 9 86% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 52 50% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 17 47% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/urllib3/util/retry.py 174 53 70% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 172 73 58% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 152 106 30% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 19 73% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/urllib3/util/url.py 203 76 63% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 18 31% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 38 22% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/yaml/parser.py 352 180 49% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/yaml/reader.py 122 30 75% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/yaml/scanner.py 758 415 45% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 2044s Apr 14 10:01:08 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 2044s Apr 14 10:01:08 patroni/__init__.py 13 2 85% 2044s Apr 14 10:01:08 patroni/__main__.py 201 201 0% 2044s Apr 14 10:01:08 patroni/api.py 788 788 0% 2044s Apr 14 10:01:08 patroni/async_executor.py 96 69 28% 2044s Apr 14 10:01:08 patroni/collections.py 56 15 73% 2044s Apr 14 10:01:08 patroni/config.py 357 184 48% 2044s Apr 14 10:01:08 patroni/config_generator.py 212 212 0% 2044s Apr 14 10:01:08 patroni/ctl.py 936 395 58% 2044s Apr 14 10:01:08 patroni/daemon.py 76 76 0% 2044s Apr 14 10:01:08 patroni/dcs/__init__.py 710 317 55% 2044s Apr 14 10:01:08 patroni/dcs/consul.py 482 482 0% 2044s Apr 14 10:01:08 patroni/dcs/etcd3.py 679 679 0% 2044s Apr 14 10:01:08 patroni/dcs/etcd.py 603 603 0% 2044s Apr 14 10:01:08 patroni/dcs/exhibitor.py 62 62 0% 2044s Apr 14 10:01:08 patroni/dcs/kubernetes.py 943 943 0% 2044s Apr 14 10:01:08 patroni/dcs/raft.py 319 319 0% 2044s Apr 14 10:01:08 patroni/dcs/zookeeper.py 289 150 48% 2044s Apr 14 10:01:08 patroni/dynamic_loader.py 35 7 80% 2044s Apr 14 10:01:08 patroni/exceptions.py 16 1 94% 2044s Apr 14 10:01:08 patroni/file_perm.py 47 17 64% 2044s Apr 14 10:01:08 patroni/global_config.py 87 19 78% 2044s Apr 14 10:01:08 patroni/ha.py 1359 1359 0% 2044s Apr 14 10:01:08 patroni/log.py 235 183 22% 2044s Apr 14 10:01:08 patroni/postgresql/__init__.py 825 653 21% 2044s Apr 14 10:01:08 patroni/postgresql/available_parameters/__init__.py 24 6 75% 2044s Apr 14 10:01:08 patroni/postgresql/bootstrap.py 254 224 12% 2044s Apr 14 10:01:08 patroni/postgresql/callback_executor.py 55 34 38% 2044s Apr 14 10:01:08 patroni/postgresql/cancellable.py 104 84 19% 2044s Apr 14 10:01:08 patroni/postgresql/config.py 840 720 14% 2044s Apr 14 10:01:08 patroni/postgresql/connection.py 75 50 33% 2044s Apr 14 10:01:08 patroni/postgresql/misc.py 43 30 30% 2044s Apr 14 10:01:08 patroni/postgresql/mpp/__init__.py 89 21 76% 2044s Apr 14 10:01:08 patroni/postgresql/mpp/citus.py 366 366 0% 2044s Apr 14 10:01:08 patroni/postgresql/postmaster.py 170 139 18% 2044s Apr 14 10:01:08 patroni/postgresql/rewind.py 416 416 0% 2044s Apr 14 10:01:08 patroni/postgresql/slots.py 349 300 14% 2044s Apr 14 10:01:08 patroni/postgresql/sync.py 154 114 26% 2044s Apr 14 10:01:08 patroni/postgresql/validator.py 157 52 67% 2044s Apr 14 10:01:08 patroni/psycopg.py 46 32 30% 2044s Apr 14 10:01:08 patroni/quorum.py 182 182 0% 2044s Apr 14 10:01:08 patroni/raft_controller.py 22 22 0% 2044s Apr 14 10:01:08 patroni/request.py 58 6 90% 2044s Apr 14 10:01:08 patroni/scripts/__init__.py 0 0 100% 2044s Apr 14 10:01:08 patroni/scripts/aws.py 59 59 0% 2044s Apr 14 10:01:08 patroni/scripts/barman/__init__.py 0 0 100% 2044s Apr 14 10:01:08 patroni/scripts/barman/cli.py 50 50 0% 2044s Apr 14 10:01:08 patroni/scripts/barman/config_switch.py 50 50 0% 2044s Apr 14 10:01:08 patroni/scripts/barman/recover.py 36 36 0% 2044s Apr 14 10:01:08 patroni/scripts/barman/utils.py 93 93 0% 2044s Apr 14 10:01:08 patroni/scripts/wale_restore.py 207 207 0% 2044s Apr 14 10:01:08 patroni/tags.py 38 11 71% 2044s Apr 14 10:01:08 patroni/utils.py 371 244 34% 2044s Apr 14 10:01:08 patroni/validator.py 309 222 28% 2044s Apr 14 10:01:08 patroni/version.py 1 0 100% 2044s Apr 14 10:01:08 patroni/watchdog/__init__.py 2 2 0% 2044s Apr 14 10:01:08 patroni/watchdog/base.py 203 203 0% 2044s Apr 14 10:01:08 patroni/watchdog/linux.py 135 135 0% 2044s Apr 14 10:01:08 -------------------------------------------------------------------------------------------------------- 2044s Apr 14 10:01:08 TOTAL 41108 24602 40% 2044s Apr 14 10:01:08 12 features passed, 0 failed, 1 skipped 2044s Apr 14 10:01:08 53 scenarios passed, 0 failed, 5 skipped 2044s Apr 14 10:01:08 517 steps passed, 0 failed, 68 skipped, 0 undefined 2044s Apr 14 10:01:08 Took 8m58.787s 2044s + su postgres -p -c 'rm -rf features/output' 2045s ### End 17 acceptance-zookeeper -e dcs_failsafe_mode ### 2045s + echo '### End 17 acceptance-zookeeper -e dcs_failsafe_mode ###' 2045s + rm -f /tmp/pgpass_postgres-0 /tmp/pgpass_postgres-1 /tmp/pgpass_postgres-2 /tmp/pgpass_postgres-3 2045s ++ id -u 2045s + '[' 0 -eq 0 ']' 2045s + '[' -x /etc/init.d/zookeeper ']' 2045s + /etc/init.d/zookeeper stop 2045s Stopping zookeeper (via systemctl): zookeeper.service. 2045s autopkgtest [10:01:09]: test acceptance-zookeeper: -----------------------] 2049s acceptance-zookeeper PASS 2049s autopkgtest [10:01:13]: test acceptance-zookeeper: - - - - - - - - - - results - - - - - - - - - - 2053s autopkgtest [10:01:17]: test acceptance-raft: preparing testbed 2074s autopkgtest [10:01:38]: testbed dpkg architecture: armhf 2076s autopkgtest [10:01:40]: testbed apt version: 3.0.0 2080s autopkgtest [10:01:44]: @@@@@@@@@@@@@@@@@@@@ test bed setup 2081s autopkgtest [10:01:45]: testbed release detected to be: plucky 2089s autopkgtest [10:01:53]: updating testbed package index (apt update) 2091s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [265 kB] 2091s Get:2 http://ftpmaster.internal/ubuntu plucky InRelease [265 kB] 2091s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 2091s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 2092s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [5192 B] 2092s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [9948 B] 2092s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [204 kB] 2092s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf Packages [3452 B] 2092s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf c-n-f Metadata [288 B] 2092s Get:10 http://ftpmaster.internal/ubuntu plucky-proposed/restricted armhf c-n-f Metadata [116 B] 2092s Get:11 http://ftpmaster.internal/ubuntu plucky-proposed/universe armhf Packages [109 kB] 2092s Get:12 http://ftpmaster.internal/ubuntu plucky-proposed/universe armhf c-n-f Metadata [4896 B] 2092s Get:13 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse armhf c-n-f Metadata [116 B] 2092s Get:14 http://ftpmaster.internal/ubuntu plucky/universe Sources [21.1 MB] 2093s Get:15 http://ftpmaster.internal/ubuntu plucky/universe armhf Packages [15.3 MB] 2098s Fetched 37.2 MB in 5s (6896 kB/s) 2099s Reading package lists... 2104s autopkgtest [10:02:08]: upgrading testbed (apt dist-upgrade and autopurge) 2106s Reading package lists... 2106s Building dependency tree... 2106s Reading state information... 2107s Calculating upgrade...Starting pkgProblemResolver with broken count: 0 2107s Starting 2 pkgProblemResolver with broken count: 0 2107s Done 2108s Entering ResolveByKeep 2108s 2108s Calculating upgrade... 2109s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2111s Reading package lists... 2111s Building dependency tree... 2111s Reading state information... 2112s Starting pkgProblemResolver with broken count: 0 2112s Starting 2 pkgProblemResolver with broken count: 0 2112s Done 2113s Solving dependencies... 2114s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2116s autopkgtest [10:02:20]: rebooting testbed after setup commands that affected boot 2178s Reading package lists... 2179s Building dependency tree... 2179s Reading state information... 2179s Starting pkgProblemResolver with broken count: 0 2179s Starting 2 pkgProblemResolver with broken count: 0 2179s Done 2180s The following NEW packages will be installed: 2180s fonts-font-awesome fonts-lato libio-pty-perl libipc-run-perl libjs-jquery 2180s libjs-sphinxdoc libjs-underscore libjson-perl libllvm20 libpq5 2180s libtime-duration-perl libtimedate-perl libxslt1.1 moreutils patroni 2180s patroni-doc postgresql postgresql-17 postgresql-client-17 2180s postgresql-client-common postgresql-common postgresql-common-dev 2180s python3-behave python3-click python3-coverage python3-parse 2180s python3-parse-type python3-prettytable python3-psutil python3-psycopg2 2180s python3-pysyncobj python3-wcwidth python3-ydiff sphinx-rtd-theme-common 2180s ssl-cert 2180s 0 upgraded, 35 newly installed, 0 to remove and 0 not upgraded. 2180s Need to get 53.0 MB of archives. 2180s After this operation, 212 MB of additional disk space will be used. 2180s Get:1 http://ftpmaster.internal/ubuntu plucky/main armhf fonts-lato all 2.015-1 [2781 kB] 2180s Get:2 http://ftpmaster.internal/ubuntu plucky/main armhf libjson-perl all 4.10000-1 [81.9 kB] 2180s Get:3 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql-client-common all 274 [47.6 kB] 2180s Get:4 http://ftpmaster.internal/ubuntu plucky/main armhf libio-pty-perl armhf 1:1.20-1build3 [31.0 kB] 2180s Get:5 http://ftpmaster.internal/ubuntu plucky/main armhf libipc-run-perl all 20231003.0-2 [91.5 kB] 2180s Get:6 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql-common-dev all 274 [73.0 kB] 2181s Get:7 http://ftpmaster.internal/ubuntu plucky/main armhf ssl-cert all 1.1.3ubuntu1 [18.7 kB] 2181s Get:8 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql-common all 274 [101 kB] 2181s Get:9 http://ftpmaster.internal/ubuntu plucky/main armhf fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 2181s Get:10 http://ftpmaster.internal/ubuntu plucky/main armhf libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 2181s Get:11 http://ftpmaster.internal/ubuntu plucky/main armhf libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 2181s Get:12 http://ftpmaster.internal/ubuntu plucky/main armhf libjs-sphinxdoc all 8.1.3-5 [31.0 kB] 2181s Get:13 http://ftpmaster.internal/ubuntu plucky/main armhf libllvm20 armhf 1:20.1.2-0ubuntu1 [29.6 MB] 2181s Get:14 http://ftpmaster.internal/ubuntu plucky/main armhf libpq5 armhf 17.4-1 [125 kB] 2181s Get:15 http://ftpmaster.internal/ubuntu plucky/main armhf libtime-duration-perl all 1.21-2 [12.3 kB] 2181s Get:16 http://ftpmaster.internal/ubuntu plucky/main armhf libtimedate-perl all 2.3300-2 [34.0 kB] 2181s Get:17 http://ftpmaster.internal/ubuntu plucky/main armhf libxslt1.1 armhf 1.1.39-0exp1ubuntu4 [151 kB] 2181s Get:18 http://ftpmaster.internal/ubuntu plucky/universe armhf moreutils armhf 0.69-1 [53.5 kB] 2181s Get:19 http://ftpmaster.internal/ubuntu plucky/main armhf python3-click all 8.2.0+0.really.8.1.8-1 [80.0 kB] 2181s Get:20 http://ftpmaster.internal/ubuntu plucky/main armhf python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 2181s Get:21 http://ftpmaster.internal/ubuntu plucky/main armhf python3-prettytable all 3.12.0-1 [36.5 kB] 2181s Get:22 http://ftpmaster.internal/ubuntu plucky/main armhf python3-psutil armhf 5.9.8-2build3 [194 kB] 2181s Get:23 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-ydiff all 1.4.2-1 [19.0 kB] 2181s Get:24 http://ftpmaster.internal/ubuntu plucky/main armhf python3-psycopg2 armhf 2.9.10-1build1 [125 kB] 2181s Get:25 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-pysyncobj all 0.3.14-2 [61.9 kB] 2181s Get:26 http://ftpmaster.internal/ubuntu plucky-proposed/universe armhf patroni all 4.0.4-8 [282 kB] 2182s Get:27 http://ftpmaster.internal/ubuntu plucky/main armhf sphinx-rtd-theme-common all 3.0.2+dfsg-2 [1014 kB] 2182s Get:28 http://ftpmaster.internal/ubuntu plucky-proposed/universe armhf patroni-doc all 4.0.4-8 [526 kB] 2182s Get:29 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql-client-17 armhf 17.4-1 [1285 kB] 2182s Get:30 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql-17 armhf 17.4-1 [14.8 MB] 2182s Get:31 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql all 17+274 [14.4 kB] 2182s Get:32 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-parse all 1.20.2-1 [27.0 kB] 2182s Get:33 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-parse-type all 0.6.4-2 [23.5 kB] 2182s Get:34 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-behave all 1.2.6-6 [98.6 kB] 2182s Get:35 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-coverage armhf 7.6.0+dfsg1-2build1 [152 kB] 2183s Preconfiguring packages ... 2183s /var/cache/debconf/tmp.ci/postgresql.config.kkVwQk: 12: pg_lsclusters: not found 2183s Fetched 53.0 MB in 2s (24.1 MB/s) 2183s Selecting previously unselected package fonts-lato. 2183s (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 ... 63969 files and directories currently installed.) 2183s Preparing to unpack .../00-fonts-lato_2.015-1_all.deb ... 2183s Unpacking fonts-lato (2.015-1) ... 2183s Selecting previously unselected package libjson-perl. 2183s Preparing to unpack .../01-libjson-perl_4.10000-1_all.deb ... 2183s Unpacking libjson-perl (4.10000-1) ... 2183s Selecting previously unselected package postgresql-client-common. 2183s Preparing to unpack .../02-postgresql-client-common_274_all.deb ... 2183s Unpacking postgresql-client-common (274) ... 2183s Selecting previously unselected package libio-pty-perl. 2183s Preparing to unpack .../03-libio-pty-perl_1%3a1.20-1build3_armhf.deb ... 2183s Unpacking libio-pty-perl (1:1.20-1build3) ... 2183s Selecting previously unselected package libipc-run-perl. 2183s Preparing to unpack .../04-libipc-run-perl_20231003.0-2_all.deb ... 2183s Unpacking libipc-run-perl (20231003.0-2) ... 2183s Selecting previously unselected package postgresql-common-dev. 2183s Preparing to unpack .../05-postgresql-common-dev_274_all.deb ... 2183s Unpacking postgresql-common-dev (274) ... 2183s Selecting previously unselected package ssl-cert. 2183s Preparing to unpack .../06-ssl-cert_1.1.3ubuntu1_all.deb ... 2183s Unpacking ssl-cert (1.1.3ubuntu1) ... 2183s Selecting previously unselected package postgresql-common. 2183s Preparing to unpack .../07-postgresql-common_274_all.deb ... 2183s Adding 'diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common' 2183s Unpacking postgresql-common (274) ... 2183s Selecting previously unselected package fonts-font-awesome. 2183s Preparing to unpack .../08-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 2183s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 2183s Selecting previously unselected package libjs-jquery. 2183s Preparing to unpack .../09-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 2184s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 2184s Selecting previously unselected package libjs-underscore. 2184s Preparing to unpack .../10-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 2184s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 2184s Selecting previously unselected package libjs-sphinxdoc. 2184s Preparing to unpack .../11-libjs-sphinxdoc_8.1.3-5_all.deb ... 2184s Unpacking libjs-sphinxdoc (8.1.3-5) ... 2184s Selecting previously unselected package libllvm20:armhf. 2184s Preparing to unpack .../12-libllvm20_1%3a20.1.2-0ubuntu1_armhf.deb ... 2184s Unpacking libllvm20:armhf (1:20.1.2-0ubuntu1) ... 2185s Selecting previously unselected package libpq5:armhf. 2185s Preparing to unpack .../13-libpq5_17.4-1_armhf.deb ... 2185s Unpacking libpq5:armhf (17.4-1) ... 2185s Selecting previously unselected package libtime-duration-perl. 2185s Preparing to unpack .../14-libtime-duration-perl_1.21-2_all.deb ... 2185s Unpacking libtime-duration-perl (1.21-2) ... 2185s Selecting previously unselected package libtimedate-perl. 2185s Preparing to unpack .../15-libtimedate-perl_2.3300-2_all.deb ... 2185s Unpacking libtimedate-perl (2.3300-2) ... 2185s Selecting previously unselected package libxslt1.1:armhf. 2185s Preparing to unpack .../16-libxslt1.1_1.1.39-0exp1ubuntu4_armhf.deb ... 2185s Unpacking libxslt1.1:armhf (1.1.39-0exp1ubuntu4) ... 2185s Selecting previously unselected package moreutils. 2185s Preparing to unpack .../17-moreutils_0.69-1_armhf.deb ... 2185s Unpacking moreutils (0.69-1) ... 2185s Selecting previously unselected package python3-click. 2185s Preparing to unpack .../18-python3-click_8.2.0+0.really.8.1.8-1_all.deb ... 2185s Unpacking python3-click (8.2.0+0.really.8.1.8-1) ... 2185s Selecting previously unselected package python3-wcwidth. 2185s Preparing to unpack .../19-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 2185s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 2185s Selecting previously unselected package python3-prettytable. 2185s Preparing to unpack .../20-python3-prettytable_3.12.0-1_all.deb ... 2185s Unpacking python3-prettytable (3.12.0-1) ... 2185s Selecting previously unselected package python3-psutil. 2185s Preparing to unpack .../21-python3-psutil_5.9.8-2build3_armhf.deb ... 2185s Unpacking python3-psutil (5.9.8-2build3) ... 2185s Selecting previously unselected package python3-ydiff. 2185s Preparing to unpack .../22-python3-ydiff_1.4.2-1_all.deb ... 2185s Unpacking python3-ydiff (1.4.2-1) ... 2185s Selecting previously unselected package python3-psycopg2. 2185s Preparing to unpack .../23-python3-psycopg2_2.9.10-1build1_armhf.deb ... 2185s Unpacking python3-psycopg2 (2.9.10-1build1) ... 2185s Selecting previously unselected package python3-pysyncobj. 2185s Preparing to unpack .../24-python3-pysyncobj_0.3.14-2_all.deb ... 2185s Unpacking python3-pysyncobj (0.3.14-2) ... 2185s Selecting previously unselected package patroni. 2185s Preparing to unpack .../25-patroni_4.0.4-8_all.deb ... 2185s Unpacking patroni (4.0.4-8) ... 2185s Selecting previously unselected package sphinx-rtd-theme-common. 2185s Preparing to unpack .../26-sphinx-rtd-theme-common_3.0.2+dfsg-2_all.deb ... 2185s Unpacking sphinx-rtd-theme-common (3.0.2+dfsg-2) ... 2185s Selecting previously unselected package patroni-doc. 2185s Preparing to unpack .../27-patroni-doc_4.0.4-8_all.deb ... 2185s Unpacking patroni-doc (4.0.4-8) ... 2185s Selecting previously unselected package postgresql-client-17. 2185s Preparing to unpack .../28-postgresql-client-17_17.4-1_armhf.deb ... 2185s Unpacking postgresql-client-17 (17.4-1) ... 2185s Selecting previously unselected package postgresql-17. 2186s Preparing to unpack .../29-postgresql-17_17.4-1_armhf.deb ... 2186s Unpacking postgresql-17 (17.4-1) ... 2186s Selecting previously unselected package postgresql. 2186s Preparing to unpack .../30-postgresql_17+274_all.deb ... 2186s Unpacking postgresql (17+274) ... 2186s Selecting previously unselected package python3-parse. 2186s Preparing to unpack .../31-python3-parse_1.20.2-1_all.deb ... 2186s Unpacking python3-parse (1.20.2-1) ... 2186s Selecting previously unselected package python3-parse-type. 2186s Preparing to unpack .../32-python3-parse-type_0.6.4-2_all.deb ... 2186s Unpacking python3-parse-type (0.6.4-2) ... 2186s Selecting previously unselected package python3-behave. 2186s Preparing to unpack .../33-python3-behave_1.2.6-6_all.deb ... 2186s Unpacking python3-behave (1.2.6-6) ... 2186s Selecting previously unselected package python3-coverage. 2186s Preparing to unpack .../34-python3-coverage_7.6.0+dfsg1-2build1_armhf.deb ... 2186s Unpacking python3-coverage (7.6.0+dfsg1-2build1) ... 2186s Setting up postgresql-client-common (274) ... 2186s Setting up fonts-lato (2.015-1) ... 2186s Setting up libio-pty-perl (1:1.20-1build3) ... 2186s Setting up python3-pysyncobj (0.3.14-2) ... 2187s Setting up python3-ydiff (1.4.2-1) ... 2187s Setting up libpq5:armhf (17.4-1) ... 2187s Setting up python3-coverage (7.6.0+dfsg1-2build1) ... 2187s Setting up python3-click (8.2.0+0.really.8.1.8-1) ... 2187s Setting up python3-psutil (5.9.8-2build3) ... 2188s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 2188s Setting up ssl-cert (1.1.3ubuntu1) ... 2188s Created symlink '/etc/systemd/system/multi-user.target.wants/ssl-cert.service' → '/usr/lib/systemd/system/ssl-cert.service'. 2189s Setting up libllvm20:armhf (1:20.1.2-0ubuntu1) ... 2189s Setting up python3-psycopg2 (2.9.10-1build1) ... 2189s Setting up libipc-run-perl (20231003.0-2) ... 2189s Setting up libtime-duration-perl (1.21-2) ... 2189s Setting up libtimedate-perl (2.3300-2) ... 2189s Setting up python3-parse (1.20.2-1) ... 2189s Setting up libjson-perl (4.10000-1) ... 2189s Setting up libxslt1.1:armhf (1.1.39-0exp1ubuntu4) ... 2189s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 2189s Setting up python3-prettytable (3.12.0-1) ... 2189s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 2189s Setting up sphinx-rtd-theme-common (3.0.2+dfsg-2) ... 2189s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 2189s Setting up postgresql-common-dev (274) ... 2189s Setting up moreutils (0.69-1) ... 2189s Setting up postgresql-client-17 (17.4-1) ... 2190s 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 2190s Setting up python3-parse-type (0.6.4-2) ... 2190s Setting up postgresql-common (274) ... 2191s Creating config file /etc/postgresql-common/createcluster.conf with new version 2191s Building PostgreSQL dictionaries from installed myspell/hunspell packages... 2191s Removing obsolete dictionary files: 2192s Created symlink '/etc/systemd/system/multi-user.target.wants/postgresql.service' → '/usr/lib/systemd/system/postgresql.service'. 2192s Setting up libjs-sphinxdoc (8.1.3-5) ... 2192s Setting up python3-behave (1.2.6-6) ... 2192s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 2192s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 2192s /usr/lib/python3/dist-packages/behave/matchers.py:284: SyntaxWarning: invalid escape sequence '\d' 2192s @parse.with_pattern(r"\d+") 2192s Setting up patroni (4.0.4-8) ... 2193s Created symlink '/etc/systemd/system/multi-user.target.wants/patroni.service' → '/usr/lib/systemd/system/patroni.service'. 2193s Setting up postgresql-17 (17.4-1) ... 2195s Creating new PostgreSQL cluster 17/main ... 2195s /usr/lib/postgresql/17/bin/initdb -D /var/lib/postgresql/17/main --auth-local peer --auth-host scram-sha-256 --no-instructions 2195s The files belonging to this database system will be owned by user "postgres". 2195s This user must also own the server process. 2195s 2195s The database cluster will be initialized with locale "C.UTF-8". 2195s The default database encoding has accordingly been set to "UTF8". 2195s The default text search configuration will be set to "english". 2195s 2195s Data page checksums are disabled. 2195s 2195s fixing permissions on existing directory /var/lib/postgresql/17/main ... ok 2195s creating subdirectories ... ok 2195s selecting dynamic shared memory implementation ... posix 2195s selecting default "max_connections" ... 100 2195s selecting default "shared_buffers" ... 128MB 2195s selecting default time zone ... Etc/UTC 2195s creating configuration files ... ok 2195s running bootstrap script ... ok 2196s performing post-bootstrap initialization ... ok 2196s syncing data to disk ... ok 2199s Setting up patroni-doc (4.0.4-8) ... 2199s Setting up postgresql (17+274) ... 2199s Processing triggers for man-db (2.13.0-1) ... 2201s Processing triggers for libc-bin (2.41-6ubuntu1) ... 2216s autopkgtest [10:04:00]: test acceptance-raft: debian/tests/acceptance raft 2216s autopkgtest [10:04:00]: test acceptance-raft: [----------------------- 2218s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 2218s ++ ls -1r /usr/lib/postgresql/ 2218s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 2218s + '[' 17 == 10 -o 17 == 11 ']' 2218s + echo '### PostgreSQL 17 acceptance-raft ###' 2218s + 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' 2218s ### PostgreSQL 17 acceptance-raft ### 2224s Apr 14 10:04:08 Feature: basic replication # features/basic_replication.feature:1 2224s Apr 14 10:04:08 We should check that the basic bootstrapping, replication and failover works. 2224s Apr 14 10:04:08 Scenario: check replication of a single table # features/basic_replication.feature:4 2224s Apr 14 10:04:08 Given I start postgres-0 # features/steps/basic_replication.py:20 2229s Apr 14 10:04:13 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 2230s Apr 14 10:04:14 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2230s Apr 14 10:04:14 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 2230s Apr 14 10:04:14 Then I receive a response code 200 # features/steps/patroni_api.py:100 2230s Apr 14 10:04:14 When I start postgres-1 # features/steps/basic_replication.py:20 2235s Apr 14 10:04:19 And I configure and start postgres-2 with a tag replicatefrom postgres-0 # features/steps/cascading_replication.py:7 2241s Apr 14 10:04:24 And "sync" key in DCS has leader=postgres-0 after 20 seconds # features/steps/cascading_replication.py:23 2241s Apr 14 10:04:24 And I add the table foo to postgres-0 # features/steps/basic_replication.py:66 2241s Apr 14 10:04:24 Then table foo is present on postgres-1 after 20 seconds # features/steps/basic_replication.py:105 2241s Apr 14 10:04:25 Then table foo is present on postgres-2 after 20 seconds # features/steps/basic_replication.py:105 2241s Apr 14 10:04:25 2241s Apr 14 10:04:25 Scenario: check restart of sync replica # features/basic_replication.feature:17 2241s Apr 14 10:04:25 Given I shut down postgres-2 # features/steps/basic_replication.py:41 2242s Apr 14 10:04:26 Then "sync" key in DCS has sync_standby=postgres-1 after 5 seconds # features/steps/cascading_replication.py:23 2242s Apr 14 10:04:26 When I start postgres-2 # features/steps/basic_replication.py:20 2245s Apr 14 10:04:29 And I shut down postgres-1 # features/steps/basic_replication.py:41 2248s Apr 14 10:04:32 Then "sync" key in DCS has sync_standby=postgres-2 after 10 seconds # features/steps/cascading_replication.py:23 2249s Apr 14 10:04:33 When I start postgres-1 # features/steps/basic_replication.py:20 2252s Apr 14 10:04:36 Then "members/postgres-1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2252s Apr 14 10:04:36 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:144 2252s Apr 14 10:04:36 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:144 2252s Apr 14 10:04:36 2252s Apr 14 10:04:36 Scenario: check stuck sync replica # features/basic_replication.feature:28 2252s Apr 14 10:04:36 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 2253s Apr 14 10:04:36 Then I receive a response code 200 # features/steps/patroni_api.py:100 2253s Apr 14 10:04:36 And I create table on postgres-0 # features/steps/basic_replication.py:85 2253s Apr 14 10:04:36 And table mytest is present on postgres-1 after 2 seconds # features/steps/basic_replication.py:105 2254s Apr 14 10:04:37 And table mytest is present on postgres-2 after 2 seconds # features/steps/basic_replication.py:105 2254s Apr 14 10:04:38 When I pause wal replay on postgres-2 # features/steps/basic_replication.py:76 2254s Apr 14 10:04:38 And I load data on postgres-0 # features/steps/basic_replication.py:96 2254s Apr 14 10:04:38 Then "sync" key in DCS has sync_standby=postgres-1 after 15 seconds # features/steps/cascading_replication.py:23 2257s Apr 14 10:04:41 And I resume wal replay on postgres-2 # features/steps/basic_replication.py:76 2257s Apr 14 10:04:41 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:144 2257s Apr 14 10:04:41 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:144 2257s Apr 14 10:04:41 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 2257s Apr 14 10:04:41 Then I receive a response code 200 # features/steps/patroni_api.py:100 2257s Apr 14 10:04:41 And I drop table on postgres-0 # features/steps/basic_replication.py:85 2257s Apr 14 10:04:41 2257s Apr 14 10:04:41 Scenario: check multi sync replication # features/basic_replication.feature:44 2257s Apr 14 10:04:41 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 2257s Apr 14 10:04:41 Then I receive a response code 200 # features/steps/patroni_api.py:100 2257s Apr 14 10:04:41 Then "sync" key in DCS has sync_standby=postgres-1,postgres-2 after 10 seconds # features/steps/cascading_replication.py:23 2262s Apr 14 10:04:45 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:144 2262s Apr 14 10:04:46 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:144 2262s Apr 14 10:04:46 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 2262s Apr 14 10:04:46 Then I receive a response code 200 # features/steps/patroni_api.py:100 2262s Apr 14 10:04:46 And I shut down postgres-1 # features/steps/basic_replication.py:41 2265s Apr 14 10:04:49 Then "sync" key in DCS has sync_standby=postgres-2 after 10 seconds # features/steps/cascading_replication.py:23 2266s Apr 14 10:04:50 When I start postgres-1 # features/steps/basic_replication.py:20 2269s Apr 14 10:04:53 Then "members/postgres-1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2269s Apr 14 10:04:53 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:144 2269s Apr 14 10:04:53 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:144 2269s Apr 14 10:04:53 2269s Apr 14 10:04:53 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 2269s Apr 14 10:04:53 Given I run patronictl.py pause batman # features/steps/patroni_api.py:88 2271s Apr 14 10:04:55 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 2271s Apr 14 10:04:55 When I sleep for 2 seconds # features/steps/patroni_api.py:41 2273s Apr 14 10:04:57 And I shut down postgres-0 # features/steps/basic_replication.py:41 2274s Apr 14 10:04:58 And I run patronictl.py resume batman # features/steps/patroni_api.py:88 2275s Apr 14 10:04:59 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 2275s Apr 14 10:04:59 And postgres-2 role is the primary after 24 seconds # features/steps/basic_replication.py:117 2294s Apr 14 10:05:18 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:158 2296s Apr 14 10:05:20 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 2296s Apr 14 10:05:20 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 2296s Apr 14 10:05:20 Then I receive a response code 200 # features/steps/patroni_api.py:100 2296s Apr 14 10:05:20 When I add the table bar to postgres-2 # features/steps/basic_replication.py:66 2296s Apr 14 10:05:20 Then table bar is present on postgres-1 after 20 seconds # features/steps/basic_replication.py:105 2297s Apr 14 10:05:20 And Response on GET http://127.0.0.1:8010/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:158 2299s Apr 14 10:05:23 2299s Apr 14 10:05:23 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 2299s Apr 14 10:05:23 Given I add the table splitbrain to postgres-0 # features/steps/basic_replication.py:66 2299s Apr 14 10:05:23 And I start postgres-0 # features/steps/basic_replication.py:20 2299s Apr 14 10:05:23 Then postgres-0 role is the secondary after 20 seconds # features/steps/basic_replication.py:117 2303s Apr 14 10:05:27 When I add the table buz to postgres-2 # features/steps/basic_replication.py:66 2303s Apr 14 10:05:27 Then table buz is present on postgres-0 after 20 seconds # features/steps/basic_replication.py:105 2307s SKIP Scenario check graceful rejection when two nodes have the same name: Flaky test with Raft 2320s Apr 14 10:05:44 2320s Apr 14 10:05:44 @reject-duplicate-name 2320s Apr 14 10:05:44 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 2320s Apr 14 10:05:44 Given I start duplicate postgres-0 on port 8011 # None 2320s Apr 14 10:05:44 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 2320s Apr 14 10:05:44 2320s Apr 14 10:05:44 Feature: cascading replication # features/cascading_replication.feature:1 2320s Apr 14 10:05:44 We should check that patroni can do base backup and streaming from the replica 2320s Apr 14 10:05:44 Scenario: check a base backup and streaming replication from a replica # features/cascading_replication.feature:4 2320s Apr 14 10:05:44 Given I start postgres-0 # features/steps/basic_replication.py:20 2335s Apr 14 10:05:59 And postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 2336s Apr 14 10:06:00 And I configure and start postgres-1 with a tag clonefrom true # features/steps/cascading_replication.py:7 2342s Apr 14 10:06:05 And replication works from postgres-0 to postgres-1 after 20 seconds # features/steps/basic_replication.py:124 2343s Apr 14 10:06:07 And I create label with "postgres-0" in postgres-0 data directory # features/steps/cascading_replication.py:18 2343s Apr 14 10:06:07 And I create label with "postgres-1" in postgres-1 data directory # features/steps/cascading_replication.py:18 2343s Apr 14 10:06:07 And "members/postgres-1" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 2343s Apr 14 10:06:07 And I configure and start postgres-2 with a tag replicatefrom postgres-1 # features/steps/cascading_replication.py:7 2348s Apr 14 10:06:12 Then replication works from postgres-0 to postgres-2 after 30 seconds # features/steps/basic_replication.py:124 2349s Apr 14 10:06:13 And there is a label with "postgres-1" in postgres-2 data directory # features/steps/cascading_replication.py:12 2364s SKIP FEATURE citus: Citus extension isn't available 2364s SKIP Scenario check that worker cluster is registered in the coordinator: Citus extension isn't available 2364s SKIP Scenario coordinator failover updates pg_dist_node: Citus extension isn't available 2364s SKIP Scenario worker switchover doesn't break client queries on the coordinator: Citus extension isn't available 2364s SKIP Scenario worker primary restart doesn't break client queries on the coordinator: Citus extension isn't available 2364s 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 2364s Apr 14 10:06:28 2364s Apr 14 10:06:28 Feature: citus # features/citus.feature:1 2364s Apr 14 10:06:28 We should check that coordinator discovers and registers workers and clients don't have errors when worker cluster switches over 2364s Apr 14 10:06:28 Scenario: check that worker cluster is registered in the coordinator # features/citus.feature:4 2364s Apr 14 10:06:28 Given I start postgres-0 in citus group 0 # None 2364s Apr 14 10:06:28 And I start postgres-2 in citus group 1 # None 2364s Apr 14 10:06:28 Then postgres-0 is a leader in a group 0 after 10 seconds # None 2364s Apr 14 10:06:28 And postgres-2 is a leader in a group 1 after 10 seconds # None 2364s Apr 14 10:06:28 When I start postgres-1 in citus group 0 # None 2364s Apr 14 10:06:28 And I start postgres-3 in citus group 1 # None 2364s Apr 14 10:06:28 Then replication works from postgres-0 to postgres-1 after 15 seconds # None 2364s Apr 14 10:06:28 Then replication works from postgres-2 to postgres-3 after 15 seconds # None 2364s Apr 14 10:06:28 And postgres-0 is registered in the postgres-0 as the primary in group 0 after 5 seconds # None 2364s Apr 14 10:06:28 And postgres-1 is registered in the postgres-0 as the secondary in group 0 after 5 seconds # None 2364s Apr 14 10:06:28 And postgres-2 is registered in the postgres-0 as the primary in group 1 after 5 seconds # None 2364s Apr 14 10:06:28 And postgres-3 is registered in the postgres-0 as the secondary in group 1 after 5 seconds # None 2364s Apr 14 10:06:28 2364s Apr 14 10:06:28 Scenario: coordinator failover updates pg_dist_node # features/citus.feature:18 2364s Apr 14 10:06:28 Given I run patronictl.py failover batman --group 0 --candidate postgres-1 --force # None 2364s Apr 14 10:06:28 Then postgres-1 role is the primary after 10 seconds # None 2364s Apr 14 10:06:28 And "members/postgres-0" key in a group 0 in DCS has state=running after 15 seconds # None 2364s Apr 14 10:06:28 And replication works from postgres-1 to postgres-0 after 15 seconds # None 2364s Apr 14 10:06:28 And postgres-1 is registered in the postgres-2 as the primary in group 0 after 5 seconds # None 2364s Apr 14 10:06:28 And postgres-0 is registered in the postgres-2 as the secondary in group 0 after 15 seconds # None 2364s Apr 14 10:06:28 And "sync" key in a group 0 in DCS has sync_standby=postgres-0 after 15 seconds # None 2364s Apr 14 10:06:28 When I run patronictl.py switchover batman --group 0 --candidate postgres-0 --force # None 2364s Apr 14 10:06:28 Then postgres-0 role is the primary after 10 seconds # None 2364s Apr 14 10:06:28 And replication works from postgres-0 to postgres-1 after 15 seconds # None 2364s Apr 14 10:06:28 And postgres-0 is registered in the postgres-2 as the primary in group 0 after 5 seconds # None 2364s Apr 14 10:06:28 And postgres-1 is registered in the postgres-2 as the secondary in group 0 after 15 seconds # None 2364s Apr 14 10:06:28 And "sync" key in a group 0 in DCS has sync_standby=postgres-1 after 15 seconds # None 2364s Apr 14 10:06:28 2364s Apr 14 10:06:28 Scenario: worker switchover doesn't break client queries on the coordinator # features/citus.feature:33 2364s Apr 14 10:06:28 Given I create a distributed table on postgres-0 # None 2364s Apr 14 10:06:28 And I start a thread inserting data on postgres-0 # None 2364s Apr 14 10:06:28 When I run patronictl.py switchover batman --group 1 --force # None 2364s Apr 14 10:06:28 Then I receive a response returncode 0 # None 2364s Apr 14 10:06:28 And postgres-3 role is the primary after 10 seconds # None 2364s Apr 14 10:06:28 And "members/postgres-2" key in a group 1 in DCS has state=running after 15 seconds # None 2364s Apr 14 10:06:28 And replication works from postgres-3 to postgres-2 after 15 seconds # None 2364s Apr 14 10:06:28 And postgres-3 is registered in the postgres-0 as the primary in group 1 after 5 seconds # None 2364s Apr 14 10:06:28 And postgres-2 is registered in the postgres-0 as the secondary in group 1 after 15 seconds # None 2364s Apr 14 10:06:28 And "sync" key in a group 1 in DCS has sync_standby=postgres-2 after 15 seconds # None 2364s Apr 14 10:06:28 And a thread is still alive # None 2364s Apr 14 10:06:28 When I run patronictl.py switchover batman --group 1 --force # None 2364s Apr 14 10:06:28 Then I receive a response returncode 0 # None 2364s Apr 14 10:06:28 And postgres-2 role is the primary after 10 seconds # None 2364s Apr 14 10:06:28 And replication works from postgres-2 to postgres-3 after 15 seconds # None 2364s Apr 14 10:06:28 And postgres-2 is registered in the postgres-0 as the primary in group 1 after 5 seconds # None 2364s Apr 14 10:06:28 And postgres-3 is registered in the postgres-0 as the secondary in group 1 after 15 seconds # None 2364s Apr 14 10:06:28 And "sync" key in a group 1 in DCS has sync_standby=postgres-3 after 15 seconds # None 2364s Apr 14 10:06:28 And a thread is still alive # None 2364s Apr 14 10:06:28 When I stop a thread # None 2364s Apr 14 10:06:28 Then a distributed table on postgres-0 has expected rows # None 2364s Apr 14 10:06:28 2364s Apr 14 10:06:28 Scenario: worker primary restart doesn't break client queries on the coordinator # features/citus.feature:56 2364s Apr 14 10:06:28 Given I cleanup a distributed table on postgres-0 # None 2364s Apr 14 10:06:28 And I start a thread inserting data on postgres-0 # None 2364s Apr 14 10:06:28 When I run patronictl.py restart batman postgres-2 --group 1 --force # None 2364s Apr 14 10:06:28 Then I receive a response returncode 0 # None 2364s Apr 14 10:06:28 And postgres-2 role is the primary after 10 seconds # None 2364s Apr 14 10:06:28 And replication works from postgres-2 to postgres-3 after 15 seconds # None 2364s Apr 14 10:06:28 And postgres-2 is registered in the postgres-0 as the primary in group 1 after 5 seconds # None 2364s Apr 14 10:06:28 And postgres-3 is registered in the postgres-0 as the secondary in group 1 after 15 seconds # None 2364s Apr 14 10:06:28 And a thread is still alive # None 2364s Apr 14 10:06:28 When I stop a thread # None 2364s Apr 14 10:06:28 Then a distributed table on postgres-0 has expected rows # None 2371s Apr 14 10:06:35 2371s Apr 14 10:06:35 Scenario: check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node # features/citus.feature:69 2371s Apr 14 10:06:35 Given I start postgres-4 in citus group 2 # None 2371s Apr 14 10:06:35 Then postgres-4 is a leader in a group 2 after 10 seconds # None 2371s Apr 14 10:06:35 And "members/postgres-4" key in a group 2 in DCS has role=primary after 3 seconds # None 2371s Apr 14 10:06:35 When I run patronictl.py edit-config batman --group 2 -s ttl=20 --force # None 2371s Apr 14 10:06:35 Then I receive a response returncode 0 # None 2371s Apr 14 10:06:35 And I receive a response output "+ttl: 20" # None 2371s Apr 14 10:06:35 Then postgres-4 is registered in the postgres-2 as the primary in group 2 after 5 seconds # None 2371s Apr 14 10:06:35 When I shut down postgres-4 # None 2371s Apr 14 10:06:35 Then there is a transaction in progress on postgres-0 changing pg_dist_node after 5 seconds # None 2371s Apr 14 10:06:35 When I run patronictl.py restart batman postgres-2 --group 1 --force # None 2371s Apr 14 10:06:35 Then a transaction finishes in 20 seconds # None 2371s Apr 14 10:06:35 2371s Apr 14 10:06:35 Feature: custom bootstrap # features/custom_bootstrap.feature:1 2371s Apr 14 10:06:35 We should check that patroni can bootstrap a new cluster from a backup 2371s Apr 14 10:06:35 Scenario: clone existing cluster using pg_basebackup # features/custom_bootstrap.feature:4 2371s Apr 14 10:06:35 Given I start postgres-0 # features/steps/basic_replication.py:20 2376s Apr 14 10:06:40 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 2376s Apr 14 10:06:40 When I add the table foo to postgres-0 # features/steps/basic_replication.py:66 2376s Apr 14 10:06:40 And I start postgres-1 in a cluster batman1 as a clone of postgres-0 # features/steps/custom_bootstrap.py:6 2382s Apr 14 10:06:46 Then postgres-1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 2383s Apr 14 10:06:47 Then table foo is present on postgres-1 after 10 seconds # features/steps/basic_replication.py:105 2383s Apr 14 10:06:47 2383s Apr 14 10:06:47 Scenario: make a backup and do a restore into a new cluster # features/custom_bootstrap.feature:12 2383s Apr 14 10:06:47 Given I add the table bar to postgres-1 # features/steps/basic_replication.py:66 2383s Apr 14 10:06:47 And I do a backup of postgres-1 # features/steps/custom_bootstrap.py:25 2385s Apr 14 10:06:49 When I start postgres-2 in a cluster batman2 from backup # features/steps/custom_bootstrap.py:11 2391s Apr 14 10:06:55 Then postgres-2 is a leader of batman2 after 30 seconds # features/steps/custom_bootstrap.py:16 2391s Apr 14 10:06:55 And table bar is present on postgres-2 after 10 seconds # features/steps/basic_replication.py:105 2408s Apr 14 10:07:12 2408s Apr 14 10:07:12 Feature: dcs failsafe mode # features/dcs_failsafe_mode.feature:1 2408s Apr 14 10:07:12 We should check the basic dcs failsafe mode functioning 2408s Apr 14 10:07:12 Scenario: check failsafe mode can be successfully enabled # features/dcs_failsafe_mode.feature:4 2408s Apr 14 10:07:12 Given I start postgres-0 # features/steps/basic_replication.py:20 2413s Apr 14 10:07:17 And postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 2413s Apr 14 10:07:17 Then "config" key in DCS has ttl=30 after 10 seconds # features/steps/cascading_replication.py:23 2413s Apr 14 10:07:17 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 2413s Apr 14 10:07:17 Then I receive a response code 200 # features/steps/patroni_api.py:100 2413s Apr 14 10:07:17 And Response on GET http://127.0.0.1:8008/failsafe contains postgres-0 after 10 seconds # features/steps/patroni_api.py:158 2413s Apr 14 10:07:17 When I issue a GET request to http://127.0.0.1:8008/failsafe # features/steps/patroni_api.py:63 2413s Apr 14 10:07:17 Then I receive a response code 200 # features/steps/patroni_api.py:100 2413s Apr 14 10:07:17 And I receive a response postgres-0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:100 2413s Apr 14 10:07:17 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 2414s Apr 14 10:07:17 Then I receive a response code 200 # features/steps/patroni_api.py:100 2414s Apr 14 10:07:17 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 2414s Apr 14 10:07:18 Then I receive a response code 200 # features/steps/patroni_api.py:100 2414s Apr 14 10:07:18 2414s Apr 14 10:07:18 @dcs-failsafe 2414s Apr 14 10:07:18 Scenario: check one-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:20 2414s Apr 14 10:07:18 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 2414s Apr 14 10:07:18 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 2418s Apr 14 10:07:22 And postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 2418s Apr 14 10:07:22 2418s Apr 14 10:07:22 @dcs-failsafe 2418s Apr 14 10:07:22 Scenario: check new replica isn't promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:26 2418s Apr 14 10:07:22 Given DCS is up # features/steps/dcs_failsafe_mode.py:9 2418s Apr 14 10:07:22 When I do a backup of postgres-0 # features/steps/custom_bootstrap.py:25 2420s Apr 14 10:07:24 And I shut down postgres-0 # features/steps/basic_replication.py:41 2422s Apr 14 10:07:26 When I start postgres-1 in a cluster batman from backup with no_leader # features/steps/dcs_failsafe_mode.py:14 2428s Apr 14 10:07:32 Then postgres-1 role is the replica after 12 seconds # features/steps/basic_replication.py:117 2428s Apr 14 10:07:32 2428s Apr 14 10:07:32 Scenario: check leader and replica are both in /failsafe key after leader is back # features/dcs_failsafe_mode.feature:33 2428s Apr 14 10:07:32 Given I start postgres-0 # features/steps/basic_replication.py:20 2431s Apr 14 10:07:35 And I start postgres-1 # features/steps/basic_replication.py:20 2431s Apr 14 10:07:35 Then "members/postgres-0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2432s Apr 14 10:07:36 And "members/postgres-1" key in DCS has state=running after 2 seconds # features/steps/cascading_replication.py:23 2432s Apr 14 10:07:36 And Response on GET http://127.0.0.1:8009/failsafe contains postgres-1 after 10 seconds # features/steps/patroni_api.py:158 2437s Apr 14 10:07:41 When I issue a GET request to http://127.0.0.1:8009/failsafe # features/steps/patroni_api.py:63 2437s Apr 14 10:07:41 Then I receive a response code 200 # features/steps/patroni_api.py:100 2437s Apr 14 10:07:41 And I receive a response postgres-0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:100 2437s Apr 14 10:07:41 And I receive a response postgres-1 http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:100 2437s Apr 14 10:07:41 2437s Apr 14 10:07:41 @dcs-failsafe @slot-advance 2437s Apr 14 10:07:41 Scenario: check leader and replica are functioning while DCS is down # features/dcs_failsafe_mode.feature:46 2437s Apr 14 10:07:41 Given I get all changes from physical slot dcs_slot_1 on postgres-0 # features/steps/slots.py:77 2437s Apr 14 10:07:41 Then physical slot dcs_slot_1 is in sync between postgres-0 and postgres-1 after 10 seconds # features/steps/slots.py:52 2440s Apr 14 10:07:44 And logical slot dcs_slot_0 is in sync between postgres-0 and postgres-1 after 10 seconds # features/steps/slots.py:52 2440s Apr 14 10:07:44 And DCS is down # features/steps/dcs_failsafe_mode.py:4 2440s Apr 14 10:07:44 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 2446s Apr 14 10:07:50 Then postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 2446s Apr 14 10:07:50 And postgres-1 role is the replica after 2 seconds # features/steps/basic_replication.py:117 2446s Apr 14 10:07:50 And replication works from postgres-0 to postgres-1 after 10 seconds # features/steps/basic_replication.py:124 2446s Apr 14 10:07:50 When I get all changes from logical slot dcs_slot_0 on postgres-0 # features/steps/slots.py:72 2446s Apr 14 10:07:50 And I get all changes from physical slot dcs_slot_1 on postgres-0 # features/steps/slots.py:77 2446s Apr 14 10:07:50 Then logical slot dcs_slot_0 is in sync between postgres-0 and postgres-1 after 20 seconds # features/steps/slots.py:52 2453s Apr 14 10:07:57 And physical slot dcs_slot_1 is in sync between postgres-0 and postgres-1 after 10 seconds # features/steps/slots.py:52 2453s Apr 14 10:07:57 2453s Apr 14 10:07:57 @dcs-failsafe 2453s Apr 14 10:07:57 Scenario: check primary is demoted when one replica is shut down and DCS is down # features/dcs_failsafe_mode.feature:61 2453s Apr 14 10:07:57 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 2453s Apr 14 10:07:57 And I kill postgres-1 # features/steps/basic_replication.py:46 2454s Apr 14 10:07:58 And I kill postmaster on postgres-1 # features/steps/basic_replication.py:56 2454s Apr 14 10:07:58 waiting for server to shut down.... done 2454s Apr 14 10:07:58 server stopped 2454s Apr 14 10:07:58 Then postgres-0 role is the replica after 12 seconds # features/steps/basic_replication.py:117 2456s Apr 14 10:08:00 2456s Apr 14 10:08:00 @dcs-failsafe 2456s Apr 14 10:08:00 Scenario: check known replica is promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:68 2456s Apr 14 10:08:00 Given I kill postgres-0 # features/steps/basic_replication.py:46 2457s Apr 14 10:08:01 And I shut down postmaster on postgres-0 # features/steps/basic_replication.py:51 2457s Apr 14 10:08:01 waiting for server to shut down.... done 2457s Apr 14 10:08:01 server stopped 2457s Apr 14 10:08:01 And DCS is up # features/steps/dcs_failsafe_mode.py:9 2457s Apr 14 10:08:01 When I start postgres-1 # features/steps/basic_replication.py:20 2460s Apr 14 10:08:04 Then "members/postgres-1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2461s Apr 14 10:08:05 And postgres-1 role is the primary after 25 seconds # features/steps/basic_replication.py:117 2462s Apr 14 10:08:06 2462s Apr 14 10:08:06 @dcs-failsafe 2462s Apr 14 10:08:06 Scenario: scale to three-node cluster # features/dcs_failsafe_mode.feature:77 2462s Apr 14 10:08:06 Given I start postgres-0 # features/steps/basic_replication.py:20 2467s Apr 14 10:08:11 And I configure and start postgres-2 with a tag replicatefrom postgres-0 # features/steps/cascading_replication.py:7 2474s Apr 14 10:08:18 Then "members/postgres-2" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2474s Apr 14 10:08:18 And "members/postgres-0" key in DCS has state=running after 20 seconds # features/steps/cascading_replication.py:23 2474s Apr 14 10:08:18 And Response on GET http://127.0.0.1:8008/failsafe contains postgres-2 after 10 seconds # features/steps/patroni_api.py:158 2474s Apr 14 10:08:18 And replication works from postgres-1 to postgres-0 after 10 seconds # features/steps/basic_replication.py:124 2475s Apr 14 10:08:19 And replication works from postgres-1 to postgres-2 after 10 seconds # features/steps/basic_replication.py:124 2476s Apr 14 10:08:20 2476s Apr 14 10:08:20 @dcs-failsafe @slot-advance 2476s Apr 14 10:08:20 Scenario: make sure permanent slots exist on replicas # features/dcs_failsafe_mode.feature:88 2476s Apr 14 10:08: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 2477s Apr 14 10:08:20 Then logical slot dcs_slot_2 is in sync between postgres-1 and postgres-0 after 20 seconds # features/steps/slots.py:52 2481s Apr 14 10:08:25 And logical slot dcs_slot_2 is in sync between postgres-1 and postgres-2 after 20 seconds # features/steps/slots.py:52 2482s Apr 14 10:08:26 When I get all changes from physical slot dcs_slot_1 on postgres-1 # features/steps/slots.py:77 2482s Apr 14 10:08:26 Then physical slot dcs_slot_1 is in sync between postgres-1 and postgres-0 after 10 seconds # features/steps/slots.py:52 2484s Apr 14 10:08:28 And physical slot dcs_slot_1 is in sync between postgres-1 and postgres-2 after 10 seconds # features/steps/slots.py:52 2484s Apr 14 10:08:28 And physical slot postgres_0 is in sync between postgres-1 and postgres-2 after 10 seconds # features/steps/slots.py:52 2484s Apr 14 10:08:28 And physical slot postgres_2 is in sync between postgres-0 and postgres-1 after 10 seconds # features/steps/slots.py:52 2484s Apr 14 10:08:28 2484s Apr 14 10:08:28 @dcs-failsafe 2484s Apr 14 10:08:28 Scenario: check three-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:99 2484s Apr 14 10:08:28 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 2484s Apr 14 10:08: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 2488s Apr 14 10:08:32 Then postgres-1 role is the primary after 10 seconds # features/steps/basic_replication.py:117 2488s Apr 14 10:08:32 And postgres-0 role is the replica after 2 seconds # features/steps/basic_replication.py:117 2488s Apr 14 10:08:32 And postgres-2 role is the replica after 2 seconds # features/steps/basic_replication.py:117 2488s Apr 14 10:08:32 2488s Apr 14 10:08:32 @dcs-failsafe @slot-advance 2488s Apr 14 10:08:32 Scenario: check that permanent slots are in sync between nodes while DCS is down # features/dcs_failsafe_mode.feature:108 2488s Apr 14 10:08:32 Given replication works from postgres-1 to postgres-0 after 10 seconds # features/steps/basic_replication.py:124 2488s Apr 14 10:08:32 And replication works from postgres-1 to postgres-2 after 10 seconds # features/steps/basic_replication.py:124 2489s Apr 14 10:08:33 When I get all changes from logical slot dcs_slot_2 on postgres-1 # features/steps/slots.py:72 2489s Apr 14 10:08:33 And I get all changes from physical slot dcs_slot_1 on postgres-1 # features/steps/slots.py:77 2489s Apr 14 10:08:33 Then logical slot dcs_slot_2 is in sync between postgres-1 and postgres-0 after 20 seconds # features/steps/slots.py:52 2495s Apr 14 10:08:39 And logical slot dcs_slot_2 is in sync between postgres-1 and postgres-2 after 20 seconds # features/steps/slots.py:52 2495s Apr 14 10:08:39 And physical slot dcs_slot_1 is in sync between postgres-1 and postgres-0 after 10 seconds # features/steps/slots.py:52 2495s Apr 14 10:08:39 And physical slot dcs_slot_1 is in sync between postgres-1 and postgres-2 after 10 seconds # features/steps/slots.py:52 2495s Apr 14 10:08:39 And physical slot postgres_0 is in sync between postgres-1 and postgres-2 after 10 seconds # features/steps/slots.py:52 2495s Apr 14 10:08:39 And physical slot postgres_2 is in sync between postgres-0 and postgres-1 after 10 seconds # features/steps/slots.py:52 2508s Apr 14 10:08:52 2508s Apr 14 10:08:52 Feature: ignored slots # features/ignored_slots.feature:1 2508s Apr 14 10:08:52 2508s Apr 14 10:08:52 Scenario: check ignored slots aren't removed on failover/switchover # features/ignored_slots.feature:2 2508s Apr 14 10:08:52 Given I start postgres-1 # features/steps/basic_replication.py:20 2513s Apr 14 10:08:57 Then postgres-1 is a leader after 10 seconds # features/steps/patroni_api.py:31 2513s Apr 14 10:08:57 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2513s Apr 14 10:08: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 2513s Apr 14 10:08:57 Then I receive a response code 200 # features/steps/patroni_api.py:100 2513s Apr 14 10:08:57 And Response on GET http://127.0.0.1:8009/config contains ignore_slots after 10 seconds # features/steps/patroni_api.py:158 2513s Apr 14 10:08:57 When I shut down postgres-1 # features/steps/basic_replication.py:41 2515s Apr 14 10:08:59 And I start postgres-1 # features/steps/basic_replication.py:20 2518s Apr 14 10:09:02 Then postgres-1 is a leader after 10 seconds # features/steps/patroni_api.py:31 2521s Apr 14 10:09:05 And "members/postgres-1" key in DCS has role=primary after 10 seconds # features/steps/cascading_replication.py:23 2525s Apr 14 10:09:09 And postgres-1 role is the primary after 20 seconds # features/steps/basic_replication.py:117 2525s Apr 14 10:09:09 When I create a logical replication slot unmanaged_slot_0 on postgres-1 with the test_decoding plugin # features/steps/slots.py:9 2525s Apr 14 10:09:09 And I create a logical replication slot unmanaged_slot_1 on postgres-1 with the test_decoding plugin # features/steps/slots.py:9 2525s Apr 14 10:09:09 And I create a logical replication slot unmanaged_slot_2 on postgres-1 with the test_decoding plugin # features/steps/slots.py:9 2525s Apr 14 10:09:09 And I create a logical replication slot unmanaged_slot_3 on postgres-1 with the test_decoding plugin # features/steps/slots.py:9 2525s Apr 14 10:09:09 And I create a logical replication slot dummy_slot on postgres-1 with the test_decoding plugin # features/steps/slots.py:9 2525s Apr 14 10:09:09 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 2525s Apr 14 10:09:09 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 2525s Apr 14 10:09:09 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 2525s Apr 14 10:09:09 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 2525s Apr 14 10:09:09 When I start postgres-0 # features/steps/basic_replication.py:20 2530s Apr 14 10:09:14 Then "members/postgres-0" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 2530s Apr 14 10:09:14 And postgres-0 role is the secondary after 20 seconds # features/steps/basic_replication.py:117 2530s Apr 14 10:09:14 And replication works from postgres-1 to postgres-0 after 20 seconds # features/steps/basic_replication.py:124 2531s Apr 14 10:09:15 When I shut down postgres-1 # features/steps/basic_replication.py:41 2533s Apr 14 10:09:17 Then "members/postgres-0" key in DCS has role=primary after 10 seconds # features/steps/cascading_replication.py:23 2537s Apr 14 10:09:21 When I start postgres-1 # features/steps/basic_replication.py:20 2541s Apr 14 10:09:25 Then postgres-1 role is the secondary after 20 seconds # features/steps/basic_replication.py:117 2541s Apr 14 10:09:25 And "members/postgres-1" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 2541s Apr 14 10:09:25 And I sleep for 2 seconds # features/steps/patroni_api.py:41 2543s Apr 14 10:09:27 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 2543s Apr 14 10:09:27 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 2543s Apr 14 10:09:27 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 2543s Apr 14 10:09:27 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 2543s Apr 14 10:09:27 And postgres-1 does not have a replication slot named dummy_slot # features/steps/slots.py:41 2543s Apr 14 10:09:27 When I shut down postgres-0 # features/steps/basic_replication.py:41 2545s Apr 14 10:09:29 Then "members/postgres-1" key in DCS has role=primary after 10 seconds # features/steps/cascading_replication.py:23 2546s Apr 14 10:09:30 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 2546s Apr 14 10:09:30 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 2546s Apr 14 10:09:30 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 2546s Apr 14 10:09:30 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 2555s Apr 14 10:09:39 2555s Apr 14 10:09:39 Feature: nostream node # features/nostream_node.feature:1 2555s Apr 14 10:09:39 2555s Apr 14 10:09:39 Scenario: check nostream node is recovering from archive # features/nostream_node.feature:3 2555s Apr 14 10:09:39 When I start postgres-0 # features/steps/basic_replication.py:20 2560s Apr 14 10:09:44 And I configure and start postgres-1 with a tag nostream true # features/steps/cascading_replication.py:7 2565s Apr 14 10:09:49 Then "members/postgres-1" key in DCS has replication_state=in archive recovery after 10 seconds # features/steps/cascading_replication.py:23 2566s Apr 14 10:09:50 And replication works from postgres-0 to postgres-1 after 30 seconds # features/steps/basic_replication.py:124 2571s Apr 14 10:09:55 2571s Apr 14 10:09:55 @slot-advance 2571s Apr 14 10:09:55 Scenario: check permanent logical replication slots are not copied # features/nostream_node.feature:10 2571s Apr 14 10:09:55 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 2571s Apr 14 10:09:55 Then I receive a response code 200 # features/steps/patroni_api.py:100 2571s Apr 14 10:09:55 When I run patronictl.py restart batman postgres-0 --force # features/steps/patroni_api.py:88 2574s Apr 14 10:09:58 Then postgres-0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:20 2575s Apr 14 10:09:59 When I configure and start postgres-2 with a tag replicatefrom postgres-1 # features/steps/cascading_replication.py:7 2580s Apr 14 10:10:04 Then "members/postgres-2" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 2581s Apr 14 10:10:05 And postgres-1 does not have a replication slot named test_logical # features/steps/slots.py:41 2581s Apr 14 10:10:05 And postgres-2 does not have a replication slot named test_logical # features/steps/slots.py:41 2581s Apr 14 10:10:05 2581s Apr 14 10:10:05 @slot-advance 2581s Apr 14 10:10:05 Scenario: check that slots are written to the /status key # features/nostream_node.feature:21 2581s Apr 14 10:10:05 Given "status" key in DCS has postgres_0 in slots # features/steps/slots.py:118 2581s Apr 14 10:10:05 And "status" key in DCS has postgres_2 in slots # features/steps/slots.py:118 2581s Apr 14 10:10:05 And "status" key in DCS has test_logical in slots # features/steps/slots.py:118 2581s Apr 14 10:10:05 And "status" key in DCS has test_logical in slots # features/steps/slots.py:118 2581s Apr 14 10:10:05 And "status" key in DCS does not have postgres_1 in slots # features/steps/slots.py:124 2596s Apr 14 10:10:20 2596s Apr 14 10:10:20 Feature: patroni api # features/patroni_api.feature:1 2596s Apr 14 10:10:20 We should check that patroni correctly responds to valid and not-valid API requests. 2596s Apr 14 10:10:20 Scenario: check API requests on a stand-alone server # features/patroni_api.feature:4 2596s Apr 14 10:10:20 Given I start postgres-0 # features/steps/basic_replication.py:20 2601s Apr 14 10:10:25 And postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 2601s Apr 14 10:10:25 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:63 2601s Apr 14 10:10:25 Then I receive a response code 200 # features/steps/patroni_api.py:100 2601s Apr 14 10:10:25 And I receive a response state running # features/steps/patroni_api.py:100 2601s Apr 14 10:10:25 And I receive a response role primary # features/steps/patroni_api.py:100 2601s Apr 14 10:10:25 When I issue a GET request to http://127.0.0.1:8008/standby_leader # features/steps/patroni_api.py:63 2601s Apr 14 10:10:25 Then I receive a response code 503 # features/steps/patroni_api.py:100 2601s Apr 14 10:10:25 When I issue a GET request to http://127.0.0.1:8008/health # features/steps/patroni_api.py:63 2601s Apr 14 10:10:25 Then I receive a response code 200 # features/steps/patroni_api.py:100 2601s Apr 14 10:10:25 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:63 2602s Apr 14 10:10:25 Then I receive a response code 503 # features/steps/patroni_api.py:100 2602s Apr 14 10:10:25 When I issue a POST request to http://127.0.0.1:8008/reinitialize with {"force": true} # features/steps/patroni_api.py:73 2602s Apr 14 10:10:26 Then I receive a response code 503 # features/steps/patroni_api.py:100 2602s Apr 14 10:10:26 And I receive a response text I am the leader, can not reinitialize # features/steps/patroni_api.py:100 2602s Apr 14 10:10:26 When I run patronictl.py switchover batman --primary postgres-0 --force # features/steps/patroni_api.py:88 2603s Apr 14 10:10:27 Then I receive a response returncode 1 # features/steps/patroni_api.py:100 2603s Apr 14 10:10:27 And I receive a response output "Error: No candidates found to switchover to" # features/steps/patroni_api.py:100 2603s Apr 14 10:10:27 When I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres-0"} # features/steps/patroni_api.py:73 2603s Apr 14 10:10:27 Then I receive a response code 412 # features/steps/patroni_api.py:100 2603s Apr 14 10:10:27 And I receive a response text switchover is not possible: cluster does not have members except leader # features/steps/patroni_api.py:100 2603s Apr 14 10:10:27 When I issue an empty POST request to http://127.0.0.1:8008/failover # features/steps/patroni_api.py:68 2603s Apr 14 10:10:27 Then I receive a response code 400 # features/steps/patroni_api.py:100 2603s Apr 14 10:10:27 When I issue a POST request to http://127.0.0.1:8008/failover with {"foo": "bar"} # features/steps/patroni_api.py:73 2603s Apr 14 10:10:27 Then I receive a response code 400 # features/steps/patroni_api.py:100 2603s Apr 14 10:10:27 And I receive a response text "Failover could be performed only to a specific candidate" # features/steps/patroni_api.py:100 2603s Apr 14 10:10:27 2603s Apr 14 10:10:27 Scenario: check local configuration reload # features/patroni_api.feature:32 2603s Apr 14 10:10:27 Given I add tag new_tag new_value to postgres-0 config # features/steps/patroni_api.py:139 2603s Apr 14 10:10:27 And I issue an empty POST request to http://127.0.0.1:8008/reload # features/steps/patroni_api.py:68 2603s Apr 14 10:10:27 Then I receive a response code 202 # features/steps/patroni_api.py:100 2603s Apr 14 10:10:27 2603s Apr 14 10:10:27 Scenario: check dynamic configuration change via DCS # features/patroni_api.feature:37 2603s Apr 14 10:10:27 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"ttl": 20, "postgresql": {"parameters": {"max_connections": "101"}}} # features/steps/patroni_api.py:73 2603s Apr 14 10:10:27 Then I receive a response code 200 # features/steps/patroni_api.py:100 2603s Apr 14 10:10:27 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 11 seconds # features/steps/patroni_api.py:158 2606s Apr 14 10:10:30 When I issue a GET request to http://127.0.0.1:8008/config # features/steps/patroni_api.py:63 2606s Apr 14 10:10:30 Then I receive a response code 200 # features/steps/patroni_api.py:100 2606s Apr 14 10:10:30 And I receive a response ttl 20 # features/steps/patroni_api.py:100 2606s Apr 14 10:10:30 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:63 2606s Apr 14 10:10:30 Then I receive a response code 200 # features/steps/patroni_api.py:100 2606s Apr 14 10:10:30 And I receive a response tags {'new_tag': 'new_value'} # features/steps/patroni_api.py:100 2606s Apr 14 10:10:30 And I sleep for 4 seconds # features/steps/patroni_api.py:41 2610s Apr 14 10:10:34 2610s Apr 14 10:10:34 Scenario: check the scheduled restart # features/patroni_api.feature:49 2610s Apr 14 10:10:34 Given I run patronictl.py edit-config -p 'superuser_reserved_connections=6' --force batman # features/steps/patroni_api.py:88 2611s Apr 14 10:10:35 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 2611s Apr 14 10:10:35 And I receive a response output "+ superuser_reserved_connections: 6" # features/steps/patroni_api.py:100 2611s Apr 14 10:10:35 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 5 seconds # features/steps/patroni_api.py:158 2611s Apr 14 10:10:35 Given I issue a scheduled restart at http://127.0.0.1:8008 in 5 seconds with {"role": "replica"} # features/steps/patroni_api.py:126 2611s Apr 14 10:10:35 Then I receive a response code 202 # features/steps/patroni_api.py:100 2611s Apr 14 10:10:35 And I sleep for 8 seconds # features/steps/patroni_api.py:41 2619s Apr 14 10:10:43 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 10 seconds # features/steps/patroni_api.py:158 2619s Apr 14 10:10:43 Given I issue a scheduled restart at http://127.0.0.1:8008 in 5 seconds with {"restart_pending": "True"} # features/steps/patroni_api.py:126 2620s Apr 14 10:10:44 Then I receive a response code 202 # features/steps/patroni_api.py:100 2620s Apr 14 10:10:44 And Response on GET http://127.0.0.1:8008/patroni does not contain pending_restart after 10 seconds # features/steps/patroni_api.py:173 2626s Apr 14 10:10:50 And postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 2627s Apr 14 10:10:51 2627s Apr 14 10:10:51 Scenario: check API requests for the primary-replica pair in the pause mode # features/patroni_api.feature:63 2627s Apr 14 10:10:51 Given I start postgres-1 # features/steps/basic_replication.py:20 2632s Apr 14 10:10:56 Then replication works from postgres-0 to postgres-1 after 20 seconds # features/steps/basic_replication.py:124 2633s Apr 14 10:10:57 When I run patronictl.py pause batman # features/steps/patroni_api.py:88 2634s Apr 14 10:10:58 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 2634s Apr 14 10:10:58 When I kill postmaster on postgres-1 # features/steps/basic_replication.py:56 2635s Apr 14 10:10:59 waiting for server to shut down.... done 2635s Apr 14 10:10:59 server stopped 2635s Apr 14 10:10:59 And I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:63 2635s Apr 14 10:10:59 Then I receive a response code 503 # features/steps/patroni_api.py:100 2635s Apr 14 10:10:59 And "members/postgres-1" key in DCS has state=stopped after 10 seconds # features/steps/cascading_replication.py:23 2636s Apr 14 10:11:00 When I run patronictl.py restart batman postgres-1 --force # features/steps/patroni_api.py:88 2639s Apr 14 10:11:03 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 2639s Apr 14 10:11:03 Then replication works from postgres-0 to postgres-1 after 20 seconds # features/steps/basic_replication.py:124 2640s Apr 14 10:11:04 And I sleep for 2 seconds # features/steps/patroni_api.py:41 2642s Apr 14 10:11:06 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:63 2642s Apr 14 10:11:06 Then I receive a response code 200 # features/steps/patroni_api.py:100 2642s Apr 14 10:11:06 And I receive a response state running # features/steps/patroni_api.py:100 2642s Apr 14 10:11:06 And I receive a response role replica # features/steps/patroni_api.py:100 2642s Apr 14 10:11:06 When I run patronictl.py reinit batman postgres-1 --force --wait # features/steps/patroni_api.py:88 2647s Apr 14 10:11:11 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 2647s Apr 14 10:11:11 And I receive a response output "Success: reinitialize for member postgres-1" # features/steps/patroni_api.py:100 2647s Apr 14 10:11:11 And postgres-1 role is the secondary after 30 seconds # features/steps/basic_replication.py:117 2648s Apr 14 10:11:12 And replication works from postgres-0 to postgres-1 after 20 seconds # features/steps/basic_replication.py:124 2649s Apr 14 10:11:13 When I run patronictl.py restart batman postgres-0 --force # features/steps/patroni_api.py:88 2651s Apr 14 10:11:15 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 2651s Apr 14 10:11:15 And I receive a response output "Success: restart on member postgres-0" # features/steps/patroni_api.py:100 2651s Apr 14 10:11:15 And postgres-0 role is the primary after 5 seconds # features/steps/basic_replication.py:117 2653s Apr 14 10:11:16 2653s Apr 14 10:11:16 Scenario: check the switchover via the API in the pause mode # features/patroni_api.feature:90 2653s Apr 14 10:11:16 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 2655s Apr 14 10:11:19 Then I receive a response code 200 # features/steps/patroni_api.py:100 2655s Apr 14 10:11:19 And postgres-1 is a leader after 5 seconds # features/steps/patroni_api.py:31 2655s Apr 14 10:11:19 And postgres-1 role is the primary after 10 seconds # features/steps/basic_replication.py:117 2656s Apr 14 10:11:20 And postgres-0 role is the secondary after 10 seconds # features/steps/basic_replication.py:117 2662s Apr 14 10:11:26 And replication works from postgres-1 to postgres-0 after 20 seconds # features/steps/basic_replication.py:124 2662s Apr 14 10:11:26 And "members/postgres-0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2662s Apr 14 10:11:26 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:63 2662s Apr 14 10:11:26 Then I receive a response code 503 # features/steps/patroni_api.py:100 2662s Apr 14 10:11:26 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:63 2662s Apr 14 10:11:26 Then I receive a response code 200 # features/steps/patroni_api.py:100 2662s Apr 14 10:11:26 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:63 2662s Apr 14 10:11:26 Then I receive a response code 200 # features/steps/patroni_api.py:100 2662s Apr 14 10:11:26 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:63 2662s Apr 14 10:11:26 Then I receive a response code 503 # features/steps/patroni_api.py:100 2662s Apr 14 10:11:26 2662s Apr 14 10:11:26 Scenario: check the scheduled switchover # features/patroni_api.feature:107 2662s Apr 14 10:11:26 Given I issue a scheduled switchover from postgres-1 to postgres-0 in 10 seconds # features/steps/patroni_api.py:119 2664s Apr 14 10:11:28 Then I receive a response returncode 1 # features/steps/patroni_api.py:100 2664s Apr 14 10:11:28 And I receive a response output "Can't schedule switchover in the paused state" # features/steps/patroni_api.py:100 2664s Apr 14 10:11:28 When I run patronictl.py resume batman # features/steps/patroni_api.py:88 2665s Apr 14 10:11:29 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 2665s Apr 14 10:11:29 Given I issue a scheduled switchover from postgres-1 to postgres-0 in 10 seconds # features/steps/patroni_api.py:119 2667s Apr 14 10:11:31 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 2667s Apr 14 10:11:31 And postgres-0 is a leader after 20 seconds # features/steps/patroni_api.py:31 2677s Apr 14 10:11:41 And postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 2678s Apr 14 10:11:42 And postgres-1 role is the secondary after 10 seconds # features/steps/basic_replication.py:117 2680s Apr 14 10:11:44 And replication works from postgres-0 to postgres-1 after 25 seconds # features/steps/basic_replication.py:124 2680s Apr 14 10:11:44 And "members/postgres-1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2681s Apr 14 10:11:45 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:63 2681s Apr 14 10:11:45 Then I receive a response code 200 # features/steps/patroni_api.py:100 2681s Apr 14 10:11:45 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:63 2681s Apr 14 10:11:45 Then I receive a response code 503 # features/steps/patroni_api.py:100 2681s Apr 14 10:11:45 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:63 2681s Apr 14 10:11:45 Then I receive a response code 503 # features/steps/patroni_api.py:100 2681s Apr 14 10:11:45 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:63 2681s Apr 14 10:11:45 Then I receive a response code 200 # features/steps/patroni_api.py:100 2692s Apr 14 10:11:56 2692s Apr 14 10:11:56 Feature: permanent slots # features/permanent_slots.feature:1 2692s Apr 14 10:11:56 2692s Apr 14 10:11:56 Scenario: check that physical permanent slots are created # features/permanent_slots.feature:2 2692s Apr 14 10:11:56 Given I start postgres-0 # features/steps/basic_replication.py:20 2697s Apr 14 10:12:01 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 2698s Apr 14 10:12:02 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2698s Apr 14 10:12:02 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 2698s Apr 14 10:12:02 Then I receive a response code 200 # features/steps/patroni_api.py:100 2698s Apr 14 10:12:02 And Response on GET http://127.0.0.1:8008/config contains slots after 10 seconds # features/steps/patroni_api.py:158 2698s Apr 14 10:12:02 When I start postgres-1 # features/steps/basic_replication.py:20 2704s Apr 14 10:12:08 And I configure and start postgres-2 with a tag nofailover true # features/steps/cascading_replication.py:7 2710s Apr 14 10:12:14 And I configure and start postgres-3 with a tag replicatefrom postgres-2 # features/steps/cascading_replication.py:7 2715s Apr 14 10:12:19 Then postgres-0 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:82 2715s Apr 14 10:12:19 And postgres-0 has a physical replication slot named postgres_1 after 10 seconds # features/steps/slots.py:82 2715s Apr 14 10:12:19 And postgres-0 has a physical replication slot named postgres_2 after 10 seconds # features/steps/slots.py:82 2715s Apr 14 10:12:19 And postgres-2 has a physical replication slot named postgres_3 after 10 seconds # features/steps/slots.py:82 2715s Apr 14 10:12:19 And postgres-2 does not have a replication slot named test_physical # features/steps/slots.py:41 2715s Apr 14 10:12:19 2715s Apr 14 10:12:19 @slot-advance 2715s Apr 14 10:12:19 Scenario: check that logical permanent slots are created # features/permanent_slots.feature:19 2715s Apr 14 10:12:19 Given I run patronictl.py restart batman postgres-0 --force # features/steps/patroni_api.py:88 2718s Apr 14 10:12:22 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 2718s Apr 14 10:12:22 Then postgres-0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:20 2719s Apr 14 10:12:23 2719s Apr 14 10:12:23 @slot-advance 2719s Apr 14 10:12:23 Scenario: check that permanent slots are created on replicas # features/permanent_slots.feature:25 2719s Apr 14 10:12:23 Given postgres-1 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:20 2724s Apr 14 10:12:28 Then Logical slot test_logical is in sync between postgres-0 and postgres-1 after 10 seconds # features/steps/slots.py:52 2724s Apr 14 10:12:28 And Logical slot test_logical is in sync between postgres-0 and postgres-3 after 10 seconds # features/steps/slots.py:52 2725s Apr 14 10:12:29 And postgres-1 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:82 2725s Apr 14 10:12:29 And postgres-2 does not have a replication slot named test_logical # features/steps/slots.py:41 2725s Apr 14 10:12:29 And postgres-3 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:82 2725s Apr 14 10:12:29 2725s Apr 14 10:12:29 @slot-advance 2725s Apr 14 10:12:29 Scenario: check permanent physical slots that match with member names # features/permanent_slots.feature:34 2725s Apr 14 10:12:29 Given postgres-0 has a physical replication slot named postgres_3 after 2 seconds # features/steps/slots.py:82 2725s Apr 14 10:12:29 And postgres-1 has a physical replication slot named postgres_0 after 2 seconds # features/steps/slots.py:82 2725s Apr 14 10:12:29 And postgres-1 has a physical replication slot named postgres_2 after 2 seconds # features/steps/slots.py:82 2725s Apr 14 10:12:29 And postgres-1 has a physical replication slot named postgres_3 after 2 seconds # features/steps/slots.py:82 2725s Apr 14 10:12:29 And postgres-2 does not have a replication slot named postgres_0 # features/steps/slots.py:41 2725s Apr 14 10:12:29 And postgres-2 does not have a replication slot named postgres_1 # features/steps/slots.py:41 2725s Apr 14 10:12:29 And postgres-2 has a physical replication slot named postgres_3 after 2 seconds # features/steps/slots.py:82 2725s Apr 14 10:12:29 And postgres-3 has a physical replication slot named postgres_0 after 2 seconds # features/steps/slots.py:82 2725s Apr 14 10:12:29 And postgres-3 has a physical replication slot named postgres_1 after 2 seconds # features/steps/slots.py:82 2725s Apr 14 10:12:29 And postgres-3 has a physical replication slot named postgres_2 after 2 seconds # features/steps/slots.py:82 2725s Apr 14 10:12:29 2725s Apr 14 10:12:29 @slot-advance 2725s Apr 14 10:12:29 Scenario: check that permanent slots are advanced on replicas # features/permanent_slots.feature:47 2725s Apr 14 10:12:29 Given I add the table replicate_me to postgres-0 # features/steps/basic_replication.py:66 2725s Apr 14 10:12:29 When I get all changes from logical slot test_logical on postgres-0 # features/steps/slots.py:72 2725s Apr 14 10:12:29 And I get all changes from physical slot test_physical on postgres-0 # features/steps/slots.py:77 2725s Apr 14 10:12:29 Then Logical slot test_logical is in sync between postgres-0 and postgres-1 after 10 seconds # features/steps/slots.py:52 2726s Apr 14 10:12:30 And Physical slot test_physical is in sync between postgres-0 and postgres-1 after 10 seconds # features/steps/slots.py:52 2726s Apr 14 10:12:30 And Logical slot test_logical is in sync between postgres-0 and postgres-3 after 10 seconds # features/steps/slots.py:52 2726s Apr 14 10:12:30 And Physical slot test_physical is in sync between postgres-0 and postgres-3 after 10 seconds # features/steps/slots.py:52 2726s Apr 14 10:12:30 And Physical slot postgres_1 is in sync between postgres-0 and postgres-3 after 10 seconds # features/steps/slots.py:52 2726s Apr 14 10:12:30 And Physical slot postgres_3 is in sync between postgres-2 and postgres-0 after 20 seconds # features/steps/slots.py:52 2728s Apr 14 10:12:32 And Physical slot postgres_3 is in sync between postgres-2 and postgres-1 after 10 seconds # features/steps/slots.py:52 2728s Apr 14 10:12:32 2728s Apr 14 10:12:32 @slot-advance 2728s Apr 14 10:12:32 Scenario: check that permanent slots and member slots are written to the /status key # features/permanent_slots.feature:60 2728s Apr 14 10:12:32 Given "status" key in DCS has test_physical in slots # features/steps/slots.py:118 2728s Apr 14 10:12:32 And "status" key in DCS has postgres_0 in slots # features/steps/slots.py:118 2728s Apr 14 10:12:32 And "status" key in DCS has postgres_1 in slots # features/steps/slots.py:118 2728s Apr 14 10:12:32 And "status" key in DCS has postgres_2 in slots # features/steps/slots.py:118 2728s Apr 14 10:12:32 And "status" key in DCS has postgres_3 in slots # features/steps/slots.py:118 2728s Apr 14 10:12:32 2728s Apr 14 10:12:32 @slot-advance 2728s Apr 14 10:12:32 Scenario: check that only non-permanent member slots are written to the retain_slots in /status key # features/permanent_slots.feature:68 2728s Apr 14 10:12:32 Given "status" key in DCS has postgres_0 in retain_slots # features/steps/slots.py:118 2728s Apr 14 10:12:32 And "status" key in DCS has postgres_1 in retain_slots # features/steps/slots.py:118 2728s Apr 14 10:12:32 And "status" key in DCS has postgres_2 in retain_slots # features/steps/slots.py:118 2728s Apr 14 10:12:32 And "status" key in DCS does not have postgres_3 in retain_slots # features/steps/slots.py:124 2728s Apr 14 10:12:32 2728s Apr 14 10:12:32 Scenario: check permanent physical replication slot after failover # features/permanent_slots.feature:74 2728s Apr 14 10:12:32 Given I shut down postgres-3 # features/steps/basic_replication.py:41 2729s Apr 14 10:12:33 And I shut down postgres-2 # features/steps/basic_replication.py:41 2730s Apr 14 10:12:34 And I shut down postgres-0 # features/steps/basic_replication.py:41 2732s Apr 14 10:12:36 Then postgres-1 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:82 2732s Apr 14 10:12:36 And postgres-1 has a physical replication slot named postgres_0 after 10 seconds # features/steps/slots.py:82 2732s Apr 14 10:12:36 And postgres-1 has a physical replication slot named postgres_3 after 10 seconds # features/steps/slots.py:82 2732s Apr 14 10:12:36 When I start postgres-0 # features/steps/basic_replication.py:20 2735s Apr 14 10:12:39 Then postgres-0 role is the replica after 20 seconds # features/steps/basic_replication.py:117 2735s Apr 14 10:12:39 And physical replication slot named postgres_1 on postgres-0 has no xmin value after 10 seconds # features/steps/slots.py:98 2736s Apr 14 10:12:40 And postgres-0 has a physical replication slot named postgres_2 after 10 seconds # features/steps/slots.py:82 2736s Apr 14 10:12:40 And postgres-0 has a physical replication slot named postgres_3 after 10 seconds # features/steps/slots.py:82 2750s Apr 14 10:12:54 2750s Apr 14 10:12:54 Feature: priority replication # features/priority_failover.feature:1 2750s Apr 14 10:12:54 We should check that we can give nodes priority during failover 2750s Apr 14 10:12:54 Scenario: check failover priority 0 prevents leaderships # features/priority_failover.feature:4 2750s Apr 14 10:12:54 Given I configure and start postgres-0 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 2755s Apr 14 10:12:59 And I configure and start postgres-1 with a tag failover_priority 0 # features/steps/cascading_replication.py:7 2760s Apr 14 10:13:04 Then replication works from postgres-0 to postgres-1 after 20 seconds # features/steps/basic_replication.py:124 2761s Apr 14 10:13:05 When I shut down postgres-0 # features/steps/basic_replication.py:41 2763s Apr 14 10:13:07 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 2765s Apr 14 10:13:09 Then postgres-1 role is the secondary after 10 seconds # features/steps/basic_replication.py:117 2765s Apr 14 10:13:09 When I start postgres-0 # features/steps/basic_replication.py:20 2768s Apr 14 10:13:12 Then postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 2772s Apr 14 10:13:16 2772s Apr 14 10:13:16 Scenario: check higher failover priority is respected # features/priority_failover.feature:14 2772s Apr 14 10:13:16 Given I configure and start postgres-2 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 2777s Apr 14 10:13:21 And I configure and start postgres-3 with a tag failover_priority 2 # features/steps/cascading_replication.py:7 2782s Apr 14 10:13:26 Then replication works from postgres-0 to postgres-2 after 20 seconds # features/steps/basic_replication.py:124 2783s Apr 14 10:13:27 And replication works from postgres-0 to postgres-3 after 20 seconds # features/steps/basic_replication.py:124 2784s Apr 14 10:13:28 When I shut down postgres-0 # features/steps/basic_replication.py:41 2786s Apr 14 10:13:30 Then postgres-3 role is the primary after 10 seconds # features/steps/basic_replication.py:117 2787s Apr 14 10:13:31 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 2787s Apr 14 10:13:31 2787s Apr 14 10:13:31 Scenario: check conflicting configuration handling # features/priority_failover.feature:23 2787s Apr 14 10:13:31 When I set nofailover tag in postgres-2 config # features/steps/patroni_api.py:133 2787s Apr 14 10:13:31 And I issue an empty POST request to http://127.0.0.1:8010/reload # features/steps/patroni_api.py:68 2787s Apr 14 10:13:31 Then I receive a response code 202 # features/steps/patroni_api.py:100 2787s Apr 14 10:13:31 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 2789s Apr 14 10:13:33 And "members/postgres-2" key in DCS has tags={'failover_priority': '1', 'nofailover': True} after 10 seconds # features/steps/cascading_replication.py:23 2790s Apr 14 10:13:34 When I issue a POST request to http://127.0.0.1:8010/failover with {"candidate": "postgres-2"} # features/steps/patroni_api.py:73 2790s Apr 14 10:13:34 Then I receive a response code 412 # features/steps/patroni_api.py:100 2790s Apr 14 10:13:34 And I receive a response text "failover is not possible: no good candidates have been found" # features/steps/patroni_api.py:100 2790s Apr 14 10:13:34 When I reset nofailover tag in postgres-1 config # features/steps/patroni_api.py:133 2790s Apr 14 10:13:34 And I issue an empty POST request to http://127.0.0.1:8009/reload # features/steps/patroni_api.py:68 2790s Apr 14 10:13:34 Then I receive a response code 202 # features/steps/patroni_api.py:100 2790s Apr 14 10:13:34 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 2791s Apr 14 10:13:35 And "members/postgres-1" key in DCS has tags={'failover_priority': '0', 'nofailover': False} after 10 seconds # features/steps/cascading_replication.py:23 2792s Apr 14 10:13:36 And I issue a POST request to http://127.0.0.1:8009/failover with {"candidate": "postgres-1"} # features/steps/patroni_api.py:73 2795s Apr 14 10:13:39 Then I receive a response code 200 # features/steps/patroni_api.py:100 2795s Apr 14 10:13:39 And postgres-1 role is the primary after 10 seconds # features/steps/basic_replication.py:117 2808s Apr 14 10:13:52 2808s Apr 14 10:13:52 Feature: quorum commit # features/quorum_commit.feature:1 2808s Apr 14 10:13:52 Check basic workfrlows when quorum commit is enabled 2808s Apr 14 10:13:52 Scenario: check enable quorum commit and that the only leader promotes after restart # features/quorum_commit.feature:4 2808s Apr 14 10:13:52 Given I start postgres-0 # features/steps/basic_replication.py:20 2813s Apr 14 10:13:57 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 2813s Apr 14 10:13:57 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2813s Apr 14 10:13:57 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 2813s Apr 14 10:13:57 Then I receive a response code 200 # features/steps/patroni_api.py:100 2813s Apr 14 10:13:57 And sync key in DCS has leader=postgres-0 after 20 seconds # features/steps/quorum_commit.py:8 2813s Apr 14 10:13:57 And sync key in DCS has quorum=0 after 2 seconds # features/steps/quorum_commit.py:8 2813s Apr 14 10:13:57 And synchronous_standby_names on postgres-0 is set to '_empty_str_' after 2 seconds # features/steps/quorum_commit.py:39 2813s Apr 14 10:13:57 When I shut down postgres-0 # features/steps/basic_replication.py:41 2815s Apr 14 10:13:59 And sync key in DCS has leader=postgres-0 after 2 seconds # features/steps/quorum_commit.py:8 2815s Apr 14 10:13:59 When I start postgres-0 # features/steps/basic_replication.py:20 2818s Apr 14 10:14:02 Then postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 2821s Apr 14 10:14:05 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 2821s Apr 14 10:14:05 Then synchronous_standby_names on postgres-0 is set to 'ANY 1 (*)' after 10 seconds # features/steps/quorum_commit.py:39 2822s Apr 14 10:14:06 2822s Apr 14 10:14:06 Scenario: check failover with one quorum standby # features/quorum_commit.feature:20 2822s Apr 14 10:14:06 Given I start postgres-1 # features/steps/basic_replication.py:20 2827s Apr 14 10:14:11 Then sync key in DCS has sync_standby=postgres-1 after 10 seconds # features/steps/quorum_commit.py:8 2830s Apr 14 10:14:14 And synchronous_standby_names on postgres-0 is set to 'ANY 1 ("postgres-1")' after 2 seconds # features/steps/quorum_commit.py:39 2830s Apr 14 10:14:14 When I shut down postgres-0 # features/steps/basic_replication.py:41 2832s Apr 14 10:14:16 Then postgres-1 role is the primary after 10 seconds # features/steps/basic_replication.py:117 2833s Apr 14 10:14:17 And sync key in DCS has quorum=0 after 10 seconds # features/steps/quorum_commit.py:8 2833s Apr 14 10:14:17 Then synchronous_standby_names on postgres-1 is set to 'ANY 1 (*)' after 10 seconds # features/steps/quorum_commit.py:39 2835s Apr 14 10:14:19 When I start postgres-0 # features/steps/basic_replication.py:20 2840s Apr 14 10:14:24 Then sync key in DCS has leader=postgres-1 after 10 seconds # features/steps/quorum_commit.py:8 2840s Apr 14 10:14:24 Then sync key in DCS has sync_standby=postgres-0 after 10 seconds # features/steps/quorum_commit.py:8 2841s Apr 14 10:14:25 And synchronous_standby_names on postgres-1 is set to 'ANY 1 ("postgres-0")' after 2 seconds # features/steps/quorum_commit.py:39 2841s Apr 14 10:14:25 2841s Apr 14 10:14:25 Scenario: check behavior with three nodes and different replication factor # features/quorum_commit.feature:33 2841s Apr 14 10:14:25 Given I start postgres-2 # features/steps/basic_replication.py:20 2847s Apr 14 10:14:31 Then sync key in DCS has sync_standby=postgres-0,postgres-2 after 10 seconds # features/steps/quorum_commit.py:8 2848s Apr 14 10:14:32 And sync key in DCS has quorum=1 after 2 seconds # features/steps/quorum_commit.py:8 2848s Apr 14 10:14:32 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 2848s Apr 14 10:14:32 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 2848s Apr 14 10:14:32 Then sync key in DCS has quorum=0 after 10 seconds # features/steps/quorum_commit.py:8 2849s Apr 14 10:14:33 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 2849s Apr 14 10:14:33 2849s Apr 14 10:14:33 Scenario: switch from quorum replication to good old multisync and back # features/quorum_commit.feature:42 2849s Apr 14 10:14:33 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 2849s Apr 14 10:14:33 And I shut down postgres-0 # features/steps/basic_replication.py:41 2850s Apr 14 10:14:34 Then synchronous_standby_names on postgres-1 is set to '"postgres-2"' after 10 seconds # features/steps/quorum_commit.py:39 2852s Apr 14 10:14:36 And sync key in DCS has sync_standby=postgres-2 after 10 seconds # features/steps/quorum_commit.py:8 2854s Apr 14 10:14:38 Then sync key in DCS has quorum=0 after 2 seconds # features/steps/quorum_commit.py:8 2854s Apr 14 10:14:38 When I issue a PATCH request to http://127.0.0.1:8009/config with {"synchronous_mode": "quorum"} # features/steps/patroni_api.py:73 2854s Apr 14 10:14:38 And I start postgres-0 # features/steps/basic_replication.py:20 2857s Apr 14 10:14:41 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 2858s Apr 14 10:14:42 And sync key in DCS has sync_standby=postgres-0,postgres-2 after 10 seconds # features/steps/quorum_commit.py:8 2858s Apr 14 10:14:42 Then sync key in DCS has quorum=1 after 2 seconds # features/steps/quorum_commit.py:8 2858s Apr 14 10:14:42 2858s Apr 14 10:14:42 Scenario: REST API and patronictl # features/quorum_commit.feature:54 2858s Apr 14 10:14:42 Given I run patronictl.py list batman # features/steps/patroni_api.py:88 2859s Apr 14 10:14:43 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 2859s Apr 14 10:14:43 And I receive a response output "Quorum Standby" # features/steps/patroni_api.py:100 2859s Apr 14 10:14:43 And Status code on GET http://127.0.0.1:8008/quorum is 200 after 3 seconds # features/steps/patroni_api.py:144 2859s Apr 14 10:14:43 And Status code on GET http://127.0.0.1:8010/quorum is 200 after 3 seconds # features/steps/patroni_api.py:144 2860s Apr 14 10:14:44 2860s Apr 14 10:14:44 Scenario: nosync node is removed from voters and synchronous_standby_names # features/quorum_commit.feature:61 2860s Apr 14 10:14:44 Given I add tag nosync true to postgres-2 config # features/steps/patroni_api.py:139 2860s Apr 14 10:14:44 When I issue an empty POST request to http://127.0.0.1:8010/reload # features/steps/patroni_api.py:68 2860s Apr 14 10:14:44 Then I receive a response code 202 # features/steps/patroni_api.py:100 2860s Apr 14 10:14:44 And sync key in DCS has quorum=0 after 10 seconds # features/steps/quorum_commit.py:8 2863s Apr 14 10:14:47 And sync key in DCS has sync_standby=postgres-0 after 10 seconds # features/steps/quorum_commit.py:8 2863s Apr 14 10:14:47 And synchronous_standby_names on postgres-1 is set to 'ANY 1 ("postgres-0")' after 2 seconds # features/steps/quorum_commit.py:39 2863s Apr 14 10:14:47 And Status code on GET http://127.0.0.1:8010/quorum is 503 after 10 seconds # features/steps/patroni_api.py:144 2877s Apr 14 10:15:01 2877s Apr 14 10:15:01 Feature: recovery # features/recovery.feature:1 2877s Apr 14 10:15:01 We want to check that crashed postgres is started back 2877s Apr 14 10:15:01 Scenario: check that timeline is not incremented when primary is started after crash # features/recovery.feature:4 2877s Apr 14 10:15:01 Given I start postgres-0 # features/steps/basic_replication.py:20 2883s Apr 14 10:15:07 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 2883s Apr 14 10:15:07 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2883s Apr 14 10:15:07 When I start postgres-1 # features/steps/basic_replication.py:20 2888s Apr 14 10:15:12 And I add the table foo to postgres-0 # features/steps/basic_replication.py:66 2888s Apr 14 10:15:12 Then table foo is present on postgres-1 after 20 seconds # features/steps/basic_replication.py:105 2889s Apr 14 10:15:13 When I kill postmaster on postgres-0 # features/steps/basic_replication.py:56 2890s Apr 14 10:15:14 waiting for server to shut down.... done 2890s Apr 14 10:15:14 server stopped 2890s Apr 14 10:15:14 Then postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 2893s Apr 14 10:15:17 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:63 2893s Apr 14 10:15:17 Then I receive a response code 200 # features/steps/patroni_api.py:100 2893s Apr 14 10:15:17 And I receive a response role primary # features/steps/patroni_api.py:100 2893s Apr 14 10:15:17 And I receive a response timeline 1 # features/steps/patroni_api.py:100 2893s Apr 14 10:15:17 And "members/postgres-0" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 2893s Apr 14 10:15:17 And replication works from postgres-0 to postgres-1 after 15 seconds # features/steps/basic_replication.py:124 2896s Apr 14 10:15:20 2896s Apr 14 10:15:20 Scenario: check immediate failover when master_start_timeout=0 # features/recovery.feature:20 2896s Apr 14 10:15:20 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 2896s Apr 14 10:15:20 Then I receive a response code 200 # features/steps/patroni_api.py:100 2896s Apr 14 10:15:20 And Response on GET http://127.0.0.1:8008/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:158 2896s Apr 14 10:15:20 When I kill postmaster on postgres-0 # features/steps/basic_replication.py:56 2896s Apr 14 10:15:20 waiting for server to shut down.... done 2896s Apr 14 10:15:20 server stopped 2896s Apr 14 10:15:20 Then postgres-1 is a leader after 10 seconds # features/steps/patroni_api.py:31 2898s Apr 14 10:15:22 And postgres-1 role is the primary after 10 seconds # features/steps/basic_replication.py:117 2899s Apr 14 10:15:23 2899s Apr 14 10:15:23 Scenario: check crashed primary demotes after failed attempt to start # features/recovery.feature:28 2899s Apr 14 10:15:23 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 2899s Apr 14 10:15:23 Then I receive a response code 200 # features/steps/patroni_api.py:100 2899s Apr 14 10:15:23 And postgres-0 role is the replica after 10 seconds # features/steps/basic_replication.py:117 2901s Apr 14 10:15:25 When I ensure postgres-1 fails to start after a failure # features/steps/recovery.py:6 2901s Apr 14 10:15:25 When I kill postmaster on postgres-1 # features/steps/basic_replication.py:56 2901s Apr 14 10:15:25 waiting for server to shut down.... done 2901s Apr 14 10:15:25 server stopped 2901s Apr 14 10:15:25 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 2902s Apr 14 10:15:26 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 2912s Apr 14 10:15:36 2912s Apr 14 10:15:36 Feature: standby cluster # features/standby_cluster.feature:1 2912s Apr 14 10:15:36 2912s Apr 14 10:15:36 Scenario: prepare the cluster with logical slots # features/standby_cluster.feature:2 2912s Apr 14 10:15:36 Given I start postgres-1 # features/steps/basic_replication.py:20 2917s Apr 14 10:15:41 Then postgres-1 is a leader after 10 seconds # features/steps/patroni_api.py:31 2917s Apr 14 10:15:41 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2917s Apr 14 10:15:41 When I issue a PATCH request to http://127.0.0.1:8009/config with {"slots": {"pm_1": {"type": "physical"}}, "postgresql": {"parameters": {"wal_level": "logical"}}} # features/steps/patroni_api.py:73 2917s Apr 14 10:15:41 Then I receive a response code 200 # features/steps/patroni_api.py:100 2917s Apr 14 10:15:41 And Response on GET http://127.0.0.1:8009/config contains slots after 10 seconds # features/steps/patroni_api.py:158 2917s Apr 14 10:15:41 And I sleep for 3 seconds # features/steps/patroni_api.py:41 2920s Apr 14 10:15:44 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 2920s Apr 14 10:15:44 Then I receive a response code 200 # features/steps/patroni_api.py:100 2920s Apr 14 10:15:44 And I do a backup of postgres-1 # features/steps/custom_bootstrap.py:25 2922s Apr 14 10:15:46 When I start postgres-0 # features/steps/basic_replication.py:20 2927s Apr 14 10:15:51 Then "members/postgres-0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2928s Apr 14 10:15:52 And replication works from postgres-1 to postgres-0 after 15 seconds # features/steps/basic_replication.py:124 2929s Apr 14 10:15:53 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:63 2929s Apr 14 10:15:53 Then I receive a response code 200 # features/steps/patroni_api.py:100 2929s Apr 14 10:15:53 And I receive a response replication_state streaming # features/steps/patroni_api.py:100 2929s Apr 14 10:15:53 And "members/postgres-0" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 2929s Apr 14 10:15:53 2929s Apr 14 10:15:53 @slot-advance 2929s Apr 14 10:15:53 Scenario: check permanent logical slots are synced to the replica # features/standby_cluster.feature:22 2929s Apr 14 10:15:53 Given I run patronictl.py restart batman postgres-1 --force # features/steps/patroni_api.py:88 2931s Apr 14 10:15:55 Then Logical slot test_logical is in sync between postgres-0 and postgres-1 after 10 seconds # features/steps/slots.py:52 2937s Apr 14 10:16:01 2937s Apr 14 10:16:01 Scenario: Detach exiting node from the cluster # features/standby_cluster.feature:26 2937s Apr 14 10:16:01 When I shut down postgres-1 # features/steps/basic_replication.py:41 2939s Apr 14 10:16:03 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 2939s Apr 14 10:16:03 And "members/postgres-0" key in DCS has role=primary after 5 seconds # features/steps/cascading_replication.py:23 2943s Apr 14 10:16:07 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:63 2943s Apr 14 10:16:07 Then I receive a response code 200 # features/steps/patroni_api.py:100 2943s Apr 14 10:16:07 2943s Apr 14 10:16:07 Scenario: check replication of a single table in a standby cluster # features/standby_cluster.feature:33 2943s Apr 14 10:16:07 Given I start postgres-1 in a standby cluster batman1 as a clone of postgres-0 # features/steps/standby_cluster.py:23 2948s Apr 14 10:16:11 Then postgres-1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 2950s Apr 14 10:16:13 When I add the table foo to postgres-0 # features/steps/basic_replication.py:66 2950s Apr 14 10:16:14 Then table foo is present on postgres-1 after 20 seconds # features/steps/basic_replication.py:105 2950s Apr 14 10:16:14 When I issue a GET request to http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:63 2950s Apr 14 10:16:14 Then I receive a response code 200 # features/steps/patroni_api.py:100 2950s Apr 14 10:16:14 And I receive a response replication_state streaming # features/steps/patroni_api.py:100 2950s Apr 14 10:16:14 And I sleep for 3 seconds # features/steps/patroni_api.py:41 2953s Apr 14 10:16:17 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:63 2953s Apr 14 10:16:17 Then I receive a response code 503 # features/steps/patroni_api.py:100 2953s Apr 14 10:16:17 When I issue a GET request to http://127.0.0.1:8009/standby_leader # features/steps/patroni_api.py:63 2953s Apr 14 10:16:17 Then I receive a response code 200 # features/steps/patroni_api.py:100 2953s Apr 14 10:16:17 And I receive a response role standby_leader # features/steps/patroni_api.py:100 2953s Apr 14 10:16:17 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 2953s Apr 14 10:16:17 When I start postgres-2 in a cluster batman1 # features/steps/standby_cluster.py:12 2958s Apr 14 10:16:22 Then postgres-2 role is the replica after 24 seconds # features/steps/basic_replication.py:117 2958s Apr 14 10:16:22 And postgres-2 is replicating from postgres-1 after 10 seconds # features/steps/standby_cluster.py:52 2959s Apr 14 10:16:23 And table foo is present on postgres-2 after 20 seconds # features/steps/basic_replication.py:105 2959s Apr 14 10:16:23 When I issue a GET request to http://127.0.0.1:8010/patroni # features/steps/patroni_api.py:63 2959s Apr 14 10:16:23 Then I receive a response code 200 # features/steps/patroni_api.py:100 2959s Apr 14 10:16:23 And I receive a response replication_state streaming # features/steps/patroni_api.py:100 2959s Apr 14 10:16:23 And postgres-1 does not have a replication slot named test_logical # features/steps/slots.py:41 2959s Apr 14 10:16:23 2959s Apr 14 10:16:23 Scenario: check switchover # features/standby_cluster.feature:57 2959s Apr 14 10:16:23 Given I run patronictl.py switchover batman1 --force # features/steps/patroni_api.py:88 2963s Apr 14 10:16:26 Then Status code on GET http://127.0.0.1:8010/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:144 2963s Apr 14 10:16:27 And postgres-1 is replicating from postgres-2 after 32 seconds # features/steps/standby_cluster.py:52 2966s Apr 14 10:16:30 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 2966s Apr 14 10:16:30 2966s Apr 14 10:16:30 Scenario: check failover # features/standby_cluster.feature:63 2966s Apr 14 10:16:30 When I kill postgres-2 # features/steps/basic_replication.py:46 2967s Apr 14 10:16:31 And I kill postmaster on postgres-2 # features/steps/basic_replication.py:56 2967s Apr 14 10:16:31 waiting for server to shut down.... done 2967s Apr 14 10:16:31 server stopped 2967s Apr 14 10:16:31 Then postgres-1 is replicating from postgres-0 after 32 seconds # features/steps/standby_cluster.py:52 2987s Apr 14 10:16:51 And Status code on GET http://127.0.0.1:8009/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:144 2987s Apr 14 10:16:51 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:63 2987s Apr 14 10:16:51 Then I receive a response code 503 # features/steps/patroni_api.py:100 2987s Apr 14 10:16:51 And I receive a response role standby_leader # features/steps/patroni_api.py:100 2987s Apr 14 10:16:51 And replication works from postgres-0 to postgres-1 after 15 seconds # features/steps/basic_replication.py:124 2988s Apr 14 10:16:52 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 3002s Apr 14 10:17:05 3002s Apr 14 10:17:05 Feature: watchdog # features/watchdog.feature:1 3002s Apr 14 10:17:05 Verify that watchdog gets pinged and triggered under appropriate circumstances. 3002s Apr 14 10:17:05 Scenario: watchdog is opened and pinged # features/watchdog.feature:4 3002s Apr 14 10:17:05 Given I start postgres-0 with watchdog # features/steps/watchdog.py:17 3007s Apr 14 10:17:11 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 3007s Apr 14 10:17:11 And postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 3007s Apr 14 10:17:11 And postgres-0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:22 3007s Apr 14 10:17:11 And postgres-0 watchdog has a 15 second timeout # features/steps/watchdog.py:35 3007s Apr 14 10:17:11 3007s Apr 14 10:17:11 Scenario: watchdog is reconfigured after global ttl changed # features/watchdog.feature:11 3007s Apr 14 10:17:11 Given I run patronictl.py edit-config batman -s ttl=30 --force # features/steps/patroni_api.py:88 3008s Apr 14 10:17:12 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 3008s Apr 14 10:17:12 And I receive a response output "+ttl: 30" # features/steps/patroni_api.py:100 3008s Apr 14 10:17:12 When I sleep for 4 seconds # features/steps/patroni_api.py:41 3012s Apr 14 10:17:16 Then postgres-0 watchdog has a 25 second timeout # features/steps/watchdog.py:35 3012s Apr 14 10:17:16 3012s Apr 14 10:17:16 Scenario: watchdog is disabled during pause # features/watchdog.feature:18 3012s Apr 14 10:17:16 Given I run patronictl.py pause batman # features/steps/patroni_api.py:88 3014s Apr 14 10:17:18 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 3014s Apr 14 10:17:18 When I sleep for 2 seconds # features/steps/patroni_api.py:41 3016s Apr 14 10:17:20 Then postgres-0 watchdog has been closed # features/steps/watchdog.py:30 3016s Apr 14 10:17:20 3016s Apr 14 10:17:20 Scenario: watchdog is opened and pinged after resume # features/watchdog.feature:24 3016s Apr 14 10:17:20 Given I reset postgres-0 watchdog state # features/steps/watchdog.py:40 3016s Apr 14 10:17:20 And I run patronictl.py resume batman # features/steps/patroni_api.py:88 3017s Apr 14 10:17:21 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 3017s Apr 14 10:17:21 And postgres-0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:22 3017s Apr 14 10:17:21 3017s Apr 14 10:17:21 Scenario: watchdog is disabled when shutting down # features/watchdog.feature:30 3017s Apr 14 10:17:21 Given I shut down postgres-0 # features/steps/basic_replication.py:41 3019s Apr 14 10:17:23 Then postgres-0 watchdog has been closed # features/steps/watchdog.py:30 3019s Apr 14 10:17:23 3019s Apr 14 10:17:23 Scenario: watchdog is triggered if patroni stops responding # features/watchdog.feature:34 3019s Apr 14 10:17:23 Given I reset postgres-0 watchdog state # features/steps/watchdog.py:40 3019s Apr 14 10:17:23 And I start postgres-0 with watchdog # features/steps/watchdog.py:17 3022s Apr 14 10:17:26 Then postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 3025s Apr 14 10:17:29 When postgres-0 hangs for 30 seconds # features/steps/watchdog.py:53 3025s Apr 14 10:17:29 Then postgres-0 watchdog is triggered after 30 seconds # features/steps/watchdog.py:45 3059s Apr 14 10:18:03 3060s Apr 14 10:18:04 Combined data file .coverage.autopkgtest-lxd-kosmra.3177.XhKufbGx 3060s Apr 14 10:18:04 Combined data file .coverage.autopkgtest-lxd-kosmra.3180.XzAVLsPx 3060s Apr 14 10:18:04 Combined data file .coverage.autopkgtest-lxd-kosmra.3225.XaJCEmgx 3060s Apr 14 10:18:04 Combined data file .coverage.autopkgtest-lxd-kosmra.3266.XDMamjGx 3060s Apr 14 10:18:04 Combined data file .coverage.autopkgtest-lxd-kosmra.3321.XevSNlRx 3060s Apr 14 10:18:04 Combined data file .coverage.autopkgtest-lxd-kosmra.3367.XFGmoLGx 3060s Apr 14 10:18:04 Combined data file .coverage.autopkgtest-lxd-kosmra.3440.XYSmoOmx 3060s Apr 14 10:18:04 Combined data file .coverage.autopkgtest-lxd-kosmra.3489.XzqxwrIx 3060s Apr 14 10:18:04 Combined data file .coverage.autopkgtest-lxd-kosmra.3493.XBizqywx 3060s Apr 14 10:18:04 Combined data file .coverage.autopkgtest-lxd-kosmra.3575.XmLSYNpx 3060s Apr 14 10:18:04 Combined data file .coverage.autopkgtest-lxd-kosmra.3681.XaDeykCx 3060s Apr 14 10:18:04 Combined data file .coverage.autopkgtest-lxd-kosmra.3685.XcLZOTOx 3060s Apr 14 10:18:04 Combined data file .coverage.autopkgtest-lxd-kosmra.3729.XujLnzPx 3060s Apr 14 10:18:04 Combined data file .coverage.autopkgtest-lxd-kosmra.3779.XKsYRaax 3060s Apr 14 10:18:04 Combined data file .coverage.autopkgtest-lxd-kosmra.3887.XJwtDktx 3060s Apr 14 10:18:04 Combined data file .coverage.autopkgtest-lxd-kosmra.3891.XnxgQzZx 3060s Apr 14 10:18:04 Combined data file .coverage.autopkgtest-lxd-kosmra.3894.XPLTZKPx 3060s Apr 14 10:18:04 Combined data file .coverage.autopkgtest-lxd-kosmra.3940.XNJrWFsx 3060s Apr 14 10:18:04 Combined data file .coverage.autopkgtest-lxd-kosmra.3997.XODkXJsx 3060s Apr 14 10:18:04 Combined data file .coverage.autopkgtest-lxd-kosmra.4090.XUMpurzx 3060s Apr 14 10:18:04 Combined data file .coverage.autopkgtest-lxd-kosmra.4093.XBAhAydx 3060s Apr 14 10:18:04 Combined data file .coverage.autopkgtest-lxd-kosmra.4425.Xgbfhtnx 3060s Apr 14 10:18:04 Combined data file .coverage.autopkgtest-lxd-kosmra.4503.XRhEyDNx 3060s Apr 14 10:18:04 Combined data file .coverage.autopkgtest-lxd-kosmra.4559.XiwghCnx 3060s Apr 14 10:18:04 Skipping duplicate data .coverage.autopkgtest-lxd-kosmra.4831.XrNhXohx 3060s Apr 14 10:18:04 Combined data file .coverage.autopkgtest-lxd-kosmra.4834.XhqWFoBx 3060s Apr 14 10:18:04 Combined data file .coverage.autopkgtest-lxd-kosmra.4887.XDyLmQJx 3060s Apr 14 10:18:04 Combined data file .coverage.autopkgtest-lxd-kosmra.4949.XcRWHYUx 3060s Apr 14 10:18:04 Combined data file .coverage.autopkgtest-lxd-kosmra.5038.XaaMZilx 3060s Apr 14 10:18:04 Combined data file .coverage.autopkgtest-lxd-kosmra.5137.XnXoLXpx 3060s Apr 14 10:18:04 Combined data file .coverage.autopkgtest-lxd-kosmra.5140.XrzSQKDx 3060s Apr 14 10:18:04 Combined data file .coverage.autopkgtest-lxd-kosmra.5185.XAyQIhKx 3060s Apr 14 10:18:04 Combined data file .coverage.autopkgtest-lxd-kosmra.5251.XMMebSax 3060s Apr 14 10:18:04 Combined data file .coverage.autopkgtest-lxd-kosmra.5286.XqFPfryx 3060s Apr 14 10:18:04 Skipping duplicate data .coverage.autopkgtest-lxd-kosmra.5401.Xmypgydx 3060s Apr 14 10:18:04 Combined data file .coverage.autopkgtest-lxd-kosmra.5404.XtqoZoKx 3060s Apr 14 10:18:04 Combined data file .coverage.autopkgtest-lxd-kosmra.5454.XnufKkMx 3060s Apr 14 10:18:04 Combined data file .coverage.autopkgtest-lxd-kosmra.5470.XmqmQmYx 3060s Apr 14 10:18:04 Combined data file .coverage.autopkgtest-lxd-kosmra.5511.XbSinKKx 3060s Apr 14 10:18:04 Combined data file .coverage.autopkgtest-lxd-kosmra.5561.XxMRpLrx 3060s Apr 14 10:18:04 Combined data file .coverage.autopkgtest-lxd-kosmra.5567.XQfKrAnx 3060s Apr 14 10:18:04 Combined data file .coverage.autopkgtest-lxd-kosmra.5605.XBPgjILx 3060s Apr 14 10:18:04 Combined data file .coverage.autopkgtest-lxd-kosmra.5650.XAbYgVhx 3060s Apr 14 10:18:04 Combined data file .coverage.autopkgtest-lxd-kosmra.5820.XbgHvZax 3060s Apr 14 10:18:04 Combined data file .coverage.autopkgtest-lxd-kosmra.5823.XgMIRHrx 3060s Apr 14 10:18:04 Combined data file .coverage.autopkgtest-lxd-kosmra.5830.XMIiVdRx 3060s Apr 14 10:18:04 Combined data file .coverage.autopkgtest-lxd-kosmra.5966.XgkhQzlx 3060s Apr 14 10:18:04 Combined data file .coverage.autopkgtest-lxd-kosmra.5969.XETDlaMx 3060s Apr 14 10:18:04 Combined data file .coverage.autopkgtest-lxd-kosmra.6016.XxEeYNix 3060s Apr 14 10:18:04 Combined data file .coverage.autopkgtest-lxd-kosmra.6065.XBWwdJIx 3060s Apr 14 10:18:04 Combined data file .coverage.autopkgtest-lxd-kosmra.6111.XCCwtIRx 3060s Apr 14 10:18:04 Combined data file .coverage.autopkgtest-lxd-kosmra.6148.XJodEKPx 3060s Apr 14 10:18:04 Combined data file .coverage.autopkgtest-lxd-kosmra.6291.XitLVADx 3060s Apr 14 10:18:04 Combined data file .coverage.autopkgtest-lxd-kosmra.6370.XiQfEzox 3060s Apr 14 10:18:04 Combined data file .coverage.autopkgtest-lxd-kosmra.6373.XzQDQFex 3060s Apr 14 10:18:04 Combined data file .coverage.autopkgtest-lxd-kosmra.6417.XnSdkOnx 3060s Apr 14 10:18:04 Combined data file .coverage.autopkgtest-lxd-kosmra.6490.XeYUcvCx 3060s Apr 14 10:18:04 Combined data file .coverage.autopkgtest-lxd-kosmra.6580.XlinfHwx 3060s Apr 14 10:18:04 Combined data file .coverage.autopkgtest-lxd-kosmra.6629.XgSygThx 3060s Apr 14 10:18:04 Skipping duplicate data .coverage.autopkgtest-lxd-kosmra.6969.XMiWyrCx 3060s Apr 14 10:18:04 Combined data file .coverage.autopkgtest-lxd-kosmra.6972.XlMRCrDx 3060s Apr 14 10:18:04 Combined data file .coverage.autopkgtest-lxd-kosmra.7023.XlplQjux 3060s Apr 14 10:18:04 Combined data file .coverage.autopkgtest-lxd-kosmra.7086.XuAzGjIx 3060s Apr 14 10:18:04 Combined data file .coverage.autopkgtest-lxd-kosmra.7179.XkfnMCcx 3060s Apr 14 10:18:04 Combined data file .coverage.autopkgtest-lxd-kosmra.7228.XQIsqEQx 3060s Apr 14 10:18:04 Combined data file .coverage.autopkgtest-lxd-kosmra.7284.XupeOIPx 3060s Apr 14 10:18:04 Combined data file .coverage.autopkgtest-lxd-kosmra.7328.XMvxjCvx 3060s Apr 14 10:18:04 Skipping duplicate data .coverage.autopkgtest-lxd-kosmra.7367.XBormuOx 3060s Apr 14 10:18:04 Combined data file .coverage.autopkgtest-lxd-kosmra.7373.XdayChKx 3060s Apr 14 10:18:04 Combined data file .coverage.autopkgtest-lxd-kosmra.7417.XZTMoqzx 3060s Apr 14 10:18:04 Combined data file .coverage.autopkgtest-lxd-kosmra.7642.XVDgXjwx 3060s Apr 14 10:18:04 Combined data file .coverage.autopkgtest-lxd-kosmra.7645.XZIlBNux 3060s Apr 14 10:18:04 Combined data file .coverage.autopkgtest-lxd-kosmra.7711.XOoaClGx 3060s Apr 14 10:18:04 Combined data file .coverage.autopkgtest-lxd-kosmra.7765.XvkkaAWx 3060s Apr 14 10:18:04 Combined data file .coverage.autopkgtest-lxd-kosmra.7873.XfwJiTyx 3060s Apr 14 10:18:04 Combined data file .coverage.autopkgtest-lxd-kosmra.7996.XHhkCYcx 3060s Apr 14 10:18:04 Skipping duplicate data .coverage.autopkgtest-lxd-kosmra.8127.XNwUaFwx 3060s Apr 14 10:18:04 Combined data file .coverage.autopkgtest-lxd-kosmra.8134.XmbHjGPx 3060s Apr 14 10:18:04 Combined data file .coverage.autopkgtest-lxd-kosmra.8178.XRYvIikx 3060s Apr 14 10:18:04 Skipping duplicate data .coverage.autopkgtest-lxd-kosmra.8181.XumEYzDx 3060s Apr 14 10:18:04 Combined data file .coverage.autopkgtest-lxd-kosmra.8185.XGISywAx 3060s Apr 14 10:18:04 Combined data file .coverage.autopkgtest-lxd-kosmra.8197.XomxAnCx 3060s Apr 14 10:18:04 Skipping duplicate data .coverage.autopkgtest-lxd-kosmra.8267.XdpnjHFx 3064s Apr 14 10:18:08 Name Stmts Miss Cover 3064s Apr 14 10:18:08 ---------------------------------------------------------------------------------------------------------- 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 101 96 5% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/cryptography/__about__.py 5 0 100% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/cryptography/__init__.py 3 0 100% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/cryptography/exceptions.py 26 5 81% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/cryptography/fernet.py 137 54 61% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/cryptography/hazmat/__init__.py 2 0 100% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/cryptography/hazmat/_oid.py 135 0 100% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/__init__.py 5 0 100% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/__init__.py 3 0 100% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/backend.py 135 67 50% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/__init__.py 0 0 100% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/__init__.py 0 0 100% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/_conditional.py 38 17 55% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/binding.py 51 4 92% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/__init__.py 1 0 100% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/ciphers/__init__.py 1 0 100% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/ciphers/algorithms.py 68 18 74% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/__init__.py 0 0 100% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_asymmetric.py 6 0 100% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_cipheralgorithm.py 23 1 96% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_serialization.py 79 35 56% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/__init__.py 0 0 100% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ec.py 172 22 87% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/padding.py 55 23 58% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/rsa.py 93 40 57% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/utils.py 14 5 64% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/__init__.py 4 0 100% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/algorithms.py 72 13 82% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/base.py 54 3 94% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/modes.py 140 50 64% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/constant_time.py 6 3 50% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hashes.py 127 20 84% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hmac.py 6 0 100% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/kdf/__init__.py 7 0 100% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/kdf/pbkdf2.py 27 5 81% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/padding.py 104 37 64% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/cryptography/utils.py 76 25 67% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/dateutil/__init__.py 13 4 69% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/dateutil/_version.py 13 3 77% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 810 436 46% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 183 150 18% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 240 206 14% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 151 114 25% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 794 626 21% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/dateutil/tz/win.py 152 149 2% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/patroni/__main__.py 201 66 67% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/patroni/api.py 788 292 63% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 15 84% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/patroni/collections.py 56 5 91% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/patroni/config.py 357 88 75% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/patroni/config_generator.py 212 159 25% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/patroni/daemon.py 76 3 96% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 710 98 86% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/patroni/dcs/raft.py 319 43 87% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/patroni/dynamic_loader.py 35 7 80% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/patroni/file_perm.py 47 10 79% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/patroni/global_config.py 87 0 100% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/patroni/ha.py 1359 312 77% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/patroni/log.py 235 79 66% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 825 170 79% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/patroni/postgresql/available_parameters/__init__.py 24 3 88% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 254 60 76% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 840 216 74% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 1 99% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 43 8 81% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/patroni/postgresql/mpp/__init__.py 89 11 88% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 83 51% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 416 127 69% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 349 37 89% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 154 10 94% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 157 24 85% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/patroni/psycopg.py 46 19 59% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/patroni/quorum.py 182 48 74% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/patroni/request.py 58 6 90% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/patroni/tags.py 38 0 100% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/patroni/utils.py 371 122 67% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/patroni/validator.py 309 215 30% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 42 79% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 35 74% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/psutil/__init__.py 950 629 34% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/psutil/_common.py 422 212 50% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/psutil/_compat.py 301 263 13% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1250 924 26% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/psutil/_psposix.py 95 38 60% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/pysyncobj/__init__.py 2 0 100% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/pysyncobj/atomic_replace.py 4 0 100% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/pysyncobj/config.py 80 1 99% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/pysyncobj/dns_resolver.py 52 10 81% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/pysyncobj/encryptor.py 17 2 88% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/pysyncobj/fast_queue.py 21 1 95% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/pysyncobj/journal.py 193 37 81% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/pysyncobj/monotonic.py 76 70 8% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/pysyncobj/node.py 49 10 80% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/pysyncobj/pickle.py 52 32 38% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/pysyncobj/pipe_notifier.py 24 2 92% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/pysyncobj/poller.py 87 41 53% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/pysyncobj/serializer.py 167 133 20% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/pysyncobj/syncobj.py 1057 501 53% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/pysyncobj/tcp_connection.py 250 40 84% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/pysyncobj/tcp_server.py 56 12 79% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/pysyncobj/transport.py 266 57 79% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/pysyncobj/utility.py 59 6 90% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/pysyncobj/version.py 1 0 100% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/pysyncobj/win_inet_pton.py 44 31 30% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/urllib3/__init__.py 49 15 69% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 63 45 29% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/urllib3/_collections.py 231 104 55% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 54 16 70% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/urllib3/_version.py 13 3 77% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/urllib3/connection.py 389 143 63% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 344 130 62% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/urllib3/exceptions.py 121 39 68% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/urllib3/http2/__init__.py 28 21 25% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/urllib3/http2/probe.py 49 31 37% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 88 62% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/urllib3/response.py 634 395 38% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 9 86% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 49 53% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 17 47% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/urllib3/util/retry.py 174 50 71% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 172 73 58% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 152 106 30% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 19 73% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/urllib3/util/url.py 203 76 63% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 9 65% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 38 22% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/yaml/parser.py 352 180 49% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/yaml/reader.py 122 30 75% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/yaml/scanner.py 758 415 45% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 3064s Apr 14 10:18:08 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 3064s Apr 14 10:18:08 patroni/__init__.py 13 2 85% 3064s Apr 14 10:18:08 patroni/__main__.py 201 201 0% 3064s Apr 14 10:18:08 patroni/api.py 788 788 0% 3064s Apr 14 10:18:08 patroni/async_executor.py 96 69 28% 3064s Apr 14 10:18:08 patroni/collections.py 56 15 73% 3064s Apr 14 10:18:08 patroni/config.py 357 179 50% 3064s Apr 14 10:18:08 patroni/config_generator.py 212 212 0% 3064s Apr 14 10:18:08 patroni/ctl.py 936 395 58% 3064s Apr 14 10:18:08 patroni/daemon.py 76 6 92% 3064s Apr 14 10:18:08 patroni/dcs/__init__.py 710 316 55% 3064s Apr 14 10:18:08 patroni/dcs/consul.py 482 482 0% 3064s Apr 14 10:18:08 patroni/dcs/etcd3.py 679 679 0% 3064s Apr 14 10:18:08 patroni/dcs/etcd.py 603 603 0% 3064s Apr 14 10:18:08 patroni/dcs/exhibitor.py 62 62 0% 3064s Apr 14 10:18:08 patroni/dcs/kubernetes.py 943 943 0% 3064s Apr 14 10:18:08 patroni/dcs/raft.py 319 73 77% 3064s Apr 14 10:18:08 patroni/dcs/zookeeper.py 289 289 0% 3064s Apr 14 10:18:08 patroni/dynamic_loader.py 35 7 80% 3064s Apr 14 10:18:08 patroni/exceptions.py 16 1 94% 3064s Apr 14 10:18:08 patroni/file_perm.py 47 17 64% 3064s Apr 14 10:18:08 patroni/global_config.py 87 19 78% 3064s Apr 14 10:18:08 patroni/ha.py 1359 1359 0% 3064s Apr 14 10:18:08 patroni/log.py 235 103 56% 3064s Apr 14 10:18:08 patroni/postgresql/__init__.py 825 653 21% 3064s Apr 14 10:18:08 patroni/postgresql/available_parameters/__init__.py 24 3 88% 3064s Apr 14 10:18:08 patroni/postgresql/bootstrap.py 254 224 12% 3064s Apr 14 10:18:08 patroni/postgresql/callback_executor.py 55 34 38% 3064s Apr 14 10:18:08 patroni/postgresql/cancellable.py 104 84 19% 3064s Apr 14 10:18:08 patroni/postgresql/config.py 840 720 14% 3064s Apr 14 10:18:08 patroni/postgresql/connection.py 75 50 33% 3064s Apr 14 10:18:08 patroni/postgresql/misc.py 43 30 30% 3064s Apr 14 10:18:08 patroni/postgresql/mpp/__init__.py 89 21 76% 3064s Apr 14 10:18:08 patroni/postgresql/mpp/citus.py 366 366 0% 3064s Apr 14 10:18:08 patroni/postgresql/postmaster.py 170 139 18% 3064s Apr 14 10:18:08 patroni/postgresql/rewind.py 416 416 0% 3064s Apr 14 10:18:08 patroni/postgresql/slots.py 349 300 14% 3064s Apr 14 10:18:08 patroni/postgresql/sync.py 154 114 26% 3064s Apr 14 10:18:08 patroni/postgresql/validator.py 157 52 67% 3064s Apr 14 10:18:08 patroni/psycopg.py 46 32 30% 3064s Apr 14 10:18:08 patroni/quorum.py 182 182 0% 3064s Apr 14 10:18:08 patroni/raft_controller.py 22 1 95% 3064s Apr 14 10:18:08 patroni/request.py 58 6 90% 3064s Apr 14 10:18:08 patroni/scripts/__init__.py 0 0 100% 3064s Apr 14 10:18:08 patroni/scripts/aws.py 59 59 0% 3064s Apr 14 10:18:08 patroni/scripts/barman/__init__.py 0 0 100% 3064s Apr 14 10:18:08 patroni/scripts/barman/cli.py 50 50 0% 3064s Apr 14 10:18:08 patroni/scripts/barman/config_switch.py 50 50 0% 3064s Apr 14 10:18:08 patroni/scripts/barman/recover.py 36 36 0% 3064s Apr 14 10:18:08 patroni/scripts/barman/utils.py 93 93 0% 3064s Apr 14 10:18:08 patroni/scripts/wale_restore.py 207 207 0% 3064s Apr 14 10:18:08 patroni/tags.py 38 11 71% 3064s Apr 14 10:18:08 patroni/utils.py 371 231 38% 3064s Apr 14 10:18:08 patroni/validator.py 309 222 28% 3064s Apr 14 10:18:08 patroni/version.py 1 0 100% 3064s Apr 14 10:18:08 patroni/watchdog/__init__.py 2 2 0% 3064s Apr 14 10:18:08 patroni/watchdog/base.py 203 203 0% 3064s Apr 14 10:18:08 patroni/watchdog/linux.py 135 135 0% 3064s Apr 14 10:18:08 ---------------------------------------------------------------------------------------------------------- 3064s Apr 14 10:18:08 TOTAL 41244 23446 43% 3064s Apr 14 10:18:08 13 features passed, 0 failed, 1 skipped 3064s Apr 14 10:18:08 63 scenarios passed, 0 failed, 6 skipped 3064s Apr 14 10:18:08 597 steps passed, 0 failed, 70 skipped, 0 undefined 3064s Apr 14 10:18:08 Took 11m1.798s 3065s + bash -c 'rm -rf features/output' 3065s + echo '### End 17 acceptance-raft ###' 3065s + rm -f /tmp/pgpass_postgres-0 /tmp/pgpass_postgres-1 /tmp/pgpass_postgres-2 /tmp/pgpass_postgres-3 3065s ++ id -u 3065s + '[' 1000 -eq 0 ']' 3065s ### End 17 acceptance-raft ### 3065s autopkgtest [10:18:09]: test acceptance-raft: -----------------------] 3069s autopkgtest [10:18:13]: test acceptance-raft: - - - - - - - - - - results - - - - - - - - - - 3069s acceptance-raft PASS 3072s autopkgtest [10:18:16]: @@@@@@@@@@@@@@@@@@@@ summary 3072s test PASS 3072s acceptance-etcd3-basic PASS 3072s acceptance-etcd3 PASS 3072s acceptance-etcd FAIL non-zero exit status 1 3072s acceptance-zookeeper PASS 3072s acceptance-raft PASS