0s autopkgtest [01:26:32]: starting date and time: 2025-03-16 01:26:32+0000 0s autopkgtest [01:26:32]: git checkout: 325255d2 Merge branch 'pin-any-arch' into 'ubuntu/production' 0s autopkgtest [01:26:32]: host juju-7f2275-prod-proposed-migration-environment-9; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.gp38hnyu/out --timeout-copy=6000 --setup-commands 'ln -s /dev/null /etc/systemd/system/bluetooth.service; printf "http_proxy=http://squid.internal:3128\nhttps_proxy=http://squid.internal:3128\nno_proxy=127.0.0.1,127.0.1.1,login.ubuntu.com,localhost,localdomain,novalocal,internal,archive.ubuntu.com,ports.ubuntu.com,security.ubuntu.com,ddebs.ubuntu.com,changelogs.ubuntu.com,keyserver.ubuntu.com,launchpadlibrarian.net,launchpadcontent.net,launchpad.net,10.24.0.0/24,keystone.ps5.canonical.com,objectstorage.prodstack5.canonical.com,radosgw.ps5.canonical.com\n" >> /etc/environment' --apt-pocket=proposed=src:patroni --apt-upgrade patroni --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=patroni/4.0.4-8 -- lxd -r lxd-armhf-10.145.243.207 lxd-armhf-10.145.243.207:autopkgtest/ubuntu/plucky/armhf 23s autopkgtest [01:26:55]: testbed dpkg architecture: armhf 25s autopkgtest [01:26:57]: testbed apt version: 2.9.33 29s autopkgtest [01:27:01]: @@@@@@@@@@@@@@@@@@@@ test bed setup 32s autopkgtest [01:27:04]: testbed release detected to be: None 39s autopkgtest [01:27:11]: updating testbed package index (apt update) 42s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [126 kB] 42s Get:2 http://ftpmaster.internal/ubuntu plucky InRelease [257 kB] 42s Get:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease [126 kB] 42s Get:4 http://ftpmaster.internal/ubuntu plucky-security InRelease [126 kB] 43s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [17.7 kB] 43s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [41.4 kB] 43s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [365 kB] 43s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf Packages [74.9 kB] 43s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf c-n-f Metadata [1792 B] 43s Get:10 http://ftpmaster.internal/ubuntu plucky-proposed/restricted armhf c-n-f Metadata [116 B] 43s Get:11 http://ftpmaster.internal/ubuntu plucky-proposed/universe armhf Packages [290 kB] 43s Get:12 http://ftpmaster.internal/ubuntu plucky-proposed/universe armhf c-n-f Metadata [10.5 kB] 43s Get:13 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse armhf Packages [4168 B] 43s Get:14 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse armhf c-n-f Metadata [240 B] 43s Get:15 http://ftpmaster.internal/ubuntu plucky/universe Sources [21.0 MB] 58s Get:16 http://ftpmaster.internal/ubuntu plucky/multiverse Sources [299 kB] 59s Get:17 http://ftpmaster.internal/ubuntu plucky/main Sources [1389 kB] 59s Get:18 http://ftpmaster.internal/ubuntu plucky/main armhf Packages [1378 kB] 60s Get:19 http://ftpmaster.internal/ubuntu plucky/main armhf c-n-f Metadata [29.5 kB] 60s Get:20 http://ftpmaster.internal/ubuntu plucky/restricted armhf c-n-f Metadata [108 B] 60s Get:21 http://ftpmaster.internal/ubuntu plucky/universe armhf Packages [15.3 MB] 68s Get:22 http://ftpmaster.internal/ubuntu plucky/multiverse armhf Packages [172 kB] 69s Fetched 41.1 MB in 28s (1485 kB/s) 70s Reading package lists... 77s autopkgtest [01:27:49]: upgrading testbed (apt dist-upgrade and autopurge) 78s Reading package lists... 79s Building dependency tree... 79s Reading state information... 79s Calculating upgrade...Starting pkgProblemResolver with broken count: 0 79s Starting 2 pkgProblemResolver with broken count: 0 79s Done 80s Entering ResolveByKeep 81s 81s Calculating upgrade... 81s The following packages will be upgraded: 81s pinentry-curses python3-jinja2 sos strace 81s 4 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 81s Need to get 960 kB of archives. 81s After this operation, 23.6 kB of additional disk space will be used. 81s Get:1 http://ftpmaster.internal/ubuntu plucky/main armhf strace armhf 6.13+ds-1ubuntu1 [445 kB] 82s Get:2 http://ftpmaster.internal/ubuntu plucky/main armhf pinentry-curses armhf 1.3.1-2ubuntu3 [40.6 kB] 82s Get:3 http://ftpmaster.internal/ubuntu plucky/main armhf python3-jinja2 all 3.1.5-2ubuntu1 [109 kB] 82s Get:4 http://ftpmaster.internal/ubuntu plucky/main armhf sos all 4.9.0-5 [365 kB] 83s Fetched 960 kB in 1s (765 kB/s) 83s (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 ... 64655 files and directories currently installed.) 83s Preparing to unpack .../strace_6.13+ds-1ubuntu1_armhf.deb ... 83s Unpacking strace (6.13+ds-1ubuntu1) over (6.11-0ubuntu1) ... 83s Preparing to unpack .../pinentry-curses_1.3.1-2ubuntu3_armhf.deb ... 83s Unpacking pinentry-curses (1.3.1-2ubuntu3) over (1.3.1-2ubuntu2) ... 83s Preparing to unpack .../python3-jinja2_3.1.5-2ubuntu1_all.deb ... 83s Unpacking python3-jinja2 (3.1.5-2ubuntu1) over (3.1.5-2) ... 83s Preparing to unpack .../archives/sos_4.9.0-5_all.deb ... 84s Unpacking sos (4.9.0-5) over (4.9.0-4) ... 84s Setting up sos (4.9.0-5) ... 84s Setting up pinentry-curses (1.3.1-2ubuntu3) ... 84s Setting up python3-jinja2 (3.1.5-2ubuntu1) ... 84s Setting up strace (6.13+ds-1ubuntu1) ... 84s Processing triggers for man-db (2.13.0-1) ... 87s Reading package lists... 88s Building dependency tree... 88s Reading state information... 88s Starting pkgProblemResolver with broken count: 0 88s Starting 2 pkgProblemResolver with broken count: 0 88s Done 89s Solving dependencies... 89s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 91s autopkgtest [01:28:03]: rebooting testbed after setup commands that affected boot 133s autopkgtest [01:28:45]: 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 163s autopkgtest [01:29:15]: @@@@@@@@@@@@@@@@@@@@ apt-source patroni 185s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed/universe patroni 4.0.4-8 (dsc) [2870 B] 185s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/universe patroni 4.0.4-8 (tar) [1205 kB] 185s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/universe patroni 4.0.4-8 (diff) [28.2 kB] 185s gpgv: Signature made Fri Mar 14 13:47:44 2025 UTC 185s gpgv: using RSA key 9CA877749FAB2E4FA96862ECDC686A27B43481B0 185s gpgv: Can't check signature: No public key 185s dpkg-source: warning: cannot verify inline signature for ./patroni_4.0.4-8.dsc: no acceptable signature found 185s autopkgtest [01:29:37]: testing package patroni version 4.0.4-8 187s autopkgtest [01:29:39]: build not needed 190s autopkgtest [01:29:42]: test test: preparing testbed 192s Reading package lists... 192s Building dependency tree... 192s Reading state information... 192s Starting pkgProblemResolver with broken count: 0 192s Starting 2 pkgProblemResolver with broken count: 0 192s Done 193s The following NEW packages will be installed: 193s fonts-font-awesome fonts-lato libcares2 libev4t64 libjs-jquery 193s libjs-jquery-hotkeys libjs-jquery-isonscreen libjs-jquery-metadata 193s libjs-jquery-tablesorter libjs-jquery-throttle-debounce libjs-sphinxdoc 193s libjs-underscore libpq5 patroni patroni-doc python3-aiohappyeyeballs 193s python3-aiohttp python3-aiosignal python3-async-timeout python3-cachetools 193s python3-click python3-consul python3-coverage python3-dnspython python3-etcd 193s python3-eventlet python3-flake8 python3-frozenlist python3-gevent 193s python3-google-auth python3-greenlet python3-iniconfig python3-kazoo 193s python3-kerberos python3-kubernetes python3-mccabe python3-mock 193s python3-multidict python3-pluggy python3-prettytable python3-psutil 193s python3-psycopg2 python3-pure-sasl python3-pyasn1 python3-pyasn1-modules 193s python3-pycodestyle python3-pyflakes python3-pysyncobj python3-pytest 193s python3-pytest-cov python3-pyu2f python3-requests-oauthlib python3-responses 193s python3-rsa python3-wcwidth python3-websocket python3-yarl python3-ydiff 193s python3-zope.event python3-zope.interface sphinx-rtd-theme-common 193s 0 upgraded, 61 newly installed, 0 to remove and 0 not upgraded. 193s Need to get 10.2 MB of archives. 193s After this operation, 60.9 MB of additional disk space will be used. 193s Get:1 http://ftpmaster.internal/ubuntu plucky/main armhf fonts-lato all 2.015-1 [2781 kB] 197s Get:2 http://ftpmaster.internal/ubuntu plucky/main armhf fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 197s Get:3 http://ftpmaster.internal/ubuntu plucky/main armhf libcares2 armhf 1.34.4-2.1 [85.0 kB] 197s Get:4 http://ftpmaster.internal/ubuntu plucky/universe armhf libev4t64 armhf 1:4.33-2.1build1 [26.3 kB] 197s Get:5 http://ftpmaster.internal/ubuntu plucky/main armhf libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 198s Get:6 http://ftpmaster.internal/ubuntu plucky/universe armhf libjs-jquery-metadata all 12-4 [6582 B] 198s Get:7 http://ftpmaster.internal/ubuntu plucky/universe armhf libjs-jquery-tablesorter all 1:2.31.3+dfsg1-4 [192 kB] 198s Get:8 http://ftpmaster.internal/ubuntu plucky/universe armhf libjs-jquery-throttle-debounce all 1.1+dfsg.1-2 [12.5 kB] 198s Get:9 http://ftpmaster.internal/ubuntu plucky/main armhf libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 198s Get:10 http://ftpmaster.internal/ubuntu plucky/main armhf libjs-sphinxdoc all 8.1.3-4 [30.9 kB] 198s Get:11 http://ftpmaster.internal/ubuntu plucky/main armhf libpq5 armhf 17.4-1 [125 kB] 198s Get:12 http://ftpmaster.internal/ubuntu plucky/main armhf python3-click all 8.2.0+0.really.8.1.8-1 [80.0 kB] 198s Get:13 http://ftpmaster.internal/ubuntu plucky/main armhf python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 198s Get:14 http://ftpmaster.internal/ubuntu plucky/main armhf python3-prettytable all 3.12.0-1 [36.5 kB] 198s Get:15 http://ftpmaster.internal/ubuntu plucky/main armhf python3-psutil armhf 5.9.8-2build3 [194 kB] 199s Get:16 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-ydiff all 1.4.2-1 [19.0 kB] 199s Get:17 http://ftpmaster.internal/ubuntu plucky/main armhf python3-psycopg2 armhf 2.9.10-1build1 [125 kB] 199s Get:18 http://ftpmaster.internal/ubuntu plucky/main armhf python3-dnspython all 2.7.0-1ubuntu1 [167 kB] 199s Get:19 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-etcd all 0.4.5-6 [32.1 kB] 199s Get:20 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-consul all 1.5.1+dfsg-1 [21.7 kB] 199s Get:21 http://ftpmaster.internal/ubuntu plucky/main armhf python3-greenlet armhf 3.1.0-1build1 [161 kB] 199s Get:22 http://ftpmaster.internal/ubuntu plucky/main armhf python3-eventlet all 0.39.0-0ubuntu1 [277 kB] 200s Get:23 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-zope.event all 5.0-0.1 [7512 B] 200s Get:24 http://ftpmaster.internal/ubuntu plucky/main armhf python3-zope.interface armhf 7.2-1build1 [139 kB] 200s Get:25 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-gevent armhf 24.11.1-1build1 [822 kB] 201s Get:26 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-kerberos armhf 1.1.14-3.1build11 [19.9 kB] 201s Get:27 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-pure-sasl all 0.5.1+dfsg1-5 [11.4 kB] 201s Get:28 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-kazoo all 2.9.0-2 [103 kB] 201s Get:29 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-multidict armhf 6.1.0-1build2 [32.2 kB] 201s Get:30 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-yarl armhf 1.13.1-1build2 [91.4 kB] 201s Get:31 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-async-timeout all 5.0.1-1 [6830 B] 201s Get:32 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-aiohappyeyeballs all 2.4.6-1 [10.5 kB] 201s Get:33 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-frozenlist armhf 1.5.0-1build2 [47.0 kB] 201s Get:34 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-aiosignal all 1.3.2-1 [5182 B] 201s Get:35 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-aiohttp armhf 3.10.11-1build1 [289 kB] 201s Get:36 http://ftpmaster.internal/ubuntu plucky/main armhf python3-cachetools all 5.3.3-1 [10.3 kB] 201s Get:37 http://ftpmaster.internal/ubuntu plucky/main armhf python3-pyasn1 all 0.6.1-1 [56.4 kB] 201s Get:38 http://ftpmaster.internal/ubuntu plucky/main armhf python3-pyasn1-modules all 0.4.1-2 [80.3 kB] 202s Get:39 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-pyu2f all 0.1.5-4 [22.9 kB] 202s Get:40 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-responses all 0.25.6-1 [40.5 kB] 202s Get:41 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-rsa all 4.9-2 [28.2 kB] 202s Get:42 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-google-auth all 2.28.2-3 [91.0 kB] 202s Get:43 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-requests-oauthlib all 1.3.1-1 [18.8 kB] 202s Get:44 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-websocket all 1.8.0-2 [38.5 kB] 202s Get:45 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-kubernetes all 30.1.0-2 [385 kB] 202s Get:46 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-pysyncobj all 0.3.12-1 [38.9 kB] 202s Get:47 http://ftpmaster.internal/ubuntu plucky-proposed/universe armhf patroni all 4.0.4-8 [282 kB] 203s Get:48 http://ftpmaster.internal/ubuntu plucky/main armhf sphinx-rtd-theme-common all 3.0.2+dfsg-2 [1014 kB] 204s Get:49 http://ftpmaster.internal/ubuntu plucky-proposed/universe armhf patroni-doc all 4.0.4-8 [526 kB] 204s Get:50 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-coverage armhf 7.6.0+dfsg1-2build1 [152 kB] 204s Get:51 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-mccabe all 0.7.0-1 [8678 B] 204s Get:52 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-pycodestyle all 2.12.1-2 [30.2 kB] 204s Get:53 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-pyflakes all 3.2.0-3 [53.0 kB] 204s Get:54 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-flake8 all 7.1.1-3 [44.0 kB] 204s Get:55 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-iniconfig all 1.1.1-2 [6024 B] 204s Get:56 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-pluggy all 1.5.0-1 [21.0 kB] 204s Get:57 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-pytest all 8.3.5-1 [252 kB] 205s Get:58 http://ftpmaster.internal/ubuntu plucky/universe armhf libjs-jquery-hotkeys all 0.2.0-1 [13.3 kB] 205s Get:59 http://ftpmaster.internal/ubuntu plucky/universe armhf libjs-jquery-isonscreen all 1.2.0-1.1 [3244 B] 205s Get:60 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-pytest-cov all 5.0.0-1 [21.3 kB] 205s Get:61 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-mock all 5.1.0-1 [64.1 kB] 205s Fetched 10.2 MB in 12s (885 kB/s) 205s Selecting previously unselected package fonts-lato. 205s (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 ... 64655 files and directories currently installed.) 205s Preparing to unpack .../00-fonts-lato_2.015-1_all.deb ... 205s Unpacking fonts-lato (2.015-1) ... 205s Selecting previously unselected package fonts-font-awesome. 205s Preparing to unpack .../01-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 205s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 206s Selecting previously unselected package libcares2:armhf. 206s Preparing to unpack .../02-libcares2_1.34.4-2.1_armhf.deb ... 206s Unpacking libcares2:armhf (1.34.4-2.1) ... 206s Selecting previously unselected package libev4t64:armhf. 206s Preparing to unpack .../03-libev4t64_1%3a4.33-2.1build1_armhf.deb ... 206s Unpacking libev4t64:armhf (1:4.33-2.1build1) ... 206s Selecting previously unselected package libjs-jquery. 206s Preparing to unpack .../04-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 206s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 206s Selecting previously unselected package libjs-jquery-metadata. 206s Preparing to unpack .../05-libjs-jquery-metadata_12-4_all.deb ... 206s Unpacking libjs-jquery-metadata (12-4) ... 206s Selecting previously unselected package libjs-jquery-tablesorter. 206s Preparing to unpack .../06-libjs-jquery-tablesorter_1%3a2.31.3+dfsg1-4_all.deb ... 206s Unpacking libjs-jquery-tablesorter (1:2.31.3+dfsg1-4) ... 206s Selecting previously unselected package libjs-jquery-throttle-debounce. 206s Preparing to unpack .../07-libjs-jquery-throttle-debounce_1.1+dfsg.1-2_all.deb ... 206s Unpacking libjs-jquery-throttle-debounce (1.1+dfsg.1-2) ... 206s Selecting previously unselected package libjs-underscore. 206s Preparing to unpack .../08-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 206s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 206s Selecting previously unselected package libjs-sphinxdoc. 206s Preparing to unpack .../09-libjs-sphinxdoc_8.1.3-4_all.deb ... 206s Unpacking libjs-sphinxdoc (8.1.3-4) ... 206s Selecting previously unselected package libpq5:armhf. 206s Preparing to unpack .../10-libpq5_17.4-1_armhf.deb ... 206s Unpacking libpq5:armhf (17.4-1) ... 206s Selecting previously unselected package python3-click. 206s Preparing to unpack .../11-python3-click_8.2.0+0.really.8.1.8-1_all.deb ... 206s Unpacking python3-click (8.2.0+0.really.8.1.8-1) ... 206s Selecting previously unselected package python3-wcwidth. 206s Preparing to unpack .../12-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 206s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 206s Selecting previously unselected package python3-prettytable. 206s Preparing to unpack .../13-python3-prettytable_3.12.0-1_all.deb ... 206s Unpacking python3-prettytable (3.12.0-1) ... 206s Selecting previously unselected package python3-psutil. 206s Preparing to unpack .../14-python3-psutil_5.9.8-2build3_armhf.deb ... 206s Unpacking python3-psutil (5.9.8-2build3) ... 206s Selecting previously unselected package python3-ydiff. 206s Preparing to unpack .../15-python3-ydiff_1.4.2-1_all.deb ... 206s Unpacking python3-ydiff (1.4.2-1) ... 206s Selecting previously unselected package python3-psycopg2. 206s Preparing to unpack .../16-python3-psycopg2_2.9.10-1build1_armhf.deb ... 206s Unpacking python3-psycopg2 (2.9.10-1build1) ... 206s Selecting previously unselected package python3-dnspython. 206s Preparing to unpack .../17-python3-dnspython_2.7.0-1ubuntu1_all.deb ... 206s Unpacking python3-dnspython (2.7.0-1ubuntu1) ... 206s Selecting previously unselected package python3-etcd. 206s Preparing to unpack .../18-python3-etcd_0.4.5-6_all.deb ... 206s Unpacking python3-etcd (0.4.5-6) ... 206s Selecting previously unselected package python3-consul. 206s Preparing to unpack .../19-python3-consul_1.5.1+dfsg-1_all.deb ... 206s Unpacking python3-consul (1.5.1+dfsg-1) ... 206s Selecting previously unselected package python3-greenlet. 206s Preparing to unpack .../20-python3-greenlet_3.1.0-1build1_armhf.deb ... 206s Unpacking python3-greenlet (3.1.0-1build1) ... 206s Selecting previously unselected package python3-eventlet. 206s Preparing to unpack .../21-python3-eventlet_0.39.0-0ubuntu1_all.deb ... 206s Unpacking python3-eventlet (0.39.0-0ubuntu1) ... 206s Selecting previously unselected package python3-zope.event. 206s Preparing to unpack .../22-python3-zope.event_5.0-0.1_all.deb ... 206s Unpacking python3-zope.event (5.0-0.1) ... 206s Selecting previously unselected package python3-zope.interface. 206s Preparing to unpack .../23-python3-zope.interface_7.2-1build1_armhf.deb ... 206s Unpacking python3-zope.interface (7.2-1build1) ... 206s Selecting previously unselected package python3-gevent. 206s Preparing to unpack .../24-python3-gevent_24.11.1-1build1_armhf.deb ... 206s Unpacking python3-gevent (24.11.1-1build1) ... 207s Selecting previously unselected package python3-kerberos. 207s Preparing to unpack .../25-python3-kerberos_1.1.14-3.1build11_armhf.deb ... 207s Unpacking python3-kerberos (1.1.14-3.1build11) ... 207s Selecting previously unselected package python3-pure-sasl. 207s Preparing to unpack .../26-python3-pure-sasl_0.5.1+dfsg1-5_all.deb ... 207s Unpacking python3-pure-sasl (0.5.1+dfsg1-5) ... 207s Selecting previously unselected package python3-kazoo. 207s Preparing to unpack .../27-python3-kazoo_2.9.0-2_all.deb ... 207s Unpacking python3-kazoo (2.9.0-2) ... 207s Selecting previously unselected package python3-multidict. 207s Preparing to unpack .../28-python3-multidict_6.1.0-1build2_armhf.deb ... 207s Unpacking python3-multidict (6.1.0-1build2) ... 207s Selecting previously unselected package python3-yarl. 207s Preparing to unpack .../29-python3-yarl_1.13.1-1build2_armhf.deb ... 207s Unpacking python3-yarl (1.13.1-1build2) ... 207s Selecting previously unselected package python3-async-timeout. 207s Preparing to unpack .../30-python3-async-timeout_5.0.1-1_all.deb ... 207s Unpacking python3-async-timeout (5.0.1-1) ... 207s Selecting previously unselected package python3-aiohappyeyeballs. 207s Preparing to unpack .../31-python3-aiohappyeyeballs_2.4.6-1_all.deb ... 207s Unpacking python3-aiohappyeyeballs (2.4.6-1) ... 207s Selecting previously unselected package python3-frozenlist. 207s Preparing to unpack .../32-python3-frozenlist_1.5.0-1build2_armhf.deb ... 207s Unpacking python3-frozenlist (1.5.0-1build2) ... 207s Selecting previously unselected package python3-aiosignal. 207s Preparing to unpack .../33-python3-aiosignal_1.3.2-1_all.deb ... 207s Unpacking python3-aiosignal (1.3.2-1) ... 207s Selecting previously unselected package python3-aiohttp. 207s Preparing to unpack .../34-python3-aiohttp_3.10.11-1build1_armhf.deb ... 207s Unpacking python3-aiohttp (3.10.11-1build1) ... 207s Selecting previously unselected package python3-cachetools. 207s Preparing to unpack .../35-python3-cachetools_5.3.3-1_all.deb ... 207s Unpacking python3-cachetools (5.3.3-1) ... 207s Selecting previously unselected package python3-pyasn1. 207s Preparing to unpack .../36-python3-pyasn1_0.6.1-1_all.deb ... 207s Unpacking python3-pyasn1 (0.6.1-1) ... 207s Selecting previously unselected package python3-pyasn1-modules. 207s Preparing to unpack .../37-python3-pyasn1-modules_0.4.1-2_all.deb ... 207s Unpacking python3-pyasn1-modules (0.4.1-2) ... 207s Selecting previously unselected package python3-pyu2f. 207s Preparing to unpack .../38-python3-pyu2f_0.1.5-4_all.deb ... 207s Unpacking python3-pyu2f (0.1.5-4) ... 207s Selecting previously unselected package python3-responses. 207s Preparing to unpack .../39-python3-responses_0.25.6-1_all.deb ... 207s Unpacking python3-responses (0.25.6-1) ... 207s Selecting previously unselected package python3-rsa. 207s Preparing to unpack .../40-python3-rsa_4.9-2_all.deb ... 207s Unpacking python3-rsa (4.9-2) ... 207s Selecting previously unselected package python3-google-auth. 207s Preparing to unpack .../41-python3-google-auth_2.28.2-3_all.deb ... 207s Unpacking python3-google-auth (2.28.2-3) ... 207s Selecting previously unselected package python3-requests-oauthlib. 207s Preparing to unpack .../42-python3-requests-oauthlib_1.3.1-1_all.deb ... 207s Unpacking python3-requests-oauthlib (1.3.1-1) ... 207s Selecting previously unselected package python3-websocket. 207s Preparing to unpack .../43-python3-websocket_1.8.0-2_all.deb ... 207s Unpacking python3-websocket (1.8.0-2) ... 207s Selecting previously unselected package python3-kubernetes. 207s Preparing to unpack .../44-python3-kubernetes_30.1.0-2_all.deb ... 207s Unpacking python3-kubernetes (30.1.0-2) ... 207s Selecting previously unselected package python3-pysyncobj. 208s Preparing to unpack .../45-python3-pysyncobj_0.3.12-1_all.deb ... 208s Unpacking python3-pysyncobj (0.3.12-1) ... 208s Selecting previously unselected package patroni. 208s Preparing to unpack .../46-patroni_4.0.4-8_all.deb ... 208s Unpacking patroni (4.0.4-8) ... 208s Selecting previously unselected package sphinx-rtd-theme-common. 208s Preparing to unpack .../47-sphinx-rtd-theme-common_3.0.2+dfsg-2_all.deb ... 208s Unpacking sphinx-rtd-theme-common (3.0.2+dfsg-2) ... 208s Selecting previously unselected package patroni-doc. 208s Preparing to unpack .../48-patroni-doc_4.0.4-8_all.deb ... 208s Unpacking patroni-doc (4.0.4-8) ... 208s Selecting previously unselected package python3-coverage. 208s Preparing to unpack .../49-python3-coverage_7.6.0+dfsg1-2build1_armhf.deb ... 208s Unpacking python3-coverage (7.6.0+dfsg1-2build1) ... 208s Selecting previously unselected package python3-mccabe. 208s Preparing to unpack .../50-python3-mccabe_0.7.0-1_all.deb ... 208s Unpacking python3-mccabe (0.7.0-1) ... 208s Selecting previously unselected package python3-pycodestyle. 208s Preparing to unpack .../51-python3-pycodestyle_2.12.1-2_all.deb ... 208s Unpacking python3-pycodestyle (2.12.1-2) ... 208s Selecting previously unselected package python3-pyflakes. 208s Preparing to unpack .../52-python3-pyflakes_3.2.0-3_all.deb ... 208s Unpacking python3-pyflakes (3.2.0-3) ... 208s Selecting previously unselected package python3-flake8. 208s Preparing to unpack .../53-python3-flake8_7.1.1-3_all.deb ... 208s Unpacking python3-flake8 (7.1.1-3) ... 208s Selecting previously unselected package python3-iniconfig. 208s Preparing to unpack .../54-python3-iniconfig_1.1.1-2_all.deb ... 208s Unpacking python3-iniconfig (1.1.1-2) ... 208s Selecting previously unselected package python3-pluggy. 208s Preparing to unpack .../55-python3-pluggy_1.5.0-1_all.deb ... 208s Unpacking python3-pluggy (1.5.0-1) ... 208s Selecting previously unselected package python3-pytest. 208s Preparing to unpack .../56-python3-pytest_8.3.5-1_all.deb ... 208s Unpacking python3-pytest (8.3.5-1) ... 208s Selecting previously unselected package libjs-jquery-hotkeys. 208s Preparing to unpack .../57-libjs-jquery-hotkeys_0.2.0-1_all.deb ... 208s Unpacking libjs-jquery-hotkeys (0.2.0-1) ... 208s Selecting previously unselected package libjs-jquery-isonscreen. 208s Preparing to unpack .../58-libjs-jquery-isonscreen_1.2.0-1.1_all.deb ... 208s Unpacking libjs-jquery-isonscreen (1.2.0-1.1) ... 208s Selecting previously unselected package python3-pytest-cov. 208s Preparing to unpack .../59-python3-pytest-cov_5.0.0-1_all.deb ... 208s Unpacking python3-pytest-cov (5.0.0-1) ... 208s Selecting previously unselected package python3-mock. 208s Preparing to unpack .../60-python3-mock_5.1.0-1_all.deb ... 208s Unpacking python3-mock (5.1.0-1) ... 208s Setting up python3-iniconfig (1.1.1-2) ... 208s Setting up libev4t64:armhf (1:4.33-2.1build1) ... 208s Setting up fonts-lato (2.015-1) ... 208s Setting up python3-pysyncobj (0.3.12-1) ... 209s Setting up python3-cachetools (5.3.3-1) ... 209s Setting up python3-zope.event (5.0-0.1) ... 209s Setting up python3-zope.interface (7.2-1build1) ... 211s Setting up python3-pyflakes (3.2.0-3) ... 211s Setting up python3-ydiff (1.4.2-1) ... 211s Setting up libpq5:armhf (17.4-1) ... 211s Setting up python3-kerberos (1.1.14-3.1build11) ... 211s Setting up python3-coverage (7.6.0+dfsg1-2build1) ... 211s Setting up libjs-jquery-throttle-debounce (1.1+dfsg.1-2) ... 211s Setting up python3-click (8.2.0+0.really.8.1.8-1) ... 211s Setting up python3-psutil (5.9.8-2build3) ... 211s Setting up python3-multidict (6.1.0-1build2) ... 211s Setting up python3-frozenlist (1.5.0-1build2) ... 211s Setting up python3-aiosignal (1.3.2-1) ... 211s Setting up python3-mock (5.1.0-1) ... 211s Setting up python3-async-timeout (5.0.1-1) ... 211s Setting up python3-responses (0.25.6-1) ... 211s Setting up python3-pycodestyle (2.12.1-2) ... 211s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 211s Setting up python3-pyu2f (0.1.5-4) ... 211s Setting up python3-greenlet (3.1.0-1build1) ... 212s Setting up libcares2:armhf (1.34.4-2.1) ... 212s Setting up python3-psycopg2 (2.9.10-1build1) ... 212s Setting up python3-aiohappyeyeballs (2.4.6-1) ... 212s Setting up python3-pluggy (1.5.0-1) ... 212s Setting up python3-dnspython (2.7.0-1ubuntu1) ... 212s Setting up python3-pyasn1 (0.6.1-1) ... 213s Setting up python3-mccabe (0.7.0-1) ... 213s Setting up python3-consul (1.5.1+dfsg-1) ... 213s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 213s Setting up libjs-jquery-hotkeys (0.2.0-1) ... 213s Setting up python3-prettytable (3.12.0-1) ... 213s Setting up python3-yarl (1.13.1-1build2) ... 213s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 213s Setting up sphinx-rtd-theme-common (3.0.2+dfsg-2) ... 213s Setting up python3-websocket (1.8.0-2) ... 213s Setting up python3-requests-oauthlib (1.3.1-1) ... 213s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 213s Setting up python3-pure-sasl (0.5.1+dfsg1-5) ... 214s Setting up python3-etcd (0.4.5-6) ... 214s Setting up python3-pytest (8.3.5-1) ... 214s Setting up python3-aiohttp (3.10.11-1build1) ... 214s Setting up python3-gevent (24.11.1-1build1) ... 215s Setting up python3-flake8 (7.1.1-3) ... 215s Setting up python3-eventlet (0.39.0-0ubuntu1) ... 215s Setting up python3-kazoo (2.9.0-2) ... 215s Setting up python3-pyasn1-modules (0.4.1-2) ... 216s Setting up libjs-jquery-metadata (12-4) ... 216s Setting up libjs-jquery-isonscreen (1.2.0-1.1) ... 216s Setting up libjs-sphinxdoc (8.1.3-4) ... 216s Setting up libjs-jquery-tablesorter (1:2.31.3+dfsg1-4) ... 216s Setting up python3-rsa (4.9-2) ... 216s Setting up patroni (4.0.4-8) ... 216s Created symlink '/etc/systemd/system/multi-user.target.wants/patroni.service' → '/usr/lib/systemd/system/patroni.service'. 217s Setting up patroni-doc (4.0.4-8) ... 217s Setting up python3-pytest-cov (5.0.0-1) ... 217s Setting up python3-google-auth (2.28.2-3) ... 217s Setting up python3-kubernetes (30.1.0-2) ... 219s Processing triggers for man-db (2.13.0-1) ... 219s Processing triggers for libc-bin (2.41-1ubuntu1) ... 229s autopkgtest [01:30:21]: test test: [----------------------- 233s ============================= test session starts ============================== 233s platform linux -- Python 3.13.2, pytest-8.3.5, pluggy-1.5.0 233s rootdir: /tmp/autopkgtest.Xx7S1h/build.5F0/src 233s plugins: typeguard-4.4.2, cov-5.0.0 233s collected 651 items 233s 233s tests/test_api.py ................................... [ 5%] 233s tests/test_async_executor.py .... [ 5%] 234s tests/test_aws.py .... [ 6%] 234s tests/test_barman.py ................ [ 9%] 234s tests/test_bootstrap.py .......... [ 10%] 234s tests/test_callback_executor.py . [ 10%] 234s tests/test_cancellable.py ... [ 11%] 234s tests/test_citus.py sssssssssssss................ [ 15%] 234s tests/test_config.py .......... [ 17%] 234s tests/test_config_generator.py ...... [ 18%] 234s tests/test_consul.py ....................... [ 21%] 234s tests/test_ctl.py ...................................... [ 27%] 236s tests/test_etcd.py ............................. [ 31%] 236s tests/test_etcd3.py ................................. [ 37%] 236s tests/test_exhibitor.py ... [ 37%] 236s tests/test_file_perm.py ... [ 37%] 236s tests/test_ha.py ....................................................... [ 46%] 237s ................................................................ [ 56%] 239s tests/test_kubernetes.py ........................................ [ 62%] 239s tests/test_log.py .......... [ 63%] 239s tests/test_mpp.py .. [ 64%] 239s tests/test_patroni.py .................... [ 67%] 240s tests/test_postgresql.py ............................................... [ 74%] 240s ............. [ 76%] 240s tests/test_postmaster.py ......... [ 77%] 240s tests/test_quorum.py ............... [ 80%] 250s tests/test_raft.py ........... [ 81%] 250s tests/test_raft_controller.py ... [ 82%] 250s tests/test_rewind.py .............. [ 84%] 251s tests/test_slots.py ............... [ 86%] 251s tests/test_sync.py .... [ 87%] 251s tests/test_utils.py ............... [ 89%] 251s tests/test_validator.py .................. [ 92%] 251s tests/test_wale_restore.py ...... [ 93%] 252s tests/test_watchdog.py ................ [ 95%] 252s tests/test_zookeeper.py ........................... [100%] 252s 252s ======================= 638 passed, 13 skipped in 20.14s ======================= 252s autopkgtest [01:30:44]: test test: -----------------------] 257s autopkgtest [01:30:48]: test test: - - - - - - - - - - results - - - - - - - - - - 257s test PASS 261s autopkgtest [01:30:53]: test acceptance-etcd3-basic: preparing testbed 284s autopkgtest [01:31:16]: testbed dpkg architecture: armhf 286s autopkgtest [01:31:18]: testbed apt version: 2.9.33 290s autopkgtest [01:31:22]: @@@@@@@@@@@@@@@@@@@@ test bed setup 292s autopkgtest [01:31:24]: testbed release detected to be: plucky 299s autopkgtest [01:31:31]: updating testbed package index (apt update) 301s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [126 kB] 302s Get:2 http://ftpmaster.internal/ubuntu plucky InRelease [257 kB] 302s Get:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease [126 kB] 302s Get:4 http://ftpmaster.internal/ubuntu plucky-security InRelease [126 kB] 302s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [365 kB] 303s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [17.7 kB] 303s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [41.4 kB] 303s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf Packages [74.9 kB] 303s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf c-n-f Metadata [1792 B] 303s Get:10 http://ftpmaster.internal/ubuntu plucky-proposed/restricted armhf c-n-f Metadata [116 B] 303s Get:11 http://ftpmaster.internal/ubuntu plucky-proposed/universe armhf Packages [290 kB] 303s Get:12 http://ftpmaster.internal/ubuntu plucky-proposed/universe armhf c-n-f Metadata [10.5 kB] 303s Get:13 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse armhf Packages [4168 B] 303s Get:14 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse armhf c-n-f Metadata [240 B] 303s Get:15 http://ftpmaster.internal/ubuntu plucky/main Sources [1389 kB] 304s Get:16 http://ftpmaster.internal/ubuntu plucky/universe Sources [21.0 MB] 324s Get:17 http://ftpmaster.internal/ubuntu plucky/multiverse Sources [299 kB] 324s Get:18 http://ftpmaster.internal/ubuntu plucky/main armhf Packages [1378 kB] 325s Get:19 http://ftpmaster.internal/ubuntu plucky/main armhf c-n-f Metadata [29.5 kB] 325s Get:20 http://ftpmaster.internal/ubuntu plucky/restricted armhf c-n-f Metadata [108 B] 325s Get:21 http://ftpmaster.internal/ubuntu plucky/universe armhf Packages [15.3 MB] 336s Get:22 http://ftpmaster.internal/ubuntu plucky/multiverse armhf Packages [172 kB] 337s Fetched 41.1 MB in 36s (1140 kB/s) 339s Reading package lists... 345s autopkgtest [01:32:17]: upgrading testbed (apt dist-upgrade and autopurge) 347s Reading package lists... 347s Building dependency tree... 347s Reading state information... 348s Calculating upgrade...Starting pkgProblemResolver with broken count: 0 348s Starting 2 pkgProblemResolver with broken count: 0 348s Done 349s Entering ResolveByKeep 349s 349s Calculating upgrade... 349s The following packages will be upgraded: 349s pinentry-curses python3-jinja2 sos strace 350s 4 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 350s Need to get 960 kB of archives. 350s After this operation, 23.6 kB of additional disk space will be used. 350s Get:1 http://ftpmaster.internal/ubuntu plucky/main armhf strace armhf 6.13+ds-1ubuntu1 [445 kB] 350s Get:2 http://ftpmaster.internal/ubuntu plucky/main armhf pinentry-curses armhf 1.3.1-2ubuntu3 [40.6 kB] 350s Get:3 http://ftpmaster.internal/ubuntu plucky/main armhf python3-jinja2 all 3.1.5-2ubuntu1 [109 kB] 350s Get:4 http://ftpmaster.internal/ubuntu plucky/main armhf sos all 4.9.0-5 [365 kB] 351s Fetched 960 kB in 1s (791 kB/s) 351s (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 ... 64655 files and directories currently installed.) 351s Preparing to unpack .../strace_6.13+ds-1ubuntu1_armhf.deb ... 351s Unpacking strace (6.13+ds-1ubuntu1) over (6.11-0ubuntu1) ... 351s Preparing to unpack .../pinentry-curses_1.3.1-2ubuntu3_armhf.deb ... 351s Unpacking pinentry-curses (1.3.1-2ubuntu3) over (1.3.1-2ubuntu2) ... 351s Preparing to unpack .../python3-jinja2_3.1.5-2ubuntu1_all.deb ... 352s Unpacking python3-jinja2 (3.1.5-2ubuntu1) over (3.1.5-2) ... 352s Preparing to unpack .../archives/sos_4.9.0-5_all.deb ... 352s Unpacking sos (4.9.0-5) over (4.9.0-4) ... 352s Setting up sos (4.9.0-5) ... 353s Setting up pinentry-curses (1.3.1-2ubuntu3) ... 353s Setting up python3-jinja2 (3.1.5-2ubuntu1) ... 353s Setting up strace (6.13+ds-1ubuntu1) ... 353s Processing triggers for man-db (2.13.0-1) ... 356s Reading package lists... 356s Building dependency tree... 356s Reading state information... 356s Starting pkgProblemResolver with broken count: 0 357s Starting 2 pkgProblemResolver with broken count: 0 357s Done 357s Solving dependencies... 357s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 359s autopkgtest [01:32:31]: rebooting testbed after setup commands that affected boot 427s Reading package lists... 427s Building dependency tree... 427s Reading state information... 427s Starting pkgProblemResolver with broken count: 0 427s Starting 2 pkgProblemResolver with broken count: 0 427s Done 428s The following NEW packages will be installed: 428s etcd-server fonts-font-awesome fonts-lato libio-pty-perl libipc-run-perl 428s libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl libllvm20 libpq5 428s libtime-duration-perl libtimedate-perl libxslt1.1 moreutils patroni 428s patroni-doc postgresql postgresql-17 postgresql-client-17 428s postgresql-client-common postgresql-common postgresql-common-dev 428s python3-behave python3-click python3-coverage python3-dnspython python3-etcd 428s python3-parse python3-parse-type python3-prettytable python3-psutil 428s python3-psycopg2 python3-wcwidth python3-ydiff sphinx-rtd-theme-common 428s ssl-cert 428s 0 upgraded, 37 newly installed, 0 to remove and 0 not upgraded. 428s Need to get 64.4 MB of archives. 428s After this operation, 253 MB of additional disk space will be used. 428s Get:1 http://ftpmaster.internal/ubuntu plucky/main armhf fonts-lato all 2.015-1 [2781 kB] 430s Get:2 http://ftpmaster.internal/ubuntu plucky/main armhf libjson-perl all 4.10000-1 [81.9 kB] 430s Get:3 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql-client-common all 274 [47.6 kB] 430s Get:4 http://ftpmaster.internal/ubuntu plucky/main armhf libio-pty-perl armhf 1:1.20-1build3 [31.0 kB] 430s Get:5 http://ftpmaster.internal/ubuntu plucky/main armhf libipc-run-perl all 20231003.0-2 [91.5 kB] 430s Get:6 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql-common-dev all 274 [73.0 kB] 430s Get:7 http://ftpmaster.internal/ubuntu plucky/main armhf ssl-cert all 1.1.3ubuntu1 [18.7 kB] 430s Get:8 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql-common all 274 [101 kB] 430s Get:9 http://ftpmaster.internal/ubuntu plucky/universe armhf etcd-server armhf 3.5.16-4 [11.3 MB] 437s Get:10 http://ftpmaster.internal/ubuntu plucky/main armhf fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 437s Get:11 http://ftpmaster.internal/ubuntu plucky/main armhf libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 438s Get:12 http://ftpmaster.internal/ubuntu plucky/main armhf libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 438s Get:13 http://ftpmaster.internal/ubuntu plucky/main armhf libjs-sphinxdoc all 8.1.3-4 [30.9 kB] 438s Get:14 http://ftpmaster.internal/ubuntu plucky/main armhf libllvm20 armhf 1:20.1.0~+rc2-1~exp2ubuntu0.4 [29.6 MB] 457s Get:15 http://ftpmaster.internal/ubuntu plucky/main armhf libpq5 armhf 17.4-1 [125 kB] 457s Get:16 http://ftpmaster.internal/ubuntu plucky/main armhf libtime-duration-perl all 1.21-2 [12.3 kB] 457s Get:17 http://ftpmaster.internal/ubuntu plucky/main armhf libtimedate-perl all 2.3300-2 [34.0 kB] 457s Get:18 http://ftpmaster.internal/ubuntu plucky/main armhf libxslt1.1 armhf 1.1.39-0exp1ubuntu2 [152 kB] 458s Get:19 http://ftpmaster.internal/ubuntu plucky/universe armhf moreutils armhf 0.69-1 [53.5 kB] 458s Get:20 http://ftpmaster.internal/ubuntu plucky/main armhf python3-click all 8.2.0+0.really.8.1.8-1 [80.0 kB] 458s Get:21 http://ftpmaster.internal/ubuntu plucky/main armhf python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 458s Get:22 http://ftpmaster.internal/ubuntu plucky/main armhf python3-prettytable all 3.12.0-1 [36.5 kB] 458s Get:23 http://ftpmaster.internal/ubuntu plucky/main armhf python3-psutil armhf 5.9.8-2build3 [194 kB] 458s Get:24 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-ydiff all 1.4.2-1 [19.0 kB] 458s Get:25 http://ftpmaster.internal/ubuntu plucky/main armhf python3-psycopg2 armhf 2.9.10-1build1 [125 kB] 458s Get:26 http://ftpmaster.internal/ubuntu plucky/main armhf python3-dnspython all 2.7.0-1ubuntu1 [167 kB] 458s Get:27 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-etcd all 0.4.5-6 [32.1 kB] 458s Get:28 http://ftpmaster.internal/ubuntu plucky-proposed/universe armhf patroni all 4.0.4-8 [282 kB] 458s Get:29 http://ftpmaster.internal/ubuntu plucky/main armhf sphinx-rtd-theme-common all 3.0.2+dfsg-2 [1014 kB] 459s Get:30 http://ftpmaster.internal/ubuntu plucky-proposed/universe armhf patroni-doc all 4.0.4-8 [526 kB] 459s Get:31 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql-client-17 armhf 17.4-1 [1285 kB] 460s Get:32 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql-17 armhf 17.4-1 [14.8 MB] 472s Get:33 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql all 17+274 [14.4 kB] 472s Get:34 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-parse all 1.20.2-1 [27.0 kB] 472s Get:35 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-parse-type all 0.6.4-2 [23.5 kB] 472s Get:36 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-behave all 1.2.6-6 [98.6 kB] 472s Get:37 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-coverage armhf 7.6.0+dfsg1-2build1 [152 kB] 472s Preconfiguring packages ... 472s /var/cache/debconf/tmp.ci/postgresql.config.XgXFxa: 12: pg_lsclusters: not found 472s Fetched 64.4 MB in 44s (1462 kB/s) 472s Selecting previously unselected package fonts-lato. 473s (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 ... 64655 files and directories currently installed.) 473s Preparing to unpack .../00-fonts-lato_2.015-1_all.deb ... 473s Unpacking fonts-lato (2.015-1) ... 473s Selecting previously unselected package libjson-perl. 473s Preparing to unpack .../01-libjson-perl_4.10000-1_all.deb ... 473s Unpacking libjson-perl (4.10000-1) ... 473s Selecting previously unselected package postgresql-client-common. 473s Preparing to unpack .../02-postgresql-client-common_274_all.deb ... 473s Unpacking postgresql-client-common (274) ... 473s Selecting previously unselected package libio-pty-perl. 473s Preparing to unpack .../03-libio-pty-perl_1%3a1.20-1build3_armhf.deb ... 473s Unpacking libio-pty-perl (1:1.20-1build3) ... 473s Selecting previously unselected package libipc-run-perl. 473s Preparing to unpack .../04-libipc-run-perl_20231003.0-2_all.deb ... 473s Unpacking libipc-run-perl (20231003.0-2) ... 473s Selecting previously unselected package postgresql-common-dev. 473s Preparing to unpack .../05-postgresql-common-dev_274_all.deb ... 473s Unpacking postgresql-common-dev (274) ... 473s Selecting previously unselected package ssl-cert. 473s Preparing to unpack .../06-ssl-cert_1.1.3ubuntu1_all.deb ... 473s Unpacking ssl-cert (1.1.3ubuntu1) ... 473s Selecting previously unselected package postgresql-common. 473s Preparing to unpack .../07-postgresql-common_274_all.deb ... 473s Adding 'diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common' 473s Unpacking postgresql-common (274) ... 473s Selecting previously unselected package etcd-server. 473s Preparing to unpack .../08-etcd-server_3.5.16-4_armhf.deb ... 473s Unpacking etcd-server (3.5.16-4) ... 473s Selecting previously unselected package fonts-font-awesome. 473s Preparing to unpack .../09-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 473s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 473s Selecting previously unselected package libjs-jquery. 473s Preparing to unpack .../10-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 473s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 473s Selecting previously unselected package libjs-underscore. 473s Preparing to unpack .../11-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 473s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 474s Selecting previously unselected package libjs-sphinxdoc. 474s Preparing to unpack .../12-libjs-sphinxdoc_8.1.3-4_all.deb ... 474s Unpacking libjs-sphinxdoc (8.1.3-4) ... 474s Selecting previously unselected package libllvm20:armhf. 474s Preparing to unpack .../13-libllvm20_1%3a20.1.0~+rc2-1~exp2ubuntu0.4_armhf.deb ... 474s Unpacking libllvm20:armhf (1:20.1.0~+rc2-1~exp2ubuntu0.4) ... 474s Selecting previously unselected package libpq5:armhf. 474s Preparing to unpack .../14-libpq5_17.4-1_armhf.deb ... 474s Unpacking libpq5:armhf (17.4-1) ... 474s Selecting previously unselected package libtime-duration-perl. 474s Preparing to unpack .../15-libtime-duration-perl_1.21-2_all.deb ... 474s Unpacking libtime-duration-perl (1.21-2) ... 475s Selecting previously unselected package libtimedate-perl. 475s Preparing to unpack .../16-libtimedate-perl_2.3300-2_all.deb ... 475s Unpacking libtimedate-perl (2.3300-2) ... 475s Selecting previously unselected package libxslt1.1:armhf. 475s Preparing to unpack .../17-libxslt1.1_1.1.39-0exp1ubuntu2_armhf.deb ... 475s Unpacking libxslt1.1:armhf (1.1.39-0exp1ubuntu2) ... 475s Selecting previously unselected package moreutils. 475s Preparing to unpack .../18-moreutils_0.69-1_armhf.deb ... 475s Unpacking moreutils (0.69-1) ... 475s Selecting previously unselected package python3-click. 475s Preparing to unpack .../19-python3-click_8.2.0+0.really.8.1.8-1_all.deb ... 475s Unpacking python3-click (8.2.0+0.really.8.1.8-1) ... 475s Selecting previously unselected package python3-wcwidth. 475s Preparing to unpack .../20-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 475s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 475s Selecting previously unselected package python3-prettytable. 475s Preparing to unpack .../21-python3-prettytable_3.12.0-1_all.deb ... 475s Unpacking python3-prettytable (3.12.0-1) ... 475s Selecting previously unselected package python3-psutil. 475s Preparing to unpack .../22-python3-psutil_5.9.8-2build3_armhf.deb ... 475s Unpacking python3-psutil (5.9.8-2build3) ... 475s Selecting previously unselected package python3-ydiff. 475s Preparing to unpack .../23-python3-ydiff_1.4.2-1_all.deb ... 475s Unpacking python3-ydiff (1.4.2-1) ... 475s Selecting previously unselected package python3-psycopg2. 475s Preparing to unpack .../24-python3-psycopg2_2.9.10-1build1_armhf.deb ... 475s Unpacking python3-psycopg2 (2.9.10-1build1) ... 475s Selecting previously unselected package python3-dnspython. 475s Preparing to unpack .../25-python3-dnspython_2.7.0-1ubuntu1_all.deb ... 475s Unpacking python3-dnspython (2.7.0-1ubuntu1) ... 475s Selecting previously unselected package python3-etcd. 475s Preparing to unpack .../26-python3-etcd_0.4.5-6_all.deb ... 475s Unpacking python3-etcd (0.4.5-6) ... 475s Selecting previously unselected package patroni. 475s Preparing to unpack .../27-patroni_4.0.4-8_all.deb ... 475s Unpacking patroni (4.0.4-8) ... 475s Selecting previously unselected package sphinx-rtd-theme-common. 475s Preparing to unpack .../28-sphinx-rtd-theme-common_3.0.2+dfsg-2_all.deb ... 475s Unpacking sphinx-rtd-theme-common (3.0.2+dfsg-2) ... 475s Selecting previously unselected package patroni-doc. 475s Preparing to unpack .../29-patroni-doc_4.0.4-8_all.deb ... 475s Unpacking patroni-doc (4.0.4-8) ... 475s Selecting previously unselected package postgresql-client-17. 475s Preparing to unpack .../30-postgresql-client-17_17.4-1_armhf.deb ... 475s Unpacking postgresql-client-17 (17.4-1) ... 475s Selecting previously unselected package postgresql-17. 475s Preparing to unpack .../31-postgresql-17_17.4-1_armhf.deb ... 475s Unpacking postgresql-17 (17.4-1) ... 476s Selecting previously unselected package postgresql. 476s Preparing to unpack .../32-postgresql_17+274_all.deb ... 476s Unpacking postgresql (17+274) ... 476s Selecting previously unselected package python3-parse. 476s Preparing to unpack .../33-python3-parse_1.20.2-1_all.deb ... 476s Unpacking python3-parse (1.20.2-1) ... 476s Selecting previously unselected package python3-parse-type. 476s Preparing to unpack .../34-python3-parse-type_0.6.4-2_all.deb ... 476s Unpacking python3-parse-type (0.6.4-2) ... 476s Selecting previously unselected package python3-behave. 476s Preparing to unpack .../35-python3-behave_1.2.6-6_all.deb ... 476s Unpacking python3-behave (1.2.6-6) ... 476s Selecting previously unselected package python3-coverage. 476s Preparing to unpack .../36-python3-coverage_7.6.0+dfsg1-2build1_armhf.deb ... 476s Unpacking python3-coverage (7.6.0+dfsg1-2build1) ... 476s Setting up postgresql-client-common (274) ... 476s Setting up fonts-lato (2.015-1) ... 476s Setting up libio-pty-perl (1:1.20-1build3) ... 476s Setting up python3-ydiff (1.4.2-1) ... 476s Setting up libpq5:armhf (17.4-1) ... 476s Setting up python3-coverage (7.6.0+dfsg1-2build1) ... 476s Setting up python3-click (8.2.0+0.really.8.1.8-1) ... 477s Setting up python3-psutil (5.9.8-2build3) ... 477s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 477s Setting up ssl-cert (1.1.3ubuntu1) ... 478s Created symlink '/etc/systemd/system/multi-user.target.wants/ssl-cert.service' → '/usr/lib/systemd/system/ssl-cert.service'. 478s Setting up libllvm20:armhf (1:20.1.0~+rc2-1~exp2ubuntu0.4) ... 478s Setting up python3-psycopg2 (2.9.10-1build1) ... 478s Setting up libipc-run-perl (20231003.0-2) ... 478s Setting up libtime-duration-perl (1.21-2) ... 478s Setting up libtimedate-perl (2.3300-2) ... 478s Setting up python3-dnspython (2.7.0-1ubuntu1) ... 478s Setting up python3-parse (1.20.2-1) ... 479s Setting up libjson-perl (4.10000-1) ... 479s Setting up libxslt1.1:armhf (1.1.39-0exp1ubuntu2) ... 479s Setting up etcd-server (3.5.16-4) ... 479s info: Selecting UID from range 100 to 999 ... 479s 479s info: Selecting GID from range 100 to 999 ... 479s info: Adding system user `etcd' (UID 107) ... 479s info: Adding new group `etcd' (GID 111) ... 479s info: Adding new user `etcd' (UID 107) with group `etcd' ... 479s info: Creating home directory `/var/lib/etcd/' ... 479s Created symlink '/etc/systemd/system/etcd2.service' → '/usr/lib/systemd/system/etcd.service'. 479s Created symlink '/etc/systemd/system/multi-user.target.wants/etcd.service' → '/usr/lib/systemd/system/etcd.service'. 481s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 481s Setting up python3-prettytable (3.12.0-1) ... 481s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 481s Setting up sphinx-rtd-theme-common (3.0.2+dfsg-2) ... 481s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 481s Setting up postgresql-common-dev (274) ... 481s Setting up moreutils (0.69-1) ... 481s Setting up postgresql-client-17 (17.4-1) ... 481s 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 481s Setting up python3-etcd (0.4.5-6) ... 481s Setting up python3-parse-type (0.6.4-2) ... 482s Setting up postgresql-common (274) ... 482s Creating config file /etc/postgresql-common/createcluster.conf with new version 482s Building PostgreSQL dictionaries from installed myspell/hunspell packages... 482s Removing obsolete dictionary files: 483s Created symlink '/etc/systemd/system/multi-user.target.wants/postgresql.service' → '/usr/lib/systemd/system/postgresql.service'. 483s Setting up libjs-sphinxdoc (8.1.3-4) ... 483s Setting up python3-behave (1.2.6-6) ... 483s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 483s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 483s /usr/lib/python3/dist-packages/behave/matchers.py:284: SyntaxWarning: invalid escape sequence '\d' 483s @parse.with_pattern(r"\d+") 484s Setting up patroni (4.0.4-8) ... 484s Created symlink '/etc/systemd/system/multi-user.target.wants/patroni.service' → '/usr/lib/systemd/system/patroni.service'. 484s Setting up postgresql-17 (17.4-1) ... 485s Creating new PostgreSQL cluster 17/main ... 485s /usr/lib/postgresql/17/bin/initdb -D /var/lib/postgresql/17/main --auth-local peer --auth-host scram-sha-256 --no-instructions 485s The files belonging to this database system will be owned by user "postgres". 485s This user must also own the server process. 485s 485s The database cluster will be initialized with locale "C.UTF-8". 485s The default database encoding has accordingly been set to "UTF8". 485s The default text search configuration will be set to "english". 485s 485s Data page checksums are disabled. 485s 485s fixing permissions on existing directory /var/lib/postgresql/17/main ... ok 485s creating subdirectories ... ok 485s selecting dynamic shared memory implementation ... posix 485s selecting default "max_connections" ... 100 485s selecting default "shared_buffers" ... 128MB 485s selecting default time zone ... Etc/UTC 485s creating configuration files ... ok 486s running bootstrap script ... ok 486s performing post-bootstrap initialization ... ok 486s syncing data to disk ... ok 489s Setting up patroni-doc (4.0.4-8) ... 489s Setting up postgresql (17+274) ... 489s Processing triggers for man-db (2.13.0-1) ... 490s Processing triggers for libc-bin (2.41-1ubuntu1) ... 507s autopkgtest [01:34:59]: test acceptance-etcd3-basic: debian/tests/acceptance etcd3 features/basic_replication.feature 507s autopkgtest [01:34:59]: test acceptance-etcd3-basic: [----------------------- 509s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 509s ++ ls -1r /usr/lib/postgresql/ 509s ### PostgreSQL 17 acceptance-etcd3 features/basic_replication.feature ### 509s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 509s + '[' 17 == 10 -o 17 == 11 ']' 509s + echo '### PostgreSQL 17 acceptance-etcd3 features/basic_replication.feature ###' 509s + 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' 510s Mar 16 01:35:02 Feature: basic replication # features/basic_replication.feature:1 510s Mar 16 01:35:02 We should check that the basic bootstrapping, replication and failover works. 510s Mar 16 01:35:02 Scenario: check replication of a single table # features/basic_replication.feature:4 510s Mar 16 01:35:02 Given I start postgres-0 # features/steps/basic_replication.py:20 515s Mar 16 01:35:07 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 515s Mar 16 01:35:07 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 515s Mar 16 01:35:07 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 515s Mar 16 01:35:07 Then I receive a response code 200 # features/steps/patroni_api.py:100 515s Mar 16 01:35:07 When I start postgres-1 # features/steps/basic_replication.py:20 520s Mar 16 01:35:12 And I configure and start postgres-2 with a tag replicatefrom postgres-0 # features/steps/cascading_replication.py:7 525s Mar 16 01:35:17 And "sync" key in DCS has leader=postgres-0 after 20 seconds # features/steps/cascading_replication.py:23 525s Mar 16 01:35:17 And I add the table foo to postgres-0 # features/steps/basic_replication.py:66 525s Mar 16 01:35:17 Then table foo is present on postgres-1 after 20 seconds # features/steps/basic_replication.py:105 526s Mar 16 01:35:18 Then table foo is present on postgres-2 after 20 seconds # features/steps/basic_replication.py:105 526s Mar 16 01:35:18 526s Mar 16 01:35:18 Scenario: check restart of sync replica # features/basic_replication.feature:17 526s Mar 16 01:35:18 Given I shut down postgres-2 # features/steps/basic_replication.py:41 527s Mar 16 01:35:19 Then "sync" key in DCS has sync_standby=postgres-1 after 5 seconds # features/steps/cascading_replication.py:23 527s Mar 16 01:35:19 When I start postgres-2 # features/steps/basic_replication.py:20 530s Mar 16 01:35:22 And I shut down postgres-1 # features/steps/basic_replication.py:41 533s Mar 16 01:35:25 Then "sync" key in DCS has sync_standby=postgres-2 after 10 seconds # features/steps/cascading_replication.py:23 534s Mar 16 01:35:26 When I start postgres-1 # features/steps/basic_replication.py:20 538s Mar 16 01:35:29 Then "members/postgres-1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 539s Mar 16 01:35:30 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:144 539s Mar 16 01:35:31 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:144 539s Mar 16 01:35:31 539s Mar 16 01:35:31 Scenario: check stuck sync replica # features/basic_replication.feature:28 539s Mar 16 01:35:31 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 539s Mar 16 01:35:31 Then I receive a response code 200 # features/steps/patroni_api.py:100 539s Mar 16 01:35:31 And I create table on postgres-0 # features/steps/basic_replication.py:85 539s Mar 16 01:35:31 And table mytest is present on postgres-1 after 2 seconds # features/steps/basic_replication.py:105 540s Mar 16 01:35:32 And table mytest is present on postgres-2 after 2 seconds # features/steps/basic_replication.py:105 540s Mar 16 01:35:32 When I pause wal replay on postgres-2 # features/steps/basic_replication.py:76 540s Mar 16 01:35:32 And I load data on postgres-0 # features/steps/basic_replication.py:96 540s Mar 16 01:35:32 Then "sync" key in DCS has sync_standby=postgres-1 after 15 seconds # features/steps/cascading_replication.py:23 543s Mar 16 01:35:35 And I resume wal replay on postgres-2 # features/steps/basic_replication.py:76 543s Mar 16 01:35:35 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:144 543s Mar 16 01:35:35 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:144 543s Mar 16 01:35:35 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 543s Mar 16 01:35:35 Then I receive a response code 200 # features/steps/patroni_api.py:100 543s Mar 16 01:35:35 And I drop table on postgres-0 # features/steps/basic_replication.py:85 543s Mar 16 01:35:35 543s Mar 16 01:35:35 Scenario: check multi sync replication # features/basic_replication.feature:44 543s Mar 16 01:35:35 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"synchronous_node_count": 2} # features/steps/patroni_api.py:73 544s Mar 16 01:35:36 Then I receive a response code 200 # features/steps/patroni_api.py:100 544s Mar 16 01:35:36 Then "sync" key in DCS has sync_standby=postgres-1,postgres-2 after 10 seconds # features/steps/cascading_replication.py:23 548s Mar 16 01:35:40 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:144 548s Mar 16 01:35:40 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:144 548s Mar 16 01:35:40 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 548s Mar 16 01:35:40 Then I receive a response code 200 # features/steps/patroni_api.py:100 548s Mar 16 01:35:40 And I shut down postgres-1 # features/steps/basic_replication.py:41 551s Mar 16 01:35:43 Then "sync" key in DCS has sync_standby=postgres-2 after 10 seconds # features/steps/cascading_replication.py:23 552s Mar 16 01:35:44 When I start postgres-1 # features/steps/basic_replication.py:20 555s Mar 16 01:35:47 Then "members/postgres-1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 556s Mar 16 01:35:48 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:144 556s Mar 16 01:35:48 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:144 556s Mar 16 01:35:48 556s Mar 16 01:35:48 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 556s Mar 16 01:35:48 Given I run patronictl.py pause batman # features/steps/patroni_api.py:88 557s Mar 16 01:35:49 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 557s Mar 16 01:35:49 When I sleep for 2 seconds # features/steps/patroni_api.py:41 559s Mar 16 01:35:51 And I shut down postgres-0 # features/steps/basic_replication.py:41 560s Mar 16 01:35:52 And I run patronictl.py resume batman # features/steps/patroni_api.py:88 562s Mar 16 01:35:54 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 562s Mar 16 01:35:54 And postgres-2 role is the primary after 24 seconds # features/steps/basic_replication.py:117 581s Mar 16 01:36:13 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:158 584s Mar 16 01:36:16 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 584s Mar 16 01:36:16 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 584s Mar 16 01:36:16 Then I receive a response code 200 # features/steps/patroni_api.py:100 584s Mar 16 01:36:16 When I add the table bar to postgres-2 # features/steps/basic_replication.py:66 584s Mar 16 01:36:16 Then table bar is present on postgres-1 after 20 seconds # features/steps/basic_replication.py:105 584s Mar 16 01:36:16 And Response on GET http://127.0.0.1:8010/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:158 584s Mar 16 01:36:16 584s Mar 16 01:36:16 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 584s Mar 16 01:36:16 Given I add the table splitbrain to postgres-0 # features/steps/basic_replication.py:66 584s Mar 16 01:36:16 And I start postgres-0 # features/steps/basic_replication.py:20 584s Mar 16 01:36:16 Then postgres-0 role is the secondary after 20 seconds # features/steps/basic_replication.py:117 592s Mar 16 01:36:24 When I add the table buz to postgres-2 # features/steps/basic_replication.py:66 592s Mar 16 01:36:24 Then table buz is present on postgres-0 after 20 seconds # features/steps/basic_replication.py:105 592s Mar 16 01:36:24 592s Mar 16 01:36:24 @reject-duplicate-name 592s Mar 16 01:36:24 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 592s Mar 16 01:36:24 Given I start duplicate postgres-0 on port 8011 # features/steps/basic_replication.py:25 594s Mar 16 01:36:26 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 598s Mar 16 01:36:30 599s Mar 16 01:36:31 Combined data file .coverage.autopkgtest-lxd-gjcrjt.3368.XbrwlBix 599s Mar 16 01:36:31 Combined data file .coverage.autopkgtest-lxd-gjcrjt.3413.XrcdUmqx 599s Mar 16 01:36:31 Combined data file .coverage.autopkgtest-lxd-gjcrjt.3461.XqIxgHEx 599s Mar 16 01:36:31 Combined data file .coverage.autopkgtest-lxd-gjcrjt.3512.XKrcCfVx 599s Mar 16 01:36:31 Combined data file .coverage.autopkgtest-lxd-gjcrjt.3558.XLSqsgkx 599s Mar 16 01:36:31 Combined data file .coverage.autopkgtest-lxd-gjcrjt.3632.XFHoJsox 599s Mar 16 01:36:31 Combined data file .coverage.autopkgtest-lxd-gjcrjt.3681.XbBIIBjx 599s Mar 16 01:36:31 Combined data file .coverage.autopkgtest-lxd-gjcrjt.3684.XFdBSvCx 599s Mar 16 01:36:31 Combined data file .coverage.autopkgtest-lxd-gjcrjt.3761.XiDWtthx 599s Mar 16 01:36:31 Combined data file .coverage.autopkgtest-lxd-gjcrjt.3864.XjRVZUzx 603s Mar 16 01:36:35 Name Stmts Miss Cover 603s Mar 16 01:36:35 ------------------------------------------------------------------------------------------------------------- 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/OpenSSL/SSL.py 1159 647 44% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/OpenSSL/__init__.py 3 0 100% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/OpenSSL/_util.py 44 15 66% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/OpenSSL/crypto.py 869 663 24% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/OpenSSL/version.py 9 0 100% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 101 96 5% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/bcrypt/__init__.py 3 0 100% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/cryptography/__about__.py 5 0 100% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/cryptography/__init__.py 3 0 100% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/cryptography/exceptions.py 26 5 81% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/cryptography/hazmat/__init__.py 2 0 100% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/cryptography/hazmat/_oid.py 135 0 100% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/__init__.py 0 0 100% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/__init__.py 0 0 100% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/_conditional.py 38 17 55% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/binding.py 51 4 92% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/__init__.py 1 0 100% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/ciphers/__init__.py 1 0 100% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/ciphers/algorithms.py 68 18 74% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/__init__.py 0 0 100% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_asymmetric.py 6 0 100% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_cipheralgorithm.py 23 4 83% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_serialization.py 79 35 56% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/__init__.py 0 0 100% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dh.py 47 0 100% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dsa.py 55 5 91% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ec.py 172 22 87% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed448.py 45 12 73% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed25519.py 43 12 72% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/padding.py 55 23 58% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/rsa.py 93 40 57% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/types.py 19 0 100% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/utils.py 14 5 64% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x448.py 43 12 72% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x25519.py 41 12 71% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/__init__.py 4 0 100% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/algorithms.py 72 15 79% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/base.py 54 12 78% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/modes.py 140 59 58% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/constant_time.py 6 3 50% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hashes.py 127 20 84% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/__init__.py 5 0 100% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/base.py 7 0 100% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/ssh.py 775 614 21% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/cryptography/utils.py 76 28 63% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/cryptography/x509/__init__.py 70 0 100% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/cryptography/x509/base.py 488 227 53% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/cryptography/x509/certificate_transparency.py 42 0 100% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/cryptography/x509/extensions.py 1024 552 46% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/cryptography/x509/general_name.py 166 94 43% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/cryptography/x509/name.py 236 144 39% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/cryptography/x509/oid.py 3 0 100% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/cryptography/x509/verification.py 12 0 100% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/dateutil/__init__.py 13 4 69% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/dateutil/_version.py 11 2 82% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 810 688 15% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 183 150 18% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 240 206 14% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 151 117 23% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 794 629 21% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/dateutil/tz/win.py 152 149 2% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/dns/__init__.py 2 0 100% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/dns/_asyncbackend.py 14 6 57% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/dns/_ddr.py 105 86 18% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/dns/_features.py 46 8 83% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/dns/_immutable_ctx.py 40 5 88% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/dns/asyncbackend.py 44 32 27% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/dns/asyncquery.py 322 283 12% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/dns/edns.py 307 185 40% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/dns/entropy.py 80 49 39% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/dns/enum.py 72 46 36% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/dns/exception.py 59 33 44% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/dns/flags.py 40 14 65% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/dns/grange.py 33 30 9% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/dns/immutable.py 41 30 27% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/dns/inet.py 79 65 18% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/dns/ipv4.py 26 20 23% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/dns/ipv6.py 114 100 12% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/dns/message.py 829 676 18% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/dns/name.py 617 425 31% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/dns/nameserver.py 102 55 46% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/dns/node.py 117 71 39% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/dns/opcode.py 30 7 77% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/dns/query.py 562 477 15% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/dns/quic/__init__.py 28 23 18% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/dns/rcode.py 68 13 81% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/dns/rdata.py 386 277 28% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/dns/rdataclass.py 43 9 79% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/dns/rdataset.py 192 133 31% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/dns/rdatatype.py 215 23 89% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/OPT.py 34 19 44% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/SOA.py 41 26 37% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/TSIG.py 58 42 28% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/ZONEMD.py 43 27 37% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/__init__.py 1 0 100% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/dns/rdtypes/__init__.py 1 0 100% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/dns/rdtypes/svcbbase.py 415 268 35% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/dns/rdtypes/util.py 191 154 19% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/dns/renderer.py 151 118 22% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/dns/resolver.py 873 696 20% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/dns/reversename.py 32 24 25% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/dns/rrset.py 77 56 27% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/dns/serial.py 92 79 14% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/dns/set.py 148 107 28% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/dns/tokenizer.py 334 279 16% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/dns/transaction.py 269 201 25% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/dns/tsig.py 176 122 31% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/dns/ttl.py 44 38 14% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/dns/version.py 6 0 100% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/dns/wire.py 64 42 34% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/dns/xfr.py 148 126 15% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/dns/zone.py 507 383 24% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/dns/zonefile.py 427 379 11% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/dns/zonetypes.py 14 2 86% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/etcd/__init__.py 125 63 50% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/etcd/client.py 380 256 33% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/etcd/lock.py 125 103 18% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/idna/__init__.py 4 0 100% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/idna/core.py 292 257 12% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/idna/idnadata.py 4 0 100% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/idna/intranges.py 30 24 20% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/idna/package_data.py 1 0 100% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/patroni/__main__.py 201 68 66% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/patroni/api.py 788 439 44% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 19 80% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/patroni/collections.py 56 7 88% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/patroni/config.py 357 100 72% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/patroni/config_generator.py 212 159 25% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/patroni/daemon.py 76 6 92% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 710 165 77% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/patroni/dcs/etcd3.py 679 159 77% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/patroni/dcs/etcd.py 603 259 57% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/patroni/dynamic_loader.py 35 7 80% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/patroni/file_perm.py 47 11 77% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/patroni/global_config.py 87 4 95% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/patroni/ha.py 1359 681 50% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/patroni/log.py 235 81 66% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 825 240 71% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/patroni/postgresql/available_parameters/__init__.py 24 3 88% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 254 89 65% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 840 255 70% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 7 91% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 43 13 70% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/patroni/postgresql/mpp/__init__.py 89 12 87% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 92 46% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 416 200 52% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 349 177 49% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 154 23 85% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 157 24 85% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/patroni/psycopg.py 46 19 59% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/patroni/quorum.py 182 160 12% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/patroni/request.py 58 7 88% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/patroni/tags.py 38 5 87% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/patroni/utils.py 371 125 66% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/patroni/validator.py 309 218 29% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 49 76% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 50 63% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/psutil/__init__.py 950 636 33% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/psutil/_common.py 422 212 50% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/psutil/_compat.py 301 264 12% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1250 936 25% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/psutil/_psposix.py 95 41 57% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/urllib3/__init__.py 49 15 69% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 63 45 29% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/urllib3/_collections.py 231 124 46% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 54 24 56% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/urllib3/_version.py 11 2 82% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/urllib3/connection.py 389 138 65% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 344 134 61% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/urllib3/contrib/__init__.py 0 0 100% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/urllib3/contrib/pyopenssl.py 263 103 61% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/urllib3/exceptions.py 121 39 68% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/urllib3/http2/__init__.py 28 21 25% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/urllib3/http2/probe.py 49 31 37% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 86 63% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/urllib3/response.py 634 350 45% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 42 36% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 49 53% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 15 53% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/urllib3/util/retry.py 174 55 68% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 172 74 57% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 152 106 30% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 14 80% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/urllib3/util/url.py 203 73 64% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 10 62% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 18 63% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/yaml/parser.py 352 198 44% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/yaml/reader.py 122 34 72% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/yaml/scanner.py 758 437 42% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 603s Mar 16 01:36:35 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 603s Mar 16 01:36:35 patroni/__init__.py 13 2 85% 603s Mar 16 01:36:35 patroni/__main__.py 201 201 0% 603s Mar 16 01:36:35 patroni/api.py 788 788 0% 603s Mar 16 01:36:35 patroni/async_executor.py 96 69 28% 603s Mar 16 01:36:35 patroni/collections.py 56 15 73% 603s Mar 16 01:36:35 patroni/config.py 357 186 48% 603s Mar 16 01:36:35 patroni/config_generator.py 212 212 0% 603s Mar 16 01:36:35 patroni/ctl.py 936 661 29% 603s Mar 16 01:36:35 patroni/daemon.py 76 76 0% 603s Mar 16 01:36:35 patroni/dcs/__init__.py 710 357 50% 603s Mar 16 01:36:35 patroni/dcs/consul.py 482 482 0% 603s Mar 16 01:36:35 patroni/dcs/etcd3.py 679 362 47% 603s Mar 16 01:36:35 patroni/dcs/etcd.py 603 285 53% 603s Mar 16 01:36:35 patroni/dcs/exhibitor.py 62 62 0% 603s Mar 16 01:36:35 patroni/dcs/kubernetes.py 943 943 0% 603s Mar 16 01:36:35 patroni/dcs/raft.py 319 319 0% 603s Mar 16 01:36:35 patroni/dcs/zookeeper.py 289 289 0% 603s Mar 16 01:36:35 patroni/dynamic_loader.py 35 7 80% 603s Mar 16 01:36:35 patroni/exceptions.py 16 1 94% 603s Mar 16 01:36:35 patroni/file_perm.py 47 17 64% 603s Mar 16 01:36:35 patroni/global_config.py 87 25 71% 603s Mar 16 01:36:35 patroni/ha.py 1359 1359 0% 603s Mar 16 01:36:35 patroni/log.py 235 183 22% 603s Mar 16 01:36:35 patroni/postgresql/__init__.py 825 653 21% 603s Mar 16 01:36:35 patroni/postgresql/available_parameters/__init__.py 24 3 88% 603s Mar 16 01:36:35 patroni/postgresql/bootstrap.py 254 224 12% 603s Mar 16 01:36:35 patroni/postgresql/callback_executor.py 55 34 38% 603s Mar 16 01:36:35 patroni/postgresql/cancellable.py 104 84 19% 603s Mar 16 01:36:35 patroni/postgresql/config.py 840 720 14% 603s Mar 16 01:36:35 patroni/postgresql/connection.py 75 50 33% 603s Mar 16 01:36:35 patroni/postgresql/misc.py 43 30 30% 603s Mar 16 01:36:35 patroni/postgresql/mpp/__init__.py 89 21 76% 603s Mar 16 01:36:35 patroni/postgresql/mpp/citus.py 366 366 0% 603s Mar 16 01:36:35 patroni/postgresql/postmaster.py 170 139 18% 603s Mar 16 01:36:35 patroni/postgresql/rewind.py 416 416 0% 603s Mar 16 01:36:35 patroni/postgresql/slots.py 349 300 14% 603s Mar 16 01:36:35 patroni/postgresql/sync.py 154 114 26% 603s Mar 16 01:36:35 patroni/postgresql/validator.py 157 52 67% 603s Mar 16 01:36:35 patroni/psycopg.py 46 32 30% 603s Mar 16 01:36:35 patroni/quorum.py 182 182 0% 603s Mar 16 01:36:35 patroni/raft_controller.py 22 22 0% 603s Mar 16 01:36:35 patroni/request.py 58 6 90% 603s Mar 16 01:36:35 patroni/scripts/__init__.py 0 0 100% 603s Mar 16 01:36:35 patroni/scripts/aws.py 59 59 0% 603s Mar 16 01:36:35 patroni/scripts/barman/__init__.py 0 0 100% 603s Mar 16 01:36:35 patroni/scripts/barman/cli.py 50 50 0% 603s Mar 16 01:36:35 patroni/scripts/barman/config_switch.py 50 50 0% 603s Mar 16 01:36:35 patroni/scripts/barman/recover.py 36 36 0% 603s Mar 16 01:36:35 patroni/scripts/barman/utils.py 93 93 0% 603s Mar 16 01:36:35 patroni/scripts/wale_restore.py 207 207 0% 603s Mar 16 01:36:35 patroni/tags.py 38 15 61% 603s Mar 16 01:36:35 patroni/utils.py 371 238 36% 603s Mar 16 01:36:35 patroni/validator.py 309 222 28% 603s Mar 16 01:36:35 patroni/version.py 1 0 100% 603s Mar 16 01:36:35 patroni/watchdog/__init__.py 2 2 0% 603s Mar 16 01:36:35 patroni/watchdog/base.py 203 203 0% 603s Mar 16 01:36:35 patroni/watchdog/linux.py 135 135 0% 603s Mar 16 01:36:35 ------------------------------------------------------------------------------------------------------------- 603s Mar 16 01:36:35 TOTAL 54413 34452 37% 603s Mar 16 01:36:35 1 feature passed, 0 failed, 0 skipped 603s Mar 16 01:36:35 7 scenarios passed, 0 failed, 0 skipped 603s Mar 16 01:36:35 68 steps passed, 0 failed, 0 skipped, 0 undefined 603s Mar 16 01:36:35 Took 1m23.984s 603s + bash -c 'rm -rf features/output' 603s + echo '### End 17 acceptance-etcd3 features/basic_replication.feature ###' 603s + rm -f /tmp/pgpass_postgres-0 /tmp/pgpass_postgres-1 /tmp/pgpass_postgres-2 603s ++ id -u 603s ### End 17 acceptance-etcd3 features/basic_replication.feature ### 603s + '[' 1000 -eq 0 ']' 603s autopkgtest [01:36:35]: test acceptance-etcd3-basic: -----------------------] 607s autopkgtest [01:36:39]: test acceptance-etcd3-basic: - - - - - - - - - - results - - - - - - - - - - 607s acceptance-etcd3-basic PASS 611s autopkgtest [01:36:43]: test acceptance-etcd3: preparing testbed 613s Reading package lists... 613s Building dependency tree... 613s Reading state information... 614s Starting pkgProblemResolver with broken count: 0 614s Starting 2 pkgProblemResolver with broken count: 0 614s Done 615s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 625s autopkgtest [01:36:57]: test acceptance-etcd3: debian/tests/acceptance etcd3 625s autopkgtest [01:36:57]: test acceptance-etcd3: [----------------------- 627s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 627s ++ ls -1r /usr/lib/postgresql/ 627s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 627s + '[' 17 == 10 -o 17 == 11 ']' 627s + echo '### PostgreSQL 17 acceptance-etcd3 ###' 627s + 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' 627s ### PostgreSQL 17 acceptance-etcd3 ### 628s Mar 16 01:37:00 Feature: basic replication # features/basic_replication.feature:1 628s Mar 16 01:37:00 We should check that the basic bootstrapping, replication and failover works. 628s Mar 16 01:37:00 Scenario: check replication of a single table # features/basic_replication.feature:4 628s Mar 16 01:37:00 Given I start postgres-0 # features/steps/basic_replication.py:20 633s Mar 16 01:37:05 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 633s Mar 16 01:37:05 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 633s Mar 16 01:37:05 When I issue a PATCH request to http://127.0.0.1:8008/config with {"ttl": 20, "synchronous_mode": true} # features/steps/patroni_api.py:73 633s Mar 16 01:37:05 Then I receive a response code 200 # features/steps/patroni_api.py:100 633s Mar 16 01:37:05 When I start postgres-1 # features/steps/basic_replication.py:20 638s Mar 16 01:37:10 And I configure and start postgres-2 with a tag replicatefrom postgres-0 # features/steps/cascading_replication.py:7 643s Mar 16 01:37:15 And "sync" key in DCS has leader=postgres-0 after 20 seconds # features/steps/cascading_replication.py:23 643s Mar 16 01:37:15 And I add the table foo to postgres-0 # features/steps/basic_replication.py:66 643s Mar 16 01:37:15 Then table foo is present on postgres-1 after 20 seconds # features/steps/basic_replication.py:105 644s Mar 16 01:37:16 Then table foo is present on postgres-2 after 20 seconds # features/steps/basic_replication.py:105 644s Mar 16 01:37:16 644s Mar 16 01:37:16 Scenario: check restart of sync replica # features/basic_replication.feature:17 644s Mar 16 01:37:16 Given I shut down postgres-2 # features/steps/basic_replication.py:41 645s Mar 16 01:37:17 Then "sync" key in DCS has sync_standby=postgres-1 after 5 seconds # features/steps/cascading_replication.py:23 645s Mar 16 01:37:17 When I start postgres-2 # features/steps/basic_replication.py:20 648s Mar 16 01:37:20 And I shut down postgres-1 # features/steps/basic_replication.py:41 651s Mar 16 01:37:23 Then "sync" key in DCS has sync_standby=postgres-2 after 10 seconds # features/steps/cascading_replication.py:23 652s Mar 16 01:37:24 When I start postgres-1 # features/steps/basic_replication.py:20 655s Mar 16 01:37:27 Then "members/postgres-1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 656s Mar 16 01:37:28 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:144 656s Mar 16 01:37:28 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:144 656s Mar 16 01:37:28 656s Mar 16 01:37:28 Scenario: check stuck sync replica # features/basic_replication.feature:28 656s Mar 16 01:37:28 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"pause": true, "maximum_lag_on_syncnode": 15000000, "postgresql": {"parameters": {"synchronous_commit": "remote_apply"}}} # features/steps/patroni_api.py:73 656s Mar 16 01:37:28 Then I receive a response code 200 # features/steps/patroni_api.py:100 656s Mar 16 01:37:28 And I create table on postgres-0 # features/steps/basic_replication.py:85 656s Mar 16 01:37:28 And table mytest is present on postgres-1 after 2 seconds # features/steps/basic_replication.py:105 657s Mar 16 01:37:29 And table mytest is present on postgres-2 after 2 seconds # features/steps/basic_replication.py:105 657s Mar 16 01:37:29 When I pause wal replay on postgres-2 # features/steps/basic_replication.py:76 657s Mar 16 01:37:29 And I load data on postgres-0 # features/steps/basic_replication.py:96 658s Mar 16 01:37:30 Then "sync" key in DCS has sync_standby=postgres-1 after 15 seconds # features/steps/cascading_replication.py:23 661s Mar 16 01:37:33 And I resume wal replay on postgres-2 # features/steps/basic_replication.py:76 661s Mar 16 01:37:33 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:144 662s Mar 16 01:37:34 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:144 662s Mar 16 01:37:34 When I issue a PATCH request to http://127.0.0.1:8008/config with {"pause": null, "maximum_lag_on_syncnode": -1, "postgresql": {"parameters": {"synchronous_commit": "on"}}} # features/steps/patroni_api.py:73 662s Mar 16 01:37:34 Then I receive a response code 200 # features/steps/patroni_api.py:100 662s Mar 16 01:37:34 And I drop table on postgres-0 # features/steps/basic_replication.py:85 662s Mar 16 01:37:34 662s Mar 16 01:37:34 Scenario: check multi sync replication # features/basic_replication.feature:44 662s Mar 16 01:37:34 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"synchronous_node_count": 2} # features/steps/patroni_api.py:73 662s Mar 16 01:37:34 Then I receive a response code 200 # features/steps/patroni_api.py:100 662s Mar 16 01:37:34 Then "sync" key in DCS has sync_standby=postgres-1,postgres-2 after 10 seconds # features/steps/cascading_replication.py:23 666s Mar 16 01:37:38 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:144 666s Mar 16 01:37:38 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:144 666s Mar 16 01:37:38 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 666s Mar 16 01:37:38 Then I receive a response code 200 # features/steps/patroni_api.py:100 666s Mar 16 01:37:38 And I shut down postgres-1 # features/steps/basic_replication.py:41 669s Mar 16 01:37:41 Then "sync" key in DCS has sync_standby=postgres-2 after 10 seconds # features/steps/cascading_replication.py:23 670s Mar 16 01:37:42 When I start postgres-1 # features/steps/basic_replication.py:20 673s Mar 16 01:37:45 Then "members/postgres-1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 674s Mar 16 01:37:46 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:144 674s Mar 16 01:37:46 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:144 674s Mar 16 01:37:46 674s Mar 16 01:37:46 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 674s Mar 16 01:37:46 Given I run patronictl.py pause batman # features/steps/patroni_api.py:88 676s Mar 16 01:37:48 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 676s Mar 16 01:37:48 When I sleep for 2 seconds # features/steps/patroni_api.py:41 678s Mar 16 01:37:50 And I shut down postgres-0 # features/steps/basic_replication.py:41 679s Mar 16 01:37:51 And I run patronictl.py resume batman # features/steps/patroni_api.py:88 680s Mar 16 01:37:52 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 680s Mar 16 01:37:52 And postgres-2 role is the primary after 24 seconds # features/steps/basic_replication.py:117 698s Mar 16 01:38:10 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:158 701s Mar 16 01:38:13 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 701s Mar 16 01:38:13 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 701s Mar 16 01:38:13 Then I receive a response code 200 # features/steps/patroni_api.py:100 701s Mar 16 01:38:13 When I add the table bar to postgres-2 # features/steps/basic_replication.py:66 701s Mar 16 01:38:13 Then table bar is present on postgres-1 after 20 seconds # features/steps/basic_replication.py:105 701s Mar 16 01:38:13 And Response on GET http://127.0.0.1:8010/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:158 701s Mar 16 01:38:13 701s Mar 16 01:38:13 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 701s Mar 16 01:38:13 Given I add the table splitbrain to postgres-0 # features/steps/basic_replication.py:66 701s Mar 16 01:38:13 And I start postgres-0 # features/steps/basic_replication.py:20 701s Mar 16 01:38:13 Then postgres-0 role is the secondary after 20 seconds # features/steps/basic_replication.py:117 705s Mar 16 01:38:17 When I add the table buz to postgres-2 # features/steps/basic_replication.py:66 705s Mar 16 01:38:17 Then table buz is present on postgres-0 after 20 seconds # features/steps/basic_replication.py:105 710s Mar 16 01:38:22 710s Mar 16 01:38:22 @reject-duplicate-name 710s Mar 16 01:38:22 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 710s Mar 16 01:38:22 Given I start duplicate postgres-0 on port 8011 # features/steps/basic_replication.py:25 713s Mar 16 01:38:25 Then there is one of ["Can't start; there is already a node named 'postgres-0' running"] CRITICAL in the dup-postgres-0 patroni log after 5 seconds # features/steps/basic_replication.py:133 717s Mar 16 01:38:29 717s Mar 16 01:38:29 Feature: cascading replication # features/cascading_replication.feature:1 717s Mar 16 01:38:29 We should check that patroni can do base backup and streaming from the replica 717s Mar 16 01:38:29 Scenario: check a base backup and streaming replication from a replica # features/cascading_replication.feature:4 717s Mar 16 01:38:29 Given I start postgres-0 # features/steps/basic_replication.py:20 722s Mar 16 01:38:34 And postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 722s Mar 16 01:38:34 And I configure and start postgres-1 with a tag clonefrom true # features/steps/cascading_replication.py:7 727s Mar 16 01:38:39 And replication works from postgres-0 to postgres-1 after 20 seconds # features/steps/basic_replication.py:124 728s Mar 16 01:38:40 And I create label with "postgres-0" in postgres-0 data directory # features/steps/cascading_replication.py:18 728s Mar 16 01:38:40 And I create label with "postgres-1" in postgres-1 data directory # features/steps/cascading_replication.py:18 728s Mar 16 01:38:40 And "members/postgres-1" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 728s Mar 16 01:38:40 And I configure and start postgres-2 with a tag replicatefrom postgres-1 # features/steps/cascading_replication.py:7 733s Mar 16 01:38:45 Then replication works from postgres-0 to postgres-2 after 30 seconds # features/steps/basic_replication.py:124 734s Mar 16 01:38:46 And there is a label with "postgres-1" in postgres-2 data directory # features/steps/cascading_replication.py:12 741s Mar 16 01:38:53 741s Mar 16 01:38:53 Feature: citus # features/citus.feature:1 741s Mar 16 01:38:53 We should check that coordinator discovers and registers workers and clients don't have errors when worker cluster switches over 741s Mar 16 01:38:53 Scenario: check that worker cluster is registered in the coordinator # features/citus.feature:4 741s Mar 16 01:38:53 Given I start postgres-0 in citus group 0 # None 741s Mar 16 01:38:53 And I start postgres-2 in citus group 1 # None 741s SKIP FEATURE citus: Citus extension isn't available 741s SKIP Scenario check that worker cluster is registered in the coordinator: Citus extension isn't available 741s SKIP Scenario coordinator failover updates pg_dist_node: Citus extension isn't available 741s SKIP Scenario worker switchover doesn't break client queries on the coordinator: Citus extension isn't available 741s SKIP Scenario worker primary restart doesn't break client queries on the coordinator: Citus extension isn't available 741s 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 741s Mar 16 01:38:53 Then postgres-0 is a leader in a group 0 after 10 seconds # None 741s Mar 16 01:38:53 And postgres-2 is a leader in a group 1 after 10 seconds # None 741s Mar 16 01:38:53 When I start postgres-1 in citus group 0 # None 741s Mar 16 01:38:53 And I start postgres-3 in citus group 1 # None 741s Mar 16 01:38:53 Then replication works from postgres-0 to postgres-1 after 15 seconds # None 741s Mar 16 01:38:53 Then replication works from postgres-2 to postgres-3 after 15 seconds # None 741s Mar 16 01:38:53 And postgres-0 is registered in the postgres-0 as the primary in group 0 after 5 seconds # None 741s Mar 16 01:38:53 And postgres-1 is registered in the postgres-0 as the secondary in group 0 after 5 seconds # None 741s Mar 16 01:38:53 And postgres-2 is registered in the postgres-0 as the primary in group 1 after 5 seconds # None 741s Mar 16 01:38:53 And postgres-3 is registered in the postgres-0 as the secondary in group 1 after 5 seconds # None 741s Mar 16 01:38:53 741s Mar 16 01:38:53 Scenario: coordinator failover updates pg_dist_node # features/citus.feature:18 741s Mar 16 01:38:53 Given I run patronictl.py failover batman --group 0 --candidate postgres-1 --force # None 741s Mar 16 01:38:53 Then postgres-1 role is the primary after 10 seconds # None 741s Mar 16 01:38:53 And "members/postgres-0" key in a group 0 in DCS has state=running after 15 seconds # None 741s Mar 16 01:38:53 And replication works from postgres-1 to postgres-0 after 15 seconds # None 741s Mar 16 01:38:53 And postgres-1 is registered in the postgres-2 as the primary in group 0 after 5 seconds # None 741s Mar 16 01:38:53 And postgres-0 is registered in the postgres-2 as the secondary in group 0 after 15 seconds # None 741s Mar 16 01:38:53 And "sync" key in a group 0 in DCS has sync_standby=postgres-0 after 15 seconds # None 741s Mar 16 01:38:53 When I run patronictl.py switchover batman --group 0 --candidate postgres-0 --force # None 741s Mar 16 01:38:53 Then postgres-0 role is the primary after 10 seconds # None 741s Mar 16 01:38:53 And replication works from postgres-0 to postgres-1 after 15 seconds # None 741s Mar 16 01:38:53 And postgres-0 is registered in the postgres-2 as the primary in group 0 after 5 seconds # None 741s Mar 16 01:38:53 And postgres-1 is registered in the postgres-2 as the secondary in group 0 after 15 seconds # None 741s Mar 16 01:38:53 And "sync" key in a group 0 in DCS has sync_standby=postgres-1 after 15 seconds # None 741s Mar 16 01:38:53 741s Mar 16 01:38:53 Scenario: worker switchover doesn't break client queries on the coordinator # features/citus.feature:33 741s Mar 16 01:38:53 Given I create a distributed table on postgres-0 # None 741s Mar 16 01:38:53 And I start a thread inserting data on postgres-0 # None 741s Mar 16 01:38:53 When I run patronictl.py switchover batman --group 1 --force # None 741s Mar 16 01:38:53 Then I receive a response returncode 0 # None 741s Mar 16 01:38:53 And postgres-3 role is the primary after 10 seconds # None 741s Mar 16 01:38:53 And "members/postgres-2" key in a group 1 in DCS has state=running after 15 seconds # None 741s Mar 16 01:38:53 And replication works from postgres-3 to postgres-2 after 15 seconds # None 741s Mar 16 01:38:53 And postgres-3 is registered in the postgres-0 as the primary in group 1 after 5 seconds # None 741s Mar 16 01:38:53 And postgres-2 is registered in the postgres-0 as the secondary in group 1 after 15 seconds # None 741s Mar 16 01:38:53 And "sync" key in a group 1 in DCS has sync_standby=postgres-2 after 15 seconds # None 741s Mar 16 01:38:53 And a thread is still alive # None 741s Mar 16 01:38:53 When I run patronictl.py switchover batman --group 1 --force # None 741s Mar 16 01:38:53 Then I receive a response returncode 0 # None 741s Mar 16 01:38:53 And postgres-2 role is the primary after 10 seconds # None 741s Mar 16 01:38:53 And replication works from postgres-2 to postgres-3 after 15 seconds # None 741s Mar 16 01:38:53 And postgres-2 is registered in the postgres-0 as the primary in group 1 after 5 seconds # None 741s Mar 16 01:38:53 And postgres-3 is registered in the postgres-0 as the secondary in group 1 after 15 seconds # None 741s Mar 16 01:38:53 And "sync" key in a group 1 in DCS has sync_standby=postgres-3 after 15 seconds # None 741s Mar 16 01:38:53 And a thread is still alive # None 741s Mar 16 01:38:53 When I stop a thread # None 741s Mar 16 01:38:53 Then a distributed table on postgres-0 has expected rows # None 741s Mar 16 01:38:53 741s Mar 16 01:38:53 Scenario: worker primary restart doesn't break client queries on the coordinator # features/citus.feature:56 741s Mar 16 01:38:53 Given I cleanup a distributed table on postgres-0 # None 741s Mar 16 01:38:53 And I start a thread inserting data on postgres-0 # None 741s Mar 16 01:38:53 When I run patronictl.py restart batman postgres-2 --group 1 --force # None 741s Mar 16 01:38:53 Then I receive a response returncode 0 # None 741s Mar 16 01:38:53 And postgres-2 role is the primary after 10 seconds # None 741s Mar 16 01:38:53 And replication works from postgres-2 to postgres-3 after 15 seconds # None 741s Mar 16 01:38:53 And postgres-2 is registered in the postgres-0 as the primary in group 1 after 5 seconds # None 741s Mar 16 01:38:53 And postgres-3 is registered in the postgres-0 as the secondary in group 1 after 15 seconds # None 741s Mar 16 01:38:53 And a thread is still alive # None 741s Mar 16 01:38:53 When I stop a thread # None 741s Mar 16 01:38:53 Then a distributed table on postgres-0 has expected rows # None 741s Mar 16 01:38:53 741s Mar 16 01:38:53 Scenario: check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node # features/citus.feature:69 741s Mar 16 01:38:53 Given I start postgres-4 in citus group 2 # None 741s Mar 16 01:38:53 Then postgres-4 is a leader in a group 2 after 10 seconds # None 741s Mar 16 01:38:53 And "members/postgres-4" key in a group 2 in DCS has role=primary after 3 seconds # None 741s Mar 16 01:38:53 When I run patronictl.py edit-config batman --group 2 -s ttl=20 --force # None 741s Mar 16 01:38:53 Then I receive a response returncode 0 # None 741s Mar 16 01:38:53 And I receive a response output "+ttl: 20" # None 741s Mar 16 01:38:53 Then postgres-4 is registered in the postgres-2 as the primary in group 2 after 5 seconds # None 741s Mar 16 01:38:53 When I shut down postgres-4 # None 741s Mar 16 01:38:53 Then there is a transaction in progress on postgres-0 changing pg_dist_node after 5 seconds # None 741s Mar 16 01:38:53 When I run patronictl.py restart batman postgres-2 --group 1 --force # None 741s Mar 16 01:38:53 Then a transaction finishes in 20 seconds # None 741s Mar 16 01:38:53 741s Mar 16 01:38:53 Feature: custom bootstrap # features/custom_bootstrap.feature:1 741s Mar 16 01:38:53 We should check that patroni can bootstrap a new cluster from a backup 741s Mar 16 01:38:53 Scenario: clone existing cluster using pg_basebackup # features/custom_bootstrap.feature:4 741s Mar 16 01:38:53 Given I start postgres-0 # features/steps/basic_replication.py:20 746s Mar 16 01:38:58 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 747s Mar 16 01:38:59 When I add the table foo to postgres-0 # features/steps/basic_replication.py:66 747s Mar 16 01:38:59 And I start postgres-1 in a cluster batman1 as a clone of postgres-0 # features/steps/custom_bootstrap.py:6 753s Mar 16 01:39:05 Then postgres-1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 754s Mar 16 01:39:06 Then table foo is present on postgres-1 after 10 seconds # features/steps/basic_replication.py:105 754s Mar 16 01:39:06 754s Mar 16 01:39:06 Scenario: make a backup and do a restore into a new cluster # features/custom_bootstrap.feature:12 754s Mar 16 01:39:06 Given I add the table bar to postgres-1 # features/steps/basic_replication.py:66 754s Mar 16 01:39:06 And I do a backup of postgres-1 # features/steps/custom_bootstrap.py:25 756s Mar 16 01:39:08 When I start postgres-2 in a cluster batman2 from backup # features/steps/custom_bootstrap.py:11 762s Mar 16 01:39:14 Then postgres-2 is a leader of batman2 after 30 seconds # features/steps/custom_bootstrap.py:16 763s Mar 16 01:39:15 And table bar is present on postgres-2 after 10 seconds # features/steps/basic_replication.py:105 769s Mar 16 01:39:21 769s Mar 16 01:39:21 Feature: dcs failsafe mode # features/dcs_failsafe_mode.feature:1 769s Mar 16 01:39:21 We should check the basic dcs failsafe mode functioning 769s Mar 16 01:39:21 Scenario: check failsafe mode can be successfully enabled # features/dcs_failsafe_mode.feature:4 769s Mar 16 01:39:21 Given I start postgres-0 # features/steps/basic_replication.py:20 774s Mar 16 01:39:26 And postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 774s Mar 16 01:39:26 Then "config" key in DCS has ttl=30 after 10 seconds # features/steps/cascading_replication.py:23 774s Mar 16 01:39:26 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 774s Mar 16 01:39:26 Then I receive a response code 200 # features/steps/patroni_api.py:100 774s Mar 16 01:39:26 And Response on GET http://127.0.0.1:8008/failsafe contains postgres-0 after 10 seconds # features/steps/patroni_api.py:158 776s Mar 16 01:39:27 When I issue a GET request to http://127.0.0.1:8008/failsafe # features/steps/patroni_api.py:63 776s Mar 16 01:39:28 Then I receive a response code 200 # features/steps/patroni_api.py:100 776s Mar 16 01:39:28 And I receive a response postgres-0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:100 776s Mar 16 01:39:28 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 776s Mar 16 01:39:28 Then I receive a response code 200 # features/steps/patroni_api.py:100 776s Mar 16 01:39:28 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 776s Mar 16 01:39:28 Then I receive a response code 200 # features/steps/patroni_api.py:100 776s SKIP Scenario check one-node cluster is functioning while DCS is down: it is not possible to control state of etcd3 from tests 776s 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 776s Mar 16 01:39:28 776s Mar 16 01:39:28 @dcs-failsafe 776s Mar 16 01:39:28 Scenario: check one-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:20 776s Mar 16 01:39:28 Given DCS is down # None 776s Mar 16 01:39:28 Then Response on GET http://127.0.0.1:8008/primary contains failsafe_mode_is_active after 12 seconds # None 776s Mar 16 01:39:28 And postgres-0 role is the primary after 10 seconds # None 776s Mar 16 01:39:28 776s Mar 16 01:39:28 @dcs-failsafe 776s Mar 16 01:39:28 Scenario: check new replica isn't promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:26 776s Mar 16 01:39:28 Given DCS is up # None 776s Mar 16 01:39:28 When I do a backup of postgres-0 # None 776s Mar 16 01:39:28 And I shut down postgres-0 # None 776s Mar 16 01:39:28 When I start postgres-1 in a cluster batman from backup with no_leader # None 776s Mar 16 01:39:28 Then postgres-1 role is the replica after 12 seconds # None 776s Mar 16 01:39:28 776s Mar 16 01:39:28 Scenario: check leader and replica are both in /failsafe key after leader is back # features/dcs_failsafe_mode.feature:33 776s Mar 16 01:39:28 Given I start postgres-0 # features/steps/basic_replication.py:20 776s Mar 16 01:39:28 And I start postgres-1 # features/steps/basic_replication.py:20 781s Mar 16 01:39:33 Then "members/postgres-0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 781s Mar 16 01:39:33 And "members/postgres-1" key in DCS has state=running after 2 seconds # features/steps/cascading_replication.py:23 782s Mar 16 01:39:34 And Response on GET http://127.0.0.1:8009/failsafe contains postgres-1 after 10 seconds # features/steps/patroni_api.py:158 782s Mar 16 01:39:34 When I issue a GET request to http://127.0.0.1:8009/failsafe # features/steps/patroni_api.py:63 782s SKIP Scenario check leader and replica are functioning while DCS is down: it is not possible to control state of etcd3 from tests 782s 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 782s 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 782s SKIP Scenario scale to three-node cluster: it is not possible to control state of etcd3 from tests 782s SKIP Scenario make sure permanent slots exist on replicas: it is not possible to control state of etcd3 from tests 782s SKIP Scenario check three-node cluster is functioning while DCS is down: it is not possible to control state of etcd3 from tests 782s 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 782s Mar 16 01:39:34 Then I receive a response code 200 # features/steps/patroni_api.py:100 782s Mar 16 01:39:34 And I receive a response postgres-0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:100 782s Mar 16 01:39:34 And I receive a response postgres-1 http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:100 782s Mar 16 01:39:34 782s Mar 16 01:39:34 @dcs-failsafe @slot-advance 782s Mar 16 01:39:34 Scenario: check leader and replica are functioning while DCS is down # features/dcs_failsafe_mode.feature:46 782s Mar 16 01:39:34 Given I get all changes from physical slot dcs_slot_1 on postgres-0 # None 782s Mar 16 01:39:34 Then physical slot dcs_slot_1 is in sync between postgres-0 and postgres-1 after 10 seconds # None 782s Mar 16 01:39:34 And logical slot dcs_slot_0 is in sync between postgres-0 and postgres-1 after 10 seconds # None 782s Mar 16 01:39:34 And DCS is down # None 782s Mar 16 01:39:34 Then Response on GET http://127.0.0.1:8008/primary contains failsafe_mode_is_active after 12 seconds # None 782s Mar 16 01:39:34 Then postgres-0 role is the primary after 10 seconds # None 782s Mar 16 01:39:34 And postgres-1 role is the replica after 2 seconds # None 782s Mar 16 01:39:34 And replication works from postgres-0 to postgres-1 after 10 seconds # None 782s Mar 16 01:39:34 When I get all changes from logical slot dcs_slot_0 on postgres-0 # None 782s Mar 16 01:39:34 And I get all changes from physical slot dcs_slot_1 on postgres-0 # None 782s Mar 16 01:39:34 Then logical slot dcs_slot_0 is in sync between postgres-0 and postgres-1 after 20 seconds # None 782s Mar 16 01:39:34 And physical slot dcs_slot_1 is in sync between postgres-0 and postgres-1 after 10 seconds # None 782s Mar 16 01:39:34 782s Mar 16 01:39:34 @dcs-failsafe 782s Mar 16 01:39:34 Scenario: check primary is demoted when one replica is shut down and DCS is down # features/dcs_failsafe_mode.feature:61 782s Mar 16 01:39:34 Given DCS is down # None 782s Mar 16 01:39:34 And I kill postgres-1 # None 782s Mar 16 01:39:34 And I kill postmaster on postgres-1 # None 782s Mar 16 01:39:34 Then postgres-0 role is the replica after 12 seconds # None 782s Mar 16 01:39:34 782s Mar 16 01:39:34 @dcs-failsafe 782s Mar 16 01:39:34 Scenario: check known replica is promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:68 782s Mar 16 01:39:34 Given I kill postgres-0 # None 782s Mar 16 01:39:34 And I shut down postmaster on postgres-0 # None 782s Mar 16 01:39:34 And DCS is up # None 782s Mar 16 01:39:34 When I start postgres-1 # None 782s Mar 16 01:39:34 Then "members/postgres-1" key in DCS has state=running after 10 seconds # None 782s Mar 16 01:39:34 And postgres-1 role is the primary after 25 seconds # None 782s Mar 16 01:39:34 782s Mar 16 01:39:34 @dcs-failsafe 782s Mar 16 01:39:34 Scenario: scale to three-node cluster # features/dcs_failsafe_mode.feature:77 782s Mar 16 01:39:34 Given I start postgres-0 # None 782s Mar 16 01:39:34 And I configure and start postgres-2 with a tag replicatefrom postgres-0 # None 782s Mar 16 01:39:34 Then "members/postgres-2" key in DCS has state=running after 10 seconds # None 782s Mar 16 01:39:34 And "members/postgres-0" key in DCS has state=running after 20 seconds # None 782s Mar 16 01:39:34 And Response on GET http://127.0.0.1:8008/failsafe contains postgres-2 after 10 seconds # None 782s Mar 16 01:39:34 And replication works from postgres-1 to postgres-0 after 10 seconds # None 782s Mar 16 01:39:34 And replication works from postgres-1 to postgres-2 after 10 seconds # None 782s Mar 16 01:39:34 782s Mar 16 01:39:34 @dcs-failsafe @slot-advance 782s Mar 16 01:39:34 Scenario: make sure permanent slots exist on replicas # features/dcs_failsafe_mode.feature:88 782s Mar 16 01:39:34 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 782s Mar 16 01:39:34 Then logical slot dcs_slot_2 is in sync between postgres-1 and postgres-0 after 20 seconds # None 782s Mar 16 01:39:34 And logical slot dcs_slot_2 is in sync between postgres-1 and postgres-2 after 20 seconds # None 782s Mar 16 01:39:34 When I get all changes from physical slot dcs_slot_1 on postgres-1 # None 782s Mar 16 01:39:34 Then physical slot dcs_slot_1 is in sync between postgres-1 and postgres-0 after 10 seconds # None 782s Mar 16 01:39:34 And physical slot dcs_slot_1 is in sync between postgres-1 and postgres-2 after 10 seconds # None 782s Mar 16 01:39:34 And physical slot postgres_0 is in sync between postgres-1 and postgres-2 after 10 seconds # None 782s Mar 16 01:39:34 And physical slot postgres_2 is in sync between postgres-0 and postgres-1 after 10 seconds # None 782s Mar 16 01:39:34 782s Mar 16 01:39:34 @dcs-failsafe 782s Mar 16 01:39:34 Scenario: check three-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:99 782s Mar 16 01:39:34 Given DCS is down # None 782s Mar 16 01:39:34 Then Response on GET http://127.0.0.1:8009/primary contains failsafe_mode_is_active after 12 seconds # None 782s Mar 16 01:39:34 Then postgres-1 role is the primary after 10 seconds # None 782s Mar 16 01:39:34 And postgres-0 role is the replica after 2 seconds # None 782s Mar 16 01:39:34 And postgres-2 role is the replica after 2 seconds # None 786s Mar 16 01:39:38 786s Mar 16 01:39:38 @dcs-failsafe @slot-advance 786s Mar 16 01:39:38 Scenario: check that permanent slots are in sync between nodes while DCS is down # features/dcs_failsafe_mode.feature:108 786s Mar 16 01:39:38 Given replication works from postgres-1 to postgres-0 after 10 seconds # None 786s Mar 16 01:39:38 And replication works from postgres-1 to postgres-2 after 10 seconds # None 786s Mar 16 01:39:38 When I get all changes from logical slot dcs_slot_2 on postgres-1 # None 786s Mar 16 01:39:38 And I get all changes from physical slot dcs_slot_1 on postgres-1 # None 786s Mar 16 01:39:38 Then logical slot dcs_slot_2 is in sync between postgres-1 and postgres-0 after 20 seconds # None 786s Mar 16 01:39:38 And logical slot dcs_slot_2 is in sync between postgres-1 and postgres-2 after 20 seconds # None 786s Mar 16 01:39:38 And physical slot dcs_slot_1 is in sync between postgres-1 and postgres-0 after 10 seconds # None 786s Mar 16 01:39:38 And physical slot dcs_slot_1 is in sync between postgres-1 and postgres-2 after 10 seconds # None 786s Mar 16 01:39:38 And physical slot postgres_0 is in sync between postgres-1 and postgres-2 after 10 seconds # None 786s Mar 16 01:39:38 And physical slot postgres_2 is in sync between postgres-0 and postgres-1 after 10 seconds # None 786s Mar 16 01:39:38 786s Mar 16 01:39:38 Feature: ignored slots # features/ignored_slots.feature:1 786s Mar 16 01:39:38 786s Mar 16 01:39:38 Scenario: check ignored slots aren't removed on failover/switchover # features/ignored_slots.feature:2 786s Mar 16 01:39:38 Given I start postgres-1 # features/steps/basic_replication.py:20 791s Mar 16 01:39:43 Then postgres-1 is a leader after 10 seconds # features/steps/patroni_api.py:31 791s Mar 16 01:39:43 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 791s Mar 16 01:39:43 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 791s Mar 16 01:39:43 Then I receive a response code 200 # features/steps/patroni_api.py:100 791s Mar 16 01:39:43 And Response on GET http://127.0.0.1:8009/config contains ignore_slots after 10 seconds # features/steps/patroni_api.py:158 791s Mar 16 01:39:43 When I shut down postgres-1 # features/steps/basic_replication.py:41 793s Mar 16 01:39:45 And I start postgres-1 # features/steps/basic_replication.py:20 796s Mar 16 01:39:48 Then postgres-1 is a leader after 10 seconds # features/steps/patroni_api.py:31 797s Mar 16 01:39:49 And "members/postgres-1" key in DCS has role=primary after 10 seconds # features/steps/cascading_replication.py:23 798s Mar 16 01:39:50 And postgres-1 role is the primary after 20 seconds # features/steps/basic_replication.py:117 798s Mar 16 01:39:50 When I create a logical replication slot unmanaged_slot_0 on postgres-1 with the test_decoding plugin # features/steps/slots.py:9 798s Mar 16 01:39:50 And I create a logical replication slot unmanaged_slot_1 on postgres-1 with the test_decoding plugin # features/steps/slots.py:9 798s Mar 16 01:39:50 And I create a logical replication slot unmanaged_slot_2 on postgres-1 with the test_decoding plugin # features/steps/slots.py:9 798s Mar 16 01:39:50 And I create a logical replication slot unmanaged_slot_3 on postgres-1 with the test_decoding plugin # features/steps/slots.py:9 798s Mar 16 01:39:50 And I create a logical replication slot dummy_slot on postgres-1 with the test_decoding plugin # features/steps/slots.py:9 798s Mar 16 01:39:50 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 798s Mar 16 01:39:50 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 798s Mar 16 01:39:50 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 798s Mar 16 01:39:50 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 798s Mar 16 01:39:50 When I start postgres-0 # features/steps/basic_replication.py:20 803s Mar 16 01:39:55 Then "members/postgres-0" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 804s Mar 16 01:39:56 And postgres-0 role is the secondary after 20 seconds # features/steps/basic_replication.py:117 804s Mar 16 01:39:56 And replication works from postgres-1 to postgres-0 after 20 seconds # features/steps/basic_replication.py:124 806s Mar 16 01:39:58 When I shut down postgres-1 # features/steps/basic_replication.py:41 808s Mar 16 01:40:00 Then "members/postgres-0" key in DCS has role=primary after 10 seconds # features/steps/cascading_replication.py:23 809s Mar 16 01:40:01 When I start postgres-1 # features/steps/basic_replication.py:20 812s Mar 16 01:40:04 Then postgres-1 role is the secondary after 20 seconds # features/steps/basic_replication.py:117 812s Mar 16 01:40:04 And "members/postgres-1" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 813s Mar 16 01:40:05 And I sleep for 2 seconds # features/steps/patroni_api.py:41 815s Mar 16 01:40:07 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 815s Mar 16 01:40:07 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 815s Mar 16 01:40:07 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 815s Mar 16 01:40:07 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 815s Mar 16 01:40:07 And postgres-1 does not have a replication slot named dummy_slot # features/steps/slots.py:41 815s Mar 16 01:40:07 When I shut down postgres-0 # features/steps/basic_replication.py:41 817s Mar 16 01:40:09 Then "members/postgres-1" key in DCS has role=primary after 10 seconds # features/steps/cascading_replication.py:23 818s Mar 16 01:40:10 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 818s Mar 16 01:40:10 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 818s Mar 16 01:40:10 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 818s Mar 16 01:40:10 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 820s Mar 16 01:40:12 820s Mar 16 01:40:12 Feature: nostream node # features/nostream_node.feature:1 820s Mar 16 01:40:12 820s Mar 16 01:40:12 Scenario: check nostream node is recovering from archive # features/nostream_node.feature:3 820s Mar 16 01:40:12 When I start postgres-0 # features/steps/basic_replication.py:20 825s Mar 16 01:40:17 And I configure and start postgres-1 with a tag nostream true # features/steps/cascading_replication.py:7 830s Mar 16 01:40:22 Then "members/postgres-1" key in DCS has replication_state=in archive recovery after 10 seconds # features/steps/cascading_replication.py:23 831s Mar 16 01:40:23 And replication works from postgres-0 to postgres-1 after 30 seconds # features/steps/basic_replication.py:124 835s Mar 16 01:40:27 835s Mar 16 01:40:27 @slot-advance 835s Mar 16 01:40:27 Scenario: check permanent logical replication slots are not copied # features/nostream_node.feature:10 835s Mar 16 01:40:27 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 835s Mar 16 01:40:27 Then I receive a response code 200 # features/steps/patroni_api.py:100 835s Mar 16 01:40:27 When I run patronictl.py restart batman postgres-0 --force # features/steps/patroni_api.py:88 837s Mar 16 01:40:29 Then postgres-0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:20 838s Mar 16 01:40:30 When I configure and start postgres-2 with a tag replicatefrom postgres-1 # features/steps/cascading_replication.py:7 843s Mar 16 01:40:35 Then "members/postgres-2" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 844s Mar 16 01:40:36 And postgres-1 does not have a replication slot named test_logical # features/steps/slots.py:41 844s Mar 16 01:40:36 And postgres-2 does not have a replication slot named test_logical # features/steps/slots.py:41 844s Mar 16 01:40:36 844s Mar 16 01:40:36 @slot-advance 844s Mar 16 01:40:36 Scenario: check that slots are written to the /status key # features/nostream_node.feature:21 844s Mar 16 01:40:36 Given "status" key in DCS has postgres_0 in slots # features/steps/slots.py:118 844s Mar 16 01:40:36 And "status" key in DCS has postgres_2 in slots # features/steps/slots.py:118 844s Mar 16 01:40:36 And "status" key in DCS has test_logical in slots # features/steps/slots.py:118 844s Mar 16 01:40:36 And "status" key in DCS has test_logical in slots # features/steps/slots.py:118 844s Mar 16 01:40:36 And "status" key in DCS does not have postgres_1 in slots # features/steps/slots.py:124 850s Mar 16 01:40:42 850s Mar 16 01:40:42 Feature: patroni api # features/patroni_api.feature:1 850s Mar 16 01:40:42 We should check that patroni correctly responds to valid and not-valid API requests. 850s Mar 16 01:40:42 Scenario: check API requests on a stand-alone server # features/patroni_api.feature:4 850s Mar 16 01:40:42 Given I start postgres-0 # features/steps/basic_replication.py:20 855s Mar 16 01:40:47 And postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 856s Mar 16 01:40:48 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:63 856s Mar 16 01:40:48 Then I receive a response code 200 # features/steps/patroni_api.py:100 856s Mar 16 01:40:48 And I receive a response state running # features/steps/patroni_api.py:100 856s Mar 16 01:40:48 And I receive a response role primary # features/steps/patroni_api.py:100 856s Mar 16 01:40:48 When I issue a GET request to http://127.0.0.1:8008/standby_leader # features/steps/patroni_api.py:63 856s Mar 16 01:40:48 Then I receive a response code 503 # features/steps/patroni_api.py:100 856s Mar 16 01:40:48 When I issue a GET request to http://127.0.0.1:8008/health # features/steps/patroni_api.py:63 856s Mar 16 01:40:48 Then I receive a response code 200 # features/steps/patroni_api.py:100 856s Mar 16 01:40:48 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:63 856s Mar 16 01:40:48 Then I receive a response code 503 # features/steps/patroni_api.py:100 856s Mar 16 01:40:48 When I issue a POST request to http://127.0.0.1:8008/reinitialize with {"force": true} # features/steps/patroni_api.py:73 857s Mar 16 01:40:48 Then I receive a response code 503 # features/steps/patroni_api.py:100 857s Mar 16 01:40:48 And I receive a response text I am the leader, can not reinitialize # features/steps/patroni_api.py:100 857s Mar 16 01:40:48 When I run patronictl.py switchover batman --primary postgres-0 --force # features/steps/patroni_api.py:88 858s Mar 16 01:40:50 Then I receive a response returncode 1 # features/steps/patroni_api.py:100 858s Mar 16 01:40:50 And I receive a response output "Error: No candidates found to switchover to" # features/steps/patroni_api.py:100 858s Mar 16 01:40:50 When I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres-0"} # features/steps/patroni_api.py:73 858s Mar 16 01:40:50 Then I receive a response code 412 # features/steps/patroni_api.py:100 858s Mar 16 01:40:50 And I receive a response text switchover is not possible: cluster does not have members except leader # features/steps/patroni_api.py:100 858s Mar 16 01:40:50 When I issue an empty POST request to http://127.0.0.1:8008/failover # features/steps/patroni_api.py:68 858s Mar 16 01:40:50 Then I receive a response code 400 # features/steps/patroni_api.py:100 858s Mar 16 01:40:50 When I issue a POST request to http://127.0.0.1:8008/failover with {"foo": "bar"} # features/steps/patroni_api.py:73 858s Mar 16 01:40:50 Then I receive a response code 400 # features/steps/patroni_api.py:100 858s Mar 16 01:40:50 And I receive a response text "Failover could be performed only to a specific candidate" # features/steps/patroni_api.py:100 858s Mar 16 01:40:50 858s Mar 16 01:40:50 Scenario: check local configuration reload # features/patroni_api.feature:32 858s Mar 16 01:40:50 Given I add tag new_tag new_value to postgres-0 config # features/steps/patroni_api.py:139 858s Mar 16 01:40:50 And I issue an empty POST request to http://127.0.0.1:8008/reload # features/steps/patroni_api.py:68 858s Mar 16 01:40:50 Then I receive a response code 202 # features/steps/patroni_api.py:100 858s Mar 16 01:40:50 858s Mar 16 01:40:50 Scenario: check dynamic configuration change via DCS # features/patroni_api.feature:37 858s Mar 16 01:40:50 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 858s Mar 16 01:40:50 Then I receive a response code 200 # features/steps/patroni_api.py:100 858s Mar 16 01:40:50 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 11 seconds # features/steps/patroni_api.py:158 861s Mar 16 01:40:53 When I issue a GET request to http://127.0.0.1:8008/config # features/steps/patroni_api.py:63 861s Mar 16 01:40:53 Then I receive a response code 200 # features/steps/patroni_api.py:100 861s Mar 16 01:40:53 And I receive a response ttl 20 # features/steps/patroni_api.py:100 861s Mar 16 01:40:53 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:63 861s Mar 16 01:40:53 Then I receive a response code 200 # features/steps/patroni_api.py:100 861s Mar 16 01:40:53 And I receive a response tags {'new_tag': 'new_value'} # features/steps/patroni_api.py:100 861s Mar 16 01:40:53 And I sleep for 4 seconds # features/steps/patroni_api.py:41 865s Mar 16 01:40:57 865s Mar 16 01:40:57 Scenario: check the scheduled restart # features/patroni_api.feature:49 865s Mar 16 01:40:57 Given I run patronictl.py edit-config -p 'superuser_reserved_connections=6' --force batman # features/steps/patroni_api.py:88 867s Mar 16 01:40:59 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 867s Mar 16 01:40:59 And I receive a response output "+ superuser_reserved_connections: 6" # features/steps/patroni_api.py:100 867s Mar 16 01:40:59 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 5 seconds # features/steps/patroni_api.py:158 867s Mar 16 01:40:59 Given I issue a scheduled restart at http://127.0.0.1:8008 in 5 seconds with {"role": "replica"} # features/steps/patroni_api.py:126 867s Mar 16 01:40:59 Then I receive a response code 202 # features/steps/patroni_api.py:100 867s Mar 16 01:40:59 And I sleep for 8 seconds # features/steps/patroni_api.py:41 875s Mar 16 01:41:07 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 10 seconds # features/steps/patroni_api.py:158 875s Mar 16 01:41: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 875s Mar 16 01:41:07 Then I receive a response code 202 # features/steps/patroni_api.py:100 875s Mar 16 01:41: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 882s Mar 16 01:41:13 And postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 882s Mar 16 01:41:14 882s Mar 16 01:41:14 Scenario: check API requests for the primary-replica pair in the pause mode # features/patroni_api.feature:63 882s Mar 16 01:41:14 Given I start postgres-1 # features/steps/basic_replication.py:20 887s Mar 16 01:41:19 Then replication works from postgres-0 to postgres-1 after 20 seconds # features/steps/basic_replication.py:124 888s Mar 16 01:41:20 When I run patronictl.py pause batman # features/steps/patroni_api.py:88 890s Mar 16 01:41:22 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 890s Mar 16 01:41:22 When I kill postmaster on postgres-1 # features/steps/basic_replication.py:56 890s Mar 16 01:41:22 waiting for server to shut down.... done 890s Mar 16 01:41:22 server stopped 890s Mar 16 01:41:22 And I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:63 890s Mar 16 01:41:22 Then I receive a response code 503 # features/steps/patroni_api.py:100 890s Mar 16 01:41:22 And "members/postgres-1" key in DCS has state=stopped after 10 seconds # features/steps/cascading_replication.py:23 895s Mar 16 01:41:27 When I run patronictl.py restart batman postgres-1 --force # features/steps/patroni_api.py:88 898s Mar 16 01:41:30 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 898s Mar 16 01:41:30 Then replication works from postgres-0 to postgres-1 after 20 seconds # features/steps/basic_replication.py:124 899s Mar 16 01:41:31 And I sleep for 2 seconds # features/steps/patroni_api.py:41 901s Mar 16 01:41:33 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:63 901s Mar 16 01:41:33 Then I receive a response code 200 # features/steps/patroni_api.py:100 901s Mar 16 01:41:33 And I receive a response state running # features/steps/patroni_api.py:100 901s Mar 16 01:41:33 And I receive a response role replica # features/steps/patroni_api.py:100 901s Mar 16 01:41:33 When I run patronictl.py reinit batman postgres-1 --force --wait # features/steps/patroni_api.py:88 906s Mar 16 01:41:38 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 906s Mar 16 01:41:38 And I receive a response output "Success: reinitialize for member postgres-1" # features/steps/patroni_api.py:100 906s Mar 16 01:41:38 And postgres-1 role is the secondary after 30 seconds # features/steps/basic_replication.py:117 907s Mar 16 01:41:39 And replication works from postgres-0 to postgres-1 after 20 seconds # features/steps/basic_replication.py:124 908s Mar 16 01:41:40 When I run patronictl.py restart batman postgres-0 --force # features/steps/patroni_api.py:88 910s Mar 16 01:41:42 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 910s Mar 16 01:41:42 And I receive a response output "Success: restart on member postgres-0" # features/steps/patroni_api.py:100 910s Mar 16 01:41:42 And postgres-0 role is the primary after 5 seconds # features/steps/basic_replication.py:117 911s Mar 16 01:41:43 911s Mar 16 01:41:43 Scenario: check the switchover via the API in the pause mode # features/patroni_api.feature:90 911s Mar 16 01:41:43 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 913s Mar 16 01:41:45 Then I receive a response code 200 # features/steps/patroni_api.py:100 913s Mar 16 01:41:45 And postgres-1 is a leader after 5 seconds # features/steps/patroni_api.py:31 913s Mar 16 01:41:45 And postgres-1 role is the primary after 10 seconds # features/steps/basic_replication.py:117 914s Mar 16 01:41:46 And postgres-0 role is the secondary after 10 seconds # features/steps/basic_replication.py:117 919s Mar 16 01:41:51 And replication works from postgres-1 to postgres-0 after 20 seconds # features/steps/basic_replication.py:124 919s Mar 16 01:41:51 And "members/postgres-0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 920s Mar 16 01:41:52 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:63 920s Mar 16 01:41:52 Then I receive a response code 503 # features/steps/patroni_api.py:100 920s Mar 16 01:41:52 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:63 920s Mar 16 01:41:52 Then I receive a response code 200 # features/steps/patroni_api.py:100 920s Mar 16 01:41:52 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:63 920s Mar 16 01:41:52 Then I receive a response code 200 # features/steps/patroni_api.py:100 920s Mar 16 01:41:52 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:63 920s Mar 16 01:41:52 Then I receive a response code 503 # features/steps/patroni_api.py:100 920s Mar 16 01:41:52 920s Mar 16 01:41:52 Scenario: check the scheduled switchover # features/patroni_api.feature:107 920s Mar 16 01:41:52 Given I issue a scheduled switchover from postgres-1 to postgres-0 in 10 seconds # features/steps/patroni_api.py:119 922s Mar 16 01:41:54 Then I receive a response returncode 1 # features/steps/patroni_api.py:100 922s Mar 16 01:41:54 And I receive a response output "Can't schedule switchover in the paused state" # features/steps/patroni_api.py:100 922s Mar 16 01:41:54 When I run patronictl.py resume batman # features/steps/patroni_api.py:88 923s Mar 16 01:41:55 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 923s Mar 16 01:41:55 Given I issue a scheduled switchover from postgres-1 to postgres-0 in 10 seconds # features/steps/patroni_api.py:119 924s Mar 16 01:41:56 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 924s Mar 16 01:41:56 And postgres-0 is a leader after 20 seconds # features/steps/patroni_api.py:31 934s Mar 16 01:42:06 And postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 935s Mar 16 01:42:07 And postgres-1 role is the secondary after 10 seconds # features/steps/basic_replication.py:117 937s Mar 16 01:42:09 And replication works from postgres-0 to postgres-1 after 25 seconds # features/steps/basic_replication.py:124 937s Mar 16 01:42:09 And "members/postgres-1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 939s Mar 16 01:42:11 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:63 940s Mar 16 01:42:11 Then I receive a response code 200 # features/steps/patroni_api.py:100 940s Mar 16 01:42:11 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:63 940s Mar 16 01:42:12 Then I receive a response code 503 # features/steps/patroni_api.py:100 940s Mar 16 01:42:12 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:63 940s Mar 16 01:42:12 Then I receive a response code 503 # features/steps/patroni_api.py:100 940s Mar 16 01:42:12 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:63 940s Mar 16 01:42:12 Then I receive a response code 200 # features/steps/patroni_api.py:100 944s Mar 16 01:42:16 944s Mar 16 01:42:16 Feature: permanent slots # features/permanent_slots.feature:1 944s Mar 16 01:42:16 944s Mar 16 01:42:16 Scenario: check that physical permanent slots are created # features/permanent_slots.feature:2 944s Mar 16 01:42:16 Given I start postgres-0 # features/steps/basic_replication.py:20 949s Mar 16 01:42:21 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 949s Mar 16 01:42:21 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 949s Mar 16 01:42:21 When I issue a PATCH request to http://127.0.0.1:8008/config with {"slots":{"test_physical":0,"postgres_3":0},"postgresql":{"parameters":{"wal_level":"logical"}}} # features/steps/patroni_api.py:73 949s Mar 16 01:42:21 Then I receive a response code 200 # features/steps/patroni_api.py:100 949s Mar 16 01:42:21 And Response on GET http://127.0.0.1:8008/config contains slots after 10 seconds # features/steps/patroni_api.py:158 949s Mar 16 01:42:21 When I start postgres-1 # features/steps/basic_replication.py:20 953s Mar 16 01:42:25 And I configure and start postgres-2 with a tag nofailover true # features/steps/cascading_replication.py:7 958s Mar 16 01:42:30 And I configure and start postgres-3 with a tag replicatefrom postgres-2 # features/steps/cascading_replication.py:7 963s Mar 16 01:42:35 Then postgres-0 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:82 963s Mar 16 01:42:35 And postgres-0 has a physical replication slot named postgres_1 after 10 seconds # features/steps/slots.py:82 963s Mar 16 01:42:35 And postgres-0 has a physical replication slot named postgres_2 after 10 seconds # features/steps/slots.py:82 963s Mar 16 01:42:35 And postgres-2 has a physical replication slot named postgres_3 after 10 seconds # features/steps/slots.py:82 963s Mar 16 01:42:35 And postgres-2 does not have a replication slot named test_physical # features/steps/slots.py:41 963s Mar 16 01:42:35 963s Mar 16 01:42:35 @slot-advance 963s Mar 16 01:42:35 Scenario: check that logical permanent slots are created # features/permanent_slots.feature:19 963s Mar 16 01:42:35 Given I run patronictl.py restart batman postgres-0 --force # features/steps/patroni_api.py:88 965s Mar 16 01:42:37 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 965s Mar 16 01:42:37 Then postgres-0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:20 966s Mar 16 01:42:38 966s Mar 16 01:42:38 @slot-advance 966s Mar 16 01:42:38 Scenario: check that permanent slots are created on replicas # features/permanent_slots.feature:25 966s Mar 16 01:42:38 Given postgres-1 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:20 971s Mar 16 01:42:43 Then Logical slot test_logical is in sync between postgres-0 and postgres-1 after 10 seconds # features/steps/slots.py:52 971s Mar 16 01:42:43 And Logical slot test_logical is in sync between postgres-0 and postgres-3 after 10 seconds # features/steps/slots.py:52 972s Mar 16 01:42:44 And postgres-1 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:82 972s Mar 16 01:42:44 And postgres-2 does not have a replication slot named test_logical # features/steps/slots.py:41 972s Mar 16 01:42:44 And postgres-3 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:82 972s Mar 16 01:42:44 972s Mar 16 01:42:44 @slot-advance 972s Mar 16 01:42:44 Scenario: check permanent physical slots that match with member names # features/permanent_slots.feature:34 972s Mar 16 01:42:44 Given postgres-0 has a physical replication slot named postgres_3 after 2 seconds # features/steps/slots.py:82 972s Mar 16 01:42:44 And postgres-1 has a physical replication slot named postgres_0 after 2 seconds # features/steps/slots.py:82 972s Mar 16 01:42:44 And postgres-1 has a physical replication slot named postgres_2 after 2 seconds # features/steps/slots.py:82 972s Mar 16 01:42:44 And postgres-1 has a physical replication slot named postgres_3 after 2 seconds # features/steps/slots.py:82 972s Mar 16 01:42:44 And postgres-2 does not have a replication slot named postgres_0 # features/steps/slots.py:41 972s Mar 16 01:42:44 And postgres-2 does not have a replication slot named postgres_1 # features/steps/slots.py:41 972s Mar 16 01:42:44 And postgres-2 has a physical replication slot named postgres_3 after 2 seconds # features/steps/slots.py:82 972s Mar 16 01:42:44 And postgres-3 has a physical replication slot named postgres_0 after 2 seconds # features/steps/slots.py:82 972s Mar 16 01:42:44 And postgres-3 has a physical replication slot named postgres_1 after 2 seconds # features/steps/slots.py:82 972s Mar 16 01:42:44 And postgres-3 has a physical replication slot named postgres_2 after 2 seconds # features/steps/slots.py:82 972s Mar 16 01:42:44 972s Mar 16 01:42:44 @slot-advance 972s Mar 16 01:42:44 Scenario: check that permanent slots are advanced on replicas # features/permanent_slots.feature:47 972s Mar 16 01:42:44 Given I add the table replicate_me to postgres-0 # features/steps/basic_replication.py:66 972s Mar 16 01:42:44 When I get all changes from logical slot test_logical on postgres-0 # features/steps/slots.py:72 972s Mar 16 01:42:44 And I get all changes from physical slot test_physical on postgres-0 # features/steps/slots.py:77 972s Mar 16 01:42:44 Then Logical slot test_logical is in sync between postgres-0 and postgres-1 after 10 seconds # features/steps/slots.py:52 973s Mar 16 01:42:45 And Physical slot test_physical is in sync between postgres-0 and postgres-1 after 10 seconds # features/steps/slots.py:52 973s Mar 16 01:42:45 And Logical slot test_logical is in sync between postgres-0 and postgres-3 after 10 seconds # features/steps/slots.py:52 973s Mar 16 01:42:45 And Physical slot test_physical is in sync between postgres-0 and postgres-3 after 10 seconds # features/steps/slots.py:52 973s Mar 16 01:42:45 And Physical slot postgres_1 is in sync between postgres-0 and postgres-3 after 10 seconds # features/steps/slots.py:52 973s Mar 16 01:42:45 And Physical slot postgres_3 is in sync between postgres-2 and postgres-0 after 20 seconds # features/steps/slots.py:52 975s Mar 16 01:42:47 And Physical slot postgres_3 is in sync between postgres-2 and postgres-1 after 10 seconds # features/steps/slots.py:52 976s Mar 16 01:42:48 976s Mar 16 01:42:48 @slot-advance 976s Mar 16 01:42:48 Scenario: check that permanent slots and member slots are written to the /status key # features/permanent_slots.feature:60 976s Mar 16 01:42:48 Given "status" key in DCS has test_physical in slots # features/steps/slots.py:118 976s Mar 16 01:42:48 And "status" key in DCS has postgres_0 in slots # features/steps/slots.py:118 976s Mar 16 01:42:48 And "status" key in DCS has postgres_1 in slots # features/steps/slots.py:118 976s Mar 16 01:42:48 And "status" key in DCS has postgres_2 in slots # features/steps/slots.py:118 976s Mar 16 01:42:48 And "status" key in DCS has postgres_3 in slots # features/steps/slots.py:118 976s Mar 16 01:42:48 976s Mar 16 01:42:48 @slot-advance 976s Mar 16 01:42:48 Scenario: check that only non-permanent member slots are written to the retain_slots in /status key # features/permanent_slots.feature:68 976s Mar 16 01:42:48 Given "status" key in DCS has postgres_0 in retain_slots # features/steps/slots.py:118 976s Mar 16 01:42:48 And "status" key in DCS has postgres_1 in retain_slots # features/steps/slots.py:118 976s Mar 16 01:42:48 And "status" key in DCS has postgres_2 in retain_slots # features/steps/slots.py:118 976s Mar 16 01:42:48 And "status" key in DCS does not have postgres_3 in retain_slots # features/steps/slots.py:124 976s Mar 16 01:42:48 976s Mar 16 01:42:48 Scenario: check permanent physical replication slot after failover # features/permanent_slots.feature:74 976s Mar 16 01:42:48 Given I shut down postgres-3 # features/steps/basic_replication.py:41 977s Mar 16 01:42:49 And I shut down postgres-2 # features/steps/basic_replication.py:41 978s Mar 16 01:42:50 And I shut down postgres-0 # features/steps/basic_replication.py:41 980s Mar 16 01:42:52 Then postgres-1 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:82 980s Mar 16 01:42:52 And postgres-1 has a physical replication slot named postgres_0 after 10 seconds # features/steps/slots.py:82 980s Mar 16 01:42:52 And postgres-1 has a physical replication slot named postgres_3 after 10 seconds # features/steps/slots.py:82 980s Mar 16 01:42:52 When I start postgres-0 # features/steps/basic_replication.py:20 983s Mar 16 01:42:55 Then postgres-0 role is the replica after 20 seconds # features/steps/basic_replication.py:117 983s Mar 16 01:42:55 And physical replication slot named postgres_1 on postgres-0 has no xmin value after 10 seconds # features/steps/slots.py:98 984s Mar 16 01:42:56 And postgres-0 has a physical replication slot named postgres_2 after 10 seconds # features/steps/slots.py:82 984s Mar 16 01:42:56 And postgres-0 has a physical replication slot named postgres_3 after 10 seconds # features/steps/slots.py:82 988s Mar 16 01:43:00 988s Mar 16 01:43:00 Feature: priority replication # features/priority_failover.feature:1 988s Mar 16 01:43:00 We should check that we can give nodes priority during failover 988s Mar 16 01:43:00 Scenario: check failover priority 0 prevents leaderships # features/priority_failover.feature:4 988s Mar 16 01:43:00 Given I configure and start postgres-0 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 993s Mar 16 01:43:05 And I configure and start postgres-1 with a tag failover_priority 0 # features/steps/cascading_replication.py:7 998s Mar 16 01:43:10 Then replication works from postgres-0 to postgres-1 after 20 seconds # features/steps/basic_replication.py:124 998s Mar 16 01:43:10 When I shut down postgres-0 # features/steps/basic_replication.py:41 1000s Mar 16 01:43:12 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 1002s Mar 16 01:43:14 Then postgres-1 role is the secondary after 10 seconds # features/steps/basic_replication.py:117 1002s Mar 16 01:43:14 When I start postgres-0 # features/steps/basic_replication.py:20 1005s Mar 16 01:43:17 Then postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 1007s Mar 16 01:43:19 1007s Mar 16 01:43:19 Scenario: check higher failover priority is respected # features/priority_failover.feature:14 1007s Mar 16 01:43:19 Given I configure and start postgres-2 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 1012s Mar 16 01:43:24 And I configure and start postgres-3 with a tag failover_priority 2 # features/steps/cascading_replication.py:7 1017s Mar 16 01:43:29 Then replication works from postgres-0 to postgres-2 after 20 seconds # features/steps/basic_replication.py:124 1018s Mar 16 01:43:30 And replication works from postgres-0 to postgres-3 after 20 seconds # features/steps/basic_replication.py:124 1019s Mar 16 01:43:31 When I shut down postgres-0 # features/steps/basic_replication.py:41 1021s Mar 16 01:43:33 Then postgres-3 role is the primary after 10 seconds # features/steps/basic_replication.py:117 1022s Mar 16 01:43:34 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 1022s Mar 16 01:43:34 1022s Mar 16 01:43:34 Scenario: check conflicting configuration handling # features/priority_failover.feature:23 1022s Mar 16 01:43:34 When I set nofailover tag in postgres-2 config # features/steps/patroni_api.py:133 1022s Mar 16 01:43:34 And I issue an empty POST request to http://127.0.0.1:8010/reload # features/steps/patroni_api.py:68 1022s Mar 16 01:43:34 Then I receive a response code 202 # features/steps/patroni_api.py:100 1022s Mar 16 01:43:34 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 1024s Mar 16 01:43:36 And "members/postgres-2" key in DCS has tags={'failover_priority': '1', 'nofailover': True} after 10 seconds # features/steps/cascading_replication.py:23 1026s Mar 16 01:43:38 When I issue a POST request to http://127.0.0.1:8010/failover with {"candidate": "postgres-2"} # features/steps/patroni_api.py:73 1026s Mar 16 01:43:38 Then I receive a response code 412 # features/steps/patroni_api.py:100 1026s Mar 16 01:43:38 And I receive a response text "failover is not possible: no good candidates have been found" # features/steps/patroni_api.py:100 1026s Mar 16 01:43:38 When I reset nofailover tag in postgres-1 config # features/steps/patroni_api.py:133 1026s Mar 16 01:43:38 And I issue an empty POST request to http://127.0.0.1:8009/reload # features/steps/patroni_api.py:68 1026s Mar 16 01:43:38 Then I receive a response code 202 # features/steps/patroni_api.py:100 1026s Mar 16 01:43:38 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 1027s Mar 16 01:43:39 And "members/postgres-1" key in DCS has tags={'failover_priority': '0', 'nofailover': False} after 10 seconds # features/steps/cascading_replication.py:23 1028s Mar 16 01:43:40 And I issue a POST request to http://127.0.0.1:8009/failover with {"candidate": "postgres-1"} # features/steps/patroni_api.py:73 1032s Mar 16 01:43:44 Then I receive a response code 200 # features/steps/patroni_api.py:100 1032s Mar 16 01:43:44 And postgres-1 role is the primary after 10 seconds # features/steps/basic_replication.py:117 1037s Mar 16 01:43:49 1037s Mar 16 01:43:49 Feature: quorum commit # features/quorum_commit.feature:1 1037s Mar 16 01:43:49 Check basic workfrlows when quorum commit is enabled 1037s Mar 16 01:43:49 Scenario: check enable quorum commit and that the only leader promotes after restart # features/quorum_commit.feature:4 1037s Mar 16 01:43:49 Given I start postgres-0 # features/steps/basic_replication.py:20 1042s Mar 16 01:43:54 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 1043s Mar 16 01:43:55 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1043s Mar 16 01:43:55 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 1043s Mar 16 01:43:55 Then I receive a response code 200 # features/steps/patroni_api.py:100 1043s Mar 16 01:43:55 And sync key in DCS has leader=postgres-0 after 20 seconds # features/steps/quorum_commit.py:8 1044s Mar 16 01:43:56 And sync key in DCS has quorum=0 after 2 seconds # features/steps/quorum_commit.py:8 1044s Mar 16 01:43:56 And synchronous_standby_names on postgres-0 is set to '_empty_str_' after 2 seconds # features/steps/quorum_commit.py:39 1044s Mar 16 01:43:56 When I shut down postgres-0 # features/steps/basic_replication.py:41 1046s Mar 16 01:43:58 And sync key in DCS has leader=postgres-0 after 2 seconds # features/steps/quorum_commit.py:8 1046s Mar 16 01:43:58 When I start postgres-0 # features/steps/basic_replication.py:20 1049s Mar 16 01:44:01 Then postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 1050s Mar 16 01:44:02 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 1050s Mar 16 01:44:02 Then synchronous_standby_names on postgres-0 is set to 'ANY 1 (*)' after 10 seconds # features/steps/quorum_commit.py:39 1051s Mar 16 01:44:03 1051s Mar 16 01:44:03 Scenario: check failover with one quorum standby # features/quorum_commit.feature:20 1051s Mar 16 01:44:03 Given I start postgres-1 # features/steps/basic_replication.py:20 1056s Mar 16 01:44:08 Then sync key in DCS has sync_standby=postgres-1 after 10 seconds # features/steps/quorum_commit.py:8 1058s Mar 16 01:44:10 And synchronous_standby_names on postgres-0 is set to 'ANY 1 ("postgres-1")' after 2 seconds # features/steps/quorum_commit.py:39 1058s Mar 16 01:44:10 When I shut down postgres-0 # features/steps/basic_replication.py:41 1060s Mar 16 01:44:12 Then postgres-1 role is the primary after 10 seconds # features/steps/basic_replication.py:117 1061s Mar 16 01:44:13 And sync key in DCS has quorum=0 after 10 seconds # features/steps/quorum_commit.py:8 1061s Mar 16 01:44:13 Then synchronous_standby_names on postgres-1 is set to 'ANY 1 (*)' after 10 seconds # features/steps/quorum_commit.py:39 1064s Mar 16 01:44:16 When I start postgres-0 # features/steps/basic_replication.py:20 1067s Mar 16 01:44:19 Then sync key in DCS has leader=postgres-1 after 10 seconds # features/steps/quorum_commit.py:8 1067s Mar 16 01:44:19 Then sync key in DCS has sync_standby=postgres-0 after 10 seconds # features/steps/quorum_commit.py:8 1069s Mar 16 01:44:21 And synchronous_standby_names on postgres-1 is set to 'ANY 1 ("postgres-0")' after 2 seconds # features/steps/quorum_commit.py:39 1069s Mar 16 01:44:21 1069s Mar 16 01:44:21 Scenario: check behavior with three nodes and different replication factor # features/quorum_commit.feature:33 1069s Mar 16 01:44:21 Given I start postgres-2 # features/steps/basic_replication.py:20 1074s Mar 16 01:44:26 Then sync key in DCS has sync_standby=postgres-0,postgres-2 after 10 seconds # features/steps/quorum_commit.py:8 1075s Mar 16 01:44:27 And sync key in DCS has quorum=1 after 2 seconds # features/steps/quorum_commit.py:8 1075s Mar 16 01:44:27 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 1075s Mar 16 01:44:27 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 1075s Mar 16 01:44:27 Then sync key in DCS has quorum=0 after 10 seconds # features/steps/quorum_commit.py:8 1076s Mar 16 01:44:28 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 1076s Mar 16 01:44:28 1076s Mar 16 01:44:28 Scenario: switch from quorum replication to good old multisync and back # features/quorum_commit.feature:42 1076s Mar 16 01:44:28 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 1076s Mar 16 01:44:28 And I shut down postgres-0 # features/steps/basic_replication.py:41 1077s Mar 16 01:44:29 Then synchronous_standby_names on postgres-1 is set to '"postgres-2"' after 10 seconds # features/steps/quorum_commit.py:39 1079s Mar 16 01:44:31 And sync key in DCS has sync_standby=postgres-2 after 10 seconds # features/steps/quorum_commit.py:8 1081s Mar 16 01:44:33 Then sync key in DCS has quorum=0 after 2 seconds # features/steps/quorum_commit.py:8 1081s Mar 16 01:44:33 When I issue a PATCH request to http://127.0.0.1:8009/config with {"synchronous_mode": "quorum"} # features/steps/patroni_api.py:73 1081s Mar 16 01:44:33 And I start postgres-0 # features/steps/basic_replication.py:20 1084s Mar 16 01:44:36 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 1086s Mar 16 01:44:38 And sync key in DCS has sync_standby=postgres-0,postgres-2 after 10 seconds # features/steps/quorum_commit.py:8 1086s Mar 16 01:44:38 Then sync key in DCS has quorum=1 after 2 seconds # features/steps/quorum_commit.py:8 1086s Mar 16 01:44:38 1086s Mar 16 01:44:38 Scenario: REST API and patronictl # features/quorum_commit.feature:54 1086s Mar 16 01:44:38 Given I run patronictl.py list batman # features/steps/patroni_api.py:88 1088s Mar 16 01:44:40 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 1088s Mar 16 01:44:40 And I receive a response output "Quorum Standby" # features/steps/patroni_api.py:100 1088s Mar 16 01:44:40 And Status code on GET http://127.0.0.1:8008/quorum is 200 after 3 seconds # features/steps/patroni_api.py:144 1088s Mar 16 01:44:40 And Status code on GET http://127.0.0.1:8010/quorum is 200 after 3 seconds # features/steps/patroni_api.py:144 1088s Mar 16 01:44:40 1088s Mar 16 01:44:40 Scenario: nosync node is removed from voters and synchronous_standby_names # features/quorum_commit.feature:61 1088s Mar 16 01:44:40 Given I add tag nosync true to postgres-2 config # features/steps/patroni_api.py:139 1088s Mar 16 01:44:40 When I issue an empty POST request to http://127.0.0.1:8010/reload # features/steps/patroni_api.py:68 1088s Mar 16 01:44:40 Then I receive a response code 202 # features/steps/patroni_api.py:100 1088s Mar 16 01:44:40 And sync key in DCS has quorum=0 after 10 seconds # features/steps/quorum_commit.py:8 1090s Mar 16 01:44:42 And sync key in DCS has sync_standby=postgres-0 after 10 seconds # features/steps/quorum_commit.py:8 1090s Mar 16 01:44:42 And synchronous_standby_names on postgres-1 is set to 'ANY 1 ("postgres-0")' after 2 seconds # features/steps/quorum_commit.py:39 1090s Mar 16 01:44:42 And Status code on GET http://127.0.0.1:8010/quorum is 503 after 10 seconds # features/steps/patroni_api.py:144 1097s Mar 16 01:44:49 1097s Mar 16 01:44:49 Feature: recovery # features/recovery.feature:1 1097s Mar 16 01:44:49 We want to check that crashed postgres is started back 1097s Mar 16 01:44:49 Scenario: check that timeline is not incremented when primary is started after crash # features/recovery.feature:4 1097s Mar 16 01:44:49 Given I start postgres-0 # features/steps/basic_replication.py:20 1102s Mar 16 01:44:54 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 1102s Mar 16 01:44:54 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1102s Mar 16 01:44:54 When I start postgres-1 # features/steps/basic_replication.py:20 1107s Mar 16 01:44:59 And I add the table foo to postgres-0 # features/steps/basic_replication.py:66 1107s Mar 16 01:44:59 Then table foo is present on postgres-1 after 20 seconds # features/steps/basic_replication.py:105 1108s Mar 16 01:45:00 When I kill postmaster on postgres-0 # features/steps/basic_replication.py:56 1108s Mar 16 01:45:00 waiting for server to shut down.... done 1108s Mar 16 01:45:00 server stopped 1109s Mar 16 01:45:00 Then postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 1112s Mar 16 01:45:04 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:63 1112s Mar 16 01:45:04 Then I receive a response code 200 # features/steps/patroni_api.py:100 1112s Mar 16 01:45:04 And I receive a response role primary # features/steps/patroni_api.py:100 1112s Mar 16 01:45:04 And I receive a response timeline 1 # features/steps/patroni_api.py:100 1112s Mar 16 01:45:04 And "members/postgres-0" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 1112s Mar 16 01:45:04 And replication works from postgres-0 to postgres-1 after 15 seconds # features/steps/basic_replication.py:124 1115s Mar 16 01:45:07 1115s Mar 16 01:45:07 Scenario: check immediate failover when master_start_timeout=0 # features/recovery.feature:20 1115s Mar 16 01:45:07 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"master_start_timeout": 0} # features/steps/patroni_api.py:73 1115s Mar 16 01:45:07 Then I receive a response code 200 # features/steps/patroni_api.py:100 1115s Mar 16 01:45:07 And Response on GET http://127.0.0.1:8008/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:158 1115s Mar 16 01:45:07 When I kill postmaster on postgres-0 # features/steps/basic_replication.py:56 1115s Mar 16 01:45:07 waiting for server to shut down.... done 1115s Mar 16 01:45:07 server stopped 1115s Mar 16 01:45:07 Then postgres-1 is a leader after 10 seconds # features/steps/patroni_api.py:31 1120s Mar 16 01:45:12 And postgres-1 role is the primary after 10 seconds # features/steps/basic_replication.py:117 1120s Mar 16 01:45:12 1120s Mar 16 01:45:12 Scenario: check crashed primary demotes after failed attempt to start # features/recovery.feature:28 1120s Mar 16 01:45:12 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 1120s Mar 16 01:45:12 Then I receive a response code 200 # features/steps/patroni_api.py:100 1120s Mar 16 01:45:12 And postgres-0 role is the replica after 10 seconds # features/steps/basic_replication.py:117 1122s Mar 16 01:45:14 When I ensure postgres-1 fails to start after a failure # features/steps/recovery.py:6 1122s Mar 16 01:45:14 When I kill postmaster on postgres-1 # features/steps/basic_replication.py:56 1122s Mar 16 01:45:14 waiting for server to shut down.... done 1122s Mar 16 01:45:14 server stopped 1122s Mar 16 01:45:14 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 1123s Mar 16 01:45:15 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 1126s Mar 16 01:45:18 1126s Mar 16 01:45:18 Feature: standby cluster # features/standby_cluster.feature:1 1126s Mar 16 01:45:18 1126s Mar 16 01:45:18 Scenario: prepare the cluster with logical slots # features/standby_cluster.feature:2 1126s Mar 16 01:45:18 Given I start postgres-1 # features/steps/basic_replication.py:20 1131s Mar 16 01:45:23 Then postgres-1 is a leader after 10 seconds # features/steps/patroni_api.py:31 1131s Mar 16 01:45:23 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1131s Mar 16 01:45:23 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 1131s Mar 16 01:45:23 Then I receive a response code 200 # features/steps/patroni_api.py:100 1131s Mar 16 01:45:23 And Response on GET http://127.0.0.1:8009/config contains slots after 10 seconds # features/steps/patroni_api.py:158 1131s Mar 16 01:45:23 And I sleep for 3 seconds # features/steps/patroni_api.py:41 1134s Mar 16 01:45:26 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 1134s Mar 16 01:45:26 Then I receive a response code 200 # features/steps/patroni_api.py:100 1134s Mar 16 01:45:26 And I do a backup of postgres-1 # features/steps/custom_bootstrap.py:25 1136s Mar 16 01:45:28 When I start postgres-0 # features/steps/basic_replication.py:20 1141s Mar 16 01:45:33 Then "members/postgres-0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1142s Mar 16 01:45:34 And replication works from postgres-1 to postgres-0 after 15 seconds # features/steps/basic_replication.py:124 1142s Mar 16 01:45:34 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:63 1142s Mar 16 01:45:34 Then I receive a response code 200 # features/steps/patroni_api.py:100 1142s Mar 16 01:45:34 And I receive a response replication_state streaming # features/steps/patroni_api.py:100 1142s Mar 16 01:45:34 And "members/postgres-0" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 1142s Mar 16 01:45:34 1142s Mar 16 01:45:34 @slot-advance 1142s Mar 16 01:45:34 Scenario: check permanent logical slots are synced to the replica # features/standby_cluster.feature:22 1142s Mar 16 01:45:34 Given I run patronictl.py restart batman postgres-1 --force # features/steps/patroni_api.py:88 1144s Mar 16 01:45:36 Then Logical slot test_logical is in sync between postgres-0 and postgres-1 after 10 seconds # features/steps/slots.py:52 1150s Mar 16 01:45:42 1150s Mar 16 01:45:42 Scenario: Detach exiting node from the cluster # features/standby_cluster.feature:26 1150s Mar 16 01:45:42 When I shut down postgres-1 # features/steps/basic_replication.py:41 1152s Mar 16 01:45:44 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 1152s Mar 16 01:45:44 And "members/postgres-0" key in DCS has role=primary after 5 seconds # features/steps/cascading_replication.py:23 1153s Mar 16 01:45:45 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:63 1153s Mar 16 01:45:45 Then I receive a response code 200 # features/steps/patroni_api.py:100 1153s Mar 16 01:45:45 1153s Mar 16 01:45:45 Scenario: check replication of a single table in a standby cluster # features/standby_cluster.feature:33 1153s Mar 16 01:45:45 Given I start postgres-1 in a standby cluster batman1 as a clone of postgres-0 # features/steps/standby_cluster.py:23 1156s Mar 16 01:45:48 Then postgres-1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 1157s Mar 16 01:45:49 When I add the table foo to postgres-0 # features/steps/basic_replication.py:66 1157s Mar 16 01:45:49 Then table foo is present on postgres-1 after 20 seconds # features/steps/basic_replication.py:105 1157s Mar 16 01:45:49 When I issue a GET request to http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:63 1157s Mar 16 01:45:49 Then I receive a response code 200 # features/steps/patroni_api.py:100 1157s Mar 16 01:45:49 And I receive a response replication_state streaming # features/steps/patroni_api.py:100 1157s Mar 16 01:45:49 And I sleep for 3 seconds # features/steps/patroni_api.py:41 1160s Mar 16 01:45:52 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:63 1161s Mar 16 01:45:53 Then I receive a response code 503 # features/steps/patroni_api.py:100 1161s Mar 16 01:45:53 When I issue a GET request to http://127.0.0.1:8009/standby_leader # features/steps/patroni_api.py:63 1161s Mar 16 01:45:53 Then I receive a response code 200 # features/steps/patroni_api.py:100 1161s Mar 16 01:45:53 And I receive a response role standby_leader # features/steps/patroni_api.py:100 1161s Mar 16 01:45:53 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 1161s Mar 16 01:45:53 When I start postgres-2 in a cluster batman1 # features/steps/standby_cluster.py:12 1166s Mar 16 01:45:58 Then postgres-2 role is the replica after 24 seconds # features/steps/basic_replication.py:117 1166s Mar 16 01:45:58 And postgres-2 is replicating from postgres-1 after 10 seconds # features/steps/standby_cluster.py:52 1166s Mar 16 01:45:58 And table foo is present on postgres-2 after 20 seconds # features/steps/basic_replication.py:105 1166s Mar 16 01:45:58 When I issue a GET request to http://127.0.0.1:8010/patroni # features/steps/patroni_api.py:63 1166s Mar 16 01:45:58 Then I receive a response code 200 # features/steps/patroni_api.py:100 1166s Mar 16 01:45:58 And I receive a response replication_state streaming # features/steps/patroni_api.py:100 1166s Mar 16 01:45:58 And postgres-1 does not have a replication slot named test_logical # features/steps/slots.py:41 1166s Mar 16 01:45:58 1166s Mar 16 01:45:58 Scenario: check switchover # features/standby_cluster.feature:57 1166s Mar 16 01:45:58 Given I run patronictl.py switchover batman1 --force # features/steps/patroni_api.py:88 1169s Mar 16 01:46:01 Then Status code on GET http://127.0.0.1:8010/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:144 1169s Mar 16 01:46:01 And postgres-1 is replicating from postgres-2 after 32 seconds # features/steps/standby_cluster.py:52 1171s Mar 16 01:46:03 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 1171s Mar 16 01:46:03 1171s Mar 16 01:46:03 Scenario: check failover # features/standby_cluster.feature:63 1171s Mar 16 01:46:03 When I kill postgres-2 # features/steps/basic_replication.py:46 1172s Mar 16 01:46:04 And I kill postmaster on postgres-2 # features/steps/basic_replication.py:56 1172s Mar 16 01:46:04 waiting for server to shut down.... done 1172s Mar 16 01:46:04 server stopped 1172s Mar 16 01:46:04 Then postgres-1 is replicating from postgres-0 after 32 seconds # features/steps/standby_cluster.py:52 1191s Mar 16 01:46:23 And Status code on GET http://127.0.0.1:8009/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:144 1191s Mar 16 01:46:23 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:63 1191s Mar 16 01:46:23 Then I receive a response code 503 # features/steps/patroni_api.py:100 1191s Mar 16 01:46:23 And I receive a response role standby_leader # features/steps/patroni_api.py:100 1191s Mar 16 01:46:23 And replication works from postgres-0 to postgres-1 after 15 seconds # features/steps/basic_replication.py:124 1192s Mar 16 01:46:24 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 1197s Mar 16 01:46:29 1197s Mar 16 01:46:29 Feature: watchdog # features/watchdog.feature:1 1197s Mar 16 01:46:29 Verify that watchdog gets pinged and triggered under appropriate circumstances. 1197s Mar 16 01:46:29 Scenario: watchdog is opened and pinged # features/watchdog.feature:4 1197s Mar 16 01:46:29 Given I start postgres-0 with watchdog # features/steps/watchdog.py:17 1202s Mar 16 01:46:34 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 1202s Mar 16 01:46:34 And postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 1202s Mar 16 01:46:34 And postgres-0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:22 1203s Mar 16 01:46:35 And postgres-0 watchdog has a 15 second timeout # features/steps/watchdog.py:35 1203s Mar 16 01:46:35 1203s Mar 16 01:46:35 Scenario: watchdog is reconfigured after global ttl changed # features/watchdog.feature:11 1203s Mar 16 01:46:35 Given I run patronictl.py edit-config batman -s ttl=30 --force # features/steps/patroni_api.py:88 1204s Mar 16 01:46:36 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 1204s Mar 16 01:46:36 And I receive a response output "+ttl: 30" # features/steps/patroni_api.py:100 1204s Mar 16 01:46:36 When I sleep for 4 seconds # features/steps/patroni_api.py:41 1208s Mar 16 01:46:40 Then postgres-0 watchdog has a 25 second timeout # features/steps/watchdog.py:35 1208s Mar 16 01:46:40 1208s Mar 16 01:46:40 Scenario: watchdog is disabled during pause # features/watchdog.feature:18 1208s Mar 16 01:46:40 Given I run patronictl.py pause batman # features/steps/patroni_api.py:88 1210s Mar 16 01:46:42 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 1210s Mar 16 01:46:42 When I sleep for 2 seconds # features/steps/patroni_api.py:41 1212s Mar 16 01:46:44 Then postgres-0 watchdog has been closed # features/steps/watchdog.py:30 1212s Mar 16 01:46:44 1212s Mar 16 01:46:44 Scenario: watchdog is opened and pinged after resume # features/watchdog.feature:24 1212s Mar 16 01:46:44 Given I reset postgres-0 watchdog state # features/steps/watchdog.py:40 1212s Mar 16 01:46:44 And I run patronictl.py resume batman # features/steps/patroni_api.py:88 1213s Mar 16 01:46:45 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 1213s Mar 16 01:46:45 And postgres-0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:22 1214s Mar 16 01:46:46 1214s Mar 16 01:46:46 Scenario: watchdog is disabled when shutting down # features/watchdog.feature:30 1214s Mar 16 01:46:46 Given I shut down postgres-0 # features/steps/basic_replication.py:41 1216s Mar 16 01:46:48 Then postgres-0 watchdog has been closed # features/steps/watchdog.py:30 1216s Mar 16 01:46:48 1216s Mar 16 01:46:48 Scenario: watchdog is triggered if patroni stops responding # features/watchdog.feature:34 1216s Mar 16 01:46:48 Given I reset postgres-0 watchdog state # features/steps/watchdog.py:40 1216s Mar 16 01:46:48 And I start postgres-0 with watchdog # features/steps/watchdog.py:17 1219s Mar 16 01:46:51 Then postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 1221s Mar 16 01:46:53 When postgres-0 hangs for 30 seconds # features/steps/watchdog.py:53 1221s Mar 16 01:46:53 Then postgres-0 watchdog is triggered after 30 seconds # features/steps/watchdog.py:45 1248s Mar 16 01:47:20 1249s Mar 16 01:47:21 Combined data file .coverage.autopkgtest-lxd-gjcrjt.4090.XERsdqCx 1249s Mar 16 01:47:21 Combined data file .coverage.autopkgtest-lxd-gjcrjt.4135.XxZsjxnx 1249s Mar 16 01:47:21 Combined data file .coverage.autopkgtest-lxd-gjcrjt.4183.XPZraFox 1249s Mar 16 01:47:21 Combined data file .coverage.autopkgtest-lxd-gjcrjt.4234.XaJjNOfx 1249s Mar 16 01:47:21 Combined data file .coverage.autopkgtest-lxd-gjcrjt.4281.XRNUDjax 1249s Mar 16 01:47:21 Combined data file .coverage.autopkgtest-lxd-gjcrjt.4355.XYyfnypx 1249s Mar 16 01:47:21 Combined data file .coverage.autopkgtest-lxd-gjcrjt.4406.XUfldpPx 1249s Mar 16 01:47:21 Combined data file .coverage.autopkgtest-lxd-gjcrjt.4409.XDOpwVyx 1249s Mar 16 01:47:21 Combined data file .coverage.autopkgtest-lxd-gjcrjt.4486.XrzdKbFx 1249s Mar 16 01:47:21 Combined data file .coverage.autopkgtest-lxd-gjcrjt.4593.XxqiUggx 1249s Mar 16 01:47:21 Combined data file .coverage.autopkgtest-lxd-gjcrjt.4607.XGrFaXOx 1249s Mar 16 01:47:21 Combined data file .coverage.autopkgtest-lxd-gjcrjt.4651.XCTJUvtx 1249s Mar 16 01:47:21 Combined data file .coverage.autopkgtest-lxd-gjcrjt.4702.XegPdgOx 1249s Mar 16 01:47:21 Combined data file .coverage.autopkgtest-lxd-gjcrjt.4812.XxBRXXCx 1249s Mar 16 01:47:21 Combined data file .coverage.autopkgtest-lxd-gjcrjt.4859.XqiXpCbx 1249s Mar 16 01:47:21 Combined data file .coverage.autopkgtest-lxd-gjcrjt.4916.XJGeBJUx 1249s Mar 16 01:47:21 Combined data file .coverage.autopkgtest-lxd-gjcrjt.5009.XwRzdJFx 1249s Mar 16 01:47:21 Combined data file .coverage.autopkgtest-lxd-gjcrjt.5060.XrtGqIrx 1249s Mar 16 01:47:21 Combined data file .coverage.autopkgtest-lxd-gjcrjt.5159.XexnTfhx 1249s Mar 16 01:47:21 Combined data file .coverage.autopkgtest-lxd-gjcrjt.5213.XFUNVzIx 1249s Mar 16 01:47:21 Combined data file .coverage.autopkgtest-lxd-gjcrjt.5276.XvhqwXox 1249s Mar 16 01:47:21 Combined data file .coverage.autopkgtest-lxd-gjcrjt.5366.XRZOcLbx 1249s Mar 16 01:47:21 Combined data file .coverage.autopkgtest-lxd-gjcrjt.5468.XNIWjFQx 1249s Mar 16 01:47:21 Combined data file .coverage.autopkgtest-lxd-gjcrjt.5512.XvcjSXrx 1249s Mar 16 01:47:21 Combined data file .coverage.autopkgtest-lxd-gjcrjt.5576.XEBffMgx 1249s Mar 16 01:47:21 Combined data file .coverage.autopkgtest-lxd-gjcrjt.5611.XAclZHIx 1249s Mar 16 01:47:21 Combined data file .coverage.autopkgtest-lxd-gjcrjt.5772.XasNiofx 1249s Mar 16 01:47:21 Combined data file .coverage.autopkgtest-lxd-gjcrjt.5824.XgCZcSCx 1249s Mar 16 01:47:21 Combined data file .coverage.autopkgtest-lxd-gjcrjt.5840.XsWZnVhx 1249s Mar 16 01:47:21 Combined data file .coverage.autopkgtest-lxd-gjcrjt.5879.XSPRUXXx 1249s Mar 16 01:47:21 Combined data file .coverage.autopkgtest-lxd-gjcrjt.5929.XCsmYjEx 1249s Mar 16 01:47:21 Combined data file .coverage.autopkgtest-lxd-gjcrjt.5934.XMHVPqzx 1249s Mar 16 01:47:21 Combined data file .coverage.autopkgtest-lxd-gjcrjt.5971.XXziVDcx 1249s Mar 16 01:47:21 Combined data file .coverage.autopkgtest-lxd-gjcrjt.6017.XnMabZOx 1249s Mar 16 01:47:21 Combined data file .coverage.autopkgtest-lxd-gjcrjt.6184.XbdQNCAx 1249s Mar 16 01:47:21 Combined data file .coverage.autopkgtest-lxd-gjcrjt.6186.XBYCjtBx 1249s Mar 16 01:47:21 Combined data file .coverage.autopkgtest-lxd-gjcrjt.6192.Xtzyhwwx 1249s Mar 16 01:47:21 Combined data file .coverage.autopkgtest-lxd-gjcrjt.6325.XgTPlapx 1249s Mar 16 01:47:21 Combined data file .coverage.autopkgtest-lxd-gjcrjt.6371.XuNsQwrx 1249s Mar 16 01:47:21 Combined data file .coverage.autopkgtest-lxd-gjcrjt.6412.XiGCcAkx 1249s Mar 16 01:47:21 Combined data file .coverage.autopkgtest-lxd-gjcrjt.6466.XODnOqax 1249s Mar 16 01:47:21 Combined data file .coverage.autopkgtest-lxd-gjcrjt.6512.XEEIEMIx 1249s Mar 16 01:47:21 Combined data file .coverage.autopkgtest-lxd-gjcrjt.6657.XdQFZdLx 1249s Mar 16 01:47:21 Combined data file .coverage.autopkgtest-lxd-gjcrjt.6724.Xrfggpyx 1249s Mar 16 01:47:21 Combined data file .coverage.autopkgtest-lxd-gjcrjt.6768.XufiinWx 1249s Mar 16 01:47:21 Combined data file .coverage.autopkgtest-lxd-gjcrjt.6841.XEKFueHx 1249s Mar 16 01:47:21 Combined data file .coverage.autopkgtest-lxd-gjcrjt.6924.XuhoLEbx 1249s Mar 16 01:47:21 Combined data file .coverage.autopkgtest-lxd-gjcrjt.6985.XAHghZbx 1249s Mar 16 01:47:21 Combined data file .coverage.autopkgtest-lxd-gjcrjt.7322.XEwIqEVx 1249s Mar 16 01:47:21 Combined data file .coverage.autopkgtest-lxd-gjcrjt.7373.XAUVHEdx 1249s Mar 16 01:47:21 Combined data file .coverage.autopkgtest-lxd-gjcrjt.7436.XjXHtoJx 1249s Mar 16 01:47:21 Combined data file .coverage.autopkgtest-lxd-gjcrjt.7529.XOFIausx 1249s Mar 16 01:47:21 Combined data file .coverage.autopkgtest-lxd-gjcrjt.7578.XUlLiYjx 1249s Mar 16 01:47:21 Combined data file .coverage.autopkgtest-lxd-gjcrjt.7633.XCipWlgx 1249s Mar 16 01:47:21 Combined data file .coverage.autopkgtest-lxd-gjcrjt.7677.XNLmGcTx 1249s Mar 16 01:47:21 Combined data file .coverage.autopkgtest-lxd-gjcrjt.7717.XxtFJUcx 1249s Mar 16 01:47:21 Combined data file .coverage.autopkgtest-lxd-gjcrjt.7761.XzeOVopx 1249s Mar 16 01:47:21 Combined data file .coverage.autopkgtest-lxd-gjcrjt.7991.XoSbgILx 1249s Mar 16 01:47:21 Combined data file .coverage.autopkgtest-lxd-gjcrjt.8055.XELewjwx 1249s Mar 16 01:47:21 Combined data file .coverage.autopkgtest-lxd-gjcrjt.8110.XDAcIuux 1249s Mar 16 01:47:21 Combined data file .coverage.autopkgtest-lxd-gjcrjt.8214.XiuEtLox 1249s Mar 16 01:47:21 Combined data file .coverage.autopkgtest-lxd-gjcrjt.8334.XCHQNupx 1249s Mar 16 01:47:21 Combined data file .coverage.autopkgtest-lxd-gjcrjt.8469.XHHUNvkx 1249s Mar 16 01:47:21 Combined data file .coverage.autopkgtest-lxd-gjcrjt.8513.XMkWjyWx 1249s Mar 16 01:47:21 Skipping duplicate data .coverage.autopkgtest-lxd-gjcrjt.8516.XUsKLOhx 1249s Mar 16 01:47:21 Combined data file .coverage.autopkgtest-lxd-gjcrjt.8519.XwMIsErx 1249s Mar 16 01:47:21 Combined data file .coverage.autopkgtest-lxd-gjcrjt.8530.XMXAAnix 1253s Mar 16 01:47:25 Name Stmts Miss Cover 1253s Mar 16 01:47:25 ------------------------------------------------------------------------------------------------------------- 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/OpenSSL/SSL.py 1159 642 45% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/OpenSSL/__init__.py 3 0 100% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/OpenSSL/_util.py 44 15 66% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/OpenSSL/crypto.py 869 663 24% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/OpenSSL/version.py 9 0 100% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 101 96 5% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/bcrypt/__init__.py 3 0 100% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/cryptography/__about__.py 5 0 100% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/cryptography/__init__.py 3 0 100% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/cryptography/exceptions.py 26 5 81% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/cryptography/hazmat/__init__.py 2 0 100% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/cryptography/hazmat/_oid.py 135 0 100% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/__init__.py 0 0 100% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/__init__.py 0 0 100% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/_conditional.py 38 17 55% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/binding.py 51 4 92% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/__init__.py 1 0 100% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/ciphers/__init__.py 1 0 100% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/ciphers/algorithms.py 68 18 74% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/__init__.py 0 0 100% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_asymmetric.py 6 0 100% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_cipheralgorithm.py 23 4 83% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_serialization.py 79 35 56% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/__init__.py 0 0 100% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dh.py 47 0 100% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dsa.py 55 5 91% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ec.py 172 22 87% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed448.py 45 12 73% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed25519.py 43 12 72% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/padding.py 55 23 58% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/cry+ bash -c 'rm -rf features/output' 1253s + echo '### End 17 acceptance-etcd3 ###' 1253s + rm -f /tmp/pgpass_postgres-0 /tmp/pgpass_postgres-1 /tmp/pgpass_postgres-2 /tmp/pgpass_postgres-3 1253s ++ id -u 1253s + '[' 1000 -eq 0 ']' 1253s autopkgtest [01:47:25]: test acceptance-etcd3: -----------------------] 1253s ptography/hazmat/primitives/asymmetric/rsa.py 93 40 57% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/types.py 19 0 100% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/utils.py 14 5 64% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x448.py 43 12 72% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x25519.py 41 12 71% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/__init__.py 4 0 100% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/algorithms.py 72 15 79% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/base.py 54 12 78% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/modes.py 140 59 58% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/constant_time.py 6 3 50% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hashes.py 127 20 84% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/__init__.py 5 0 100% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/base.py 7 0 100% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/ssh.py 775 614 21% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/cryptography/utils.py 76 28 63% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/cryptography/x509/__init__.py 70 0 100% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/cryptography/x509/base.py 488 227 53% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/cryptography/x509/certificate_transparency.py 42 0 100% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/cryptography/x509/extensions.py 1024 552 46% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/cryptography/x509/general_name.py 166 94 43% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/cryptography/x509/name.py 236 144 39% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/cryptography/x509/oid.py 3 0 100% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/cryptography/x509/verification.py 12 0 100% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/dateutil/__init__.py 13 4 69% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/dateutil/_version.py 11 2 82% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 810 436 46% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 183 150 18% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 240 206 14% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 151 114 25% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 794 626 21% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/dateutil/tz/win.py 152 149 2% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/dns/__init__.py 2 0 100% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/dns/_asyncbackend.py 14 6 57% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/dns/_ddr.py 105 86 18% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/dns/_features.py 46 8 83% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/dns/_immutable_ctx.py 40 5 88% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/dns/asyncbackend.py 44 32 27% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/dns/asyncquery.py 322 283 12% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/dns/edns.py 307 185 40% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/dns/entropy.py 80 49 39% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/dns/enum.py 72 46 36% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/dns/exception.py 59 33 44% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/dns/flags.py 40 14 65% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/dns/grange.py 33 30 9% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/dns/immutable.py 41 30 27% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/dns/inet.py 79 65 18% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/dns/ipv4.py 26 20 23% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/dns/ipv6.py 114 100 12% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/dns/message.py 829 676 18% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/dns/name.py 617 425 31% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/dns/nameserver.py 102 55 46% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/dns/node.py 117 71 39% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/dns/opcode.py 30 7 77% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/dns/query.py 562 477 15% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/dns/quic/__init__.py 28 23 18% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/dns/rcode.py 68 13 81% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/dns/rdata.py 386 277 28% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/dns/rdataclass.py 43 9 79% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/dns/rdataset.py 192 133 31% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/dns/rdatatype.py 215 23 89% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/OPT.py 34 19 44% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/SOA.py 41 26 37% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/TSIG.py 58 42 28% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/ZONEMD.py 43 27 37% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/__init__.py 1 0 100% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/dns/rdtypes/__init__.py 1 0 100% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/dns/rdtypes/svcbbase.py 415 268 35% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/dns/rdtypes/util.py 191 154 19% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/dns/renderer.py 151 118 22% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/dns/resolver.py 873 696 20% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/dns/reversename.py 32 24 25% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/dns/rrset.py 77 56 27% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/dns/serial.py 92 79 14% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/dns/set.py 148 107 28% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/dns/tokenizer.py 334 279 16% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/dns/transaction.py 269 201 25% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/dns/tsig.py 176 122 31% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/dns/ttl.py 44 38 14% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/dns/version.py 6 0 100% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/dns/wire.py 64 42 34% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/dns/xfr.py 148 126 15% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/dns/zone.py 507 383 24% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/dns/zonefile.py 427 379 11% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/dns/zonetypes.py 14 2 86% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/etcd/__init__.py 125 63 50% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/etcd/client.py 380 256 33% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/etcd/lock.py 125 103 18% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/idna/__init__.py 4 0 100% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/idna/core.py 292 257 12% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/idna/idnadata.py 4 0 100% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/idna/intranges.py 30 24 20% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/idna/package_data.py 1 0 100% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/patroni/__main__.py 201 63 69% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/patroni/api.py 788 295 63% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 15 84% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/patroni/collections.py 56 5 91% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/patroni/config.py 357 84 76% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/patroni/config_generator.py 212 159 25% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/patroni/daemon.py 76 3 96% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 710 95 87% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/patroni/dcs/etcd3.py 679 123 82% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/patroni/dcs/etcd.py 603 259 57% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/patroni/dynamic_loader.py 35 7 80% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/patroni/file_perm.py 47 10 79% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/patroni/global_config.py 87 0 100% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/patroni/ha.py 1359 375 72% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/patroni/log.py 235 79 66% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 825 165 80% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/patroni/postgresql/available_parameters/__init__.py 24 3 88% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 254 60 76% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 840 216 74% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 1 99% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 43 8 81% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/patroni/postgresql/mpp/__init__.py 89 11 88% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 83 51% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 416 128 69% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 349 37 89% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 154 10 94% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 157 24 85% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/patroni/psycopg.py 46 19 59% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/patroni/quorum.py 182 48 74% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/patroni/request.py 58 7 88% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/patroni/tags.py 38 0 100% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/patroni/utils.py 371 104 72% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/patroni/validator.py 309 215 30% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 42 79% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 35 74% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/psutil/__init__.py 950 629 34% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/psutil/_common.py 422 212 50% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/psutil/_compat.py 301 263 13% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1250 924 26% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/psutil/_psposix.py 95 38 60% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/urllib3/__init__.py 49 15 69% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 63 45 29% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/urllib3/_collections.py 231 124 46% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 54 24 56% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/urllib3/_version.py 11 2 82% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/urllib3/connection.py 389 137 65% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 344 129 62% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/urllib3/contrib/__init__.py 0 0 100% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/urllib3/contrib/pyopenssl.py 263 101 62% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/urllib3/exceptions.py 121 39 68% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/urllib3/http2/__init__.py 28 21 25% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/urllib3/http2/probe.py 49 31 37% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 86 63% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/urllib3/response.py 634 336 47% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 42 36% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 49 53% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 15 53% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/urllib3/util/retry.py 174 51 71% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 172 74 57% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 152 106 30% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 14 80% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/urllib3/util/url.py 203 73 64% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 10 62% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 18 63% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/yaml/parser.py 352 198 44% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/yaml/reader.py 122 34 72% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/yaml/scanner.py 758 437 42% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 1253s Mar 16 01:47:25 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 1253s Mar 16 01:47:25 patroni/__init__.py 13 2 85% 1253s Mar 16 01:47:25 patroni/__main__.py 201 201 0% 1253s Mar 16 01:47:25 patroni/api.py 788 788 0% 1253s Mar 16 01:47:25 patroni/async_executor.py 96 69 28% 1253s Mar 16 01:47:25 patroni/collections.py 56 15 73% 1253s Mar 16 01:47:25 patroni/config.py 357 186 48% 1253s Mar 16 01:47:25 patroni/config_generator.py 212 212 0% 1253s Mar 16 01:47:25 patroni/ctl.py 936 395 58% 1253s Mar 16 01:47:25 patroni/daemon.py 76 76 0% 1253s Mar 16 01:47:25 patroni/dcs/__init__.py 710 315 56% 1253s Mar 16 01:47:25 patroni/dcs/consul.py 482 482 0% 1253s Mar 16 01:47:25 patroni/dcs/etcd3.py 679 346 49% 1253s Mar 16 01:47:25 patroni/dcs/etcd.py 603 280 54% 1253s Mar 16 01:47:25 patroni/dcs/exhibitor.py 62 62 0% 1253s Mar 16 01:47:25 patroni/dcs/kubernetes.py 943 943 0% 1253s Mar 16 01:47:25 patroni/dcs/raft.py 319 319 0% 1253s Mar 16 01:47:25 patroni/dcs/zookeeper.py 289 289 0% 1253s Mar 16 01:47:25 patroni/dynamic_loader.py 35 7 80% 1253s Mar 16 01:47:25 patroni/exceptions.py 16 1 94% 1253s Mar 16 01:47:25 patroni/file_perm.py 47 17 64% 1253s Mar 16 01:47:25 patroni/global_config.py 87 19 78% 1253s Mar 16 01:47:25 patroni/ha.py 1359 1359 0% 1253s Mar 16 01:47:25 patroni/log.py 235 183 22% 1253s Mar 16 01:47:25 patroni/postgresql/__init__.py 825 653 21% 1253s Mar 16 01:47:25 patroni/postgresql/available_parameters/__init__.py 24 3 88% 1253s Mar 16 01:47:25 patroni/postgresql/bootstrap.py 254 224 12% 1253s Mar 16 01:47:25 patroni/postgresql/callback_executor.py 55 34 38% 1253s Mar 16 01:47:25 patroni/postgresql/cancellable.py 104 84 19% 1253s Mar 16 01:47:25 patroni/postgresql/config.py 840 720 14% 1253s Mar 16 01:47:25 patroni/postgresql/connection.py 75 50 33% 1253s Mar 16 01:47:25 patroni/postgresql/misc.py 43 30 30% 1253s Mar 16 01:47:25 patroni/postgresql/mpp/__init__.py 89 21 76% 1253s Mar 16 01:47:25 patroni/postgresql/mpp/citus.py 366 366 0% 1253s Mar 16 01:47:25 patroni/postgresql/postmaster.py 170 139 18% 1253s Mar 16 01:47:25 patroni/postgresql/rewind.py 416 416 0% 1253s Mar 16 01:47:25 patroni/postgresql/slots.py 349 300 14% 1253s Mar 16 01:47:25 patroni/postgresql/sync.py 154 114 26% 1253s Mar 16 01:47:25 patroni/postgresql/validator.py 157 52 67% 1253s Mar 16 01:47:25 patroni/psycopg.py 46 32 30% 1253s Mar 16 01:47:25 patroni/quorum.py 182 182 0% 1253s Mar 16 01:47:25 patroni/raft_controller.py 22 22 0% 1253s Mar 16 01:47:25 patroni/request.py 58 6 90% 1253s Mar 16 01:47:25 patroni/scripts/__init__.py 0 0 100% 1253s Mar 16 01:47:25 patroni/scripts/aws.py 59 59 0% 1253s Mar 16 01:47:25 patroni/scripts/barman/__init__.py 0 0 100% 1253s Mar 16 01:47:25 patroni/scripts/barman/cli.py 50 50 0% 1253s Mar 16 01:47:25 patroni/scripts/barman/config_switch.py 50 50 0% 1253s Mar 16 01:47:25 patroni/scripts/barman/recover.py 36 36 0% 1253s Mar 16 01:47:25 patroni/scripts/barman/utils.py 93 93 0% 1253s Mar 16 01:47:25 patroni/scripts/wale_restore.py 207 207 0% 1253s Mar 16 01:47:25 patroni/tags.py 38 11 71% 1253s Mar 16 01:47:25 patroni/utils.py 371 185 50% 1253s Mar 16 01:47:25 patroni/validator.py 309 222 28% 1253s Mar 16 01:47:25 patroni/version.py 1 0 100% 1253s Mar 16 01:47:25 patroni/watchdog/__init__.py 2 2 0% 1253s Mar 16 01:47:25 patroni/watchdog/base.py 203 203 0% 1253s Mar 16 01:47:25 patroni/watchdog/linux.py 135 135 0% 1253s Mar 16 01:47:25 ------------------------------------------------------------------------------------------------------------- 1253s Mar 16 01:47:25 TOTAL 54413 32603 40% 1253s Mar 16 01:47:25 13 features passed, 0 failed, 1 skipped 1253s Mar 16 01:47:25 55 scenarios passed, 0 failed, 14 skipped 1253s Mar 16 01:47:25 539 steps passed, 0 failed, 128 skipped, 0 undefined 1253s Mar 16 01:47:25 Took 9m22.868s 1253s ### End 17 acceptance-etcd3 ### 1257s acceptance-etcd3 PASS 1257s autopkgtest [01:47:29]: test acceptance-etcd3: - - - - - - - - - - results - - - - - - - - - - 1260s autopkgtest [01:47:32]: test acceptance-etcd: preparing testbed 1262s Reading package lists... 1262s Building dependency tree... 1262s Reading state information... 1263s Starting pkgProblemResolver with broken count: 0 1263s Starting 2 pkgProblemResolver with broken count: 0 1263s Done 1264s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1273s autopkgtest [01:47:45]: test acceptance-etcd: debian/tests/acceptance etcd 1273s autopkgtest [01:47:45]: test acceptance-etcd: [----------------------- 1274s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 1274s ++ ls -1r /usr/lib/postgresql/ 1274s ### PostgreSQL 17 acceptance-etcd ### 1274s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 1274s + '[' 17 == 10 -o 17 == 11 ']' 1274s + echo '### PostgreSQL 17 acceptance-etcd ###' 1274s + 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' 1277s Mar 16 01:47:49 No data to combine 1281s Mar 16 01:47:53 Name Stmts Miss Cover 1281s Mar 16 01:47:53 ------------------------------------------------------------------------------------------------------------- 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/OpenSSL/SSL.py 1159 642 45% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/OpenSSL/__init__.py 3 0 100% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/OpenSSL/_util.py 44 15 66% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/OpenSSL/crypto.py 869 663 24% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/OpenSSL/version.py 9 0 100% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 101 96 5% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/bcrypt/__init__.py 3 0 100% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/cryptography/__about__.py 5 0 100% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/cryptography/__init__.py 3 0 100% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/cryptography/exceptions.py 26 5 81% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/cryptography/hazmat/__init__.py 2 0 100% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/cryptography/hazmat/_oid.py 135 0 100% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/__init__.py 0 0 100% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/__init__.py 0 0 100% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/_conditional.py 38 17 55% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/binding.py 51 4 92% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/__init__.py 1 0 100% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/ciphers/__init__.py 1 0 100% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/ciphers/algorithms.py 68 18 74% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/__init__.py 0 0 100% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_asymmetric.py 6 0 100% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_cipheralgorithm.py 23 4 83% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_serialization.py 79 35 56% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/__init__.py 0 0 100% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dh.py 47 0 100% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dsa.py 55 5 91% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ec.py 172 22 87% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed448.py 45 12 73% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed25519.py 43 12 72% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/padding.py 55 23 58% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/rsa.py 93 40 57% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/types.py 19 0 100% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/utils.py 14 5 64% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x448.py 43 12 72% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x25519.py 41 12 71% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/__init__.py 4 0 100% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/algorithms.py 72 15 79% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/base.py 54 12 78% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/modes.py 140 59 58% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/constant_time.py 6 3 50% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hashes.py 127 20 84% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/__init__.py 5 0 100% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/base.py 7 0 100% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/ssh.py 775 614 21% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/cryptography/utils.py 76 28 63% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/cryptography/x509/__init__.py 70 0 100% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/cryptography/x509/base.py 488 227 53% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/cryptography/x509/certificate_transparency.py 42 0 100% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/cryptography/x509/extensions.py 1024 552 46% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/cryptography/x509/general_name.py 166 94 43% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/cryptography/x509/name.py 236 144 39% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/cryptography/x509/oid.py 3 0 100% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/cryptography/x509/verification.py 12 0 100% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/dateutil/__init__.py 13 4 69% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/dateutil/_version.py 11 2 82% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 810 436 46% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 183 150 18% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 240 206 14% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 151 114 25% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 794 626 21% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/dateutil/tz/win.py 152 149 2% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/dns/__init__.py 2 0 100% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/dns/_asyncbackend.py 14 6 57% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/dns/_ddr.py 105 86 18% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/dns/_features.py 46 8 83% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/dns/_immutable_ctx.py 40 5 88% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/dns/asyncbackend.py 44 32 27% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/dns/asyncquery.py 322 283 12% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/dns/edns.py 307 185 40% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/dns/entropy.py 80 49 39% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/dns/enum.py 72 46 36% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/dns/exception.py 59 33 44% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/dns/flags.py 40 14 65% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/dns/grange.py 33 30 9% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/dns/immutable.py 41 30 27% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/dns/inet.py 79 65 18% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/dns/ipv4.py 26 20 23% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/dns/ipv6.py 114 100 12% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/dns/message.py 829 676 18% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/dns/name.py 617 425 31% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/dns/nameserver.py 102 55 46% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/dns/node.py 117 71 39% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/dns/opcode.py 30 7 77% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/dns/query.py 562 477 15% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/dns/quic/__init__.py 28 23 18% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/dns/rcode.py 68 13 81% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/dns/rdata.py 386 277 28% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/dns/rdataclass.py 43 9 79% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/dns/rdataset.py 192 133 31% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/dns/rdatatype.py 215 23 89% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/OPT.py 34 19 44% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/SOA.py 41 26 37% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/TSIG.py 58 42 28% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/ZONEMD.py 43 27 37% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/__init__.py 1 0 100% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/dns/rdtypes/__init__.py 1 0 100% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/dns/rdtypes/svcbbase.py 415 268 35% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/dns/rdtypes/util.py 191 154 19% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/dns/renderer.py 151 118 22% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/dns/resolver.py 873 696 20% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/dns/reversename.py 32 24 25% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/dns/rrset.py 77 56 27% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/dns/serial.py 92 79 14% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/dns/set.py 148 107 28% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/dns/tokenizer.py 334 279 16% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/dns/transaction.py 269 201 25% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/dns/tsig.py 176 122 31% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/dns/ttl.py 44 38 14% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/dns/version.py 6 0 100% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/dns/wire.py 64 42 34% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/dns/xfr.py 148 126 15% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/dns/zone.py 507 383 24% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/dns/zonefile.py 427 379 11% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/dns/zonetypes.py 14 2 86% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/etcd/__init__.py 125 63 50% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/etcd/client.py 380 256 33% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/etcd/lock.py 125 103 18% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/idna/__init__.py 4 0 100% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/idna/core.py 292 257 12% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/idna/idnadata.py 4 0 100% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/idna/intranges.py 30 24 20% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/idna/package_data.py 1 0 100% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/patroni/__main__.py 201 63 69% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/patroni/api.py 788 295 63% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 15 84% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/patroni/collections.py 56 5 91% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/patroni/config.py 357 84 76% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/patroni/config_generator.py 212 159 25% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/patroni/daemon.py 76 3 96% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 710 95 87% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/patroni/dcs/etcd3.py 679 123 82% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/patroni/dcs/etcd.py 603 259 57% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/patroni/dynamic_loader.py 35 7 80% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/patroni/file_perm.py 47 10 79% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/patroni/global_config.py 87 0 100% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/patroni/ha.py 1359 375 72% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/patroni/log.py 235 79 66% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 825 165 80% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/patroni/postgresql/available_parameters/__init__.py 24 3 88% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 254 60 76% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 840 216 74% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 1 99% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 43 8 81% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/patroni/postgresql/mpp/__init__.py 89 11 88% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 83 51% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 416 128 69% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 349 37 89% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 154 10 94% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 157 24 85% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/patroni/psycopg.py 46 19 59% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/patroni/quorum.py 182 48 74% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/patroni/request.py 58 7 88% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/patroni/tags.py 38 0 100% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/patroni/utils.py 371 104 72% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/patroni/validator.py 309 215 30% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 42 79% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 35 74% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/psutil/__init__.py 950 629 34% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/psutil/_common.py 422 212 50% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/psutil/_compat.py 301 263 13% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1250 924 26% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/psutil/_psposix.py 95 38 60% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/urllib3/__init__.py 49 15 69% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 63 45 29% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/urllib3/_collections.py 231 124 46% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 54 24 56% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/urllib3/_version.py 11 2 82% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/urllib3/connection.py 389 137 65% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 344 129 62% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/urllib3/contrib/__init__.py 0 0 100% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/urllib3/contrib/pyopenssl.py 263 101 62% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/urllib3/exceptions.py 121 39 68% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/urllib3/http2/__init__.py 28 21 25% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/urllib3/http2/probe.py 49 31 37% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 86 63% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/urllib3/response.py 634 336 47% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 42 36% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 49 53% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 15 53% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/urllib3/util/retry.py 174 51 71% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 172 74 57% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 152 106 30% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 14 80% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/urllib3/util/url.py 203 73 64% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 10 62% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 18 63% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/yaml/parser.py 352 198 44% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/yaml/reader.py 122 34 72% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/yaml/scanner.py 758 437 42% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 1281s Mar 16 01:47:53 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 1281s Mar 16 01:47:53 patroni/__init__.py 13 2 85% 1281s Mar 16 01:47:53 patroni/__main__.py 201 201 0% 1281s Mar 16 01:47:53 patroni/api.py 788 788 0% 1281s Mar 16 01:47:53 patroni/async_executor.py 96 69 28% 1281s Mar 16 01:47:53 patroni/collections.py 56 15 73% 1281s Mar 16 01:47:53 patroni/config.py 357 186 48% 1281s Mar 16 01:47:53 patroni/config_generator.py 212 212 0% 1281s Mar 16 01:47:53 patroni/ctl.py 936 395 58% 1281s Mar 16 01:47:53 patroni/daemon.py 76 76 0% 1281s Mar 16 01:47:53 patroni/dcs/__init__.py 710 315 56% 1281s Mar 16 01:47:53 patroni/dcs/consul.py 482 482 0% 1281s Mar 16 01:47:53 patroni/dcs/etcd3.py 679 346 49% 1281s Mar 16 01:47:53 patroni/dcs/etcd.py 603 280 54% 1281s Mar 16 01:47:53 patroni/dcs/exhibitor.py 62 62 0% 1281s Mar 16 01:47:53 patroni/dcs/kubernetes.py 943 943 0% 1281s Mar 16 01:47:53 patroni/dcs/raft.py 319 319 0% 1281s Mar 16 01:47:53 patroni/dcs/zookeeper.py 289 289 0% 1281s Mar 16 01:47:53 patroni/dynamic_loader.py 35 7 80% 1281s Mar 16 01:47:53 patroni/exceptions.py 16 1 94% 1281s Mar 16 01:47:53 patroni/file_perm.py 47 17 64% 1281s Mar 16 01:47:53 patroni/global_config.py 87 19 78% 1281s Mar 16 01:47:53 patroni/ha.py 1359 1359 0% 1281s Mar 16 01:47:53 patroni/log.py 235 183 22% 1281s Mar 16 01:47:53 patroni/postgresql/__init__.py 825 653 21% 1281s Mar 16 01:47:53 patroni/postgresql/available_parameters/__init__.py 24 3 88% 1281s Mar 16 01:47:53 patroni/postgresql/bootstrap.py 254 224 12% 1281s Mar 16 01:47:53 patroni/postgresql/callback_executor.py 55 34 38% 1281s Mar 16 01:47:53 patroni/postgresql/cancellable.py 104 84 19% 1281s Mar 16 01:47:53 patroni/postgresql/config.py 840 720 14% 1281s Mar 16 01:47:53 patroni/postgresql/connection.py 75 50 33% 1281s Mar 16 01:47:53 patroni/postgresql/misc.py 43 30 30% 1281s Mar 16 01:47:53 patroni/postgresql/mpp/__init__.py 89 21 76% 1281s Mar 16 01:47:53 patroni/postgresql/mpp/citus.py 366 366 0% 1281s Mar 16 01:47:53 patroni/postgresql/postmaster.py 170 139 18% 1281s Mar 16 01:47:53 patroni/postgresql/rewind.py 416 416 0% 1281s Mar 16 01:47:53 patroni/postgresql/slots.py 349 300 14% 1281s Mar 16 01:47:53 patroni/postgresql/sync.py 154 114 26% 1281s Mar 16 01:47:53 patroni/postgresql/validator.py 157 52 67% 1281s Mar 16 01:47:53 patroni/psycopg.py 46 32 30% 1281s Mar 16 01:47:53 patroni/quorum.py 182 182 0% 1281s Mar 16 01:47:53 patroni/raft_controller.py 22 22 0% 1281s Mar 16 01:47:53 patroni/request.py 58 6 90% 1281s Mar 16 01:47:53 patroni/scripts/__init__.py 0 0 100% 1281s Mar 16 01:47:53 patroni/scripts/aws.py 59 59 0% 1281s Mar 16 01:47:53 patroni/scripts/barman/__init__.py 0 0 100% 1281s Mar 16 01:47:53 patroni/scripts/barman/cli.py 50 50 0% 1281s Mar 16 01:47:53 patroni/scripts/barman/config_switch.py 50 50 0% 1281s Mar 16 01:47:53 patroni/scripts/barman/recover.py 36 36 0% 1281s Mar 16 01:47:53 patroni/scripts/barman/utils.py 93 93 0% 1281s Mar 16 01:47:53 patroni/scripts/wale_restore.py 207 207 0% 1281s Mar 16 01:47:53 patroni/tags.py 38 11 71% 1281s Mar 16 01:47:53 patroni/utils.py 371 185 50% 1281s Mar 16 01:47:53 patroni/validator.py 309 222 28% 1281s Mar 16 01:47:53 patroni/version.py 1 0 100% 1281s Mar 16 01:47:53 patroni/watchdog/__init__.py 2 2 0% 1281s Mar 16 01:47:53 patroni/watchdog/base.py 203 203 0% 1281s Mar 16 01:47:53 patroni/watchdog/linux.py 135 135 0% 1281s Mar 16 01:47:53 ------------------------------------------------------------------------------------------------------------- 1281s Mar 16 01:47:53 TOTAL 54413 32603 40% 1281s Mar 16 01:47:53 HOOK-ERROR in before_all: AssertionError: Process etcd is not running after being started 1281s Mar 16 01:47:53 1281s Mar 16 01:47:53 ABORTED: By user. 1281s Mar 16 01:47:53 0 features passed, 0 failed, 0 skipped, 14 untested 1281s Mar 16 01:47:53 0 scenarios passed, 0 failed, 0 skipped, 69 untested 1281s Mar 16 01:47:53 0 steps passed, 0 failed, 0 skipped, 0 undefined, 667 untested 1281s Mar 16 01:47:53 Took 0m0.000s 1281s + for file in features/output/*_failed/* 1281s + case $file in 1281s + echo 'features/output/*_failed/*:' 1281s + cat 'features/output/*_failed/*' 1281s features/output/*_failed/*: 1281s cat: 'features/output/*_failed/*': No such file or directory 1281s + rm -f '/tmp/pgpass_postgres-?' 1281s ++ id -u 1281s + '[' 1000 -eq 0 ']' 1281s autopkgtest [01:47:53]: test acceptance-etcd: -----------------------] 1285s acceptance-etcd FAIL non-zero exit status 1 1285s autopkgtest [01:47:57]: test acceptance-etcd: - - - - - - - - - - results - - - - - - - - - - 1288s autopkgtest [01:48:00]: test acceptance-zookeeper: preparing testbed 1310s autopkgtest [01:48:22]: testbed dpkg architecture: armhf 1311s autopkgtest [01:48:23]: testbed apt version: 2.9.33 1315s autopkgtest [01:48:27]: @@@@@@@@@@@@@@@@@@@@ test bed setup 1317s autopkgtest [01:48:29]: testbed release detected to be: plucky 1324s autopkgtest [01:48:36]: updating testbed package index (apt update) 1326s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [126 kB] 1326s Get:2 http://ftpmaster.internal/ubuntu plucky InRelease [257 kB] 1326s Get:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease [126 kB] 1326s Get:4 http://ftpmaster.internal/ubuntu plucky-security InRelease [126 kB] 1326s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [365 kB] 1326s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [17.7 kB] 1326s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [41.4 kB] 1326s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf Packages [74.9 kB] 1326s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf c-n-f Metadata [1792 B] 1326s Get:10 http://ftpmaster.internal/ubuntu plucky-proposed/restricted armhf c-n-f Metadata [116 B] 1326s Get:11 http://ftpmaster.internal/ubuntu plucky-proposed/universe armhf Packages [290 kB] 1326s Get:12 http://ftpmaster.internal/ubuntu plucky-proposed/universe armhf c-n-f Metadata [10.5 kB] 1326s Get:13 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse armhf Packages [4168 B] 1326s Get:14 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse armhf c-n-f Metadata [240 B] 1326s Get:15 http://ftpmaster.internal/ubuntu plucky/main Sources [1389 kB] 1326s Get:16 http://ftpmaster.internal/ubuntu plucky/multiverse Sources [299 kB] 1326s Get:17 http://ftpmaster.internal/ubuntu plucky/universe Sources [21.0 MB] 1327s Get:18 http://ftpmaster.internal/ubuntu plucky/main armhf Packages [1378 kB] 1327s Get:19 http://ftpmaster.internal/ubuntu plucky/main armhf c-n-f Metadata [29.5 kB] 1327s Get:20 http://ftpmaster.internal/ubuntu plucky/restricted armhf c-n-f Metadata [108 B] 1327s Get:21 http://ftpmaster.internal/ubuntu plucky/universe armhf Packages [15.3 MB] 1328s Get:22 http://ftpmaster.internal/ubuntu plucky/multiverse armhf Packages [172 kB] 1331s Fetched 41.1 MB in 5s (7920 kB/s) 1332s Reading package lists... 1337s autopkgtest [01:48:49]: upgrading testbed (apt dist-upgrade and autopurge) 1339s Reading package lists... 1339s Building dependency tree... 1339s Reading state information... 1340s Calculating upgrade...Starting pkgProblemResolver with broken count: 0 1340s Starting 2 pkgProblemResolver with broken count: 0 1340s Done 1341s Entering ResolveByKeep 1341s 1341s Calculating upgrade... 1341s The following packages will be upgraded: 1341s pinentry-curses python3-jinja2 sos strace 1342s 4 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1342s Need to get 960 kB of archives. 1342s After this operation, 23.6 kB of additional disk space will be used. 1342s Get:1 http://ftpmaster.internal/ubuntu plucky/main armhf strace armhf 6.13+ds-1ubuntu1 [445 kB] 1342s Get:2 http://ftpmaster.internal/ubuntu plucky/main armhf pinentry-curses armhf 1.3.1-2ubuntu3 [40.6 kB] 1342s Get:3 http://ftpmaster.internal/ubuntu plucky/main armhf python3-jinja2 all 3.1.5-2ubuntu1 [109 kB] 1342s Get:4 http://ftpmaster.internal/ubuntu plucky/main armhf sos all 4.9.0-5 [365 kB] 1343s Fetched 960 kB in 1s (1576 kB/s) 1343s (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 ... 64655 files and directories currently installed.) 1343s Preparing to unpack .../strace_6.13+ds-1ubuntu1_armhf.deb ... 1343s Unpacking strace (6.13+ds-1ubuntu1) over (6.11-0ubuntu1) ... 1343s Preparing to unpack .../pinentry-curses_1.3.1-2ubuntu3_armhf.deb ... 1343s Unpacking pinentry-curses (1.3.1-2ubuntu3) over (1.3.1-2ubuntu2) ... 1343s Preparing to unpack .../python3-jinja2_3.1.5-2ubuntu1_all.deb ... 1343s Unpacking python3-jinja2 (3.1.5-2ubuntu1) over (3.1.5-2) ... 1343s Preparing to unpack .../archives/sos_4.9.0-5_all.deb ... 1343s Unpacking sos (4.9.0-5) over (4.9.0-4) ... 1343s Setting up sos (4.9.0-5) ... 1344s Setting up pinentry-curses (1.3.1-2ubuntu3) ... 1344s Setting up python3-jinja2 (3.1.5-2ubuntu1) ... 1344s Setting up strace (6.13+ds-1ubuntu1) ... 1344s Processing triggers for man-db (2.13.0-1) ... 1346s Reading package lists... 1347s Building dependency tree... 1347s Reading state information... 1347s Starting pkgProblemResolver with broken count: 0 1347s Starting 2 pkgProblemResolver with broken count: 0 1347s Done 1348s Solving dependencies... 1348s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1350s autopkgtest [01:49:02]: rebooting testbed after setup commands that affected boot 1412s Reading package lists... 1412s Building dependency tree... 1412s Reading state information... 1412s Starting pkgProblemResolver with broken count: 0 1413s Starting 2 pkgProblemResolver with broken count: 0 1413s Done 1413s The following NEW packages will be installed: 1413s adwaita-icon-theme at-spi2-common ca-certificates-java 1413s dconf-gsettings-backend dconf-service default-jre default-jre-headless 1413s fontconfig fontconfig-config fonts-dejavu-core fonts-dejavu-mono 1413s fonts-font-awesome fonts-lato gtk-update-icon-cache hicolor-icon-theme 1413s java-common junit4 libactivation-java libapache-pom-java libapr1t64 1413s libasm-java libasound2-data libasound2t64 libatinject-jsr330-api-java 1413s libatk-bridge2.0-0t64 libatk1.0-0t64 libatspi2.0-0t64 libavahi-client3 1413s libavahi-common-data libavahi-common3 libcairo-gobject2 libcairo2 libcares2 1413s libcolord2 libcommons-cli-java libcommons-io-java libcommons-logging-java 1413s libcommons-parent-java libcups2t64 libdatrie1 libdconf1 libdeflate0 1413s libdropwizard-metrics-java libeclipse-jdt-core-compiler-batch-java 1413s libeclipse-jdt-core-java libel-api-java libepoxy0 liberror-prone-java 1413s libev4t64 libfindbugs-annotations-java libfontconfig1 libfreetype6 libgbm1 1413s libgdk-pixbuf-2.0-0 libgdk-pixbuf2.0-common libgif7 libgl1 libgl1-mesa-dri 1413s libglvnd0 libglx-mesa0 libglx0 libgraphite2-3 libgtk-3-0t64 libgtk-3-common 1413s libguava-java libhamcrest-java libharfbuzz0b libio-pty-perl libipc-run-perl 1413s libjackson2-annotations-java libjackson2-core-java libjackson2-databind-java 1413s libjavaparser-java libjaxb-api-java libjbig0 libjctools-java 1413s libjetty9-extra-java libjetty9-java libjffi-java libjffi-jni 1413s libjnr-constants-java libjnr-enxio-java libjnr-ffi-java libjnr-posix-java 1413s libjnr-unixsocket-java libjnr-x86asm-java libjpeg-turbo8 libjpeg8 1413s libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl libjsp-api-java 1413s libjsr305-java liblcms2-2 liblerc4 libllvm19 libllvm20 liblog4j1.2-java 1413s libmail-java libnetty-java libnetty-tcnative-java libnetty-tcnative-jni 1413s libpango-1.0-0 libpangocairo-1.0-0 libpangoft2-1.0-0 libpcsclite1 1413s libpixman-1-0 libpq5 libservlet-api-java libsharpyuv0 libslf4j-java 1413s libsnappy-java libsnappy-jni libsnappy1v5 libspring-beans-java 1413s libspring-core-java libtaglibs-standard-impl-java 1413s libtaglibs-standard-spec-java libthai-data libthai0 libtiff6 1413s libtime-duration-perl libtimedate-perl libtomcat9-java libvulkan1 1413s libwayland-client0 libwayland-cursor0 libwayland-egl1 libwayland-server0 1413s libwebp7 libwebsocket-api-java libx11-xcb1 libxcb-dri3-0 libxcb-glx0 1413s libxcb-present0 libxcb-randr0 libxcb-render0 libxcb-shm0 libxcb-sync1 1413s libxcb-xfixes0 libxcomposite1 libxcursor1 libxdamage1 libxfixes3 libxi6 1413s libxinerama1 libxrandr2 libxrender1 libxshmfence1 libxslt1.1 libxtst6 1413s libxxf86vm1 libzookeeper-java mesa-libgallium moreutils openjdk-21-jre 1413s openjdk-21-jre-headless patroni patroni-doc postgresql postgresql-17 1413s postgresql-client-17 postgresql-client-common postgresql-common 1413s postgresql-common-dev python3-behave python3-click python3-coverage 1413s python3-dnspython python3-eventlet python3-gevent python3-greenlet 1413s python3-kazoo python3-kerberos python3-parse python3-parse-type 1413s python3-prettytable python3-psutil python3-psycopg2 python3-pure-sasl 1413s python3-wcwidth python3-ydiff python3-zope.event python3-zope.interface 1413s sphinx-rtd-theme-common ssl-cert x11-common zookeeper zookeeperd 1414s 0 upgraded, 190 newly installed, 0 to remove and 0 not upgraded. 1414s Need to get 180 MB of archives. 1414s After this operation, 630 MB of additional disk space will be used. 1414s Get:1 http://ftpmaster.internal/ubuntu plucky/main armhf fonts-lato all 2.015-1 [2781 kB] 1414s Get:2 http://ftpmaster.internal/ubuntu plucky/main armhf libjson-perl all 4.10000-1 [81.9 kB] 1414s Get:3 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql-client-common all 274 [47.6 kB] 1414s Get:4 http://ftpmaster.internal/ubuntu plucky/main armhf libio-pty-perl armhf 1:1.20-1build3 [31.0 kB] 1414s Get:5 http://ftpmaster.internal/ubuntu plucky/main armhf libipc-run-perl all 20231003.0-2 [91.5 kB] 1414s Get:6 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql-common-dev all 274 [73.0 kB] 1414s Get:7 http://ftpmaster.internal/ubuntu plucky/main armhf ssl-cert all 1.1.3ubuntu1 [18.7 kB] 1414s Get:8 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql-common all 274 [101 kB] 1414s Get:9 http://ftpmaster.internal/ubuntu plucky/main armhf ca-certificates-java all 20240118 [11.6 kB] 1414s Get:10 http://ftpmaster.internal/ubuntu plucky/main armhf java-common all 0.76 [6852 B] 1414s Get:11 http://ftpmaster.internal/ubuntu plucky/main armhf liblcms2-2 armhf 2.16-2 [137 kB] 1414s Get:12 http://ftpmaster.internal/ubuntu plucky/main armhf libjpeg-turbo8 armhf 2.1.5-3ubuntu2 [127 kB] 1414s Get:13 http://ftpmaster.internal/ubuntu plucky/main armhf libjpeg8 armhf 8c-2ubuntu11 [2148 B] 1414s Get:14 http://ftpmaster.internal/ubuntu plucky/main armhf libpcsclite1 armhf 2.3.1-1 [24.9 kB] 1414s Get:15 http://ftpmaster.internal/ubuntu plucky/main armhf openjdk-21-jre-headless armhf 21.0.6+7-1 [39.7 MB] 1415s Get:16 http://ftpmaster.internal/ubuntu plucky/main armhf default-jre-headless armhf 2:1.21-76 [3182 B] 1415s Get:17 http://ftpmaster.internal/ubuntu plucky/main armhf libgdk-pixbuf2.0-common all 2.42.12+dfsg-2 [8004 B] 1415s Get:18 http://ftpmaster.internal/ubuntu plucky/main armhf libdeflate0 armhf 1.23-1 [38.5 kB] 1415s Get:19 http://ftpmaster.internal/ubuntu plucky/main armhf libjbig0 armhf 2.1-6.1ubuntu2 [24.9 kB] 1415s Get:20 http://ftpmaster.internal/ubuntu plucky/main armhf liblerc4 armhf 4.0.0+ds-5ubuntu1 [160 kB] 1415s Get:21 http://ftpmaster.internal/ubuntu plucky/main armhf libsharpyuv0 armhf 1.5.0-0.1 [16.4 kB] 1415s Get:22 http://ftpmaster.internal/ubuntu plucky/main armhf libwebp7 armhf 1.5.0-0.1 [188 kB] 1415s Get:23 http://ftpmaster.internal/ubuntu plucky/main armhf libtiff6 armhf 4.5.1+git230720-4ubuntu4 [179 kB] 1415s Get:24 http://ftpmaster.internal/ubuntu plucky/main armhf libgdk-pixbuf-2.0-0 armhf 2.42.12+dfsg-2 [136 kB] 1415s Get:25 http://ftpmaster.internal/ubuntu plucky/main armhf gtk-update-icon-cache armhf 4.17.5+ds-3ubuntu1 [51.8 kB] 1415s Get:26 http://ftpmaster.internal/ubuntu plucky/main armhf hicolor-icon-theme all 0.18-2 [13.3 kB] 1415s Get:27 http://ftpmaster.internal/ubuntu plucky/main armhf adwaita-icon-theme all 48.0-1 [578 kB] 1415s Get:28 http://ftpmaster.internal/ubuntu plucky/main armhf at-spi2-common all 2.55.90-1 [9072 B] 1415s Get:29 http://ftpmaster.internal/ubuntu plucky/main armhf libatk1.0-0t64 armhf 2.55.90-1 [48.2 kB] 1415s Get:30 http://ftpmaster.internal/ubuntu plucky/main armhf libxi6 armhf 2:1.8.2-1 [26.5 kB] 1415s Get:31 http://ftpmaster.internal/ubuntu plucky/main armhf libatspi2.0-0t64 armhf 2.55.90-1 [74.7 kB] 1415s Get:32 http://ftpmaster.internal/ubuntu plucky/main armhf libatk-bridge2.0-0t64 armhf 2.55.90-1 [59.7 kB] 1415s Get:33 http://ftpmaster.internal/ubuntu plucky/main armhf libfreetype6 armhf 2.13.3+dfsg-1 [330 kB] 1415s Get:34 http://ftpmaster.internal/ubuntu plucky/main armhf fonts-dejavu-mono all 2.37-8 [502 kB] 1415s Get:35 http://ftpmaster.internal/ubuntu plucky/main armhf fonts-dejavu-core all 2.37-8 [835 kB] 1416s Get:36 http://ftpmaster.internal/ubuntu plucky/main armhf fontconfig-config armhf 2.15.0-2ubuntu1 [37.5 kB] 1416s Get:37 http://ftpmaster.internal/ubuntu plucky/main armhf libfontconfig1 armhf 2.15.0-2ubuntu1 [114 kB] 1416s Get:38 http://ftpmaster.internal/ubuntu plucky/main armhf libpixman-1-0 armhf 0.44.0-3 [183 kB] 1416s Get:39 http://ftpmaster.internal/ubuntu plucky/main armhf libxcb-render0 armhf 1.17.0-2 [15.3 kB] 1416s Get:40 http://ftpmaster.internal/ubuntu plucky/main armhf libxcb-shm0 armhf 1.17.0-2 [5774 B] 1416s Get:41 http://ftpmaster.internal/ubuntu plucky/main armhf libxrender1 armhf 1:0.9.10-1.1build1 [16.0 kB] 1416s Get:42 http://ftpmaster.internal/ubuntu plucky/main armhf libcairo2 armhf 1.18.2-2 [484 kB] 1416s Get:43 http://ftpmaster.internal/ubuntu plucky/main armhf libcairo-gobject2 armhf 1.18.2-2 [126 kB] 1416s Get:44 http://ftpmaster.internal/ubuntu plucky/main armhf libcolord2 armhf 1.4.7-3 [132 kB] 1416s Get:45 http://ftpmaster.internal/ubuntu plucky/main armhf libavahi-common-data armhf 0.8-16ubuntu1 [30.9 kB] 1416s Get:46 http://ftpmaster.internal/ubuntu plucky/main armhf libavahi-common3 armhf 0.8-16ubuntu1 [20.2 kB] 1416s Get:47 http://ftpmaster.internal/ubuntu plucky/main armhf libavahi-client3 armhf 0.8-16ubuntu1 [24.1 kB] 1416s Get:48 http://ftpmaster.internal/ubuntu plucky/main armhf libcups2t64 armhf 2.4.11-0ubuntu2 [243 kB] 1416s Get:49 http://ftpmaster.internal/ubuntu plucky/main armhf libepoxy0 armhf 1.5.10-2 [192 kB] 1416s Get:50 http://ftpmaster.internal/ubuntu plucky/main armhf libgraphite2-3 armhf 1.3.14-2ubuntu1 [64.8 kB] 1416s Get:51 http://ftpmaster.internal/ubuntu plucky/main armhf libharfbuzz0b armhf 10.2.0-1 [464 kB] 1416s Get:52 http://ftpmaster.internal/ubuntu plucky/main armhf fontconfig armhf 2.15.0-2ubuntu1 [190 kB] 1416s Get:53 http://ftpmaster.internal/ubuntu plucky/main armhf libthai-data all 0.1.29-2build1 [158 kB] 1416s Get:54 http://ftpmaster.internal/ubuntu plucky/main armhf libdatrie1 armhf 0.2.13-3build1 [15.7 kB] 1416s Get:55 http://ftpmaster.internal/ubuntu plucky/main armhf libthai0 armhf 0.1.29-2build1 [15.2 kB] 1416s Get:56 http://ftpmaster.internal/ubuntu plucky/main armhf libpango-1.0-0 armhf 1.56.2-1 [216 kB] 1416s Get:57 http://ftpmaster.internal/ubuntu plucky/main armhf libpangoft2-1.0-0 armhf 1.56.2-1 [43.6 kB] 1416s Get:58 http://ftpmaster.internal/ubuntu plucky/main armhf libpangocairo-1.0-0 armhf 1.56.2-1 [25.1 kB] 1416s Get:59 http://ftpmaster.internal/ubuntu plucky/main armhf libwayland-client0 armhf 1.23.1-3 [23.3 kB] 1416s Get:60 http://ftpmaster.internal/ubuntu plucky/main armhf libwayland-cursor0 armhf 1.23.1-3 [9648 B] 1416s Get:61 http://ftpmaster.internal/ubuntu plucky/main armhf libwayland-egl1 armhf 1.23.1-3 [5874 B] 1416s Get:62 http://ftpmaster.internal/ubuntu plucky/main armhf libxcomposite1 armhf 1:0.4.6-1 [6060 B] 1416s Get:63 http://ftpmaster.internal/ubuntu plucky/main armhf libxfixes3 armhf 1:6.0.0-2build1 [9038 B] 1416s Get:64 http://ftpmaster.internal/ubuntu plucky/main armhf libxcursor1 armhf 1:1.2.3-1 [18.0 kB] 1416s Get:65 http://ftpmaster.internal/ubuntu plucky/main armhf libxdamage1 armhf 1:1.1.6-1build1 [5462 B] 1416s Get:66 http://ftpmaster.internal/ubuntu plucky/main armhf libxinerama1 armhf 2:1.1.4-3build1 [5866 B] 1416s Get:67 http://ftpmaster.internal/ubuntu plucky/main armhf libxrandr2 armhf 2:1.5.4-1 [15.8 kB] 1416s Get:68 http://ftpmaster.internal/ubuntu plucky/main armhf libdconf1 armhf 0.40.0-5 [38.4 kB] 1416s Get:69 http://ftpmaster.internal/ubuntu plucky/main armhf dconf-service armhf 0.40.0-5 [27.6 kB] 1416s Get:70 http://ftpmaster.internal/ubuntu plucky/main armhf dconf-gsettings-backend armhf 0.40.0-5 [23.8 kB] 1416s Get:71 http://ftpmaster.internal/ubuntu plucky/main armhf libgtk-3-common all 3.24.48-3ubuntu1 [1424 kB] 1416s Get:72 http://ftpmaster.internal/ubuntu plucky/main armhf libgtk-3-0t64 armhf 3.24.48-3ubuntu1 [2621 kB] 1416s Get:73 http://ftpmaster.internal/ubuntu plucky/main armhf libglvnd0 armhf 1.7.0-1build1 [83.7 kB] 1416s Get:74 http://ftpmaster.internal/ubuntu plucky/main armhf libx11-xcb1 armhf 2:1.8.10-2 [7902 B] 1416s Get:75 http://ftpmaster.internal/ubuntu plucky/main armhf libxcb-dri3-0 armhf 1.17.0-2 [7120 B] 1416s Get:76 http://ftpmaster.internal/ubuntu plucky/main armhf libxcb-glx0 armhf 1.17.0-2 [22.6 kB] 1416s Get:77 http://ftpmaster.internal/ubuntu plucky/main armhf libxcb-present0 armhf 1.17.0-2 [5940 B] 1416s Get:78 http://ftpmaster.internal/ubuntu plucky/main armhf libxcb-xfixes0 armhf 1.17.0-2 [10.0 kB] 1416s Get:79 http://ftpmaster.internal/ubuntu plucky/main armhf libxxf86vm1 armhf 1:1.1.4-1build4 [8068 B] 1416s Get:80 http://ftpmaster.internal/ubuntu plucky/main armhf libllvm19 armhf 1:19.1.7-1ubuntu2 [27.8 MB] 1417s Get:81 http://ftpmaster.internal/ubuntu plucky/main armhf libxcb-randr0 armhf 1.17.0-2 [17.0 kB] 1417s Get:82 http://ftpmaster.internal/ubuntu plucky/main armhf libxcb-sync1 armhf 1.17.0-2 [8732 B] 1417s Get:83 http://ftpmaster.internal/ubuntu plucky/main armhf libxshmfence1 armhf 1.3-1build5 [4464 B] 1417s Get:84 http://ftpmaster.internal/ubuntu plucky/main armhf mesa-libgallium armhf 25.0.1-2ubuntu1 [8255 kB] 1417s Get:85 http://ftpmaster.internal/ubuntu plucky/main armhf libwayland-server0 armhf 1.23.1-3 [30.3 kB] 1417s Get:86 http://ftpmaster.internal/ubuntu plucky/main armhf libgbm1 armhf 25.0.1-2ubuntu1 [29.1 kB] 1417s Get:87 http://ftpmaster.internal/ubuntu plucky/main armhf libvulkan1 armhf 1.4.304.0-1 [127 kB] 1417s Get:88 http://ftpmaster.internal/ubuntu plucky/main armhf libgl1-mesa-dri armhf 25.0.1-2ubuntu1 [31.9 kB] 1417s Get:89 http://ftpmaster.internal/ubuntu plucky/main armhf libglx-mesa0 armhf 25.0.1-2ubuntu1 [120 kB] 1417s Get:90 http://ftpmaster.internal/ubuntu plucky/main armhf libglx0 armhf 1.7.0-1build1 [39.3 kB] 1417s Get:91 http://ftpmaster.internal/ubuntu plucky/main armhf libgl1 armhf 1.7.0-1build1 [105 kB] 1417s Get:92 http://ftpmaster.internal/ubuntu plucky/main armhf libasound2-data all 1.2.13-1build1 [21.1 kB] 1417s Get:93 http://ftpmaster.internal/ubuntu plucky/main armhf libasound2t64 armhf 1.2.13-1build1 [347 kB] 1417s Get:94 http://ftpmaster.internal/ubuntu plucky/main armhf libgif7 armhf 5.2.2-1ubuntu2 [32.5 kB] 1417s Get:95 http://ftpmaster.internal/ubuntu plucky/main armhf x11-common all 1:7.7+23ubuntu3 [21.7 kB] 1417s Get:96 http://ftpmaster.internal/ubuntu plucky/main armhf libxtst6 armhf 2:1.2.5-1 [11.0 kB] 1417s Get:97 http://ftpmaster.internal/ubuntu plucky/main armhf openjdk-21-jre armhf 21.0.6+7-1 [198 kB] 1417s Get:98 http://ftpmaster.internal/ubuntu plucky/main armhf default-jre armhf 2:1.21-76 [918 B] 1417s Get:99 http://ftpmaster.internal/ubuntu plucky/universe armhf libhamcrest-java all 2.2-2 [117 kB] 1417s Get:100 http://ftpmaster.internal/ubuntu plucky/universe armhf junit4 all 4.13.2-5 [348 kB] 1417s Get:101 http://ftpmaster.internal/ubuntu plucky/universe armhf libcommons-cli-java all 1.6.0-1 [59.9 kB] 1417s Get:102 http://ftpmaster.internal/ubuntu plucky/universe armhf libapache-pom-java all 33-2 [5874 B] 1417s Get:103 http://ftpmaster.internal/ubuntu plucky/universe armhf libcommons-parent-java all 56-1 [10.7 kB] 1417s Get:104 http://ftpmaster.internal/ubuntu plucky/universe armhf libcommons-io-java all 2.18.0-1 [477 kB] 1418s Get:105 http://ftpmaster.internal/ubuntu plucky/universe armhf libdropwizard-metrics-java all 3.2.6-1 [240 kB] 1418s Get:106 http://ftpmaster.internal/ubuntu plucky/universe armhf libfindbugs-annotations-java all 3.1.0~preview2-4 [48.9 kB] 1418s Get:107 http://ftpmaster.internal/ubuntu plucky/universe armhf libatinject-jsr330-api-java all 1.0+ds1-6 [5076 B] 1418s Get:108 http://ftpmaster.internal/ubuntu plucky/universe armhf liberror-prone-java all 2.18.0-1 [22.5 kB] 1418s Get:109 http://ftpmaster.internal/ubuntu plucky/universe armhf libjsr305-java all 0.1~+svn49-12 [27.0 kB] 1418s Get:110 http://ftpmaster.internal/ubuntu plucky/universe armhf libguava-java all 32.0.1-1 [2692 kB] 1418s Get:111 http://ftpmaster.internal/ubuntu plucky/universe armhf libjackson2-annotations-java all 2.14.0-1 [64.7 kB] 1418s Get:112 http://ftpmaster.internal/ubuntu plucky/universe armhf libjackson2-core-java all 2.14.1-1 [432 kB] 1418s Get:113 http://ftpmaster.internal/ubuntu plucky/universe armhf libjackson2-databind-java all 2.14.0+ds-1 [1481 kB] 1418s Get:114 http://ftpmaster.internal/ubuntu plucky/universe armhf libasm-java all 9.7.1-1 [388 kB] 1418s Get:115 http://ftpmaster.internal/ubuntu plucky/universe armhf libel-api-java all 3.0.0-3 [64.9 kB] 1418s Get:116 http://ftpmaster.internal/ubuntu plucky/universe armhf libjsp-api-java all 2.3.4-3 [53.7 kB] 1418s Get:117 http://ftpmaster.internal/ubuntu plucky/universe armhf libservlet-api-java all 4.0.1-2 [81.0 kB] 1418s Get:118 http://ftpmaster.internal/ubuntu plucky/universe armhf libwebsocket-api-java all 1.1-2 [40.1 kB] 1418s Get:119 http://ftpmaster.internal/ubuntu plucky/universe armhf libjetty9-java all 9.4.56-1 [2790 kB] 1418s Get:120 http://ftpmaster.internal/ubuntu plucky/universe armhf libjnr-constants-java all 0.10.4-2 [1397 kB] 1418s Get:121 http://ftpmaster.internal/ubuntu plucky/universe armhf libjffi-jni armhf 1.3.13+ds-1 [24.9 kB] 1418s Get:122 http://ftpmaster.internal/ubuntu plucky/universe armhf libjffi-java all 1.3.13+ds-1 [112 kB] 1418s Get:123 http://ftpmaster.internal/ubuntu plucky/universe armhf libjnr-x86asm-java all 1.0.2-6 [216 kB] 1418s Get:124 http://ftpmaster.internal/ubuntu plucky/universe armhf libjnr-ffi-java all 2.2.15-2 [627 kB] 1418s Get:125 http://ftpmaster.internal/ubuntu plucky/universe armhf libjnr-enxio-java all 0.32.16-1 [33.7 kB] 1418s Get:126 http://ftpmaster.internal/ubuntu plucky/universe armhf libjnr-posix-java all 3.1.18-1 [267 kB] 1418s Get:127 http://ftpmaster.internal/ubuntu plucky/universe armhf libjnr-unixsocket-java all 0.38.21-2 [46.9 kB] 1418s Get:128 http://ftpmaster.internal/ubuntu plucky/universe armhf libactivation-java all 1.2.0-2 [84.7 kB] 1418s Get:129 http://ftpmaster.internal/ubuntu plucky/universe armhf libmail-java all 1.6.5-3 [681 kB] 1418s Get:130 http://ftpmaster.internal/ubuntu plucky/universe armhf libcommons-logging-java all 1.3.0-1ubuntu1 [63.8 kB] 1418s Get:131 http://ftpmaster.internal/ubuntu plucky/universe armhf libjaxb-api-java all 2.3.1-1 [119 kB] 1418s Get:132 http://ftpmaster.internal/ubuntu plucky/universe armhf libspring-core-java all 4.3.30-2ubuntu1 [1015 kB] 1418s Get:133 http://ftpmaster.internal/ubuntu plucky/universe armhf libspring-beans-java all 4.3.30-2ubuntu1 [677 kB] 1418s Get:134 http://ftpmaster.internal/ubuntu plucky/universe armhf libtaglibs-standard-spec-java all 1.2.5-3 [35.2 kB] 1418s Get:135 http://ftpmaster.internal/ubuntu plucky/universe armhf libtaglibs-standard-impl-java all 1.2.5-3 [182 kB] 1418s Get:136 http://ftpmaster.internal/ubuntu plucky/universe armhf libeclipse-jdt-core-compiler-batch-java all 3.35.0+eclipse4.29-2 [2933 kB] 1418s Get:137 http://ftpmaster.internal/ubuntu plucky/universe armhf libeclipse-jdt-core-java all 3.35.0+eclipse4.29-2 [3831 kB] 1418s Get:138 http://ftpmaster.internal/ubuntu plucky/universe armhf libtomcat9-java all 9.0.70-2ubuntu1.1 [6161 kB] 1418s Get:139 http://ftpmaster.internal/ubuntu plucky/universe armhf libjetty9-extra-java all 9.4.56-1 [1199 kB] 1418s Get:140 http://ftpmaster.internal/ubuntu plucky/universe armhf libjavaparser-java all 3.26.1-1 [1326 kB] 1419s Get:141 http://ftpmaster.internal/ubuntu plucky/universe armhf libjctools-java all 4.0.5+dfsg-1 [506 kB] 1419s Get:142 http://ftpmaster.internal/ubuntu plucky/universe armhf libnetty-java all 1:4.1.48-10 [3628 kB] 1419s Get:143 http://ftpmaster.internal/ubuntu plucky/universe armhf libslf4j-java all 1.7.32-1 [141 kB] 1419s Get:144 http://ftpmaster.internal/ubuntu plucky/main armhf libsnappy1v5 armhf 1.2.1-1 [28.4 kB] 1419s Get:145 http://ftpmaster.internal/ubuntu plucky/universe armhf libsnappy-jni armhf 1.1.10.7-1 [6228 B] 1419s Get:146 http://ftpmaster.internal/ubuntu plucky/universe armhf libsnappy-java all 1.1.10.7-1 [83.6 kB] 1419s Get:147 http://ftpmaster.internal/ubuntu plucky/main armhf libapr1t64 armhf 1.7.5-1 [88.2 kB] 1419s Get:148 http://ftpmaster.internal/ubuntu plucky/universe armhf libnetty-tcnative-jni armhf 2.0.28-1build4 [28.9 kB] 1419s Get:149 http://ftpmaster.internal/ubuntu plucky/universe armhf libnetty-tcnative-java all 2.0.28-1build4 [24.8 kB] 1419s Get:150 http://ftpmaster.internal/ubuntu plucky/universe armhf liblog4j1.2-java all 1.2.17-11 [439 kB] 1419s Get:151 http://ftpmaster.internal/ubuntu plucky/universe armhf libzookeeper-java all 3.9.3-1build1 [1890 kB] 1419s Get:152 http://ftpmaster.internal/ubuntu plucky/universe armhf zookeeper all 3.9.3-1build1 [57.8 kB] 1419s Get:153 http://ftpmaster.internal/ubuntu plucky/universe armhf zookeeperd all 3.9.3-1build1 [6016 B] 1419s Get:154 http://ftpmaster.internal/ubuntu plucky/main armhf fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 1419s Get:155 http://ftpmaster.internal/ubuntu plucky/main armhf libcares2 armhf 1.34.4-2.1 [85.0 kB] 1419s Get:156 http://ftpmaster.internal/ubuntu plucky/universe armhf libev4t64 armhf 1:4.33-2.1build1 [26.3 kB] 1419s Get:157 http://ftpmaster.internal/ubuntu plucky/main armhf libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 1419s Get:158 http://ftpmaster.internal/ubuntu plucky/main armhf libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 1419s Get:159 http://ftpmaster.internal/ubuntu plucky/main armhf libjs-sphinxdoc all 8.1.3-4 [30.9 kB] 1419s Get:160 http://ftpmaster.internal/ubuntu plucky/main armhf libllvm20 armhf 1:20.1.0~+rc2-1~exp2ubuntu0.4 [29.6 MB] 1421s Get:161 http://ftpmaster.internal/ubuntu plucky/main armhf libpq5 armhf 17.4-1 [125 kB] 1421s Get:162 http://ftpmaster.internal/ubuntu plucky/main armhf libtime-duration-perl all 1.21-2 [12.3 kB] 1421s Get:163 http://ftpmaster.internal/ubuntu plucky/main armhf libtimedate-perl all 2.3300-2 [34.0 kB] 1421s Get:164 http://ftpmaster.internal/ubuntu plucky/main armhf libxslt1.1 armhf 1.1.39-0exp1ubuntu2 [152 kB] 1421s Get:165 http://ftpmaster.internal/ubuntu plucky/universe armhf moreutils armhf 0.69-1 [53.5 kB] 1421s Get:166 http://ftpmaster.internal/ubuntu plucky/main armhf python3-click all 8.2.0+0.really.8.1.8-1 [80.0 kB] 1421s Get:167 http://ftpmaster.internal/ubuntu plucky/main armhf python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 1421s Get:168 http://ftpmaster.internal/ubuntu plucky/main armhf python3-prettytable all 3.12.0-1 [36.5 kB] 1421s Get:169 http://ftpmaster.internal/ubuntu plucky/main armhf python3-psutil armhf 5.9.8-2build3 [194 kB] 1421s Get:170 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-ydiff all 1.4.2-1 [19.0 kB] 1422s Get:171 http://ftpmaster.internal/ubuntu plucky/main armhf python3-psycopg2 armhf 2.9.10-1build1 [125 kB] 1422s Get:172 http://ftpmaster.internal/ubuntu plucky/main armhf python3-greenlet armhf 3.1.0-1build1 [161 kB] 1422s Get:173 http://ftpmaster.internal/ubuntu plucky/main armhf python3-dnspython all 2.7.0-1ubuntu1 [167 kB] 1422s Get:174 http://ftpmaster.internal/ubuntu plucky/main armhf python3-eventlet all 0.39.0-0ubuntu1 [277 kB] 1422s Get:175 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-zope.event all 5.0-0.1 [7512 B] 1422s Get:176 http://ftpmaster.internal/ubuntu plucky/main armhf python3-zope.interface armhf 7.2-1build1 [139 kB] 1422s Get:177 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-gevent armhf 24.11.1-1build1 [822 kB] 1422s Get:178 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-kerberos armhf 1.1.14-3.1build11 [19.9 kB] 1422s Get:179 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-pure-sasl all 0.5.1+dfsg1-5 [11.4 kB] 1422s Get:180 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-kazoo all 2.9.0-2 [103 kB] 1422s Get:181 http://ftpmaster.internal/ubuntu plucky-proposed/universe armhf patroni all 4.0.4-8 [282 kB] 1422s Get:182 http://ftpmaster.internal/ubuntu plucky/main armhf sphinx-rtd-theme-common all 3.0.2+dfsg-2 [1014 kB] 1422s Get:183 http://ftpmaster.internal/ubuntu plucky-proposed/universe armhf patroni-doc all 4.0.4-8 [526 kB] 1422s Get:184 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql-client-17 armhf 17.4-1 [1285 kB] 1422s Get:185 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql-17 armhf 17.4-1 [14.8 MB] 1422s Get:186 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql all 17+274 [14.4 kB] 1422s Get:187 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-parse all 1.20.2-1 [27.0 kB] 1422s Get:188 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-parse-type all 0.6.4-2 [23.5 kB] 1422s Get:189 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-behave all 1.2.6-6 [98.6 kB] 1422s Get:190 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-coverage armhf 7.6.0+dfsg1-2build1 [152 kB] 1423s Preconfiguring packages ... 1423s /var/cache/debconf/tmp.ci/postgresql.config.eCEz6E: 12: pg_lsclusters: not found 1423s Fetched 180 MB in 9s (19.9 MB/s) 1423s Selecting previously unselected package fonts-lato. 1423s (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 ... 64655 files and directories currently installed.) 1423s Preparing to unpack .../000-fonts-lato_2.015-1_all.deb ... 1423s Unpacking fonts-lato (2.015-1) ... 1423s Selecting previously unselected package libjson-perl. 1423s Preparing to unpack .../001-libjson-perl_4.10000-1_all.deb ... 1423s Unpacking libjson-perl (4.10000-1) ... 1423s Selecting previously unselected package postgresql-client-common. 1423s Preparing to unpack .../002-postgresql-client-common_274_all.deb ... 1423s Unpacking postgresql-client-common (274) ... 1424s Selecting previously unselected package libio-pty-perl. 1424s Preparing to unpack .../003-libio-pty-perl_1%3a1.20-1build3_armhf.deb ... 1424s Unpacking libio-pty-perl (1:1.20-1build3) ... 1424s Selecting previously unselected package libipc-run-perl. 1424s Preparing to unpack .../004-libipc-run-perl_20231003.0-2_all.deb ... 1424s Unpacking libipc-run-perl (20231003.0-2) ... 1424s Selecting previously unselected package postgresql-common-dev. 1424s Preparing to unpack .../005-postgresql-common-dev_274_all.deb ... 1424s Unpacking postgresql-common-dev (274) ... 1424s Selecting previously unselected package ssl-cert. 1424s Preparing to unpack .../006-ssl-cert_1.1.3ubuntu1_all.deb ... 1424s Unpacking ssl-cert (1.1.3ubuntu1) ... 1424s Selecting previously unselected package postgresql-common. 1424s Preparing to unpack .../007-postgresql-common_274_all.deb ... 1424s Adding 'diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common' 1424s Unpacking postgresql-common (274) ... 1424s Selecting previously unselected package ca-certificates-java. 1424s Preparing to unpack .../008-ca-certificates-java_20240118_all.deb ... 1424s Unpacking ca-certificates-java (20240118) ... 1424s Selecting previously unselected package java-common. 1424s Preparing to unpack .../009-java-common_0.76_all.deb ... 1424s Unpacking java-common (0.76) ... 1424s Selecting previously unselected package liblcms2-2:armhf. 1424s Preparing to unpack .../010-liblcms2-2_2.16-2_armhf.deb ... 1424s Unpacking liblcms2-2:armhf (2.16-2) ... 1424s Selecting previously unselected package libjpeg-turbo8:armhf. 1424s Preparing to unpack .../011-libjpeg-turbo8_2.1.5-3ubuntu2_armhf.deb ... 1424s Unpacking libjpeg-turbo8:armhf (2.1.5-3ubuntu2) ... 1424s Selecting previously unselected package libjpeg8:armhf. 1424s Preparing to unpack .../012-libjpeg8_8c-2ubuntu11_armhf.deb ... 1424s Unpacking libjpeg8:armhf (8c-2ubuntu11) ... 1424s Selecting previously unselected package libpcsclite1:armhf. 1424s Preparing to unpack .../013-libpcsclite1_2.3.1-1_armhf.deb ... 1424s Unpacking libpcsclite1:armhf (2.3.1-1) ... 1424s Selecting previously unselected package openjdk-21-jre-headless:armhf. 1424s Preparing to unpack .../014-openjdk-21-jre-headless_21.0.6+7-1_armhf.deb ... 1424s Unpacking openjdk-21-jre-headless:armhf (21.0.6+7-1) ... 1425s Selecting previously unselected package default-jre-headless. 1425s Preparing to unpack .../015-default-jre-headless_2%3a1.21-76_armhf.deb ... 1425s Unpacking default-jre-headless (2:1.21-76) ... 1425s Selecting previously unselected package libgdk-pixbuf2.0-common. 1425s Preparing to unpack .../016-libgdk-pixbuf2.0-common_2.42.12+dfsg-2_all.deb ... 1425s Unpacking libgdk-pixbuf2.0-common (2.42.12+dfsg-2) ... 1425s Selecting previously unselected package libdeflate0:armhf. 1425s Preparing to unpack .../017-libdeflate0_1.23-1_armhf.deb ... 1425s Unpacking libdeflate0:armhf (1.23-1) ... 1425s Selecting previously unselected package libjbig0:armhf. 1425s Preparing to unpack .../018-libjbig0_2.1-6.1ubuntu2_armhf.deb ... 1425s Unpacking libjbig0:armhf (2.1-6.1ubuntu2) ... 1425s Selecting previously unselected package liblerc4:armhf. 1425s Preparing to unpack .../019-liblerc4_4.0.0+ds-5ubuntu1_armhf.deb ... 1425s Unpacking liblerc4:armhf (4.0.0+ds-5ubuntu1) ... 1425s Selecting previously unselected package libsharpyuv0:armhf. 1425s Preparing to unpack .../020-libsharpyuv0_1.5.0-0.1_armhf.deb ... 1425s Unpacking libsharpyuv0:armhf (1.5.0-0.1) ... 1425s Selecting previously unselected package libwebp7:armhf. 1425s Preparing to unpack .../021-libwebp7_1.5.0-0.1_armhf.deb ... 1425s Unpacking libwebp7:armhf (1.5.0-0.1) ... 1425s Selecting previously unselected package libtiff6:armhf. 1425s Preparing to unpack .../022-libtiff6_4.5.1+git230720-4ubuntu4_armhf.deb ... 1425s Unpacking libtiff6:armhf (4.5.1+git230720-4ubuntu4) ... 1425s Selecting previously unselected package libgdk-pixbuf-2.0-0:armhf. 1425s Preparing to unpack .../023-libgdk-pixbuf-2.0-0_2.42.12+dfsg-2_armhf.deb ... 1425s Unpacking libgdk-pixbuf-2.0-0:armhf (2.42.12+dfsg-2) ... 1425s Selecting previously unselected package gtk-update-icon-cache. 1425s Preparing to unpack .../024-gtk-update-icon-cache_4.17.5+ds-3ubuntu1_armhf.deb ... 1425s No diversion 'diversion of /usr/sbin/update-icon-caches to /usr/sbin/update-icon-caches.gtk2 by libgtk-3-bin', none removed. 1425s 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. 1425s Unpacking gtk-update-icon-cache (4.17.5+ds-3ubuntu1) ... 1425s Selecting previously unselected package hicolor-icon-theme. 1425s Preparing to unpack .../025-hicolor-icon-theme_0.18-2_all.deb ... 1425s Unpacking hicolor-icon-theme (0.18-2) ... 1425s Selecting previously unselected package adwaita-icon-theme. 1425s Preparing to unpack .../026-adwaita-icon-theme_48.0-1_all.deb ... 1425s Unpacking adwaita-icon-theme (48.0-1) ... 1426s Selecting previously unselected package at-spi2-common. 1426s Preparing to unpack .../027-at-spi2-common_2.55.90-1_all.deb ... 1426s Unpacking at-spi2-common (2.55.90-1) ... 1426s Selecting previously unselected package libatk1.0-0t64:armhf. 1426s Preparing to unpack .../028-libatk1.0-0t64_2.55.90-1_armhf.deb ... 1426s Unpacking libatk1.0-0t64:armhf (2.55.90-1) ... 1426s Selecting previously unselected package libxi6:armhf. 1426s Preparing to unpack .../029-libxi6_2%3a1.8.2-1_armhf.deb ... 1426s Unpacking libxi6:armhf (2:1.8.2-1) ... 1426s Selecting previously unselected package libatspi2.0-0t64:armhf. 1426s Preparing to unpack .../030-libatspi2.0-0t64_2.55.90-1_armhf.deb ... 1426s Unpacking libatspi2.0-0t64:armhf (2.55.90-1) ... 1426s Selecting previously unselected package libatk-bridge2.0-0t64:armhf. 1426s Preparing to unpack .../031-libatk-bridge2.0-0t64_2.55.90-1_armhf.deb ... 1426s Unpacking libatk-bridge2.0-0t64:armhf (2.55.90-1) ... 1426s Selecting previously unselected package libfreetype6:armhf. 1426s Preparing to unpack .../032-libfreetype6_2.13.3+dfsg-1_armhf.deb ... 1426s Unpacking libfreetype6:armhf (2.13.3+dfsg-1) ... 1426s Selecting previously unselected package fonts-dejavu-mono. 1426s Preparing to unpack .../033-fonts-dejavu-mono_2.37-8_all.deb ... 1426s Unpacking fonts-dejavu-mono (2.37-8) ... 1426s Selecting previously unselected package fonts-dejavu-core. 1426s Preparing to unpack .../034-fonts-dejavu-core_2.37-8_all.deb ... 1426s Unpacking fonts-dejavu-core (2.37-8) ... 1426s Selecting previously unselected package fontconfig-config. 1426s Preparing to unpack .../035-fontconfig-config_2.15.0-2ubuntu1_armhf.deb ... 1426s Unpacking fontconfig-config (2.15.0-2ubuntu1) ... 1426s Selecting previously unselected package libfontconfig1:armhf. 1426s Preparing to unpack .../036-libfontconfig1_2.15.0-2ubuntu1_armhf.deb ... 1426s Unpacking libfontconfig1:armhf (2.15.0-2ubuntu1) ... 1426s Selecting previously unselected package libpixman-1-0:armhf. 1426s Preparing to unpack .../037-libpixman-1-0_0.44.0-3_armhf.deb ... 1426s Unpacking libpixman-1-0:armhf (0.44.0-3) ... 1426s Selecting previously unselected package libxcb-render0:armhf. 1426s Preparing to unpack .../038-libxcb-render0_1.17.0-2_armhf.deb ... 1426s Unpacking libxcb-render0:armhf (1.17.0-2) ... 1426s Selecting previously unselected package libxcb-shm0:armhf. 1426s Preparing to unpack .../039-libxcb-shm0_1.17.0-2_armhf.deb ... 1426s Unpacking libxcb-shm0:armhf (1.17.0-2) ... 1426s Selecting previously unselected package libxrender1:armhf. 1426s Preparing to unpack .../040-libxrender1_1%3a0.9.10-1.1build1_armhf.deb ... 1426s Unpacking libxrender1:armhf (1:0.9.10-1.1build1) ... 1426s Selecting previously unselected package libcairo2:armhf. 1426s Preparing to unpack .../041-libcairo2_1.18.2-2_armhf.deb ... 1426s Unpacking libcairo2:armhf (1.18.2-2) ... 1426s Selecting previously unselected package libcairo-gobject2:armhf. 1426s Preparing to unpack .../042-libcairo-gobject2_1.18.2-2_armhf.deb ... 1426s Unpacking libcairo-gobject2:armhf (1.18.2-2) ... 1426s Selecting previously unselected package libcolord2:armhf. 1426s Preparing to unpack .../043-libcolord2_1.4.7-3_armhf.deb ... 1426s Unpacking libcolord2:armhf (1.4.7-3) ... 1426s Selecting previously unselected package libavahi-common-data:armhf. 1426s Preparing to unpack .../044-libavahi-common-data_0.8-16ubuntu1_armhf.deb ... 1426s Unpacking libavahi-common-data:armhf (0.8-16ubuntu1) ... 1426s Selecting previously unselected package libavahi-common3:armhf. 1426s Preparing to unpack .../045-libavahi-common3_0.8-16ubuntu1_armhf.deb ... 1426s Unpacking libavahi-common3:armhf (0.8-16ubuntu1) ... 1426s Selecting previously unselected package libavahi-client3:armhf. 1426s Preparing to unpack .../046-libavahi-client3_0.8-16ubuntu1_armhf.deb ... 1426s Unpacking libavahi-client3:armhf (0.8-16ubuntu1) ... 1427s Selecting previously unselected package libcups2t64:armhf. 1427s Preparing to unpack .../047-libcups2t64_2.4.11-0ubuntu2_armhf.deb ... 1427s Unpacking libcups2t64:armhf (2.4.11-0ubuntu2) ... 1427s Selecting previously unselected package libepoxy0:armhf. 1427s Preparing to unpack .../048-libepoxy0_1.5.10-2_armhf.deb ... 1427s Unpacking libepoxy0:armhf (1.5.10-2) ... 1427s Selecting previously unselected package libgraphite2-3:armhf. 1427s Preparing to unpack .../049-libgraphite2-3_1.3.14-2ubuntu1_armhf.deb ... 1427s Unpacking libgraphite2-3:armhf (1.3.14-2ubuntu1) ... 1427s Selecting previously unselected package libharfbuzz0b:armhf. 1427s Preparing to unpack .../050-libharfbuzz0b_10.2.0-1_armhf.deb ... 1427s Unpacking libharfbuzz0b:armhf (10.2.0-1) ... 1427s Selecting previously unselected package fontconfig. 1427s Preparing to unpack .../051-fontconfig_2.15.0-2ubuntu1_armhf.deb ... 1427s Unpacking fontconfig (2.15.0-2ubuntu1) ... 1427s Selecting previously unselected package libthai-data. 1427s Preparing to unpack .../052-libthai-data_0.1.29-2build1_all.deb ... 1427s Unpacking libthai-data (0.1.29-2build1) ... 1427s Selecting previously unselected package libdatrie1:armhf. 1427s Preparing to unpack .../053-libdatrie1_0.2.13-3build1_armhf.deb ... 1427s Unpacking libdatrie1:armhf (0.2.13-3build1) ... 1427s Selecting previously unselected package libthai0:armhf. 1427s Preparing to unpack .../054-libthai0_0.1.29-2build1_armhf.deb ... 1427s Unpacking libthai0:armhf (0.1.29-2build1) ... 1427s Selecting previously unselected package libpango-1.0-0:armhf. 1427s Preparing to unpack .../055-libpango-1.0-0_1.56.2-1_armhf.deb ... 1427s Unpacking libpango-1.0-0:armhf (1.56.2-1) ... 1427s Selecting previously unselected package libpangoft2-1.0-0:armhf. 1427s Preparing to unpack .../056-libpangoft2-1.0-0_1.56.2-1_armhf.deb ... 1427s Unpacking libpangoft2-1.0-0:armhf (1.56.2-1) ... 1427s Selecting previously unselected package libpangocairo-1.0-0:armhf. 1427s Preparing to unpack .../057-libpangocairo-1.0-0_1.56.2-1_armhf.deb ... 1427s Unpacking libpangocairo-1.0-0:armhf (1.56.2-1) ... 1427s Selecting previously unselected package libwayland-client0:armhf. 1427s Preparing to unpack .../058-libwayland-client0_1.23.1-3_armhf.deb ... 1427s Unpacking libwayland-client0:armhf (1.23.1-3) ... 1427s Selecting previously unselected package libwayland-cursor0:armhf. 1427s Preparing to unpack .../059-libwayland-cursor0_1.23.1-3_armhf.deb ... 1427s Unpacking libwayland-cursor0:armhf (1.23.1-3) ... 1427s Selecting previously unselected package libwayland-egl1:armhf. 1427s Preparing to unpack .../060-libwayland-egl1_1.23.1-3_armhf.deb ... 1427s Unpacking libwayland-egl1:armhf (1.23.1-3) ... 1427s Selecting previously unselected package libxcomposite1:armhf. 1427s Preparing to unpack .../061-libxcomposite1_1%3a0.4.6-1_armhf.deb ... 1427s Unpacking libxcomposite1:armhf (1:0.4.6-1) ... 1427s Selecting previously unselected package libxfixes3:armhf. 1427s Preparing to unpack .../062-libxfixes3_1%3a6.0.0-2build1_armhf.deb ... 1427s Unpacking libxfixes3:armhf (1:6.0.0-2build1) ... 1427s Selecting previously unselected package libxcursor1:armhf. 1427s Preparing to unpack .../063-libxcursor1_1%3a1.2.3-1_armhf.deb ... 1427s Unpacking libxcursor1:armhf (1:1.2.3-1) ... 1427s Selecting previously unselected package libxdamage1:armhf. 1427s Preparing to unpack .../064-libxdamage1_1%3a1.1.6-1build1_armhf.deb ... 1427s Unpacking libxdamage1:armhf (1:1.1.6-1build1) ... 1427s Selecting previously unselected package libxinerama1:armhf. 1427s Preparing to unpack .../065-libxinerama1_2%3a1.1.4-3build1_armhf.deb ... 1427s Unpacking libxinerama1:armhf (2:1.1.4-3build1) ... 1427s Selecting previously unselected package libxrandr2:armhf. 1427s Preparing to unpack .../066-libxrandr2_2%3a1.5.4-1_armhf.deb ... 1427s Unpacking libxrandr2:armhf (2:1.5.4-1) ... 1427s Selecting previously unselected package libdconf1:armhf. 1427s Preparing to unpack .../067-libdconf1_0.40.0-5_armhf.deb ... 1427s Unpacking libdconf1:armhf (0.40.0-5) ... 1427s Selecting previously unselected package dconf-service. 1427s Preparing to unpack .../068-dconf-service_0.40.0-5_armhf.deb ... 1427s Unpacking dconf-service (0.40.0-5) ... 1427s Selecting previously unselected package dconf-gsettings-backend:armhf. 1427s Preparing to unpack .../069-dconf-gsettings-backend_0.40.0-5_armhf.deb ... 1427s Unpacking dconf-gsettings-backend:armhf (0.40.0-5) ... 1427s Selecting previously unselected package libgtk-3-common. 1427s Preparing to unpack .../070-libgtk-3-common_3.24.48-3ubuntu1_all.deb ... 1427s Unpacking libgtk-3-common (3.24.48-3ubuntu1) ... 1427s Selecting previously unselected package libgtk-3-0t64:armhf. 1427s Preparing to unpack .../071-libgtk-3-0t64_3.24.48-3ubuntu1_armhf.deb ... 1427s Unpacking libgtk-3-0t64:armhf (3.24.48-3ubuntu1) ... 1427s Selecting previously unselected package libglvnd0:armhf. 1427s Preparing to unpack .../072-libglvnd0_1.7.0-1build1_armhf.deb ... 1427s Unpacking libglvnd0:armhf (1.7.0-1build1) ... 1427s Selecting previously unselected package libx11-xcb1:armhf. 1427s Preparing to unpack .../073-libx11-xcb1_2%3a1.8.10-2_armhf.deb ... 1427s Unpacking libx11-xcb1:armhf (2:1.8.10-2) ... 1427s Selecting previously unselected package libxcb-dri3-0:armhf. 1427s Preparing to unpack .../074-libxcb-dri3-0_1.17.0-2_armhf.deb ... 1427s Unpacking libxcb-dri3-0:armhf (1.17.0-2) ... 1427s Selecting previously unselected package libxcb-glx0:armhf. 1428s Preparing to unpack .../075-libxcb-glx0_1.17.0-2_armhf.deb ... 1428s Unpacking libxcb-glx0:armhf (1.17.0-2) ... 1428s Selecting previously unselected package libxcb-present0:armhf. 1428s Preparing to unpack .../076-libxcb-present0_1.17.0-2_armhf.deb ... 1428s Unpacking libxcb-present0:armhf (1.17.0-2) ... 1428s Selecting previously unselected package libxcb-xfixes0:armhf. 1428s Preparing to unpack .../077-libxcb-xfixes0_1.17.0-2_armhf.deb ... 1428s Unpacking libxcb-xfixes0:armhf (1.17.0-2) ... 1428s Selecting previously unselected package libxxf86vm1:armhf. 1428s Preparing to unpack .../078-libxxf86vm1_1%3a1.1.4-1build4_armhf.deb ... 1428s Unpacking libxxf86vm1:armhf (1:1.1.4-1build4) ... 1428s Selecting previously unselected package libllvm19:armhf. 1428s Preparing to unpack .../079-libllvm19_1%3a19.1.7-1ubuntu2_armhf.deb ... 1428s Unpacking libllvm19:armhf (1:19.1.7-1ubuntu2) ... 1428s Selecting previously unselected package libxcb-randr0:armhf. 1428s Preparing to unpack .../080-libxcb-randr0_1.17.0-2_armhf.deb ... 1428s Unpacking libxcb-randr0:armhf (1.17.0-2) ... 1428s Selecting previously unselected package libxcb-sync1:armhf. 1428s Preparing to unpack .../081-libxcb-sync1_1.17.0-2_armhf.deb ... 1428s Unpacking libxcb-sync1:armhf (1.17.0-2) ... 1429s Selecting previously unselected package libxshmfence1:armhf. 1429s Preparing to unpack .../082-libxshmfence1_1.3-1build5_armhf.deb ... 1429s Unpacking libxshmfence1:armhf (1.3-1build5) ... 1429s Selecting previously unselected package mesa-libgallium:armhf. 1429s Preparing to unpack .../083-mesa-libgallium_25.0.1-2ubuntu1_armhf.deb ... 1429s Unpacking mesa-libgallium:armhf (25.0.1-2ubuntu1) ... 1429s Selecting previously unselected package libwayland-server0:armhf. 1429s Preparing to unpack .../084-libwayland-server0_1.23.1-3_armhf.deb ... 1429s Unpacking libwayland-server0:armhf (1.23.1-3) ... 1429s Selecting previously unselected package libgbm1:armhf. 1429s Preparing to unpack .../085-libgbm1_25.0.1-2ubuntu1_armhf.deb ... 1429s Unpacking libgbm1:armhf (25.0.1-2ubuntu1) ... 1429s Selecting previously unselected package libvulkan1:armhf. 1429s Preparing to unpack .../086-libvulkan1_1.4.304.0-1_armhf.deb ... 1429s Unpacking libvulkan1:armhf (1.4.304.0-1) ... 1429s Selecting previously unselected package libgl1-mesa-dri:armhf. 1429s Preparing to unpack .../087-libgl1-mesa-dri_25.0.1-2ubuntu1_armhf.deb ... 1429s Unpacking libgl1-mesa-dri:armhf (25.0.1-2ubuntu1) ... 1429s Selecting previously unselected package libglx-mesa0:armhf. 1429s Preparing to unpack .../088-libglx-mesa0_25.0.1-2ubuntu1_armhf.deb ... 1429s Unpacking libglx-mesa0:armhf (25.0.1-2ubuntu1) ... 1429s Selecting previously unselected package libglx0:armhf. 1429s Preparing to unpack .../089-libglx0_1.7.0-1build1_armhf.deb ... 1429s Unpacking libglx0:armhf (1.7.0-1build1) ... 1429s Selecting previously unselected package libgl1:armhf. 1429s Preparing to unpack .../090-libgl1_1.7.0-1build1_armhf.deb ... 1429s Unpacking libgl1:armhf (1.7.0-1build1) ... 1429s Selecting previously unselected package libasound2-data. 1429s Preparing to unpack .../091-libasound2-data_1.2.13-1build1_all.deb ... 1429s Unpacking libasound2-data (1.2.13-1build1) ... 1429s Selecting previously unselected package libasound2t64:armhf. 1429s Preparing to unpack .../092-libasound2t64_1.2.13-1build1_armhf.deb ... 1429s Unpacking libasound2t64:armhf (1.2.13-1build1) ... 1429s Selecting previously unselected package libgif7:armhf. 1429s Preparing to unpack .../093-libgif7_5.2.2-1ubuntu2_armhf.deb ... 1429s Unpacking libgif7:armhf (5.2.2-1ubuntu2) ... 1429s Selecting previously unselected package x11-common. 1429s Preparing to unpack .../094-x11-common_1%3a7.7+23ubuntu3_all.deb ... 1429s Unpacking x11-common (1:7.7+23ubuntu3) ... 1429s Selecting previously unselected package libxtst6:armhf. 1429s Preparing to unpack .../095-libxtst6_2%3a1.2.5-1_armhf.deb ... 1429s Unpacking libxtst6:armhf (2:1.2.5-1) ... 1429s Selecting previously unselected package openjdk-21-jre:armhf. 1429s Preparing to unpack .../096-openjdk-21-jre_21.0.6+7-1_armhf.deb ... 1429s Unpacking openjdk-21-jre:armhf (21.0.6+7-1) ... 1429s Selecting previously unselected package default-jre. 1429s Preparing to unpack .../097-default-jre_2%3a1.21-76_armhf.deb ... 1429s Unpacking default-jre (2:1.21-76) ... 1429s Selecting previously unselected package libhamcrest-java. 1429s Preparing to unpack .../098-libhamcrest-java_2.2-2_all.deb ... 1429s Unpacking libhamcrest-java (2.2-2) ... 1429s Selecting previously unselected package junit4. 1429s Preparing to unpack .../099-junit4_4.13.2-5_all.deb ... 1429s Unpacking junit4 (4.13.2-5) ... 1429s Selecting previously unselected package libcommons-cli-java. 1429s Preparing to unpack .../100-libcommons-cli-java_1.6.0-1_all.deb ... 1429s Unpacking libcommons-cli-java (1.6.0-1) ... 1429s Selecting previously unselected package libapache-pom-java. 1429s Preparing to unpack .../101-libapache-pom-java_33-2_all.deb ... 1429s Unpacking libapache-pom-java (33-2) ... 1429s Selecting previously unselected package libcommons-parent-java. 1429s Preparing to unpack .../102-libcommons-parent-java_56-1_all.deb ... 1429s Unpacking libcommons-parent-java (56-1) ... 1429s Selecting previously unselected package libcommons-io-java. 1429s Preparing to unpack .../103-libcommons-io-java_2.18.0-1_all.deb ... 1429s Unpacking libcommons-io-java (2.18.0-1) ... 1429s Selecting previously unselected package libdropwizard-metrics-java. 1429s Preparing to unpack .../104-libdropwizard-metrics-java_3.2.6-1_all.deb ... 1429s Unpacking libdropwizard-metrics-java (3.2.6-1) ... 1429s Selecting previously unselected package libfindbugs-annotations-java. 1430s Preparing to unpack .../105-libfindbugs-annotations-java_3.1.0~preview2-4_all.deb ... 1430s Unpacking libfindbugs-annotations-java (3.1.0~preview2-4) ... 1430s Selecting previously unselected package libatinject-jsr330-api-java. 1430s Preparing to unpack .../106-libatinject-jsr330-api-java_1.0+ds1-6_all.deb ... 1430s Unpacking libatinject-jsr330-api-java (1.0+ds1-6) ... 1430s Selecting previously unselected package liberror-prone-java. 1430s Preparing to unpack .../107-liberror-prone-java_2.18.0-1_all.deb ... 1430s Unpacking liberror-prone-java (2.18.0-1) ... 1430s Selecting previously unselected package libjsr305-java. 1430s Preparing to unpack .../108-libjsr305-java_0.1~+svn49-12_all.deb ... 1430s Unpacking libjsr305-java (0.1~+svn49-12) ... 1430s Selecting previously unselected package libguava-java. 1430s Preparing to unpack .../109-libguava-java_32.0.1-1_all.deb ... 1430s Unpacking libguava-java (32.0.1-1) ... 1430s Selecting previously unselected package libjackson2-annotations-java. 1430s Preparing to unpack .../110-libjackson2-annotations-java_2.14.0-1_all.deb ... 1430s Unpacking libjackson2-annotations-java (2.14.0-1) ... 1430s Selecting previously unselected package libjackson2-core-java. 1430s Preparing to unpack .../111-libjackson2-core-java_2.14.1-1_all.deb ... 1430s Unpacking libjackson2-core-java (2.14.1-1) ... 1430s Selecting previously unselected package libjackson2-databind-java. 1430s Preparing to unpack .../112-libjackson2-databind-java_2.14.0+ds-1_all.deb ... 1430s Unpacking libjackson2-databind-java (2.14.0+ds-1) ... 1430s Selecting previously unselected package libasm-java. 1430s Preparing to unpack .../113-libasm-java_9.7.1-1_all.deb ... 1430s Unpacking libasm-java (9.7.1-1) ... 1430s Selecting previously unselected package libel-api-java. 1430s Preparing to unpack .../114-libel-api-java_3.0.0-3_all.deb ... 1430s Unpacking libel-api-java (3.0.0-3) ... 1430s Selecting previously unselected package libjsp-api-java. 1430s Preparing to unpack .../115-libjsp-api-java_2.3.4-3_all.deb ... 1430s Unpacking libjsp-api-java (2.3.4-3) ... 1430s Selecting previously unselected package libservlet-api-java. 1430s Preparing to unpack .../116-libservlet-api-java_4.0.1-2_all.deb ... 1430s Unpacking libservlet-api-java (4.0.1-2) ... 1430s Selecting previously unselected package libwebsocket-api-java. 1430s Preparing to unpack .../117-libwebsocket-api-java_1.1-2_all.deb ... 1430s Unpacking libwebsocket-api-java (1.1-2) ... 1430s Selecting previously unselected package libjetty9-java. 1430s Preparing to unpack .../118-libjetty9-java_9.4.56-1_all.deb ... 1430s Unpacking libjetty9-java (9.4.56-1) ... 1430s Selecting previously unselected package libjnr-constants-java. 1430s Preparing to unpack .../119-libjnr-constants-java_0.10.4-2_all.deb ... 1430s Unpacking libjnr-constants-java (0.10.4-2) ... 1430s Selecting previously unselected package libjffi-jni:armhf. 1430s Preparing to unpack .../120-libjffi-jni_1.3.13+ds-1_armhf.deb ... 1430s Unpacking libjffi-jni:armhf (1.3.13+ds-1) ... 1430s Selecting previously unselected package libjffi-java. 1430s Preparing to unpack .../121-libjffi-java_1.3.13+ds-1_all.deb ... 1430s Unpacking libjffi-java (1.3.13+ds-1) ... 1430s Selecting previously unselected package libjnr-x86asm-java. 1430s Preparing to unpack .../122-libjnr-x86asm-java_1.0.2-6_all.deb ... 1430s Unpacking libjnr-x86asm-java (1.0.2-6) ... 1430s Selecting previously unselected package libjnr-ffi-java. 1430s Preparing to unpack .../123-libjnr-ffi-java_2.2.15-2_all.deb ... 1430s Unpacking libjnr-ffi-java (2.2.15-2) ... 1430s Selecting previously unselected package libjnr-enxio-java. 1430s Preparing to unpack .../124-libjnr-enxio-java_0.32.16-1_all.deb ... 1430s Unpacking libjnr-enxio-java (0.32.16-1) ... 1430s Selecting previously unselected package libjnr-posix-java. 1430s Preparing to unpack .../125-libjnr-posix-java_3.1.18-1_all.deb ... 1430s Unpacking libjnr-posix-java (3.1.18-1) ... 1430s Selecting previously unselected package libjnr-unixsocket-java. 1430s Preparing to unpack .../126-libjnr-unixsocket-java_0.38.21-2_all.deb ... 1430s Unpacking libjnr-unixsocket-java (0.38.21-2) ... 1430s Selecting previously unselected package libactivation-java. 1430s Preparing to unpack .../127-libactivation-java_1.2.0-2_all.deb ... 1430s Unpacking libactivation-java (1.2.0-2) ... 1430s Selecting previously unselected package libmail-java. 1430s Preparing to unpack .../128-libmail-java_1.6.5-3_all.deb ... 1430s Unpacking libmail-java (1.6.5-3) ... 1430s Selecting previously unselected package libcommons-logging-java. 1430s Preparing to unpack .../129-libcommons-logging-java_1.3.0-1ubuntu1_all.deb ... 1430s Unpacking libcommons-logging-java (1.3.0-1ubuntu1) ... 1430s Selecting previously unselected package libjaxb-api-java. 1430s Preparing to unpack .../130-libjaxb-api-java_2.3.1-1_all.deb ... 1430s Unpacking libjaxb-api-java (2.3.1-1) ... 1430s Selecting previously unselected package libspring-core-java. 1430s Preparing to unpack .../131-libspring-core-java_4.3.30-2ubuntu1_all.deb ... 1430s Unpacking libspring-core-java (4.3.30-2ubuntu1) ... 1431s Selecting previously unselected package libspring-beans-java. 1431s Preparing to unpack .../132-libspring-beans-java_4.3.30-2ubuntu1_all.deb ... 1431s Unpacking libspring-beans-java (4.3.30-2ubuntu1) ... 1431s Selecting previously unselected package libtaglibs-standard-spec-java. 1431s Preparing to unpack .../133-libtaglibs-standard-spec-java_1.2.5-3_all.deb ... 1431s Unpacking libtaglibs-standard-spec-java (1.2.5-3) ... 1431s Selecting previously unselected package libtaglibs-standard-impl-java. 1431s Preparing to unpack .../134-libtaglibs-standard-impl-java_1.2.5-3_all.deb ... 1431s Unpacking libtaglibs-standard-impl-java (1.2.5-3) ... 1431s Selecting previously unselected package libeclipse-jdt-core-compiler-batch-java. 1431s Preparing to unpack .../135-libeclipse-jdt-core-compiler-batch-java_3.35.0+eclipse4.29-2_all.deb ... 1431s Unpacking libeclipse-jdt-core-compiler-batch-java (3.35.0+eclipse4.29-2) ... 1431s Selecting previously unselected package libeclipse-jdt-core-java. 1431s Preparing to unpack .../136-libeclipse-jdt-core-java_3.35.0+eclipse4.29-2_all.deb ... 1431s Unpacking libeclipse-jdt-core-java (3.35.0+eclipse4.29-2) ... 1431s Selecting previously unselected package libtomcat9-java. 1431s Preparing to unpack .../137-libtomcat9-java_9.0.70-2ubuntu1.1_all.deb ... 1431s Unpacking libtomcat9-java (9.0.70-2ubuntu1.1) ... 1431s Selecting previously unselected package libjetty9-extra-java. 1431s Preparing to unpack .../138-libjetty9-extra-java_9.4.56-1_all.deb ... 1431s Unpacking libjetty9-extra-java (9.4.56-1) ... 1431s Selecting previously unselected package libjavaparser-java. 1431s Preparing to unpack .../139-libjavaparser-java_3.26.1-1_all.deb ... 1431s Unpacking libjavaparser-java (3.26.1-1) ... 1431s Selecting previously unselected package libjctools-java. 1431s Preparing to unpack .../140-libjctools-java_4.0.5+dfsg-1_all.deb ... 1431s Unpacking libjctools-java (4.0.5+dfsg-1) ... 1431s Selecting previously unselected package libnetty-java. 1431s Preparing to unpack .../141-libnetty-java_1%3a4.1.48-10_all.deb ... 1431s Unpacking libnetty-java (1:4.1.48-10) ... 1431s Selecting previously unselected package libslf4j-java. 1431s Preparing to unpack .../142-libslf4j-java_1.7.32-1_all.deb ... 1431s Unpacking libslf4j-java (1.7.32-1) ... 1431s Selecting previously unselected package libsnappy1v5:armhf. 1431s Preparing to unpack .../143-libsnappy1v5_1.2.1-1_armhf.deb ... 1431s Unpacking libsnappy1v5:armhf (1.2.1-1) ... 1431s Selecting previously unselected package libsnappy-jni. 1431s Preparing to unpack .../144-libsnappy-jni_1.1.10.7-1_armhf.deb ... 1431s Unpacking libsnappy-jni (1.1.10.7-1) ... 1431s Selecting previously unselected package libsnappy-java. 1431s Preparing to unpack .../145-libsnappy-java_1.1.10.7-1_all.deb ... 1431s Unpacking libsnappy-java (1.1.10.7-1) ... 1431s Selecting previously unselected package libapr1t64:armhf. 1431s Preparing to unpack .../146-libapr1t64_1.7.5-1_armhf.deb ... 1431s Unpacking libapr1t64:armhf (1.7.5-1) ... 1431s Selecting previously unselected package libnetty-tcnative-jni. 1431s Preparing to unpack .../147-libnetty-tcnative-jni_2.0.28-1build4_armhf.deb ... 1431s Unpacking libnetty-tcnative-jni (2.0.28-1build4) ... 1431s Selecting previously unselected package libnetty-tcnative-java. 1431s Preparing to unpack .../148-libnetty-tcnative-java_2.0.28-1build4_all.deb ... 1431s Unpacking libnetty-tcnative-java (2.0.28-1build4) ... 1431s Selecting previously unselected package liblog4j1.2-java. 1431s Preparing to unpack .../149-liblog4j1.2-java_1.2.17-11_all.deb ... 1431s Unpacking liblog4j1.2-java (1.2.17-11) ... 1431s Selecting previously unselected package libzookeeper-java. 1431s Preparing to unpack .../150-libzookeeper-java_3.9.3-1build1_all.deb ... 1431s Unpacking libzookeeper-java (3.9.3-1build1) ... 1431s Selecting previously unselected package zookeeper. 1431s Preparing to unpack .../151-zookeeper_3.9.3-1build1_all.deb ... 1431s Unpacking zookeeper (3.9.3-1build1) ... 1431s Selecting previously unselected package zookeeperd. 1431s Preparing to unpack .../152-zookeeperd_3.9.3-1build1_all.deb ... 1431s Unpacking zookeeperd (3.9.3-1build1) ... 1431s Selecting previously unselected package fonts-font-awesome. 1431s Preparing to unpack .../153-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 1431s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 1432s Selecting previously unselected package libcares2:armhf. 1432s Preparing to unpack .../154-libcares2_1.34.4-2.1_armhf.deb ... 1432s Unpacking libcares2:armhf (1.34.4-2.1) ... 1432s Selecting previously unselected package libev4t64:armhf. 1432s Preparing to unpack .../155-libev4t64_1%3a4.33-2.1build1_armhf.deb ... 1432s Unpacking libev4t64:armhf (1:4.33-2.1build1) ... 1432s Selecting previously unselected package libjs-jquery. 1432s Preparing to unpack .../156-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 1432s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 1432s Selecting previously unselected package libjs-underscore. 1432s Preparing to unpack .../157-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 1432s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 1432s Selecting previously unselected package libjs-sphinxdoc. 1432s Preparing to unpack .../158-libjs-sphinxdoc_8.1.3-4_all.deb ... 1432s Unpacking libjs-sphinxdoc (8.1.3-4) ... 1432s Selecting previously unselected package libllvm20:armhf. 1432s Preparing to unpack .../159-libllvm20_1%3a20.1.0~+rc2-1~exp2ubuntu0.4_armhf.deb ... 1432s Unpacking libllvm20:armhf (1:20.1.0~+rc2-1~exp2ubuntu0.4) ... 1433s Selecting previously unselected package libpq5:armhf. 1433s Preparing to unpack .../160-libpq5_17.4-1_armhf.deb ... 1433s Unpacking libpq5:armhf (17.4-1) ... 1433s Selecting previously unselected package libtime-duration-perl. 1433s Preparing to unpack .../161-libtime-duration-perl_1.21-2_all.deb ... 1433s Unpacking libtime-duration-perl (1.21-2) ... 1433s Selecting previously unselected package libtimedate-perl. 1433s Preparing to unpack .../162-libtimedate-perl_2.3300-2_all.deb ... 1433s Unpacking libtimedate-perl (2.3300-2) ... 1433s Selecting previously unselected package libxslt1.1:armhf. 1433s Preparing to unpack .../163-libxslt1.1_1.1.39-0exp1ubuntu2_armhf.deb ... 1433s Unpacking libxslt1.1:armhf (1.1.39-0exp1ubuntu2) ... 1433s Selecting previously unselected package moreutils. 1433s Preparing to unpack .../164-moreutils_0.69-1_armhf.deb ... 1433s Unpacking moreutils (0.69-1) ... 1433s Selecting previously unselected package python3-click. 1433s Preparing to unpack .../165-python3-click_8.2.0+0.really.8.1.8-1_all.deb ... 1433s Unpacking python3-click (8.2.0+0.really.8.1.8-1) ... 1433s Selecting previously unselected package python3-wcwidth. 1433s Preparing to unpack .../166-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 1433s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 1433s Selecting previously unselected package python3-prettytable. 1433s Preparing to unpack .../167-python3-prettytable_3.12.0-1_all.deb ... 1433s Unpacking python3-prettytable (3.12.0-1) ... 1433s Selecting previously unselected package python3-psutil. 1433s Preparing to unpack .../168-python3-psutil_5.9.8-2build3_armhf.deb ... 1433s Unpacking python3-psutil (5.9.8-2build3) ... 1433s Selecting previously unselected package python3-ydiff. 1433s Preparing to unpack .../169-python3-ydiff_1.4.2-1_all.deb ... 1433s Unpacking python3-ydiff (1.4.2-1) ... 1433s Selecting previously unselected package python3-psycopg2. 1433s Preparing to unpack .../170-python3-psycopg2_2.9.10-1build1_armhf.deb ... 1433s Unpacking python3-psycopg2 (2.9.10-1build1) ... 1433s Selecting previously unselected package python3-greenlet. 1433s Preparing to unpack .../171-python3-greenlet_3.1.0-1build1_armhf.deb ... 1433s Unpacking python3-greenlet (3.1.0-1build1) ... 1433s Selecting previously unselected package python3-dnspython. 1433s Preparing to unpack .../172-python3-dnspython_2.7.0-1ubuntu1_all.deb ... 1433s Unpacking python3-dnspython (2.7.0-1ubuntu1) ... 1433s Selecting previously unselected package python3-eventlet. 1433s Preparing to unpack .../173-python3-eventlet_0.39.0-0ubuntu1_all.deb ... 1433s Unpacking python3-eventlet (0.39.0-0ubuntu1) ... 1433s Selecting previously unselected package python3-zope.event. 1433s Preparing to unpack .../174-python3-zope.event_5.0-0.1_all.deb ... 1433s Unpacking python3-zope.event (5.0-0.1) ... 1433s Selecting previously unselected package python3-zope.interface. 1433s Preparing to unpack .../175-python3-zope.interface_7.2-1build1_armhf.deb ... 1433s Unpacking python3-zope.interface (7.2-1build1) ... 1433s Selecting previously unselected package python3-gevent. 1433s Preparing to unpack .../176-python3-gevent_24.11.1-1build1_armhf.deb ... 1433s Unpacking python3-gevent (24.11.1-1build1) ... 1433s Selecting previously unselected package python3-kerberos. 1433s Preparing to unpack .../177-python3-kerberos_1.1.14-3.1build11_armhf.deb ... 1433s Unpacking python3-kerberos (1.1.14-3.1build11) ... 1433s Selecting previously unselected package python3-pure-sasl. 1433s Preparing to unpack .../178-python3-pure-sasl_0.5.1+dfsg1-5_all.deb ... 1433s Unpacking python3-pure-sasl (0.5.1+dfsg1-5) ... 1433s Selecting previously unselected package python3-kazoo. 1433s Preparing to unpack .../179-python3-kazoo_2.9.0-2_all.deb ... 1433s Unpacking python3-kazoo (2.9.0-2) ... 1433s Selecting previously unselected package patroni. 1433s Preparing to unpack .../180-patroni_4.0.4-8_all.deb ... 1433s Unpacking patroni (4.0.4-8) ... 1433s Selecting previously unselected package sphinx-rtd-theme-common. 1433s Preparing to unpack .../181-sphinx-rtd-theme-common_3.0.2+dfsg-2_all.deb ... 1433s Unpacking sphinx-rtd-theme-common (3.0.2+dfsg-2) ... 1434s Selecting previously unselected package patroni-doc. 1434s Preparing to unpack .../182-patroni-doc_4.0.4-8_all.deb ... 1434s Unpacking patroni-doc (4.0.4-8) ... 1434s Selecting previously unselected package postgresql-client-17. 1434s Preparing to unpack .../183-postgresql-client-17_17.4-1_armhf.deb ... 1434s Unpacking postgresql-client-17 (17.4-1) ... 1434s Selecting previously unselected package postgresql-17. 1434s Preparing to unpack .../184-postgresql-17_17.4-1_armhf.deb ... 1434s Unpacking postgresql-17 (17.4-1) ... 1434s Selecting previously unselected package postgresql. 1434s Preparing to unpack .../185-postgresql_17+274_all.deb ... 1434s Unpacking postgresql (17+274) ... 1434s Selecting previously unselected package python3-parse. 1434s Preparing to unpack .../186-python3-parse_1.20.2-1_all.deb ... 1434s Unpacking python3-parse (1.20.2-1) ... 1434s Selecting previously unselected package python3-parse-type. 1434s Preparing to unpack .../187-python3-parse-type_0.6.4-2_all.deb ... 1434s Unpacking python3-parse-type (0.6.4-2) ... 1434s Selecting previously unselected package python3-behave. 1434s Preparing to unpack .../188-python3-behave_1.2.6-6_all.deb ... 1434s Unpacking python3-behave (1.2.6-6) ... 1434s Selecting previously unselected package python3-coverage. 1434s Preparing to unpack .../189-python3-coverage_7.6.0+dfsg1-2build1_armhf.deb ... 1434s Unpacking python3-coverage (7.6.0+dfsg1-2build1) ... 1435s Setting up postgresql-client-common (274) ... 1435s Setting up libgraphite2-3:armhf (1.3.14-2ubuntu1) ... 1435s Setting up libxcb-dri3-0:armhf (1.17.0-2) ... 1435s Setting up liblcms2-2:armhf (2.16-2) ... 1435s Setting up libtaglibs-standard-spec-java (1.2.5-3) ... 1435s Setting up libpixman-1-0:armhf (0.44.0-3) ... 1435s Setting up libev4t64:armhf (1:4.33-2.1build1) ... 1435s Setting up libjackson2-annotations-java (2.14.0-1) ... 1435s Setting up libllvm19:armhf (1:19.1.7-1ubuntu2) ... 1435s Setting up libsharpyuv0:armhf (1.5.0-0.1) ... 1435s Setting up libwayland-server0:armhf (1.23.1-3) ... 1435s Setting up libx11-xcb1:armhf (2:1.8.10-2) ... 1435s Setting up libslf4j-java (1.7.32-1) ... 1435s Setting up fonts-lato (2.015-1) ... 1435s Setting up libeclipse-jdt-core-compiler-batch-java (3.35.0+eclipse4.29-2) ... 1435s Setting up libxdamage1:armhf (1:1.1.6-1build1) ... 1435s Setting up libxcb-xfixes0:armhf (1.17.0-2) ... 1435s Setting up libjavaparser-java (3.26.1-1) ... 1435s Setting up liblerc4:armhf (4.0.0+ds-5ubuntu1) ... 1435s Setting up libjsr305-java (0.1~+svn49-12) ... 1435s Setting up hicolor-icon-theme (0.18-2) ... 1435s Setting up libxi6:armhf (2:1.8.2-1) ... 1435s Setting up java-common (0.76) ... 1435s Setting up libxrender1:armhf (1:0.9.10-1.1build1) ... 1435s Setting up libdatrie1:armhf (0.2.13-3build1) ... 1435s Setting up libcommons-cli-java (1.6.0-1) ... 1435s Setting up libio-pty-perl (1:1.20-1build3) ... 1435s Setting up libxcb-render0:armhf (1.17.0-2) ... 1435s Setting up python3-zope.event (5.0-0.1) ... 1435s Setting up python3-zope.interface (7.2-1build1) ... 1435s Setting up libglvnd0:armhf (1.7.0-1build1) ... 1435s Setting up libxcb-glx0:armhf (1.17.0-2) ... 1435s Setting up libgdk-pixbuf2.0-common (2.42.12+dfsg-2) ... 1435s Setting up python3-ydiff (1.4.2-1) ... 1435s Setting up libasm-java (9.7.1-1) ... 1435s Setting up x11-common (1:7.7+23ubuntu3) ... 1435s Setting up libpq5:armhf (17.4-1) ... 1435s Setting up libdeflate0:armhf (1.23-1) ... 1435s Setting up python3-kerberos (1.1.14-3.1build11) ... 1435s Setting up liblog4j1.2-java (1.2.17-11) ... 1435s Setting up libel-api-java (3.0.0-3) ... 1435s Setting up python3-coverage (7.6.0+dfsg1-2build1) ... 1436s Setting up libxcb-shm0:armhf (1.17.0-2) ... 1436s Setting up python3-click (8.2.0+0.really.8.1.8-1) ... 1436s Setting up libjnr-x86asm-java (1.0.2-6) ... 1436s Setting up libjbig0:armhf (2.1-6.1ubuntu2) ... 1436s Setting up libcolord2:armhf (1.4.7-3) ... 1436s Setting up python3-psutil (5.9.8-2build3) ... 1436s Setting up libeclipse-jdt-core-java (3.35.0+eclipse4.29-2) ... 1436s Setting up libxxf86vm1:armhf (1:1.1.4-1build4) ... 1436s Setting up libsnappy1v5:armhf (1.2.1-1) ... 1436s Setting up libxcb-present0:armhf (1.17.0-2) ... 1436s Setting up libtaglibs-standard-impl-java (1.2.5-3) ... 1436s Setting up libdconf1:armhf (0.40.0-5) ... 1436s Setting up libjctools-java (4.0.5+dfsg-1) ... 1436s Setting up libdropwizard-metrics-java (3.2.6-1) ... 1436s Setting up libasound2-data (1.2.13-1build1) ... 1436s Setting up libasound2t64:armhf (1.2.13-1build1) ... 1436s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 1436s Setting up libfreetype6:armhf (2.13.3+dfsg-1) ... 1436s Setting up libfindbugs-annotations-java (3.1.0~preview2-4) ... 1436s Setting up libepoxy0:armhf (1.5.10-2) ... 1436s Setting up ssl-cert (1.1.3ubuntu1) ... 1437s Created symlink '/etc/systemd/system/multi-user.target.wants/ssl-cert.service' → '/usr/lib/systemd/system/ssl-cert.service'. 1437s Setting up libxfixes3:armhf (1:6.0.0-2build1) ... 1437s Setting up libxcb-sync1:armhf (1.17.0-2) ... 1437s Setting up libapache-pom-java (33-2) ... 1437s Setting up libavahi-common-data:armhf (0.8-16ubuntu1) ... 1437s Setting up libatinject-jsr330-api-java (1.0+ds1-6) ... 1437s Setting up libatspi2.0-0t64:armhf (2.55.90-1) ... 1437s Setting up libwebsocket-api-java (1.1-2) ... 1437s Setting up python3-greenlet (3.1.0-1build1) ... 1437s Setting up libxinerama1:armhf (2:1.1.4-3build1) ... 1437s Setting up fonts-dejavu-mono (2.37-8) ... 1437s Setting up libcares2:armhf (1.34.4-2.1) ... 1437s Setting up libxrandr2:armhf (2:1.5.4-1) ... 1437s Setting up libllvm20:armhf (1:20.1.0~+rc2-1~exp2ubuntu0.4) ... 1437s Setting up python3-psycopg2 (2.9.10-1build1) ... 1438s Setting up fonts-dejavu-core (2.37-8) ... 1438s Setting up libipc-run-perl (20231003.0-2) ... 1438s Setting up libpcsclite1:armhf (2.3.1-1) ... 1438s Setting up libjpeg-turbo8:armhf (2.1.5-3ubuntu2) ... 1438s Setting up libactivation-java (1.2.0-2) ... 1438s Setting up libtomcat9-java (9.0.70-2ubuntu1.1) ... 1438s Setting up libhamcrest-java (2.2-2) ... 1438s Setting up libjsp-api-java (2.3.4-3) ... 1438s Setting up libvulkan1:armhf (1.4.304.0-1) ... 1438s Setting up libtime-duration-perl (1.21-2) ... 1438s Setting up libwebp7:armhf (1.5.0-0.1) ... 1438s Setting up libtimedate-perl (2.3300-2) ... 1438s Setting up libgif7:armhf (5.2.2-1ubuntu2) ... 1438s Setting up libxshmfence1:armhf (1.3-1build5) ... 1438s Setting up libmail-java (1.6.5-3) ... 1438s Setting up at-spi2-common (2.55.90-1) ... 1438s Setting up python3-dnspython (2.7.0-1ubuntu1) ... 1438s Setting up libnetty-java (1:4.1.48-10) ... 1438s Setting up libxcb-randr0:armhf (1.17.0-2) ... 1438s Setting up python3-parse (1.20.2-1) ... 1438s Setting up libapr1t64:armhf (1.7.5-1) ... 1438s Setting up libjson-perl (4.10000-1) ... 1438s Setting up libxslt1.1:armhf (1.1.39-0exp1ubuntu2) ... 1438s Setting up libservlet-api-java (4.0.1-2) ... 1438s Setting up libjackson2-core-java (2.14.1-1) ... 1438s Setting up libharfbuzz0b:armhf (10.2.0-1) ... 1438s Setting up libthai-data (0.1.29-2build1) ... 1438s Setting up libjffi-jni:armhf (1.3.13+ds-1) ... 1438s Setting up libwayland-egl1:armhf (1.23.1-3) ... 1438s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 1438s Setting up ca-certificates-java (20240118) ... 1438s No JRE found. Skipping Java certificates setup. 1438s Setting up python3-prettytable (3.12.0-1) ... 1438s Setting up libsnappy-jni (1.1.10.7-1) ... 1438s Setting up libxcomposite1:armhf (1:0.4.6-1) ... 1438s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 1438s Setting up sphinx-rtd-theme-common (3.0.2+dfsg-2) ... 1438s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 1438s Setting up postgresql-common-dev (274) ... 1438s Setting up libjnr-constants-java (0.10.4-2) ... 1438s Setting up libwayland-client0:armhf (1.23.1-3) ... 1438s Setting up libjpeg8:armhf (8c-2ubuntu11) ... 1438s Setting up libjaxb-api-java (2.3.1-1) ... 1438s Setting up libjffi-java (1.3.13+ds-1) ... 1438s Setting up mesa-libgallium:armhf (25.0.1-2ubuntu1) ... 1438s Setting up libjetty9-java (9.4.56-1) ... 1438s Setting up moreutils (0.69-1) ... 1438s Setting up libatk1.0-0t64:armhf (2.55.90-1) ... 1438s Setting up openjdk-21-jre-headless:armhf (21.0.6+7-1) ... 1438s update-alternatives: using /usr/lib/jvm/java-21-openjdk-armhf/bin/java to provide /usr/bin/java (java) in auto mode 1438s update-alternatives: using /usr/lib/jvm/java-21-openjdk-armhf/bin/jpackage to provide /usr/bin/jpackage (jpackage) in auto mode 1438s update-alternatives: using /usr/lib/jvm/java-21-openjdk-armhf/bin/keytool to provide /usr/bin/keytool (keytool) in auto mode 1438s update-alternatives: using /usr/lib/jvm/java-21-openjdk-armhf/bin/rmiregistry to provide /usr/bin/rmiregistry (rmiregistry) in auto mode 1438s update-alternatives: using /usr/lib/jvm/java-21-openjdk-armhf/lib/jexec to provide /usr/bin/jexec (jexec) in auto mode 1438s Setting up python3-pure-sasl (0.5.1+dfsg1-5) ... 1438s Setting up libgbm1:armhf (25.0.1-2ubuntu1) ... 1438s Setting up postgresql-client-17 (17.4-1) ... 1439s 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 1439s Setting up fontconfig-config (2.15.0-2ubuntu1) ... 1439s Setting up libxtst6:armhf (2:1.2.5-1) ... 1439s Setting up libxcursor1:armhf (1:1.2.3-1) ... 1439s Setting up libgl1-mesa-dri:armhf (25.0.1-2ubuntu1) ... 1439s Setting up libcommons-parent-java (56-1) ... 1439s Setting up libavahi-common3:armhf (0.8-16ubuntu1) ... 1439s Setting up libcommons-logging-java (1.3.0-1ubuntu1) ... 1439s Setting up dconf-service (0.40.0-5) ... 1439s Setting up python3-gevent (24.11.1-1build1) ... 1439s Setting up libjackson2-databind-java (2.14.0+ds-1) ... 1439s Setting up libthai0:armhf (0.1.29-2build1) ... 1439s Setting up python3-parse-type (0.6.4-2) ... 1440s Setting up python3-eventlet (0.39.0-0ubuntu1) ... 1440s Setting up libnetty-tcnative-jni (2.0.28-1build4) ... 1440s Setting up python3-kazoo (2.9.0-2) ... 1440s Setting up postgresql-common (274) ... 1441s Creating config file /etc/postgresql-common/createcluster.conf with new version 1441s Building PostgreSQL dictionaries from installed myspell/hunspell packages... 1441s Removing obsolete dictionary files: 1442s Created symlink '/etc/systemd/system/multi-user.target.wants/postgresql.service' → '/usr/lib/systemd/system/postgresql.service'. 1442s Setting up libjs-sphinxdoc (8.1.3-4) ... 1442s Setting up libtiff6:armhf (4.5.1+git230720-4ubuntu4) ... 1442s Setting up libwayland-cursor0:armhf (1.23.1-3) ... 1442s Setting up libgdk-pixbuf-2.0-0:armhf (2.42.12+dfsg-2) ... 1442s Setting up python3-behave (1.2.6-6) ... 1442s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 1442s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 1442s /usr/lib/python3/dist-packages/behave/matchers.py:284: SyntaxWarning: invalid escape sequence '\d' 1442s @parse.with_pattern(r"\d+") 1443s Setting up libsnappy-java (1.1.10.7-1) ... 1443s Setting up libfontconfig1:armhf (2.15.0-2ubuntu1) ... 1443s Setting up patroni (4.0.4-8) ... 1443s Created symlink '/etc/systemd/system/multi-user.target.wants/patroni.service' → '/usr/lib/systemd/system/patroni.service'. 1443s Setting up libavahi-client3:armhf (0.8-16ubuntu1) ... 1443s Setting up libjnr-ffi-java (2.2.15-2) ... 1443s Setting up libatk-bridge2.0-0t64:armhf (2.55.90-1) ... 1443s Setting up gtk-update-icon-cache (4.17.5+ds-3ubuntu1) ... 1443s Setting up fontconfig (2.15.0-2ubuntu1) ... 1445s Regenerating fonts cache... done. 1445s Setting up postgresql-17 (17.4-1) ... 1447s Creating new PostgreSQL cluster 17/main ... 1447s /usr/lib/postgresql/17/bin/initdb -D /var/lib/postgresql/17/main --auth-local peer --auth-host scram-sha-256 --no-instructions 1447s The files belonging to this database system will be owned by user "postgres". 1447s This user must also own the server process. 1447s 1447s The database cluster will be initialized with locale "C.UTF-8". 1447s The default database encoding has accordingly been set to "UTF8". 1447s The default text search configuration will be set to "english". 1447s 1447s Data page checksums are disabled. 1447s 1447s fixing permissions on existing directory /var/lib/postgresql/17/main ... ok 1447s creating subdirectories ... ok 1447s selecting dynamic shared memory implementation ... posix 1447s selecting default "max_connections" ... 100 1447s selecting default "shared_buffers" ... 128MB 1447s selecting default time zone ... Etc/UTC 1447s creating configuration files ... ok 1447s running bootstrap script ... ok 1448s performing post-bootstrap initialization ... ok 1448s syncing data to disk ... ok 1451s Setting up libglx-mesa0:armhf (25.0.1-2ubuntu1) ... 1451s Setting up libglx0:armhf (1.7.0-1build1) ... 1451s Setting up libspring-core-java (4.3.30-2ubuntu1) ... 1451s Setting up dconf-gsettings-backend:armhf (0.40.0-5) ... 1451s Setting up libcommons-io-java (2.18.0-1) ... 1451s Setting up patroni-doc (4.0.4-8) ... 1451s Setting up libpango-1.0-0:armhf (1.56.2-1) ... 1451s Setting up libcairo2:armhf (1.18.2-2) ... 1451s Setting up libjnr-enxio-java (0.32.16-1) ... 1451s Setting up libgl1:armhf (1.7.0-1build1) ... 1451s Setting up adwaita-icon-theme (48.0-1) ... 1451s update-alternatives: using /usr/share/icons/Adwaita/cursor.theme to provide /usr/share/icons/default/index.theme (x-cursor-theme) in auto mode 1451s Setting up libcairo-gobject2:armhf (1.18.2-2) ... 1451s Setting up postgresql (17+274) ... 1451s Setting up libpangoft2-1.0-0:armhf (1.56.2-1) ... 1451s Setting up libcups2t64:armhf (2.4.11-0ubuntu2) ... 1451s Setting up libgtk-3-common (3.24.48-3ubuntu1) ... 1451s Setting up libjnr-posix-java (3.1.18-1) ... 1451s Setting up libpangocairo-1.0-0:armhf (1.56.2-1) ... 1451s Setting up libspring-beans-java (4.3.30-2ubuntu1) ... 1451s Setting up libjnr-unixsocket-java (0.38.21-2) ... 1451s Setting up libjetty9-extra-java (9.4.56-1) ... 1451s Setting up libguava-java (32.0.1-1) ... 1451s Setting up liberror-prone-java (2.18.0-1) ... 1451s Processing triggers for libc-bin (2.41-1ubuntu1) ... 1451s Processing triggers for man-db (2.13.0-1) ... 1453s Processing triggers for libglib2.0-0t64:armhf (2.84.0-1) ... 1453s Setting up libgtk-3-0t64:armhf (3.24.48-3ubuntu1) ... 1453s Processing triggers for ca-certificates-java (20240118) ... 1453s Adding debian:ACCVRAIZ1.pem 1453s Adding debian:AC_RAIZ_FNMT-RCM.pem 1453s Adding debian:AC_RAIZ_FNMT-RCM_SERVIDORES_SEGUROS.pem 1453s Adding debian:ANF_Secure_Server_Root_CA.pem 1453s Adding debian:Actalis_Authentication_Root_CA.pem 1453s Adding debian:AffirmTrust_Commercial.pem 1453s Adding debian:AffirmTrust_Networking.pem 1453s Adding debian:AffirmTrust_Premium.pem 1453s Adding debian:AffirmTrust_Premium_ECC.pem 1453s Adding debian:Amazon_Root_CA_1.pem 1453s Adding debian:Amazon_Root_CA_2.pem 1453s Adding debian:Amazon_Root_CA_3.pem 1453s Adding debian:Amazon_Root_CA_4.pem 1453s Adding debian:Atos_TrustedRoot_2011.pem 1453s Adding debian:Atos_TrustedRoot_Root_CA_ECC_TLS_2021.pem 1453s Adding debian:Atos_TrustedRoot_Root_CA_RSA_TLS_2021.pem 1453s Adding debian:Autoridad_de_Certificacion_Firmaprofesional_CIF_A62634068.pem 1453s Adding debian:BJCA_Global_Root_CA1.pem 1453s Adding debian:BJCA_Global_Root_CA2.pem 1453s Adding debian:Baltimore_CyberTrust_Root.pem 1453s Adding debian:Buypass_Class_2_Root_CA.pem 1453s Adding debian:Buypass_Class_3_Root_CA.pem 1453s Adding debian:CA_Disig_Root_R2.pem 1453s Adding debian:CFCA_EV_ROOT.pem 1453s Adding debian:COMODO_Certification_Authority.pem 1453s Adding debian:COMODO_ECC_Certification_Authority.pem 1453s Adding debian:COMODO_RSA_Certification_Authority.pem 1453s Adding debian:Certainly_Root_E1.pem 1453s Adding debian:Certainly_Root_R1.pem 1453s Adding debian:Certigna.pem 1453s Adding debian:Certigna_Root_CA.pem 1453s Adding debian:Certum_EC-384_CA.pem 1453s Adding debian:Certum_Trusted_Network_CA.pem 1453s Adding debian:Certum_Trusted_Network_CA_2.pem 1453s Adding debian:Certum_Trusted_Root_CA.pem 1453s Adding debian:CommScope_Public_Trust_ECC_Root-01.pem 1453s Adding debian:CommScope_Public_Trust_ECC_Root-02.pem 1453s Adding debian:CommScope_Public_Trust_RSA_Root-01.pem 1453s Adding debian:CommScope_Public_Trust_RSA_Root-02.pem 1453s Adding debian:Comodo_AAA_Services_root.pem 1453s Adding debian:D-TRUST_BR_Root_CA_1_2020.pem 1453s Adding debian:D-TRUST_EV_Root_CA_1_2020.pem 1453s Adding debian:D-TRUST_Root_Class_3_CA_2_2009.pem 1453s Adding debian:D-TRUST_Root_Class_3_CA_2_EV_2009.pem 1453s Adding debian:DigiCert_Assured_ID_Root_CA.pem 1453s Adding debian:DigiCert_Assured_ID_Root_G2.pem 1453s Adding debian:DigiCert_Assured_ID_Root_G3.pem 1453s Adding debian:DigiCert_Global_Root_CA.pem 1453s Adding debian:DigiCert_Global_Root_G2.pem 1453s Adding debian:DigiCert_Global_Root_G3.pem 1453s Adding debian:DigiCert_High_Assurance_EV_Root_CA.pem 1453s Adding debian:DigiCert_TLS_ECC_P384_Root_G5.pem 1453s Adding debian:DigiCert_TLS_RSA4096_Root_G5.pem 1453s Adding debian:DigiCert_Trusted_Root_G4.pem 1453s Adding debian:Entrust.net_Premium_2048_Secure_Server_CA.pem 1453s Adding debian:Entrust_Root_Certification_Authority.pem 1453s Adding debian:Entrust_Root_Certification_Authority_-_EC1.pem 1453s Adding debian:Entrust_Root_Certification_Authority_-_G2.pem 1453s Adding debian:Entrust_Root_Certification_Authority_-_G4.pem 1453s Adding debian:FIRMAPROFESIONAL_CA_ROOT-A_WEB.pem 1453s Adding debian:GDCA_TrustAUTH_R5_ROOT.pem 1453s Adding debian:GLOBALTRUST_2020.pem 1453s Adding debian:GTS_Root_R1.pem 1453s Adding debian:GTS_Root_R2.pem 1453s Adding debian:GTS_Root_R3.pem 1453s Adding debian:GTS_Root_R4.pem 1453s Adding debian:GlobalSign_ECC_Root_CA_-_R4.pem 1453s Adding debian:GlobalSign_ECC_Root_CA_-_R5.pem 1453s Adding debian:GlobalSign_Root_CA.pem 1453s Adding debian:GlobalSign_Root_CA_-_R3.pem 1453s Adding debian:GlobalSign_Root_CA_-_R6.pem 1453s Adding debian:GlobalSign_Root_E46.pem 1453s Adding debian:GlobalSign_Root_R46.pem 1453s Adding debian:Go_Daddy_Class_2_CA.pem 1453s Adding debian:Go_Daddy_Root_Certificate_Authority_-_G2.pem 1453s Adding debian:HARICA_TLS_ECC_Root_CA_2021.pem 1453s Adding debian:HARICA_TLS_RSA_Root_CA_2021.pem 1453s Adding debian:Hellenic_Academic_and_Research_Institutions_ECC_RootCA_2015.pem 1453s Adding debian:Hellenic_Academic_and_Research_Institutions_RootCA_2015.pem 1453s Adding debian:HiPKI_Root_CA_-_G1.pem 1453s Adding debian:Hongkong_Post_Root_CA_3.pem 1453s Adding debian:ISRG_Root_X1.pem 1453s Adding debian:ISRG_Root_X2.pem 1453s Adding debian:IdenTrust_Commercial_Root_CA_1.pem 1453s Adding debian:IdenTrust_Public_Sector_Root_CA_1.pem 1453s Adding debian:Izenpe.com.pem 1453s Adding debian:Microsec_e-Szigno_Root_CA_2009.pem 1453s Adding debian:Microsoft_ECC_Root_Certificate_Authority_2017.pem 1453s Adding debian:Microsoft_RSA_Root_Certificate_Authority_2017.pem 1453s Adding debian:NAVER_Global_Root_Certification_Authority.pem 1453s Adding debian:NetLock_Arany_=Class_Gold=_Főtanúsítvány.pem 1453s Adding debian:OISTE_WISeKey_Global_Root_GB_CA.pem 1453s Adding debian:OISTE_WISeKey_Global_Root_GC_CA.pem 1453s Adding debian:QuoVadis_Root_CA_1_G3.pem 1453s Adding debian:QuoVadis_Root_CA_2.pem 1453s Adding debian:QuoVadis_Root_CA_2_G3.pem 1453s Adding debian:QuoVadis_Root_CA_3.pem 1453s Adding debian:QuoVadis_Root_CA_3_G3.pem 1453s Adding debian:SSL.com_EV_Root_Certification_Authority_ECC.pem 1453s Adding debian:SSL.com_EV_Root_Certification_Authority_RSA_R2.pem 1453s Adding debian:SSL.com_Root_Certification_Authority_ECC.pem 1453s Adding debian:SSL.com_Root_Certification_Authority_RSA.pem 1453s Adding debian:SSL.com_TLS_ECC_Root_CA_2022.pem 1453s Adding debian:SSL.com_TLS_RSA_Root_CA_2022.pem 1453s Adding debian:SZAFIR_ROOT_CA2.pem 1453s Adding debian:Sectigo_Public_Server_Authentication_Root_E46.pem 1453s Adding debian:Sectigo_Public_Server_Authentication_Root_R46.pem 1453s Adding debian:SecureSign_RootCA11.pem 1453s Adding debian:SecureSign_Root_CA12.pem 1453s Adding debian:SecureSign_Root_CA14.pem 1453s Adding debian:SecureSign_Root_CA15.pem 1453s Adding debian:SecureTrust_CA.pem 1453s Adding debian:Secure_Global_CA.pem 1453s Adding debian:Security_Communication_ECC_RootCA1.pem 1453s Adding debian:Security_Communication_RootCA2.pem 1453s Adding debian:Security_Communication_RootCA3.pem 1453s Adding debian:Starfield_Class_2_CA.pem 1453s Adding debian:Starfield_Root_Certificate_Authority_-_G2.pem 1453s Adding debian:Starfield_Services_Root_Certificate_Authority_-_G2.pem 1453s Adding debian:SwissSign_Gold_CA_-_G2.pem 1453s Adding debian:SwissSign_Silver_CA_-_G2.pem 1453s Adding debian:T-TeleSec_GlobalRoot_Class_2.pem 1453s Adding debian:T-TeleSec_GlobalRoot_Class_3.pem 1453s Adding debian:TUBITAK_Kamu_SM_SSL_Kok_Sertifikasi_-_Surum_1.pem 1453s Adding debian:TWCA_CYBER_Root_CA.pem 1453s Adding debian:TWCA_Global_Root_CA.pem 1453s Adding debian:TWCA_Root_Certification_Authority.pem 1453s Adding debian:Telekom_Security_TLS_ECC_Root_2020.pem 1453s Adding debian:Telekom_Security_TLS_RSA_Root_2023.pem 1453s Adding debian:TeliaSonera_Root_CA_v1.pem 1453s Adding debian:Telia_Root_CA_v2.pem 1453s Adding debian:TrustAsia_Global_Root_CA_G3.pem 1453s Adding debian:TrustAsia_Global_Root_CA_G4.pem 1453s Adding debian:Trustwave_Global_Certification_Authority.pem 1453s Adding debian:Trustwave_Global_ECC_P256_Certification_Authority.pem 1453s Adding debian:Trustwave_Global_ECC_P384_Certification_Authority.pem 1453s Adding debian:TunTrust_Root_CA.pem 1453s Adding debian:UCA_Extended_Validation_Root.pem 1453s Adding debian:UCA_Global_G2_Root.pem 1453s Adding debian:USERTrust_ECC_Certification_Authority.pem 1453s Adding debian:USERTrust_RSA_Certification_Authority.pem 1453s Adding debian:XRamp_Global_CA_Root.pem 1453s Adding debian:certSIGN_ROOT_CA.pem 1453s Adding debian:certSIGN_Root_CA_G2.pem 1453s Adding debian:e-Szigno_Root_CA_2017.pem 1453s Adding debian:ePKI_Root_Certification_Authority.pem 1453s Adding debian:emSign_ECC_Root_CA_-_C3.pem 1453s Adding debian:emSign_ECC_Root_CA_-_G3.pem 1453s Adding debian:emSign_Root_CA_-_C1.pem 1453s Adding debian:emSign_Root_CA_-_G1.pem 1453s Adding debian:vTrus_ECC_Root_CA.pem 1453s Adding debian:vTrus_Root_CA.pem 1454s done. 1454s Setting up default-jre-headless (2:1.21-76) ... 1454s Setting up openjdk-21-jre:armhf (21.0.6+7-1) ... 1454s Setting up junit4 (4.13.2-5) ... 1454s Setting up default-jre (2:1.21-76) ... 1454s Setting up libnetty-tcnative-java (2.0.28-1build4) ... 1454s Setting up libzookeeper-java (3.9.3-1build1) ... 1454s Setting up zookeeper (3.9.3-1build1) ... 1454s warn: The home directory `/var/lib/zookeeper' already exists. Not touching this directory. 1454s warn: Warning: The home directory `/var/lib/zookeeper' does not belong to the user you are currently creating. 1454s update-alternatives: using /etc/zookeeper/conf_example to provide /etc/zookeeper/conf (zookeeper-conf) in auto mode 1454s Setting up zookeeperd (3.9.3-1build1) ... 1454s Processing triggers for libc-bin (2.41-1ubuntu1) ... 1469s autopkgtest [01:51:01]: test acceptance-zookeeper: debian/tests/acceptance zookeeper "-e dcs_failsafe_mode" 1469s autopkgtest [01:51:01]: test acceptance-zookeeper: [----------------------- 1476s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 1476s ++ ls -1r /usr/lib/postgresql/ 1476s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 1476s + '[' 17 == 10 -o 17 == 11 ']' 1476s + echo '### PostgreSQL 17 acceptance-zookeeper -e dcs_failsafe_mode ###' 1476s + 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' 1476s ### PostgreSQL 17 acceptance-zookeeper -e dcs_failsafe_mode ### 1477s Mar 16 01:51:09 Feature: basic replication # features/basic_replication.feature:1 1477s Mar 16 01:51:09 We should check that the basic bootstrapping, replication and failover works. 1477s Mar 16 01:51:09 Scenario: check replication of a single table # features/basic_replication.feature:4 1477s Mar 16 01:51:09 Given I start postgres-0 # features/steps/basic_replication.py:20 1482s Mar 16 01:51:14 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 1482s Mar 16 01:51:14 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1482s Mar 16 01:51: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 1482s Mar 16 01:51:14 Then I receive a response code 200 # features/steps/patroni_api.py:100 1482s Mar 16 01:51:14 When I start postgres-1 # features/steps/basic_replication.py:20 1486s Mar 16 01:51:18 And I configure and start postgres-2 with a tag replicatefrom postgres-0 # features/steps/cascading_replication.py:7 1490s Mar 16 01:51:22 And "sync" key in DCS has leader=postgres-0 after 20 seconds # features/steps/cascading_replication.py:23 1490s Mar 16 01:51:22 And I add the table foo to postgres-0 # features/steps/basic_replication.py:66 1490s Mar 16 01:51:22 Then table foo is present on postgres-1 after 20 seconds # features/steps/basic_replication.py:105 1491s Mar 16 01:51:23 Then table foo is present on postgres-2 after 20 seconds # features/steps/basic_replication.py:105 1491s Mar 16 01:51:23 1491s Mar 16 01:51:23 Scenario: check restart of sync replica # features/basic_replication.feature:17 1491s Mar 16 01:51:23 Given I shut down postgres-2 # features/steps/basic_replication.py:41 1492s Mar 16 01:51:24 Then "sync" key in DCS has sync_standby=postgres-1 after 5 seconds # features/steps/cascading_replication.py:23 1492s Mar 16 01:51:24 When I start postgres-2 # features/steps/basic_replication.py:20 1495s Mar 16 01:51:27 And I shut down postgres-1 # features/steps/basic_replication.py:41 1498s Mar 16 01:51:30 Then "sync" key in DCS has sync_standby=postgres-2 after 10 seconds # features/steps/cascading_replication.py:23 1499s Mar 16 01:51:31 When I start postgres-1 # features/steps/basic_replication.py:20 1502s Mar 16 01:51:34 Then "members/postgres-1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1502s Mar 16 01:51:34 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:144 1502s Mar 16 01:51:34 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:144 1502s Mar 16 01:51:34 1502s Mar 16 01:51:34 Scenario: check stuck sync replica # features/basic_replication.feature:28 1502s Mar 16 01:51:34 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 1502s Mar 16 01:51:34 Then I receive a response code 200 # features/steps/patroni_api.py:100 1502s Mar 16 01:51:34 And I create table on postgres-0 # features/steps/basic_replication.py:85 1502s Mar 16 01:51:34 And table mytest is present on postgres-1 after 2 seconds # features/steps/basic_replication.py:105 1503s Mar 16 01:51:35 And table mytest is present on postgres-2 after 2 seconds # features/steps/basic_replication.py:105 1503s Mar 16 01:51:35 When I pause wal replay on postgres-2 # features/steps/basic_replication.py:76 1503s Mar 16 01:51:35 And I load data on postgres-0 # features/steps/basic_replication.py:96 1504s Mar 16 01:51:36 Then "sync" key in DCS has sync_standby=postgres-1 after 15 seconds # features/steps/cascading_replication.py:23 1507s Mar 16 01:51:39 And I resume wal replay on postgres-2 # features/steps/basic_replication.py:76 1507s Mar 16 01:51:39 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:144 1508s Mar 16 01:51:40 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:144 1508s Mar 16 01:51:40 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 1508s Mar 16 01:51:40 Then I receive a response code 200 # features/steps/patroni_api.py:100 1508s Mar 16 01:51:40 And I drop table on postgres-0 # features/steps/basic_replication.py:85 1508s Mar 16 01:51:40 1508s Mar 16 01:51:40 Scenario: check multi sync replication # features/basic_replication.feature:44 1508s Mar 16 01:51:40 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 1508s Mar 16 01:51:40 Then I receive a response code 200 # features/steps/patroni_api.py:100 1508s Mar 16 01:51:40 Then "sync" key in DCS has sync_standby=postgres-1,postgres-2 after 10 seconds # features/steps/cascading_replication.py:23 1512s Mar 16 01:51:44 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:144 1513s Mar 16 01:51:45 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:144 1513s Mar 16 01:51:45 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 1513s Mar 16 01:51:45 Then I receive a response code 200 # features/steps/patroni_api.py:100 1513s Mar 16 01:51:45 And I shut down postgres-1 # features/steps/basic_replication.py:41 1516s Mar 16 01:51:48 Then "sync" key in DCS has sync_standby=postgres-2 after 10 seconds # features/steps/cascading_replication.py:23 1517s Mar 16 01:51:49 When I start postgres-1 # features/steps/basic_replication.py:20 1520s Mar 16 01:51:52 Then "members/postgres-1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1520s Mar 16 01: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 1520s Mar 16 01:51:52 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:144 1520s Mar 16 01:51:52 1520s Mar 16 01:51:52 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 1520s Mar 16 01:51:52 Given I run patronictl.py pause batman # features/steps/patroni_api.py:88 1522s Mar 16 01:51:54 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 1522s Mar 16 01:51:54 When I sleep for 2 seconds # features/steps/patroni_api.py:41 1524s Mar 16 01:51:56 And I shut down postgres-0 # features/steps/basic_replication.py:41 1525s Mar 16 01:51:57 And I run patronictl.py resume batman # features/steps/patroni_api.py:88 1526s Mar 16 01:51:58 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 1526s Mar 16 01:51:58 And postgres-2 role is the primary after 24 seconds # features/steps/basic_replication.py:117 1546s Mar 16 01:52:18 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:158 1549s Mar 16 01:52:21 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 1549s Mar 16 01:52:21 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 1549s Mar 16 01:52:21 Then I receive a response code 200 # features/steps/patroni_api.py:100 1549s Mar 16 01:52:21 When I add the table bar to postgres-2 # features/steps/basic_replication.py:66 1549s Mar 16 01:52:21 Then table bar is present on postgres-1 after 20 seconds # features/steps/basic_replication.py:105 1549s Mar 16 01:52:21 And Response on GET http://127.0.0.1:8010/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:158 1549s Mar 16 01:52:21 1549s Mar 16 01:52:21 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 1549s Mar 16 01:52:21 Given I add the table splitbrain to postgres-0 # features/steps/basic_replication.py:66 1549s Mar 16 01:52:21 And I start postgres-0 # features/steps/basic_replication.py:20 1549s Mar 16 01:52:21 Then postgres-0 role is the secondary after 20 seconds # features/steps/basic_replication.py:117 1556s Mar 16 01:52:28 When I add the table buz to postgres-2 # features/steps/basic_replication.py:66 1556s Mar 16 01:52:28 Then table buz is present on postgres-0 after 20 seconds # features/steps/basic_replication.py:105 1556s Mar 16 01:52:28 1556s Mar 16 01:52:28 @reject-duplicate-name 1556s Mar 16 01:52:28 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 1556s Mar 16 01:52:28 Given I start duplicate postgres-0 on port 8011 # features/steps/basic_replication.py:25 1558s Mar 16 01:52:30 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 1563s Mar 16 01:52:35 1563s Mar 16 01:52:35 Feature: cascading replication # features/cascading_replication.feature:1 1563s Mar 16 01:52:35 We should check that patroni can do base backup and streaming from the replica 1563s Mar 16 01:52:35 Scenario: check a base backup and streaming replication from a replica # features/cascading_replication.feature:4 1563s Mar 16 01:52:35 Given I start postgres-0 # features/steps/basic_replication.py:20 1567s Mar 16 01:52:39 And postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 1567s Mar 16 01:52:39 And I configure and start postgres-1 with a tag clonefrom true # features/steps/cascading_replication.py:7 1572s Mar 16 01:52:44 And replication works from postgres-0 to postgres-1 after 20 seconds # features/steps/basic_replication.py:124 1572s Mar 16 01:52:44 And I create label with "postgres-0" in postgres-0 data directory # features/steps/cascading_replication.py:18 1572s Mar 16 01:52:44 And I create label with "postgres-1" in postgres-1 data directory # features/steps/cascading_replication.py:18 1572s Mar 16 01:52:44 And "members/postgres-1" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 1572s Mar 16 01:52:44 And I configure and start postgres-2 with a tag replicatefrom postgres-1 # features/steps/cascading_replication.py:7 1576s Mar 16 01:52:48 Then replication works from postgres-0 to postgres-2 after 30 seconds # features/steps/basic_replication.py:124 1577s Mar 16 01:52:49 And there is a label with "postgres-1" in postgres-2 data directory # features/steps/cascading_replication.py:12 1583s Mar 16 01:52:55 1583s SKIP FEATURE citus: Citus extension isn't available 1583s SKIP Scenario check that worker cluster is registered in the coordinator: Citus extension isn't available 1583s SKIP Scenario coordinator failover updates pg_dist_node: Citus extension isn't available 1583s SKIP Scenario worker switchover doesn't break client queries on the coordinator: Citus extension isn't available 1583s SKIP Scenario worker primary restart doesn't break client queries on the coordinator: Citus extension isn't available 1583s 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 1583s Mar 16 01:52:55 Feature: citus # features/citus.feature:1 1583s Mar 16 01:52:55 We should check that coordinator discovers and registers workers and clients don't have errors when worker cluster switches over 1583s Mar 16 01:52:55 Scenario: check that worker cluster is registered in the coordinator # features/citus.feature:4 1583s Mar 16 01:52:55 Given I start postgres-0 in citus group 0 # None 1583s Mar 16 01:52:55 And I start postgres-2 in citus group 1 # None 1584s Mar 16 01:52:55 Then postgres-0 is a leader in a group 0 after 10 seconds # None 1584s Mar 16 01:52:55 And postgres-2 is a leader in a group 1 after 10 seconds # None 1584s Mar 16 01:52:55 When I start postgres-1 in citus group 0 # None 1584s Mar 16 01:52:55 And I start postgres-3 in citus group 1 # None 1584s Mar 16 01:52:55 Then replication works from postgres-0 to postgres-1 after 15 seconds # None 1584s Mar 16 01:52:55 Then replication works from postgres-2 to postgres-3 after 15 seconds # None 1584s Mar 16 01:52:55 And postgres-0 is registered in the postgres-0 as the primary in group 0 after 5 seconds # None 1584s Mar 16 01:52:55 And postgres-1 is registered in the postgres-0 as the secondary in group 0 after 5 seconds # None 1584s Mar 16 01:52:55 And postgres-2 is registered in the postgres-0 as the primary in group 1 after 5 seconds # None 1584s Mar 16 01:52:55 And postgres-3 is registered in the postgres-0 as the secondary in group 1 after 5 seconds # None 1584s Mar 16 01:52:55 1584s Mar 16 01:52:55 Scenario: coordinator failover updates pg_dist_node # features/citus.feature:18 1584s Mar 16 01:52:55 Given I run patronictl.py failover batman --group 0 --candidate postgres-1 --force # None 1584s Mar 16 01:52:55 Then postgres-1 role is the primary after 10 seconds # None 1584s Mar 16 01:52:55 And "members/postgres-0" key in a group 0 in DCS has state=running after 15 seconds # None 1584s Mar 16 01:52:55 And replication works from postgres-1 to postgres-0 after 15 seconds # None 1584s Mar 16 01:52:55 And postgres-1 is registered in the postgres-2 as the primary in group 0 after 5 seconds # None 1584s Mar 16 01:52:55 And postgres-0 is registered in the postgres-2 as the secondary in group 0 after 15 seconds # None 1584s Mar 16 01:52:55 And "sync" key in a group 0 in DCS has sync_standby=postgres-0 after 15 seconds # None 1584s Mar 16 01:52:55 When I run patronictl.py switchover batman --group 0 --candidate postgres-0 --force # None 1584s Mar 16 01:52:55 Then postgres-0 role is the primary after 10 seconds # None 1584s Mar 16 01:52:55 And replication works from postgres-0 to postgres-1 after 15 seconds # None 1584s Mar 16 01:52:55 And postgres-0 is registered in the postgres-2 as the primary in group 0 after 5 seconds # None 1584s Mar 16 01:52:55 And postgres-1 is registered in the postgres-2 as the secondary in group 0 after 15 seconds # None 1584s Mar 16 01:52:55 And "sync" key in a group 0 in DCS has sync_standby=postgres-1 after 15 seconds # None 1584s Mar 16 01:52:55 1584s Mar 16 01:52:55 Scenario: worker switchover doesn't break client queries on the coordinator # features/citus.feature:33 1584s Mar 16 01:52:55 Given I create a distributed table on postgres-0 # None 1584s Mar 16 01:52:55 And I start a thread inserting data on postgres-0 # None 1584s Mar 16 01:52:55 When I run patronictl.py switchover batman --group 1 --force # None 1584s Mar 16 01:52:55 Then I receive a response returncode 0 # None 1584s Mar 16 01:52:55 And postgres-3 role is the primary after 10 seconds # None 1584s Mar 16 01:52:55 And "members/postgres-2" key in a group 1 in DCS has state=running after 15 seconds # None 1584s Mar 16 01:52:55 And replication works from postgres-3 to postgres-2 after 15 seconds # None 1584s Mar 16 01:52:55 And postgres-3 is registered in the postgres-0 as the primary in group 1 after 5 seconds # None 1584s Mar 16 01:52:55 And postgres-2 is registered in the postgres-0 as the secondary in group 1 after 15 seconds # None 1584s Mar 16 01:52:55 And "sync" key in a group 1 in DCS has sync_standby=postgres-2 after 15 seconds # None 1584s Mar 16 01:52:55 And a thread is still alive # None 1584s Mar 16 01:52:55 When I run patronictl.py switchover batman --group 1 --force # None 1584s Mar 16 01:52:55 Then I receive a response returncode 0 # None 1584s Mar 16 01:52:55 And postgres-2 role is the primary after 10 seconds # None 1584s Mar 16 01:52:55 And replication works from postgres-2 to postgres-3 after 15 seconds # None 1584s Mar 16 01:52:55 And postgres-2 is registered in the postgres-0 as the primary in group 1 after 5 seconds # None 1584s Mar 16 01:52:55 And postgres-3 is registered in the postgres-0 as the secondary in group 1 after 15 seconds # None 1584s Mar 16 01:52:55 And "sync" key in a group 1 in DCS has sync_standby=postgres-3 after 15 seconds # None 1584s Mar 16 01:52:55 And a thread is still alive # None 1584s Mar 16 01:52:55 When I stop a thread # None 1584s Mar 16 01:52:55 Then a distributed table on postgres-0 has expected rows # None 1584s Mar 16 01:52:55 1584s Mar 16 01:52:55 Scenario: worker primary restart doesn't break client queries on the coordinator # features/citus.feature:56 1584s Mar 16 01:52:55 Given I cleanup a distributed table on postgres-0 # None 1584s Mar 16 01:52:55 And I start a thread inserting data on postgres-0 # None 1584s Mar 16 01:52:55 When I run patronictl.py restart batman postgres-2 --group 1 --force # None 1584s Mar 16 01:52:55 Then I receive a response returncode 0 # None 1584s Mar 16 01:52:55 And postgres-2 role is the primary after 10 seconds # None 1584s Mar 16 01:52:55 And replication works from postgres-2 to postgres-3 after 15 seconds # None 1584s Mar 16 01:52:55 And postgres-2 is registered in the postgres-0 as the primary in group 1 after 5 seconds # None 1584s Mar 16 01:52:55 And postgres-3 is registered in the postgres-0 as the secondary in group 1 after 15 seconds # None 1584s Mar 16 01:52:55 And a thread is still alive # None 1584s Mar 16 01:52:55 When I stop a thread # None 1584s Mar 16 01:52:55 Then a distributed table on postgres-0 has expected rows # None 1584s Mar 16 01:52:55 1584s Mar 16 01:52:55 Scenario: check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node # features/citus.feature:69 1584s Mar 16 01:52:55 Given I start postgres-4 in citus group 2 # None 1584s Mar 16 01:52:55 Then postgres-4 is a leader in a group 2 after 10 seconds # None 1584s Mar 16 01:52:55 And "members/postgres-4" key in a group 2 in DCS has role=primary after 3 seconds # None 1584s Mar 16 01:52:55 When I run patronictl.py edit-config batman --group 2 -s ttl=20 --force # None 1584s Mar 16 01:52:55 Then I receive a response returncode 0 # None 1584s Mar 16 01:52:55 And I receive a response output "+ttl: 20" # None 1584s Mar 16 01:52:55 Then postgres-4 is registered in the postgres-2 as the primary in group 2 after 5 seconds # None 1584s Mar 16 01:52:55 When I shut down postgres-4 # None 1584s Mar 16 01:52:55 Then there is a transaction in progress on postgres-0 changing pg_dist_node after 5 seconds # None 1584s Mar 16 01:52:55 When I run patronictl.py restart batman postgres-2 --group 1 --force # None 1584s Mar 16 01:52:55 Then a transaction finishes in 20 seconds # None 1584s Mar 16 01:52:55 1584s Mar 16 01:52:55 Feature: custom bootstrap # features/custom_bootstrap.feature:1 1584s Mar 16 01:52:55 We should check that patroni can bootstrap a new cluster from a backup 1584s Mar 16 01:52:55 Scenario: clone existing cluster using pg_basebackup # features/custom_bootstrap.feature:4 1584s Mar 16 01:52:55 Given I start postgres-0 # features/steps/basic_replication.py:20 1588s Mar 16 01:53:00 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 1588s Mar 16 01:53:00 When I add the table foo to postgres-0 # features/steps/basic_replication.py:66 1588s Mar 16 01:53:00 And I start postgres-1 in a cluster batman1 as a clone of postgres-0 # features/steps/custom_bootstrap.py:6 1593s Mar 16 01:53:05 Then postgres-1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 1594s Mar 16 01:53:06 Then table foo is present on postgres-1 after 10 seconds # features/steps/basic_replication.py:105 1594s Mar 16 01:53:06 1594s Mar 16 01:53:06 Scenario: make a backup and do a restore into a new cluster # features/custom_bootstrap.feature:12 1594s Mar 16 01:53:06 Given I add the table bar to postgres-1 # features/steps/basic_replication.py:66 1594s Mar 16 01:53:06 And I do a backup of postgres-1 # features/steps/custom_bootstrap.py:25 1596s Mar 16 01:53:08 When I start postgres-2 in a cluster batman2 from backup # features/steps/custom_bootstrap.py:11 1602s Mar 16 01:53:14 Then postgres-2 is a leader of batman2 after 30 seconds # features/steps/custom_bootstrap.py:16 1602s Mar 16 01:53:14 And table bar is present on postgres-2 after 10 seconds # features/steps/basic_replication.py:105 1608s Mar 16 01:53:20 1608s Mar 16 01:53:20 Feature: ignored slots # features/ignored_slots.feature:1 1608s Mar 16 01:53:20 1608s Mar 16 01:53:20 Scenario: check ignored slots aren't removed on failover/switchover # features/ignored_slots.feature:2 1608s Mar 16 01:53:20 Given I start postgres-1 # features/steps/basic_replication.py:20 1612s Mar 16 01:53:24 Then postgres-1 is a leader after 10 seconds # features/steps/patroni_api.py:31 1613s Mar 16 01:53:25 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1613s Mar 16 01:53:25 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 1613s Mar 16 01:53:25 Then I receive a response code 200 # features/steps/patroni_api.py:100 1613s Mar 16 01:53:25 And Response on GET http://127.0.0.1:8009/config contains ignore_slots after 10 seconds # features/steps/patroni_api.py:158 1615s Mar 16 01:53:25 When I shut down postgres-1 # features/steps/basic_replication.py:41 1615s Mar 16 01:53:27 And I start postgres-1 # features/steps/basic_replication.py:20 1617s Mar 16 01:53:29 Then postgres-1 is a leader after 10 seconds # features/steps/patroni_api.py:31 1619s Mar 16 01:53:30 And "members/postgres-1" key in DCS has role=primary after 10 seconds # features/steps/cascading_replication.py:23 1619s Mar 16 01:53:31 And postgres-1 role is the primary after 20 seconds # features/steps/basic_replication.py:117 1619s Mar 16 01:53:31 When I create a logical replication slot unmanaged_slot_0 on postgres-1 with the test_decoding plugin # features/steps/slots.py:9 1619s Mar 16 01:53:31 And I create a logical replication slot unmanaged_slot_1 on postgres-1 with the test_decoding plugin # features/steps/slots.py:9 1619s Mar 16 01:53:31 And I create a logical replication slot unmanaged_slot_2 on postgres-1 with the test_decoding plugin # features/steps/slots.py:9 1619s Mar 16 01:53:31 And I create a logical replication slot unmanaged_slot_3 on postgres-1 with the test_decoding plugin # features/steps/slots.py:9 1620s Mar 16 01:53:31 And I create a logical replication slot dummy_slot on postgres-1 with the test_decoding plugin # features/steps/slots.py:9 1620s Mar 16 01:53:32 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 1620s Mar 16 01:53:32 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 1620s Mar 16 01:53:32 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 1620s Mar 16 01:53:32 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 1620s Mar 16 01:53:32 When I start postgres-0 # features/steps/basic_replication.py:20 1624s Mar 16 01:53:36 Then "members/postgres-0" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 1624s Mar 16 01:53:36 And postgres-0 role is the secondary after 20 seconds # features/steps/basic_replication.py:117 1624s Mar 16 01:53:36 And replication works from postgres-1 to postgres-0 after 20 seconds # features/steps/basic_replication.py:124 1625s Mar 16 01:53:37 When I shut down postgres-1 # features/steps/basic_replication.py:41 1627s Mar 16 01:53:39 Then "members/postgres-0" key in DCS has role=primary after 10 seconds # features/steps/cascading_replication.py:23 1628s Mar 16 01:53:40 When I start postgres-1 # features/steps/basic_replication.py:20 1631s Mar 16 01:53:43 Then postgres-1 role is the secondary after 20 seconds # features/steps/basic_replication.py:117 1631s Mar 16 01:53:43 And "members/postgres-1" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 1631s Mar 16 01:53:43 And I sleep for 2 seconds # features/steps/patroni_api.py:41 1633s Mar 16 01:53:45 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 1633s Mar 16 01:53:45 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 1633s Mar 16 01:53:45 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 1633s Mar 16 01:53:45 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 1633s Mar 16 01:53:45 And postgres-1 does not have a replication slot named dummy_slot # features/steps/slots.py:41 1633s Mar 16 01:53:45 When I shut down postgres-0 # features/steps/basic_replication.py:41 1635s Mar 16 01:53:47 Then "members/postgres-1" key in DCS has role=primary after 10 seconds # features/steps/cascading_replication.py:23 1636s Mar 16 01:53:48 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 1636s Mar 16 01:53:48 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 1636s Mar 16 01:53:48 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 1636s Mar 16 01:53:48 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 1638s Mar 16 01:53:50 1638s Mar 16 01:53:50 Feature: nostream node # features/nostream_node.feature:1 1638s Mar 16 01:53:50 1638s Mar 16 01:53:50 Scenario: check nostream node is recovering from archive # features/nostream_node.feature:3 1638s Mar 16 01:53:50 When I start postgres-0 # features/steps/basic_replication.py:20 1643s Mar 16 01:53:55 And I configure and start postgres-1 with a tag nostream true # features/steps/cascading_replication.py:7 1648s Mar 16 01:54:00 Then "members/postgres-1" key in DCS has replication_state=in archive recovery after 10 seconds # features/steps/cascading_replication.py:23 1648s Mar 16 01:54:00 And replication works from postgres-0 to postgres-1 after 30 seconds # features/steps/basic_replication.py:124 1653s Mar 16 01:54:05 1653s Mar 16 01:54:05 @slot-advance 1653s Mar 16 01:54:05 Scenario: check permanent logical replication slots are not copied # features/nostream_node.feature:10 1653s Mar 16 01:54:05 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 1653s Mar 16 01:54:05 Then I receive a response code 200 # features/steps/patroni_api.py:100 1653s Mar 16 01:54:05 When I run patronictl.py restart batman postgres-0 --force # features/steps/patroni_api.py:88 1655s Mar 16 01:54:07 Then postgres-0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:20 1656s Mar 16 01:54:08 When I configure and start postgres-2 with a tag replicatefrom postgres-1 # features/steps/cascading_replication.py:7 1661s Mar 16 01:54:13 Then "members/postgres-2" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 1662s Mar 16 01:54:14 And postgres-1 does not have a replication slot named test_logical # features/steps/slots.py:41 1662s Mar 16 01:54:14 And postgres-2 does not have a replication slot named test_logical # features/steps/slots.py:41 1662s Mar 16 01:54:14 1662s Mar 16 01:54:14 @slot-advance 1662s Mar 16 01:54:14 Scenario: check that slots are written to the /status key # features/nostream_node.feature:21 1662s Mar 16 01:54:14 Given "status" key in DCS has postgres_0 in slots # features/steps/slots.py:118 1662s Mar 16 01:54:14 And "status" key in DCS has postgres_2 in slots # features/steps/slots.py:118 1662s Mar 16 01:54:14 And "status" key in DCS has test_logical in slots # features/steps/slots.py:118 1662s Mar 16 01:54:14 And "status" key in DCS has test_logical in slots # features/steps/slots.py:118 1662s Mar 16 01:54:14 And "status" key in DCS does not have postgres_1 in slots # features/steps/slots.py:124 1668s Mar 16 01:54:20 1668s Mar 16 01:54:20 Feature: patroni api # features/patroni_api.feature:1 1668s Mar 16 01:54:20 We should check that patroni correctly responds to valid and not-valid API requests. 1668s Mar 16 01:54:20 Scenario: check API requests on a stand-alone server # features/patroni_api.feature:4 1668s Mar 16 01:54:20 Given I start postgres-0 # features/steps/basic_replication.py:20 1672s Mar 16 01:54:24 And postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 1672s Mar 16 01:54:24 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:63 1672s Mar 16 01:54:24 Then I receive a response code 200 # features/steps/patroni_api.py:100 1672s Mar 16 01:54:24 And I receive a response state running # features/steps/patroni_api.py:100 1672s Mar 16 01:54:24 And I receive a response role primary # features/steps/patroni_api.py:100 1672s Mar 16 01:54:24 When I issue a GET request to http://127.0.0.1:8008/standby_leader # features/steps/patroni_api.py:63 1672s Mar 16 01:54:24 Then I receive a response code 503 # features/steps/patroni_api.py:100 1672s Mar 16 01:54:24 When I issue a GET request to http://127.0.0.1:8008/health # features/steps/patroni_api.py:63 1672s Mar 16 01:54:24 Then I receive a response code 200 # features/steps/patroni_api.py:100 1672s Mar 16 01:54:24 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:63 1672s Mar 16 01:54:24 Then I receive a response code 503 # features/steps/patroni_api.py:100 1672s Mar 16 01:54:24 When I issue a POST request to http://127.0.0.1:8008/reinitialize with {"force": true} # features/steps/patroni_api.py:73 1672s Mar 16 01:54:24 Then I receive a response code 503 # features/steps/patroni_api.py:100 1672s Mar 16 01:54:24 And I receive a response text I am the leader, can not reinitialize # features/steps/patroni_api.py:100 1672s Mar 16 01:54:24 When I run patronictl.py switchover batman --primary postgres-0 --force # features/steps/patroni_api.py:88 1674s Mar 16 01:54:26 Then I receive a response returncode 1 # features/steps/patroni_api.py:100 1674s Mar 16 01:54:26 And I receive a response output "Error: No candidates found to switchover to" # features/steps/patroni_api.py:100 1674s Mar 16 01:54:26 When I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres-0"} # features/steps/patroni_api.py:73 1674s Mar 16 01:54:26 Then I receive a response code 412 # features/steps/patroni_api.py:100 1674s Mar 16 01:54:26 And I receive a response text switchover is not possible: cluster does not have members except leader # features/steps/patroni_api.py:100 1674s Mar 16 01:54:26 When I issue an empty POST request to http://127.0.0.1:8008/failover # features/steps/patroni_api.py:68 1674s Mar 16 01:54:26 Then I receive a response code 400 # features/steps/patroni_api.py:100 1674s Mar 16 01:54:26 When I issue a POST request to http://127.0.0.1:8008/failover with {"foo": "bar"} # features/steps/patroni_api.py:73 1674s Mar 16 01:54:26 Then I receive a response code 400 # features/steps/patroni_api.py:100 1674s Mar 16 01:54:26 And I receive a response text "Failover could be performed only to a specific candidate" # features/steps/patroni_api.py:100 1674s Mar 16 01:54:26 1674s Mar 16 01:54:26 Scenario: check local configuration reload # features/patroni_api.feature:32 1674s Mar 16 01:54:26 Given I add tag new_tag new_value to postgres-0 config # features/steps/patroni_api.py:139 1674s Mar 16 01:54:26 And I issue an empty POST request to http://127.0.0.1:8008/reload # features/steps/patroni_api.py:68 1674s Mar 16 01:54:26 Then I receive a response code 202 # features/steps/patroni_api.py:100 1674s Mar 16 01:54:26 1674s Mar 16 01:54:26 Scenario: check dynamic configuration change via DCS # features/patroni_api.feature:37 1674s Mar 16 01:54:26 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"ttl": 20, "postgresql": {"parameters": {"max_connections": "101"}}} # features/steps/patroni_api.py:73 1674s Mar 16 01:54:26 Then I receive a response code 200 # features/steps/patroni_api.py:100 1674s Mar 16 01:54:26 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 11 seconds # features/steps/patroni_api.py:158 1676s Mar 16 01:54:28 When I issue a GET request to http://127.0.0.1:8008/config # features/steps/patroni_api.py:63 1676s Mar 16 01:54:28 Then I receive a response code 200 # features/steps/patroni_api.py:100 1676s Mar 16 01:54:28 And I receive a response ttl 20 # features/steps/patroni_api.py:100 1676s Mar 16 01:54:28 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:63 1676s Mar 16 01:54:28 Then I receive a response code 200 # features/steps/patroni_api.py:100 1676s Mar 16 01:54:28 And I receive a response tags {'new_tag': 'new_value'} # features/steps/patroni_api.py:100 1676s Mar 16 01:54:28 And I sleep for 4 seconds # features/steps/patroni_api.py:41 1680s Mar 16 01:54:32 1680s Mar 16 01:54:32 Scenario: check the scheduled restart # features/patroni_api.feature:49 1680s Mar 16 01:54:32 Given I run patronictl.py edit-config -p 'superuser_reserved_connections=6' --force batman # features/steps/patroni_api.py:88 1682s Mar 16 01:54:33 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 1682s Mar 16 01:54:33 And I receive a response output "+ superuser_reserved_connections: 6" # features/steps/patroni_api.py:100 1682s Mar 16 01:54:33 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 5 seconds # features/steps/patroni_api.py:158 1682s Mar 16 01:54:34 Given I issue a scheduled restart at http://127.0.0.1:8008 in 5 seconds with {"role": "replica"} # features/steps/patroni_api.py:126 1682s Mar 16 01:54:34 Then I receive a response code 202 # features/steps/patroni_api.py:100 1682s Mar 16 01:54:34 And I sleep for 8 seconds # features/steps/patroni_api.py:41 1690s Mar 16 01:54:42 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 10 seconds # features/steps/patroni_api.py:158 1690s Mar 16 01:54:42 Given I issue a scheduled restart at http://127.0.0.1:8008 in 5 seconds with {"restart_pending": "True"} # features/steps/patroni_api.py:126 1690s Mar 16 01:54:42 Then I receive a response code 202 # features/steps/patroni_api.py:100 1690s Mar 16 01:54:42 And Response on GET http://127.0.0.1:8008/patroni does not contain pending_restart after 10 seconds # features/steps/patroni_api.py:173 1697s Mar 16 01:54:49 And postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 1698s Mar 16 01:54:50 1698s Mar 16 01:54:50 Scenario: check API requests for the primary-replica pair in the pause mode # features/patroni_api.feature:63 1698s Mar 16 01:54:50 Given I start postgres-1 # features/steps/basic_replication.py:20 1702s Mar 16 01:54:54 Then replication works from postgres-0 to postgres-1 after 20 seconds # features/steps/basic_replication.py:124 1703s Mar 16 01:54:55 When I run patronictl.py pause batman # features/steps/patroni_api.py:88 1704s Mar 16 01:54:56 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 1704s Mar 16 01:54:56 When I kill postmaster on postgres-1 # features/steps/basic_replication.py:56 1704s Mar 16 01:54:56 waiting for server to shut down.... done 1704s Mar 16 01:54:56 server stopped 1704s Mar 16 01:54:56 And I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:63 1704s Mar 16 01:54:56 Then I receive a response code 503 # features/steps/patroni_api.py:100 1704s Mar 16 01:54:56 And "members/postgres-1" key in DCS has state=stopped after 10 seconds # features/steps/cascading_replication.py:23 1705s Mar 16 01:54:57 When I run patronictl.py restart batman postgres-1 --force # features/steps/patroni_api.py:88 1708s Mar 16 01:55:00 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 1708s Mar 16 01:55:00 Then replication works from postgres-0 to postgres-1 after 20 seconds # features/steps/basic_replication.py:124 1709s Mar 16 01:55:01 And I sleep for 2 seconds # features/steps/patroni_api.py:41 1711s Mar 16 01:55:03 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:63 1711s Mar 16 01:55:03 Then I receive a response code 200 # features/steps/patroni_api.py:100 1711s Mar 16 01:55:03 And I receive a response state running # features/steps/patroni_api.py:100 1711s Mar 16 01:55:03 And I receive a response role replica # features/steps/patroni_api.py:100 1711s Mar 16 01:55:03 When I run patronictl.py reinit batman postgres-1 --force --wait # features/steps/patroni_api.py:88 1716s Mar 16 01:55:08 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 1716s Mar 16 01:55:08 And I receive a response output "Success: reinitialize for member postgres-1" # features/steps/patroni_api.py:100 1716s Mar 16 01:55:08 And postgres-1 role is the secondary after 30 seconds # features/steps/basic_replication.py:117 1717s Mar 16 01:55:09 And replication works from postgres-0 to postgres-1 after 20 seconds # features/steps/basic_replication.py:124 1718s Mar 16 01:55:10 When I run patronictl.py restart batman postgres-0 --force # features/steps/patroni_api.py:88 1720s Mar 16 01:55:12 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 1720s Mar 16 01:55:12 And I receive a response output "Success: restart on member postgres-0" # features/steps/patroni_api.py:100 1720s Mar 16 01:55:12 And postgres-0 role is the primary after 5 seconds # features/steps/basic_replication.py:117 1721s Mar 16 01:55:13 1721s Mar 16 01:55:13 Scenario: check the switchover via the API in the pause mode # features/patroni_api.feature:90 1721s Mar 16 01:55:13 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 1723s Mar 16 01:55:15 Then I receive a response code 200 # features/steps/patroni_api.py:100 1723s Mar 16 01:55:15 And postgres-1 is a leader after 5 seconds # features/steps/patroni_api.py:31 1723s Mar 16 01:55:15 And postgres-1 role is the primary after 10 seconds # features/steps/basic_replication.py:117 1724s Mar 16 01:55:16 And postgres-0 role is the secondary after 10 seconds # features/steps/basic_replication.py:117 1729s Mar 16 01:55:21 And replication works from postgres-1 to postgres-0 after 20 seconds # features/steps/basic_replication.py:124 1729s Mar 16 01:55:21 And "members/postgres-0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1729s Mar 16 01:55:21 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:63 1729s Mar 16 01:55:21 Then I receive a response code 503 # features/steps/patroni_api.py:100 1729s Mar 16 01:55:21 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:63 1729s Mar 16 01:55:21 Then I receive a response code 200 # features/steps/patroni_api.py:100 1729s Mar 16 01:55:21 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:63 1729s Mar 16 01:55:21 Then I receive a response code 200 # features/steps/patroni_api.py:100 1729s Mar 16 01:55:21 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:63 1729s Mar 16 01:55:21 Then I receive a response code 503 # features/steps/patroni_api.py:100 1729s Mar 16 01:55:21 1729s Mar 16 01:55:21 Scenario: check the scheduled switchover # features/patroni_api.feature:107 1729s Mar 16 01:55:21 Given I issue a scheduled switchover from postgres-1 to postgres-0 in 10 seconds # features/steps/patroni_api.py:119 1730s Mar 16 01:55:22 Then I receive a response returncode 1 # features/steps/patroni_api.py:100 1730s Mar 16 01:55:22 And I receive a response output "Can't schedule switchover in the paused state" # features/steps/patroni_api.py:100 1730s Mar 16 01:55:22 When I run patronictl.py resume batman # features/steps/patroni_api.py:88 1732s Mar 16 01:55:24 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 1732s Mar 16 01:55:24 Given I issue a scheduled switchover from postgres-1 to postgres-0 in 10 seconds # features/steps/patroni_api.py:119 1733s Mar 16 01:55:25 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 1733s Mar 16 01:55:25 And postgres-0 is a leader after 20 seconds # features/steps/patroni_api.py:31 1743s Mar 16 01:55:35 And postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 1744s Mar 16 01:55:36 And postgres-1 role is the secondary after 10 seconds # features/steps/basic_replication.py:117 1746s Mar 16 01:55:38 And replication works from postgres-0 to postgres-1 after 25 seconds # features/steps/basic_replication.py:124 1746s Mar 16 01:55:38 And "members/postgres-1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1747s Mar 16 01:55:39 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:63 1747s Mar 16 01:55:39 Then I receive a response code 200 # features/steps/patroni_api.py:100 1747s Mar 16 01:55:39 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:63 1747s Mar 16 01:55:39 Then I receive a response code 503 # features/steps/patroni_api.py:100 1747s Mar 16 01:55:39 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:63 1747s Mar 16 01:55:39 Then I receive a response code 503 # features/steps/patroni_api.py:100 1747s Mar 16 01:55:39 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:63 1747s Mar 16 01:55:39 Then I receive a response code 200 # features/steps/patroni_api.py:100 1751s Mar 16 01:55:43 1751s Mar 16 01:55:43 Feature: permanent slots # features/permanent_slots.feature:1 1751s Mar 16 01:55:43 1751s Mar 16 01:55:43 Scenario: check that physical permanent slots are created # features/permanent_slots.feature:2 1751s Mar 16 01:55:43 Given I start postgres-0 # features/steps/basic_replication.py:20 1755s Mar 16 01:55:47 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 1755s Mar 16 01:55:47 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1755s Mar 16 01:55:47 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 1755s Mar 16 01:55:47 Then I receive a response code 200 # features/steps/patroni_api.py:100 1755s Mar 16 01:55:47 And Response on GET http://127.0.0.1:8008/config contains slots after 10 seconds # features/steps/patroni_api.py:158 1756s Mar 16 01:55:47 When I start postgres-1 # features/steps/basic_replication.py:20 1760s Mar 16 01:55:52 And I configure and start postgres-2 with a tag nofailover true # features/steps/cascading_replication.py:7 1764s Mar 16 01:55:56 And I configure and start postgres-3 with a tag replicatefrom postgres-2 # features/steps/cascading_replication.py:7 1769s Mar 16 01:56:01 Then postgres-0 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:82 1769s Mar 16 01:56:01 And postgres-0 has a physical replication slot named postgres_1 after 10 seconds # features/steps/slots.py:82 1769s Mar 16 01:56:01 And postgres-0 has a physical replication slot named postgres_2 after 10 seconds # features/steps/slots.py:82 1769s Mar 16 01:56:01 And postgres-2 has a physical replication slot named postgres_3 after 10 seconds # features/steps/slots.py:82 1769s Mar 16 01:56:01 And postgres-2 does not have a replication slot named test_physical # features/steps/slots.py:41 1769s Mar 16 01:56:01 1769s Mar 16 01:56:01 @slot-advance 1769s Mar 16 01:56:01 Scenario: check that logical permanent slots are created # features/permanent_slots.feature:19 1769s Mar 16 01:56:01 Given I run patronictl.py restart batman postgres-0 --force # features/steps/patroni_api.py:88 1771s Mar 16 01:56:02 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 1771s Mar 16 01:56:03 Then postgres-0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:20 1772s Mar 16 01:56:04 1772s Mar 16 01:56:04 @slot-advance 1772s Mar 16 01:56:04 Scenario: check that permanent slots are created on replicas # features/permanent_slots.feature:25 1772s Mar 16 01:56:04 Given postgres-1 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:20 1777s Mar 16 01:56:09 Then Logical slot test_logical is in sync between postgres-0 and postgres-1 after 10 seconds # features/steps/slots.py:52 1777s Mar 16 01:56:09 And Logical slot test_logical is in sync between postgres-0 and postgres-3 after 10 seconds # features/steps/slots.py:52 1778s Mar 16 01:56:10 And postgres-1 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:82 1778s Mar 16 01:56:10 And postgres-2 does not have a replication slot named test_logical # features/steps/slots.py:41 1778s Mar 16 01:56:10 And postgres-3 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:82 1778s Mar 16 01:56:10 1778s Mar 16 01:56:10 @slot-advance 1778s Mar 16 01:56:10 Scenario: check permanent physical slots that match with member names # features/permanent_slots.feature:34 1778s Mar 16 01:56:10 Given postgres-0 has a physical replication slot named postgres_3 after 2 seconds # features/steps/slots.py:82 1778s Mar 16 01:56:10 And postgres-1 has a physical replication slot named postgres_0 after 2 seconds # features/steps/slots.py:82 1778s Mar 16 01:56:10 And postgres-1 has a physical replication slot named postgres_2 after 2 seconds # features/steps/slots.py:82 1778s Mar 16 01:56:10 And postgres-1 has a physical replication slot named postgres_3 after 2 seconds # features/steps/slots.py:82 1778s Mar 16 01:56:10 And postgres-2 does not have a replication slot named postgres_0 # features/steps/slots.py:41 1778s Mar 16 01:56:10 And postgres-2 does not have a replication slot named postgres_1 # features/steps/slots.py:41 1778s Mar 16 01:56:10 And postgres-2 has a physical replication slot named postgres_3 after 2 seconds # features/steps/slots.py:82 1778s Mar 16 01:56:10 And postgres-3 has a physical replication slot named postgres_0 after 2 seconds # features/steps/slots.py:82 1778s Mar 16 01:56:10 And postgres-3 has a physical replication slot named postgres_1 after 2 seconds # features/steps/slots.py:82 1778s Mar 16 01:56:10 And postgres-3 has a physical replication slot named postgres_2 after 2 seconds # features/steps/slots.py:82 1778s Mar 16 01:56:10 1778s Mar 16 01:56:10 @slot-advance 1778s Mar 16 01:56:10 Scenario: check that permanent slots are advanced on replicas # features/permanent_slots.feature:47 1778s Mar 16 01:56:10 Given I add the table replicate_me to postgres-0 # features/steps/basic_replication.py:66 1778s Mar 16 01:56:10 When I get all changes from logical slot test_logical on postgres-0 # features/steps/slots.py:72 1778s Mar 16 01:56:10 And I get all changes from physical slot test_physical on postgres-0 # features/steps/slots.py:77 1778s Mar 16 01:56:10 Then Logical slot test_logical is in sync between postgres-0 and postgres-1 after 10 seconds # features/steps/slots.py:52 1781s Mar 16 01:56:13 And Physical slot test_physical is in sync between postgres-0 and postgres-1 after 10 seconds # features/steps/slots.py:52 1781s Mar 16 01:56:13 And Logical slot test_logical is in sync between postgres-0 and postgres-3 after 10 seconds # features/steps/slots.py:52 1781s Mar 16 01:56:13 And Physical slot test_physical is in sync between postgres-0 and postgres-3 after 10 seconds # features/steps/slots.py:52 1781s Mar 16 01:56:13 And Physical slot postgres_1 is in sync between postgres-0 and postgres-3 after 10 seconds # features/steps/slots.py:52 1781s Mar 16 01:56:13 And Physical slot postgres_3 is in sync between postgres-2 and postgres-0 after 20 seconds # features/steps/slots.py:52 1781s Mar 16 01:56:13 And Physical slot postgres_3 is in sync between postgres-2 and postgres-1 after 10 seconds # features/steps/slots.py:52 1781s Mar 16 01:56:13 1781s Mar 16 01:56:13 @slot-advance 1781s Mar 16 01:56:13 Scenario: check that permanent slots and member slots are written to the /status key # features/permanent_slots.feature:60 1781s Mar 16 01:56:13 Given "status" key in DCS has test_physical in slots # features/steps/slots.py:118 1781s Mar 16 01:56:13 And "status" key in DCS has postgres_0 in slots # features/steps/slots.py:118 1781s Mar 16 01:56:13 And "status" key in DCS has postgres_1 in slots # features/steps/slots.py:118 1781s Mar 16 01:56:13 And "status" key in DCS has postgres_2 in slots # features/steps/slots.py:118 1781s Mar 16 01:56:13 And "status" key in DCS has postgres_3 in slots # features/steps/slots.py:118 1781s Mar 16 01:56:13 1781s Mar 16 01:56:13 @slot-advance 1781s Mar 16 01:56:13 Scenario: check that only non-permanent member slots are written to the retain_slots in /status key # features/permanent_slots.feature:68 1781s Mar 16 01:56:13 Given "status" key in DCS has postgres_0 in retain_slots # features/steps/slots.py:118 1781s Mar 16 01:56:13 And "status" key in DCS has postgres_1 in retain_slots # features/steps/slots.py:118 1781s Mar 16 01:56:13 And "status" key in DCS has postgres_2 in retain_slots # features/steps/slots.py:118 1781s Mar 16 01:56:13 And "status" key in DCS does not have postgres_3 in retain_slots # features/steps/slots.py:124 1781s Mar 16 01:56:13 1781s Mar 16 01:56:13 Scenario: check permanent physical replication slot after failover # features/permanent_slots.feature:74 1781s Mar 16 01:56:13 Given I shut down postgres-3 # features/steps/basic_replication.py:41 1782s Mar 16 01:56:14 And I shut down postgres-2 # features/steps/basic_replication.py:41 1783s Mar 16 01:56:15 And I shut down postgres-0 # features/steps/basic_replication.py:41 1785s Mar 16 01:56:17 Then postgres-1 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:82 1785s Mar 16 01:56:17 And postgres-1 has a physical replication slot named postgres_0 after 10 seconds # features/steps/slots.py:82 1785s Mar 16 01:56:17 And postgres-1 has a physical replication slot named postgres_3 after 10 seconds # features/steps/slots.py:82 1785s Mar 16 01:56:17 When I start postgres-0 # features/steps/basic_replication.py:20 1788s Mar 16 01:56:20 Then postgres-0 role is the replica after 20 seconds # features/steps/basic_replication.py:117 1788s Mar 16 01:56:20 And physical replication slot named postgres_1 on postgres-0 has no xmin value after 10 seconds # features/steps/slots.py:98 1788s Mar 16 01:56:20 And postgres-0 has a physical replication slot named postgres_2 after 10 seconds # features/steps/slots.py:82 1788s Mar 16 01:56:20 And postgres-0 has a physical replication slot named postgres_3 after 10 seconds # features/steps/slots.py:82 1791s Mar 16 01:56:23 1791s Mar 16 01:56:23 Feature: priority replication # features/priority_failover.feature:1 1791s Mar 16 01:56:23 We should check that we can give nodes priority during failover 1791s Mar 16 01:56:23 Scenario: check failover priority 0 prevents leaderships # features/priority_failover.feature:4 1791s Mar 16 01:56:23 Given I configure and start postgres-0 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 1795s Mar 16 01:56:27 And I configure and start postgres-1 with a tag failover_priority 0 # features/steps/cascading_replication.py:7 1799s Mar 16 01:56:31 Then replication works from postgres-0 to postgres-1 after 20 seconds # features/steps/basic_replication.py:124 1800s Mar 16 01:56:32 When I shut down postgres-0 # features/steps/basic_replication.py:41 1802s Mar 16 01:56:34 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 1804s Mar 16 01:56:36 Then postgres-1 role is the secondary after 10 seconds # features/steps/basic_replication.py:117 1804s Mar 16 01:56:36 When I start postgres-0 # features/steps/basic_replication.py:20 1807s Mar 16 01:56:39 Then postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 1808s Mar 16 01:56:40 1808s Mar 16 01:56:40 Scenario: check higher failover priority is respected # features/priority_failover.feature:14 1808s Mar 16 01:56:40 Given I configure and start postgres-2 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 1816s Mar 16 01:56:48 And I configure and start postgres-3 with a tag failover_priority 2 # features/steps/cascading_replication.py:7 1821s Mar 16 01:56:53 Then replication works from postgres-0 to postgres-2 after 20 seconds # features/steps/basic_replication.py:124 1822s Mar 16 01:56:54 And replication works from postgres-0 to postgres-3 after 20 seconds # features/steps/basic_replication.py:124 1824s Mar 16 01:56:55 When I shut down postgres-0 # features/steps/basic_replication.py:41 1826s Mar 16 01:56:57 Then postgres-3 role is the primary after 10 seconds # features/steps/basic_replication.py:117 1827s Mar 16 01:56:58 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 1827s Mar 16 01:56:58 1827s Mar 16 01:56:58 Scenario: check conflicting configuration handling # features/priority_failover.feature:23 1827s Mar 16 01:56:58 When I set nofailover tag in postgres-2 config # features/steps/patroni_api.py:133 1827s Mar 16 01:56:58 And I issue an empty POST request to http://127.0.0.1:8010/reload # features/steps/patroni_api.py:68 1827s Mar 16 01:56:59 Then I receive a response code 202 # features/steps/patroni_api.py:100 1827s Mar 16 01:56:59 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 1828s Mar 16 01:57:00 And "members/postgres-2" key in DCS has tags={'failover_priority': '1', 'nofailover': True} after 10 seconds # features/steps/cascading_replication.py:23 1829s Mar 16 01:57:01 When I issue a POST request to http://127.0.0.1:8010/failover with {"candidate": "postgres-2"} # features/steps/patroni_api.py:73 1829s Mar 16 01:57:01 Then I receive a response code 412 # features/steps/patroni_api.py:100 1829s Mar 16 01:57:01 And I receive a response text "failover is not possible: no good candidates have been found" # features/steps/patroni_api.py:100 1829s Mar 16 01:57:01 When I reset nofailover tag in postgres-1 config # features/steps/patroni_api.py:133 1829s Mar 16 01:57:01 And I issue an empty POST request to http://127.0.0.1:8009/reload # features/steps/patroni_api.py:68 1829s Mar 16 01:57:01 Then I receive a response code 202 # features/steps/patroni_api.py:100 1829s Mar 16 01:57:01 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 1830s Mar 16 01:57:02 And "members/postgres-1" key in DCS has tags={'failover_priority': '0', 'nofailover': False} after 10 seconds # features/steps/cascading_replication.py:23 1831s Mar 16 01:57:03 And I issue a POST request to http://127.0.0.1:8009/failover with {"candidate": "postgres-1"} # features/steps/patroni_api.py:73 1834s Mar 16 01:57:06 Then I receive a response code 200 # features/steps/patroni_api.py:100 1834s Mar 16 01:57:06 And postgres-1 role is the primary after 10 seconds # features/steps/basic_replication.py:117 1838s Mar 16 01:57:10 1839s Mar 16 01:57:10 Feature: quorum commit # features/quorum_commit.feature:1 1839s Mar 16 01:57:10 Check basic workfrlows when quorum commit is enabled 1839s Mar 16 01:57:10 Scenario: check enable quorum commit and that the only leader promotes after restart # features/quorum_commit.feature:4 1839s Mar 16 01:57:10 Given I start postgres-0 # features/steps/basic_replication.py:20 1842s Mar 16 01:57:14 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 1842s Mar 16 01:57:14 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1842s Mar 16 01:57:14 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 1842s Mar 16 01:57:14 Then I receive a response code 200 # features/steps/patroni_api.py:100 1842s Mar 16 01:57:14 And sync key in DCS has leader=postgres-0 after 20 seconds # features/steps/quorum_commit.py:8 1842s Mar 16 01:57:14 And sync key in DCS has quorum=0 after 2 seconds # features/steps/quorum_commit.py:8 1842s Mar 16 01:57:14 And synchronous_standby_names on postgres-0 is set to '_empty_str_' after 2 seconds # features/steps/quorum_commit.py:39 1842s Mar 16 01:57:14 When I shut down postgres-0 # features/steps/basic_replication.py:41 1844s Mar 16 01:57:16 And sync key in DCS has leader=postgres-0 after 2 seconds # features/steps/quorum_commit.py:8 1844s Mar 16 01:57:16 When I start postgres-0 # features/steps/basic_replication.py:20 1847s Mar 16 01:57:19 Then postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 1848s Mar 16 01:57:20 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 1848s Mar 16 01:57:20 Then synchronous_standby_names on postgres-0 is set to 'ANY 1 (*)' after 10 seconds # features/steps/quorum_commit.py:39 1849s Mar 16 01:57:21 1849s Mar 16 01:57:21 Scenario: check failover with one quorum standby # features/quorum_commit.feature:20 1849s Mar 16 01:57:21 Given I start postgres-1 # features/steps/basic_replication.py:20 1853s Mar 16 01:57:25 Then sync key in DCS has sync_standby=postgres-1 after 10 seconds # features/steps/quorum_commit.py:8 1855s Mar 16 01:57:27 And synchronous_standby_names on postgres-0 is set to 'ANY 1 ("postgres-1")' after 2 seconds # features/steps/quorum_commit.py:39 1855s Mar 16 01:57:27 When I shut down postgres-0 # features/steps/basic_replication.py:41 1857s Mar 16 01:57:29 Then postgres-1 role is the primary after 10 seconds # features/steps/basic_replication.py:117 1858s Mar 16 01:57:30 And sync key in DCS has quorum=0 after 10 seconds # features/steps/quorum_commit.py:8 1858s Mar 16 01:57:30 Then synchronous_standby_names on postgres-1 is set to 'ANY 1 (*)' after 10 seconds # features/steps/quorum_commit.py:39 1861s Mar 16 01:57:33 When I start postgres-0 # features/steps/basic_replication.py:20 1865s Mar 16 01:57:36 Then sync key in DCS has leader=postgres-1 after 10 seconds # features/steps/quorum_commit.py:8 1865s Mar 16 01:57:36 Then sync key in DCS has sync_standby=postgres-0 after 10 seconds # features/steps/quorum_commit.py:8 1867s Mar 16 01:57:38 And synchronous_standby_names on postgres-1 is set to 'ANY 1 ("postgres-0")' after 2 seconds # features/steps/quorum_commit.py:39 1867s Mar 16 01:57:39 1867s Mar 16 01:57:39 Scenario: check behavior with three nodes and different replication factor # features/quorum_commit.feature:33 1867s Mar 16 01:57:39 Given I start postgres-2 # features/steps/basic_replication.py:20 1871s Mar 16 01:57:43 Then sync key in DCS has sync_standby=postgres-0,postgres-2 after 10 seconds # features/steps/quorum_commit.py:8 1872s Mar 16 01:57:44 And sync key in DCS has quorum=1 after 2 seconds # features/steps/quorum_commit.py:8 1872s Mar 16 01:57:44 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 1872s Mar 16 01:57:44 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 1872s Mar 16 01:57:44 Then sync key in DCS has quorum=0 after 10 seconds # features/steps/quorum_commit.py:8 1873s Mar 16 01:57:45 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 1873s Mar 16 01:57:45 1873s Mar 16 01:57:45 Scenario: switch from quorum replication to good old multisync and back # features/quorum_commit.feature:42 1873s Mar 16 01:57:45 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 1873s Mar 16 01:57:45 And I shut down postgres-0 # features/steps/basic_replication.py:41 1874s Mar 16 01:57:46 Then synchronous_standby_names on postgres-1 is set to '"postgres-2"' after 10 seconds # features/steps/quorum_commit.py:39 1876s Mar 16 01:57:48 And sync key in DCS has sync_standby=postgres-2 after 10 seconds # features/steps/quorum_commit.py:8 1878s Mar 16 01:57:50 Then sync key in DCS has quorum=0 after 2 seconds # features/steps/quorum_commit.py:8 1878s Mar 16 01:57:50 When I issue a PATCH request to http://127.0.0.1:8009/config with {"synchronous_mode": "quorum"} # features/steps/patroni_api.py:73 1878s Mar 16 01:57:50 And I start postgres-0 # features/steps/basic_replication.py:20 1881s Mar 16 01:57:53 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 1881s Mar 16 01:57:53 And sync key in DCS has sync_standby=postgres-0,postgres-2 after 10 seconds # features/steps/quorum_commit.py:8 1881s Mar 16 01:57:53 Then sync key in DCS has quorum=1 after 2 seconds # features/steps/quorum_commit.py:8 1881s Mar 16 01:57:53 1881s Mar 16 01:57:53 Scenario: REST API and patronictl # features/quorum_commit.feature:54 1881s Mar 16 01:57:53 Given I run patronictl.py list batman # features/steps/patroni_api.py:88 1882s Mar 16 01:57:54 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 1882s Mar 16 01:57:54 And I receive a response output "Quorum Standby" # features/steps/patroni_api.py:100 1882s Mar 16 01:57:54 And Status code on GET http://127.0.0.1:8008/quorum is 200 after 3 seconds # features/steps/patroni_api.py:144 1882s Mar 16 01:57:54 And Status code on GET http://127.0.0.1:8010/quorum is 200 after 3 seconds # features/steps/patroni_api.py:144 1882s Mar 16 01:57:54 1882s Mar 16 01:57:54 Scenario: nosync node is removed from voters and synchronous_standby_names # features/quorum_commit.feature:61 1882s Mar 16 01:57:54 Given I add tag nosync true to postgres-2 config # features/steps/patroni_api.py:139 1882s Mar 16 01:57:54 When I issue an empty POST request to http://127.0.0.1:8010/reload # features/steps/patroni_api.py:68 1882s Mar 16 01:57:54 Then I receive a response code 202 # features/steps/patroni_api.py:100 1882s Mar 16 01:57:54 And sync key in DCS has quorum=0 after 10 seconds # features/steps/quorum_commit.py:8 1885s Mar 16 01:57:57 And sync key in DCS has sync_standby=postgres-0 after 10 seconds # features/steps/quorum_commit.py:8 1885s Mar 16 01:57:57 And synchronous_standby_names on postgres-1 is set to 'ANY 1 ("postgres-0")' after 2 seconds # features/steps/quorum_commit.py:39 1885s Mar 16 01:57:57 And Status code on GET http://127.0.0.1:8010/quorum is 503 after 10 seconds # features/steps/patroni_api.py:144 1893s Mar 16 01:58:04 1893s Mar 16 01:58:04 Feature: recovery # features/recovery.feature:1 1893s Mar 16 01:58:04 We want to check that crashed postgres is started back 1893s Mar 16 01:58:04 Scenario: check that timeline is not incremented when primary is started after crash # features/recovery.feature:4 1893s Mar 16 01:58:04 Given I start postgres-0 # features/steps/basic_replication.py:20 1898s Mar 16 01:58:10 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 1899s Mar 16 01:58:11 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1899s Mar 16 01:58:11 When I start postgres-1 # features/steps/basic_replication.py:20 1903s Mar 16 01:58:15 And I add the table foo to postgres-0 # features/steps/basic_replication.py:66 1903s Mar 16 01:58:15 Then table foo is present on postgres-1 after 20 seconds # features/steps/basic_replication.py:105 1904s Mar 16 01:58:16 When I kill postmaster on postgres-0 # features/steps/basic_replication.py:56 1904s Mar 16 01:58:16 waiting for server to shut down.... done 1904s Mar 16 01:58:16 server stopped 1904s Mar 16 01:58:16 Then postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 1906s Mar 16 01:58:18 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:63 1906s Mar 16 01:58:18 Then I receive a response code 200 # features/steps/patroni_api.py:100 1906s Mar 16 01:58:18 And I receive a response role primary # features/steps/patroni_api.py:100 1906s Mar 16 01:58:18 And I receive a response timeline 1 # features/steps/patroni_api.py:100 1906s Mar 16 01:58:18 And "members/postgres-0" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 1906s Mar 16 01:58:18 And replication works from postgres-0 to postgres-1 after 15 seconds # features/steps/basic_replication.py:124 1910s Mar 16 01:58:22 1910s Mar 16 01:58:22 Scenario: check immediate failover when master_start_timeout=0 # features/recovery.feature:20 1910s Mar 16 01:58:22 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 1910s Mar 16 01:58:22 Then I receive a response code 200 # features/steps/patroni_api.py:100 1910s Mar 16 01:58:22 And Response on GET http://127.0.0.1:8008/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:158 1910s Mar 16 01:58:22 When I kill postmaster on postgres-0 # features/steps/basic_replication.py:56 1910s Mar 16 01:58:22 waiting for server to shut down.... done 1910s Mar 16 01:58:22 server stopped 1910s Mar 16 01:58:22 Then postgres-1 is a leader after 10 seconds # features/steps/patroni_api.py:31 1913s Mar 16 01:58:25 And postgres-1 role is the primary after 10 seconds # features/steps/basic_replication.py:117 1913s Mar 16 01:58:25 1913s Mar 16 01:58:25 Scenario: check crashed primary demotes after failed attempt to start # features/recovery.feature:28 1913s Mar 16 01:58:25 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 1913s Mar 16 01:58:25 Then I receive a response code 200 # features/steps/patroni_api.py:100 1913s Mar 16 01:58:25 And postgres-0 role is the replica after 10 seconds # features/steps/basic_replication.py:117 1915s Mar 16 01:58:27 When I ensure postgres-1 fails to start after a failure # features/steps/recovery.py:6 1915s Mar 16 01:58:27 When I kill postmaster on postgres-1 # features/steps/basic_replication.py:56 1915s Mar 16 01:58:27 waiting for server to shut down.... done 1915s Mar 16 01:58:27 server stopped 1915s Mar 16 01:58:27 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 1916s Mar 16 01:58:28 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 1919s Mar 16 01:58:31 1919s Mar 16 01:58:31 Feature: standby cluster # features/standby_cluster.feature:1 1919s Mar 16 01:58:31 1919s Mar 16 01:58:31 Scenario: prepare the cluster with logical slots # features/standby_cluster.feature:2 1919s Mar 16 01:58:31 Given I start postgres-1 # features/steps/basic_replication.py:20 1923s Mar 16 01:58:35 Then postgres-1 is a leader after 10 seconds # features/steps/patroni_api.py:31 1923s Mar 16 01:58:35 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1923s Mar 16 01:58:35 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 1924s Mar 16 01:58:35 Then I receive a response code 200 # features/steps/patroni_api.py:100 1924s Mar 16 01:58:35 And Response on GET http://127.0.0.1:8009/config contains slots after 10 seconds # features/steps/patroni_api.py:158 1924s Mar 16 01:58:36 And I sleep for 3 seconds # features/steps/patroni_api.py:41 1927s Mar 16 01:58:39 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 1927s Mar 16 01:58:39 Then I receive a response code 200 # features/steps/patroni_api.py:100 1927s Mar 16 01:58:39 And I do a backup of postgres-1 # features/steps/custom_bootstrap.py:25 1928s Mar 16 01:58:40 When I start postgres-0 # features/steps/basic_replication.py:20 1933s Mar 16 01:58:45 Then "members/postgres-0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1933s Mar 16 01:58:45 And replication works from postgres-1 to postgres-0 after 15 seconds # features/steps/basic_replication.py:124 1934s Mar 16 01:58:46 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:63 1935s Mar 16 01:58:46 Then I receive a response code 200 # features/steps/patroni_api.py:100 1935s Mar 16 01:58:46 And I receive a response replication_state streaming # features/steps/patroni_api.py:100 1935s Mar 16 01:58:46 And "members/postgres-0" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 1935s Mar 16 01:58:46 1935s Mar 16 01:58:46 @slot-advance 1935s Mar 16 01:58:46 Scenario: check permanent logical slots are synced to the replica # features/standby_cluster.feature:22 1935s Mar 16 01:58:46 Given I run patronictl.py restart batman postgres-1 --force # features/steps/patroni_api.py:88 1936s Mar 16 01:58:48 Then Logical slot test_logical is in sync between postgres-0 and postgres-1 after 10 seconds # features/steps/slots.py:52 1942s Mar 16 01:58:54 1942s Mar 16 01:58:54 Scenario: Detach exiting node from the cluster # features/standby_cluster.feature:26 1942s Mar 16 01:58:54 When I shut down postgres-1 # features/steps/basic_replication.py:41 1944s Mar 16 01:58:56 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 1944s Mar 16 01:58:56 And "members/postgres-0" key in DCS has role=primary after 5 seconds # features/steps/cascading_replication.py:23 1945s Mar 16 01:58:57 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:63 1946s Mar 16 01:58:57 Then I receive a response code 200 # features/steps/patroni_api.py:100 1946s Mar 16 01:58:57 1946s Mar 16 01:58:57 Scenario: check replication of a single table in a standby cluster # features/standby_cluster.feature:33 1946s Mar 16 01:58:57 Given I start postgres-1 in a standby cluster batman1 as a clone of postgres-0 # features/steps/standby_cluster.py:23 1949s Mar 16 01:59:01 Then postgres-1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 1949s Mar 16 01:59:01 When I add the table foo to postgres-0 # features/steps/basic_replication.py:66 1949s Mar 16 01:59:01 Then table foo is present on postgres-1 after 20 seconds # features/steps/basic_replication.py:105 1949s Mar 16 01:59:01 When I issue a GET request to http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:63 1949s Mar 16 01:59:01 Then I receive a response code 200 # features/steps/patroni_api.py:100 1949s Mar 16 01:59:01 And I receive a response replication_state streaming # features/steps/patroni_api.py:100 1949s Mar 16 01:59:01 And I sleep for 3 seconds # features/steps/patroni_api.py:41 1952s Mar 16 01:59:04 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:63 1952s Mar 16 01:59:04 Then I receive a response code 503 # features/steps/patroni_api.py:100 1952s Mar 16 01:59:04 When I issue a GET request to http://127.0.0.1:8009/standby_leader # features/steps/patroni_api.py:63 1952s Mar 16 01:59:04 Then I receive a response code 200 # features/steps/patroni_api.py:100 1952s Mar 16 01:59:04 And I receive a response role standby_leader # features/steps/patroni_api.py:100 1952s Mar 16 01:59:04 And there is a postgres-1_cb.log with "on_role_change standby_leader batman1" in postgres-1 data directory # features/steps/cascading_replication.py:12 1952s Mar 16 01:59:04 When I start postgres-2 in a cluster batman1 # features/steps/standby_cluster.py:12 1957s Mar 16 01:59:09 Then postgres-2 role is the replica after 24 seconds # features/steps/basic_replication.py:117 1957s Mar 16 01:59:09 And postgres-2 is replicating from postgres-1 after 10 seconds # features/steps/standby_cluster.py:52 1958s Mar 16 01:59:10 And table foo is present on postgres-2 after 20 seconds # features/steps/basic_replication.py:105 1958s Mar 16 01:59:10 When I issue a GET request to http://127.0.0.1:8010/patroni # features/steps/patroni_api.py:63 1958s Mar 16 01:59:10 Then I receive a response code 200 # features/steps/patroni_api.py:100 1958s Mar 16 01:59:10 And I receive a response replication_state streaming # features/steps/patroni_api.py:100 1958s Mar 16 01:59:10 And postgres-1 does not have a replication slot named test_logical # features/steps/slots.py:41 1958s Mar 16 01:59:10 1958s Mar 16 01:59:10 Scenario: check switchover # features/standby_cluster.feature:57 1958s Mar 16 01:59:10 Given I run patronictl.py switchover batman1 --force # features/steps/patroni_api.py:88 1961s Mar 16 01:59:13 Then Status code on GET http://127.0.0.1:8010/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:144 1961s Mar 16 01:59:13 And postgres-1 is replicating from postgres-2 after 32 seconds # features/steps/standby_cluster.py:52 1963s Mar 16 01:59:15 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 Mar 16 01:59:15 1963s Mar 16 01:59:15 Scenario: check failover # features/standby_cluster.feature:63 1963s Mar 16 01:59:15 When I kill postgres-2 # features/steps/basic_replication.py:46 1964s Mar 16 01:59:16 And I kill postmaster on postgres-2 # features/steps/basic_replication.py:56 1964s Mar 16 01:59:16 waiting for server to shut down.... done 1964s Mar 16 01:59:16 server stopped 1964s Mar 16 01:59:16 Then postgres-1 is replicating from postgres-0 after 32 seconds # features/steps/standby_cluster.py:52 1985s Mar 16 01:59:37 And Status code on GET http://127.0.0.1:8009/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:144 1986s Mar 16 01:59:38 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:63 1986s Mar 16 01:59:38 Then I receive a response code 503 # features/steps/patroni_api.py:100 1986s Mar 16 01:59:38 And I receive a response role standby_leader # features/steps/patroni_api.py:100 1986s Mar 16 01:59:38 And replication works from postgres-0 to postgres-1 after 15 seconds # features/steps/basic_replication.py:124 1987s Mar 16 01:59:39 And there is a postgres-1_cb.log with "on_role_change replica batman1\non_role_change standby_leader batman1" in postgres-1 data directory # features/steps/cascading_replication.py:12 1991s Mar 16 01:59:43 1991s Mar 16 01:59:43 Feature: watchdog # features/watchdog.feature:1 1991s Mar 16 01:59:43 Verify that watchdog gets pinged and triggered under appropriate circumstances. 1991s Mar 16 01:59:43 Scenario: watchdog is opened and pinged # features/watchdog.feature:4 1991s Mar 16 01:59:43 Given I start postgres-0 with watchdog # features/steps/watchdog.py:17 1996s Mar 16 01:59:48 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 1996s Mar 16 01:59:48 And postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 1996s Mar 16 01:59:48 And postgres-0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:22 1997s Mar 16 01:59:49 And postgres-0 watchdog has a 15 second timeout # features/steps/watchdog.py:35 1997s Mar 16 01:59:49 1997s Mar 16 01:59:49 Scenario: watchdog is reconfigured after global ttl changed # features/watchdog.feature:11 1997s Mar 16 01:59:49 Given I run patronictl.py edit-config batman -s ttl=30 --force # features/steps/patroni_api.py:88 1998s Mar 16 01:59:50 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 1998s Mar 16 01:59:50 And I receive a response output "+ttl: 30" # features/steps/patroni_api.py:100 1998s Mar 16 01:59:50 When I sleep for 4 seconds # features/steps/patroni_api.py:41 2002s Mar 16 01:59:54 Then postgres-0 watchdog has a 25 second timeout # features/steps/watchdog.py:35 2002s Mar 16 01:59:54 2002s Mar 16 01:59:54 Scenario: watchdog is disabled during pause # features/watchdog.feature:18 2002s Mar 16 01:59:54 Given I run patronictl.py pause batman # features/steps/patroni_api.py:88 2004s Mar 16 01:59:56 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 2004s Mar 16 01:59:56 When I sleep for 2 seconds # features/steps/patroni_api.py:41 2006s Mar 16 01:59:58 Then postgres-0 watchdog has been closed # features/steps/watchdog.py:30 2006s Mar 16 01:59:58 2006s Mar 16 01:59:58 Scenario: watchdog is opened and pinged after resume # features/watchdog.feature:24 2006s Mar 16 01:59:58 Given I reset postgres-0 watchdog state # features/steps/watchdog.py:40 2006s Mar 16 01:59:58 And I run patronictl.py resume batman # features/steps/patroni_api.py:88 2007s Mar 16 01:59:59 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 2007s Mar 16 01:59:59 And postgres-0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:22 2007s Mar 16 01:59:59 2007s Mar 16 01:59:59 Scenario: watchdog is disabled when shutting down # features/watchdog.feature:30 2007s Mar 16 01:59:59 Given I shut down postgres-0 # features/steps/basic_replication.py:41 2009s Mar 16 02:00:01 Then postgres-0 watchdog has been closed # features/steps/watchdog.py:30 2009s Mar 16 02:00:01 2009s Mar 16 02:00:01 Scenario: watchdog is triggered if patroni stops responding # features/watchdog.feature:34 2009s Mar 16 02:00:01 Given I reset postgres-0 watchdog state # features/steps/watchdog.py:40 2009s Mar 16 02:00:01 And I start postgres-0 with watchdog # features/steps/watchdog.py:17 2011s Mar 16 02:00:03 Then postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 2013s Mar 16 02:00:05 When postgres-0 hangs for 30 seconds # features/steps/watchdog.py:53 2013s Mar 16 02:00:05 Then postgres-0 watchdog is triggered after 30 seconds # features/steps/watchdog.py:45 2040s Mar 16 02:00:32 2041s Mar 16 02:00:33 Combined data file .coverage.autopkgtest-lxd-cnrirs.5408.XumhObNx 2041s Mar 16 02:00:33 Combined data file .coverage.autopkgtest-lxd-cnrirs.5473.XmoQvORx 2041s Mar 16 02:00:33 Combined data file .coverage.autopkgtest-lxd-cnrirs.5522.XoXBKIxx 2041s Mar 16 02:00:33 Combined data file .coverage.autopkgtest-lxd-cnrirs.5583.XlNRIsYx 2041s Mar 16 02:00:33 Combined data file .coverage.autopkgtest-lxd-cnrirs.5632.XnejnTGx 2041s Mar 16 02:00:33 Combined data file .coverage.autopkgtest-lxd-cnrirs.5709.XPehSnVx 2041s Mar 16 02:00:33 Combined data file .coverage.autopkgtest-lxd-cnrirs.5760.XtSuIylx 2041s Mar 16 02:00:33 Combined data file .coverage.autopkgtest-lxd-cnrirs.5765.XRNlySyx 2041s Mar 16 02:00:33 Combined data file .coverage.autopkgtest-lxd-cnrirs.5878.XEArChPx 2041s Mar 16 02:00:33 Combined data file .coverage.autopkgtest-lxd-cnrirs.5979.XUriRRIx 2041s Mar 16 02:00:33 Combined data file .coverage.autopkgtest-lxd-cnrirs.5991.XQHvabRx 2041s Mar 16 02:00:33 Combined data file .coverage.autopkgtest-lxd-cnrirs.6036.XrUZOPcx 2041s Mar 16 02:00:33 Combined data file .coverage.autopkgtest-lxd-cnrirs.6088.XfKAFmrx 2041s Mar 16 02:00:33 Combined data file .coverage.autopkgtest-lxd-cnrirs.6208.XnqyZHTx 2041s Mar 16 02:00:33 Combined data file .coverage.autopkgtest-lxd-cnrirs.6255.XqVKMiox 2041s Mar 16 02:00:33 Combined data file .coverage.autopkgtest-lxd-cnrirs.6312.XxZwFpNx 2041s Mar 16 02:00:33 Combined data file .coverage.autopkgtest-lxd-cnrirs.6415.XxeQCGvx 2041s Mar 16 02:00:33 Combined data file .coverage.autopkgtest-lxd-cnrirs.6472.XAncEXqx 2041s Mar 16 02:00:33 Combined data file .coverage.autopkgtest-lxd-cnrirs.6536.XhPfKFQx 2041s Mar 16 02:00:33 Combined data file .coverage.autopkgtest-lxd-cnrirs.6628.XxRxtuhx 2041s Mar 16 02:00:33 Combined data file .coverage.autopkgtest-lxd-cnrirs.6734.XdAiPTTx 2041s Mar 16 02:00:33 Combined data file .coverage.autopkgtest-lxd-cnrirs.6779.XnSBwdBx 2041s Mar 16 02:00:33 Combined data file .coverage.autopkgtest-lxd-cnrirs.6845.XOIYpQbx 2041s Mar 16 02:00:33 Combined data file .coverage.autopkgtest-lxd-cnrirs.6882.XWavQrUx 2041s Mar 16 02:00:33 Combined data file .coverage.autopkgtest-lxd-cnrirs.7054.XDfNNSkx 2041s Mar 16 02:00:33 Combined data file .coverage.autopkgtest-lxd-cnrirs.7105.XMXLTZzx 2041s Mar 16 02:00:33 Combined data file .coverage.autopkgtest-lxd-cnrirs.7125.XAXKVeCx 2041s Mar 16 02:00:33 Combined data file .coverage.autopkgtest-lxd-cnrirs.7167.XEpQFghx 2041s Mar 16 02:00:33 Combined data file .coverage.autopkgtest-lxd-cnrirs.7219.XCJfSOcx 2041s Mar 16 02:00:33 Combined data file .coverage.autopkgtest-lxd-cnrirs.7226.XuOJpLgx 2041s Mar 16 02:00:33 Combined data file .coverage.autopkgtest-lxd-cnrirs.7269.XSfhKREx 2041s Mar 16 02:00:33 Combined data file .coverage.autopkgtest-lxd-cnrirs.7315.XDrflsUx 2041s Mar 16 02:00:33 Combined data file .coverage.autopkgtest-lxd-cnrirs.7487.XfXmdKox 2041s Mar 16 02:00:33 Combined data file .coverage.autopkgtest-lxd-cnrirs.7491.XgwSENLx 2041s Mar 16 02:00:33 Combined data file .coverage.autopkgtest-lxd-cnrirs.7499.XbUUmAdx 2041s Mar 16 02:00:33 Combined data file .coverage.autopkgtest-lxd-cnrirs.7643.XXPfLftx 2041s Mar 16 02:00:33 Combined data file .coverage.autopkgtest-lxd-cnrirs.7691.XRlGAvCx 2041s Mar 16 02:00:33 Combined data file .coverage.autopkgtest-lxd-cnrirs.7734.XVWoDbJx 2041s Mar 16 02:00:33 Combined data file .coverage.autopkgtest-lxd-cnrirs.7780.XFqSlykx 2041s Mar 16 02:00:33 Skipping duplicate data .coverage.autopkgtest-lxd-cnrirs.7831.XCjWeEtx 2041s Mar 16 02:00:33 Combined data file .coverage.autopkgtest-lxd-cnrirs.7981.XARePmTx 2041s Mar 16 02:00:33 Combined data file .coverage.autopkgtest-lxd-cnrirs.8051.XCeEXoLx 2041s Mar 16 02:00:33 Combined data file .coverage.autopkgtest-lxd-cnrirs.8096.XzKDdsdx 2041s Mar 16 02:00:33 Combined data file .coverage.autopkgtest-lxd-cnrirs.8171.XDGxBxox 2041s Mar 16 02:00:33 Combined data file .coverage.autopkgtest-lxd-cnrirs.8249.XpKPScrx 2041s Mar 16 02:00:33 Combined data file .coverage.autopkgtest-lxd-cnrirs.8308.XXtvBhlx 2041s Mar 16 02:00:33 Combined data file .coverage.autopkgtest-lxd-cnrirs.8627.XTaKyROx 2041s Mar 16 02:00:33 Combined data file .coverage.autopkgtest-lxd-cnrirs.8682.XzaINdBx 2041s Mar 16 02:00:33 Combined data file .coverage.autopkgtest-lxd-cnrirs.8751.XWtJGSkx 2041s Mar 16 02:00:33 Combined data file .coverage.autopkgtest-lxd-cnrirs.8848.XwirMgzx 2041s Mar 16 02:00:33 Combined data file .coverage.autopkgtest-lxd-cnrirs.8899.XNfHrEix 2041s Mar 16 02:00:33 Combined data file .coverage.autopkgtest-lxd-cnrirs.8960.XwoLqGrx 2041s Mar 16 02:00:33 Combined data file .coverage.autopkgtest-lxd-cnrirs.9006.XTmNAkMx 2041s Mar 16 02:00:33 Combined data file .coverage.autopkgtest-lxd-cnrirs.9049.XHyAlwMx 2041s Mar 16 02:00:33 Combined data file .coverage.autopkgtest-lxd-cnrirs.9096.XneSRQZx 2041s Mar 16 02:00:33 Combined data file .coverage.autopkgtest-lxd-cnrirs.9323.XnBGDTGx 2041s Mar 16 02:00:33 Combined data file .coverage.autopkgtest-lxd-cnrirs.9389.XMODDVyx 2041s Mar 16 02:00:33 Combined data file .coverage.autopkgtest-lxd-cnrirs.9444.XGIpgrUx 2041s Mar 16 02:00:33 Combined data file .coverage.autopkgtest-lxd-cnrirs.9556.XTeFMStx 2041s Mar 16 02:00:33 Combined data file .coverage.autopkgtest-lxd-cnrirs.9690.XVqBtorx 2041s Mar 16 02:00:33 Combined data file .coverage.autopkgtest-lxd-cnrirs.9835.XCdOnozx 2041s Mar 16 02:00:33 Combined data file .coverage.autopkgtest-lxd-cnrirs.9883.XqADQLdx 2041s Mar 16 02:00:33 Skipping duplicate data .coverage.autopkgtest-lxd-cnrirs.9890.XHvBAEdx 2041s Mar 16 02:00:33 Combined data file .coverage.autopkgtest-lxd-cnrirs.9895.XaidLOtx 2041s Mar 16 02:00:33 Combined data file .coverage.autopkgtest-lxd-cnrirs.9916.XYUqPIUx 2044s Mar 16 02:00:36 Name Stmts Miss Cover 2044s Mar 16 02:00:36 -------------------------------------------------------------------------------------------------------- 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 101 96 5% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/dateutil/__init__.py 13 4 69% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/dateutil/_version.py 11 2 82% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 810 436 46% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 183 150 18% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 240 206 14% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 151 114 25% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 794 626 21% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/dateutil/tz/win.py 152 149 2% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/kazoo/__init__.py 1 0 100% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/kazoo/client.py 629 266 58% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/kazoo/exceptions.py 110 1 99% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/kazoo/handlers/__init__.py 0 0 100% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/kazoo/handlers/threading.py 94 15 84% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/kazoo/handlers/utils.py 222 75 66% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/kazoo/hosts.py 18 4 78% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/kazoo/loggingsupport.py 1 0 100% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/kazoo/protocol/__init__.py 0 0 100% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/kazoo/protocol/connection.py 485 175 64% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/kazoo/protocol/paths.py 33 8 76% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/kazoo/protocol/serialization.py 316 111 65% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/kazoo/protocol/states.py 49 9 82% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/kazoo/python2atexit.py 32 19 41% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/kazoo/recipe/__init__.py 0 0 100% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/kazoo/recipe/barrier.py 97 80 18% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/kazoo/recipe/counter.py 49 36 27% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/kazoo/recipe/election.py 16 10 38% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/kazoo/recipe/lease.py 54 36 33% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/kazoo/recipe/lock.py 295 242 18% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/kazoo/recipe/partitioner.py 155 120 23% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/kazoo/recipe/party.py 62 43 31% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/kazoo/recipe/queue.py 157 126 20% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/kazoo/recipe/watchers.py 172 138 20% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/kazoo/retry.py 60 4 93% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/kazoo/security.py 58 35 40% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/kazoo/version.py 1 0 100% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/patroni/__main__.py 201 64 68% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/patroni/api.py 788 296 62% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 15 84% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/patroni/collections.py 56 5 91% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/patroni/config.py 357 82 77% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/patroni/config_generator.py 212 159 25% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/patroni/daemon.py 76 3 96% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 710 108 85% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/patroni/dcs/zookeeper.py 289 67 77% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/patroni/dynamic_loader.py 35 7 80% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/patroni/file_perm.py 47 10 79% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/patroni/global_config.py 87 0 100% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/patroni/ha.py 1359 386 72% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/patroni/log.py 235 79 66% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 825 170 79% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/patroni/postgresql/available_parameters/__init__.py 24 3 88% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 254 60 76% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 840 218 74% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 1 99% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 43 8 81% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/patroni/postgresql/mpp/__init__.py 89 11 88% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 83 51% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 416 128 69% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 349 38 89% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 154 10 94% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 157 24 85% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/patroni/psycopg.py 46 19 59% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/patroni/quorum.py 182 48 74% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/patroni/request.py 58 7 88% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/patroni/tags.py 38 0 100% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/patroni/utils.py 371 122 67% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/patroni/validator.py 309 215 30% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 46 77% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 35 74% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/psutil/__init__.py 950 629 34% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/psutil/_common.py 422 212 50% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/psutil/_compat.py 301 263 13% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1250 922 26% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/psutil/_psposix.py 95 38 60% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/puresasl/__init__.py 21 2 90% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/puresasl/client.py 71 47 34% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/puresasl/mechanisms.py 363 263 28% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/six.py 505 259 49% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/urllib3/__init__.py 49 15 69% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 63 45 29% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/urllib3/_collections.py 231 125 46% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 54 24 56% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/urllib3/_version.py 11 2 82% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/urllib3/connection.py 389 149 62% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 344 130 62% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/urllib3/exceptions.py 121 39 68% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/urllib3/http2/__init__.py 28 21 25% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/urllib3/http2/probe.py 49 31 37% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 88 62% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/urllib3/response.py 634 393 38% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 9 86% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 52 50% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 17 47% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/urllib3/util/retry.py 174 53 70% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 172 73 58% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 152 106 30% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 19 73% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/urllib3/util/url.py 203 76 63% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 18 31% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 38 22% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/yaml/parser.py 352 180 49% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/yaml/reader.py 122 30 75% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/yaml/scanner.py 758 415 45% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 2044s Mar 16 02:00:36 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 2044s Mar 16 02:00:36 patroni/__init__.py 13 2 85% 2044s Mar 16 02:00:36 patroni/__main__.py 201 201 0% 2044s Mar 16 02:00:36 patroni/api.py 788 788 0% 2044s Mar 16 02:00:36 patroni/async_executor.py 96 69 28% 2044s Mar 16 02:00:36 patroni/collections.py 56 15 73% 2044s Mar 16 02:00:36 patroni/config.py 357 184 48% 2044s Mar 16 02:00:36 patroni/config_generator.py 212 212 0% 2044s Mar 16 02:00:36 patroni/ctl.py 936 395 58% 2044s Mar 16 02:00:36 patroni/daemon.py 76 76 0% 2044s Mar 16 02:00:36 patroni/dcs/__init__.py 710 317 55% 2044s Mar 16 02:00:36 patroni/dcs/consul.py 482 482 0% 2044s Mar 16 02:00:36 patroni/dcs/etcd3.py 679 679 0% 2044s Mar 16 02:00:36 patroni/dcs/etcd.py 603 603 0% 2044s Mar 16 02:00:36 patroni/dcs/exhibitor.py 62 62 0% 2044s Mar 16 02:00:36 patroni/dcs/kubernetes.py 943 943 0% 2044s Mar 16 02:00:36 patroni/dcs/raft.py 319 319 0% 2044s Mar 16 02:00:36 patroni/dcs/zookeeper.py 289 150 48% 2044s Mar 16 02:00:36 patroni/dynamic_loader.py 35 7 80% 2044s Mar 16 02:00:36 patroni/exceptions.py 16 1 94% 2044s Mar 16 02:00:36 patroni/file_perm.py 47 17 64% 2044s Mar 16 02:00:36 patroni/global_config.py 87 19 78% 2044s Mar 16 02:00:36 patroni/ha.py 1359 1359 0% 2044s Mar 16 02:00:36 patroni/log.py 235 183 22% 2044s Mar 16 02:00:36 patroni/postgresql/__init__.py 825 653 21% 2044s Mar 16 02:00:36 patroni/postgresql/available_parameters/__init__.py 24 6 75% 2044s Mar 16 02:00:36 patroni/postgresql/bootstrap.py 254 224 12% 2044s Mar 16 02:00:36 patroni/postgresql/callback_executor.py 55 34 38% 2044s Mar 16 02:00:36 patroni/postgresql/cancellable.py 104 84 19% 2044s Mar 16 02:00:36 patroni/postgresql/config.py 840 720 14% 2044s Mar 16 02:00:36 patroni/postgresql/connection.py 75 50 33% 2044s Mar 16 02:00:36 patroni/postgresql/misc.py 43 30 30% 2044s Mar 16 02:00:36 patroni/postgresql/mpp/__init__.py 89 21 76% 2044s Mar 16 02:00:36 patroni/postgresql/mpp/citus.py 366 366 0% 2044s Mar 16 02:00:36 patroni/postgresql/postmaster.py 170 139 18% 2044s Mar 16 02:00:36 patroni/postgresql/rewind.py 416 416 0% 2044s Mar 16 02:00:36 patroni/postgresql/slots.py 349 300 14% 2044s Mar 16 02:00:36 patroni/postgresql/sync.py 154 114 26% 2044s Mar 16 02:00:36 patroni/postgresql/validator.py 157 52 67% 2044s Mar 16 02:00:36 patroni/psycopg.py 46 32 30% 2044s Mar 16 02:00:36 patroni/quorum.py 182 182 0% 2044s Mar 16 02:00:36 patroni/raft_controller.py 22 22 0% 2044s Mar 16 02:00:36 patroni/request.py 58 6 90% 2044s Mar 16 02:00:36 patroni/scripts/__init__.py 0 0 100% 2044s Mar 16 02:00:36 patroni/scripts/aws.py 59 59 0% 2044s Mar 16 02:00:36 patroni/scripts/barman/__init__.py 0 0 100% 2044s Mar 16 02:00:36 patroni/scripts/barman/cli.py 50 50 0% 2044s Mar 16 02:00:36 patroni/scripts/barman/config_switch.py 50 50 0% 2044s Mar 16 02:00:36 patroni/scripts/barman/recover.py 36 36 0% 2044s Mar 16 02:00:36 patroni/scripts/barman/utils.py 93 93 0% 2044s Mar 16 02:00:36 patroni/scripts/wale_restore.py 207 207 0% 2044s Mar 16 02:00:36 patroni/tags.py 38 11 71% 2044s Mar 16 02:00:36 patroni/utils.py 371 245 34% 2044s Mar 16 02:00:36 patroni/validator.py 309 222 28% 2044s Mar 16 02:00:36 patroni/version.py 1 0 100% 2044s Mar 16 02:00:36 patroni/watchdog/__init__.py 2 2 0% 2044s Mar 16 02:00:36 patroni/watchdog/base.py 203 203 0% 2044s Mar 16 02:00:36 patroni/watchdog/linux.py 135 135 0% 2044s Mar 16 02:00:36 -------------------------------------------------------------------------------------------------------- 2044s Mar 16 02:00:36 TOTAL 41104 24595 40% 2044s Mar 16 02:00:36 12 features passed, 0 failed, 1 skipped 2044s Mar 16 02:00:36 53 scenarios passed, 0 failed, 5 skipped 2044s Mar 16 02:00:36 517 steps passed, 0 failed, 68 skipped, 0 undefined 2044s Mar 16 02:00:36 Took 8m30.938s 2044s + su postgres -p -c 'rm -rf features/output' 2044s + echo '### End 17 acceptance-zookeeper -e dcs_failsafe_mode ###' 2044s + rm -f /tmp/pgpass_postgres-0 /tmp/pgpass_postgres-1 /tmp/pgpass_postgres-2 /tmp/pgpass_postgres-3 2044s ### End 17 acceptance-zookeeper -e dcs_failsafe_mode ### 2044s ++ id -u 2044s + '[' 0 -eq 0 ']' 2044s + '[' -x /etc/init.d/zookeeper ']' 2044s + /etc/init.d/zookeeper stop 2045s Stopping zookeeper (via systemctl): zookeeper.service. 2045s autopkgtest [02:00:37]: test acceptance-zookeeper: -----------------------] 2049s acceptance-zookeeper PASS 2049s autopkgtest [02:00:41]: test acceptance-zookeeper: - - - - - - - - - - results - - - - - - - - - - 2053s autopkgtest [02:00:45]: test acceptance-raft: preparing testbed 2076s autopkgtest [02:01:08]: testbed dpkg architecture: armhf 2078s autopkgtest [02:01:10]: testbed apt version: 2.9.33 2081s autopkgtest [02:01:13]: @@@@@@@@@@@@@@@@@@@@ test bed setup 2083s autopkgtest [02:01:15]: testbed release detected to be: plucky 2090s autopkgtest [02:01:22]: updating testbed package index (apt update) 2092s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [126 kB] 2093s Get:2 http://ftpmaster.internal/ubuntu plucky InRelease [257 kB] 2093s Get:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease [126 kB] 2093s Get:4 http://ftpmaster.internal/ubuntu plucky-security InRelease [126 kB] 2093s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [42.9 kB] 2093s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [382 kB] 2093s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [17.7 kB] 2093s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf Packages [74.9 kB] 2093s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf c-n-f Metadata [1712 B] 2093s Get:10 http://ftpmaster.internal/ubuntu plucky-proposed/restricted armhf c-n-f Metadata [116 B] 2093s Get:11 http://ftpmaster.internal/ubuntu plucky-proposed/universe armhf Packages [312 kB] 2093s Get:12 http://ftpmaster.internal/ubuntu plucky-proposed/universe armhf c-n-f Metadata [10.2 kB] 2093s Get:13 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse armhf Packages [4168 B] 2093s Get:14 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse armhf c-n-f Metadata [204 B] 2093s Get:15 http://ftpmaster.internal/ubuntu plucky/multiverse Sources [299 kB] 2093s Get:16 http://ftpmaster.internal/ubuntu plucky/main Sources [1403 kB] 2093s Get:17 http://ftpmaster.internal/ubuntu plucky/universe Sources [21.0 MB] 2094s Get:18 http://ftpmaster.internal/ubuntu plucky/main armhf Packages [1378 kB] 2094s Get:19 http://ftpmaster.internal/ubuntu plucky/main armhf c-n-f Metadata [29.5 kB] 2094s Get:20 http://ftpmaster.internal/ubuntu plucky/restricted armhf c-n-f Metadata [108 B] 2094s Get:21 http://ftpmaster.internal/ubuntu plucky/universe armhf Packages [14.8 MB] 2095s Get:22 http://ftpmaster.internal/ubuntu plucky/multiverse armhf Packages [172 kB] 2099s Fetched 40.6 MB in 6s (6545 kB/s) 2100s Reading package lists... 2105s autopkgtest [02:01:37]: upgrading testbed (apt dist-upgrade and autopurge) 2107s Reading package lists... 2107s Building dependency tree... 2107s Reading state information... 2108s Calculating upgrade...Starting pkgProblemResolver with broken count: 0 2108s Starting 2 pkgProblemResolver with broken count: 0 2108s Done 2108s Entering ResolveByKeep 2109s 2109s Calculating upgrade... 2109s The following packages will be upgraded: 2109s cron cron-daemon-common pinentry-curses python3-jinja2 sos strace 2109s 6 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2109s Need to get 1059 kB of archives. 2109s After this operation, 23.6 kB of additional disk space will be used. 2109s Get:1 http://ftpmaster.internal/ubuntu plucky/main armhf cron armhf 3.0pl1-194ubuntu1 [84.3 kB] 2110s Get:2 http://ftpmaster.internal/ubuntu plucky/main armhf cron-daemon-common all 3.0pl1-194ubuntu1 [14.6 kB] 2110s Get:3 http://ftpmaster.internal/ubuntu plucky/main armhf strace armhf 6.13+ds-1ubuntu1 [445 kB] 2110s Get:4 http://ftpmaster.internal/ubuntu plucky/main armhf pinentry-curses armhf 1.3.1-2ubuntu3 [40.6 kB] 2110s Get:5 http://ftpmaster.internal/ubuntu plucky/main armhf python3-jinja2 all 3.1.5-2ubuntu1 [109 kB] 2110s Get:6 http://ftpmaster.internal/ubuntu plucky/main armhf sos all 4.9.0-6 [365 kB] 2110s Fetched 1059 kB in 1s (1914 kB/s) 2111s (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 ... 64655 files and directories currently installed.) 2111s Preparing to unpack .../0-cron_3.0pl1-194ubuntu1_armhf.deb ... 2111s Unpacking cron (3.0pl1-194ubuntu1) over (3.0pl1-192ubuntu1) ... 2111s Preparing to unpack .../1-cron-daemon-common_3.0pl1-194ubuntu1_all.deb ... 2111s Unpacking cron-daemon-common (3.0pl1-194ubuntu1) over (3.0pl1-192ubuntu1) ... 2111s Preparing to unpack .../2-strace_6.13+ds-1ubuntu1_armhf.deb ... 2111s Unpacking strace (6.13+ds-1ubuntu1) over (6.11-0ubuntu1) ... 2111s Preparing to unpack .../3-pinentry-curses_1.3.1-2ubuntu3_armhf.deb ... 2111s Unpacking pinentry-curses (1.3.1-2ubuntu3) over (1.3.1-2ubuntu2) ... 2111s Preparing to unpack .../4-python3-jinja2_3.1.5-2ubuntu1_all.deb ... 2111s Unpacking python3-jinja2 (3.1.5-2ubuntu1) over (3.1.5-2) ... 2111s Preparing to unpack .../5-sos_4.9.0-6_all.deb ... 2111s Unpacking sos (4.9.0-6) over (4.9.0-4) ... 2112s Setting up sos (4.9.0-6) ... 2113s Setting up pinentry-curses (1.3.1-2ubuntu3) ... 2113s Setting up python3-jinja2 (3.1.5-2ubuntu1) ... 2113s Setting up strace (6.13+ds-1ubuntu1) ... 2113s Setting up cron-daemon-common (3.0pl1-194ubuntu1) ... 2113s Setting up cron (3.0pl1-194ubuntu1) ... 2114s Processing triggers for man-db (2.13.0-1) ... 2117s Reading package lists... 2117s Building dependency tree... 2117s Reading state information... 2117s Starting pkgProblemResolver with broken count: 0 2117s Starting 2 pkgProblemResolver with broken count: 0 2117s Done 2118s Solving dependencies... 2118s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2120s autopkgtest [02:01:52]: rebooting testbed after setup commands that affected boot 2181s Reading package lists... 2181s Building dependency tree... 2181s Reading state information... 2181s Starting pkgProblemResolver with broken count: 0 2182s Starting 2 pkgProblemResolver with broken count: 0 2182s Done 2182s The following NEW packages will be installed: 2182s fonts-font-awesome fonts-lato libio-pty-perl libipc-run-perl libjs-jquery 2182s libjs-sphinxdoc libjs-underscore libjson-perl libllvm20 libpq5 2182s libtime-duration-perl libtimedate-perl libxslt1.1 moreutils patroni 2182s patroni-doc postgresql postgresql-17 postgresql-client-17 2182s postgresql-client-common postgresql-common postgresql-common-dev 2182s python3-behave python3-click python3-coverage python3-parse 2182s python3-parse-type python3-prettytable python3-psutil python3-psycopg2 2182s python3-pysyncobj python3-wcwidth python3-ydiff sphinx-rtd-theme-common 2182s ssl-cert 2183s 0 upgraded, 35 newly installed, 0 to remove and 0 not upgraded. 2183s Need to get 52.9 MB of archives. 2183s After this operation, 211 MB of additional disk space will be used. 2183s Get:1 http://ftpmaster.internal/ubuntu plucky/main armhf fonts-lato all 2.015-1 [2781 kB] 2183s Get:2 http://ftpmaster.internal/ubuntu plucky/main armhf libjson-perl all 4.10000-1 [81.9 kB] 2183s Get:3 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql-client-common all 274 [47.6 kB] 2183s Get:4 http://ftpmaster.internal/ubuntu plucky/main armhf libio-pty-perl armhf 1:1.20-1build3 [31.0 kB] 2183s Get:5 http://ftpmaster.internal/ubuntu plucky/main armhf libipc-run-perl all 20231003.0-2 [91.5 kB] 2183s Get:6 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql-common-dev all 274 [73.0 kB] 2183s Get:7 http://ftpmaster.internal/ubuntu plucky/main armhf ssl-cert all 1.1.3ubuntu1 [18.7 kB] 2183s Get:8 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql-common all 274 [101 kB] 2183s Get:9 http://ftpmaster.internal/ubuntu plucky/main armhf fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 2183s Get:10 http://ftpmaster.internal/ubuntu plucky/main armhf libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 2183s Get:11 http://ftpmaster.internal/ubuntu plucky/main armhf libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 2183s Get:12 http://ftpmaster.internal/ubuntu plucky/main armhf libjs-sphinxdoc all 8.1.3-4 [30.9 kB] 2183s Get:13 http://ftpmaster.internal/ubuntu plucky/main armhf libllvm20 armhf 1:20.1.0~+rc3-1~exp1ubuntu1 [29.6 MB] 2184s Get:14 http://ftpmaster.internal/ubuntu plucky/main armhf libpq5 armhf 17.4-1 [125 kB] 2184s Get:15 http://ftpmaster.internal/ubuntu plucky/main armhf libtime-duration-perl all 1.21-2 [12.3 kB] 2184s Get:16 http://ftpmaster.internal/ubuntu plucky/main armhf libtimedate-perl all 2.3300-2 [34.0 kB] 2184s Get:17 http://ftpmaster.internal/ubuntu plucky/main armhf libxslt1.1 armhf 1.1.39-0exp1ubuntu2 [152 kB] 2184s Get:18 http://ftpmaster.internal/ubuntu plucky/universe armhf moreutils armhf 0.69-1 [53.5 kB] 2184s Get:19 http://ftpmaster.internal/ubuntu plucky/main armhf python3-click all 8.2.0+0.really.8.1.8-1 [80.0 kB] 2184s Get:20 http://ftpmaster.internal/ubuntu plucky/main armhf python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 2184s Get:21 http://ftpmaster.internal/ubuntu plucky/main armhf python3-prettytable all 3.12.0-1 [36.5 kB] 2184s Get:22 http://ftpmaster.internal/ubuntu plucky/main armhf python3-psutil armhf 5.9.8-2build3 [194 kB] 2184s Get:23 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-ydiff all 1.4.2-1 [19.0 kB] 2184s Get:24 http://ftpmaster.internal/ubuntu plucky/main armhf python3-psycopg2 armhf 2.9.10-1build1 [125 kB] 2184s Get:25 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-pysyncobj all 0.3.12-1 [38.9 kB] 2184s Get:26 http://ftpmaster.internal/ubuntu plucky-proposed/universe armhf patroni all 4.0.4-8 [282 kB] 2185s Get:27 http://ftpmaster.internal/ubuntu plucky/main armhf sphinx-rtd-theme-common all 3.0.2+dfsg-2 [1014 kB] 2185s Get:28 http://ftpmaster.internal/ubuntu plucky-proposed/universe armhf patroni-doc all 4.0.4-8 [526 kB] 2185s Get:29 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql-client-17 armhf 17.4-1 [1285 kB] 2185s Get:30 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql-17 armhf 17.4-1 [14.8 MB] 2185s Get:31 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql all 17+274 [14.4 kB] 2185s Get:32 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-parse all 1.20.2-1 [27.0 kB] 2185s Get:33 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-parse-type all 0.6.4-2 [23.5 kB] 2185s Get:34 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-behave all 1.2.6-6 [98.6 kB] 2185s Get:35 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-coverage armhf 7.6.0+dfsg1-2build1 [152 kB] 2185s Preconfiguring packages ... 2185s /var/cache/debconf/tmp.ci/postgresql.config.6VUKU5: 12: pg_lsclusters: not found 2185s Fetched 52.9 MB in 3s (20.9 MB/s) 2185s Selecting previously unselected package fonts-lato. 2185s (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 ... 64655 files and directories currently installed.) 2185s Preparing to unpack .../00-fonts-lato_2.015-1_all.deb ... 2185s Unpacking fonts-lato (2.015-1) ... 2186s Selecting previously unselected package libjson-perl. 2186s Preparing to unpack .../01-libjson-perl_4.10000-1_all.deb ... 2186s Unpacking libjson-perl (4.10000-1) ... 2186s Selecting previously unselected package postgresql-client-common. 2186s Preparing to unpack .../02-postgresql-client-common_274_all.deb ... 2186s Unpacking postgresql-client-common (274) ... 2186s Selecting previously unselected package libio-pty-perl. 2186s Preparing to unpack .../03-libio-pty-perl_1%3a1.20-1build3_armhf.deb ... 2186s Unpacking libio-pty-perl (1:1.20-1build3) ... 2186s Selecting previously unselected package libipc-run-perl. 2186s Preparing to unpack .../04-libipc-run-perl_20231003.0-2_all.deb ... 2186s Unpacking libipc-run-perl (20231003.0-2) ... 2186s Selecting previously unselected package postgresql-common-dev. 2186s Preparing to unpack .../05-postgresql-common-dev_274_all.deb ... 2186s Unpacking postgresql-common-dev (274) ... 2186s Selecting previously unselected package ssl-cert. 2186s Preparing to unpack .../06-ssl-cert_1.1.3ubuntu1_all.deb ... 2186s Unpacking ssl-cert (1.1.3ubuntu1) ... 2186s Selecting previously unselected package postgresql-common. 2186s Preparing to unpack .../07-postgresql-common_274_all.deb ... 2186s Adding 'diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common' 2186s Unpacking postgresql-common (274) ... 2186s Selecting previously unselected package fonts-font-awesome. 2186s Preparing to unpack .../08-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 2186s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 2186s Selecting previously unselected package libjs-jquery. 2186s Preparing to unpack .../09-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 2186s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 2186s Selecting previously unselected package libjs-underscore. 2186s Preparing to unpack .../10-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 2186s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 2186s Selecting previously unselected package libjs-sphinxdoc. 2186s Preparing to unpack .../11-libjs-sphinxdoc_8.1.3-4_all.deb ... 2186s Unpacking libjs-sphinxdoc (8.1.3-4) ... 2186s Selecting previously unselected package libllvm20:armhf. 2186s Preparing to unpack .../12-libllvm20_1%3a20.1.0~+rc3-1~exp1ubuntu1_armhf.deb ... 2186s Unpacking libllvm20:armhf (1:20.1.0~+rc3-1~exp1ubuntu1) ... 2187s Selecting previously unselected package libpq5:armhf. 2187s Preparing to unpack .../13-libpq5_17.4-1_armhf.deb ... 2187s Unpacking libpq5:armhf (17.4-1) ... 2187s Selecting previously unselected package libtime-duration-perl. 2187s Preparing to unpack .../14-libtime-duration-perl_1.21-2_all.deb ... 2187s Unpacking libtime-duration-perl (1.21-2) ... 2187s Selecting previously unselected package libtimedate-perl. 2187s Preparing to unpack .../15-libtimedate-perl_2.3300-2_all.deb ... 2187s Unpacking libtimedate-perl (2.3300-2) ... 2187s Selecting previously unselected package libxslt1.1:armhf. 2187s Preparing to unpack .../16-libxslt1.1_1.1.39-0exp1ubuntu2_armhf.deb ... 2187s Unpacking libxslt1.1:armhf (1.1.39-0exp1ubuntu2) ... 2187s Selecting previously unselected package moreutils. 2187s Preparing to unpack .../17-moreutils_0.69-1_armhf.deb ... 2187s Unpacking moreutils (0.69-1) ... 2187s Selecting previously unselected package python3-click. 2187s Preparing to unpack .../18-python3-click_8.2.0+0.really.8.1.8-1_all.deb ... 2187s Unpacking python3-click (8.2.0+0.really.8.1.8-1) ... 2187s Selecting previously unselected package python3-wcwidth. 2187s Preparing to unpack .../19-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 2187s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 2187s Selecting previously unselected package python3-prettytable. 2187s Preparing to unpack .../20-python3-prettytable_3.12.0-1_all.deb ... 2187s Unpacking python3-prettytable (3.12.0-1) ... 2187s Selecting previously unselected package python3-psutil. 2187s Preparing to unpack .../21-python3-psutil_5.9.8-2build3_armhf.deb ... 2187s Unpacking python3-psutil (5.9.8-2build3) ... 2187s Selecting previously unselected package python3-ydiff. 2187s Preparing to unpack .../22-python3-ydiff_1.4.2-1_all.deb ... 2187s Unpacking python3-ydiff (1.4.2-1) ... 2187s Selecting previously unselected package python3-psycopg2. 2187s Preparing to unpack .../23-python3-psycopg2_2.9.10-1build1_armhf.deb ... 2187s Unpacking python3-psycopg2 (2.9.10-1build1) ... 2187s Selecting previously unselected package python3-pysyncobj. 2187s Preparing to unpack .../24-python3-pysyncobj_0.3.12-1_all.deb ... 2187s Unpacking python3-pysyncobj (0.3.12-1) ... 2187s Selecting previously unselected package patroni. 2187s Preparing to unpack .../25-patroni_4.0.4-8_all.deb ... 2187s Unpacking patroni (4.0.4-8) ... 2187s Selecting previously unselected package sphinx-rtd-theme-common. 2187s Preparing to unpack .../26-sphinx-rtd-theme-common_3.0.2+dfsg-2_all.deb ... 2187s Unpacking sphinx-rtd-theme-common (3.0.2+dfsg-2) ... 2187s Selecting previously unselected package patroni-doc. 2187s Preparing to unpack .../27-patroni-doc_4.0.4-8_all.deb ... 2187s Unpacking patroni-doc (4.0.4-8) ... 2188s Selecting previously unselected package postgresql-client-17. 2188s Preparing to unpack .../28-postgresql-client-17_17.4-1_armhf.deb ... 2188s Unpacking postgresql-client-17 (17.4-1) ... 2188s Selecting previously unselected package postgresql-17. 2188s Preparing to unpack .../29-postgresql-17_17.4-1_armhf.deb ... 2188s Unpacking postgresql-17 (17.4-1) ... 2188s Selecting previously unselected package postgresql. 2188s Preparing to unpack .../30-postgresql_17+274_all.deb ... 2188s Unpacking postgresql (17+274) ... 2188s Selecting previously unselected package python3-parse. 2188s Preparing to unpack .../31-python3-parse_1.20.2-1_all.deb ... 2188s Unpacking python3-parse (1.20.2-1) ... 2188s Selecting previously unselected package python3-parse-type. 2188s Preparing to unpack .../32-python3-parse-type_0.6.4-2_all.deb ... 2188s Unpacking python3-parse-type (0.6.4-2) ... 2188s Selecting previously unselected package python3-behave. 2188s Preparing to unpack .../33-python3-behave_1.2.6-6_all.deb ... 2188s Unpacking python3-behave (1.2.6-6) ... 2188s Selecting previously unselected package python3-coverage. 2188s Preparing to unpack .../34-python3-coverage_7.6.0+dfsg1-2build1_armhf.deb ... 2188s Unpacking python3-coverage (7.6.0+dfsg1-2build1) ... 2188s Setting up postgresql-client-common (274) ... 2188s Setting up fonts-lato (2.015-1) ... 2188s Setting up libio-pty-perl (1:1.20-1build3) ... 2188s Setting up python3-pysyncobj (0.3.12-1) ... 2188s Setting up python3-ydiff (1.4.2-1) ... 2189s Setting up libpq5:armhf (17.4-1) ... 2189s Setting up python3-coverage (7.6.0+dfsg1-2build1) ... 2189s Setting up python3-click (8.2.0+0.really.8.1.8-1) ... 2189s Setting up python3-psutil (5.9.8-2build3) ... 2189s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 2189s Setting up ssl-cert (1.1.3ubuntu1) ... 2190s Created symlink '/etc/systemd/system/multi-user.target.wants/ssl-cert.service' → '/usr/lib/systemd/system/ssl-cert.service'. 2191s Setting up libllvm20:armhf (1:20.1.0~+rc3-1~exp1ubuntu1) ... 2191s Setting up python3-psycopg2 (2.9.10-1build1) ... 2191s Setting up libipc-run-perl (20231003.0-2) ... 2191s Setting up libtime-duration-perl (1.21-2) ... 2191s Setting up libtimedate-perl (2.3300-2) ... 2191s Setting up python3-parse (1.20.2-1) ... 2191s Setting up libjson-perl (4.10000-1) ... 2191s Setting up libxslt1.1:armhf (1.1.39-0exp1ubuntu2) ... 2191s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 2191s Setting up python3-prettytable (3.12.0-1) ... 2191s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 2191s Setting up sphinx-rtd-theme-common (3.0.2+dfsg-2) ... 2191s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 2191s Setting up postgresql-common-dev (274) ... 2191s Setting up moreutils (0.69-1) ... 2191s Setting up postgresql-client-17 (17.4-1) ... 2192s 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 2192s Setting up python3-parse-type (0.6.4-2) ... 2192s Setting up postgresql-common (274) ... 2192s Creating config file /etc/postgresql-common/createcluster.conf with new version 2192s Building PostgreSQL dictionaries from installed myspell/hunspell packages... 2192s Removing obsolete dictionary files: 2193s Created symlink '/etc/systemd/system/multi-user.target.wants/postgresql.service' → '/usr/lib/systemd/system/postgresql.service'. 2193s Setting up libjs-sphinxdoc (8.1.3-4) ... 2193s Setting up python3-behave (1.2.6-6) ... 2193s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 2193s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 2193s /usr/lib/python3/dist-packages/behave/matchers.py:284: SyntaxWarning: invalid escape sequence '\d' 2193s @parse.with_pattern(r"\d+") 2194s Setting up patroni (4.0.4-8) ... 2194s Created symlink '/etc/systemd/system/multi-user.target.wants/patroni.service' → '/usr/lib/systemd/system/patroni.service'. 2194s 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) ... 2200s Processing triggers for libc-bin (2.41-1ubuntu1) ... 2219s autopkgtest [02:03:30]: test acceptance-raft: debian/tests/acceptance raft 2219s autopkgtest [02:03:30]: test acceptance-raft: [----------------------- 2220s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 2220s ++ ls -1r /usr/lib/postgresql/ 2220s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 2220s + '[' 17 == 10 -o 17 == 11 ']' 2220s + echo '### PostgreSQL 17 acceptance-raft ###' 2220s + 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' 2220s ### PostgreSQL 17 acceptance-raft ### 2226s Mar 16 02:03:38 Feature: basic replication # features/basic_replication.feature:1 2226s Mar 16 02:03:38 We should check that the basic bootstrapping, replication and failover works. 2226s Mar 16 02:03:38 Scenario: check replication of a single table # features/basic_replication.feature:4 2226s Mar 16 02:03:38 Given I start postgres-0 # features/steps/basic_replication.py:20 2230s Mar 16 02:03:42 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 2231s Mar 16 02:03:43 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2231s Mar 16 02:03:43 When I issue a PATCH request to http://127.0.0.1:8008/config with {"ttl": 20, "synchronous_mode": true} # features/steps/patroni_api.py:73 2231s Mar 16 02:03:43 Then I receive a response code 200 # features/steps/patroni_api.py:100 2231s Mar 16 02:03:43 When I start postgres-1 # features/steps/basic_replication.py:20 2235s Mar 16 02:03:47 And I configure and start postgres-2 with a tag replicatefrom postgres-0 # features/steps/cascading_replication.py:7 2239s Mar 16 02:03:51 And "sync" key in DCS has leader=postgres-0 after 20 seconds # features/steps/cascading_replication.py:23 2239s Mar 16 02:03:51 And I add the table foo to postgres-0 # features/steps/basic_replication.py:66 2239s Mar 16 02:03:51 Then table foo is present on postgres-1 after 20 seconds # features/steps/basic_replication.py:105 2240s Mar 16 02:03:52 Then table foo is present on postgres-2 after 20 seconds # features/steps/basic_replication.py:105 2240s Mar 16 02:03:52 2240s Mar 16 02:03:52 Scenario: check restart of sync replica # features/basic_replication.feature:17 2240s Mar 16 02:03:52 Given I shut down postgres-2 # features/steps/basic_replication.py:41 2241s Mar 16 02:03:53 Then "sync" key in DCS has sync_standby=postgres-1 after 5 seconds # features/steps/cascading_replication.py:23 2241s Mar 16 02:03:53 When I start postgres-2 # features/steps/basic_replication.py:20 2244s Mar 16 02:03:56 And I shut down postgres-1 # features/steps/basic_replication.py:41 2247s Mar 16 02:03:59 Then "sync" key in DCS has sync_standby=postgres-2 after 10 seconds # features/steps/cascading_replication.py:23 2248s Mar 16 02:04:00 When I start postgres-1 # features/steps/basic_replication.py:20 2251s Mar 16 02:04:03 Then "members/postgres-1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2251s Mar 16 02:04:03 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:144 2251s Mar 16 02:04:03 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:144 2252s Mar 16 02:04:03 2252s Mar 16 02:04:03 Scenario: check stuck sync replica # features/basic_replication.feature:28 2252s Mar 16 02:04:03 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 2252s Mar 16 02:04:04 Then I receive a response code 200 # features/steps/patroni_api.py:100 2252s Mar 16 02:04:04 And I create table on postgres-0 # features/steps/basic_replication.py:85 2252s Mar 16 02:04:04 And table mytest is present on postgres-1 after 2 seconds # features/steps/basic_replication.py:105 2253s Mar 16 02:04:05 And table mytest is present on postgres-2 after 2 seconds # features/steps/basic_replication.py:105 2253s Mar 16 02:04:05 When I pause wal replay on postgres-2 # features/steps/basic_replication.py:76 2253s Mar 16 02:04:05 And I load data on postgres-0 # features/steps/basic_replication.py:96 2253s Mar 16 02:04:05 Then "sync" key in DCS has sync_standby=postgres-1 after 15 seconds # features/steps/cascading_replication.py:23 2256s Mar 16 02:04:08 And I resume wal replay on postgres-2 # features/steps/basic_replication.py:76 2256s Mar 16 02:04:08 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:144 2256s Mar 16 02:04:08 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:144 2256s Mar 16 02:04:08 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 2256s Mar 16 02:04:08 Then I receive a response code 200 # features/steps/patroni_api.py:100 2256s Mar 16 02:04:08 And I drop table on postgres-0 # features/steps/basic_replication.py:85 2256s Mar 16 02:04:08 2256s Mar 16 02:04:08 Scenario: check multi sync replication # features/basic_replication.feature:44 2256s Mar 16 02:04:08 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 2256s Mar 16 02:04:08 Then I receive a response code 200 # features/steps/patroni_api.py:100 2256s Mar 16 02:04:08 Then "sync" key in DCS has sync_standby=postgres-1,postgres-2 after 10 seconds # features/steps/cascading_replication.py:23 2260s Mar 16 02:04:12 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:144 2260s Mar 16 02:04:12 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:144 2261s Mar 16 02:04:12 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 2261s Mar 16 02:04:13 Then I receive a response code 200 # features/steps/patroni_api.py:100 2261s Mar 16 02:04:13 And I shut down postgres-1 # features/steps/basic_replication.py:41 2264s Mar 16 02:04:16 Then "sync" key in DCS has sync_standby=postgres-2 after 10 seconds # features/steps/cascading_replication.py:23 2265s Mar 16 02:04:17 When I start postgres-1 # features/steps/basic_replication.py:20 2268s Mar 16 02:04:20 Then "members/postgres-1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2268s Mar 16 02:04:20 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:144 2268s Mar 16 02:04:20 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:144 2268s Mar 16 02:04:20 2268s Mar 16 02:04:20 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 2268s Mar 16 02:04:20 Given I run patronictl.py pause batman # features/steps/patroni_api.py:88 2269s Mar 16 02:04:21 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 2269s Mar 16 02:04:21 When I sleep for 2 seconds # features/steps/patroni_api.py:41 2271s Mar 16 02:04:23 And I shut down postgres-0 # features/steps/basic_replication.py:41 2272s Mar 16 02:04:24 And I run patronictl.py resume batman # features/steps/patroni_api.py:88 2273s Mar 16 02:04:25 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 2273s Mar 16 02:04:25 And postgres-2 role is the primary after 24 seconds # features/steps/basic_replication.py:117 2292s Mar 16 02:04:44 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:158 2296s Mar 16 02:04:48 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 Mar 16 02:04:48 When I issue a PATCH request to http://127.0.0.1:8010/config with {"synchronous_mode": null, "master_start_timeout": 0} # features/steps/patroni_api.py:73 2296s Mar 16 02:04:48 Then I receive a response code 200 # features/steps/patroni_api.py:100 2296s Mar 16 02:04:48 When I add the table bar to postgres-2 # features/steps/basic_replication.py:66 2296s Mar 16 02:04:48 Then table bar is present on postgres-1 after 20 seconds # features/steps/basic_replication.py:105 2296s Mar 16 02:04:48 And Response on GET http://127.0.0.1:8010/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:158 2296s Mar 16 02:04:48 2296s Mar 16 02:04:48 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 2296s Mar 16 02:04:48 Given I add the table splitbrain to postgres-0 # features/steps/basic_replication.py:66 2296s Mar 16 02:04:48 And I start postgres-0 # features/steps/basic_replication.py:20 2296s Mar 16 02:04:48 Then postgres-0 role is the secondary after 20 seconds # features/steps/basic_replication.py:117 2303s Mar 16 02:04:55 When I add the table buz to postgres-2 # features/steps/basic_replication.py:66 2303s Mar 16 02:04:55 Then table buz is present on postgres-0 after 20 seconds # features/steps/basic_replication.py:105 2303s SKIP Scenario check graceful rejection when two nodes have the same name: Flaky test with Raft 2319s Mar 16 02:05:11 2319s Mar 16 02:05:11 @reject-duplicate-name 2319s Mar 16 02:05:11 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 2319s Mar 16 02:05:11 Given I start duplicate postgres-0 on port 8011 # None 2319s Mar 16 02:05:11 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 2319s Mar 16 02:05:11 2319s Mar 16 02:05:11 Feature: cascading replication # features/cascading_replication.feature:1 2319s Mar 16 02:05:11 We should check that patroni can do base backup and streaming from the replica 2319s Mar 16 02:05:11 Scenario: check a base backup and streaming replication from a replica # features/cascading_replication.feature:4 2319s Mar 16 02:05:11 Given I start postgres-0 # features/steps/basic_replication.py:20 2323s Mar 16 02:05:15 And postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 2323s Mar 16 02:05:15 And I configure and start postgres-1 with a tag clonefrom true # features/steps/cascading_replication.py:7 2328s Mar 16 02:05:19 And replication works from postgres-0 to postgres-1 after 20 seconds # features/steps/basic_replication.py:124 2329s Mar 16 02:05:21 And I create label with "postgres-0" in postgres-0 data directory # features/steps/cascading_replication.py:18 2329s Mar 16 02:05:21 And I create label with "postgres-1" in postgres-1 data directory # features/steps/cascading_replication.py:18 2329s Mar 16 02:05:21 And "members/postgres-1" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 2329s Mar 16 02:05:21 And I configure and start postgres-2 with a tag replicatefrom postgres-1 # features/steps/cascading_replication.py:7 2334s Mar 16 02:05:26 Then replication works from postgres-0 to postgres-2 after 30 seconds # features/steps/basic_replication.py:124 2335s Mar 16 02:05:27 And there is a label with "postgres-1" in postgres-2 data directory # features/steps/cascading_replication.py:12 2352s SKIP FEATURE citus: Citus extension isn't available 2352s SKIP Scenario check that worker cluster is registered in the coordinator: Citus extension isn't available 2352s SKIP Scenario coordinator failover updates pg_dist_node: Citus extension isn't available 2352s SKIP Scenario worker switchover doesn't break client queries on the coordinator: Citus extension isn't available 2352s SKIP Scenario worker primary restart doesn't break client queries on the coordinator: Citus extension isn't available 2352s 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 2352s Mar 16 02:05:44 2352s Mar 16 02:05:44 Feature: citus # features/citus.feature:1 2352s Mar 16 02:05:44 We should check that coordinator discovers and registers workers and clients don't have errors when worker cluster switches over 2352s Mar 16 02:05:44 Scenario: check that worker cluster is registered in the coordinator # features/citus.feature:4 2352s Mar 16 02:05:44 Given I start postgres-0 in citus group 0 # None 2352s Mar 16 02:05:44 And I start postgres-2 in citus group 1 # None 2352s Mar 16 02:05:44 Then postgres-0 is a leader in a group 0 after 10 seconds # None 2352s Mar 16 02:05:44 And postgres-2 is a leader in a group 1 after 10 seconds # None 2352s Mar 16 02:05:44 When I start postgres-1 in citus group 0 # None 2352s Mar 16 02:05:44 And I start postgres-3 in citus group 1 # None 2352s Mar 16 02:05:44 Then replication works from postgres-0 to postgres-1 after 15 seconds # None 2352s Mar 16 02:05:44 Then replication works from postgres-2 to postgres-3 after 15 seconds # None 2352s Mar 16 02:05:44 And postgres-0 is registered in the postgres-0 as the primary in group 0 after 5 seconds # None 2352s Mar 16 02:05:44 And postgres-1 is registered in the postgres-0 as the secondary in group 0 after 5 seconds # None 2352s Mar 16 02:05:44 And postgres-2 is registered in the postgres-0 as the primary in group 1 after 5 seconds # None 2352s Mar 16 02:05:44 And postgres-3 is registered in the postgres-0 as the secondary in group 1 after 5 seconds # None 2352s Mar 16 02:05:44 2352s Mar 16 02:05:44 Scenario: coordinator failover updates pg_dist_node # features/citus.feature:18 2352s Mar 16 02:05:44 Given I run patronictl.py failover batman --group 0 --candidate postgres-1 --force # None 2352s Mar 16 02:05:44 Then postgres-1 role is the primary after 10 seconds # None 2352s Mar 16 02:05:44 And "members/postgres-0" key in a group 0 in DCS has state=running after 15 seconds # None 2352s Mar 16 02:05:44 And replication works from postgres-1 to postgres-0 after 15 seconds # None 2352s Mar 16 02:05:44 And postgres-1 is registered in the postgres-2 as the primary in group 0 after 5 seconds # None 2352s Mar 16 02:05:44 And postgres-0 is registered in the postgres-2 as the secondary in group 0 after 15 seconds # None 2352s Mar 16 02:05:44 And "sync" key in a group 0 in DCS has sync_standby=postgres-0 after 15 seconds # None 2352s Mar 16 02:05:44 When I run patronictl.py switchover batman --group 0 --candidate postgres-0 --force # None 2352s Mar 16 02:05:44 Then postgres-0 role is the primary after 10 seconds # None 2352s Mar 16 02:05:44 And replication works from postgres-0 to postgres-1 after 15 seconds # None 2352s Mar 16 02:05:44 And postgres-0 is registered in the postgres-2 as the primary in group 0 after 5 seconds # None 2352s Mar 16 02:05:44 And postgres-1 is registered in the postgres-2 as the secondary in group 0 after 15 seconds # None 2352s Mar 16 02:05:44 And "sync" key in a group 0 in DCS has sync_standby=postgres-1 after 15 seconds # None 2352s Mar 16 02:05:44 2352s Mar 16 02:05:44 Scenario: worker switchover doesn't break client queries on the coordinator # features/citus.feature:33 2352s Mar 16 02:05:44 Given I create a distributed table on postgres-0 # None 2352s Mar 16 02:05:44 And I start a thread inserting data on postgres-0 # None 2352s Mar 16 02:05:44 When I run patronictl.py switchover batman --group 1 --force # None 2352s Mar 16 02:05:44 Then I receive a response returncode 0 # None 2352s Mar 16 02:05:44 And postgres-3 role is the primary after 10 seconds # None 2352s Mar 16 02:05:44 And "members/postgres-2" key in a group 1 in DCS has state=running after 15 seconds # None 2352s Mar 16 02:05:44 And replication works from postgres-3 to postgres-2 after 15 seconds # None 2352s Mar 16 02:05:44 And postgres-3 is registered in the postgres-0 as the primary in group 1 after 5 seconds # None 2352s Mar 16 02:05:44 And postgres-2 is registered in the postgres-0 as the secondary in group 1 after 15 seconds # None 2352s Mar 16 02:05:44 And "sync" key in a group 1 in DCS has sync_standby=postgres-2 after 15 seconds # None 2352s Mar 16 02:05:44 And a thread is still alive # None 2352s Mar 16 02:05:44 When I run patronictl.py switchover batman --group 1 --force # None 2352s Mar 16 02:05:44 Then I receive a response returncode 0 # None 2352s Mar 16 02:05:44 And postgres-2 role is the primary after 10 seconds # None 2352s Mar 16 02:05:44 And replication works from postgres-2 to postgres-3 after 15 seconds # None 2352s Mar 16 02:05:44 And postgres-2 is registered in the postgres-0 as the primary in group 1 after 5 seconds # None 2352s Mar 16 02:05:44 And postgres-3 is registered in the postgres-0 as the secondary in group 1 after 15 seconds # None 2352s Mar 16 02:05:44 And "sync" key in a group 1 in DCS has sync_standby=postgres-3 after 15 seconds # None 2352s Mar 16 02:05:44 And a thread is still alive # None 2352s Mar 16 02:05:44 When I stop a thread # None 2352s Mar 16 02:05:44 Then a distributed table on postgres-0 has expected rows # None 2352s Mar 16 02:05:44 2352s Mar 16 02:05:44 Scenario: worker primary restart doesn't break client queries on the coordinator # features/citus.feature:56 2352s Mar 16 02:05:44 Given I cleanup a distributed table on postgres-0 # None 2352s Mar 16 02:05:44 And I start a thread inserting data on postgres-0 # None 2352s Mar 16 02:05:44 When I run patronictl.py restart batman postgres-2 --group 1 --force # None 2352s Mar 16 02:05:44 Then I receive a response returncode 0 # None 2352s Mar 16 02:05:44 And postgres-2 role is the primary after 10 seconds # None 2352s Mar 16 02:05:44 And replication works from postgres-2 to postgres-3 after 15 seconds # None 2352s Mar 16 02:05:44 And postgres-2 is registered in the postgres-0 as the primary in group 1 after 5 seconds # None 2352s Mar 16 02:05:44 And postgres-3 is registered in the postgres-0 as the secondary in group 1 after 15 seconds # None 2352s Mar 16 02:05:44 And a thread is still alive # None 2352s Mar 16 02:05:44 When I stop a thread # None 2352s Mar 16 02:05:44 Then a distributed table on postgres-0 has expected rows # None 2359s Mar 16 02:05:51 2359s Mar 16 02:05:51 Scenario: check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node # features/citus.feature:69 2359s Mar 16 02:05:51 Given I start postgres-4 in citus group 2 # None 2359s Mar 16 02:05:51 Then postgres-4 is a leader in a group 2 after 10 seconds # None 2359s Mar 16 02:05:51 And "members/postgres-4" key in a group 2 in DCS has role=primary after 3 seconds # None 2359s Mar 16 02:05:51 When I run patronictl.py edit-config batman --group 2 -s ttl=20 --force # None 2359s Mar 16 02:05:51 Then I receive a response returncode 0 # None 2359s Mar 16 02:05:51 And I receive a response output "+ttl: 20" # None 2359s Mar 16 02:05:51 Then postgres-4 is registered in the postgres-2 as the primary in group 2 after 5 seconds # None 2359s Mar 16 02:05:51 When I shut down postgres-4 # None 2359s Mar 16 02:05:51 Then there is a transaction in progress on postgres-0 changing pg_dist_node after 5 seconds # None 2359s Mar 16 02:05:51 When I run patronictl.py restart batman postgres-2 --group 1 --force # None 2359s Mar 16 02:05:51 Then a transaction finishes in 20 seconds # None 2359s Mar 16 02:05:51 2359s Mar 16 02:05:51 Feature: custom bootstrap # features/custom_bootstrap.feature:1 2359s Mar 16 02:05:51 We should check that patroni can bootstrap a new cluster from a backup 2359s Mar 16 02:05:51 Scenario: clone existing cluster using pg_basebackup # features/custom_bootstrap.feature:4 2359s Mar 16 02:05:51 Given I start postgres-0 # features/steps/basic_replication.py:20 2363s Mar 16 02:05:55 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 2363s Mar 16 02:05:55 When I add the table foo to postgres-0 # features/steps/basic_replication.py:66 2363s Mar 16 02:05:55 And I start postgres-1 in a cluster batman1 as a clone of postgres-0 # features/steps/custom_bootstrap.py:6 2368s Mar 16 02:06:00 Then postgres-1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 2369s Mar 16 02:06:01 Then table foo is present on postgres-1 after 10 seconds # features/steps/basic_replication.py:105 2369s Mar 16 02:06:01 2369s Mar 16 02:06:01 Scenario: make a backup and do a restore into a new cluster # features/custom_bootstrap.feature:12 2369s Mar 16 02:06:01 Given I add the table bar to postgres-1 # features/steps/basic_replication.py:66 2369s Mar 16 02:06:01 And I do a backup of postgres-1 # features/steps/custom_bootstrap.py:25 2370s Mar 16 02:06:02 When I start postgres-2 in a cluster batman2 from backup # features/steps/custom_bootstrap.py:11 2376s Mar 16 02:06:08 Then postgres-2 is a leader of batman2 after 30 seconds # features/steps/custom_bootstrap.py:16 2376s Mar 16 02:06:08 And table bar is present on postgres-2 after 10 seconds # features/steps/basic_replication.py:105 2394s Mar 16 02:06:26 2394s Mar 16 02:06:26 Feature: dcs failsafe mode # features/dcs_failsafe_mode.feature:1 2394s Mar 16 02:06:26 We should check the basic dcs failsafe mode functioning 2394s Mar 16 02:06:26 Scenario: check failsafe mode can be successfully enabled # features/dcs_failsafe_mode.feature:4 2394s Mar 16 02:06:26 Given I start postgres-0 # features/steps/basic_replication.py:20 2398s Mar 16 02:06:30 And postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 2398s Mar 16 02:06:30 Then "config" key in DCS has ttl=30 after 10 seconds # features/steps/cascading_replication.py:23 2398s Mar 16 02:06:30 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 2398s Mar 16 02:06:30 Then I receive a response code 200 # features/steps/patroni_api.py:100 2398s Mar 16 02:06:30 And Response on GET http://127.0.0.1:8008/failsafe contains postgres-0 after 10 seconds # features/steps/patroni_api.py:158 2398s Mar 16 02:06:30 When I issue a GET request to http://127.0.0.1:8008/failsafe # features/steps/patroni_api.py:63 2398s Mar 16 02:06:30 Then I receive a response code 200 # features/steps/patroni_api.py:100 2398s Mar 16 02:06:30 And I receive a response postgres-0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:100 2398s Mar 16 02:06:30 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 2398s Mar 16 02:06:30 Then I receive a response code 200 # features/steps/patroni_api.py:100 2398s Mar 16 02:06:30 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 2398s Mar 16 02:06:30 Then I receive a response code 200 # features/steps/patroni_api.py:100 2398s Mar 16 02:06:30 2398s Mar 16 02:06:30 @dcs-failsafe 2398s Mar 16 02:06:30 Scenario: check one-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:20 2398s Mar 16 02:06:30 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 2398s Mar 16 02:06:30 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 2402s Mar 16 02:06:34 And postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 2402s Mar 16 02:06:34 2402s Mar 16 02:06:34 @dcs-failsafe 2402s Mar 16 02:06:34 Scenario: check new replica isn't promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:26 2402s Mar 16 02:06:34 Given DCS is up # features/steps/dcs_failsafe_mode.py:9 2402s Mar 16 02:06:34 When I do a backup of postgres-0 # features/steps/custom_bootstrap.py:25 2404s Mar 16 02:06:36 And I shut down postgres-0 # features/steps/basic_replication.py:41 2406s Mar 16 02:06:38 When I start postgres-1 in a cluster batman from backup with no_leader # features/steps/dcs_failsafe_mode.py:14 2410s Mar 16 02:06:42 Then postgres-1 role is the replica after 12 seconds # features/steps/basic_replication.py:117 2410s Mar 16 02:06:42 2410s Mar 16 02:06:42 Scenario: check leader and replica are both in /failsafe key after leader is back # features/dcs_failsafe_mode.feature:33 2410s Mar 16 02:06:42 Given I start postgres-0 # features/steps/basic_replication.py:20 2413s Mar 16 02:06:45 And I start postgres-1 # features/steps/basic_replication.py:20 2413s Mar 16 02:06:45 Then "members/postgres-0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2413s Mar 16 02:06:45 And "members/postgres-1" key in DCS has state=running after 2 seconds # features/steps/cascading_replication.py:23 2413s Mar 16 02:06:45 And Response on GET http://127.0.0.1:8009/failsafe contains postgres-1 after 10 seconds # features/steps/patroni_api.py:158 2418s Mar 16 02:06:50 When I issue a GET request to http://127.0.0.1:8009/failsafe # features/steps/patroni_api.py:63 2418s Mar 16 02:06:50 Then I receive a response code 200 # features/steps/patroni_api.py:100 2418s Mar 16 02:06:50 And I receive a response postgres-0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:100 2418s Mar 16 02:06:50 And I receive a response postgres-1 http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:100 2418s Mar 16 02:06:50 2418s Mar 16 02:06:50 @dcs-failsafe @slot-advance 2418s Mar 16 02:06:50 Scenario: check leader and replica are functioning while DCS is down # features/dcs_failsafe_mode.feature:46 2418s Mar 16 02:06:50 Given I get all changes from physical slot dcs_slot_1 on postgres-0 # features/steps/slots.py:77 2418s Mar 16 02:06:50 Then physical slot dcs_slot_1 is in sync between postgres-0 and postgres-1 after 10 seconds # features/steps/slots.py:52 2422s Mar 16 02:06:53 And logical slot dcs_slot_0 is in sync between postgres-0 and postgres-1 after 10 seconds # features/steps/slots.py:52 2422s Mar 16 02:06:53 And DCS is down # features/steps/dcs_failsafe_mode.py:4 2422s Mar 16 02:06:53 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 2426s Mar 16 02:06:58 Then postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 2426s Mar 16 02:06:58 And postgres-1 role is the replica after 2 seconds # features/steps/basic_replication.py:117 2426s Mar 16 02:06:58 And replication works from postgres-0 to postgres-1 after 10 seconds # features/steps/basic_replication.py:124 2426s Mar 16 02:06:58 When I get all changes from logical slot dcs_slot_0 on postgres-0 # features/steps/slots.py:72 2426s Mar 16 02:06:58 And I get all changes from physical slot dcs_slot_1 on postgres-0 # features/steps/slots.py:77 2426s Mar 16 02:06:58 Then logical slot dcs_slot_0 is in sync between postgres-0 and postgres-1 after 20 seconds # features/steps/slots.py:52 2433s Mar 16 02:07:05 And physical slot dcs_slot_1 is in sync between postgres-0 and postgres-1 after 10 seconds # features/steps/slots.py:52 2433s Mar 16 02:07:05 2433s Mar 16 02:07:05 @dcs-failsafe 2433s Mar 16 02:07:05 Scenario: check primary is demoted when one replica is shut down and DCS is down # features/dcs_failsafe_mode.feature:61 2433s Mar 16 02:07:05 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 2433s Mar 16 02:07:05 And I kill postgres-1 # features/steps/basic_replication.py:46 2434s Mar 16 02:07:06 And I kill postmaster on postgres-1 # features/steps/basic_replication.py:56 2434s Mar 16 02:07:06 waiting for server to shut down.... done 2434s Mar 16 02:07:06 server stopped 2434s Mar 16 02:07:06 Then postgres-0 role is the replica after 12 seconds # features/steps/basic_replication.py:117 2436s Mar 16 02:07:08 2436s Mar 16 02:07:08 @dcs-failsafe 2436s Mar 16 02:07:08 Scenario: check known replica is promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:68 2436s Mar 16 02:07:08 Given I kill postgres-0 # features/steps/basic_replication.py:46 2437s Mar 16 02:07:09 And I shut down postmaster on postgres-0 # features/steps/basic_replication.py:51 2437s Mar 16 02:07:09 waiting for server to shut down.... done 2437s Mar 16 02:07:09 server stopped 2437s Mar 16 02:07:09 And DCS is up # features/steps/dcs_failsafe_mode.py:9 2437s Mar 16 02:07:09 When I start postgres-1 # features/steps/basic_replication.py:20 2440s Mar 16 02:07:12 Then "members/postgres-1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2440s Mar 16 02:07:12 And postgres-1 role is the primary after 25 seconds # features/steps/basic_replication.py:117 2441s Mar 16 02:07:13 2441s Mar 16 02:07:13 @dcs-failsafe 2441s Mar 16 02:07:13 Scenario: scale to three-node cluster # features/dcs_failsafe_mode.feature:77 2441s Mar 16 02:07:13 Given I start postgres-0 # features/steps/basic_replication.py:20 2445s Mar 16 02:07:17 And I configure and start postgres-2 with a tag replicatefrom postgres-0 # features/steps/cascading_replication.py:7 2449s Mar 16 02:07:21 Then "members/postgres-2" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2450s Mar 16 02:07:22 And "members/postgres-0" key in DCS has state=running after 20 seconds # features/steps/cascading_replication.py:23 2450s Mar 16 02:07:22 And Response on GET http://127.0.0.1:8008/failsafe contains postgres-2 after 10 seconds # features/steps/patroni_api.py:158 2450s Mar 16 02:07:22 And replication works from postgres-1 to postgres-0 after 10 seconds # features/steps/basic_replication.py:124 2451s Mar 16 02:07:23 And replication works from postgres-1 to postgres-2 after 10 seconds # features/steps/basic_replication.py:124 2452s Mar 16 02:07:24 2452s Mar 16 02:07:24 @dcs-failsafe @slot-advance 2452s Mar 16 02:07:24 Scenario: make sure permanent slots exist on replicas # features/dcs_failsafe_mode.feature:88 2452s Mar 16 02:07:24 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 2452s Mar 16 02:07:24 Then logical slot dcs_slot_2 is in sync between postgres-1 and postgres-0 after 20 seconds # features/steps/slots.py:52 2458s Mar 16 02:07:30 And logical slot dcs_slot_2 is in sync between postgres-1 and postgres-2 after 20 seconds # features/steps/slots.py:52 2459s Mar 16 02:07:31 When I get all changes from physical slot dcs_slot_1 on postgres-1 # features/steps/slots.py:77 2459s Mar 16 02:07:31 Then physical slot dcs_slot_1 is in sync between postgres-1 and postgres-0 after 10 seconds # features/steps/slots.py:52 2460s Mar 16 02:07:32 And physical slot dcs_slot_1 is in sync between postgres-1 and postgres-2 after 10 seconds # features/steps/slots.py:52 2460s Mar 16 02:07:32 And physical slot postgres_0 is in sync between postgres-1 and postgres-2 after 10 seconds # features/steps/slots.py:52 2460s Mar 16 02:07:32 And physical slot postgres_2 is in sync between postgres-0 and postgres-1 after 10 seconds # features/steps/slots.py:52 2460s Mar 16 02:07:32 2460s Mar 16 02:07:32 @dcs-failsafe 2460s Mar 16 02:07:32 Scenario: check three-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:99 2460s Mar 16 02:07:32 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 2460s Mar 16 02:07:32 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 2466s Mar 16 02:07:38 Then postgres-1 role is the primary after 10 seconds # features/steps/basic_replication.py:117 2466s Mar 16 02:07:38 And postgres-0 role is the replica after 2 seconds # features/steps/basic_replication.py:117 2466s Mar 16 02:07:38 And postgres-2 role is the replica after 2 seconds # features/steps/basic_replication.py:117 2466s Mar 16 02:07:38 2466s Mar 16 02:07:38 @dcs-failsafe @slot-advance 2466s Mar 16 02:07:38 Scenario: check that permanent slots are in sync between nodes while DCS is down # features/dcs_failsafe_mode.feature:108 2466s Mar 16 02:07:38 Given replication works from postgres-1 to postgres-0 after 10 seconds # features/steps/basic_replication.py:124 2466s Mar 16 02:07:38 And replication works from postgres-1 to postgres-2 after 10 seconds # features/steps/basic_replication.py:124 2467s Mar 16 02:07:39 When I get all changes from logical slot dcs_slot_2 on postgres-1 # features/steps/slots.py:72 2467s Mar 16 02:07:39 And I get all changes from physical slot dcs_slot_1 on postgres-1 # features/steps/slots.py:77 2467s Mar 16 02:07:39 Then logical slot dcs_slot_2 is in sync between postgres-1 and postgres-0 after 20 seconds # features/steps/slots.py:52 2473s Mar 16 02:07:45 And logical slot dcs_slot_2 is in sync between postgres-1 and postgres-2 after 20 seconds # features/steps/slots.py:52 2473s Mar 16 02:07:45 And physical slot dcs_slot_1 is in sync between postgres-1 and postgres-0 after 10 seconds # features/steps/slots.py:52 2473s Mar 16 02:07:45 And physical slot dcs_slot_1 is in sync between postgres-1 and postgres-2 after 10 seconds # features/steps/slots.py:52 2473s Mar 16 02:07:45 And physical slot postgres_0 is in sync between postgres-1 and postgres-2 after 10 seconds # features/steps/slots.py:52 2473s Mar 16 02:07:45 And physical slot postgres_2 is in sync between postgres-0 and postgres-1 after 10 seconds # features/steps/slots.py:52 2485s Mar 16 02:07:56 2485s Mar 16 02:07:56 Feature: ignored slots # features/ignored_slots.feature:1 2485s Mar 16 02:07:56 2485s Mar 16 02:07:56 Scenario: check ignored slots aren't removed on failover/switchover # features/ignored_slots.feature:2 2485s Mar 16 02:07:56 Given I start postgres-1 # features/steps/basic_replication.py:20 2489s Mar 16 02:08:01 Then postgres-1 is a leader after 10 seconds # features/steps/patroni_api.py:31 2489s Mar 16 02:08:01 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2489s Mar 16 02:08:01 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 2489s Mar 16 02:08:01 Then I receive a response code 200 # features/steps/patroni_api.py:100 2489s Mar 16 02:08:01 And Response on GET http://127.0.0.1:8009/config contains ignore_slots after 10 seconds # features/steps/patroni_api.py:158 2489s Mar 16 02:08:01 When I shut down postgres-1 # features/steps/basic_replication.py:41 2491s Mar 16 02:08:03 And I start postgres-1 # features/steps/basic_replication.py:20 2494s Mar 16 02:08:06 Then postgres-1 is a leader after 10 seconds # features/steps/patroni_api.py:31 2496s Mar 16 02:08:08 And "members/postgres-1" key in DCS has role=primary after 10 seconds # features/steps/cascading_replication.py:23 2497s Mar 16 02:08:09 And postgres-1 role is the primary after 20 seconds # features/steps/basic_replication.py:117 2497s Mar 16 02:08:09 When I create a logical replication slot unmanaged_slot_0 on postgres-1 with the test_decoding plugin # features/steps/slots.py:9 2497s Mar 16 02:08:09 And I create a logical replication slot unmanaged_slot_1 on postgres-1 with the test_decoding plugin # features/steps/slots.py:9 2497s Mar 16 02:08:09 And I create a logical replication slot unmanaged_slot_2 on postgres-1 with the test_decoding plugin # features/steps/slots.py:9 2497s Mar 16 02:08:09 And I create a logical replication slot unmanaged_slot_3 on postgres-1 with the test_decoding plugin # features/steps/slots.py:9 2497s Mar 16 02:08:09 And I create a logical replication slot dummy_slot on postgres-1 with the test_decoding plugin # features/steps/slots.py:9 2497s Mar 16 02:08: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 2497s Mar 16 02:08: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 2497s Mar 16 02:08: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 2497s Mar 16 02:08: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 2497s Mar 16 02:08:09 When I start postgres-0 # features/steps/basic_replication.py:20 2502s Mar 16 02:08:14 Then "members/postgres-0" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 2502s Mar 16 02:08:14 And postgres-0 role is the secondary after 20 seconds # features/steps/basic_replication.py:117 2502s Mar 16 02:08:14 And replication works from postgres-1 to postgres-0 after 20 seconds # features/steps/basic_replication.py:124 2503s Mar 16 02:08:15 When I shut down postgres-1 # features/steps/basic_replication.py:41 2505s Mar 16 02:08:17 Then "members/postgres-0" key in DCS has role=primary after 10 seconds # features/steps/cascading_replication.py:23 2506s Mar 16 02:08:18 When I start postgres-1 # features/steps/basic_replication.py:20 2509s Mar 16 02:08:21 Then postgres-1 role is the secondary after 20 seconds # features/steps/basic_replication.py:117 2509s Mar 16 02:08:21 And "members/postgres-1" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 2509s Mar 16 02:08:21 And I sleep for 2 seconds # features/steps/patroni_api.py:41 2511s Mar 16 02:08:23 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 2511s Mar 16 02:08:23 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 2511s Mar 16 02:08:23 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 2511s Mar 16 02:08:23 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 2511s Mar 16 02:08:23 And postgres-1 does not have a replication slot named dummy_slot # features/steps/slots.py:41 2511s Mar 16 02:08:23 When I shut down postgres-0 # features/steps/basic_replication.py:41 2513s Mar 16 02:08:25 Then "members/postgres-1" key in DCS has role=primary after 10 seconds # features/steps/cascading_replication.py:23 2514s Mar 16 02:08:26 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 2514s Mar 16 02:08:26 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 2514s Mar 16 02:08:26 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 2514s Mar 16 02:08:26 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 2522s Mar 16 02:08:34 2522s Mar 16 02:08:34 Feature: nostream node # features/nostream_node.feature:1 2522s Mar 16 02:08:34 2522s Mar 16 02:08:34 Scenario: check nostream node is recovering from archive # features/nostream_node.feature:3 2522s Mar 16 02:08:34 When I start postgres-0 # features/steps/basic_replication.py:20 2528s Mar 16 02:08:39 And I configure and start postgres-1 with a tag nostream true # features/steps/cascading_replication.py:7 2532s Mar 16 02:08:44 Then "members/postgres-1" key in DCS has replication_state=in archive recovery after 10 seconds # features/steps/cascading_replication.py:23 2533s Mar 16 02:08:45 And replication works from postgres-0 to postgres-1 after 30 seconds # features/steps/basic_replication.py:124 2538s Mar 16 02:08:50 2538s Mar 16 02:08:50 @slot-advance 2538s Mar 16 02:08:50 Scenario: check permanent logical replication slots are not copied # features/nostream_node.feature:10 2538s Mar 16 02:08:50 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 2538s Mar 16 02:08:50 Then I receive a response code 200 # features/steps/patroni_api.py:100 2538s Mar 16 02:08:50 When I run patronictl.py restart batman postgres-0 --force # features/steps/patroni_api.py:88 2540s Mar 16 02:08:52 Then postgres-0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:20 2541s Mar 16 02:08:53 When I configure and start postgres-2 with a tag replicatefrom postgres-1 # features/steps/cascading_replication.py:7 2545s Mar 16 02:08:57 Then "members/postgres-2" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 2546s Mar 16 02:08:58 And postgres-1 does not have a replication slot named test_logical # features/steps/slots.py:41 2546s Mar 16 02:08:58 And postgres-2 does not have a replication slot named test_logical # features/steps/slots.py:41 2546s Mar 16 02:08:58 2546s Mar 16 02:08:58 @slot-advance 2546s Mar 16 02:08:58 Scenario: check that slots are written to the /status key # features/nostream_node.feature:21 2546s Mar 16 02:08:58 Given "status" key in DCS has postgres_0 in slots # features/steps/slots.py:118 2546s Mar 16 02:08:58 And "status" key in DCS has postgres_2 in slots # features/steps/slots.py:118 2546s Mar 16 02:08:58 And "status" key in DCS has test_logical in slots # features/steps/slots.py:118 2546s Mar 16 02:08:58 And "status" key in DCS has test_logical in slots # features/steps/slots.py:118 2546s Mar 16 02:08:58 And "status" key in DCS does not have postgres_1 in slots # features/steps/slots.py:124 2560s Mar 16 02:09:12 2560s Mar 16 02:09:12 Feature: patroni api # features/patroni_api.feature:1 2560s Mar 16 02:09:12 We should check that patroni correctly responds to valid and not-valid API requests. 2560s Mar 16 02:09:12 Scenario: check API requests on a stand-alone server # features/patroni_api.feature:4 2560s Mar 16 02:09:12 Given I start postgres-0 # features/steps/basic_replication.py:20 2564s Mar 16 02:09:16 And postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 2564s Mar 16 02:09:16 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:63 2564s Mar 16 02:09:16 Then I receive a response code 200 # features/steps/patroni_api.py:100 2564s Mar 16 02:09:16 And I receive a response state running # features/steps/patroni_api.py:100 2564s Mar 16 02:09:16 And I receive a response role primary # features/steps/patroni_api.py:100 2564s Mar 16 02:09:16 When I issue a GET request to http://127.0.0.1:8008/standby_leader # features/steps/patroni_api.py:63 2564s Mar 16 02:09:16 Then I receive a response code 503 # features/steps/patroni_api.py:100 2564s Mar 16 02:09:16 When I issue a GET request to http://127.0.0.1:8008/health # features/steps/patroni_api.py:63 2564s Mar 16 02:09:16 Then I receive a response code 200 # features/steps/patroni_api.py:100 2564s Mar 16 02:09:16 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:63 2564s Mar 16 02:09:16 Then I receive a response code 503 # features/steps/patroni_api.py:100 2564s Mar 16 02:09:16 When I issue a POST request to http://127.0.0.1:8008/reinitialize with {"force": true} # features/steps/patroni_api.py:73 2565s Mar 16 02:09:16 Then I receive a response code 503 # features/steps/patroni_api.py:100 2565s Mar 16 02:09:16 And I receive a response text I am the leader, can not reinitialize # features/steps/patroni_api.py:100 2565s Mar 16 02:09:16 When I run patronictl.py switchover batman --primary postgres-0 --force # features/steps/patroni_api.py:88 2566s Mar 16 02:09:18 Then I receive a response returncode 1 # features/steps/patroni_api.py:100 2566s Mar 16 02:09:18 And I receive a response output "Error: No candidates found to switchover to" # features/steps/patroni_api.py:100 2566s Mar 16 02:09:18 When I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres-0"} # features/steps/patroni_api.py:73 2566s Mar 16 02:09:18 Then I receive a response code 412 # features/steps/patroni_api.py:100 2566s Mar 16 02:09:18 And I receive a response text switchover is not possible: cluster does not have members except leader # features/steps/patroni_api.py:100 2566s Mar 16 02:09:18 When I issue an empty POST request to http://127.0.0.1:8008/failover # features/steps/patroni_api.py:68 2566s Mar 16 02:09:18 Then I receive a response code 400 # features/steps/patroni_api.py:100 2566s Mar 16 02:09:18 When I issue a POST request to http://127.0.0.1:8008/failover with {"foo": "bar"} # features/steps/patroni_api.py:73 2566s Mar 16 02:09:18 Then I receive a response code 400 # features/steps/patroni_api.py:100 2566s Mar 16 02:09:18 And I receive a response text "Failover could be performed only to a specific candidate" # features/steps/patroni_api.py:100 2566s Mar 16 02:09:18 2566s Mar 16 02:09:18 Scenario: check local configuration reload # features/patroni_api.feature:32 2566s Mar 16 02:09:18 Given I add tag new_tag new_value to postgres-0 config # features/steps/patroni_api.py:139 2566s Mar 16 02:09:18 And I issue an empty POST request to http://127.0.0.1:8008/reload # features/steps/patroni_api.py:68 2566s Mar 16 02:09:18 Then I receive a response code 202 # features/steps/patroni_api.py:100 2566s Mar 16 02:09:18 2566s Mar 16 02:09:18 Scenario: check dynamic configuration change via DCS # features/patroni_api.feature:37 2566s Mar 16 02:09:18 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 2566s Mar 16 02:09:18 Then I receive a response code 200 # features/steps/patroni_api.py:100 2566s Mar 16 02:09:18 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 11 seconds # features/steps/patroni_api.py:158 2568s Mar 16 02:09:20 When I issue a GET request to http://127.0.0.1:8008/config # features/steps/patroni_api.py:63 2568s Mar 16 02:09:20 Then I receive a response code 200 # features/steps/patroni_api.py:100 2568s Mar 16 02:09:20 And I receive a response ttl 20 # features/steps/patroni_api.py:100 2568s Mar 16 02:09:20 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:63 2568s Mar 16 02:09:20 Then I receive a response code 200 # features/steps/patroni_api.py:100 2568s Mar 16 02:09:20 And I receive a response tags {'new_tag': 'new_value'} # features/steps/patroni_api.py:100 2568s Mar 16 02:09:20 And I sleep for 4 seconds # features/steps/patroni_api.py:41 2572s Mar 16 02:09:24 2572s Mar 16 02:09:24 Scenario: check the scheduled restart # features/patroni_api.feature:49 2572s Mar 16 02:09:24 Given I run patronictl.py edit-config -p 'superuser_reserved_connections=6' --force batman # features/steps/patroni_api.py:88 2574s Mar 16 02:09:26 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 2574s Mar 16 02:09:26 And I receive a response output "+ superuser_reserved_connections: 6" # features/steps/patroni_api.py:100 2574s Mar 16 02:09:26 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 5 seconds # features/steps/patroni_api.py:158 2574s Mar 16 02:09:26 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 2574s Mar 16 02:09:26 Then I receive a response code 202 # features/steps/patroni_api.py:100 2574s Mar 16 02:09:26 And I sleep for 8 seconds # features/steps/patroni_api.py:41 2582s Mar 16 02:09:34 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 10 seconds # features/steps/patroni_api.py:158 2582s Mar 16 02:09:34 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 2582s Mar 16 02:09:34 Then I receive a response code 202 # features/steps/patroni_api.py:100 2582s Mar 16 02:09:34 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 2589s Mar 16 02:09:41 And postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 2590s Mar 16 02:09:42 2590s Mar 16 02:09:42 Scenario: check API requests for the primary-replica pair in the pause mode # features/patroni_api.feature:63 2590s Mar 16 02:09:42 Given I start postgres-1 # features/steps/basic_replication.py:20 2594s Mar 16 02:09:46 Then replication works from postgres-0 to postgres-1 after 20 seconds # features/steps/basic_replication.py:124 2595s Mar 16 02:09:47 When I run patronictl.py pause batman # features/steps/patroni_api.py:88 2597s Mar 16 02:09:49 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 2597s Mar 16 02:09:49 When I kill postmaster on postgres-1 # features/steps/basic_replication.py:56 2597s Mar 16 02:09:49 waiting for server to shut down.... done 2597s Mar 16 02:09:49 server stopped 2597s Mar 16 02:09:49 And I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:63 2597s Mar 16 02:09:49 Then I receive a response code 503 # features/steps/patroni_api.py:100 2597s Mar 16 02:09:49 And "members/postgres-1" key in DCS has state=stopped after 10 seconds # features/steps/cascading_replication.py:23 2598s Mar 16 02:09:50 When I run patronictl.py restart batman postgres-1 --force # features/steps/patroni_api.py:88 2601s Mar 16 02:09:53 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 2601s Mar 16 02:09:53 Then replication works from postgres-0 to postgres-1 after 20 seconds # features/steps/basic_replication.py:124 2602s Mar 16 02:09:54 And I sleep for 2 seconds # features/steps/patroni_api.py:41 2604s Mar 16 02:09:56 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:63 2604s Mar 16 02:09:56 Then I receive a response code 200 # features/steps/patroni_api.py:100 2604s Mar 16 02:09:56 And I receive a response state running # features/steps/patroni_api.py:100 2604s Mar 16 02:09:56 And I receive a response role replica # features/steps/patroni_api.py:100 2604s Mar 16 02:09:56 When I run patronictl.py reinit batman postgres-1 --force --wait # features/steps/patroni_api.py:88 2609s Mar 16 02:10:01 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 2609s Mar 16 02:10:01 And I receive a response output "Success: reinitialize for member postgres-1" # features/steps/patroni_api.py:100 2609s Mar 16 02:10:01 And postgres-1 role is the secondary after 30 seconds # features/steps/basic_replication.py:117 2610s Mar 16 02:10:02 And replication works from postgres-0 to postgres-1 after 20 seconds # features/steps/basic_replication.py:124 2610s Mar 16 02:10:02 When I run patronictl.py restart batman postgres-0 --force # features/steps/patroni_api.py:88 2612s Mar 16 02:10:04 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 2612s Mar 16 02:10:04 And I receive a response output "Success: restart on member postgres-0" # features/steps/patroni_api.py:100 2612s Mar 16 02:10:04 And postgres-0 role is the primary after 5 seconds # features/steps/basic_replication.py:117 2613s Mar 16 02:10:05 2613s Mar 16 02:10:05 Scenario: check the switchover via the API in the pause mode # features/patroni_api.feature:90 2613s Mar 16 02:10:05 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 2616s Mar 16 02:10:08 Then I receive a response code 200 # features/steps/patroni_api.py:100 2616s Mar 16 02:10:08 And postgres-1 is a leader after 5 seconds # features/steps/patroni_api.py:31 2616s Mar 16 02:10:08 And postgres-1 role is the primary after 10 seconds # features/steps/basic_replication.py:117 2617s Mar 16 02:10:09 And postgres-0 role is the secondary after 10 seconds # features/steps/basic_replication.py:117 2622s Mar 16 02:10:14 And replication works from postgres-1 to postgres-0 after 20 seconds # features/steps/basic_replication.py:124 2622s Mar 16 02:10:14 And "members/postgres-0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2623s Mar 16 02:10:15 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:63 2623s Mar 16 02:10:15 Then I receive a response code 503 # features/steps/patroni_api.py:100 2623s Mar 16 02:10:15 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:63 2623s Mar 16 02:10:15 Then I receive a response code 200 # features/steps/patroni_api.py:100 2623s Mar 16 02:10:15 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:63 2623s Mar 16 02:10:15 Then I receive a response code 200 # features/steps/patroni_api.py:100 2623s Mar 16 02:10:15 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:63 2623s Mar 16 02:10:15 Then I receive a response code 503 # features/steps/patroni_api.py:100 2623s Mar 16 02:10:15 2623s Mar 16 02:10:15 Scenario: check the scheduled switchover # features/patroni_api.feature:107 2623s Mar 16 02:10:15 Given I issue a scheduled switchover from postgres-1 to postgres-0 in 10 seconds # features/steps/patroni_api.py:119 2624s Mar 16 02:10:16 Then I receive a response returncode 1 # features/steps/patroni_api.py:100 2624s Mar 16 02:10:16 And I receive a response output "Can't schedule switchover in the paused state" # features/steps/patroni_api.py:100 2624s Mar 16 02:10:16 When I run patronictl.py resume batman # features/steps/patroni_api.py:88 2626s Mar 16 02:10:18 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 2626s Mar 16 02:10:18 Given I issue a scheduled switchover from postgres-1 to postgres-0 in 10 seconds # features/steps/patroni_api.py:119 2627s Mar 16 02:10:19 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 2627s Mar 16 02:10:19 And postgres-0 is a leader after 20 seconds # features/steps/patroni_api.py:31 2637s Mar 16 02:10:29 And postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 2638s Mar 16 02:10:30 And postgres-1 role is the secondary after 10 seconds # features/steps/basic_replication.py:117 2641s Mar 16 02:10:32 And replication works from postgres-0 to postgres-1 after 25 seconds # features/steps/basic_replication.py:124 2641s Mar 16 02:10:32 And "members/postgres-1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2641s Mar 16 02:10:33 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:63 2641s Mar 16 02:10:33 Then I receive a response code 200 # features/steps/patroni_api.py:100 2641s Mar 16 02:10:33 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:63 2641s Mar 16 02:10:33 Then I receive a response code 503 # features/steps/patroni_api.py:100 2641s Mar 16 02:10:33 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:63 2641s Mar 16 02:10:33 Then I receive a response code 503 # features/steps/patroni_api.py:100 2641s Mar 16 02:10:33 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:63 2641s Mar 16 02:10:33 Then I receive a response code 200 # features/steps/patroni_api.py:100 2652s Mar 16 02:10:44 2652s Mar 16 02:10:44 Feature: permanent slots # features/permanent_slots.feature:1 2652s Mar 16 02:10:44 2652s Mar 16 02:10:44 Scenario: check that physical permanent slots are created # features/permanent_slots.feature:2 2652s Mar 16 02:10:44 Given I start postgres-0 # features/steps/basic_replication.py:20 2656s Mar 16 02:10:48 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 2656s Mar 16 02:10:48 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2656s Mar 16 02:10:48 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 2656s Mar 16 02:10:48 Then I receive a response code 200 # features/steps/patroni_api.py:100 2656s Mar 16 02:10:48 And Response on GET http://127.0.0.1:8008/config contains slots after 10 seconds # features/steps/patroni_api.py:158 2656s Mar 16 02:10:48 When I start postgres-1 # features/steps/basic_replication.py:20 2660s Mar 16 02:10:52 And I configure and start postgres-2 with a tag nofailover true # features/steps/cascading_replication.py:7 2665s Mar 16 02:10:57 And I configure and start postgres-3 with a tag replicatefrom postgres-2 # features/steps/cascading_replication.py:7 2669s Mar 16 02:11:01 Then postgres-0 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:82 2669s Mar 16 02:11:01 And postgres-0 has a physical replication slot named postgres_1 after 10 seconds # features/steps/slots.py:82 2669s Mar 16 02:11:01 And postgres-0 has a physical replication slot named postgres_2 after 10 seconds # features/steps/slots.py:82 2669s Mar 16 02:11:01 And postgres-2 has a physical replication slot named postgres_3 after 10 seconds # features/steps/slots.py:82 2669s Mar 16 02:11:01 And postgres-2 does not have a replication slot named test_physical # features/steps/slots.py:41 2669s Mar 16 02:11:01 2669s Mar 16 02:11:01 @slot-advance 2669s Mar 16 02:11:01 Scenario: check that logical permanent slots are created # features/permanent_slots.feature:19 2669s Mar 16 02:11:01 Given I run patronictl.py restart batman postgres-0 --force # features/steps/patroni_api.py:88 2671s Mar 16 02:11:03 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 2671s Mar 16 02:11:03 Then postgres-0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:20 2672s Mar 16 02:11:04 2672s Mar 16 02:11:04 @slot-advance 2672s Mar 16 02:11:04 Scenario: check that permanent slots are created on replicas # features/permanent_slots.feature:25 2672s Mar 16 02:11:04 Given postgres-1 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:20 2675s Mar 16 02:11:07 Then Logical slot test_logical is in sync between postgres-0 and postgres-1 after 10 seconds # features/steps/slots.py:52 2675s Mar 16 02:11:07 And Logical slot test_logical is in sync between postgres-0 and postgres-3 after 10 seconds # features/steps/slots.py:52 2677s Mar 16 02:11:08 And postgres-1 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:82 2677s Mar 16 02:11:08 And postgres-2 does not have a replication slot named test_logical # features/steps/slots.py:41 2677s Mar 16 02:11:08 And postgres-3 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:82 2677s Mar 16 02:11:08 2677s Mar 16 02:11:08 @slot-advance 2677s Mar 16 02:11:08 Scenario: check permanent physical slots that match with member names # features/permanent_slots.feature:34 2677s Mar 16 02:11:08 Given postgres-0 has a physical replication slot named postgres_3 after 2 seconds # features/steps/slots.py:82 2677s Mar 16 02:11:08 And postgres-1 has a physical replication slot named postgres_0 after 2 seconds # features/steps/slots.py:82 2677s Mar 16 02:11:08 And postgres-1 has a physical replication slot named postgres_2 after 2 seconds # features/steps/slots.py:82 2677s Mar 16 02:11:08 And postgres-1 has a physical replication slot named postgres_3 after 2 seconds # features/steps/slots.py:82 2677s Mar 16 02:11:08 And postgres-2 does not have a replication slot named postgres_0 # features/steps/slots.py:41 2677s Mar 16 02:11:08 And postgres-2 does not have a replication slot named postgres_1 # features/steps/slots.py:41 2677s Mar 16 02:11:08 And postgres-2 has a physical replication slot named postgres_3 after 2 seconds # features/steps/slots.py:82 2677s Mar 16 02:11:08 And postgres-3 has a physical replication slot named postgres_0 after 2 seconds # features/steps/slots.py:82 2677s Mar 16 02:11:08 And postgres-3 has a physical replication slot named postgres_1 after 2 seconds # features/steps/slots.py:82 2677s Mar 16 02:11:08 And postgres-3 has a physical replication slot named postgres_2 after 2 seconds # features/steps/slots.py:82 2677s Mar 16 02:11:08 2677s Mar 16 02:11:08 @slot-advance 2677s Mar 16 02:11:08 Scenario: check that permanent slots are advanced on replicas # features/permanent_slots.feature:47 2677s Mar 16 02:11:08 Given I add the table replicate_me to postgres-0 # features/steps/basic_replication.py:66 2677s Mar 16 02:11:09 When I get all changes from logical slot test_logical on postgres-0 # features/steps/slots.py:72 2677s Mar 16 02:11:09 And I get all changes from physical slot test_physical on postgres-0 # features/steps/slots.py:77 2677s Mar 16 02:11:09 Then Logical slot test_logical is in sync between postgres-0 and postgres-1 after 10 seconds # features/steps/slots.py:52 2678s Mar 16 02:11:10 And Physical slot test_physical is in sync between postgres-0 and postgres-1 after 10 seconds # features/steps/slots.py:52 2678s Mar 16 02:11:10 And Logical slot test_logical is in sync between postgres-0 and postgres-3 after 10 seconds # features/steps/slots.py:52 2678s Mar 16 02:11:10 And Physical slot test_physical is in sync between postgres-0 and postgres-3 after 10 seconds # features/steps/slots.py:52 2678s Mar 16 02:11:10 And Physical slot postgres_1 is in sync between postgres-0 and postgres-3 after 10 seconds # features/steps/slots.py:52 2678s Mar 16 02:11:10 And Physical slot postgres_3 is in sync between postgres-2 and postgres-0 after 20 seconds # features/steps/slots.py:52 2680s Mar 16 02:11:12 And Physical slot postgres_3 is in sync between postgres-2 and postgres-1 after 10 seconds # features/steps/slots.py:52 2680s Mar 16 02:11:12 2680s Mar 16 02:11:12 @slot-advance 2680s Mar 16 02:11:12 Scenario: check that permanent slots and member slots are written to the /status key # features/permanent_slots.feature:60 2680s Mar 16 02:11:12 Given "status" key in DCS has test_physical in slots # features/steps/slots.py:118 2680s Mar 16 02:11:12 And "status" key in DCS has postgres_0 in slots # features/steps/slots.py:118 2680s Mar 16 02:11:12 And "status" key in DCS has postgres_1 in slots # features/steps/slots.py:118 2680s Mar 16 02:11:12 And "status" key in DCS has postgres_2 in slots # features/steps/slots.py:118 2680s Mar 16 02:11:12 And "status" key in DCS has postgres_3 in slots # features/steps/slots.py:118 2680s Mar 16 02:11:12 2680s Mar 16 02:11:12 @slot-advance 2680s Mar 16 02:11:12 Scenario: check that only non-permanent member slots are written to the retain_slots in /status key # features/permanent_slots.feature:68 2680s Mar 16 02:11:12 Given "status" key in DCS has postgres_0 in retain_slots # features/steps/slots.py:118 2680s Mar 16 02:11:12 And "status" key in DCS has postgres_1 in retain_slots # features/steps/slots.py:118 2680s Mar 16 02:11:12 And "status" key in DCS has postgres_2 in retain_slots # features/steps/slots.py:118 2680s Mar 16 02:11:12 And "status" key in DCS does not have postgres_3 in retain_slots # features/steps/slots.py:124 2680s Mar 16 02:11:12 2680s Mar 16 02:11:12 Scenario: check permanent physical replication slot after failover # features/permanent_slots.feature:74 2680s Mar 16 02:11:12 Given I shut down postgres-3 # features/steps/basic_replication.py:41 2681s Mar 16 02:11:13 And I shut down postgres-2 # features/steps/basic_replication.py:41 2682s Mar 16 02:11:14 And I shut down postgres-0 # features/steps/basic_replication.py:41 2684s Mar 16 02:11:16 Then postgres-1 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:82 2684s Mar 16 02:11:16 And postgres-1 has a physical replication slot named postgres_0 after 10 seconds # features/steps/slots.py:82 2684s Mar 16 02:11:16 And postgres-1 has a physical replication slot named postgres_3 after 10 seconds # features/steps/slots.py:82 2684s Mar 16 02:11:16 When I start postgres-0 # features/steps/basic_replication.py:20 2687s Mar 16 02:11:19 Then postgres-0 role is the replica after 20 seconds # features/steps/basic_replication.py:117 2687s Mar 16 02:11:19 And physical replication slot named postgres_1 on postgres-0 has no xmin value after 10 seconds # features/steps/slots.py:98 2688s Mar 16 02:11:20 And postgres-0 has a physical replication slot named postgres_2 after 10 seconds # features/steps/slots.py:82 2688s Mar 16 02:11:20 And postgres-0 has a physical replication slot named postgres_3 after 10 seconds # features/steps/slots.py:82 2702s Mar 16 02:11:34 2702s Mar 16 02:11:34 Feature: priority replication # features/priority_failover.feature:1 2702s Mar 16 02:11:34 We should check that we can give nodes priority during failover 2702s Mar 16 02:11:34 Scenario: check failover priority 0 prevents leaderships # features/priority_failover.feature:4 2702s Mar 16 02:11:34 Given I configure and start postgres-0 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 2706s Mar 16 02:11:38 And I configure and start postgres-1 with a tag failover_priority 0 # features/steps/cascading_replication.py:7 2710s Mar 16 02:11:42 Then replication works from postgres-0 to postgres-1 after 20 seconds # features/steps/basic_replication.py:124 2711s Mar 16 02:11:43 When I shut down postgres-0 # features/steps/basic_replication.py:41 2713s Mar 16 02:11:45 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 2715s Mar 16 02:11:47 Then postgres-1 role is the secondary after 10 seconds # features/steps/basic_replication.py:117 2715s Mar 16 02:11:47 When I start postgres-0 # features/steps/basic_replication.py:20 2718s Mar 16 02:11:50 Then postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 2721s Mar 16 02:11:53 2721s Mar 16 02:11:53 Scenario: check higher failover priority is respected # features/priority_failover.feature:14 2721s Mar 16 02:11:53 Given I configure and start postgres-2 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 2726s Mar 16 02:11:58 And I configure and start postgres-3 with a tag failover_priority 2 # features/steps/cascading_replication.py:7 2730s Mar 16 02:12:02 Then replication works from postgres-0 to postgres-2 after 20 seconds # features/steps/basic_replication.py:124 2732s Mar 16 02:12:04 And replication works from postgres-0 to postgres-3 after 20 seconds # features/steps/basic_replication.py:124 2733s Mar 16 02:12:05 When I shut down postgres-0 # features/steps/basic_replication.py:41 2735s Mar 16 02:12:07 Then postgres-3 role is the primary after 10 seconds # features/steps/basic_replication.py:117 2736s Mar 16 02:12:08 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 2736s Mar 16 02:12:08 2736s Mar 16 02:12:08 Scenario: check conflicting configuration handling # features/priority_failover.feature:23 2736s Mar 16 02:12:08 When I set nofailover tag in postgres-2 config # features/steps/patroni_api.py:133 2736s Mar 16 02:12:08 And I issue an empty POST request to http://127.0.0.1:8010/reload # features/steps/patroni_api.py:68 2736s Mar 16 02:12:08 Then I receive a response code 202 # features/steps/patroni_api.py:100 2736s Mar 16 02:12:08 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 2738s Mar 16 02:12:10 And "members/postgres-2" key in DCS has tags={'failover_priority': '1', 'nofailover': True} after 10 seconds # features/steps/cascading_replication.py:23 2739s Mar 16 02:12:11 When I issue a POST request to http://127.0.0.1:8010/failover with {"candidate": "postgres-2"} # features/steps/patroni_api.py:73 2739s Mar 16 02:12:11 Then I receive a response code 412 # features/steps/patroni_api.py:100 2739s Mar 16 02:12:11 And I receive a response text "failover is not possible: no good candidates have been found" # features/steps/patroni_api.py:100 2739s Mar 16 02:12:11 When I reset nofailover tag in postgres-1 config # features/steps/patroni_api.py:133 2739s Mar 16 02:12:11 And I issue an empty POST request to http://127.0.0.1:8009/reload # features/steps/patroni_api.py:68 2739s Mar 16 02:12:11 Then I receive a response code 202 # features/steps/patroni_api.py:100 2739s Mar 16 02:12:11 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 2740s Mar 16 02:12:12 And "members/postgres-1" key in DCS has tags={'failover_priority': '0', 'nofailover': False} after 10 seconds # features/steps/cascading_replication.py:23 2741s Mar 16 02:12:13 And I issue a POST request to http://127.0.0.1:8009/failover with {"candidate": "postgres-1"} # features/steps/patroni_api.py:73 2743s Mar 16 02:12:15 Then I receive a response code 200 # features/steps/patroni_api.py:100 2743s Mar 16 02:12:15 And postgres-1 role is the primary after 10 seconds # features/steps/basic_replication.py:117 2756s Mar 16 02:12:28 2756s Mar 16 02:12:28 Feature: quorum commit # features/quorum_commit.feature:1 2756s Mar 16 02:12:28 Check basic workfrlows when quorum commit is enabled 2756s Mar 16 02:12:28 Scenario: check enable quorum commit and that the only leader promotes after restart # features/quorum_commit.feature:4 2756s Mar 16 02:12:28 Given I start postgres-0 # features/steps/basic_replication.py:20 2760s Mar 16 02:12:32 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 2760s Mar 16 02:12:32 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2760s Mar 16 02:12:32 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 2760s Mar 16 02:12:32 Then I receive a response code 200 # features/steps/patroni_api.py:100 2760s Mar 16 02:12:32 And sync key in DCS has leader=postgres-0 after 20 seconds # features/steps/quorum_commit.py:8 2760s Mar 16 02:12:32 And sync key in DCS has quorum=0 after 2 seconds # features/steps/quorum_commit.py:8 2760s Mar 16 02:12:32 And synchronous_standby_names on postgres-0 is set to '_empty_str_' after 2 seconds # features/steps/quorum_commit.py:39 2760s Mar 16 02:12:32 When I shut down postgres-0 # features/steps/basic_replication.py:41 2762s Mar 16 02:12:34 And sync key in DCS has leader=postgres-0 after 2 seconds # features/steps/quorum_commit.py:8 2762s Mar 16 02:12:34 When I start postgres-0 # features/steps/basic_replication.py:20 2765s Mar 16 02:12:37 Then postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 2767s Mar 16 02:12:39 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 2767s Mar 16 02:12:39 Then synchronous_standby_names on postgres-0 is set to 'ANY 1 (*)' after 10 seconds # features/steps/quorum_commit.py:39 2767s Mar 16 02:12:39 2767s Mar 16 02:12:39 Scenario: check failover with one quorum standby # features/quorum_commit.feature:20 2767s Mar 16 02:12:39 Given I start postgres-1 # features/steps/basic_replication.py:20 2771s Mar 16 02:12:43 Then sync key in DCS has sync_standby=postgres-1 after 10 seconds # features/steps/quorum_commit.py:8 2773s Mar 16 02:12:45 And synchronous_standby_names on postgres-0 is set to 'ANY 1 ("postgres-1")' after 2 seconds # features/steps/quorum_commit.py:39 2773s Mar 16 02:12:45 When I shut down postgres-0 # features/steps/basic_replication.py:41 2775s Mar 16 02:12:47 Then postgres-1 role is the primary after 10 seconds # features/steps/basic_replication.py:117 2775s Mar 16 02:12:47 And sync key in DCS has quorum=0 after 10 seconds # features/steps/quorum_commit.py:8 2775s Mar 16 02:12:47 Then synchronous_standby_names on postgres-1 is set to 'ANY 1 (*)' after 10 seconds # features/steps/quorum_commit.py:39 2778s Mar 16 02:12:50 When I start postgres-0 # features/steps/basic_replication.py:20 2781s Mar 16 02:12:53 Then sync key in DCS has leader=postgres-1 after 10 seconds # features/steps/quorum_commit.py:8 2781s Mar 16 02:12:53 Then sync key in DCS has sync_standby=postgres-0 after 10 seconds # features/steps/quorum_commit.py:8 2783s Mar 16 02:12:55 And synchronous_standby_names on postgres-1 is set to 'ANY 1 ("postgres-0")' after 2 seconds # features/steps/quorum_commit.py:39 2783s Mar 16 02:12:55 2783s Mar 16 02:12:55 Scenario: check behavior with three nodes and different replication factor # features/quorum_commit.feature:33 2783s Mar 16 02:12:55 Given I start postgres-2 # features/steps/basic_replication.py:20 2788s Mar 16 02:13:00 Then sync key in DCS has sync_standby=postgres-0,postgres-2 after 10 seconds # features/steps/quorum_commit.py:8 2789s Mar 16 02:13:01 And sync key in DCS has quorum=1 after 2 seconds # features/steps/quorum_commit.py:8 2789s Mar 16 02:13:01 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 2789s Mar 16 02:13:01 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 2789s Mar 16 02:13:01 Then sync key in DCS has quorum=0 after 10 seconds # features/steps/quorum_commit.py:8 2790s Mar 16 02:13:02 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 2790s Mar 16 02:13:02 2790s Mar 16 02:13:02 Scenario: switch from quorum replication to good old multisync and back # features/quorum_commit.feature:42 2790s Mar 16 02:13:02 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 2790s Mar 16 02:13:02 And I shut down postgres-0 # features/steps/basic_replication.py:41 2791s Mar 16 02:13:03 Then synchronous_standby_names on postgres-1 is set to '"postgres-2"' after 10 seconds # features/steps/quorum_commit.py:39 2793s Mar 16 02:13:05 And sync key in DCS has sync_standby=postgres-2 after 10 seconds # features/steps/quorum_commit.py:8 2795s Mar 16 02:13:07 Then sync key in DCS has quorum=0 after 2 seconds # features/steps/quorum_commit.py:8 2795s Mar 16 02:13:07 When I issue a PATCH request to http://127.0.0.1:8009/config with {"synchronous_mode": "quorum"} # features/steps/patroni_api.py:73 2795s Mar 16 02:13:07 And I start postgres-0 # features/steps/basic_replication.py:20 2798s Mar 16 02:13:10 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 2798s Mar 16 02:13:10 And sync key in DCS has sync_standby=postgres-0,postgres-2 after 10 seconds # features/steps/quorum_commit.py:8 2798s Mar 16 02:13:10 Then sync key in DCS has quorum=1 after 2 seconds # features/steps/quorum_commit.py:8 2798s Mar 16 02:13:10 2798s Mar 16 02:13:10 Scenario: REST API and patronictl # features/quorum_commit.feature:54 2798s Mar 16 02:13:10 Given I run patronictl.py list batman # features/steps/patroni_api.py:88 2800s Mar 16 02:13:11 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 2800s Mar 16 02:13:11 And I receive a response output "Quorum Standby" # features/steps/patroni_api.py:100 2800s Mar 16 02:13:11 And Status code on GET http://127.0.0.1:8008/quorum is 200 after 3 seconds # features/steps/patroni_api.py:144 2800s Mar 16 02:13:12 And Status code on GET http://127.0.0.1:8010/quorum is 200 after 3 seconds # features/steps/patroni_api.py:144 2800s Mar 16 02:13:12 2800s Mar 16 02:13:12 Scenario: nosync node is removed from voters and synchronous_standby_names # features/quorum_commit.feature:61 2800s Mar 16 02:13:12 Given I add tag nosync true to postgres-2 config # features/steps/patroni_api.py:139 2800s Mar 16 02:13:12 When I issue an empty POST request to http://127.0.0.1:8010/reload # features/steps/patroni_api.py:68 2800s Mar 16 02:13:12 Then I receive a response code 202 # features/steps/patroni_api.py:100 2800s Mar 16 02:13:12 And sync key in DCS has quorum=0 after 10 seconds # features/steps/quorum_commit.py:8 2803s Mar 16 02:13:15 And sync key in DCS has sync_standby=postgres-0 after 10 seconds # features/steps/quorum_commit.py:8 2803s Mar 16 02:13:15 And synchronous_standby_names on postgres-1 is set to 'ANY 1 ("postgres-0")' after 2 seconds # features/steps/quorum_commit.py:39 2803s Mar 16 02:13:15 And Status code on GET http://127.0.0.1:8010/quorum is 503 after 10 seconds # features/steps/patroni_api.py:144 2817s Mar 16 02:13:29 2817s Mar 16 02:13:29 Feature: recovery # features/recovery.feature:1 2817s Mar 16 02:13:29 We want to check that crashed postgres is started back 2817s Mar 16 02:13:29 Scenario: check that timeline is not incremented when primary is started after crash # features/recovery.feature:4 2817s Mar 16 02:13:29 Given I start postgres-0 # features/steps/basic_replication.py:20 2821s Mar 16 02:13:33 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 2822s Mar 16 02:13:34 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2822s Mar 16 02:13:34 When I start postgres-1 # features/steps/basic_replication.py:20 2826s Mar 16 02:13:38 And I add the table foo to postgres-0 # features/steps/basic_replication.py:66 2826s Mar 16 02:13:38 Then table foo is present on postgres-1 after 20 seconds # features/steps/basic_replication.py:105 2827s Mar 16 02:13:39 When I kill postmaster on postgres-0 # features/steps/basic_replication.py:56 2827s Mar 16 02:13:39 waiting for server to shut down.... done 2827s Mar 16 02:13:39 server stopped 2827s Mar 16 02:13:39 Then postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 2831s Mar 16 02:13:42 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:63 2831s Mar 16 02:13:43 Then I receive a response code 200 # features/steps/patroni_api.py:100 2831s Mar 16 02:13:43 And I receive a response role primary # features/steps/patroni_api.py:100 2831s Mar 16 02:13:43 And I receive a response timeline 1 # features/steps/patroni_api.py:100 2831s Mar 16 02:13:43 And "members/postgres-0" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 2832s Mar 16 02:13:44 And replication works from postgres-0 to postgres-1 after 15 seconds # features/steps/basic_replication.py:124 2834s Mar 16 02:13:46 2834s Mar 16 02:13:46 Scenario: check immediate failover when master_start_timeout=0 # features/recovery.feature:20 2834s Mar 16 02:13:46 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 2834s Mar 16 02:13:46 Then I receive a response code 200 # features/steps/patroni_api.py:100 2834s Mar 16 02:13:46 And Response on GET http://127.0.0.1:8008/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:158 2834s Mar 16 02:13:46 When I kill postmaster on postgres-0 # features/steps/basic_replication.py:56 2834s Mar 16 02:13:46 waiting for server to shut down.... done 2834s Mar 16 02:13:46 server stopped 2834s Mar 16 02:13:46 Then postgres-1 is a leader after 10 seconds # features/steps/patroni_api.py:31 2836s Mar 16 02:13:48 And postgres-1 role is the primary after 10 seconds # features/steps/basic_replication.py:117 2837s Mar 16 02:13:49 2837s Mar 16 02:13:49 Scenario: check crashed primary demotes after failed attempt to start # features/recovery.feature:28 2837s Mar 16 02:13:49 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 2837s Mar 16 02:13:49 Then I receive a response code 200 # features/steps/patroni_api.py:100 2837s Mar 16 02:13:49 And postgres-0 role is the replica after 10 seconds # features/steps/basic_replication.py:117 2839s Mar 16 02:13:51 When I ensure postgres-1 fails to start after a failure # features/steps/recovery.py:6 2839s Mar 16 02:13:51 When I kill postmaster on postgres-1 # features/steps/basic_replication.py:56 2839s Mar 16 02:13:51 waiting for server to shut down.... done 2839s Mar 16 02:13:51 server stopped 2839s Mar 16 02:13:51 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 2842s Mar 16 02:13:54 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 2851s Mar 16 02:14:03 2851s Mar 16 02:14:03 Feature: standby cluster # features/standby_cluster.feature:1 2851s Mar 16 02:14:03 2851s Mar 16 02:14:03 Scenario: prepare the cluster with logical slots # features/standby_cluster.feature:2 2851s Mar 16 02:14:03 Given I start postgres-1 # features/steps/basic_replication.py:20 2856s Mar 16 02:14:07 Then postgres-1 is a leader after 10 seconds # features/steps/patroni_api.py:31 2856s Mar 16 02:14:07 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2856s Mar 16 02:14:07 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 2856s Mar 16 02:14:08 Then I receive a response code 200 # features/steps/patroni_api.py:100 2856s Mar 16 02:14:08 And Response on GET http://127.0.0.1:8009/config contains slots after 10 seconds # features/steps/patroni_api.py:158 2856s Mar 16 02:14:08 And I sleep for 3 seconds # features/steps/patroni_api.py:41 2859s Mar 16 02:14:11 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 2859s Mar 16 02:14:11 Then I receive a response code 200 # features/steps/patroni_api.py:100 2859s Mar 16 02:14:11 And I do a backup of postgres-1 # features/steps/custom_bootstrap.py:25 2860s Mar 16 02:14:12 When I start postgres-0 # features/steps/basic_replication.py:20 2864s Mar 16 02:14:16 Then "members/postgres-0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2865s Mar 16 02:14:17 And replication works from postgres-1 to postgres-0 after 15 seconds # features/steps/basic_replication.py:124 2867s Mar 16 02:14:18 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:63 2867s Mar 16 02:14:19 Then I receive a response code 200 # features/steps/patroni_api.py:100 2867s Mar 16 02:14:19 And I receive a response replication_state streaming # features/steps/patroni_api.py:100 2867s Mar 16 02:14:19 And "members/postgres-0" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 2867s Mar 16 02:14:19 2867s Mar 16 02:14:19 @slot-advance 2867s Mar 16 02:14:19 Scenario: check permanent logical slots are synced to the replica # features/standby_cluster.feature:22 2867s Mar 16 02:14:19 Given I run patronictl.py restart batman postgres-1 --force # features/steps/patroni_api.py:88 2869s Mar 16 02:14:21 Then Logical slot test_logical is in sync between postgres-0 and postgres-1 after 10 seconds # features/steps/slots.py:52 2875s Mar 16 02:14:27 2875s Mar 16 02:14:27 Scenario: Detach exiting node from the cluster # features/standby_cluster.feature:26 2875s Mar 16 02:14:27 When I shut down postgres-1 # features/steps/basic_replication.py:41 2877s Mar 16 02:14:29 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 2877s Mar 16 02:14:29 And "members/postgres-0" key in DCS has role=primary after 5 seconds # features/steps/cascading_replication.py:23 2878s Mar 16 02:14:30 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:63 2878s Mar 16 02:14:30 Then I receive a response code 200 # features/steps/patroni_api.py:100 2878s Mar 16 02:14:30 2878s Mar 16 02:14:30 Scenario: check replication of a single table in a standby cluster # features/standby_cluster.feature:33 2878s Mar 16 02:14:30 Given I start postgres-1 in a standby cluster batman1 as a clone of postgres-0 # features/steps/standby_cluster.py:23 2881s Mar 16 02:14:33 Then postgres-1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 2884s Mar 16 02:14:36 When I add the table foo to postgres-0 # features/steps/basic_replication.py:66 2884s Mar 16 02:14:36 Then table foo is present on postgres-1 after 20 seconds # features/steps/basic_replication.py:105 2884s Mar 16 02:14:36 When I issue a GET request to http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:63 2884s Mar 16 02:14:36 Then I receive a response code 200 # features/steps/patroni_api.py:100 2884s Mar 16 02:14:36 And I receive a response replication_state streaming # features/steps/patroni_api.py:100 2884s Mar 16 02:14:36 And I sleep for 3 seconds # features/steps/patroni_api.py:41 2887s Mar 16 02:14:39 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:63 2887s Mar 16 02:14:39 Then I receive a response code 503 # features/steps/patroni_api.py:100 2887s Mar 16 02:14:39 When I issue a GET request to http://127.0.0.1:8009/standby_leader # features/steps/patroni_api.py:63 2887s Mar 16 02:14:39 Then I receive a response code 200 # features/steps/patroni_api.py:100 2887s Mar 16 02:14:39 And I receive a response role standby_leader # features/steps/patroni_api.py:100 2887s Mar 16 02:14:39 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 2887s Mar 16 02:14:39 When I start postgres-2 in a cluster batman1 # features/steps/standby_cluster.py:12 2892s Mar 16 02:14:44 Then postgres-2 role is the replica after 24 seconds # features/steps/basic_replication.py:117 2892s Mar 16 02:14:44 And postgres-2 is replicating from postgres-1 after 10 seconds # features/steps/standby_cluster.py:52 2892s Mar 16 02:14:44 And table foo is present on postgres-2 after 20 seconds # features/steps/basic_replication.py:105 2892s Mar 16 02:14:44 When I issue a GET request to http://127.0.0.1:8010/patroni # features/steps/patroni_api.py:63 2892s Mar 16 02:14:44 Then I receive a response code 200 # features/steps/patroni_api.py:100 2892s Mar 16 02:14:44 And I receive a response replication_state streaming # features/steps/patroni_api.py:100 2892s Mar 16 02:14:44 And postgres-1 does not have a replication slot named test_logical # features/steps/slots.py:41 2892s Mar 16 02:14:44 2892s Mar 16 02:14:44 Scenario: check switchover # features/standby_cluster.feature:57 2892s Mar 16 02:14:44 Given I run patronictl.py switchover batman1 --force # features/steps/patroni_api.py:88 2896s Mar 16 02:14:48 Then Status code on GET http://127.0.0.1:8010/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:144 2896s Mar 16 02:14:48 And postgres-1 is replicating from postgres-2 after 32 seconds # features/steps/standby_cluster.py:52 2898s Mar 16 02:14:50 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 2898s Mar 16 02:14:50 2898s Mar 16 02:14:50 Scenario: check failover # features/standby_cluster.feature:63 2898s Mar 16 02:14:50 When I kill postgres-2 # features/steps/basic_replication.py:46 2899s Mar 16 02:14:51 And I kill postmaster on postgres-2 # features/steps/basic_replication.py:56 2899s Mar 16 02:14:51 waiting for server to shut down.... done 2899s Mar 16 02:14:51 server stopped 2899s Mar 16 02:14:51 Then postgres-1 is replicating from postgres-0 after 32 seconds # features/steps/standby_cluster.py:52 2918s Mar 16 02:15:10 And Status code on GET http://127.0.0.1:8009/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:144 2918s Mar 16 02:15:10 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:63 2918s Mar 16 02:15:10 Then I receive a response code 503 # features/steps/patroni_api.py:100 2918s Mar 16 02:15:10 And I receive a response role standby_leader # features/steps/patroni_api.py:100 2918s Mar 16 02:15:10 And replication works from postgres-0 to postgres-1 after 15 seconds # features/steps/basic_replication.py:124 2919s Mar 16 02:15:11 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 2933s Mar 16 02:15:25 2933s Mar 16 02:15:25 Feature: watchdog # features/watchdog.feature:1 2933s Mar 16 02:15:25 Verify that watchdog gets pinged and triggered under appropriate circumstances. 2933s Mar 16 02:15:25 Scenario: watchdog is opened and pinged # features/watchdog.feature:4 2933s Mar 16 02:15:25 Given I start postgres-0 with watchdog # features/steps/watchdog.py:17 2943s Mar 16 02:15:35 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 2943s Mar 16 02:15:35 And postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 2943s Mar 16 02:15:35 And postgres-0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:22 2943s Mar 16 02:15:35 And postgres-0 watchdog has a 15 second timeout # features/steps/watchdog.py:35 2943s Mar 16 02:15:35 2943s Mar 16 02:15:35 Scenario: watchdog is reconfigured after global ttl changed # features/watchdog.feature:11 2943s Mar 16 02:15:35 Given I run patronictl.py edit-config batman -s ttl=30 --force # features/steps/patroni_api.py:88 2944s Mar 16 02:15:36 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 2944s Mar 16 02:15:36 And I receive a response output "+ttl: 30" # features/steps/patroni_api.py:100 2944s Mar 16 02:15:36 When I sleep for 4 seconds # features/steps/patroni_api.py:41 2948s Mar 16 02:15:40 Then postgres-0 watchdog has a 25 second timeout # features/steps/watchdog.py:35 2948s Mar 16 02:15:40 2948s Mar 16 02:15:40 Scenario: watchdog is disabled during pause # features/watchdog.feature:18 2948s Mar 16 02:15:40 Given I run patronictl.py pause batman # features/steps/patroni_api.py:88 2949s Mar 16 02:15:41 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 2949s Mar 16 02:15:41 When I sleep for 2 seconds # features/steps/patroni_api.py:41 2951s Mar 16 02:15:43 Then postgres-0 watchdog has been closed # features/steps/watchdog.py:30 2951s Mar 16 02:15:43 2951s Mar 16 02:15:43 Scenario: watchdog is opened and pinged after resume # features/watchdog.feature:24 2951s Mar 16 02:15:43 Given I reset postgres-0 watchdog state # features/steps/watchdog.py:40 2951s Mar 16 02:15:43 And I run patronictl.py resume batman # features/steps/patroni_api.py:88 2953s Mar 16 02:15:45 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 2953s Mar 16 02:15:45 And postgres-0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:22 2953s Mar 16 02:15:45 2953s Mar 16 02:15:45 Scenario: watchdog is disabled when shutting down # features/watchdog.feature:30 2953s Mar 16 02:15:45 Given I shut down postgres-0 # features/steps/basic_replication.py:41 2955s Mar 16 02:15:47 Then postgres-0 watchdog has been closed # features/steps/watchdog.py:30 2955s Mar 16 02:15:47 2955s Mar 16 02:15:47 Scenario: watchdog is triggered if patroni stops responding # features/watchdog.feature:34 2955s Mar 16 02:15:47 Given I reset postgres-0 watchdog state # features/steps/watchdog.py:40 2955s Mar 16 02:15:47 And I start postgres-0 with watchdog # features/steps/watchdog.py:17 2958s Mar 16 02:15:50 Then postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 2960s Mar 16 02:15:52 When postgres-0 hangs for 30 seconds # features/steps/watchdog.py:53 2960s Mar 16 02:15:52 Then postgres-0 watchdog is triggered after 30 seconds # features/steps/watchdog.py:45 2997s Mar 16 02:16:29 2999s Mar 16 02:16:31 Combined data file .coverage.autopkgtest-lxd-jegsjy.3178.XFjUUWjx 2999s Mar 16 02:16:31 Combined data file .coverage.autopkgtest-lxd-jegsjy.3181.XnnyMfHx 2999s Mar 16 02:16:31 Combined data file .coverage.autopkgtest-lxd-jegsjy.3226.XNgRBpfx 2999s Mar 16 02:16:31 Combined data file .coverage.autopkgtest-lxd-jegsjy.3265.XnsKDgTx 2999s Mar 16 02:16:31 Combined data file .coverage.autopkgtest-lxd-jegsjy.3322.XtgPSRQx 2999s Mar 16 02:16:31 Combined data file .coverage.autopkgtest-lxd-jegsjy.3369.XwAcXPkx 2999s Mar 16 02:16:31 Combined data file .coverage.autopkgtest-lxd-jegsjy.3442.XBpgwBEx 2999s Mar 16 02:16:31 Combined data file .coverage.autopkgtest-lxd-jegsjy.3491.XmLxszPx 2999s Mar 16 02:16:31 Combined data file .coverage.autopkgtest-lxd-jegsjy.3495.XPJahDsx 2999s Mar 16 02:16:31 Combined data file .coverage.autopkgtest-lxd-jegsjy.3576.XpQtBHnx 2999s Mar 16 02:16:31 Combined data file .coverage.autopkgtest-lxd-jegsjy.3683.XybAyukx 2999s Mar 16 02:16:31 Combined data file .coverage.autopkgtest-lxd-jegsjy.3687.XKadRSMx 2999s Mar 16 02:16:31 Combined data file .coverage.autopkgtest-lxd-jegsjy.3731.XCoossMx 2999s Mar 16 02:16:31 Combined data file .coverage.autopkgtest-lxd-jegsjy.3779.XytIMECx 2999s Mar 16 02:16:31 Combined data file .coverage.autopkgtest-lxd-jegsjy.3896.XQWdYxtx 2999s Mar 16 02:16:31 Skipping duplicate data .coverage.autopkgtest-lxd-jegsjy.3900.XNFeldzx 2999s Mar 16 02:16:31 Combined data file .coverage.autopkgtest-lxd-jegsjy.3903.XVEwIhvx 2999s Mar 16 02:16:31 Combined data file .coverage.autopkgtest-lxd-jegsjy.3949.XUJnscYx 2999s Mar 16 02:16:31 Combined data file .coverage.autopkgtest-lxd-jegsjy.4005.XPpXnkqx 2999s Mar 16 02:16:31 Combined data file .coverage.autopkgtest-lxd-jegsjy.4099.XDTXARux 2999s Mar 16 02:16:31 Combined data file .coverage.autopkgtest-lxd-jegsjy.4102.XwBgFhnx 2999s Mar 16 02:16:31 Combined data file .coverage.autopkgtest-lxd-jegsjy.4434.XqyPUlLx 2999s Mar 16 02:16:31 Combined data file .coverage.autopkgtest-lxd-jegsjy.4509.XlQHDvkx 2999s Mar 16 02:16:31 Combined data file .coverage.autopkgtest-lxd-jegsjy.4567.XERWvmXx 2999s Mar 16 02:16:31 Skipping duplicate data .coverage.autopkgtest-lxd-jegsjy.4851.XIZitObx 2999s Mar 16 02:16:31 Combined data file .coverage.autopkgtest-lxd-jegsjy.4854.XVrGZrcx 2999s Mar 16 02:16:31 Combined data file .coverage.autopkgtest-lxd-jegsjy.4907.XNOKUllx 2999s Mar 16 02:16:31 Combined data file .coverage.autopkgtest-lxd-jegsjy.4970.XvpzrwHx 2999s Mar 16 02:16:31 Combined data file .coverage.autopkgtest-lxd-jegsjy.5062.XxazaAhx 2999s Mar 16 02:16:31 Combined data file .coverage.autopkgtest-lxd-jegsjy.5160.XCWqFuMx 2999s Mar 16 02:16:31 Combined data file .coverage.autopkgtest-lxd-jegsjy.5163.XQroMXCx 2999s Mar 16 02:16:31 Combined data file .coverage.autopkgtest-lxd-jegsjy.5207.XmQHFPkx 2999s Mar 16 02:16:31 Combined data file .coverage.autopkgtest-lxd-jegsjy.5274.XSKGfbwx 2999s Mar 16 02:16:31 Combined data file .coverage.autopkgtest-lxd-jegsjy.5332.XTiPQDRx 2999s Mar 16 02:16:31 Skipping duplicate data .coverage.autopkgtest-lxd-jegsjy.5443.XkMERKix 2999s Mar 16 02:16:31 Combined data file .coverage.autopkgtest-lxd-jegsjy.5447.XNnIjxxx 2999s Mar 16 02:16:31 Combined data file .coverage.autopkgtest-lxd-jegsjy.5497.XswlXVix 2999s Mar 16 02:16:31 Combined data file .coverage.autopkgtest-lxd-jegsjy.5513.XDZYrrYx 2999s Mar 16 02:16:31 Combined data file .coverage.autopkgtest-lxd-jegsjy.5553.XYEDYRJx 2999s Mar 16 02:16:31 Combined data file .coverage.autopkgtest-lxd-jegsjy.5601.XsUgONKx 2999s Mar 16 02:16:31 Combined data file .coverage.autopkgtest-lxd-jegsjy.5607.XDfKytkx 2999s Mar 16 02:16:31 Combined data file .coverage.autopkgtest-lxd-jegsjy.5646.XeqYIYmx 2999s Mar 16 02:16:31 Combined data file .coverage.autopkgtest-lxd-jegsjy.5692.XzADeCsx 2999s Mar 16 02:16:31 Combined data file .coverage.autopkgtest-lxd-jegsjy.5866.XesAfEDx 2999s Mar 16 02:16:31 Combined data file .coverage.autopkgtest-lxd-jegsjy.5869.XFTwxPKx 2999s Mar 16 02:16:31 Combined data file .coverage.autopkgtest-lxd-jegsjy.5876.XZlxJJox 2999s Mar 16 02:16:31 Skipping duplicate data .coverage.autopkgtest-lxd-jegsjy.6010.XUrCbgVx 2999s Mar 16 02:16:31 Combined data file .coverage.autopkgtest-lxd-jegsjy.6013.XNueIYVx 2999s Mar 16 02:16:31 Combined data file .coverage.autopkgtest-lxd-jegsjy.6060.XaRxuTZx 2999s Mar 16 02:16:31 Combined data file .coverage.autopkgtest-lxd-jegsjy.6102.XQGJQwlx 2999s Mar 16 02:16:31 Combined data file .coverage.autopkgtest-lxd-jegsjy.6154.XTDhWOjx 2999s Mar 16 02:16:31 Skipping duplicate data .coverage.autopkgtest-lxd-jegsjy.6191.XBAiLhux 2999s Mar 16 02:16:31 Combined data file .coverage.autopkgtest-lxd-jegsjy.6357.XqZtGxcx 2999s Mar 16 02:16:31 Skipping duplicate data .coverage.autopkgtest-lxd-jegsjy.6439.XsQwdBSx 2999s Mar 16 02:16:31 Combined data file .coverage.autopkgtest-lxd-jegsjy.6442.XKkUrCvx 2999s Mar 16 02:16:31 Combined data file .coverage.autopkgtest-lxd-jegsjy.6484.XGQwIBpx 2999s Mar 16 02:16:31 Combined data file .coverage.autopkgtest-lxd-jegsjy.6558.XVtbWNyx 2999s Mar 16 02:16:31 Combined data file .coverage.autopkgtest-lxd-jegsjy.6645.XPrapUFx 2999s Mar 16 02:16:31 Combined data file .coverage.autopkgtest-lxd-jegsjy.6705.XYCiPOrx 2999s Mar 16 02:16:31 Skipping duplicate data .coverage.autopkgtest-lxd-jegsjy.7021.XvDbTgix 2999s Mar 16 02:16:31 Combined data file .coverage.autopkgtest-lxd-jegsjy.7024.XRkpFtqx 2999s Mar 16 02:16:31 Combined data file .coverage.autopkgtest-lxd-jegsjy.7075.XHebOdIx 2999s Mar 16 02:16:31 Combined data file .coverage.autopkgtest-lxd-jegsjy.7139.XpDJYaOx 2999s Mar 16 02:16:31 Combined data file .coverage.autopkgtest-lxd-jegsjy.7229.XHlFAUAx 2999s Mar 16 02:16:31 Combined data file .coverage.autopkgtest-lxd-jegsjy.7278.XSiviIJx 2999s Mar 16 02:16:31 Combined data file .coverage.autopkgtest-lxd-jegsjy.7334.XeSVYvPx 2999s Mar 16 02:16:31 Combined data file .coverage.autopkgtest-lxd-jegsjy.7379.XutigABx 2999s Mar 16 02:16:31 Skipping duplicate data .coverage.autopkgtest-lxd-jegsjy.7418.Xfyeslux 2999s Mar 16 02:16:31 Combined data file .coverage.autopkgtest-lxd-jegsjy.7421.XLSYisRx 2999s Mar 16 02:16:31 Combined data file .coverage.autopkgtest-lxd-jegsjy.7465.XLcuHyEx 2999s Mar 16 02:16:31 Combined data file .coverage.autopkgtest-lxd-jegsjy.7700.XtLUBTIx 2999s Mar 16 02:16:31 Combined data file .coverage.autopkgtest-lxd-jegsjy.7703.XrvxtySx 2999s Mar 16 02:16:31 Combined data file .coverage.autopkgtest-lxd-jegsjy.7768.XDpKAKax 2999s Mar 16 02:16:31 Combined data file .coverage.autopkgtest-lxd-jegsjy.7822.XLEoWSTx 2999s Mar 16 02:16:31 Combined data file .coverage.autopkgtest-lxd-jegsjy.7926.XOjgsRyx 2999s Mar 16 02:16:31 Combined data file .coverage.autopkgtest-lxd-jegsjy.8046.XkdLnWNx 2999s Mar 16 02:16:31 Combined data file .coverage.autopkgtest-lxd-jegsjy.8179.XhikrTux 2999s Mar 16 02:16:31 Combined data file .coverage.autopkgtest-lxd-jegsjy.8183.XqRGauWx 2999s Mar 16 02:16:31 Combined data file .coverage.autopkgtest-lxd-jegsjy.8227.XcZAdwox 2999s Mar 16 02:16:31 Skipping duplicate data .coverage.autopkgtest-lxd-jegsjy.8230.XMHgvzvx 2999s Mar 16 02:16:31 Combined data file .coverage.autopkgtest-lxd-jegsjy.8234.XInapuix 2999s Mar 16 02:16:31 Combined data file .coverage.autopkgtest-lxd-jegsjy.8246.XkDXAFAx 2999s Mar 16 02:16:31 Skipping duplicate data .coverage.autopkgtest-lxd-jegsjy.8316.XkclfmAx 3002s Mar 16 02:16:34 Name Stmts Miss Cover 3002s Mar 16 02:16:34 ---------------------------------------------------------------------------------------------------------- 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 101 96 5% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/cryptography/__about__.py 5 0 100% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/cryptography/__init__.py 3 0 100% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/cryptography/exceptions.py 26 5 81% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/cryptography/fernet.py 137 54 61% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/cryptography/hazmat/__init__.py 2 0 100% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/cryptography/hazmat/_oid.py 135 0 100% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/__init__.py 5 0 100% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/__init__.py 3 0 100% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/backend.py 135 67 50% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/__init__.py 0 0 100% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/__init__.py 0 0 100% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/_conditional.py 38 17 55% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/binding.py 51 4 92% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/__init__.py 1 0 100% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/ciphers/__init__.py 1 0 100% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/ciphers/algorithms.py 68 18 74% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/__init__.py 0 0 100% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_asymmetric.py 6 0 100% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_cipheralgorithm.py 23 1 96% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_serialization.py 79 35 56% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/__init__.py 0 0 100% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ec.py 172 22 87% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/padding.py 55 23 58% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/rsa.py 93 40 57% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/utils.py 14 5 64% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/__init__.py 4 0 100% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/algorithms.py 72 13 82% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/base.py 54 3 94% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/modes.py 140 50 64% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/constant_time.py 6 3 50% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hashes.py 127 20 84% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hmac.py 6 0 100% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/kdf/__init__.py 7 0 100% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/kdf/pbkdf2.py 27 5 81% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/padding.py 104 37 64% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/cryptography/utils.py 76 25 67% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/dateutil/__init__.py 13 4 69% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/dateutil/_version.py 11 2 82% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 810 436 46% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 183 150 18% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 240 206 14% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 151 114 25% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 794 626 21% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/dateutil/tz/win.py 152 149 2% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/patroni/__main__.py 201 66 67% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/patroni/api.py 788 292 63% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 15 84% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/patroni/collections.py 56 5 91% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/patroni/config.py 357 88 75% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/patroni/config_generator.py 212 159 25% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/patroni/daemon.py 76 3 96% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 710 99 86% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/patroni/dcs/raft.py 319 43 87% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/patroni/dynamic_loader.py 35 7 80% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/patroni/file_perm.py 47 10 79% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/patroni/global_config.py 87 0 100% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/patroni/ha.py 1359 313 77% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/patroni/log.py 235 79 66% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 825 170 79% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/patroni/postgresql/available_parameters/__init__.py 24 3 88% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 254 60 76% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 840 218 74% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 1 99% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 43 8 81% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/patroni/postgresql/mpp/__init__.py 89 11 88% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 83 51% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 416 128 69% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 349 38 89% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 154 10 94% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 157 24 85% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/patroni/psycopg.py 46 19 59% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/patroni/quorum.py 182 48 74% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/patroni/request.py 58 6 90% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/patroni/tags.py 38 0 100% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/patroni/utils.py 371 122 67% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/patroni/validator.py 309 215 30% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 42 79% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 35 74% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/psutil/__init__.py 950 629 34% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/psutil/_common.py 422 212 50% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/psutil/_compat.py 301 263 13% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1250 922 26% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/psutil/_psposix.py 95 38 60% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/pysyncobj/__init__.py 2 0 100% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/pysyncobj/atomic_replace.py 4 0 100% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/pysyncobj/config.py 80 1 99% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/pysyncobj/dns_resolver.py 51 10 80% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/pysyncobj/encryptor.py 17 2 88% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/pysyncobj/fast_queue.py 21 1 95% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/pysyncobj/journal.py 193 37 81% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/pysyncobj/monotonic.py 76 70 8% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/pysyncobj/node.py 49 10 80% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/pysyncobj/pickle.py 52 32 38% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/pysyncobj/pipe_notifier.py 24 2 92% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/pysyncobj/poller.py 87 41 53% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/pysyncobj/serializer.py 166 133 20% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/pysyncobj/syncobj.py 1045 492 53% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/pysyncobj/tcp_connection.py 250 35 86% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/pysyncobj/tcp_server.py 56 12 79% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/pysyncobj/transport.py 266 57 79% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/pysyncobj/utility.py 59 7 88% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/pysyncobj/version.py 1 0 100% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/pysyncobj/win_inet_pton.py 44 31 30% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/urllib3/__init__.py 49 15 69% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 63 45 29% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/urllib3/_collections.py 231 104 55% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 54 16 70% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/urllib3/_version.py 11 2 82% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/urllib3/connection.py 389 143 63% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 344 130 62% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/urllib3/exceptions.py 121 39 68% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/urllib3/http2/__init__.py 28 21 25% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/urllib3/http2/probe.py 49 31 37% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 88 62% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/urllib3/response.py 634 395 38% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 9 86% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 49 53% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 17 47% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/urllib3/util/retry.py 174 50 71% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 172 73 58% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 152 106 30% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 19 73% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/urllib3/util/url.py 203 76 63% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 9 65% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 38 22% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/yaml/parser.py 352 180 49% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/yaml/reader.py 122 30 75% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/yaml/scanner.py 758 415 45% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 3002s Mar 16 02:16:34 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 3002s Mar 16 02:16:34 patroni/__init__.py 13 2 85% 3002s Mar 16 02:16:34 patroni/__main__.py 201 201 0% 3002s Mar 16 02:16:34 patroni/api.py 788 788 0% 3002s Mar 16 02:16:34 patroni/async_executor.py 96 69 28% 3002s Mar 16 02:16:34 patroni/collections.py 56 15 73% 3002s Mar 16 02:16:34 patroni/config.py 357 179 50% 3002s Mar 16 02:16:34 patroni/config_generator.py 212 212 0% 3002s Mar 16 02:16:34 patroni/ctl.py 936 395 58% 3002s Mar 16 02:16:34 patroni/daemon.py 76 6 92% 3002s Mar 16 02:16:34 patroni/dcs/__init__.py 710 316 55% 3002s Mar 16 02:16:34 patroni/dcs/consul.py 482 482 0% 3002s Mar 16 02:16:34 patroni/dcs/etcd3.py 679 679 0% 3002s Mar 16 02:16:34 patroni/dcs/etcd.py 603 603 0% 3002s Mar 16 02:16:34 patroni/dcs/exhibitor.py 62 62 0% 3002s Mar 16 02:16:34 patroni/dcs/kubernetes.py 943 943 0% 3002s Mar 16 02:16:34 patroni/dcs/raft.py 319 74 77% 3002s Mar 16 02:16:34 patroni/dcs/zookeeper.py 289 289 0% 3002s Mar 16 02:16:34 patroni/dynamic_loader.py 35 7 80% 3002s Mar 16 02:16:34 patroni/exceptions.py 16 1 94% 3002s Mar 16 02:16:34 patroni/file_perm.py 47 17 64% 3002s Mar 16 02:16:34 patroni/global_config.py 87 19 78% 3002s Mar 16 02:16:34 patroni/ha.py 1359 1359 0% 3002s Mar 16 02:16:34 patroni/log.py 235 103 56% 3002s Mar 16 02:16:34 patroni/postgresql/__init__.py 825 653 21% 3002s Mar 16 02:16:34 patroni/postgresql/available_parameters/__init__.py 24 3 88% 3002s Mar 16 02:16:34 patroni/postgresql/bootstrap.py 254 224 12% 3002s Mar 16 02:16:34 patroni/postgresql/callback_executor.py 55 34 38% 3002s Mar 16 02:16:34 patroni/postgresql/cancellable.py 104 84 19% 3002s Mar 16 02:16:34 patroni/postgresql/config.py 840 720 14% 3002s Mar 16 02:16:34 patroni/postgresql/connection.py 75 50 33% 3002s Mar 16 02:16:34 patroni/postgresql/misc.py 43 30 30% 3002s Mar 16 02:16:34 patroni/postgresql/mpp/__init__.py 89 21 76% 3002s Mar 16 02:16:34 patroni/postgresql/mpp/citus.py 366 366 0% 3002s Mar 16 02:16:34 patroni/postgresql/postmaster.py 170 139 18% 3002s Mar 16 02:16:34 patroni/postgresql/rewind.py 416 416 0% 3002s Mar 16 02:16:34 patroni/postgresql/slots.py 349 300 14% 3002s Mar 16 02:16:34 patroni/postgresql/sync.py 154 114 26% 3002s Mar 16 02:16:34 patroni/postgresql/validator.py 157 52 67% 3002s Mar 16 02:16:34 patroni/psycopg.py 46 32 30% 3002s Mar 16 02:16:34 patroni/quorum.py 182 182 0% 3002s Mar 16 02:16:34 patroni/raft_controller.py 22 1 95% 3002s Mar 16 02:16:34 patroni/request.py 58 6 90% 3002s Mar 16 02:16:34 patroni/scripts/__init__.py 0 0 100% 3002s Mar 16 02:16:34 patroni/scripts/aws.py 59 59 0% 3002s Mar 16 02:16:34 patroni/scripts/barman/__init__.py 0 0 100% 3002s Mar 16 02:16:34 patroni/scripts/barman/cli.py 50 50 0% 3002s Mar 16 02:16:34 patroni/scripts/barman/config_switch.py 50 50 0% 3002s Mar 16 02:16:34 patroni/scripts/barman/recover.py 36 36 0% 3002s Mar 16 02:16:34 patroni/scripts/barman/utils.py 93 93 0% 3002s Mar 16 02:16:34 patroni/scripts/wale_restore.py 207 207 0% 3002s Mar 16 02:16:34 patroni/tags.py 38 11 71% 3002s Mar 16 02:16:34 patroni/utils.py 371 232 37% 3002s Mar 16 02:16:34 patroni/validator.py 309 222 28% 3002s Mar 16 02:16:34 patroni/version.py 1 0 100% 3002s Mar 16 02:16:34 patroni/watchdog/__init__.py 2 2 0% 3002s Mar 16 02:16:34 patroni/watchdog/base.py 203 203 0% 3002s Mar 16 02:16:34 patroni/watchdog/linux.py 135 135 0% 3002s Mar 16 02:16:34 ---------------------------------------------------------------------------------------------------------- 3002s Mar 16 02:16:34 TOTAL 41226 23437 43% 3002s Mar 16 02:16:34 13 features passed, 0 failed, 1 skipped 3002s Mar 16 02:16:34 63 scenarios passed, 0 failed, 6 skipped 3002s Mar 16 02:16:34 597 steps passed, 0 failed, 70 skipped, 0 undefined 3002s Mar 16 02:16:34 Took 9m50.959s 3002s + bash -c 'rm -rf features/output' 3002s ### End 17 acceptance-raft ### 3002s + echo '### End 17 acceptance-raft ###' 3002s + rm -f /tmp/pgpass_postgres-0 /tmp/pgpass_postgres-1 /tmp/pgpass_postgres-2 /tmp/pgpass_postgres-3 3002s ++ id -u 3002s + '[' 1000 -eq 0 ']' 3002s autopkgtest [02:16:34]: test acceptance-raft: -----------------------] 3006s acceptance-raft PASS 3006s autopkgtest [02:16:38]: test acceptance-raft: - - - - - - - - - - results - - - - - - - - - - 3010s autopkgtest [02:16:42]: @@@@@@@@@@@@@@@@@@@@ summary 3010s test PASS 3010s acceptance-etcd3-basic PASS 3010s acceptance-etcd3 PASS 3010s acceptance-etcd FAIL non-zero exit status 1 3010s acceptance-zookeeper PASS 3010s acceptance-raft PASS