0s autopkgtest [09:27:03]: starting date and time: 2025-04-14 09:27:03+0000 0s autopkgtest [09:27:03]: git checkout: 325255d2 Merge branch 'pin-any-arch' into 'ubuntu/production' 0s autopkgtest [09:27:03]: host juju-7f2275-prod-proposed-migration-environment-2; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.j05qmh6n/out --timeout-copy=6000 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --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 -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-2@bos03-arm64-55.secgroup --name adt-plucky-arm64-patroni-20250414-092703-juju-7f2275-prod-proposed-migration-environment-2-50f70473-7be5-44d2-a8a9-290372098fac --image adt/ubuntu-plucky-arm64-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-2 --net-id=net_prod-proposed-migration -e TERM=linux --mirror=http://ftpmaster.internal/ubuntu/ 133s autopkgtest [09:29:16]: testbed dpkg architecture: arm64 133s autopkgtest [09:29:16]: testbed apt version: 3.0.0 134s autopkgtest [09:29:17]: @@@@@@@@@@@@@@@@@@@@ test bed setup 134s autopkgtest [09:29:17]: testbed release detected to be: None 135s autopkgtest [09:29:18]: updating testbed package index (apt update) 135s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [265 kB] 135s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 135s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 136s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 136s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [9948 B] 136s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [204 kB] 136s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [5192 B] 136s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 Packages [3176 B] 136s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 c-n-f Metadata [252 B] 136s Get:10 http://ftpmaster.internal/ubuntu plucky-proposed/restricted arm64 c-n-f Metadata [224 B] 136s Get:11 http://ftpmaster.internal/ubuntu plucky-proposed/universe arm64 Packages [129 kB] 136s Get:12 http://ftpmaster.internal/ubuntu plucky-proposed/universe arm64 c-n-f Metadata [8288 B] 136s Get:13 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse arm64 Packages [2004 B] 136s Get:14 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse arm64 c-n-f Metadata [324 B] 137s Fetched 628 kB in 1s (761 kB/s) 138s Reading package lists... 139s autopkgtest [09:29:22]: upgrading testbed (apt dist-upgrade and autopurge) 139s Reading package lists... 139s Building dependency tree... 139s Reading state information... 140s Calculating upgrade...Starting pkgProblemResolver with broken count: 0 140s Starting 2 pkgProblemResolver with broken count: 0 140s Done 140s Entering ResolveByKeep 141s 141s Calculating upgrade... 141s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 141s Reading package lists... 142s Building dependency tree... 142s Reading state information... 142s Starting pkgProblemResolver with broken count: 0 142s Starting 2 pkgProblemResolver with broken count: 0 142s Done 142s Solving dependencies... 143s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 146s autopkgtest [09:29:29]: testbed running kernel: Linux 6.14.0-15-generic #15-Ubuntu SMP PREEMPT_DYNAMIC Sun Apr 6 14:37:51 UTC 2025 146s autopkgtest [09:29:29]: @@@@@@@@@@@@@@@@@@@@ apt-source patroni 148s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed/universe patroni 4.0.4-8 (dsc) [2870 B] 148s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/universe patroni 4.0.4-8 (tar) [1205 kB] 148s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/universe patroni 4.0.4-8 (diff) [28.2 kB] 148s gpgv: Signature made Fri Mar 14 13:47:44 2025 UTC 148s gpgv: using RSA key 9CA877749FAB2E4FA96862ECDC686A27B43481B0 148s gpgv: Can't check signature: No public key 148s dpkg-source: warning: cannot verify inline signature for ./patroni_4.0.4-8.dsc: no acceptable signature found 149s autopkgtest [09:29:32]: testing package patroni version 4.0.4-8 149s autopkgtest [09:29:32]: build not needed 151s autopkgtest [09:29:34]: test test: preparing testbed 151s Reading package lists... 151s Building dependency tree... 151s Reading state information... 152s Starting pkgProblemResolver with broken count: 0 152s Starting 2 pkgProblemResolver with broken count: 0 152s Done 152s The following NEW packages will be installed: 152s fonts-font-awesome fonts-lato libcares2 libev4t64 libjs-jquery 152s libjs-jquery-hotkeys libjs-jquery-isonscreen libjs-jquery-metadata 152s libjs-jquery-tablesorter libjs-jquery-throttle-debounce libjs-sphinxdoc 152s libjs-underscore libpq5 patroni patroni-doc python3-aiohappyeyeballs 152s python3-aiohttp python3-aiosignal python3-async-timeout python3-boto3 152s python3-botocore python3-cachetools python3-click python3-consul 152s python3-coverage python3-dateutil python3-dnspython python3-etcd 152s python3-eventlet python3-flake8 python3-frozenlist python3-gevent 152s python3-google-auth python3-greenlet python3-iniconfig python3-jmespath 152s python3-kazoo python3-kerberos python3-kubernetes python3-mccabe 152s python3-mock python3-multidict python3-packaging python3-pluggy 152s python3-prettytable python3-psutil python3-psycopg2 python3-pure-sasl 152s python3-pyasn1 python3-pyasn1-modules python3-pycodestyle python3-pyflakes 152s python3-pysyncobj python3-pytest python3-pytest-cov python3-pyu2f 152s python3-requests-oauthlib python3-responses python3-rsa python3-s3transfer 152s python3-six python3-wcwidth python3-websocket python3-yarl python3-ydiff 152s python3-zope.event python3-zope.interface sphinx-rtd-theme-common 153s 0 upgraded, 68 newly installed, 0 to remove and 0 not upgraded. 153s Need to get 17.6 MB of archives. 153s After this operation, 170 MB of additional disk space will be used. 153s Get:1 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-lato all 2.015-1 [2781 kB] 154s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 154s Get:3 http://ftpmaster.internal/ubuntu plucky/main arm64 libcares2 arm64 1.34.4-2.1 [100 kB] 154s Get:4 http://ftpmaster.internal/ubuntu plucky/universe arm64 libev4t64 arm64 1:4.33-2.1build1 [30.5 kB] 154s Get:5 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 154s Get:6 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjs-jquery-metadata all 12-4 [6582 B] 154s Get:7 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjs-jquery-tablesorter all 1:2.31.3+dfsg1-4 [192 kB] 154s Get:8 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjs-jquery-throttle-debounce all 1.1+dfsg.1-2 [12.5 kB] 154s Get:9 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 154s Get:10 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-sphinxdoc all 8.1.3-5 [31.0 kB] 154s Get:11 http://ftpmaster.internal/ubuntu plucky/main arm64 libpq5 arm64 17.4-1 [142 kB] 154s Get:12 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-click all 8.2.0+0.really.8.1.8-1 [80.0 kB] 154s Get:13 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-dateutil all 2.9.0-4 [80.3 kB] 154s Get:14 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 154s Get:15 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-prettytable all 3.12.0-1 [36.5 kB] 154s Get:16 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-psutil arm64 5.9.8-2build3 [196 kB] 154s Get:17 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-ydiff all 1.4.2-1 [19.0 kB] 154s Get:18 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-psycopg2 arm64 2.9.10-1build1 [133 kB] 154s Get:19 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-dnspython all 2.7.0-1ubuntu1 [167 kB] 154s Get:20 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-etcd all 0.4.5-6 [32.1 kB] 154s Get:21 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-consul all 1.5.1+dfsg-1 [21.7 kB] 154s Get:22 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-greenlet arm64 3.1.0-1build1 [160 kB] 154s Get:23 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-eventlet all 0.39.0-0ubuntu1 [277 kB] 154s Get:24 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-zope.event all 5.0-0.1 [7512 B] 154s Get:25 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-zope.interface arm64 7.2-1build1 [141 kB] 154s Get:26 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-gevent arm64 24.11.1-1build1 [847 kB] 155s Get:27 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-kerberos arm64 1.1.14-3.1build11 [21.2 kB] 155s Get:28 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pure-sasl all 0.5.1+dfsg1-5 [11.4 kB] 155s Get:29 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-six all 1.17.0-1 [13.2 kB] 155s Get:30 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-kazoo all 2.9.0-2 [103 kB] 155s Get:31 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-multidict arm64 6.2.0-2 [35.4 kB] 155s Get:32 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-yarl arm64 1.13.1-1build2 [93.8 kB] 155s Get:33 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-async-timeout all 5.0.1-1 [6830 B] 155s Get:34 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-aiohappyeyeballs all 2.6.1-1 [11.1 kB] 155s Get:35 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-frozenlist arm64 1.5.0-1build2 [48.2 kB] 155s Get:36 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-aiosignal all 1.3.2-1 [5182 B] 155s Get:37 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-aiohttp arm64 3.10.11-1build1 [298 kB] 155s Get:38 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-cachetools all 5.3.3-1 [10.3 kB] 155s Get:39 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-pyasn1 all 0.6.1-1 [56.4 kB] 155s Get:40 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-pyasn1-modules all 0.4.1-2 [80.3 kB] 155s Get:41 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pyu2f all 0.1.5-4 [22.9 kB] 155s Get:42 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-responses all 0.25.6-1 [40.5 kB] 155s Get:43 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-rsa all 4.9-2 [28.2 kB] 155s Get:44 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-google-auth all 2.28.2-3 [91.0 kB] 155s Get:45 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-requests-oauthlib all 1.3.1-1 [18.8 kB] 155s Get:46 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-websocket all 1.8.0-2 [38.5 kB] 155s Get:47 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-kubernetes all 30.1.0-2 [385 kB] 155s Get:48 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pysyncobj all 0.3.14-2 [61.9 kB] 155s Get:49 http://ftpmaster.internal/ubuntu plucky-proposed/universe arm64 patroni all 4.0.4-8 [282 kB] 155s Get:50 http://ftpmaster.internal/ubuntu plucky/main arm64 sphinx-rtd-theme-common all 3.0.2+dfsg-2 [1014 kB] 155s Get:51 http://ftpmaster.internal/ubuntu plucky-proposed/universe arm64 patroni-doc all 4.0.4-8 [526 kB] 155s Get:52 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-jmespath all 1.0.1-1 [21.3 kB] 155s Get:53 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-botocore all 1.37.9+repack-1 [6982 kB] 156s Get:54 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-s3transfer all 0.11.2-2 [55.5 kB] 156s Get:55 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-boto3 all 1.37.9-1 [73.0 kB] 156s Get:56 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-coverage arm64 7.6.0+dfsg1-2build1 [153 kB] 156s Get:57 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-mccabe all 0.7.0-1 [8678 B] 156s Get:58 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pycodestyle all 2.12.1-2 [30.2 kB] 156s Get:59 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pyflakes all 3.2.0-3 [53.0 kB] 156s Get:60 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-flake8 all 7.1.1-3 [44.0 kB] 156s Get:61 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-iniconfig all 1.1.1-2 [6024 B] 156s Get:62 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-packaging all 24.2-1 [51.5 kB] 156s Get:63 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pluggy all 1.5.0-1 [21.0 kB] 156s Get:64 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pytest all 8.3.5-1 [252 kB] 156s Get:65 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjs-jquery-hotkeys all 0.2.0-1 [13.3 kB] 156s Get:66 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjs-jquery-isonscreen all 1.2.0-1.1 [3244 B] 156s Get:67 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pytest-cov all 5.0.0-1 [21.3 kB] 156s Get:68 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-mock all 5.1.0-1 [64.1 kB] 156s Fetched 17.6 MB in 3s (5392 kB/s) 156s Selecting previously unselected package fonts-lato. 157s (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 ... 117820 files and directories currently installed.) 157s Preparing to unpack .../00-fonts-lato_2.015-1_all.deb ... 157s Unpacking fonts-lato (2.015-1) ... 157s Selecting previously unselected package fonts-font-awesome. 157s Preparing to unpack .../01-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 157s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 157s Selecting previously unselected package libcares2:arm64. 157s Preparing to unpack .../02-libcares2_1.34.4-2.1_arm64.deb ... 157s Unpacking libcares2:arm64 (1.34.4-2.1) ... 157s Selecting previously unselected package libev4t64:arm64. 157s Preparing to unpack .../03-libev4t64_1%3a4.33-2.1build1_arm64.deb ... 157s Unpacking libev4t64:arm64 (1:4.33-2.1build1) ... 157s Selecting previously unselected package libjs-jquery. 157s Preparing to unpack .../04-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 157s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 157s Selecting previously unselected package libjs-jquery-metadata. 157s Preparing to unpack .../05-libjs-jquery-metadata_12-4_all.deb ... 157s Unpacking libjs-jquery-metadata (12-4) ... 157s Selecting previously unselected package libjs-jquery-tablesorter. 157s Preparing to unpack .../06-libjs-jquery-tablesorter_1%3a2.31.3+dfsg1-4_all.deb ... 157s Unpacking libjs-jquery-tablesorter (1:2.31.3+dfsg1-4) ... 157s Selecting previously unselected package libjs-jquery-throttle-debounce. 157s Preparing to unpack .../07-libjs-jquery-throttle-debounce_1.1+dfsg.1-2_all.deb ... 157s Unpacking libjs-jquery-throttle-debounce (1.1+dfsg.1-2) ... 157s Selecting previously unselected package libjs-underscore. 157s Preparing to unpack .../08-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 157s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 157s Selecting previously unselected package libjs-sphinxdoc. 157s Preparing to unpack .../09-libjs-sphinxdoc_8.1.3-5_all.deb ... 157s Unpacking libjs-sphinxdoc (8.1.3-5) ... 157s Selecting previously unselected package libpq5:arm64. 157s Preparing to unpack .../10-libpq5_17.4-1_arm64.deb ... 157s Unpacking libpq5:arm64 (17.4-1) ... 157s Selecting previously unselected package python3-click. 157s Preparing to unpack .../11-python3-click_8.2.0+0.really.8.1.8-1_all.deb ... 157s Unpacking python3-click (8.2.0+0.really.8.1.8-1) ... 157s Selecting previously unselected package python3-dateutil. 157s Preparing to unpack .../12-python3-dateutil_2.9.0-4_all.deb ... 157s Unpacking python3-dateutil (2.9.0-4) ... 157s Selecting previously unselected package python3-wcwidth. 157s Preparing to unpack .../13-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 157s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 157s Selecting previously unselected package python3-prettytable. 157s Preparing to unpack .../14-python3-prettytable_3.12.0-1_all.deb ... 157s Unpacking python3-prettytable (3.12.0-1) ... 157s Selecting previously unselected package python3-psutil. 157s Preparing to unpack .../15-python3-psutil_5.9.8-2build3_arm64.deb ... 157s Unpacking python3-psutil (5.9.8-2build3) ... 157s Selecting previously unselected package python3-ydiff. 157s Preparing to unpack .../16-python3-ydiff_1.4.2-1_all.deb ... 157s Unpacking python3-ydiff (1.4.2-1) ... 157s Selecting previously unselected package python3-psycopg2. 157s Preparing to unpack .../17-python3-psycopg2_2.9.10-1build1_arm64.deb ... 157s Unpacking python3-psycopg2 (2.9.10-1build1) ... 157s Selecting previously unselected package python3-dnspython. 157s Preparing to unpack .../18-python3-dnspython_2.7.0-1ubuntu1_all.deb ... 157s Unpacking python3-dnspython (2.7.0-1ubuntu1) ... 158s Selecting previously unselected package python3-etcd. 158s Preparing to unpack .../19-python3-etcd_0.4.5-6_all.deb ... 158s Unpacking python3-etcd (0.4.5-6) ... 158s Selecting previously unselected package python3-consul. 158s Preparing to unpack .../20-python3-consul_1.5.1+dfsg-1_all.deb ... 158s Unpacking python3-consul (1.5.1+dfsg-1) ... 158s Selecting previously unselected package python3-greenlet. 158s Preparing to unpack .../21-python3-greenlet_3.1.0-1build1_arm64.deb ... 158s Unpacking python3-greenlet (3.1.0-1build1) ... 158s Selecting previously unselected package python3-eventlet. 158s Preparing to unpack .../22-python3-eventlet_0.39.0-0ubuntu1_all.deb ... 158s Unpacking python3-eventlet (0.39.0-0ubuntu1) ... 158s Selecting previously unselected package python3-zope.event. 158s Preparing to unpack .../23-python3-zope.event_5.0-0.1_all.deb ... 158s Unpacking python3-zope.event (5.0-0.1) ... 158s Selecting previously unselected package python3-zope.interface. 158s Preparing to unpack .../24-python3-zope.interface_7.2-1build1_arm64.deb ... 158s Unpacking python3-zope.interface (7.2-1build1) ... 158s Selecting previously unselected package python3-gevent. 158s Preparing to unpack .../25-python3-gevent_24.11.1-1build1_arm64.deb ... 158s Unpacking python3-gevent (24.11.1-1build1) ... 158s Selecting previously unselected package python3-kerberos. 158s Preparing to unpack .../26-python3-kerberos_1.1.14-3.1build11_arm64.deb ... 158s Unpacking python3-kerberos (1.1.14-3.1build11) ... 158s Selecting previously unselected package python3-pure-sasl. 158s Preparing to unpack .../27-python3-pure-sasl_0.5.1+dfsg1-5_all.deb ... 158s Unpacking python3-pure-sasl (0.5.1+dfsg1-5) ... 158s Selecting previously unselected package python3-six. 158s Preparing to unpack .../28-python3-six_1.17.0-1_all.deb ... 158s Unpacking python3-six (1.17.0-1) ... 158s Selecting previously unselected package python3-kazoo. 158s Preparing to unpack .../29-python3-kazoo_2.9.0-2_all.deb ... 158s Unpacking python3-kazoo (2.9.0-2) ... 158s Selecting previously unselected package python3-multidict. 158s Preparing to unpack .../30-python3-multidict_6.2.0-2_arm64.deb ... 158s Unpacking python3-multidict (6.2.0-2) ... 158s Selecting previously unselected package python3-yarl. 158s Preparing to unpack .../31-python3-yarl_1.13.1-1build2_arm64.deb ... 158s Unpacking python3-yarl (1.13.1-1build2) ... 158s Selecting previously unselected package python3-async-timeout. 158s Preparing to unpack .../32-python3-async-timeout_5.0.1-1_all.deb ... 158s Unpacking python3-async-timeout (5.0.1-1) ... 158s Selecting previously unselected package python3-aiohappyeyeballs. 158s Preparing to unpack .../33-python3-aiohappyeyeballs_2.6.1-1_all.deb ... 158s Unpacking python3-aiohappyeyeballs (2.6.1-1) ... 158s Selecting previously unselected package python3-frozenlist. 158s Preparing to unpack .../34-python3-frozenlist_1.5.0-1build2_arm64.deb ... 158s Unpacking python3-frozenlist (1.5.0-1build2) ... 158s Selecting previously unselected package python3-aiosignal. 158s Preparing to unpack .../35-python3-aiosignal_1.3.2-1_all.deb ... 158s Unpacking python3-aiosignal (1.3.2-1) ... 158s Selecting previously unselected package python3-aiohttp. 158s Preparing to unpack .../36-python3-aiohttp_3.10.11-1build1_arm64.deb ... 158s Unpacking python3-aiohttp (3.10.11-1build1) ... 158s Selecting previously unselected package python3-cachetools. 158s Preparing to unpack .../37-python3-cachetools_5.3.3-1_all.deb ... 158s Unpacking python3-cachetools (5.3.3-1) ... 158s Selecting previously unselected package python3-pyasn1. 158s Preparing to unpack .../38-python3-pyasn1_0.6.1-1_all.deb ... 158s Unpacking python3-pyasn1 (0.6.1-1) ... 158s Selecting previously unselected package python3-pyasn1-modules. 158s Preparing to unpack .../39-python3-pyasn1-modules_0.4.1-2_all.deb ... 158s Unpacking python3-pyasn1-modules (0.4.1-2) ... 158s Selecting previously unselected package python3-pyu2f. 158s Preparing to unpack .../40-python3-pyu2f_0.1.5-4_all.deb ... 158s Unpacking python3-pyu2f (0.1.5-4) ... 158s Selecting previously unselected package python3-responses. 158s Preparing to unpack .../41-python3-responses_0.25.6-1_all.deb ... 158s Unpacking python3-responses (0.25.6-1) ... 158s Selecting previously unselected package python3-rsa. 158s Preparing to unpack .../42-python3-rsa_4.9-2_all.deb ... 158s Unpacking python3-rsa (4.9-2) ... 159s Selecting previously unselected package python3-google-auth. 159s Preparing to unpack .../43-python3-google-auth_2.28.2-3_all.deb ... 159s Unpacking python3-google-auth (2.28.2-3) ... 159s Selecting previously unselected package python3-requests-oauthlib. 159s Preparing to unpack .../44-python3-requests-oauthlib_1.3.1-1_all.deb ... 159s Unpacking python3-requests-oauthlib (1.3.1-1) ... 159s Selecting previously unselected package python3-websocket. 159s Preparing to unpack .../45-python3-websocket_1.8.0-2_all.deb ... 159s Unpacking python3-websocket (1.8.0-2) ... 159s Selecting previously unselected package python3-kubernetes. 159s Preparing to unpack .../46-python3-kubernetes_30.1.0-2_all.deb ... 159s Unpacking python3-kubernetes (30.1.0-2) ... 159s Selecting previously unselected package python3-pysyncobj. 159s Preparing to unpack .../47-python3-pysyncobj_0.3.14-2_all.deb ... 159s Unpacking python3-pysyncobj (0.3.14-2) ... 159s Selecting previously unselected package patroni. 159s Preparing to unpack .../48-patroni_4.0.4-8_all.deb ... 159s Unpacking patroni (4.0.4-8) ... 159s Selecting previously unselected package sphinx-rtd-theme-common. 159s Preparing to unpack .../49-sphinx-rtd-theme-common_3.0.2+dfsg-2_all.deb ... 159s Unpacking sphinx-rtd-theme-common (3.0.2+dfsg-2) ... 159s Selecting previously unselected package patroni-doc. 159s Preparing to unpack .../50-patroni-doc_4.0.4-8_all.deb ... 159s Unpacking patroni-doc (4.0.4-8) ... 159s Selecting previously unselected package python3-jmespath. 159s Preparing to unpack .../51-python3-jmespath_1.0.1-1_all.deb ... 159s Unpacking python3-jmespath (1.0.1-1) ... 159s Selecting previously unselected package python3-botocore. 159s Preparing to unpack .../52-python3-botocore_1.37.9+repack-1_all.deb ... 159s Unpacking python3-botocore (1.37.9+repack-1) ... 160s Selecting previously unselected package python3-s3transfer. 160s Preparing to unpack .../53-python3-s3transfer_0.11.2-2_all.deb ... 160s Unpacking python3-s3transfer (0.11.2-2) ... 160s Selecting previously unselected package python3-boto3. 160s Preparing to unpack .../54-python3-boto3_1.37.9-1_all.deb ... 160s Unpacking python3-boto3 (1.37.9-1) ... 160s Selecting previously unselected package python3-coverage. 160s Preparing to unpack .../55-python3-coverage_7.6.0+dfsg1-2build1_arm64.deb ... 160s Unpacking python3-coverage (7.6.0+dfsg1-2build1) ... 160s Selecting previously unselected package python3-mccabe. 160s Preparing to unpack .../56-python3-mccabe_0.7.0-1_all.deb ... 160s Unpacking python3-mccabe (0.7.0-1) ... 160s Selecting previously unselected package python3-pycodestyle. 160s Preparing to unpack .../57-python3-pycodestyle_2.12.1-2_all.deb ... 160s Unpacking python3-pycodestyle (2.12.1-2) ... 160s Selecting previously unselected package python3-pyflakes. 160s Preparing to unpack .../58-python3-pyflakes_3.2.0-3_all.deb ... 160s Unpacking python3-pyflakes (3.2.0-3) ... 160s Selecting previously unselected package python3-flake8. 160s Preparing to unpack .../59-python3-flake8_7.1.1-3_all.deb ... 160s Unpacking python3-flake8 (7.1.1-3) ... 160s Selecting previously unselected package python3-iniconfig. 160s Preparing to unpack .../60-python3-iniconfig_1.1.1-2_all.deb ... 160s Unpacking python3-iniconfig (1.1.1-2) ... 160s Selecting previously unselected package python3-packaging. 160s Preparing to unpack .../61-python3-packaging_24.2-1_all.deb ... 160s Unpacking python3-packaging (24.2-1) ... 160s Selecting previously unselected package python3-pluggy. 160s Preparing to unpack .../62-python3-pluggy_1.5.0-1_all.deb ... 160s Unpacking python3-pluggy (1.5.0-1) ... 160s Selecting previously unselected package python3-pytest. 160s Preparing to unpack .../63-python3-pytest_8.3.5-1_all.deb ... 160s Unpacking python3-pytest (8.3.5-1) ... 160s Selecting previously unselected package libjs-jquery-hotkeys. 160s Preparing to unpack .../64-libjs-jquery-hotkeys_0.2.0-1_all.deb ... 160s Unpacking libjs-jquery-hotkeys (0.2.0-1) ... 160s Selecting previously unselected package libjs-jquery-isonscreen. 160s Preparing to unpack .../65-libjs-jquery-isonscreen_1.2.0-1.1_all.deb ... 160s Unpacking libjs-jquery-isonscreen (1.2.0-1.1) ... 160s Selecting previously unselected package python3-pytest-cov. 160s Preparing to unpack .../66-python3-pytest-cov_5.0.0-1_all.deb ... 160s Unpacking python3-pytest-cov (5.0.0-1) ... 160s Selecting previously unselected package python3-mock. 160s Preparing to unpack .../67-python3-mock_5.1.0-1_all.deb ... 160s Unpacking python3-mock (5.1.0-1) ... 160s Setting up python3-iniconfig (1.1.1-2) ... 160s Setting up libev4t64:arm64 (1:4.33-2.1build1) ... 160s Setting up fonts-lato (2.015-1) ... 160s Setting up python3-pysyncobj (0.3.14-2) ... 160s Setting up python3-cachetools (5.3.3-1) ... 161s Setting up python3-zope.event (5.0-0.1) ... 161s Setting up python3-zope.interface (7.2-1build1) ... 161s Setting up python3-pyflakes (3.2.0-3) ... 161s Setting up python3-ydiff (1.4.2-1) ... 161s Setting up libpq5:arm64 (17.4-1) ... 161s Setting up python3-kerberos (1.1.14-3.1build11) ... 161s Setting up python3-coverage (7.6.0+dfsg1-2build1) ... 162s Setting up libjs-jquery-throttle-debounce (1.1+dfsg.1-2) ... 162s Setting up python3-click (8.2.0+0.really.8.1.8-1) ... 162s Setting up python3-psutil (5.9.8-2build3) ... 162s Setting up python3-multidict (6.2.0-2) ... 162s Setting up python3-frozenlist (1.5.0-1build2) ... 162s Setting up python3-aiosignal (1.3.2-1) ... 162s Setting up python3-mock (5.1.0-1) ... 163s Setting up python3-async-timeout (5.0.1-1) ... 163s Setting up python3-six (1.17.0-1) ... 163s Setting up python3-responses (0.25.6-1) ... 163s Setting up python3-pycodestyle (2.12.1-2) ... 163s Setting up python3-packaging (24.2-1) ... 163s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 163s Setting up python3-pyu2f (0.1.5-4) ... 163s Setting up python3-jmespath (1.0.1-1) ... 164s Setting up python3-greenlet (3.1.0-1build1) ... 164s Setting up libcares2:arm64 (1.34.4-2.1) ... 164s Setting up python3-psycopg2 (2.9.10-1build1) ... 164s Setting up python3-aiohappyeyeballs (2.6.1-1) ... 164s Setting up python3-pluggy (1.5.0-1) ... 164s Setting up python3-dnspython (2.7.0-1ubuntu1) ... 164s Setting up python3-pyasn1 (0.6.1-1) ... 165s Setting up python3-dateutil (2.9.0-4) ... 165s Setting up python3-mccabe (0.7.0-1) ... 165s Setting up python3-consul (1.5.1+dfsg-1) ... 165s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 165s Setting up libjs-jquery-hotkeys (0.2.0-1) ... 165s Setting up python3-prettytable (3.12.0-1) ... 165s Setting up python3-yarl (1.13.1-1build2) ... 165s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 165s Setting up sphinx-rtd-theme-common (3.0.2+dfsg-2) ... 165s Setting up python3-websocket (1.8.0-2) ... 166s Setting up python3-requests-oauthlib (1.3.1-1) ... 166s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 166s Setting up python3-pure-sasl (0.5.1+dfsg1-5) ... 166s Setting up python3-etcd (0.4.5-6) ... 166s Setting up python3-pytest (8.3.5-1) ... 166s Setting up python3-aiohttp (3.10.11-1build1) ... 167s Setting up python3-gevent (24.11.1-1build1) ... 167s Setting up python3-flake8 (7.1.1-3) ... 167s Setting up python3-eventlet (0.39.0-0ubuntu1) ... 167s Setting up python3-kazoo (2.9.0-2) ... 167s Setting up python3-pyasn1-modules (0.4.1-2) ... 168s Setting up libjs-jquery-metadata (12-4) ... 168s Setting up python3-botocore (1.37.9+repack-1) ... 168s Setting up libjs-jquery-isonscreen (1.2.0-1.1) ... 168s Setting up libjs-sphinxdoc (8.1.3-5) ... 168s Setting up libjs-jquery-tablesorter (1:2.31.3+dfsg1-4) ... 168s Setting up python3-rsa (4.9-2) ... 168s Setting up patroni (4.0.4-8) ... 168s Created symlink '/etc/systemd/system/multi-user.target.wants/patroni.service' → '/usr/lib/systemd/system/patroni.service'. 169s Setting up patroni-doc (4.0.4-8) ... 169s Setting up python3-s3transfer (0.11.2-2) ... 169s Setting up python3-pytest-cov (5.0.0-1) ... 169s Setting up python3-google-auth (2.28.2-3) ... 169s Setting up python3-boto3 (1.37.9-1) ... 170s Setting up python3-kubernetes (30.1.0-2) ... 171s Processing triggers for man-db (2.13.0-1) ... 172s Processing triggers for libc-bin (2.41-6ubuntu1) ... 173s autopkgtest [09:29:56]: test test: [----------------------- 175s ============================= test session starts ============================== 175s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 175s rootdir: /tmp/autopkgtest.rPIqpa/build.U0L/src 175s plugins: typeguard-4.4.2, cov-5.0.0 175s collected 651 items 175s 175s tests/test_api.py ................................... [ 5%] 175s tests/test_async_executor.py .... [ 5%] 176s tests/test_aws.py .... [ 6%] 176s tests/test_barman.py ................ [ 9%] 176s tests/test_bootstrap.py .......... [ 10%] 176s tests/test_callback_executor.py . [ 10%] 176s tests/test_cancellable.py ... [ 11%] 176s tests/test_citus.py sssssssssssss................ [ 15%] 176s tests/test_config.py .......... [ 17%] 176s tests/test_config_generator.py ...... [ 18%] 176s tests/test_consul.py ....................... [ 21%] 176s tests/test_ctl.py ...................................... [ 27%] 178s tests/test_etcd.py ............................. [ 31%] 178s tests/test_etcd3.py ................................. [ 37%] 178s tests/test_exhibitor.py ... [ 37%] 178s tests/test_file_perm.py ... [ 37%] 178s tests/test_ha.py ....................................................... [ 46%] 179s ................................................................ [ 56%] 180s tests/test_kubernetes.py ........................................ [ 62%] 180s tests/test_log.py .......... [ 63%] 180s tests/test_mpp.py .. [ 64%] 181s tests/test_patroni.py .................... [ 67%] 181s tests/test_postgresql.py ............................................... [ 74%] 181s ............. [ 76%] 181s tests/test_postmaster.py ......... [ 77%] 181s tests/test_quorum.py ............... [ 80%] 191s tests/test_raft.py ........... [ 81%] 191s tests/test_raft_controller.py ... [ 82%] 191s tests/test_rewind.py .............. [ 84%] 191s tests/test_slots.py ............... [ 86%] 192s tests/test_sync.py .... [ 87%] 192s tests/test_utils.py ............... [ 89%] 192s tests/test_validator.py .................. [ 92%] 192s tests/test_wale_restore.py ...... [ 93%] 192s tests/test_watchdog.py ................ [ 95%] 192s tests/test_zookeeper.py ........................... [100%] 192s 192s ======================= 638 passed, 13 skipped in 18.92s ======================= 193s autopkgtest [09:30:16]: test test: -----------------------] 194s test PASS 194s autopkgtest [09:30:17]: test test: - - - - - - - - - - results - - - - - - - - - - 194s autopkgtest [09:30:17]: test acceptance-etcd3-basic: preparing testbed 290s autopkgtest [09:31:53]: testbed dpkg architecture: arm64 290s autopkgtest [09:31:53]: testbed apt version: 3.0.0 291s autopkgtest [09:31:54]: @@@@@@@@@@@@@@@@@@@@ test bed setup 291s autopkgtest [09:31:54]: testbed release detected to be: plucky 292s autopkgtest [09:31:55]: updating testbed package index (apt update) 292s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [265 kB] 292s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 293s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 293s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 293s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [9948 B] 293s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [204 kB] 293s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [5192 B] 293s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 Packages [3176 B] 293s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 c-n-f Metadata [252 B] 293s Get:10 http://ftpmaster.internal/ubuntu plucky-proposed/restricted arm64 c-n-f Metadata [224 B] 293s Get:11 http://ftpmaster.internal/ubuntu plucky-proposed/universe arm64 Packages [129 kB] 293s Get:12 http://ftpmaster.internal/ubuntu plucky-proposed/universe arm64 c-n-f Metadata [8288 B] 293s Get:13 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse arm64 Packages [2004 B] 293s Get:14 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse arm64 c-n-f Metadata [324 B] 294s Fetched 628 kB in 1s (806 kB/s) 296s Reading package lists... 296s autopkgtest [09:31:59]: upgrading testbed (apt dist-upgrade and autopurge) 297s Reading package lists... 297s Building dependency tree... 297s Reading state information... 299s Calculating upgrade...Starting pkgProblemResolver with broken count: 0 299s Starting 2 pkgProblemResolver with broken count: 0 299s Done 301s Entering ResolveByKeep 301s 302s Calculating upgrade... 302s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 303s Reading package lists... 303s Building dependency tree... 303s Reading state information... 304s Starting pkgProblemResolver with broken count: 0 305s Starting 2 pkgProblemResolver with broken count: 0 305s Done 306s Solving dependencies... 307s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 310s Reading package lists... 311s Building dependency tree... 311s Reading state information... 312s Starting pkgProblemResolver with broken count: 0 312s Starting 2 pkgProblemResolver with broken count: 0 312s Done 313s The following NEW packages will be installed: 313s etcd-server fonts-font-awesome fonts-lato libio-pty-perl libipc-run-perl 313s libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl libllvm20 libpq5 313s libtime-duration-perl libtimedate-perl libxslt1.1 moreutils patroni 313s patroni-doc postgresql postgresql-17 postgresql-client-17 313s postgresql-client-common postgresql-common postgresql-common-dev 313s python3-behave python3-click python3-coverage python3-dateutil 313s python3-dnspython python3-etcd python3-parse python3-parse-type 313s python3-prettytable python3-psutil python3-psycopg2 python3-six 313s python3-wcwidth python3-ydiff sphinx-rtd-theme-common ssl-cert 313s 0 upgraded, 39 newly installed, 0 to remove and 0 not upgraded. 313s Need to get 64.7 MB of archives. 313s After this operation, 270 MB of additional disk space will be used. 313s Get:1 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-lato all 2.015-1 [2781 kB] 314s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 libjson-perl all 4.10000-1 [81.9 kB] 314s Get:3 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-client-common all 274 [47.6 kB] 314s Get:4 http://ftpmaster.internal/ubuntu plucky/main arm64 libio-pty-perl arm64 1:1.20-1build3 [31.3 kB] 314s Get:5 http://ftpmaster.internal/ubuntu plucky/main arm64 libipc-run-perl all 20231003.0-2 [91.5 kB] 314s Get:6 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-common-dev all 274 [73.0 kB] 314s Get:7 http://ftpmaster.internal/ubuntu plucky/main arm64 ssl-cert all 1.1.3ubuntu1 [18.7 kB] 314s Get:8 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-common all 274 [101 kB] 314s Get:9 http://ftpmaster.internal/ubuntu plucky/universe arm64 etcd-server arm64 3.5.16-4 [11.1 MB] 314s Get:10 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 314s Get:11 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 314s Get:12 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 314s Get:13 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-sphinxdoc all 8.1.3-5 [31.0 kB] 314s Get:14 http://ftpmaster.internal/ubuntu plucky/main arm64 libllvm20 arm64 1:20.1.2-0ubuntu1 [29.1 MB] 315s Get:15 http://ftpmaster.internal/ubuntu plucky/main arm64 libpq5 arm64 17.4-1 [142 kB] 315s Get:16 http://ftpmaster.internal/ubuntu plucky/main arm64 libtime-duration-perl all 1.21-2 [12.3 kB] 315s Get:17 http://ftpmaster.internal/ubuntu plucky/main arm64 libtimedate-perl all 2.3300-2 [34.0 kB] 315s Get:18 http://ftpmaster.internal/ubuntu plucky/main arm64 libxslt1.1 arm64 1.1.39-0exp1ubuntu4 [168 kB] 315s Get:19 http://ftpmaster.internal/ubuntu plucky/universe arm64 moreutils arm64 0.69-1 [56.7 kB] 315s Get:20 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-click all 8.2.0+0.really.8.1.8-1 [80.0 kB] 315s Get:21 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-dateutil all 2.9.0-4 [80.3 kB] 315s Get:22 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 315s Get:23 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-prettytable all 3.12.0-1 [36.5 kB] 315s Get:24 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-psutil arm64 5.9.8-2build3 [196 kB] 315s Get:25 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-ydiff all 1.4.2-1 [19.0 kB] 315s Get:26 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-psycopg2 arm64 2.9.10-1build1 [133 kB] 315s Get:27 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-dnspython all 2.7.0-1ubuntu1 [167 kB] 315s Get:28 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-etcd all 0.4.5-6 [32.1 kB] 315s Get:29 http://ftpmaster.internal/ubuntu plucky-proposed/universe arm64 patroni all 4.0.4-8 [282 kB] 315s Get:30 http://ftpmaster.internal/ubuntu plucky/main arm64 sphinx-rtd-theme-common all 3.0.2+dfsg-2 [1014 kB] 315s Get:31 http://ftpmaster.internal/ubuntu plucky-proposed/universe arm64 patroni-doc all 4.0.4-8 [526 kB] 315s Get:32 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-client-17 arm64 17.4-1 [1342 kB] 315s Get:33 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-17 arm64 17.4-1 [15.6 MB] 316s Get:34 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql all 17+274 [14.4 kB] 316s Get:35 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-parse all 1.20.2-1 [27.0 kB] 316s Get:36 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-parse-type all 0.6.4-2 [23.5 kB] 316s Get:37 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-six all 1.17.0-1 [13.2 kB] 316s Get:38 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-behave all 1.2.6-6 [98.6 kB] 316s Get:39 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-coverage arm64 7.6.0+dfsg1-2build1 [153 kB] 316s Preconfiguring packages ... 316s /var/cache/debconf/tmp.ci/postgresql.config.2VIQSS: 12: pg_lsclusters: not found 316s Fetched 64.7 MB in 3s (23.5 MB/s) 316s Selecting previously unselected package fonts-lato. 317s (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 ... 117820 files and directories currently installed.) 317s Preparing to unpack .../00-fonts-lato_2.015-1_all.deb ... 317s Unpacking fonts-lato (2.015-1) ... 317s Selecting previously unselected package libjson-perl. 317s Preparing to unpack .../01-libjson-perl_4.10000-1_all.deb ... 317s Unpacking libjson-perl (4.10000-1) ... 317s Selecting previously unselected package postgresql-client-common. 317s Preparing to unpack .../02-postgresql-client-common_274_all.deb ... 317s Unpacking postgresql-client-common (274) ... 317s Selecting previously unselected package libio-pty-perl. 317s Preparing to unpack .../03-libio-pty-perl_1%3a1.20-1build3_arm64.deb ... 317s Unpacking libio-pty-perl (1:1.20-1build3) ... 317s Selecting previously unselected package libipc-run-perl. 317s Preparing to unpack .../04-libipc-run-perl_20231003.0-2_all.deb ... 317s Unpacking libipc-run-perl (20231003.0-2) ... 317s Selecting previously unselected package postgresql-common-dev. 317s Preparing to unpack .../05-postgresql-common-dev_274_all.deb ... 317s Unpacking postgresql-common-dev (274) ... 317s Selecting previously unselected package ssl-cert. 317s Preparing to unpack .../06-ssl-cert_1.1.3ubuntu1_all.deb ... 317s Unpacking ssl-cert (1.1.3ubuntu1) ... 317s Selecting previously unselected package postgresql-common. 317s Preparing to unpack .../07-postgresql-common_274_all.deb ... 317s Adding 'diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common' 317s Unpacking postgresql-common (274) ... 317s Selecting previously unselected package etcd-server. 317s Preparing to unpack .../08-etcd-server_3.5.16-4_arm64.deb ... 317s Unpacking etcd-server (3.5.16-4) ... 318s Selecting previously unselected package fonts-font-awesome. 318s Preparing to unpack .../09-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 318s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 318s Selecting previously unselected package libjs-jquery. 318s Preparing to unpack .../10-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 318s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 318s Selecting previously unselected package libjs-underscore. 318s Preparing to unpack .../11-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 318s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 318s Selecting previously unselected package libjs-sphinxdoc. 318s Preparing to unpack .../12-libjs-sphinxdoc_8.1.3-5_all.deb ... 318s Unpacking libjs-sphinxdoc (8.1.3-5) ... 318s Selecting previously unselected package libllvm20:arm64. 318s Preparing to unpack .../13-libllvm20_1%3a20.1.2-0ubuntu1_arm64.deb ... 318s Unpacking libllvm20:arm64 (1:20.1.2-0ubuntu1) ... 319s Selecting previously unselected package libpq5:arm64. 319s Preparing to unpack .../14-libpq5_17.4-1_arm64.deb ... 319s Unpacking libpq5:arm64 (17.4-1) ... 319s Selecting previously unselected package libtime-duration-perl. 319s Preparing to unpack .../15-libtime-duration-perl_1.21-2_all.deb ... 319s Unpacking libtime-duration-perl (1.21-2) ... 319s Selecting previously unselected package libtimedate-perl. 319s Preparing to unpack .../16-libtimedate-perl_2.3300-2_all.deb ... 319s Unpacking libtimedate-perl (2.3300-2) ... 319s Selecting previously unselected package libxslt1.1:arm64. 319s Preparing to unpack .../17-libxslt1.1_1.1.39-0exp1ubuntu4_arm64.deb ... 319s Unpacking libxslt1.1:arm64 (1.1.39-0exp1ubuntu4) ... 319s Selecting previously unselected package moreutils. 319s Preparing to unpack .../18-moreutils_0.69-1_arm64.deb ... 319s Unpacking moreutils (0.69-1) ... 319s Selecting previously unselected package python3-click. 319s Preparing to unpack .../19-python3-click_8.2.0+0.really.8.1.8-1_all.deb ... 319s Unpacking python3-click (8.2.0+0.really.8.1.8-1) ... 319s Selecting previously unselected package python3-dateutil. 319s Preparing to unpack .../20-python3-dateutil_2.9.0-4_all.deb ... 319s Unpacking python3-dateutil (2.9.0-4) ... 319s Selecting previously unselected package python3-wcwidth. 319s Preparing to unpack .../21-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 319s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 319s Selecting previously unselected package python3-prettytable. 319s Preparing to unpack .../22-python3-prettytable_3.12.0-1_all.deb ... 319s Unpacking python3-prettytable (3.12.0-1) ... 320s Selecting previously unselected package python3-psutil. 320s Preparing to unpack .../23-python3-psutil_5.9.8-2build3_arm64.deb ... 320s Unpacking python3-psutil (5.9.8-2build3) ... 320s Selecting previously unselected package python3-ydiff. 320s Preparing to unpack .../24-python3-ydiff_1.4.2-1_all.deb ... 320s Unpacking python3-ydiff (1.4.2-1) ... 320s Selecting previously unselected package python3-psycopg2. 320s Preparing to unpack .../25-python3-psycopg2_2.9.10-1build1_arm64.deb ... 320s Unpacking python3-psycopg2 (2.9.10-1build1) ... 320s Selecting previously unselected package python3-dnspython. 320s Preparing to unpack .../26-python3-dnspython_2.7.0-1ubuntu1_all.deb ... 320s Unpacking python3-dnspython (2.7.0-1ubuntu1) ... 320s Selecting previously unselected package python3-etcd. 320s Preparing to unpack .../27-python3-etcd_0.4.5-6_all.deb ... 320s Unpacking python3-etcd (0.4.5-6) ... 320s Selecting previously unselected package patroni. 320s Preparing to unpack .../28-patroni_4.0.4-8_all.deb ... 320s Unpacking patroni (4.0.4-8) ... 320s Selecting previously unselected package sphinx-rtd-theme-common. 320s Preparing to unpack .../29-sphinx-rtd-theme-common_3.0.2+dfsg-2_all.deb ... 320s Unpacking sphinx-rtd-theme-common (3.0.2+dfsg-2) ... 320s Selecting previously unselected package patroni-doc. 320s Preparing to unpack .../30-patroni-doc_4.0.4-8_all.deb ... 320s Unpacking patroni-doc (4.0.4-8) ... 320s Selecting previously unselected package postgresql-client-17. 320s Preparing to unpack .../31-postgresql-client-17_17.4-1_arm64.deb ... 320s Unpacking postgresql-client-17 (17.4-1) ... 320s Selecting previously unselected package postgresql-17. 320s Preparing to unpack .../32-postgresql-17_17.4-1_arm64.deb ... 320s Unpacking postgresql-17 (17.4-1) ... 321s Selecting previously unselected package postgresql. 321s Preparing to unpack .../33-postgresql_17+274_all.deb ... 321s Unpacking postgresql (17+274) ... 321s Selecting previously unselected package python3-parse. 321s Preparing to unpack .../34-python3-parse_1.20.2-1_all.deb ... 321s Unpacking python3-parse (1.20.2-1) ... 321s Selecting previously unselected package python3-parse-type. 321s Preparing to unpack .../35-python3-parse-type_0.6.4-2_all.deb ... 321s Unpacking python3-parse-type (0.6.4-2) ... 321s Selecting previously unselected package python3-six. 321s Preparing to unpack .../36-python3-six_1.17.0-1_all.deb ... 321s Unpacking python3-six (1.17.0-1) ... 321s Selecting previously unselected package python3-behave. 321s Preparing to unpack .../37-python3-behave_1.2.6-6_all.deb ... 321s Unpacking python3-behave (1.2.6-6) ... 321s Selecting previously unselected package python3-coverage. 321s Preparing to unpack .../38-python3-coverage_7.6.0+dfsg1-2build1_arm64.deb ... 321s Unpacking python3-coverage (7.6.0+dfsg1-2build1) ... 321s Setting up postgresql-client-common (274) ... 321s Setting up fonts-lato (2.015-1) ... 321s Setting up libio-pty-perl (1:1.20-1build3) ... 321s Setting up python3-ydiff (1.4.2-1) ... 322s Setting up libpq5:arm64 (17.4-1) ... 322s Setting up python3-coverage (7.6.0+dfsg1-2build1) ... 322s Setting up python3-click (8.2.0+0.really.8.1.8-1) ... 322s Setting up python3-psutil (5.9.8-2build3) ... 323s Setting up python3-six (1.17.0-1) ... 323s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 323s Setting up ssl-cert (1.1.3ubuntu1) ... 324s Created symlink '/etc/systemd/system/multi-user.target.wants/ssl-cert.service' → '/usr/lib/systemd/system/ssl-cert.service'. 324s Setting up libllvm20:arm64 (1:20.1.2-0ubuntu1) ... 324s Setting up python3-psycopg2 (2.9.10-1build1) ... 325s Setting up libipc-run-perl (20231003.0-2) ... 325s Setting up libtime-duration-perl (1.21-2) ... 325s Setting up libtimedate-perl (2.3300-2) ... 325s Setting up python3-dnspython (2.7.0-1ubuntu1) ... 325s Setting up python3-parse (1.20.2-1) ... 325s Setting up libjson-perl (4.10000-1) ... 325s Setting up libxslt1.1:arm64 (1.1.39-0exp1ubuntu4) ... 325s Setting up python3-dateutil (2.9.0-4) ... 326s Setting up etcd-server (3.5.16-4) ... 326s info: Selecting UID from range 100 to 999 ... 326s 326s info: Selecting GID from range 100 to 999 ... 326s info: Adding system user `etcd' (UID 107) ... 326s info: Adding new group `etcd' (GID 111) ... 326s info: Adding new user `etcd' (UID 107) with group `etcd' ... 326s info: Creating home directory `/var/lib/etcd/' ... 326s Created symlink '/etc/systemd/system/etcd2.service' → '/usr/lib/systemd/system/etcd.service'. 326s Created symlink '/etc/systemd/system/multi-user.target.wants/etcd.service' → '/usr/lib/systemd/system/etcd.service'. 327s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 328s Setting up python3-prettytable (3.12.0-1) ... 328s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 328s Setting up sphinx-rtd-theme-common (3.0.2+dfsg-2) ... 328s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 328s Setting up postgresql-common-dev (274) ... 328s Setting up moreutils (0.69-1) ... 328s Setting up postgresql-client-17 (17.4-1) ... 329s 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 329s Setting up python3-etcd (0.4.5-6) ... 329s Setting up python3-parse-type (0.6.4-2) ... 329s Setting up postgresql-common (274) ... 330s Creating config file /etc/postgresql-common/createcluster.conf with new version 330s Building PostgreSQL dictionaries from installed myspell/hunspell packages... 330s Removing obsolete dictionary files: 331s Created symlink '/etc/systemd/system/multi-user.target.wants/postgresql.service' → '/usr/lib/systemd/system/postgresql.service'. 332s Setting up libjs-sphinxdoc (8.1.3-5) ... 332s Setting up python3-behave (1.2.6-6) ... 332s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 332s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 332s /usr/lib/python3/dist-packages/behave/matchers.py:284: SyntaxWarning: invalid escape sequence '\d' 332s @parse.with_pattern(r"\d+") 332s Setting up patroni (4.0.4-8) ... 332s Created symlink '/etc/systemd/system/multi-user.target.wants/patroni.service' → '/usr/lib/systemd/system/patroni.service'. 333s Setting up postgresql-17 (17.4-1) ... 335s Creating new PostgreSQL cluster 17/main ... 335s /usr/lib/postgresql/17/bin/initdb -D /var/lib/postgresql/17/main --auth-local peer --auth-host scram-sha-256 --no-instructions 335s The files belonging to this database system will be owned by user "postgres". 335s This user must also own the server process. 335s 335s The database cluster will be initialized with locale "C.UTF-8". 335s The default database encoding has accordingly been set to "UTF8". 335s The default text search configuration will be set to "english". 335s 335s Data page checksums are disabled. 335s 335s fixing permissions on existing directory /var/lib/postgresql/17/main ... ok 335s creating subdirectories ... ok 335s selecting dynamic shared memory implementation ... posix 335s selecting default "max_connections" ... 100 335s selecting default "shared_buffers" ... 128MB 335s selecting default time zone ... Etc/UTC 335s creating configuration files ... ok 335s running bootstrap script ... ok 336s performing post-bootstrap initialization ... ok 336s syncing data to disk ... ok 339s Setting up patroni-doc (4.0.4-8) ... 339s Setting up postgresql (17+274) ... 339s Processing triggers for man-db (2.13.0-1) ... 341s Processing triggers for libc-bin (2.41-6ubuntu1) ... 343s autopkgtest [09:32:46]: test acceptance-etcd3-basic: debian/tests/acceptance etcd3 features/basic_replication.feature 343s autopkgtest [09:32:46]: test acceptance-etcd3-basic: [----------------------- 344s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 344s ++ ls -1r /usr/lib/postgresql/ 344s ### PostgreSQL 17 acceptance-etcd3 features/basic_replication.feature ### 344s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 344s + '[' 17 == 10 -o 17 == 11 ']' 344s + echo '### PostgreSQL 17 acceptance-etcd3 features/basic_replication.feature ###' 344s + bash -c 'set -o pipefail; ETCD_UNSUPPORTED_ARCH=arm64 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' 345s Apr 14 09:32:48 Feature: basic replication # features/basic_replication.feature:1 345s Apr 14 09:32:48 We should check that the basic bootstrapping, replication and failover works. 345s Apr 14 09:32:48 Scenario: check replication of a single table # features/basic_replication.feature:4 345s Apr 14 09:32:48 Given I start postgres-0 # features/steps/basic_replication.py:20 349s Apr 14 09:32:52 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 349s Apr 14 09:32:52 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 349s Apr 14 09:32:52 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 349s Apr 14 09:32:52 Then I receive a response code 200 # features/steps/patroni_api.py:100 349s Apr 14 09:32:52 When I start postgres-1 # features/steps/basic_replication.py:20 352s Apr 14 09:32:55 And I configure and start postgres-2 with a tag replicatefrom postgres-0 # features/steps/cascading_replication.py:7 356s Apr 14 09:32:59 And "sync" key in DCS has leader=postgres-0 after 20 seconds # features/steps/cascading_replication.py:23 356s Apr 14 09:32:59 And I add the table foo to postgres-0 # features/steps/basic_replication.py:66 356s Apr 14 09:32:59 Then table foo is present on postgres-1 after 20 seconds # features/steps/basic_replication.py:105 357s Apr 14 09:33:00 Then table foo is present on postgres-2 after 20 seconds # features/steps/basic_replication.py:105 357s Apr 14 09:33:00 357s Apr 14 09:33:00 Scenario: check restart of sync replica # features/basic_replication.feature:17 357s Apr 14 09:33:00 Given I shut down postgres-2 # features/steps/basic_replication.py:41 358s Apr 14 09:33:01 Then "sync" key in DCS has sync_standby=postgres-1 after 5 seconds # features/steps/cascading_replication.py:23 358s Apr 14 09:33:01 When I start postgres-2 # features/steps/basic_replication.py:20 361s Apr 14 09:33:04 And I shut down postgres-1 # features/steps/basic_replication.py:41 364s Apr 14 09:33:07 Then "sync" key in DCS has sync_standby=postgres-2 after 10 seconds # features/steps/cascading_replication.py:23 365s Apr 14 09:33:08 When I start postgres-1 # features/steps/basic_replication.py:20 368s Apr 14 09:33:11 Then "members/postgres-1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 368s Apr 14 09:33:11 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:144 368s Apr 14 09:33:11 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:144 368s Apr 14 09:33:11 368s Apr 14 09:33:11 Scenario: check stuck sync replica # features/basic_replication.feature:28 368s Apr 14 09:33:11 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 368s Apr 14 09:33:11 Then I receive a response code 200 # features/steps/patroni_api.py:100 368s Apr 14 09:33:11 And I create table on postgres-0 # features/steps/basic_replication.py:85 368s Apr 14 09:33:11 And table mytest is present on postgres-1 after 2 seconds # features/steps/basic_replication.py:105 369s Apr 14 09:33:12 And table mytest is present on postgres-2 after 2 seconds # features/steps/basic_replication.py:105 369s Apr 14 09:33:12 When I pause wal replay on postgres-2 # features/steps/basic_replication.py:76 369s Apr 14 09:33:12 And I load data on postgres-0 # features/steps/basic_replication.py:96 370s Apr 14 09:33:13 Then "sync" key in DCS has sync_standby=postgres-1 after 15 seconds # features/steps/cascading_replication.py:23 373s Apr 14 09:33:16 And I resume wal replay on postgres-2 # features/steps/basic_replication.py:76 373s Apr 14 09:33:16 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:144 373s Apr 14 09:33:16 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:144 373s Apr 14 09:33:16 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 373s Apr 14 09:33:16 Then I receive a response code 200 # features/steps/patroni_api.py:100 373s Apr 14 09:33:16 And I drop table on postgres-0 # features/steps/basic_replication.py:85 373s Apr 14 09:33:16 373s Apr 14 09:33:16 Scenario: check multi sync replication # features/basic_replication.feature:44 373s Apr 14 09:33:16 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 373s Apr 14 09:33:16 Then I receive a response code 200 # features/steps/patroni_api.py:100 373s Apr 14 09:33:16 Then "sync" key in DCS has sync_standby=postgres-1,postgres-2 after 10 seconds # features/steps/cascading_replication.py:23 378s Apr 14 09:33:20 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:144 378s Apr 14 09:33:21 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:144 378s Apr 14 09:33:21 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 378s Apr 14 09:33:21 Then I receive a response code 200 # features/steps/patroni_api.py:100 378s Apr 14 09:33:21 And I shut down postgres-1 # features/steps/basic_replication.py:41 381s Apr 14 09:33:24 Then "sync" key in DCS has sync_standby=postgres-2 after 10 seconds # features/steps/cascading_replication.py:23 382s Apr 14 09:33:25 When I start postgres-1 # features/steps/basic_replication.py:20 386s Apr 14 09:33:29 Then "members/postgres-1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 386s Apr 14 09:33:29 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:144 386s Apr 14 09:33:29 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:144 386s Apr 14 09:33:29 386s Apr 14 09:33:29 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 386s Apr 14 09:33:29 Given I run patronictl.py pause batman # features/steps/patroni_api.py:88 387s Apr 14 09:33:30 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 387s Apr 14 09:33:30 When I sleep for 2 seconds # features/steps/patroni_api.py:41 389s Apr 14 09:33:32 And I shut down postgres-0 # features/steps/basic_replication.py:41 390s Apr 14 09:33:33 And I run patronictl.py resume batman # features/steps/patroni_api.py:88 392s Apr 14 09:33:35 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 392s Apr 14 09:33:35 And postgres-2 role is the primary after 24 seconds # features/steps/basic_replication.py:117 412s Apr 14 09:33:55 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:158 412s Apr 14 09:33:55 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 412s Apr 14 09:33:55 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 412s Apr 14 09:33:55 Then I receive a response code 200 # features/steps/patroni_api.py:100 412s Apr 14 09:33:55 When I add the table bar to postgres-2 # features/steps/basic_replication.py:66 412s Apr 14 09:33:55 Then table bar is present on postgres-1 after 20 seconds # features/steps/basic_replication.py:105 413s Apr 14 09:33:56 And Response on GET http://127.0.0.1:8010/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:158 413s Apr 14 09:33:56 413s Apr 14 09:33:56 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 413s Apr 14 09:33:56 Given I add the table splitbrain to postgres-0 # features/steps/basic_replication.py:66 413s Apr 14 09:33:56 And I start postgres-0 # features/steps/basic_replication.py:20 413s Apr 14 09:33:56 Then postgres-0 role is the secondary after 20 seconds # features/steps/basic_replication.py:117 417s Apr 14 09:34:00 When I add the table buz to postgres-2 # features/steps/basic_replication.py:66 417s Apr 14 09:34:00 Then table buz is present on postgres-0 after 20 seconds # features/steps/basic_replication.py:105 422s Apr 14 09:34:05 422s Apr 14 09:34:05 @reject-duplicate-name 422s Apr 14 09:34:05 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 422s Apr 14 09:34:05 Given I start duplicate postgres-0 on port 8011 # features/steps/basic_replication.py:25 424s Apr 14 09:34:07 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 429s Apr 14 09:34:12 429s Apr 14 09:34:12 Combined data file .coverage.autopkgtest.4301.XYvxNBix 429s Apr 14 09:34:12 Combined data file .coverage.autopkgtest.4346.XNpRtLsx 429s Apr 14 09:34:12 Combined data file .coverage.autopkgtest.4385.XwZJiKBx 429s Apr 14 09:34:12 Combined data file .coverage.autopkgtest.4444.XxpHLevx 429s Apr 14 09:34:12 Combined data file .coverage.autopkgtest.4492.XyqCaknx 429s Apr 14 09:34:12 Combined data file .coverage.autopkgtest.4566.XMlqsNnx 429s Apr 14 09:34:12 Combined data file .coverage.autopkgtest.4616.XerCqwmx 429s Apr 14 09:34:12 Combined data file .coverage.autopkgtest.4620.XZLuIoax 429s Apr 14 09:34:12 Combined data file .coverage.autopkgtest.4696.XrkkPsGx 429s Apr 14 09:34:12 Combined data file .coverage.autopkgtest.4805.XHOHmTsx 435s Apr 14 09:34:18 Name Stmts Miss Cover 435s Apr 14 09:34:18 ------------------------------------------------------------------------------------------------------------- 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/OpenSSL/SSL.py 1159 647 44% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/OpenSSL/__init__.py 3 0 100% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/OpenSSL/_util.py 44 15 66% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/OpenSSL/crypto.py 869 663 24% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/OpenSSL/version.py 9 0 100% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 101 96 5% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/bcrypt/__init__.py 3 0 100% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/cryptography/__about__.py 5 0 100% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/cryptography/__init__.py 3 0 100% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/cryptography/exceptions.py 26 5 81% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/cryptography/hazmat/__init__.py 2 0 100% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/cryptography/hazmat/_oid.py 135 0 100% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/__init__.py 0 0 100% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/__init__.py 0 0 100% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/_conditional.py 38 17 55% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/binding.py 51 4 92% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/__init__.py 1 0 100% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/ciphers/__init__.py 1 0 100% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/ciphers/algorithms.py 68 18 74% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/__init__.py 0 0 100% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_asymmetric.py 6 0 100% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_cipheralgorithm.py 23 4 83% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_serialization.py 79 35 56% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/__init__.py 0 0 100% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dh.py 47 0 100% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dsa.py 55 5 91% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ec.py 172 22 87% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed448.py 45 12 73% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed25519.py 43 12 72% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/padding.py 55 23 58% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/rsa.py 93 40 57% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/types.py 19 0 100% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/utils.py 14 5 64% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x448.py 43 12 72% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x25519.py 41 12 71% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/__init__.py 4 0 100% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/algorithms.py 72 15 79% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/base.py 54 12 78% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/modes.py 140 59 58% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/constant_time.py 6 3 50% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hashes.py 127 20 84% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/__init__.py 5 0 100% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/base.py 7 0 100% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/ssh.py 775 614 21% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/cryptography/utils.py 76 28 63% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/cryptography/x509/__init__.py 70 0 100% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/cryptography/x509/base.py 488 227 53% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/cryptography/x509/certificate_transparency.py 42 0 100% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/cryptography/x509/extensions.py 1024 552 46% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/cryptography/x509/general_name.py 166 94 43% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/cryptography/x509/name.py 236 144 39% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/cryptography/x509/oid.py 3 0 100% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/cryptography/x509/verification.py 12 0 100% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/dateutil/__init__.py 13 4 69% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/dateutil/_version.py 13 3 77% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 810 688 15% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 183 150 18% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 240 206 14% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 151 117 23% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 794 629 21% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/dateutil/tz/win.py 152 149 2% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/dns/__init__.py 2 0 100% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/dns/_asyncbackend.py 14 6 57% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/dns/_ddr.py 105 86 18% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/dns/_features.py 46 8 83% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/dns/_immutable_ctx.py 40 5 88% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/dns/asyncbackend.py 44 32 27% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/dns/asyncquery.py 322 283 12% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/dns/edns.py 307 185 40% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/dns/entropy.py 80 49 39% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/dns/enum.py 72 46 36% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/dns/exception.py 59 33 44% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/dns/flags.py 40 14 65% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/dns/grange.py 33 30 9% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/dns/immutable.py 41 30 27% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/dns/inet.py 79 65 18% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/dns/ipv4.py 26 20 23% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/dns/ipv6.py 114 100 12% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/dns/message.py 829 676 18% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/dns/name.py 617 425 31% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/dns/nameserver.py 102 55 46% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/dns/node.py 117 71 39% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/dns/opcode.py 30 7 77% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/dns/query.py 562 477 15% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/dns/quic/__init__.py 28 23 18% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/dns/rcode.py 68 13 81% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/dns/rdata.py 386 277 28% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/dns/rdataclass.py 43 9 79% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/dns/rdataset.py 192 133 31% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/dns/rdatatype.py 215 23 89% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/OPT.py 34 19 44% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/SOA.py 41 26 37% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/TSIG.py 58 42 28% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/ZONEMD.py 43 27 37% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/__init__.py 1 0 100% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/dns/rdtypes/__init__.py 1 0 100% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/dns/rdtypes/svcbbase.py 415 268 35% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/dns/rdtypes/util.py 191 154 19% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/dns/renderer.py 151 118 22% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/dns/resolver.py 873 696 20% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/dns/reversename.py 32 24 25% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/dns/rrset.py 77 56 27% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/dns/serial.py 92 79 14% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/dns/set.py 148 107 28% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/dns/tokenizer.py 334 279 16% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/dns/transaction.py 269 201 25% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/dns/tsig.py 176 122 31% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/dns/ttl.py 44 38 14% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/dns/version.py 6 0 100% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/dns/wire.py 64 42 34% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/dns/xfr.py 148 126 15% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/dns/zone.py 507 383 24% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/dns/zonefile.py 427 379 11% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/dns/zonetypes.py 14 2 86% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/etcd/__init__.py 125 63 50% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/etcd/client.py 380 256 33% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/etcd/lock.py 125 103 18% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/idna/__init__.py 4 0 100% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/idna/core.py 292 257 12% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/idna/idnadata.py 4 0 100% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/idna/intranges.py 30 24 20% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/idna/package_data.py 1 0 100% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/patroni/__main__.py 201 68 66% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/patroni/api.py 788 439 44% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 19 80% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/patroni/collections.py 56 7 88% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/patroni/config.py 357 100 72% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/patroni/config_generator.py 212 159 25% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/patroni/daemon.py 76 6 92% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 710 165 77% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/patroni/dcs/etcd3.py 679 161 76% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/patroni/dcs/etcd.py 603 261 57% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/patroni/dynamic_loader.py 35 7 80% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/patroni/file_perm.py 47 11 77% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/patroni/global_config.py 87 4 95% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/patroni/ha.py 1359 680 50% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/patroni/log.py 235 81 66% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 825 230 72% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/patroni/postgresql/available_parameters/__init__.py 24 3 88% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 254 89 65% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 840 255 70% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 7 91% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 43 13 70% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/patroni/postgresql/mpp/__init__.py 89 12 87% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 92 46% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 416 188 55% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 349 176 50% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 154 23 85% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 157 24 85% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/patroni/psycopg.py 46 19 59% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/patroni/quorum.py 182 160 12% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/patroni/request.py 58 7 88% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/patroni/tags.py 38 5 87% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/patroni/utils.py 371 125 66% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/patroni/validator.py 309 218 29% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 49 76% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 50 63% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/psutil/__init__.py 950 636 33% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/psutil/_common.py 422 212 50% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/psutil/_compat.py 301 264 12% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1250 936 25% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/psutil/_psposix.py 95 41 57% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/urllib3/__init__.py 49 15 69% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 63 45 29% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/urllib3/_collections.py 231 120 48% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 54 24 56% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/urllib3/_version.py 13 3 77% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/urllib3/connection.py 389 138 65% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 344 128 63% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/urllib3/contrib/__init__.py 0 0 100% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/urllib3/contrib/pyopenssl.py 263 103 61% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/urllib3/exceptions.py 121 39 68% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/urllib3/http2/__init__.py 28 21 25% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/urllib3/http2/probe.py 49 31 37% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 85 64% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/urllib3/response.py 634 350 45% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 42 36% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 49 53% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 15 53% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/urllib3/util/retry.py 174 54 69% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 172 74 57% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 152 106 30% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 14 80% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/urllib3/util/url.py 203 70 66% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 10 62% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 18 63% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/yaml/parser.py 352 198 44% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/yaml/reader.py 122 34 72% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/yaml/scanner.py 758 437 42% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 435s Apr 14 09:34:18 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 435s Apr 14 09:34:18 patroni/__init__.py 13 2 85% 435s Apr 14 09:34:18 patroni/__main__.py 201 201 0% 435s Apr 14 09:34:18 patroni/api.py 788 788 0% 435s Apr 14 09:34:18 patroni/async_executor.py 96 69 28% 435s Apr 14 09:34:18 patroni/collections.py 56 15 73% 435s Apr 14 09:34:18 patroni/config.py 357 186 48% 435s Apr 14 09:34:18 patroni/config_generator.py 212 212 0% 435s Apr 14 09:34:18 patroni/ctl.py 936 661 29% 435s Apr 14 09:34:18 patroni/daemon.py 76 76 0% 435s Apr 14 09:34:18 patroni/dcs/__init__.py 710 357 50% 435s Apr 14 09:34:18 patroni/dcs/consul.py 482 482 0% 435s Apr 14 09:34:18 patroni/dcs/etcd3.py 679 362 47% 435s Apr 14 09:34:18 patroni/dcs/etcd.py 603 282 53% 435s Apr 14 09:34:18 patroni/dcs/exhibitor.py 62 62 0% 435s Apr 14 09:34:18 patroni/dcs/kubernetes.py 943 943 0% 435s Apr 14 09:34:18 patroni/dcs/raft.py 319 319 0% 435s Apr 14 09:34:18 patroni/dcs/zookeeper.py 289 289 0% 435s Apr 14 09:34:18 patroni/dynamic_loader.py 35 7 80% 435s Apr 14 09:34:18 patroni/exceptions.py 16 1 94% 435s Apr 14 09:34:18 patroni/file_perm.py 47 17 64% 435s Apr 14 09:34:18 patroni/global_config.py 87 25 71% 435s Apr 14 09:34:18 patroni/ha.py 1359 1359 0% 435s Apr 14 09:34:18 patroni/log.py 235 183 22% 435s Apr 14 09:34:18 patroni/postgresql/__init__.py 825 653 21% 435s Apr 14 09:34:18 patroni/postgresql/available_parameters/__init__.py 24 3 88% 435s Apr 14 09:34:18 patroni/postgresql/bootstrap.py 254 224 12% 435s Apr 14 09:34:18 patroni/postgresql/callback_executor.py 55 34 38% 435s Apr 14 09:34:18 patroni/postgresql/cancellable.py 104 84 19% 435s Apr 14 09:34:18 patroni/postgresql/config.py 840 720 14% 435s Apr 14 09:34:18 patroni/postgresql/connection.py 75 50 33% 435s Apr 14 09:34:18 patroni/postgresql/misc.py 43 30 30% 435s Apr 14 09:34:18 patroni/postgresql/mpp/__init__.py 89 21 76% 435s Apr 14 09:34:18 patroni/postgresql/mpp/citus.py 366 366 0% 435s Apr 14 09:34:18 patroni/postgresql/postmaster.py 170 139 18% 435s Apr 14 09:34:18 patroni/postgresql/rewind.py 416 416 0% 435s Apr 14 09:34:18 patroni/postgresql/slots.py 349 300 14% 435s Apr 14 09:34:18 patroni/postgresql/sync.py 154 114 26% 435s Apr 14 09:34:18 patroni/postgresql/validator.py 157 52 67% 435s Apr 14 09:34:18 patroni/psycopg.py 46 32 30% 435s Apr 14 09:34:18 patroni/quorum.py 182 182 0% 435s Apr 14 09:34:18 patroni/raft_controller.py 22 22 0% 435s Apr 14 09:34:18 patroni/request.py 58 6 90% 435s Apr 14 09:34:18 patroni/scripts/__init__.py 0 0 100% 435s Apr 14 09:34:18 patroni/scripts/aws.py 59 59 0% 435s Apr 14 09:34:18 patroni/scripts/barman/__init__.py 0 0 100% 435s Apr 14 09:34:18 patroni/scripts/barman/cli.py 50 50 0% 435s Apr 14 09:34:18 patroni/scripts/barman/config_switch.py 50 50 0% 435s Apr 14 09:34:18 patroni/scripts/barman/recover.py 36 36 0% 435s Apr 14 09:34:18 patroni/scripts/barman/utils.py 93 93 0% 435s Apr 14 09:34:18 patroni/scripts/wale_restore.py 207 207 0% 435s Apr 14 09:34:18 patroni/tags.py 38 15 61% 435s Apr 14 09:34:18 patroni/utils.py 371 237 36% 435s Apr 14 09:34:18 patroni/validator.py 309 222 28% 435s Apr 14 09:34:18 patroni/version.py 1 0 100% 435s Apr 14 09:34:18 patroni/watchdog/__init__.py 2 2 0% 435s Apr 14 09:34:18 patroni/watchdog/base.py 203 203 0% 435s Apr 14 09:34:18 patroni/watchdog/linux.py 135 135 0% 435s Apr 14 09:34:18 ------------------------------------------------------------------------------------------------------------- 435s Apr 14 09:34:18 TOTAL 54417 34415 37% 435s Apr 14 09:34:18 1 feature passed, 0 failed, 0 skipped 435s Apr 14 09:34:18 7 scenarios passed, 0 failed, 0 skipped 435s Apr 14 09:34:18 68 steps passed, 0 failed, 0 skipped, 0 undefined 435s Apr 14 09:34:18 Took 1m19.567s 435s + bash -c 'rm -rf features/output' 435s ### End 17 acceptance-etcd3 features/basic_replication.feature ### 435s + echo '### End 17 acceptance-etcd3 features/basic_replication.feature ###' 435s + rm -f /tmp/pgpass_postgres-0 /tmp/pgpass_postgres-1 /tmp/pgpass_postgres-2 435s ++ id -u 435s + '[' 1000 -eq 0 ']' 436s autopkgtest [09:34:19]: test acceptance-etcd3-basic: -----------------------] 436s autopkgtest [09:34:19]: test acceptance-etcd3-basic: - - - - - - - - - - results - - - - - - - - - - 436s acceptance-etcd3-basic PASS 437s autopkgtest [09:34:20]: test acceptance-etcd3: preparing testbed 437s Reading package lists... 438s Building dependency tree... 438s Reading state information... 438s Starting pkgProblemResolver with broken count: 0 439s Starting 2 pkgProblemResolver with broken count: 0 439s Done 440s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 441s autopkgtest [09:34:24]: test acceptance-etcd3: debian/tests/acceptance etcd3 441s autopkgtest [09:34:24]: test acceptance-etcd3: [----------------------- 441s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 441s ++ ls -1r /usr/lib/postgresql/ 441s ### PostgreSQL 17 acceptance-etcd3 ### 441s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 441s + '[' 17 == 10 -o 17 == 11 ']' 441s + echo '### PostgreSQL 17 acceptance-etcd3 ###' 441s + bash -c 'set -o pipefail; ETCD_UNSUPPORTED_ARCH=arm64 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' 442s Apr 14 09:34:25 Feature: basic replication # features/basic_replication.feature:1 442s Apr 14 09:34:25 We should check that the basic bootstrapping, replication and failover works. 442s Apr 14 09:34:25 Scenario: check replication of a single table # features/basic_replication.feature:4 442s Apr 14 09:34:25 Given I start postgres-0 # features/steps/basic_replication.py:20 446s Apr 14 09:34:29 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 446s Apr 14 09:34:29 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 446s Apr 14 09:34:29 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 447s Apr 14 09:34:29 Then I receive a response code 200 # features/steps/patroni_api.py:100 447s Apr 14 09:34:29 When I start postgres-1 # features/steps/basic_replication.py:20 451s Apr 14 09:34:34 And I configure and start postgres-2 with a tag replicatefrom postgres-0 # features/steps/cascading_replication.py:7 455s Apr 14 09:34:38 And "sync" key in DCS has leader=postgres-0 after 20 seconds # features/steps/cascading_replication.py:23 455s Apr 14 09:34:38 And I add the table foo to postgres-0 # features/steps/basic_replication.py:66 455s Apr 14 09:34:38 Then table foo is present on postgres-1 after 20 seconds # features/steps/basic_replication.py:105 456s Apr 14 09:34:39 Then table foo is present on postgres-2 after 20 seconds # features/steps/basic_replication.py:105 456s Apr 14 09:34:39 456s Apr 14 09:34:39 Scenario: check restart of sync replica # features/basic_replication.feature:17 456s Apr 14 09:34:39 Given I shut down postgres-2 # features/steps/basic_replication.py:41 457s Apr 14 09:34:40 Then "sync" key in DCS has sync_standby=postgres-1 after 5 seconds # features/steps/cascading_replication.py:23 457s Apr 14 09:34:40 When I start postgres-2 # features/steps/basic_replication.py:20 461s Apr 14 09:34:44 And I shut down postgres-1 # features/steps/basic_replication.py:41 464s Apr 14 09:34:47 Then "sync" key in DCS has sync_standby=postgres-2 after 10 seconds # features/steps/cascading_replication.py:23 465s Apr 14 09:34:48 When I start postgres-1 # features/steps/basic_replication.py:20 469s Apr 14 09:34:52 Then "members/postgres-1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 469s Apr 14 09:34:52 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:144 469s Apr 14 09:34:52 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:144 469s Apr 14 09:34:52 469s Apr 14 09:34:52 Scenario: check stuck sync replica # features/basic_replication.feature:28 469s Apr 14 09:34:52 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 469s Apr 14 09:34:52 Then I receive a response code 200 # features/steps/patroni_api.py:100 469s Apr 14 09:34:52 And I create table on postgres-0 # features/steps/basic_replication.py:85 469s Apr 14 09:34:52 And table mytest is present on postgres-1 after 2 seconds # features/steps/basic_replication.py:105 470s Apr 14 09:34:53 And table mytest is present on postgres-2 after 2 seconds # features/steps/basic_replication.py:105 470s Apr 14 09:34:53 When I pause wal replay on postgres-2 # features/steps/basic_replication.py:76 470s Apr 14 09:34:53 And I load data on postgres-0 # features/steps/basic_replication.py:96 471s Apr 14 09:34:54 Then "sync" key in DCS has sync_standby=postgres-1 after 15 seconds # features/steps/cascading_replication.py:23 474s Apr 14 09:34:57 And I resume wal replay on postgres-2 # features/steps/basic_replication.py:76 474s Apr 14 09:34:57 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:144 475s Apr 14 09:34:58 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:144 475s Apr 14 09:34:58 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 475s Apr 14 09:34:58 Then I receive a response code 200 # features/steps/patroni_api.py:100 475s Apr 14 09:34:58 And I drop table on postgres-0 # features/steps/basic_replication.py:85 475s Apr 14 09:34:58 475s Apr 14 09:34:58 Scenario: check multi sync replication # features/basic_replication.feature:44 475s Apr 14 09:34:58 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 475s Apr 14 09:34:58 Then I receive a response code 200 # features/steps/patroni_api.py:100 475s Apr 14 09:34:58 Then "sync" key in DCS has sync_standby=postgres-1,postgres-2 after 10 seconds # features/steps/cascading_replication.py:23 479s Apr 14 09:35:02 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:144 479s Apr 14 09:35:02 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:144 479s Apr 14 09:35:02 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 479s Apr 14 09:35:02 Then I receive a response code 200 # features/steps/patroni_api.py:100 479s Apr 14 09:35:02 And I shut down postgres-1 # features/steps/basic_replication.py:41 482s Apr 14 09:35:05 Then "sync" key in DCS has sync_standby=postgres-2 after 10 seconds # features/steps/cascading_replication.py:23 483s Apr 14 09:35:06 When I start postgres-1 # features/steps/basic_replication.py:20 487s Apr 14 09:35:10 Then "members/postgres-1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 488s Apr 14 09:35:11 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:144 488s Apr 14 09:35:11 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:144 489s Apr 14 09:35:12 489s Apr 14 09:35:12 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 489s Apr 14 09:35:12 Given I run patronictl.py pause batman # features/steps/patroni_api.py:88 490s Apr 14 09:35:13 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 490s Apr 14 09:35:13 When I sleep for 2 seconds # features/steps/patroni_api.py:41 492s Apr 14 09:35:15 And I shut down postgres-0 # features/steps/basic_replication.py:41 493s Apr 14 09:35:16 And I run patronictl.py resume batman # features/steps/patroni_api.py:88 495s Apr 14 09:35:18 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 495s Apr 14 09:35:18 And postgres-2 role is the primary after 24 seconds # features/steps/basic_replication.py:117 515s Apr 14 09:35:38 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:158 518s Apr 14 09:35:41 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 518s Apr 14 09:35:41 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 518s Apr 14 09:35:41 Then I receive a response code 200 # features/steps/patroni_api.py:100 518s Apr 14 09:35:41 When I add the table bar to postgres-2 # features/steps/basic_replication.py:66 518s Apr 14 09:35:41 Then table bar is present on postgres-1 after 20 seconds # features/steps/basic_replication.py:105 518s Apr 14 09:35:41 And Response on GET http://127.0.0.1:8010/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:158 518s Apr 14 09:35:41 518s Apr 14 09:35:41 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 518s Apr 14 09:35:41 Given I add the table splitbrain to postgres-0 # features/steps/basic_replication.py:66 518s Apr 14 09:35:41 And I start postgres-0 # features/steps/basic_replication.py:20 518s Apr 14 09:35:41 Then postgres-0 role is the secondary after 20 seconds # features/steps/basic_replication.py:117 527s Apr 14 09:35:50 When I add the table buz to postgres-2 # features/steps/basic_replication.py:66 527s Apr 14 09:35:50 Then table buz is present on postgres-0 after 20 seconds # features/steps/basic_replication.py:105 527s Apr 14 09:35:50 527s Apr 14 09:35:50 @reject-duplicate-name 527s Apr 14 09:35:50 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 527s Apr 14 09:35:50 Given I start duplicate postgres-0 on port 8011 # features/steps/basic_replication.py:25 529s Apr 14 09:35:52 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 534s Apr 14 09:35:57 534s Apr 14 09:35:57 Feature: cascading replication # features/cascading_replication.feature:1 534s Apr 14 09:35:57 We should check that patroni can do base backup and streaming from the replica 534s Apr 14 09:35:57 Scenario: check a base backup and streaming replication from a replica # features/cascading_replication.feature:4 534s Apr 14 09:35:57 Given I start postgres-0 # features/steps/basic_replication.py:20 538s Apr 14 09:36:01 And postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 538s Apr 14 09:36:01 And I configure and start postgres-1 with a tag clonefrom true # features/steps/cascading_replication.py:7 542s Apr 14 09:36:05 And replication works from postgres-0 to postgres-1 after 20 seconds # features/steps/basic_replication.py:124 543s Apr 14 09:36:06 And I create label with "postgres-0" in postgres-0 data directory # features/steps/cascading_replication.py:18 543s Apr 14 09:36:06 And I create label with "postgres-1" in postgres-1 data directory # features/steps/cascading_replication.py:18 543s Apr 14 09:36:06 And "members/postgres-1" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 543s Apr 14 09:36:06 And I configure and start postgres-2 with a tag replicatefrom postgres-1 # features/steps/cascading_replication.py:7 547s Apr 14 09:36:10 Then replication works from postgres-0 to postgres-2 after 30 seconds # features/steps/basic_replication.py:124 548s Apr 14 09:36:11 And there is a label with "postgres-1" in postgres-2 data directory # features/steps/cascading_replication.py:12 555s Apr 14 09:36:18 555s Apr 14 09:36:18 Feature: citus # features/citus.feature:1 555s SKIP FEATURE citus: Citus extension isn't available 555s SKIP Scenario check that worker cluster is registered in the coordinator: Citus extension isn't available 555s SKIP Scenario coordinator failover updates pg_dist_node: Citus extension isn't available 555s SKIP Scenario worker switchover doesn't break client queries on the coordinator: Citus extension isn't available 555s SKIP Scenario worker primary restart doesn't break client queries on the coordinator: Citus extension isn't available 555s 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 555s Apr 14 09:36:18 We should check that coordinator discovers and registers workers and clients don't have errors when worker cluster switches over 555s Apr 14 09:36:18 Scenario: check that worker cluster is registered in the coordinator # features/citus.feature:4 555s Apr 14 09:36:18 Given I start postgres-0 in citus group 0 # None 555s Apr 14 09:36:18 And I start postgres-2 in citus group 1 # None 555s Apr 14 09:36:18 Then postgres-0 is a leader in a group 0 after 10 seconds # None 555s Apr 14 09:36:18 And postgres-2 is a leader in a group 1 after 10 seconds # None 555s Apr 14 09:36:18 When I start postgres-1 in citus group 0 # None 555s Apr 14 09:36:18 And I start postgres-3 in citus group 1 # None 555s Apr 14 09:36:18 Then replication works from postgres-0 to postgres-1 after 15 seconds # None 555s Apr 14 09:36:18 Then replication works from postgres-2 to postgres-3 after 15 seconds # None 555s Apr 14 09:36:18 And postgres-0 is registered in the postgres-0 as the primary in group 0 after 5 seconds # None 555s Apr 14 09:36:18 And postgres-1 is registered in the postgres-0 as the secondary in group 0 after 5 seconds # None 555s Apr 14 09:36:18 And postgres-2 is registered in the postgres-0 as the primary in group 1 after 5 seconds # None 555s Apr 14 09:36:18 And postgres-3 is registered in the postgres-0 as the secondary in group 1 after 5 seconds # None 555s Apr 14 09:36:18 555s Apr 14 09:36:18 Scenario: coordinator failover updates pg_dist_node # features/citus.feature:18 555s Apr 14 09:36:18 Given I run patronictl.py failover batman --group 0 --candidate postgres-1 --force # None 555s Apr 14 09:36:18 Then postgres-1 role is the primary after 10 seconds # None 555s Apr 14 09:36:18 And "members/postgres-0" key in a group 0 in DCS has state=running after 15 seconds # None 555s Apr 14 09:36:18 And replication works from postgres-1 to postgres-0 after 15 seconds # None 555s Apr 14 09:36:18 And postgres-1 is registered in the postgres-2 as the primary in group 0 after 5 seconds # None 555s Apr 14 09:36:18 And postgres-0 is registered in the postgres-2 as the secondary in group 0 after 15 seconds # None 555s Apr 14 09:36:18 And "sync" key in a group 0 in DCS has sync_standby=postgres-0 after 15 seconds # None 555s Apr 14 09:36:18 When I run patronictl.py switchover batman --group 0 --candidate postgres-0 --force # None 555s Apr 14 09:36:18 Then postgres-0 role is the primary after 10 seconds # None 555s Apr 14 09:36:18 And replication works from postgres-0 to postgres-1 after 15 seconds # None 555s Apr 14 09:36:18 And postgres-0 is registered in the postgres-2 as the primary in group 0 after 5 seconds # None 555s Apr 14 09:36:18 And postgres-1 is registered in the postgres-2 as the secondary in group 0 after 15 seconds # None 555s Apr 14 09:36:18 And "sync" key in a group 0 in DCS has sync_standby=postgres-1 after 15 seconds # None 555s Apr 14 09:36:18 555s Apr 14 09:36:18 Scenario: worker switchover doesn't break client queries on the coordinator # features/citus.feature:33 555s Apr 14 09:36:18 Given I create a distributed table on postgres-0 # None 555s Apr 14 09:36:18 And I start a thread inserting data on postgres-0 # None 555s Apr 14 09:36:18 When I run patronictl.py switchover batman --group 1 --force # None 555s Apr 14 09:36:18 Then I receive a response returncode 0 # None 555s Apr 14 09:36:18 And postgres-3 role is the primary after 10 seconds # None 555s Apr 14 09:36:18 And "members/postgres-2" key in a group 1 in DCS has state=running after 15 seconds # None 555s Apr 14 09:36:18 And replication works from postgres-3 to postgres-2 after 15 seconds # None 555s Apr 14 09:36:18 And postgres-3 is registered in the postgres-0 as the primary in group 1 after 5 seconds # None 555s Apr 14 09:36:18 And postgres-2 is registered in the postgres-0 as the secondary in group 1 after 15 seconds # None 555s Apr 14 09:36:18 And "sync" key in a group 1 in DCS has sync_standby=postgres-2 after 15 seconds # None 555s Apr 14 09:36:18 And a thread is still alive # None 555s Apr 14 09:36:18 When I run patronictl.py switchover batman --group 1 --force # None 555s Apr 14 09:36:18 Then I receive a response returncode 0 # None 555s Apr 14 09:36:18 And postgres-2 role is the primary after 10 seconds # None 555s Apr 14 09:36:18 And replication works from postgres-2 to postgres-3 after 15 seconds # None 555s Apr 14 09:36:18 And postgres-2 is registered in the postgres-0 as the primary in group 1 after 5 seconds # None 555s Apr 14 09:36:18 And postgres-3 is registered in the postgres-0 as the secondary in group 1 after 15 seconds # None 555s Apr 14 09:36:18 And "sync" key in a group 1 in DCS has sync_standby=postgres-3 after 15 seconds # None 555s Apr 14 09:36:18 And a thread is still alive # None 555s Apr 14 09:36:18 When I stop a thread # None 555s Apr 14 09:36:18 Then a distributed table on postgres-0 has expected rows # None 555s Apr 14 09:36:18 555s Apr 14 09:36:18 Scenario: worker primary restart doesn't break client queries on the coordinator # features/citus.feature:56 555s Apr 14 09:36:18 Given I cleanup a distributed table on postgres-0 # None 555s Apr 14 09:36:18 And I start a thread inserting data on postgres-0 # None 555s Apr 14 09:36:18 When I run patronictl.py restart batman postgres-2 --group 1 --force # None 555s Apr 14 09:36:18 Then I receive a response returncode 0 # None 555s Apr 14 09:36:18 And postgres-2 role is the primary after 10 seconds # None 555s Apr 14 09:36:18 And replication works from postgres-2 to postgres-3 after 15 seconds # None 555s Apr 14 09:36:18 And postgres-2 is registered in the postgres-0 as the primary in group 1 after 5 seconds # None 555s Apr 14 09:36:18 And postgres-3 is registered in the postgres-0 as the secondary in group 1 after 15 seconds # None 555s Apr 14 09:36:18 And a thread is still alive # None 555s Apr 14 09:36:18 When I stop a thread # None 555s Apr 14 09:36:18 Then a distributed table on postgres-0 has expected rows # None 555s Apr 14 09:36:18 555s Apr 14 09:36:18 Scenario: check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node # features/citus.feature:69 555s Apr 14 09:36:18 Given I start postgres-4 in citus group 2 # None 555s Apr 14 09:36:18 Then postgres-4 is a leader in a group 2 after 10 seconds # None 555s Apr 14 09:36:18 And "members/postgres-4" key in a group 2 in DCS has role=primary after 3 seconds # None 555s Apr 14 09:36:18 When I run patronictl.py edit-config batman --group 2 -s ttl=20 --force # None 555s Apr 14 09:36:18 Then I receive a response returncode 0 # None 555s Apr 14 09:36:18 And I receive a response output "+ttl: 20" # None 555s Apr 14 09:36:18 Then postgres-4 is registered in the postgres-2 as the primary in group 2 after 5 seconds # None 555s Apr 14 09:36:18 When I shut down postgres-4 # None 555s Apr 14 09:36:18 Then there is a transaction in progress on postgres-0 changing pg_dist_node after 5 seconds # None 555s Apr 14 09:36:18 When I run patronictl.py restart batman postgres-2 --group 1 --force # None 555s Apr 14 09:36:18 Then a transaction finishes in 20 seconds # None 555s Apr 14 09:36:18 555s Apr 14 09:36:18 Feature: custom bootstrap # features/custom_bootstrap.feature:1 555s Apr 14 09:36:18 We should check that patroni can bootstrap a new cluster from a backup 555s Apr 14 09:36:18 Scenario: clone existing cluster using pg_basebackup # features/custom_bootstrap.feature:4 555s Apr 14 09:36:18 Given I start postgres-0 # features/steps/basic_replication.py:20 559s Apr 14 09:36:22 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 559s Apr 14 09:36:22 When I add the table foo to postgres-0 # features/steps/basic_replication.py:66 559s Apr 14 09:36:22 And I start postgres-1 in a cluster batman1 as a clone of postgres-0 # features/steps/custom_bootstrap.py:6 563s Apr 14 09:36:26 Then postgres-1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 564s Apr 14 09:36:27 Then table foo is present on postgres-1 after 10 seconds # features/steps/basic_replication.py:105 564s Apr 14 09:36:27 564s Apr 14 09:36:27 Scenario: make a backup and do a restore into a new cluster # features/custom_bootstrap.feature:12 564s Apr 14 09:36:27 Given I add the table bar to postgres-1 # features/steps/basic_replication.py:66 564s Apr 14 09:36:27 And I do a backup of postgres-1 # features/steps/custom_bootstrap.py:25 565s Apr 14 09:36:28 When I start postgres-2 in a cluster batman2 from backup # features/steps/custom_bootstrap.py:11 571s Apr 14 09:36:34 Then postgres-2 is a leader of batman2 after 30 seconds # features/steps/custom_bootstrap.py:16 571s Apr 14 09:36:34 And table bar is present on postgres-2 after 10 seconds # features/steps/basic_replication.py:105 577s Apr 14 09:36:40 577s Apr 14 09:36:40 Feature: dcs failsafe mode # features/dcs_failsafe_mode.feature:1 577s Apr 14 09:36:40 We should check the basic dcs failsafe mode functioning 577s Apr 14 09:36:40 Scenario: check failsafe mode can be successfully enabled # features/dcs_failsafe_mode.feature:4 577s Apr 14 09:36:40 Given I start postgres-0 # features/steps/basic_replication.py:20 581s Apr 14 09:36:44 And postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 581s Apr 14 09:36:44 Then "config" key in DCS has ttl=30 after 10 seconds # features/steps/cascading_replication.py:23 581s Apr 14 09:36:44 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 581s Apr 14 09:36:44 Then I receive a response code 200 # features/steps/patroni_api.py:100 581s Apr 14 09:36:44 And Response on GET http://127.0.0.1:8008/failsafe contains postgres-0 after 10 seconds # features/steps/patroni_api.py:158 582s Apr 14 09:36:45 When I issue a GET request to http://127.0.0.1:8008/failsafe # features/steps/patroni_api.py:63 582s Apr 14 09:36:45 Then I receive a response code 200 # features/steps/patroni_api.py:100 582s Apr 14 09:36:45 And I receive a response postgres-0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:100 582s Apr 14 09:36:45 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 582s Apr 14 09:36:45 Then I receive a response code 200 # features/steps/patroni_api.py:100 582s Apr 14 09:36:45 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 582s Apr 14 09:36:45 Then I receive a response code 200 # features/steps/patroni_api.py:100 582s SKIP Scenario check one-node cluster is functioning while DCS is down: it is not possible to control state of etcd3 from tests 582s 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 582s Apr 14 09:36:45 582s Apr 14 09:36:45 @dcs-failsafe 582s Apr 14 09:36:45 Scenario: check one-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:20 582s Apr 14 09:36:45 Given DCS is down # None 582s Apr 14 09:36:45 Then Response on GET http://127.0.0.1:8008/primary contains failsafe_mode_is_active after 12 seconds # None 582s Apr 14 09:36:45 And postgres-0 role is the primary after 10 seconds # None 582s Apr 14 09:36:45 582s Apr 14 09:36:45 @dcs-failsafe 582s Apr 14 09:36:45 Scenario: check new replica isn't promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:26 582s Apr 14 09:36:45 Given DCS is up # None 582s Apr 14 09:36:45 When I do a backup of postgres-0 # None 582s Apr 14 09:36:45 And I shut down postgres-0 # None 582s Apr 14 09:36:45 When I start postgres-1 in a cluster batman from backup with no_leader # None 582s Apr 14 09:36:45 Then postgres-1 role is the replica after 12 seconds # None 582s Apr 14 09:36:45 582s Apr 14 09:36:45 Scenario: check leader and replica are both in /failsafe key after leader is back # features/dcs_failsafe_mode.feature:33 582s Apr 14 09:36:45 Given I start postgres-0 # features/steps/basic_replication.py:20 582s Apr 14 09:36:45 And I start postgres-1 # features/steps/basic_replication.py:20 586s Apr 14 09:36:49 Then "members/postgres-0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 586s Apr 14 09:36:49 And "members/postgres-1" key in DCS has state=running after 2 seconds # features/steps/cascading_replication.py:23 586s Apr 14 09:36:49 And Response on GET http://127.0.0.1:8009/failsafe contains postgres-1 after 10 seconds # features/steps/patroni_api.py:158 586s Apr 14 09:36:49 When I issue a GET request to http://127.0.0.1:8009/failsafe # features/steps/patroni_api.py:63 587s Apr 14 09:36:49 Then I receive a response code 200 # features/steps/patroni_api.py:100 587s Apr 14 09:36:49 And I receive a response postgres-0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:100 587s Apr 14 09:36:49 And I receive a response postgres-1 http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:100 587s Apr 14 09:36:49 587s SKIP Scenario check leader and replica are functioning while DCS is down: it is not possible to control state of etcd3 from tests 587s 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 587s Apr 14 09:36:49 @dcs-failsafe @slot-advance 587s Apr 14 09:36:49 Scenario: check leader and replica are functioning while DCS is down # features/dcs_failsafe_mode.feature:46 587s Apr 14 09:36:49 Given I get all changes from physical slot dcs_slot_1 on postgres-0 # None 587s Apr 14 09:36:49 Then physical slot dcs_slot_1 is in sync between postgres-0 and postgres-1 after 10 seconds # None 587s Apr 14 09:36:49 And logical slot dcs_slot_0 is in sync between postgres-0 and postgres-1 after 10 seconds # None 587s Apr 14 09:36:49 And DCS is down # None 587s Apr 14 09:36:49 Then Response on GET http://127.0.0.1:8008/primary contains failsafe_mode_is_active after 12 seconds # None 587s Apr 14 09:36:49 Then postgres-0 role is the primary after 10 seconds # None 587s Apr 14 09:36:49 And postgres-1 role is the replica after 2 seconds # None 587s Apr 14 09:36:49 And replication works from postgres-0 to postgres-1 after 10 seconds # None 587s Apr 14 09:36:49 When I get all changes from logical slot dcs_slot_0 on postgres-0 # None 587s Apr 14 09:36:49 And I get all changes from physical slot dcs_slot_1 on postgres-0 # None 587s Apr 14 09:36:49 Then logical slot dcs_slot_0 is in sync between postgres-0 and postgres-1 after 20 seconds # None 587s Apr 14 09:36:49 And physical slot dcs_slot_1 is in sync between postgres-0 and postgres-1 after 10 seconds # None 587s 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 587s Apr 14 09:36:49 587s Apr 14 09:36:49 @dcs-failsafe 587s Apr 14 09:36:49 Scenario: check primary is demoted when one replica is shut down and DCS is down # features/dcs_failsafe_mode.feature:61 587s Apr 14 09:36:49 Given DCS is down # None 587s Apr 14 09:36:49 And I kill postgres-1 # None 587s Apr 14 09:36:49 And I kill postmaster on postgres-1 # None 587s Apr 14 09:36:49 Then postgres-0 role is the replica after 12 seconds # None 587s Apr 14 09:36:49 587s Apr 14 09:36:49 @dcs-failsafe 587s Apr 14 09:36:49 Scenario: check known replica is promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:68 587s Apr 14 09:36:49 Given I kill postgres-0 # None 587s Apr 14 09:36:49 And I shut down postmaster on postgres-0 # None 587s Apr 14 09:36:49 And DCS is up # None 587s Apr 14 09:36:49 When I start postgres-1 # None 587s Apr 14 09:36:49 Then "members/postgres-1" key in DCS has state=running after 10 seconds # None 587s Apr 14 09:36:49 And postgres-1 role is the primary after 25 seconds # None 587s Apr 14 09:36:49 587s Apr 14 09:36:49 @dcs-failsafe 587s Apr 14 09:36:49 Scenario: scale to three-node cluster # features/dcs_failsafe_mode.feature:77 587s Apr 14 09:36:49 Given I start postgres-0 # None 587s Apr 14 09:36:49 And I configure and start postgres-2 with a tag replicatefrom postgres-0 # None 587s Apr 14 09:36:49 Then "members/postgres-2" key in DCS has state=running after 10 seconds # None 587s Apr 14 09:36:49 And "members/postgres-0" key in DCS has state=running after 20 seconds # None 587s Apr 14 09:36:49 And Response on GET http://127.0.0.1:8008/failsafe contains postgres-2 after 10 seconds # None 587s Apr 14 09:36:49 And replication works from postgres-1 to postgres-0 after 10 seconds # None 587s Apr 14 09:36:49 And replication works from postgres-1 to postgres-2 after 10 seconds # None 587s Apr 14 09:36:49 587s Apr 14 09:36:49 @dcs-failsafe @slot-advance 587s Apr 14 09:36:49 Scenario: make sure permanent slots exist on replicas # features/dcs_failsafe_mode.feature:88 587s Apr 14 09:36:49 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 587s Apr 14 09:36:49 Then logical slot dcs_slot_2 is in sync between postgres-1 and postgres-0 after 20 seconds # None 587s Apr 14 09:36:49 And logical slot dcs_slot_2 is in sync between postgres-1 and postgres-2 after 20 seconds # None 587s Apr 14 09:36:49 When I get all changes from physical slot dcs_slot_1 on postgres-1 # None 587s Apr 14 09:36:49 Then physical slot dcs_slot_1 is in sync between postgres-1 and postgres-0 after 10 seconds # None 587s Apr 14 09:36:49 And physical slot dcs_slot_1 is in sync between postgres-1 and postgres-2 after 10 seconds # None 587s Apr 14 09:36:49 And physical slot postgres_0 is in sync between postgres-1 and postgres-2 after 10 seconds # None 587s Apr 14 09:36:49 And physical slot postgres_2 is in sync between postgres-0 and postgres-1 after 10 seconds # None 587s SKIP Scenario scale to three-node cluster: it is not possible to control state of etcd3 from tests 587s SKIP Scenario make sure permanent slots exist on replicas: it is not possible to control state of etcd3 from tests 587s SKIP Scenario check three-node cluster is functioning while DCS is down: it is not possible to control state of etcd3 from tests 587s 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 587s Apr 14 09:36:49 587s Apr 14 09:36:49 @dcs-failsafe 587s Apr 14 09:36:49 Scenario: check three-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:99 587s Apr 14 09:36:49 Given DCS is down # None 587s Apr 14 09:36:49 Then Response on GET http://127.0.0.1:8009/primary contains failsafe_mode_is_active after 12 seconds # None 587s Apr 14 09:36:49 Then postgres-1 role is the primary after 10 seconds # None 587s Apr 14 09:36:49 And postgres-0 role is the replica after 2 seconds # None 587s Apr 14 09:36:49 And postgres-2 role is the replica after 2 seconds # None 591s Apr 14 09:36:54 591s Apr 14 09:36:54 @dcs-failsafe @slot-advance 591s Apr 14 09:36:54 Scenario: check that permanent slots are in sync between nodes while DCS is down # features/dcs_failsafe_mode.feature:108 591s Apr 14 09:36:54 Given replication works from postgres-1 to postgres-0 after 10 seconds # None 591s Apr 14 09:36:54 And replication works from postgres-1 to postgres-2 after 10 seconds # None 591s Apr 14 09:36:54 When I get all changes from logical slot dcs_slot_2 on postgres-1 # None 591s Apr 14 09:36:54 And I get all changes from physical slot dcs_slot_1 on postgres-1 # None 591s Apr 14 09:36:54 Then logical slot dcs_slot_2 is in sync between postgres-1 and postgres-0 after 20 seconds # None 591s Apr 14 09:36:54 And logical slot dcs_slot_2 is in sync between postgres-1 and postgres-2 after 20 seconds # None 591s Apr 14 09:36:54 And physical slot dcs_slot_1 is in sync between postgres-1 and postgres-0 after 10 seconds # None 591s Apr 14 09:36:54 And physical slot dcs_slot_1 is in sync between postgres-1 and postgres-2 after 10 seconds # None 591s Apr 14 09:36:54 And physical slot postgres_0 is in sync between postgres-1 and postgres-2 after 10 seconds # None 591s Apr 14 09:36:54 And physical slot postgres_2 is in sync between postgres-0 and postgres-1 after 10 seconds # None 591s Apr 14 09:36:54 591s Apr 14 09:36:54 Feature: ignored slots # features/ignored_slots.feature:1 591s Apr 14 09:36:54 591s Apr 14 09:36:54 Scenario: check ignored slots aren't removed on failover/switchover # features/ignored_slots.feature:2 591s Apr 14 09:36:54 Given I start postgres-1 # features/steps/basic_replication.py:20 594s Apr 14 09:36:57 Then postgres-1 is a leader after 10 seconds # features/steps/patroni_api.py:31 595s Apr 14 09:36:58 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 595s Apr 14 09:36:58 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 595s Apr 14 09:36:58 Then I receive a response code 200 # features/steps/patroni_api.py:100 595s Apr 14 09:36:58 And Response on GET http://127.0.0.1:8009/config contains ignore_slots after 10 seconds # features/steps/patroni_api.py:158 595s Apr 14 09:36:58 When I shut down postgres-1 # features/steps/basic_replication.py:41 597s Apr 14 09:37:00 And I start postgres-1 # features/steps/basic_replication.py:20 600s Apr 14 09:37:03 Then postgres-1 is a leader after 10 seconds # features/steps/patroni_api.py:31 600s Apr 14 09:37:03 And "members/postgres-1" key in DCS has role=primary after 10 seconds # features/steps/cascading_replication.py:23 605s Apr 14 09:37:08 And postgres-1 role is the primary after 20 seconds # features/steps/basic_replication.py:117 605s Apr 14 09:37:08 When I create a logical replication slot unmanaged_slot_0 on postgres-1 with the test_decoding plugin # features/steps/slots.py:9 605s Apr 14 09:37:08 And I create a logical replication slot unmanaged_slot_1 on postgres-1 with the test_decoding plugin # features/steps/slots.py:9 605s Apr 14 09:37:08 And I create a logical replication slot unmanaged_slot_2 on postgres-1 with the test_decoding plugin # features/steps/slots.py:9 605s Apr 14 09:37:08 And I create a logical replication slot unmanaged_slot_3 on postgres-1 with the test_decoding plugin # features/steps/slots.py:9 605s Apr 14 09:37:08 And I create a logical replication slot dummy_slot on postgres-1 with the test_decoding plugin # features/steps/slots.py:9 605s Apr 14 09:37:08 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 605s Apr 14 09:37:08 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 605s Apr 14 09:37:08 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 605s Apr 14 09:37:08 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 605s Apr 14 09:37:08 When I start postgres-0 # features/steps/basic_replication.py:20 609s Apr 14 09:37:12 Then "members/postgres-0" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 609s Apr 14 09:37:12 And postgres-0 role is the secondary after 20 seconds # features/steps/basic_replication.py:117 609s Apr 14 09:37:12 And replication works from postgres-1 to postgres-0 after 20 seconds # features/steps/basic_replication.py:124 610s Apr 14 09:37:13 When I shut down postgres-1 # features/steps/basic_replication.py:41 612s Apr 14 09:37:15 Then "members/postgres-0" key in DCS has role=primary after 10 seconds # features/steps/cascading_replication.py:23 613s Apr 14 09:37:16 When I start postgres-1 # features/steps/basic_replication.py:20 616s Apr 14 09:37:19 Then postgres-1 role is the secondary after 20 seconds # features/steps/basic_replication.py:117 616s Apr 14 09:37:19 And "members/postgres-1" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 616s Apr 14 09:37:19 And I sleep for 2 seconds # features/steps/patroni_api.py:41 618s Apr 14 09:37:21 And postgres-1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:20 618s Apr 14 09:37:21 And postgres-1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:20 618s Apr 14 09:37:21 And postgres-1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:20 618s Apr 14 09:37:21 And postgres-1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:20 618s Apr 14 09:37:21 And postgres-1 does not have a replication slot named dummy_slot # features/steps/slots.py:41 618s Apr 14 09:37:21 When I shut down postgres-0 # features/steps/basic_replication.py:41 620s Apr 14 09:37:23 Then "members/postgres-1" key in DCS has role=primary after 10 seconds # features/steps/cascading_replication.py:23 621s Apr 14 09:37:24 And postgres-1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:20 621s Apr 14 09:37:24 And postgres-1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:20 621s Apr 14 09:37:24 And postgres-1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:20 621s Apr 14 09:37:24 And postgres-1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:20 623s Apr 14 09:37:26 623s Apr 14 09:37:26 Feature: nostream node # features/nostream_node.feature:1 623s Apr 14 09:37:26 623s Apr 14 09:37:26 Scenario: check nostream node is recovering from archive # features/nostream_node.feature:3 623s Apr 14 09:37:26 When I start postgres-0 # features/steps/basic_replication.py:20 626s Apr 14 09:37:29 And I configure and start postgres-1 with a tag nostream true # features/steps/cascading_replication.py:7 629s Apr 14 09:37:32 Then "members/postgres-1" key in DCS has replication_state=in archive recovery after 10 seconds # features/steps/cascading_replication.py:23 630s Apr 14 09:37:33 And replication works from postgres-0 to postgres-1 after 30 seconds # features/steps/basic_replication.py:124 635s Apr 14 09:37:38 635s Apr 14 09:37:38 @slot-advance 635s Apr 14 09:37:38 Scenario: check permanent logical replication slots are not copied # features/nostream_node.feature:10 635s Apr 14 09:37:38 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 635s Apr 14 09:37:38 Then I receive a response code 200 # features/steps/patroni_api.py:100 635s Apr 14 09:37:38 When I run patronictl.py restart batman postgres-0 --force # features/steps/patroni_api.py:88 637s Apr 14 09:37:40 Then postgres-0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:20 638s Apr 14 09:37:41 When I configure and start postgres-2 with a tag replicatefrom postgres-1 # features/steps/cascading_replication.py:7 641s Apr 14 09:37:44 Then "members/postgres-2" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 646s Apr 14 09:37:49 And postgres-1 does not have a replication slot named test_logical # features/steps/slots.py:41 646s Apr 14 09:37:49 And postgres-2 does not have a replication slot named test_logical # features/steps/slots.py:41 646s Apr 14 09:37:49 646s Apr 14 09:37:49 @slot-advance 646s Apr 14 09:37:49 Scenario: check that slots are written to the /status key # features/nostream_node.feature:21 646s Apr 14 09:37:49 Given "status" key in DCS has postgres_0 in slots # features/steps/slots.py:118 646s Apr 14 09:37:49 And "status" key in DCS has postgres_2 in slots # features/steps/slots.py:118 646s Apr 14 09:37:49 And "status" key in DCS has test_logical in slots # features/steps/slots.py:118 646s Apr 14 09:37:49 And "status" key in DCS has test_logical in slots # features/steps/slots.py:118 646s Apr 14 09:37:49 And "status" key in DCS does not have postgres_1 in slots # features/steps/slots.py:124 651s Apr 14 09:37:54 651s Apr 14 09:37:54 Feature: patroni api # features/patroni_api.feature:1 651s Apr 14 09:37:54 We should check that patroni correctly responds to valid and not-valid API requests. 651s Apr 14 09:37:54 Scenario: check API requests on a stand-alone server # features/patroni_api.feature:4 651s Apr 14 09:37:54 Given I start postgres-0 # features/steps/basic_replication.py:20 654s Apr 14 09:37:57 And postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 655s Apr 14 09:37:58 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:63 655s Apr 14 09:37:58 Then I receive a response code 200 # features/steps/patroni_api.py:100 655s Apr 14 09:37:58 And I receive a response state running # features/steps/patroni_api.py:100 655s Apr 14 09:37:58 And I receive a response role primary # features/steps/patroni_api.py:100 655s Apr 14 09:37:58 When I issue a GET request to http://127.0.0.1:8008/standby_leader # features/steps/patroni_api.py:63 655s Apr 14 09:37:58 Then I receive a response code 503 # features/steps/patroni_api.py:100 655s Apr 14 09:37:58 When I issue a GET request to http://127.0.0.1:8008/health # features/steps/patroni_api.py:63 656s Apr 14 09:37:59 Then I receive a response code 200 # features/steps/patroni_api.py:100 656s Apr 14 09:37:59 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:63 656s Apr 14 09:37:59 Then I receive a response code 503 # features/steps/patroni_api.py:100 656s Apr 14 09:37:59 When I issue a POST request to http://127.0.0.1:8008/reinitialize with {"force": true} # features/steps/patroni_api.py:73 656s Apr 14 09:37:59 Then I receive a response code 503 # features/steps/patroni_api.py:100 656s Apr 14 09:37:59 And I receive a response text I am the leader, can not reinitialize # features/steps/patroni_api.py:100 656s Apr 14 09:37:59 When I run patronictl.py switchover batman --primary postgres-0 --force # features/steps/patroni_api.py:88 657s Apr 14 09:38:00 Then I receive a response returncode 1 # features/steps/patroni_api.py:100 657s Apr 14 09:38:00 And I receive a response output "Error: No candidates found to switchover to" # features/steps/patroni_api.py:100 657s Apr 14 09:38:00 When I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres-0"} # features/steps/patroni_api.py:73 657s Apr 14 09:38:00 Then I receive a response code 412 # features/steps/patroni_api.py:100 657s Apr 14 09:38:00 And I receive a response text switchover is not possible: cluster does not have members except leader # features/steps/patroni_api.py:100 657s Apr 14 09:38:00 When I issue an empty POST request to http://127.0.0.1:8008/failover # features/steps/patroni_api.py:68 657s Apr 14 09:38:00 Then I receive a response code 400 # features/steps/patroni_api.py:100 657s Apr 14 09:38:00 When I issue a POST request to http://127.0.0.1:8008/failover with {"foo": "bar"} # features/steps/patroni_api.py:73 657s Apr 14 09:38:00 Then I receive a response code 400 # features/steps/patroni_api.py:100 657s Apr 14 09:38:00 And I receive a response text "Failover could be performed only to a specific candidate" # features/steps/patroni_api.py:100 657s Apr 14 09:38:00 657s Apr 14 09:38:00 Scenario: check local configuration reload # features/patroni_api.feature:32 657s Apr 14 09:38:00 Given I add tag new_tag new_value to postgres-0 config # features/steps/patroni_api.py:139 657s Apr 14 09:38:00 And I issue an empty POST request to http://127.0.0.1:8008/reload # features/steps/patroni_api.py:68 657s Apr 14 09:38:00 Then I receive a response code 202 # features/steps/patroni_api.py:100 657s Apr 14 09:38:00 657s Apr 14 09:38:00 Scenario: check dynamic configuration change via DCS # features/patroni_api.feature:37 657s Apr 14 09:38:00 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 657s Apr 14 09:38:00 Then I receive a response code 200 # features/steps/patroni_api.py:100 657s Apr 14 09:38:00 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 11 seconds # features/steps/patroni_api.py:158 660s Apr 14 09:38:03 When I issue a GET request to http://127.0.0.1:8008/config # features/steps/patroni_api.py:63 660s Apr 14 09:38:03 Then I receive a response code 200 # features/steps/patroni_api.py:100 660s Apr 14 09:38:03 And I receive a response ttl 20 # features/steps/patroni_api.py:100 660s Apr 14 09:38:03 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:63 660s Apr 14 09:38:03 Then I receive a response code 200 # features/steps/patroni_api.py:100 660s Apr 14 09:38:03 And I receive a response tags {'new_tag': 'new_value'} # features/steps/patroni_api.py:100 660s Apr 14 09:38:03 And I sleep for 4 seconds # features/steps/patroni_api.py:41 664s Apr 14 09:38:07 664s Apr 14 09:38:07 Scenario: check the scheduled restart # features/patroni_api.feature:49 664s Apr 14 09:38:07 Given I run patronictl.py edit-config -p 'superuser_reserved_connections=6' --force batman # features/steps/patroni_api.py:88 665s Apr 14 09:38:08 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 665s Apr 14 09:38:08 And I receive a response output "+ superuser_reserved_connections: 6" # features/steps/patroni_api.py:100 665s Apr 14 09:38:08 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 5 seconds # features/steps/patroni_api.py:158 665s Apr 14 09:38:08 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 665s Apr 14 09:38:08 Then I receive a response code 202 # features/steps/patroni_api.py:100 665s Apr 14 09:38:08 And I sleep for 8 seconds # features/steps/patroni_api.py:41 673s Apr 14 09:38:16 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 10 seconds # features/steps/patroni_api.py:158 673s Apr 14 09:38:16 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 674s Apr 14 09:38:17 Then I receive a response code 202 # features/steps/patroni_api.py:100 674s Apr 14 09:38:17 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 680s Apr 14 09:38:23 And postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 681s Apr 14 09:38:24 681s Apr 14 09:38:24 Scenario: check API requests for the primary-replica pair in the pause mode # features/patroni_api.feature:63 681s Apr 14 09:38:24 Given I start postgres-1 # features/steps/basic_replication.py:20 684s Apr 14 09:38:27 Then replication works from postgres-0 to postgres-1 after 20 seconds # features/steps/basic_replication.py:124 685s Apr 14 09:38:28 When I run patronictl.py pause batman # features/steps/patroni_api.py:88 686s Apr 14 09:38:29 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 686s Apr 14 09:38:29 When I kill postmaster on postgres-1 # features/steps/basic_replication.py:56 686s Apr 14 09:38:29 waiting for server to shut down.... done 686s Apr 14 09:38:29 server stopped 686s Apr 14 09:38:29 And I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:63 686s Apr 14 09:38:29 Then I receive a response code 503 # features/steps/patroni_api.py:100 686s Apr 14 09:38:29 And "members/postgres-1" key in DCS has state=stopped after 10 seconds # features/steps/cascading_replication.py:23 688s Apr 14 09:38:31 When I run patronictl.py restart batman postgres-1 --force # features/steps/patroni_api.py:88 691s Apr 14 09:38:34 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 691s Apr 14 09:38:34 Then replication works from postgres-0 to postgres-1 after 20 seconds # features/steps/basic_replication.py:124 692s Apr 14 09:38:35 And I sleep for 2 seconds # features/steps/patroni_api.py:41 694s Apr 14 09:38:37 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:63 694s Apr 14 09:38:37 Then I receive a response code 200 # features/steps/patroni_api.py:100 694s Apr 14 09:38:37 And I receive a response state running # features/steps/patroni_api.py:100 694s Apr 14 09:38:37 And I receive a response role replica # features/steps/patroni_api.py:100 694s Apr 14 09:38:37 When I run patronictl.py reinit batman postgres-1 --force --wait # features/steps/patroni_api.py:88 697s Apr 14 09:38:40 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 697s Apr 14 09:38:40 And I receive a response output "Success: reinitialize for member postgres-1" # features/steps/patroni_api.py:100 697s Apr 14 09:38:40 And postgres-1 role is the secondary after 30 seconds # features/steps/basic_replication.py:117 698s Apr 14 09:38:41 And replication works from postgres-0 to postgres-1 after 20 seconds # features/steps/basic_replication.py:124 699s Apr 14 09:38:42 When I run patronictl.py restart batman postgres-0 --force # features/steps/patroni_api.py:88 700s Apr 14 09:38:43 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 700s Apr 14 09:38:43 And I receive a response output "Success: restart on member postgres-0" # features/steps/patroni_api.py:100 700s Apr 14 09:38:43 And postgres-0 role is the primary after 5 seconds # features/steps/basic_replication.py:117 701s Apr 14 09:38:44 701s Apr 14 09:38:44 Scenario: check the switchover via the API in the pause mode # features/patroni_api.feature:90 701s Apr 14 09:38:44 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 704s Apr 14 09:38:47 Then I receive a response code 200 # features/steps/patroni_api.py:100 704s Apr 14 09:38:47 And postgres-1 is a leader after 5 seconds # features/steps/patroni_api.py:31 704s Apr 14 09:38:47 And postgres-1 role is the primary after 10 seconds # features/steps/basic_replication.py:117 705s Apr 14 09:38:48 And postgres-0 role is the secondary after 10 seconds # features/steps/basic_replication.py:117 710s Apr 14 09:38:53 And replication works from postgres-1 to postgres-0 after 20 seconds # features/steps/basic_replication.py:124 710s Apr 14 09:38:53 And "members/postgres-0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 711s Apr 14 09:38:54 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:63 711s Apr 14 09:38:54 Then I receive a response code 503 # features/steps/patroni_api.py:100 711s Apr 14 09:38:54 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:63 711s Apr 14 09:38:54 Then I receive a response code 200 # features/steps/patroni_api.py:100 711s Apr 14 09:38:54 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:63 711s Apr 14 09:38:54 Then I receive a response code 200 # features/steps/patroni_api.py:100 711s Apr 14 09:38:54 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:63 711s Apr 14 09:38:54 Then I receive a response code 503 # features/steps/patroni_api.py:100 711s Apr 14 09:38:54 711s Apr 14 09:38:54 Scenario: check the scheduled switchover # features/patroni_api.feature:107 711s Apr 14 09:38:54 Given I issue a scheduled switchover from postgres-1 to postgres-0 in 10 seconds # features/steps/patroni_api.py:119 712s Apr 14 09:38:55 Then I receive a response returncode 1 # features/steps/patroni_api.py:100 712s Apr 14 09:38:55 And I receive a response output "Can't schedule switchover in the paused state" # features/steps/patroni_api.py:100 712s Apr 14 09:38:55 When I run patronictl.py resume batman # features/steps/patroni_api.py:88 713s Apr 14 09:38:56 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 713s Apr 14 09:38:56 Given I issue a scheduled switchover from postgres-1 to postgres-0 in 10 seconds # features/steps/patroni_api.py:119 714s Apr 14 09:38:57 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 714s Apr 14 09:38:57 And postgres-0 is a leader after 20 seconds # features/steps/patroni_api.py:31 725s Apr 14 09:39:08 And postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 725s Apr 14 09:39:08 And postgres-1 role is the secondary after 10 seconds # features/steps/basic_replication.py:117 728s Apr 14 09:39:11 And replication works from postgres-0 to postgres-1 after 25 seconds # features/steps/basic_replication.py:124 728s Apr 14 09:39:11 And "members/postgres-1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 729s Apr 14 09:39:12 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:63 729s Apr 14 09:39:12 Then I receive a response code 200 # features/steps/patroni_api.py:100 729s Apr 14 09:39:12 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:63 729s Apr 14 09:39:12 Then I receive a response code 503 # features/steps/patroni_api.py:100 729s Apr 14 09:39:12 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:63 729s Apr 14 09:39:12 Then I receive a response code 503 # features/steps/patroni_api.py:100 729s Apr 14 09:39:12 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:63 729s Apr 14 09:39:12 Then I receive a response code 200 # features/steps/patroni_api.py:100 733s Apr 14 09:39:16 733s Apr 14 09:39:16 Feature: permanent slots # features/permanent_slots.feature:1 733s Apr 14 09:39:16 733s Apr 14 09:39:16 Scenario: check that physical permanent slots are created # features/permanent_slots.feature:2 733s Apr 14 09:39:16 Given I start postgres-0 # features/steps/basic_replication.py:20 736s Apr 14 09:39:19 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 736s Apr 14 09:39:19 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 736s Apr 14 09:39:19 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 737s Apr 14 09:39:20 Then I receive a response code 200 # features/steps/patroni_api.py:100 737s Apr 14 09:39:20 And Response on GET http://127.0.0.1:8008/config contains slots after 10 seconds # features/steps/patroni_api.py:158 737s Apr 14 09:39:20 When I start postgres-1 # features/steps/basic_replication.py:20 740s Apr 14 09:39:23 And I configure and start postgres-2 with a tag nofailover true # features/steps/cascading_replication.py:7 743s Apr 14 09:39:26 And I configure and start postgres-3 with a tag replicatefrom postgres-2 # features/steps/cascading_replication.py:7 746s Apr 14 09:39:29 Then postgres-0 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:82 746s Apr 14 09:39:29 And postgres-0 has a physical replication slot named postgres_1 after 10 seconds # features/steps/slots.py:82 746s Apr 14 09:39:29 And postgres-0 has a physical replication slot named postgres_2 after 10 seconds # features/steps/slots.py:82 746s Apr 14 09:39:29 And postgres-2 has a physical replication slot named postgres_3 after 10 seconds # features/steps/slots.py:82 746s Apr 14 09:39:29 And postgres-2 does not have a replication slot named test_physical # features/steps/slots.py:41 746s Apr 14 09:39:29 746s Apr 14 09:39:29 @slot-advance 746s Apr 14 09:39:29 Scenario: check that logical permanent slots are created # features/permanent_slots.feature:19 746s Apr 14 09:39:29 Given I run patronictl.py restart batman postgres-0 --force # features/steps/patroni_api.py:88 748s Apr 14 09:39:30 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 748s Apr 14 09:39:31 Then postgres-0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:20 749s Apr 14 09:39:32 749s Apr 14 09:39:32 @slot-advance 749s Apr 14 09:39:32 Scenario: check that permanent slots are created on replicas # features/permanent_slots.feature:25 749s Apr 14 09:39:32 Given postgres-1 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:20 754s Apr 14 09:39:37 Then Logical slot test_logical is in sync between postgres-0 and postgres-1 after 10 seconds # features/steps/slots.py:52 754s Apr 14 09:39:37 And Logical slot test_logical is in sync between postgres-0 and postgres-3 after 10 seconds # features/steps/slots.py:52 755s Apr 14 09:39:38 And postgres-1 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:82 755s Apr 14 09:39:38 And postgres-2 does not have a replication slot named test_logical # features/steps/slots.py:41 755s Apr 14 09:39:38 And postgres-3 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:82 755s Apr 14 09:39:38 755s Apr 14 09:39:38 @slot-advance 755s Apr 14 09:39:38 Scenario: check permanent physical slots that match with member names # features/permanent_slots.feature:34 755s Apr 14 09:39:38 Given postgres-0 has a physical replication slot named postgres_3 after 2 seconds # features/steps/slots.py:82 755s Apr 14 09:39:38 And postgres-1 has a physical replication slot named postgres_0 after 2 seconds # features/steps/slots.py:82 755s Apr 14 09:39:38 And postgres-1 has a physical replication slot named postgres_2 after 2 seconds # features/steps/slots.py:82 755s Apr 14 09:39:38 And postgres-1 has a physical replication slot named postgres_3 after 2 seconds # features/steps/slots.py:82 755s Apr 14 09:39:38 And postgres-2 does not have a replication slot named postgres_0 # features/steps/slots.py:41 755s Apr 14 09:39:38 And postgres-2 does not have a replication slot named postgres_1 # features/steps/slots.py:41 755s Apr 14 09:39:38 And postgres-2 has a physical replication slot named postgres_3 after 2 seconds # features/steps/slots.py:82 755s Apr 14 09:39:38 And postgres-3 has a physical replication slot named postgres_0 after 2 seconds # features/steps/slots.py:82 755s Apr 14 09:39:38 And postgres-3 has a physical replication slot named postgres_1 after 2 seconds # features/steps/slots.py:82 755s Apr 14 09:39:38 And postgres-3 has a physical replication slot named postgres_2 after 2 seconds # features/steps/slots.py:82 755s Apr 14 09:39:38 755s Apr 14 09:39:38 @slot-advance 755s Apr 14 09:39:38 Scenario: check that permanent slots are advanced on replicas # features/permanent_slots.feature:47 755s Apr 14 09:39:38 Given I add the table replicate_me to postgres-0 # features/steps/basic_replication.py:66 755s Apr 14 09:39:38 When I get all changes from logical slot test_logical on postgres-0 # features/steps/slots.py:72 755s Apr 14 09:39:38 And I get all changes from physical slot test_physical on postgres-0 # features/steps/slots.py:77 755s Apr 14 09:39:38 Then Logical slot test_logical is in sync between postgres-0 and postgres-1 after 10 seconds # features/steps/slots.py:52 756s Apr 14 09:39:39 And Physical slot test_physical is in sync between postgres-0 and postgres-1 after 10 seconds # features/steps/slots.py:52 756s Apr 14 09:39:39 And Logical slot test_logical is in sync between postgres-0 and postgres-3 after 10 seconds # features/steps/slots.py:52 756s Apr 14 09:39:39 And Physical slot test_physical is in sync between postgres-0 and postgres-3 after 10 seconds # features/steps/slots.py:52 756s Apr 14 09:39:39 And Physical slot postgres_1 is in sync between postgres-0 and postgres-3 after 10 seconds # features/steps/slots.py:52 756s Apr 14 09:39:39 And Physical slot postgres_3 is in sync between postgres-2 and postgres-0 after 20 seconds # features/steps/slots.py:52 758s Apr 14 09:39:41 And Physical slot postgres_3 is in sync between postgres-2 and postgres-1 after 10 seconds # features/steps/slots.py:52 759s Apr 14 09:39:42 759s Apr 14 09:39:42 @slot-advance 759s Apr 14 09:39:42 Scenario: check that permanent slots and member slots are written to the /status key # features/permanent_slots.feature:60 759s Apr 14 09:39:42 Given "status" key in DCS has test_physical in slots # features/steps/slots.py:118 759s Apr 14 09:39:42 And "status" key in DCS has postgres_0 in slots # features/steps/slots.py:118 759s Apr 14 09:39:42 And "status" key in DCS has postgres_1 in slots # features/steps/slots.py:118 759s Apr 14 09:39:42 And "status" key in DCS has postgres_2 in slots # features/steps/slots.py:118 759s Apr 14 09:39:42 And "status" key in DCS has postgres_3 in slots # features/steps/slots.py:118 759s Apr 14 09:39:42 759s Apr 14 09:39:42 @slot-advance 759s Apr 14 09:39:42 Scenario: check that only non-permanent member slots are written to the retain_slots in /status key # features/permanent_slots.feature:68 759s Apr 14 09:39:42 Given "status" key in DCS has postgres_0 in retain_slots # features/steps/slots.py:118 759s Apr 14 09:39:42 And "status" key in DCS has postgres_1 in retain_slots # features/steps/slots.py:118 759s Apr 14 09:39:42 And "status" key in DCS has postgres_2 in retain_slots # features/steps/slots.py:118 759s Apr 14 09:39:42 And "status" key in DCS does not have postgres_3 in retain_slots # features/steps/slots.py:124 759s Apr 14 09:39:42 759s Apr 14 09:39:42 Scenario: check permanent physical replication slot after failover # features/permanent_slots.feature:74 759s Apr 14 09:39:42 Given I shut down postgres-3 # features/steps/basic_replication.py:41 760s Apr 14 09:39:43 And I shut down postgres-2 # features/steps/basic_replication.py:41 761s Apr 14 09:39:44 And I shut down postgres-0 # features/steps/basic_replication.py:41 763s Apr 14 09:39:46 Then postgres-1 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:82 763s Apr 14 09:39:46 And postgres-1 has a physical replication slot named postgres_0 after 10 seconds # features/steps/slots.py:82 763s Apr 14 09:39:46 And postgres-1 has a physical replication slot named postgres_3 after 10 seconds # features/steps/slots.py:82 763s Apr 14 09:39:46 When I start postgres-0 # features/steps/basic_replication.py:20 765s Apr 14 09:39:48 Then postgres-0 role is the replica after 20 seconds # features/steps/basic_replication.py:117 765s Apr 14 09:39:48 And physical replication slot named postgres_1 on postgres-0 has no xmin value after 10 seconds # features/steps/slots.py:98 766s Apr 14 09:39:49 And postgres-0 has a physical replication slot named postgres_2 after 10 seconds # features/steps/slots.py:82 766s Apr 14 09:39:49 And postgres-0 has a physical replication slot named postgres_3 after 10 seconds # features/steps/slots.py:82 769s Apr 14 09:39:52 769s Apr 14 09:39:52 Feature: priority replication # features/priority_failover.feature:1 769s Apr 14 09:39:52 We should check that we can give nodes priority during failover 769s Apr 14 09:39:52 Scenario: check failover priority 0 prevents leaderships # features/priority_failover.feature:4 769s Apr 14 09:39:52 Given I configure and start postgres-0 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 772s Apr 14 09:39:55 And I configure and start postgres-1 with a tag failover_priority 0 # features/steps/cascading_replication.py:7 775s Apr 14 09:39:58 Then replication works from postgres-0 to postgres-1 after 20 seconds # features/steps/basic_replication.py:124 776s Apr 14 09:39:59 When I shut down postgres-0 # features/steps/basic_replication.py:41 778s Apr 14 09:40:01 And there is one of ["following a different leader because I am not allowed to promote"] INFO in the postgres-1 patroni log after 5 seconds # features/steps/basic_replication.py:133 780s Apr 14 09:40:03 Then postgres-1 role is the secondary after 10 seconds # features/steps/basic_replication.py:117 780s Apr 14 09:40:03 When I start postgres-0 # features/steps/basic_replication.py:20 782s Apr 14 09:40:05 Then postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 784s Apr 14 09:40:07 784s Apr 14 09:40:07 Scenario: check higher failover priority is respected # features/priority_failover.feature:14 784s Apr 14 09:40:07 Given I configure and start postgres-2 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 787s Apr 14 09:40:10 And I configure and start postgres-3 with a tag failover_priority 2 # features/steps/cascading_replication.py:7 790s Apr 14 09:40:13 Then replication works from postgres-0 to postgres-2 after 20 seconds # features/steps/basic_replication.py:124 791s Apr 14 09:40:14 And replication works from postgres-0 to postgres-3 after 20 seconds # features/steps/basic_replication.py:124 792s Apr 14 09:40:15 When I shut down postgres-0 # features/steps/basic_replication.py:41 794s Apr 14 09:40:17 Then postgres-3 role is the primary after 10 seconds # features/steps/basic_replication.py:117 795s Apr 14 09:40:18 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 795s Apr 14 09:40:18 795s Apr 14 09:40:18 Scenario: check conflicting configuration handling # features/priority_failover.feature:23 795s Apr 14 09:40:18 When I set nofailover tag in postgres-2 config # features/steps/patroni_api.py:133 795s Apr 14 09:40:18 And I issue an empty POST request to http://127.0.0.1:8010/reload # features/steps/patroni_api.py:68 795s Apr 14 09:40:18 Then I receive a response code 202 # features/steps/patroni_api.py:100 795s Apr 14 09:40:18 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 797s Apr 14 09:40:20 And "members/postgres-2" key in DCS has tags={'failover_priority': '1', 'nofailover': True} after 10 seconds # features/steps/cascading_replication.py:23 799s Apr 14 09:40:22 When I issue a POST request to http://127.0.0.1:8010/failover with {"candidate": "postgres-2"} # features/steps/patroni_api.py:73 799s Apr 14 09:40:22 Then I receive a response code 412 # features/steps/patroni_api.py:100 799s Apr 14 09:40:22 And I receive a response text "failover is not possible: no good candidates have been found" # features/steps/patroni_api.py:100 799s Apr 14 09:40:22 When I reset nofailover tag in postgres-1 config # features/steps/patroni_api.py:133 799s Apr 14 09:40:22 And I issue an empty POST request to http://127.0.0.1:8009/reload # features/steps/patroni_api.py:68 800s Apr 14 09:40:23 Then I receive a response code 202 # features/steps/patroni_api.py:100 800s Apr 14 09:40:23 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 801s Apr 14 09:40:24 And "members/postgres-1" key in DCS has tags={'failover_priority': '0', 'nofailover': False} after 10 seconds # features/steps/cascading_replication.py:23 802s Apr 14 09:40:25 And I issue a POST request to http://127.0.0.1:8009/failover with {"candidate": "postgres-1"} # features/steps/patroni_api.py:73 805s Apr 14 09:40:28 Then I receive a response code 200 # features/steps/patroni_api.py:100 805s Apr 14 09:40:28 And postgres-1 role is the primary after 10 seconds # features/steps/basic_replication.py:117 810s Apr 14 09:40:33 810s Apr 14 09:40:33 Feature: quorum commit # features/quorum_commit.feature:1 810s Apr 14 09:40:33 Check basic workfrlows when quorum commit is enabled 810s Apr 14 09:40:33 Scenario: check enable quorum commit and that the only leader promotes after restart # features/quorum_commit.feature:4 810s Apr 14 09:40:33 Given I start postgres-0 # features/steps/basic_replication.py:20 813s Apr 14 09:40:36 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 813s Apr 14 09:40:36 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 813s Apr 14 09:40:36 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 813s Apr 14 09:40:36 Then I receive a response code 200 # features/steps/patroni_api.py:100 813s Apr 14 09:40:36 And sync key in DCS has leader=postgres-0 after 20 seconds # features/steps/quorum_commit.py:8 814s Apr 14 09:40:37 And sync key in DCS has quorum=0 after 2 seconds # features/steps/quorum_commit.py:8 814s Apr 14 09:40:37 And synchronous_standby_names on postgres-0 is set to '_empty_str_' after 2 seconds # features/steps/quorum_commit.py:39 814s Apr 14 09:40:37 When I shut down postgres-0 # features/steps/basic_replication.py:41 816s Apr 14 09:40:39 And sync key in DCS has leader=postgres-0 after 2 seconds # features/steps/quorum_commit.py:8 816s Apr 14 09:40:39 When I start postgres-0 # features/steps/basic_replication.py:20 818s Apr 14 09:40:41 Then postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 820s Apr 14 09:40:43 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 820s Apr 14 09:40:43 Then synchronous_standby_names on postgres-0 is set to 'ANY 1 (*)' after 10 seconds # features/steps/quorum_commit.py:39 821s Apr 14 09:40:44 821s Apr 14 09:40:44 Scenario: check failover with one quorum standby # features/quorum_commit.feature:20 821s Apr 14 09:40:44 Given I start postgres-1 # features/steps/basic_replication.py:20 824s Apr 14 09:40:47 Then sync key in DCS has sync_standby=postgres-1 after 10 seconds # features/steps/quorum_commit.py:8 826s Apr 14 09:40:49 And synchronous_standby_names on postgres-0 is set to 'ANY 1 ("postgres-1")' after 2 seconds # features/steps/quorum_commit.py:39 826s Apr 14 09:40:49 When I shut down postgres-0 # features/steps/basic_replication.py:41 828s Apr 14 09:40:51 Then postgres-1 role is the primary after 10 seconds # features/steps/basic_replication.py:117 829s Apr 14 09:40:52 And sync key in DCS has quorum=0 after 10 seconds # features/steps/quorum_commit.py:8 829s Apr 14 09:40:52 Then synchronous_standby_names on postgres-1 is set to 'ANY 1 (*)' after 10 seconds # features/steps/quorum_commit.py:39 832s Apr 14 09:40:55 When I start postgres-0 # features/steps/basic_replication.py:20 835s Apr 14 09:40:58 Then sync key in DCS has leader=postgres-1 after 10 seconds # features/steps/quorum_commit.py:8 835s Apr 14 09:40:58 Then sync key in DCS has sync_standby=postgres-0 after 10 seconds # features/steps/quorum_commit.py:8 837s Apr 14 09:41:00 And synchronous_standby_names on postgres-1 is set to 'ANY 1 ("postgres-0")' after 2 seconds # features/steps/quorum_commit.py:39 837s Apr 14 09:41:00 837s Apr 14 09:41:00 Scenario: check behavior with three nodes and different replication factor # features/quorum_commit.feature:33 837s Apr 14 09:41:00 Given I start postgres-2 # features/steps/basic_replication.py:20 840s Apr 14 09:41:03 Then sync key in DCS has sync_standby=postgres-0,postgres-2 after 10 seconds # features/steps/quorum_commit.py:8 841s Apr 14 09:41:04 And sync key in DCS has quorum=1 after 2 seconds # features/steps/quorum_commit.py:8 841s Apr 14 09:41:04 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 841s Apr 14 09:41:04 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 841s Apr 14 09:41:04 Then sync key in DCS has quorum=0 after 10 seconds # features/steps/quorum_commit.py:8 842s Apr 14 09:41:05 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 842s Apr 14 09:41:05 842s Apr 14 09:41:05 Scenario: switch from quorum replication to good old multisync and back # features/quorum_commit.feature:42 842s Apr 14 09:41:05 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 842s Apr 14 09:41:05 And I shut down postgres-0 # features/steps/basic_replication.py:41 843s Apr 14 09:41:06 Then synchronous_standby_names on postgres-1 is set to '"postgres-2"' after 10 seconds # features/steps/quorum_commit.py:39 845s Apr 14 09:41:08 And sync key in DCS has sync_standby=postgres-2 after 10 seconds # features/steps/quorum_commit.py:8 847s Apr 14 09:41:10 Then sync key in DCS has quorum=0 after 2 seconds # features/steps/quorum_commit.py:8 847s Apr 14 09:41:10 When I issue a PATCH request to http://127.0.0.1:8009/config with {"synchronous_mode": "quorum"} # features/steps/patroni_api.py:73 847s Apr 14 09:41:10 And I start postgres-0 # features/steps/basic_replication.py:20 849s Apr 14 09:41:12 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 851s Apr 14 09:41:14 And sync key in DCS has sync_standby=postgres-0,postgres-2 after 10 seconds # features/steps/quorum_commit.py:8 851s Apr 14 09:41:14 Then sync key in DCS has quorum=1 after 2 seconds # features/steps/quorum_commit.py:8 851s Apr 14 09:41:14 851s Apr 14 09:41:14 Scenario: REST API and patronictl # features/quorum_commit.feature:54 851s Apr 14 09:41:14 Given I run patronictl.py list batman # features/steps/patroni_api.py:88 852s Apr 14 09:41:15 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 852s Apr 14 09:41:15 And I receive a response output "Quorum Standby" # features/steps/patroni_api.py:100 852s Apr 14 09:41:15 And Status code on GET http://127.0.0.1:8008/quorum is 200 after 3 seconds # features/steps/patroni_api.py:144 852s Apr 14 09:41:15 And Status code on GET http://127.0.0.1:8010/quorum is 200 after 3 seconds # features/steps/patroni_api.py:144 853s Apr 14 09:41:16 853s Apr 14 09:41:16 Scenario: nosync node is removed from voters and synchronous_standby_names # features/quorum_commit.feature:61 853s Apr 14 09:41:16 Given I add tag nosync true to postgres-2 config # features/steps/patroni_api.py:139 853s Apr 14 09:41:16 When I issue an empty POST request to http://127.0.0.1:8010/reload # features/steps/patroni_api.py:68 853s Apr 14 09:41:16 Then I receive a response code 202 # features/steps/patroni_api.py:100 853s Apr 14 09:41:16 And sync key in DCS has quorum=0 after 10 seconds # features/steps/quorum_commit.py:8 856s Apr 14 09:41:19 And sync key in DCS has sync_standby=postgres-0 after 10 seconds # features/steps/quorum_commit.py:8 856s Apr 14 09:41:19 And synchronous_standby_names on postgres-1 is set to 'ANY 1 ("postgres-0")' after 2 seconds # features/steps/quorum_commit.py:39 856s Apr 14 09:41:19 And Status code on GET http://127.0.0.1:8010/quorum is 503 after 10 seconds # features/steps/patroni_api.py:144 862s Apr 14 09:41:25 862s Apr 14 09:41:25 Feature: recovery # features/recovery.feature:1 862s Apr 14 09:41:25 We want to check that crashed postgres is started back 862s Apr 14 09:41:25 Scenario: check that timeline is not incremented when primary is started after crash # features/recovery.feature:4 862s Apr 14 09:41:25 Given I start postgres-0 # features/steps/basic_replication.py:20 865s Apr 14 09:41:28 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 865s Apr 14 09:41:28 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 865s Apr 14 09:41:28 When I start postgres-1 # features/steps/basic_replication.py:20 868s Apr 14 09:41:31 And I add the table foo to postgres-0 # features/steps/basic_replication.py:66 868s Apr 14 09:41:31 Then table foo is present on postgres-1 after 20 seconds # features/steps/basic_replication.py:105 869s Apr 14 09:41:32 When I kill postmaster on postgres-0 # features/steps/basic_replication.py:56 869s Apr 14 09:41:32 waiting for server to shut down.... done 869s Apr 14 09:41:32 server stopped 869s Apr 14 09:41:32 Then postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 871s Apr 14 09:41:34 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:63 871s Apr 14 09:41:34 Then I receive a response code 200 # features/steps/patroni_api.py:100 871s Apr 14 09:41:34 And I receive a response role primary # features/steps/patroni_api.py:100 871s Apr 14 09:41:34 And I receive a response timeline 1 # features/steps/patroni_api.py:100 871s Apr 14 09:41:34 And "members/postgres-0" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 872s Apr 14 09:41:35 And replication works from postgres-0 to postgres-1 after 15 seconds # features/steps/basic_replication.py:124 875s Apr 14 09:41:38 875s Apr 14 09:41:38 Scenario: check immediate failover when master_start_timeout=0 # features/recovery.feature:20 875s Apr 14 09:41:38 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 875s Apr 14 09:41:38 Then I receive a response code 200 # features/steps/patroni_api.py:100 875s Apr 14 09:41:38 And Response on GET http://127.0.0.1:8008/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:158 875s Apr 14 09:41:38 When I kill postmaster on postgres-0 # features/steps/basic_replication.py:56 875s Apr 14 09:41:38 waiting for server to shut down.... done 875s Apr 14 09:41:38 server stopped 875s Apr 14 09:41:38 Then postgres-1 is a leader after 10 seconds # features/steps/patroni_api.py:31 880s Apr 14 09:41:43 And postgres-1 role is the primary after 10 seconds # features/steps/basic_replication.py:117 881s Apr 14 09:41:44 881s Apr 14 09:41:44 Scenario: check crashed primary demotes after failed attempt to start # features/recovery.feature:28 881s Apr 14 09:41:44 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 881s Apr 14 09:41:44 Then I receive a response code 200 # features/steps/patroni_api.py:100 881s Apr 14 09:41:44 And postgres-0 role is the replica after 10 seconds # features/steps/basic_replication.py:117 883s Apr 14 09:41:46 When I ensure postgres-1 fails to start after a failure # features/steps/recovery.py:6 883s Apr 14 09:41:46 When I kill postmaster on postgres-1 # features/steps/basic_replication.py:56 884s Apr 14 09:41:47 waiting for server to shut down.... done 884s Apr 14 09:41:47 server stopped 884s Apr 14 09:41:47 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 885s Apr 14 09:41:48 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 888s Apr 14 09:41:51 888s Apr 14 09:41:51 Feature: standby cluster # features/standby_cluster.feature:1 888s Apr 14 09:41:51 888s Apr 14 09:41:51 Scenario: prepare the cluster with logical slots # features/standby_cluster.feature:2 888s Apr 14 09:41:51 Given I start postgres-1 # features/steps/basic_replication.py:20 891s Apr 14 09:41:54 Then postgres-1 is a leader after 10 seconds # features/steps/patroni_api.py:31 891s Apr 14 09:41:54 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 891s Apr 14 09:41:54 When I issue a PATCH request to http://127.0.0.1:8009/config with {"slots": {"pm_1": {"type": "physical"}}, "postgresql": {"parameters": {"wal_level": "logical"}}} # features/steps/patroni_api.py:73 891s Apr 14 09:41:54 Then I receive a response code 200 # features/steps/patroni_api.py:100 891s Apr 14 09:41:54 And Response on GET http://127.0.0.1:8009/config contains slots after 10 seconds # features/steps/patroni_api.py:158 891s Apr 14 09:41:54 And I sleep for 3 seconds # features/steps/patroni_api.py:41 894s Apr 14 09:41:57 When I issue a PATCH request to http://127.0.0.1:8009/config with {"slots": {"test_logical": {"type": "logical", "database": "postgres", "plugin": "test_decoding"}}} # features/steps/patroni_api.py:73 894s Apr 14 09:41:57 Then I receive a response code 200 # features/steps/patroni_api.py:100 894s Apr 14 09:41:57 And I do a backup of postgres-1 # features/steps/custom_bootstrap.py:25 894s Apr 14 09:41:57 When I start postgres-0 # features/steps/basic_replication.py:20 897s Apr 14 09:42:00 Then "members/postgres-0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 897s Apr 14 09:42:00 And replication works from postgres-1 to postgres-0 after 15 seconds # features/steps/basic_replication.py:124 898s Apr 14 09:42:01 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:63 898s Apr 14 09:42:01 Then I receive a response code 200 # features/steps/patroni_api.py:100 898s Apr 14 09:42:01 And I receive a response replication_state streaming # features/steps/patroni_api.py:100 898s Apr 14 09:42:01 And "members/postgres-0" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 898s Apr 14 09:42:01 898s Apr 14 09:42:01 @slot-advance 898s Apr 14 09:42:01 Scenario: check permanent logical slots are synced to the replica # features/standby_cluster.feature:22 898s Apr 14 09:42:01 Given I run patronictl.py restart batman postgres-1 --force # features/steps/patroni_api.py:88 900s Apr 14 09:42:03 Then Logical slot test_logical is in sync between postgres-0 and postgres-1 after 10 seconds # features/steps/slots.py:52 906s Apr 14 09:42:09 906s Apr 14 09:42:09 Scenario: Detach exiting node from the cluster # features/standby_cluster.feature:26 906s Apr 14 09:42:09 When I shut down postgres-1 # features/steps/basic_replication.py:41 908s Apr 14 09:42:11 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 908s Apr 14 09:42:11 And "members/postgres-0" key in DCS has role=primary after 5 seconds # features/steps/cascading_replication.py:23 909s Apr 14 09:42:12 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:63 909s Apr 14 09:42:12 Then I receive a response code 200 # features/steps/patroni_api.py:100 909s Apr 14 09:42:12 909s Apr 14 09:42:12 Scenario: check replication of a single table in a standby cluster # features/standby_cluster.feature:33 909s Apr 14 09:42:12 Given I start postgres-1 in a standby cluster batman1 as a clone of postgres-0 # features/steps/standby_cluster.py:23 912s Apr 14 09:42:15 Then postgres-1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 912s Apr 14 09:42:15 When I add the table foo to postgres-0 # features/steps/basic_replication.py:66 912s Apr 14 09:42:15 Then table foo is present on postgres-1 after 20 seconds # features/steps/basic_replication.py:105 912s Apr 14 09:42:15 When I issue a GET request to http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:63 912s Apr 14 09:42:15 Then I receive a response code 200 # features/steps/patroni_api.py:100 912s Apr 14 09:42:15 And I receive a response replication_state streaming # features/steps/patroni_api.py:100 912s Apr 14 09:42:15 And I sleep for 3 seconds # features/steps/patroni_api.py:41 915s Apr 14 09:42:18 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:63 915s Apr 14 09:42:18 Then I receive a response code 503 # features/steps/patroni_api.py:100 915s Apr 14 09:42:18 When I issue a GET request to http://127.0.0.1:8009/standby_leader # features/steps/patroni_api.py:63 915s Apr 14 09:42:18 Then I receive a response code 200 # features/steps/patroni_api.py:100 915s Apr 14 09:42:18 And I receive a response role standby_leader # features/steps/patroni_api.py:100 915s Apr 14 09:42:18 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 915s Apr 14 09:42:18 When I start postgres-2 in a cluster batman1 # features/steps/standby_cluster.py:12 918s Apr 14 09:42:21 Then postgres-2 role is the replica after 24 seconds # features/steps/basic_replication.py:117 918s Apr 14 09:42:21 And postgres-2 is replicating from postgres-1 after 10 seconds # features/steps/standby_cluster.py:52 918s Apr 14 09:42:21 And table foo is present on postgres-2 after 20 seconds # features/steps/basic_replication.py:105 918s Apr 14 09:42:21 When I issue a GET request to http://127.0.0.1:8010/patroni # features/steps/patroni_api.py:63 919s Apr 14 09:42:22 Then I receive a response code 200 # features/steps/patroni_api.py:100 919s Apr 14 09:42:22 And I receive a response replication_state streaming # features/steps/patroni_api.py:100 919s Apr 14 09:42:22 And postgres-1 does not have a replication slot named test_logical # features/steps/slots.py:41 919s Apr 14 09:42:22 919s Apr 14 09:42:22 Scenario: check switchover # features/standby_cluster.feature:57 919s Apr 14 09:42:22 Given I run patronictl.py switchover batman1 --force # features/steps/patroni_api.py:88 922s Apr 14 09:42:25 Then Status code on GET http://127.0.0.1:8010/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:144 922s Apr 14 09:42:25 And postgres-1 is replicating from postgres-2 after 32 seconds # features/steps/standby_cluster.py:52 924s Apr 14 09:42:27 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 924s Apr 14 09:42:27 924s Apr 14 09:42:27 Scenario: check failover # features/standby_cluster.feature:63 924s Apr 14 09:42:27 When I kill postgres-2 # features/steps/basic_replication.py:46 925s Apr 14 09:42:28 And I kill postmaster on postgres-2 # features/steps/basic_replication.py:56 925s Apr 14 09:42:28 waiting for server to shut down.... done 925s Apr 14 09:42:28 server stopped 925s Apr 14 09:42:28 Then postgres-1 is replicating from postgres-0 after 32 seconds # features/steps/standby_cluster.py:52 944s Apr 14 09:42:47 And Status code on GET http://127.0.0.1:8009/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:144 944s Apr 14 09:42:47 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:63 944s Apr 14 09:42:47 Then I receive a response code 503 # features/steps/patroni_api.py:100 944s Apr 14 09:42:47 And I receive a response role standby_leader # features/steps/patroni_api.py:100 944s Apr 14 09:42:47 And replication works from postgres-0 to postgres-1 after 15 seconds # features/steps/basic_replication.py:124 945s Apr 14 09:42:48 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 949s Apr 14 09:42:52 949s Apr 14 09:42:52 Feature: watchdog # features/watchdog.feature:1 949s Apr 14 09:42:52 Verify that watchdog gets pinged and triggered under appropriate circumstances. 949s Apr 14 09:42:52 Scenario: watchdog is opened and pinged # features/watchdog.feature:4 949s Apr 14 09:42:52 Given I start postgres-0 with watchdog # features/steps/watchdog.py:17 952s Apr 14 09:42:55 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 952s Apr 14 09:42:55 And postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 952s Apr 14 09:42:55 And postgres-0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:22 952s Apr 14 09:42:55 And postgres-0 watchdog has a 15 second timeout # features/steps/watchdog.py:35 952s Apr 14 09:42:55 952s Apr 14 09:42:55 Scenario: watchdog is reconfigured after global ttl changed # features/watchdog.feature:11 952s Apr 14 09:42:55 Given I run patronictl.py edit-config batman -s ttl=30 --force # features/steps/patroni_api.py:88 953s Apr 14 09:42:56 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 953s Apr 14 09:42:56 And I receive a response output "+ttl: 30" # features/steps/patroni_api.py:100 953s Apr 14 09:42:56 When I sleep for 4 seconds # features/steps/patroni_api.py:41 957s Apr 14 09:43:00 Then postgres-0 watchdog has a 25 second timeout # features/steps/watchdog.py:35 958s Apr 14 09:43:00 958s Apr 14 09:43:00 Scenario: watchdog is disabled during pause # features/watchdog.feature:18 958s Apr 14 09:43:00 Given I run patronictl.py pause batman # features/steps/patroni_api.py:88 959s Apr 14 09:43:01 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 959s Apr 14 09:43:01 When I sleep for 2 seconds # features/steps/patroni_api.py:41 961s Apr 14 09:43:03 Then postgres-0 watchdog has been closed # features/steps/watchdog.py:30 961s Apr 14 09:43:03 961s Apr 14 09:43:03 Scenario: watchdog is opened and pinged after resume # features/watchdog.feature:24 961s Apr 14 09:43:03 Given I reset postgres-0 watchdog state # features/steps/watchdog.py:40 961s Apr 14 09:43:03 And I run patronictl.py resume batman # features/steps/patroni_api.py:88 962s Apr 14 09:43:04 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 962s Apr 14 09:43:04 And postgres-0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:22 963s Apr 14 09:43:05 963s Apr 14 09:43:05 Scenario: watchdog is disabled when shutting down # features/watchdog.feature:30 963s Apr 14 09:43:05 Given I shut down postgres-0 # features/steps/basic_replication.py:41 965s Apr 14 09:43:07 Then postgres-0 watchdog has been closed # features/steps/watchdog.py:30 965s Apr 14 09:43:07 965s Apr 14 09:43:07 Scenario: watchdog is triggered if patroni stops responding # features/watchdog.feature:34 965s Apr 14 09:43:07 Given I reset postgres-0 watchdog state # features/steps/watchdog.py:40 965s Apr 14 09:43:07 And I start postgres-0 with watchdog # features/steps/watchdog.py:17 967s Apr 14 09:43:10 Then postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 969s Apr 14 09:43:12 When postgres-0 hangs for 30 seconds # features/steps/watchdog.py:53 969s Apr 14 09:43:12 Then postgres-0 watchdog is triggered after 30 seconds # features/steps/watchdog.py:45 996s Apr 14 09:43:39 996s Apr 14 09:43:39 Combined data file .coverage.autopkgtest.4992.XzqNsZzx 996s Apr 14 09:43:39 Combined data file .coverage.autopkgtest.5037.XvgmWHVx 996s Apr 14 09:43:39 Combined data file .coverage.autopkgtest.5085.XtMeoQtx 996s Apr 14 09:43:39 Combined data file .coverage.autopkgtest.5137.XPDKOPVx 996s Apr 14 09:43:39 Combined data file .coverage.autopkgtest.5185.XLYTCeSx 996s Apr 14 09:43:39 Combined data file .coverage.autopkgtest.5262.XmvFMsbx 996s Apr 14 09:43:39 Combined data file .coverage.autopkgtest.5314.XXpdlRAx 996s Apr 14 09:43:39 Combined data file .coverage.autopkgtest.5317.XDJKHhHx 996s Apr 14 09:43:39 Combined data file .coverage.autopkgtest.5397.XJulHXGx 996s Apr 14 09:43:39 Combined data file .coverage.autopkgtest.5499.XKjjioYx 996s Apr 14 09:43:39 Combined data file .coverage.autopkgtest.5507.XymZdRMx 996s Apr 14 09:43:39 Combined data file .coverage.autopkgtest.5551.XonDyTfx 996s Apr 14 09:43:39 Combined data file .coverage.autopkgtest.5601.XzzlPQYx 996s Apr 14 09:43:39 Combined data file .coverage.autopkgtest.5715.XFjtqpsx 996s Apr 14 09:43:39 Combined data file .coverage.autopkgtest.5761.XKGmsInx 996s Apr 14 09:43:39 Combined data file .coverage.autopkgtest.5819.XBsrxSqx 996s Apr 14 09:43:39 Combined data file .coverage.autopkgtest.5910.XcMIhGIx 996s Apr 14 09:43:39 Combined data file .coverage.autopkgtest.5961.XDJqmgGx 996s Apr 14 09:43:39 Combined data file .coverage.autopkgtest.6045.XkObBhox 996s Apr 14 09:43:39 Combined data file .coverage.autopkgtest.6098.XTNfwmrx 996s Apr 14 09:43:39 Combined data file .coverage.autopkgtest.6162.XBdCkOax 996s Apr 14 09:43:39 Combined data file .coverage.autopkgtest.6253.XZvvLydx 996s Apr 14 09:43:39 Combined data file .coverage.autopkgtest.6351.XptdwGix 996s Apr 14 09:43:39 Combined data file .coverage.autopkgtest.6395.XlooFgbx 996s Apr 14 09:43:39 Combined data file .coverage.autopkgtest.6457.XShivZhx 996s Apr 14 09:43:39 Combined data file .coverage.autopkgtest.6493.XhjZSSUx 996s Apr 14 09:43:39 Combined data file .coverage.autopkgtest.6617.XJcdFnfx 996s Apr 14 09:43:39 Combined data file .coverage.autopkgtest.6667.XhyLtuVx 996s Apr 14 09:43:39 Combined data file .coverage.autopkgtest.6683.XQiZVAYx 996s Apr 14 09:43:39 Combined data file .coverage.autopkgtest.6722.XioCeaax 996s Apr 14 09:43:39 Combined data file .coverage.autopkgtest.6772.XuIlsrjx 996s Apr 14 09:43:39 Combined data file .coverage.autopkgtest.6777.XKjunTHx 996s Apr 14 09:43:39 Combined data file .coverage.autopkgtest.6814.XBRBjwmx 996s Apr 14 09:43:39 Combined data file .coverage.autopkgtest.6859.XrQsizpx 996s Apr 14 09:43:39 Combined data file .coverage.autopkgtest.7027.XDwMVXLx 996s Apr 14 09:43:39 Combined data file .coverage.autopkgtest.7029.XrQIKfrx 996s Apr 14 09:43:39 Combined data file .coverage.autopkgtest.7035.XQLqrwkx 996s Apr 14 09:43:39 Combined data file .coverage.autopkgtest.7169.XRZgxnDx 996s Apr 14 09:43:39 Combined data file .coverage.autopkgtest.7215.XctMtHqx 996s Apr 14 09:43:39 Combined data file .coverage.autopkgtest.7273.XiAUtJox 996s Apr 14 09:43:39 Combined data file .coverage.autopkgtest.7319.XSywOBZx 996s Apr 14 09:43:39 Combined data file .coverage.autopkgtest.7383.XsSSOqMx 996s Apr 14 09:43:39 Combined data file .coverage.autopkgtest.7528.Xzrqcfqx 996s Apr 14 09:43:39 Combined data file .coverage.autopkgtest.7595.XYLOGMDx 996s Apr 14 09:43:39 Combined data file .coverage.autopkgtest.7639.XLLvRDjx 996s Apr 14 09:43:39 Combined data file .coverage.autopkgtest.7717.XgGzsbsx 996s Apr 14 09:43:39 Combined data file .coverage.autopkgtest.7797.XADgWVEx 996s Apr 14 09:43:39 Combined data file .coverage.autopkgtest.7858.XaLuaXdx 996s Apr 14 09:43:39 Combined data file .coverage.autopkgtest.8191.XWWbHFKx 996s Apr 14 09:43:39 Combined data file .coverage.autopkgtest.8242.XVaJQAJx 996s Apr 14 09:43:39 Combined data file .coverage.autopkgtest.8307.XkrsIMCx 996s Apr 14 09:43:39 Combined data file .coverage.autopkgtest.8398.XQmPzIyx 996s Apr 14 09:43:39 Combined data file .coverage.autopkgtest.8448.XaEOeexx 996s Apr 14 09:43:39 Combined data file .coverage.autopkgtest.8504.XruSvxbx 996s Apr 14 09:43:39 Combined data file .coverage.autopkgtest.8548.XigpuCxx 996s Apr 14 09:43:39 Combined data file .coverage.autopkgtest.8586.XGrEosJx 996s Apr 14 09:43:39 Combined data file .coverage.autopkgtest.8630.XrTVnSWx 996s Apr 14 09:43:39 Combined data file .coverage.autopkgtest.8858.XdfLWAKx 996s Apr 14 09:43:39 Combined data file .coverage.autopkgtest.8921.XXwPYhBx 996s Apr 14 09:43:39 Combined data file .coverage.autopkgtest.8974.XwPwUGcx 996s Apr 14 09:43:39 Combined data file .coverage.autopkgtest.9079.XnxNbWZx 996s Apr 14 09:43:39 Combined data file .coverage.autopkgtest.9197.XUilldTx 996s Apr 14 09:43:39 Combined data file .coverage.autopkgtest.9332.XSBkNlfx 996s Apr 14 09:43:39 Combined data file .coverage.autopkgtest.9376.XzwMCztx 996s Apr 14 09:43:39 Combined data file .coverage.autopkgtest.9378.XbgOoRIx 996s Apr 14 09:43:39 Combined data file .coverage.autopkgtest.9381.XzXBQBcx 996s Apr 14 09:43:39 Combined data file .coverage.autopkgtest.9392.XSqFqOIx 1000s Apr 14 09:43:43 Name Stmts Miss Cover 1000s Apr 14 09:43:43 ------------------------------------------------------------------------------------------------------------- 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/OpenSSL/SSL.py 1159 642 45% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/OpenSSL/__init__.py 3 0 100% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/OpenSSL/_util.py 44 15 66% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/OpenSSL/crypto.py 869 663 24% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/OpenSSL/version.py 9 0 100% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 101 96 5% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/bcrypt/__init__.py 3 0 100% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/cryptography/__about__.py 5 0 100% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/cryptography/__init__.py 3 0 100% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/cryptography/exceptions.py 26 5 81% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/cryptography/hazmat/__init__.py 2 0 100% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/cryptography/hazmat/_oid.py 135 0 100% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/__init__.py 0 0 100% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/__init__.py 0 0 100% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/_conditional.py 38 17 55% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/binding.py 51 4 92% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/__init__.py 1 0 100% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/ciphers/__init__.py 1 0 100% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/ciphers/algorithms.py 68 18 74% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/__init__.py 0 0 100% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_asymmetric.py 6 0 100% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_cipheralgorithm.py 23 4 83% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_serialization.py 79 35 56% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/__init__.py 0 0 100% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dh.py 47 0 100% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dsa.py 55 5 91% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ec.py 172 22 87% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed448.py 45 12 73% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed25519.py 43 12 72% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/padding.py 55 23 58% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/rsa.py 93 40 57% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/types.py 19 0 100% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/utils.py 14 5 64% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x448.py 43 12 72% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x25519.py 41 12 71% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/__init__.py 4 0 100% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/algorithms.py 72 15 79% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/base.py 54 12 78% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/modes.py 140 59 58% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/constant_time.py 6 3 50% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hashes.py 127 20 84% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/__init__.py 5 0 100% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/base.py 7 0 100% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/ssh.py 775 614 21% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/cryptography/utils.py 76 28 63% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/cryptography/x509/__init__.py 70 0 100% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/cryptography/x509/base.py 488 227 53% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/cryptography/x509/certificate_transparency.py 42 0 100% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/cryptography/x509/extensions.py 1024 552 46% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/cryptography/x509/general_name.py 166 94 43% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/cryptography/x509/name.py 236 144 39% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/cryptography/x509/oid.py 3 0 100% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/cryptography/x509/verification.py 12 0 100% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/dateutil/__init__.py 13 4 69% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/dateutil/_version.py 13 3 77% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 810 436 46% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 183 150 18% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 240 206 14% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 151 114 25% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 794 626 21% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/dateutil/tz/win.py 152 149 2% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/dns/__init__.py 2 0 100% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/dns/_asyncbackend.py 14 6 57% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/dns/_ddr.py 105 86 18% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/dns/_features.py 46 8 83% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/dns/_immutable_ctx.py 40 5 88% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/dns/asyncbackend.py 44 32 27% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/dns/asyncquery.py 322 283 12% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/dns/edns.py 307 185 40% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/dns/entropy.py 80 49 39% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/dns/enum.py 72 46 36% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/dns/exception.py 59 33 44% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/dns/flags.py 40 14 65% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/dns/grange.py 33 30 9% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/dns/immutable.py 41 30 27% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/dns/inet.py 79 65 18% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/dns/ipv4.py 26 20 23% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/dns/ipv6.py 114 100 12% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/dns/message.py 829 676 18% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/dns/name.py 617 425 31% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/dns/nameserver.py 102 55 46% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/dns/node.py 117 71 39% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/dns/opcode.py 30 7 77% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/dns/query.py 562 477 15% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/dns/quic/__init__.py 28 23 18% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/dns/rcode.py 68 13 81% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/dns/rdata.py 386 277 28% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/dns/rdataclass.py 43 9 79% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/dns/rdataset.py 192 133 31% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/dns/rdatatype.py 215 23 89% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/OPT.py 34 19 44% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/SOA.py 41 26 37% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/TSIG.py 58 42 28% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/ZONEMD.py 43 27 37% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/__init__.py 1 0 100% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/dns/rdtypes/__init__.py 1 0 100% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/dns/rdtypes/svcbbase.py 415 268 35% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/dns/rdtypes/util.py 191 154 19% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/dns/renderer.py 151 118 22% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/dns/resolver.py 873 696 20% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/dns/reversename.py 32 24 25% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/dns/rrset.py 77 56 27% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/dns/serial.py 92 79 14% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/dns/set.py 148 107 28% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/dns/tokenizer.py 334 279 16% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/dns/transaction.py 269 201 25% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/dns/tsig.py 176 122 31% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/dns/ttl.py 44 38 14% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/dns/version.py 6 0 100% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/dns/wire.py 64 42 34% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/dns/xfr.py 148 126 15% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/dns/zone.py 507 383 24% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/dns/zonefile.py 427 379 11% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/dns/zonetypes.py 14 2 86% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/etcd/__init__.py 125 63 50% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/etcd/client.py 380 256 33% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/etcd/lock.py 125 103 18% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/idna/__init__.py 4 0 100% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/idna/core.py 292 257 12% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/idna/idnadata.py 4 0 100% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/idna/intranges.py 30 24 20% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/idna/package_data.py 1 0 100% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/patroni/__main__.py 201 63 69% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/patroni/api.py 788 292 63% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 15 84% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/patroni/collections.py 56 5 91% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/patroni/config.py 357 84 76% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/patroni/config_generator.py 212 159 25% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/patroni/daemon.py 76 3 96% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 710 96 86% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/patroni/dcs/etcd3.py 679 125 82% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/patroni/dcs/etcd.py 603 256 58% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/patroni/dynamic_loader.py 35 7 80% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/patroni/file_perm.py 47 10 79% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/patroni/global_config.py 87 0 100% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/patroni/ha.py 1359 374 72% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/patroni/log.py 235 79 66% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 825 165 80% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/patroni/postgresql/available_parameters/__init__.py 24 3 88% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 254 60 76% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 840 218 74% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 1 99% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 43 8 81% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/patroni/postgresql/mpp/__init__.py 89 11 88% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 83 51% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 416 128 69% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 349 41 88% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 154 10 94% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 157 24 85% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/patroni/psycopg.py 46 19 59% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/patroni/quorum.py 182 48 74% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/patroni/request.py 58 7 88% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/patroni/tags.py 38 0 100% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/patroni/utils.py 371 103 72% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/patroni/validator.py 309 215 30% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 42 79% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 35 74% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/psutil/__init__.py 950 629 34% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/psutil/_common.py 422 212 50% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/psutil/_compat.py 301 263 13% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1250 924 26% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/psutil/_psposix.py 95 38 60% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/urllib3/__init__.py 49 15 69% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 63 45 29% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/urllib3/_collections.py 231 120 48% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 54 24 56% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/urllib3/_version.py 13 3 77% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/urllib3/connection.py 389 137 65% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 344 122 65% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/urllib3/contrib/__init__.py 0 0 100% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/urllib3/contrib/pyopenssl.py 263 101 62% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/urllib3/exceptions.py 121 39 68% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/urllib3/http2/__init__.py 28 21 25% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/urllib3/http2/probe.py 49 31 37% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 85 64% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/urllib3/response.py 634 330 48% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 42 36% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 49 53% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 15 53% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/urllib3/util/retry.py 174 50 71% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 172 74 57% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 152 106 30% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 14 80% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/urllib3/util/url.py 203 70 66% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 10 62% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 18 63% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/yaml/parser.py 352 198 44% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/yaml/reader.py 122 34 72% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/yaml/scanner.py 758 437 42% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 1000s Apr 14 09:43:43 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 1000s Apr 14 09:43:43 patroni/__init__.py 13 2 85% 1000s Apr 14 09:43:43 patroni/__main__.py 201 201 0% 1000s Apr 14 09:43:43 patroni/api.py 788 788 0% 1000s Apr 14 09:43:43 patroni/async_executor.py 96 69 28% 1000s Apr 14 09:43:43 patroni/collections.py 56 15 73% 1000s Apr 14 09:43:43 patroni/config.py 357 186 48% 1000s Apr 14 09:43:43 patroni/config_generator.py 212 212 0% 1000s Apr 14 09:43:43 patroni/ctl.py 936 395 58% 1000s Apr 14 09:43:43 patroni/daemon.py 76 76 0% 1000s Apr 14 09:43:43 patroni/dcs/__init__.py 710 315 56% 1000s Apr 14 09:43:43 patroni/dcs/consul.py 482 482 0% 1000s Apr 14 09:43:43 patroni/dcs/etcd3.py 679 346 49% 1000s Apr 14 09:43:43 patroni/dcs/etcd.py 603 277 54% 1000s Apr 14 09:43:43 patroni/dcs/exhibitor.py 62 62 0% 1000s Apr 14 09:43:43 patroni/dcs/kubernetes.py 943 943 0% 1000s Apr 14 09:43:43 patroni/dcs/raft.py 319 319 0% 1000s Apr 14 09:43:43 patroni/dcs/zookeeper.py 289 289 0% 1000s Apr 14 09:43:43 patroni/dynamic_loader.py 35 7 80% 1000s Apr 14 09:43:43 patroni/exceptions.py 16 1 94% 1000s Apr 14 09:43:43 patroni/file_perm.py 47 17 64% 1000s Apr 14 09:43:43 patroni/global_config.py 87 19 78% 1000s Apr 14 09:43:43 patroni/ha.py 1359 1359 0% 1000s Apr 14 09:43:43 patroni/log.py 235 183 22% 1000s Apr 14 09:43:43 patroni/postgresql/__init__.py 825 653 21% 1000s Apr 14 09:43:43 patroni/postgresql/available_parameters/__init__.py 24 3 88% 1000s Apr 14 09:43:43 patroni/postgresql/bootstrap.py 254 224 12% 1000s Apr 14 09:43:43 patroni/postgresql/callback_executor.py 55 34 38% 1000s Apr 14 09:43:43 patroni/postgresql/cancellable.py 104 84 19% 1000s Apr 14 09:43:43 patroni/postgresql/config.py 840 720 14% 1000s Apr 14 09:43:43 patroni/postgresql/connection.py 75 50 33% 1000s Apr 14 09:43:43 patroni/postgresql/misc.py 43 30 30% 1000s Apr 14 09:43:43 patroni/postgresql/mpp/__init__.py 89 21 76% 1000s Apr 14 09:43:43 patroni/postgresql/mpp/citus.py 366 366 0% 1000s Apr 14 09:43:43 patroni/postgresql/postmaster.py 170 139 18% 1000s Apr 14 09:43:43 patroni/postgresql/rewind.py 416 416 0% 1000s Apr 14 09:43:43 patroni/postgresql/slots.py 349 300 14% 1000s Apr 14 09:43:43 patroni/postgresql/sync.py 154 114 26% 1000s Apr 14 09:43:43 patroni/postgresql/validator.py 157 52 67% 1000s Apr 14 09:43:43 patroni/psycopg.py 46 32 30% 1000s Apr 14 09:43:43 patroni/quorum.py 182 182 0% 1000s Apr 14 09:43:43 patroni/raft_controller.py 22 22 0% 1000s Apr 14 09:43:43 patroni/request.py 58 6 90% 1000s Apr 14 09:43:43 patroni/scripts/__init__.py 0 0 100% 1000s Apr 14 09:43:43 patroni/scripts/aws.py 59 59 0% 1000s Apr 14 09:43:43 patroni/scripts/barman/__init__.py 0 0 100% 1000s Apr 14 09:43:43 patroni/scripts/barman/cli.py 50 50 0% 1000s Apr 14 09:43:43 patroni/scripts/barman/config_switch.py 50 50 0% 1000s Apr 14 09:43:43 patroni/scripts/barman/recover.py 36 36 0% 1000s Apr 14 09:43:43 patroni/scripts/barman/utils.py 93 93 0% 1000s Apr 14 09:43:43 patroni/scripts/wale_restore.py 207 207 0% 1000s Apr 14 09:43:43 patroni/tags.py 38 11 71% 1000s Apr 14 09:43:43 patroni/utils.py 371 185 50% 1000s Apr 14 09:43:43 patroni/validator.py 309 222 28% 1000s Apr 14 09:43:43 patroni/version.py 1 0 100% 1000s Apr 14 09:43:43 patroni/watchdog/__init__.py 2 2 0% 1000s Apr 14 09:43:43 patroni/watchdog/base.py 203 203 0% 1000s Apr 14 09:43:43 patroni/watchdog/linux.py 135 135 0% 1000s Apr 14 09:43:43 ------------------------------------------------------------------------------------------------------------- 1000s Apr 14 09:43:43 TOTAL 54417 32581 40% 1000s Apr 14 09:43:43 13 features passed, 0 failed, 1 skipped 1000s Apr 14 09:43:43 55 scenarios passed, 0 failed, 14 skipped 1000s Apr 14 09:43:43 539 steps passed, 0 failed, 128 skipped, 0 undefined 1000s Apr 14 09:43:43 Took 8m17.114s 1000s + bash -c 'rm -rf features/output' 1000s + echo '### End 17 acceptance-etcd3 ###' 1000s + rm -f /tmp/pgpass_postgres-0 /tmp/pgpass_postgres-1 /tmp/pgpass_postgres-2 /tmp/pgpass_postgres-3 1000s ### End 17 acceptance-etcd3 ### 1000s ++ id -u 1000s + '[' 1000 -eq 0 ']' 1001s autopkgtest [09:43:44]: test acceptance-etcd3: -----------------------] 1001s acceptance-etcd3 PASS 1001s autopkgtest [09:43:44]: test acceptance-etcd3: - - - - - - - - - - results - - - - - - - - - - 1002s autopkgtest [09:43:45]: test acceptance-etcd: preparing testbed 1002s Reading package lists... 1002s Building dependency tree... 1002s Reading state information... 1002s Starting pkgProblemResolver with broken count: 0 1002s Starting 2 pkgProblemResolver with broken count: 0 1003s Done 1003s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1004s autopkgtest [09:43:47]: test acceptance-etcd: debian/tests/acceptance etcd 1004s autopkgtest [09:43:47]: test acceptance-etcd: [----------------------- 1004s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 1004s ++ ls -1r /usr/lib/postgresql/ 1004s ### PostgreSQL 17 acceptance-etcd ### 1004s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 1004s + '[' 17 == 10 -o 17 == 11 ']' 1004s + echo '### PostgreSQL 17 acceptance-etcd ###' 1004s + bash -c 'set -o pipefail; ETCD_UNSUPPORTED_ARCH=arm64 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' 1006s Apr 14 09:43:49 No data to combine 1010s Apr 14 09:43:53 Name Stmts Miss Cover 1010s Apr 14 09:43:53 ------------------------------------------------------------------------------------------------------------- 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/OpenSSL/SSL.py 1159 642 45% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/OpenSSL/__init__.py 3 0 100% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/OpenSSL/_util.py 44 15 66% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/OpenSSL/crypto.py 869 663 24% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/OpenSSL/version.py 9 0 100% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 101 96 5% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/bcrypt/__init__.py 3 0 100% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/cryptography/__about__.py 5 0 100% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/cryptography/__init__.py 3 0 100% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/cryptography/exceptions.py 26 5 81% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/cryptography/hazmat/__init__.py 2 0 100% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/cryptography/hazmat/_oid.py 135 0 100% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/__init__.py 0 0 100% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/__init__.py 0 0 100% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/_conditional.py 38 17 55% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/binding.py 51 4 92% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/__init__.py 1 0 100% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/ciphers/__init__.py 1 0 100% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/ciphers/algorithms.py 68 18 74% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/__init__.py 0 0 100% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_asymmetric.py 6 0 100% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_cipheralgorithm.py 23 4 83% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_serialization.py 79 35 56% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/__init__.py 0 0 100% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dh.py 47 0 100% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dsa.py 55 5 91% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ec.py 172 22 87% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed448.py 45 12 73% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed25519.py 43 12 72% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/padding.py 55 23 58% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/rsa.py 93 40 57% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/types.py 19 0 100% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/utils.py 14 5 64% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x448.py 43 12 72% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x25519.py 41 12 71% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/__init__.py 4 0 100% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/algorithms.py 72 15 79% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/base.py 54 12 78% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/modes.py 140 59 58% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/constant_time.py 6 3 50% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hashes.py 127 20 84% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/__init__.py 5 0 100% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/base.py 7 0 100% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/ssh.py 775 614 21% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/cryptography/utils.py 76 28 63% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/cryptography/x509/__init__.py 70 0 100% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/cryptography/x509/base.py 488 227 53% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/cryptography/x509/certificate_transparency.py 42 0 100% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/cryptography/x509/extensions.py 1024 552 46% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/cryptography/x509/general_name.py 166 94 43% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/cryptography/x509/name.py 236 144 39% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/cryptography/x509/oid.py 3 0 100% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/cryptography/x509/verification.py 12 0 100% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/dateutil/__init__.py 13 4 69% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/dateutil/_version.py 13 3 77% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 810 436 46% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 183 150 18% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 240 206 14% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 151 114 25% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 794 626 21% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/dateutil/tz/win.py 152 149 2% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/dns/__init__.py 2 0 100% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/dns/_asyncbackend.py 14 6 57% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/dns/_ddr.py 105 86 18% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/dns/_features.py 46 8 83% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/dns/_immutable_ctx.py 40 5 88% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/dns/asyncbackend.py 44 32 27% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/dns/asyncquery.py 322 283 12% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/dns/edns.py 307 185 40% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/dns/entropy.py 80 49 39% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/dns/enum.py 72 46 36% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/dns/exception.py 59 33 44% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/dns/flags.py 40 14 65% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/dns/grange.py 33 30 9% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/dns/immutable.py 41 30 27% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/dns/inet.py 79 65 18% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/dns/ipv4.py 26 20 23% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/dns/ipv6.py 114 100 12% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/dns/message.py 829 676 18% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/dns/name.py 617 425 31% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/dns/nameserver.py 102 55 46% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/dns/node.py 117 71 39% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/dns/opcode.py 30 7 77% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/dns/query.py 562 477 15% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/dns/quic/__init__.py 28 23 18% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/dns/rcode.py 68 13 81% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/dns/rdata.py 386 277 28% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/dns/rdataclass.py 43 9 79% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/dns/rdataset.py 192 133 31% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/dns/rdatatype.py 215 23 89% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/OPT.py 34 19 44% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/SOA.py 41 26 37% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/TSIG.py 58 42 28% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/ZONEMD.py 43 27 37% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/__init__.py 1 0 100% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/dns/rdtypes/__init__.py 1 0 100% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/dns/rdtypes/svcbbase.py 415 268 35% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/dns/rdtypes/util.py 191 154 19% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/dns/renderer.py 151 118 22% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/dns/resolver.py 873 696 20% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/dns/reversename.py 32 24 25% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/dns/rrset.py 77 56 27% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/dns/serial.py 92 79 14% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/dns/set.py 148 107 28% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/dns/tokenizer.py 334 279 16% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/dns/transaction.py 269 201 25% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/dns/tsig.py 176 122 31% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/dns/ttl.py 44 38 14% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/dns/version.py 6 0 100% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/dns/wire.py 64 42 34% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/dns/xfr.py 148 126 15% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/dns/zone.py 507 383 24% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/dns/zonefile.py 427 379 11% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/dns/zonetypes.py 14 2 86% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/etcd/__init__.py 125 63 50% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/etcd/client.py 380 256 33% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/etcd/lock.py 125 103 18% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/idna/__init__.py 4 0 100% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/idna/core.py 292 257 12% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/idna/idnadata.py 4 0 100% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/idna/intranges.py 30 24 20% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/idna/package_data.py 1 0 100% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/patroni/__main__.py 201 63 69% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/patroni/api.py 788 292 63% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 15 84% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/patroni/collections.py 56 5 91% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/patroni/config.py 357 84 76% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/patroni/config_generator.py 212 159 25% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/patroni/daemon.py 76 3 96% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 710 96 86% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/patroni/dcs/etcd3.py 679 125 82% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/patroni/dcs/etcd.py 603 256 58% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/patroni/dynamic_loader.py 35 7 80% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/patroni/file_perm.py 47 10 79% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/patroni/global_config.py 87 0 100% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/patroni/ha.py 1359 374 72% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/patroni/log.py 235 79 66% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 825 165 80% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/patroni/postgresql/available_parameters/__init__.py 24 3 88% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 254 60 76% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 840 218 74% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 1 99% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 43 8 81% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/patroni/postgresql/mpp/__init__.py 89 11 88% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 83 51% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 416 128 69% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 349 41 88% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 154 10 94% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 157 24 85% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/patroni/psycopg.py 46 19 59% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/patroni/quorum.py 182 48 74% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/patroni/request.py 58 7 88% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/patroni/tags.py 38 0 100% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/patroni/utils.py 371 103 72% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/patroni/validator.py 309 215 30% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 42 79% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 35 74% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/psutil/__init__.py 950 629 34% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/psutil/_common.py 422 212 50% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/psutil/_compat.py 301 263 13% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1250 924 26% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/psutil/_psposix.py 95 38 60% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/urllib3/__init__.py 49 15 69% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 63 45 29% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/urllib3/_collections.py 231 120 48% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 54 24 56% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/urllib3/_version.py 13 3 77% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/urllib3/connection.py 389 137 65% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 344 122 65% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/urllib3/contrib/__init__.py 0 0 100% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/urllib3/contrib/pyopenssl.py 263 101 62% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/urllib3/exceptions.py 121 39 68% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/urllib3/http2/__init__.py 28 21 25% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/urllib3/http2/probe.py 49 31 37% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 85 64% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/urllib3/response.py 634 330 48% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 42 36% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 49 53% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 15 53% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/urllib3/util/retry.py 174 50 71% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 172 74 57% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 152 106 30% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 14 80% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/urllib3/util/url.py 203 70 66% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 10 62% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 18 63% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/yaml/parser.py 352 198 44% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/yaml/reader.py 122 34 72% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/yaml/scanner.py 758 437 42% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 1010s Apr 14 09:43:53 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 1010s Apr 14 09:43:53 patroni/__init__.py 13 2 85% 1010s Apr 14 09:43:53 patroni/__main__.py 201 201 0% 1010s Apr 14 09:43:53 patroni/api.py 788 788 0% 1010s Apr 14 09:43:53 patroni/async_executor.py 96 69 28% 1010s Apr 14 09:43:53 patroni/collections.py 56 15 73% 1010s Apr 14 09:43:53 patroni/config.py 357 186 48% 1010s Apr 14 09:43:53 patroni/config_generator.py 212 212 0% 1010s Apr 14 09:43:53 patroni/ctl.py 936 395 58% 1010s Apr 14 09:43:53 patroni/daemon.py 76 76 0% 1010s Apr 14 09:43:53 patroni/dcs/__init__.py 710 315 56% 1010s Apr 14 09:43:53 patroni/dcs/consul.py 482 482 0% 1010s Apr 14 09:43:53 patroni/dcs/etcd3.py 679 346 49% 1010s Apr 14 09:43:53 patroni/dcs/etcd.py 603 277 54% 1010s Apr 14 09:43:53 patroni/dcs/exhibitor.py 62 62 0% 1010s Apr 14 09:43:53 patroni/dcs/kubernetes.py 943 943 0% 1010s Apr 14 09:43:53 patroni/dcs/raft.py 319 319 0% 1010s Apr 14 09:43:53 patroni/dcs/zookeeper.py 289 289 0% 1010s Apr 14 09:43:53 patroni/dynamic_loader.py 35 7 80% 1010s Apr 14 09:43:53 patroni/exceptions.py 16 1 94% 1010s Apr 14 09:43:53 patroni/file_perm.py 47 17 64% 1010s Apr 14 09:43:53 patroni/global_config.py 87 19 78% 1010s Apr 14 09:43:53 patroni/ha.py 1359 1359 0% 1010s Apr 14 09:43:53 patroni/log.py 235 183 22% 1010s Apr 14 09:43:53 patroni/postgresql/__init__.py 825 653 21% 1010s Apr 14 09:43:53 patroni/postgresql/available_parameters/__init__.py 24 3 88% 1010s Apr 14 09:43:53 patroni/postgresql/bootstrap.py 254 224 12% 1010s Apr 14 09:43:53 patroni/postgresql/callback_executor.py 55 34 38% 1010s Apr 14 09:43:53 patroni/postgresql/cancellable.py 104 84 19% 1010s Apr 14 09:43:53 patroni/postgresql/config.py 840 720 14% 1010s Apr 14 09:43:53 patroni/postgresql/connection.py 75 50 33% 1010s Apr 14 09:43:53 patroni/postgresql/misc.py 43 30 30% 1010s Apr 14 09:43:53 patroni/postgresql/mpp/__init__.py 89 21 76% 1010s Apr 14 09:43:53 patroni/postgresql/mpp/citus.py 366 366 0% 1010s Apr 14 09:43:53 patroni/postgresql/postmaster.py 170 139 18% 1010s Apr 14 09:43:53 patroni/postgresql/rewind.py 416 416 0% 1010s Apr 14 09:43:53 patroni/postgresql/slots.py 349 300 14% 1010s Apr 14 09:43:53 patroni/postgresql/sync.py 154 114 26% 1010s Apr 14 09:43:53 patroni/postgresql/validator.py 157 52 67% 1010s Apr 14 09:43:53 patroni/psycopg.py 46 32 30% 1010s Apr 14 09:43:53 patroni/quorum.py 182 182 0% 1010s Apr 14 09:43:53 patroni/raft_controller.py 22 22 0% 1010s Apr 14 09:43:53 patroni/request.py 58 6 90% 1010s Apr 14 09:43:53 patroni/scripts/__init__.py 0 0 100% 1010s Apr 14 09:43:53 patroni/scripts/aws.py 59 59 0% 1010s Apr 14 09:43:53 patroni/scripts/barman/__init__.py 0 0 100% 1010s Apr 14 09:43:53 patroni/scripts/barman/cli.py 50 50 0% 1010s Apr 14 09:43:53 patroni/scripts/barman/config_switch.py 50 50 0% 1010s Apr 14 09:43:53 patroni/scripts/barman/recover.py 36 36 0% 1010s Apr 14 09:43:53 patroni/scripts/barman/utils.py 93 93 0% 1010s Apr 14 09:43:53 patroni/scripts/wale_restore.py 207 207 0% 1010s Apr 14 09:43:53 patroni/tags.py 38 11 71% 1010s Apr 14 09:43:53 patroni/utils.py 371 185 50% 1010s Apr 14 09:43:53 patroni/validator.py 309 222 28% 1010s Apr 14 09:43:53 patroni/version.py 1 0 100% 1010s Apr 14 09:43:53 patroni/watchdog/__init__.py 2 2 0% 1010s Apr 14 09:43:53 patroni/watchdog/base.py 203 203 0% 1010s Apr 14 09:43:53 patroni/watchdog/linux.py 135 135 0% 1010s Apr 14 09:43:53 ------------------------------------------------------------------------------------------------------------- 1010s Apr 14 09:43:53 TOTAL 54417 32581 40% 1010s Apr 14 09:43:53 HOOK-ERROR in before_all: AssertionError: Process etcd is not running after being started 1010s Apr 14 09:43:53 1010s Apr 14 09:43:53 ABORTED: By user. 1010s Apr 14 09:43:53 0 features passed, 0 failed, 0 skipped, 14 untested 1010s Apr 14 09:43:53 0 scenarios passed, 0 failed, 0 skipped, 69 untested 1010s Apr 14 09:43:53 0 steps passed, 0 failed, 0 skipped, 0 undefined, 667 untested 1010s Apr 14 09:43:53 Took 0m0.000s 1010s features/output/*_failed/*: 1010s + for file in features/output/*_failed/* 1010s + case $file in 1010s + echo 'features/output/*_failed/*:' 1010s + cat 'features/output/*_failed/*' 1010s cat: 'features/output/*_failed/*': No such file or directory 1010s + rm -f '/tmp/pgpass_postgres-?' 1010s ++ id -u 1010s + '[' 1000 -eq 0 ']' 1010s autopkgtest [09:43:53]: test acceptance-etcd: -----------------------] 1011s autopkgtest [09:43:54]: test acceptance-etcd: - - - - - - - - - - results - - - - - - - - - - 1011s acceptance-etcd FAIL non-zero exit status 1 1012s autopkgtest [09:43:55]: test acceptance-zookeeper: preparing testbed 1118s autopkgtest [09:45:41]: testbed dpkg architecture: arm64 1118s autopkgtest [09:45:41]: testbed apt version: 3.0.0 1118s autopkgtest [09:45:41]: @@@@@@@@@@@@@@@@@@@@ test bed setup 1118s autopkgtest [09:45:41]: testbed release detected to be: plucky 1119s autopkgtest [09:45:42]: updating testbed package index (apt update) 1120s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [265 kB] 1120s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 1120s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 1120s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 1120s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [9948 B] 1120s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [204 kB] 1120s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [5192 B] 1120s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 Packages [3176 B] 1120s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 c-n-f Metadata [252 B] 1120s Get:10 http://ftpmaster.internal/ubuntu plucky-proposed/restricted arm64 c-n-f Metadata [224 B] 1120s Get:11 http://ftpmaster.internal/ubuntu plucky-proposed/universe arm64 Packages [129 kB] 1120s Get:12 http://ftpmaster.internal/ubuntu plucky-proposed/universe arm64 c-n-f Metadata [8288 B] 1120s Get:13 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse arm64 Packages [2004 B] 1120s Get:14 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse arm64 c-n-f Metadata [324 B] 1122s Fetched 628 kB in 1s (829 kB/s) 1122s Reading package lists... 1123s autopkgtest [09:45:46]: upgrading testbed (apt dist-upgrade and autopurge) 1123s Reading package lists... 1123s Building dependency tree... 1123s Reading state information... 1124s Calculating upgrade...Starting pkgProblemResolver with broken count: 0 1124s Starting 2 pkgProblemResolver with broken count: 0 1124s Done 1125s Entering ResolveByKeep 1125s 1125s Calculating upgrade... 1125s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1126s Reading package lists... 1126s Building dependency tree... 1126s Reading state information... 1126s Starting pkgProblemResolver with broken count: 0 1126s Starting 2 pkgProblemResolver with broken count: 0 1126s Done 1127s Solving dependencies... 1127s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1130s Reading package lists... 1130s Building dependency tree... 1130s Reading state information... 1130s Starting pkgProblemResolver with broken count: 0 1130s Starting 2 pkgProblemResolver with broken count: 0 1130s Done 1131s The following NEW packages will be installed: 1131s adwaita-icon-theme at-spi2-common ca-certificates-java 1131s dconf-gsettings-backend dconf-service default-jre default-jre-headless 1131s fontconfig fontconfig-config fonts-dejavu-core fonts-dejavu-mono 1131s fonts-font-awesome fonts-lato gtk-update-icon-cache hicolor-icon-theme 1131s java-common junit4 libactivation-java libapache-pom-java libapr1t64 1131s libasm-java libasound2-data libasound2t64 libatinject-jsr330-api-java 1131s libatk-bridge2.0-0t64 libatk1.0-0t64 libatspi2.0-0t64 libavahi-client3 1131s libavahi-common-data libavahi-common3 libcairo-gobject2 libcairo2 libcares2 1131s libcolord2 libcommons-cli-java libcommons-io-java libcommons-logging-java 1131s libcommons-parent-java libcups2t64 libdatrie1 libdconf1 libdeflate0 1131s libdropwizard-metrics-java libeclipse-jdt-core-compiler-batch-java 1131s libeclipse-jdt-core-java libel-api-java libepoxy0 liberror-prone-java 1131s libev4t64 libfindbugs-annotations-java libfontconfig1 libgbm1 1131s libgdk-pixbuf-2.0-0 libgdk-pixbuf2.0-common libgif7 libgl1 libgl1-mesa-dri 1131s libglvnd0 libglx-mesa0 libglx0 libgraphite2-3 libgtk-3-0t64 libgtk-3-common 1131s libguava-java libhamcrest-java libharfbuzz0b libio-pty-perl libipc-run-perl 1131s libjackson2-annotations-java libjackson2-core-java libjackson2-databind-java 1131s libjavaparser-java libjaxb-api-java libjbig0 libjctools-java 1131s libjetty9-extra-java libjetty9-java libjffi-java libjffi-jni 1131s libjnr-constants-java libjnr-enxio-java libjnr-ffi-java libjnr-posix-java 1131s libjnr-unixsocket-java libjnr-x86asm-java libjpeg-turbo8 libjpeg8 1131s libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl libjsp-api-java 1131s libjsr305-java liblcms2-2 liblerc4 libllvm20 liblog4j1.2-java libmail-java 1131s libnetty-java libnetty-tcnative-java libnetty-tcnative-jni libpango-1.0-0 1131s libpangocairo-1.0-0 libpangoft2-1.0-0 libpcsclite1 libpixman-1-0 libpq5 1131s libservlet-api-java libsharpyuv0 libslf4j-java libsnappy-java libsnappy-jni 1131s libsnappy1v5 libspring-beans-java libspring-core-java 1131s libtaglibs-standard-impl-java libtaglibs-standard-spec-java libthai-data 1131s libthai0 libtiff6 libtime-duration-perl libtimedate-perl libtomcat9-java 1131s libvulkan1 libwayland-client0 libwayland-cursor0 libwayland-egl1 1131s libwayland-server0 libwebp7 libwebsocket-api-java libx11-xcb1 libxcb-dri3-0 1131s libxcb-glx0 libxcb-present0 libxcb-randr0 libxcb-render0 libxcb-shm0 1131s libxcb-sync1 libxcb-xfixes0 libxcomposite1 libxcursor1 libxdamage1 1131s libxfixes3 libxi6 libxinerama1 libxrandr2 libxrender1 libxshmfence1 1131s libxslt1.1 libxtst6 libxxf86vm1 libzookeeper-java mesa-libgallium moreutils 1131s openjdk-21-jre openjdk-21-jre-headless patroni patroni-doc postgresql 1131s postgresql-17 postgresql-client-17 postgresql-client-common 1131s postgresql-common postgresql-common-dev python3-behave python3-click 1131s python3-coverage python3-dateutil python3-dnspython python3-eventlet 1131s python3-gevent python3-greenlet python3-kazoo python3-kerberos python3-parse 1131s python3-parse-type python3-prettytable python3-psutil python3-psycopg2 1131s python3-pure-sasl python3-six python3-wcwidth python3-ydiff 1131s python3-zope.event python3-zope.interface sphinx-rtd-theme-common ssl-cert 1131s x11-common zookeeper zookeeperd 1131s 0 upgraded, 190 newly installed, 0 to remove and 0 not upgraded. 1131s Need to get 160 MB of archives. 1131s After this operation, 587 MB of additional disk space will be used. 1131s Get:1 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-lato all 2.015-1 [2781 kB] 1132s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 libjson-perl all 4.10000-1 [81.9 kB] 1132s Get:3 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-client-common all 274 [47.6 kB] 1132s Get:4 http://ftpmaster.internal/ubuntu plucky/main arm64 libio-pty-perl arm64 1:1.20-1build3 [31.3 kB] 1132s Get:5 http://ftpmaster.internal/ubuntu plucky/main arm64 libipc-run-perl all 20231003.0-2 [91.5 kB] 1132s Get:6 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-common-dev all 274 [73.0 kB] 1132s Get:7 http://ftpmaster.internal/ubuntu plucky/main arm64 ssl-cert all 1.1.3ubuntu1 [18.7 kB] 1132s Get:8 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-common all 274 [101 kB] 1132s Get:9 http://ftpmaster.internal/ubuntu plucky/main arm64 ca-certificates-java all 20240118 [11.6 kB] 1132s Get:10 http://ftpmaster.internal/ubuntu plucky/main arm64 java-common all 0.76 [6852 B] 1132s Get:11 http://ftpmaster.internal/ubuntu plucky/main arm64 liblcms2-2 arm64 2.16-2 [170 kB] 1132s Get:12 http://ftpmaster.internal/ubuntu plucky/main arm64 libjpeg-turbo8 arm64 2.1.5-3ubuntu2 [165 kB] 1132s Get:13 http://ftpmaster.internal/ubuntu plucky/main arm64 libjpeg8 arm64 8c-2ubuntu11 [2148 B] 1132s Get:14 http://ftpmaster.internal/ubuntu plucky/main arm64 libpcsclite1 arm64 2.3.1-1 [25.0 kB] 1132s Get:15 http://ftpmaster.internal/ubuntu plucky/main arm64 openjdk-21-jre-headless arm64 21.0.7~8ea-1 [45.7 MB] 1139s Get:16 http://ftpmaster.internal/ubuntu plucky/main arm64 default-jre-headless arm64 2:1.21-76 [3176 B] 1139s Get:17 http://ftpmaster.internal/ubuntu plucky/main arm64 libgdk-pixbuf2.0-common all 2.42.12+dfsg-2 [8004 B] 1139s Get:18 http://ftpmaster.internal/ubuntu plucky/main arm64 libdeflate0 arm64 1.23-1 [46.2 kB] 1139s Get:19 http://ftpmaster.internal/ubuntu plucky/main arm64 libjbig0 arm64 2.1-6.1ubuntu2 [29.3 kB] 1139s Get:20 http://ftpmaster.internal/ubuntu plucky/main arm64 liblerc4 arm64 4.0.0+ds-5ubuntu1 [167 kB] 1139s Get:21 http://ftpmaster.internal/ubuntu plucky/main arm64 libsharpyuv0 arm64 1.5.0-0.1 [16.9 kB] 1139s Get:22 http://ftpmaster.internal/ubuntu plucky/main arm64 libwebp7 arm64 1.5.0-0.1 [194 kB] 1139s Get:23 http://ftpmaster.internal/ubuntu plucky/main arm64 libtiff6 arm64 4.5.1+git230720-4ubuntu4 [193 kB] 1139s Get:24 http://ftpmaster.internal/ubuntu plucky/main arm64 libgdk-pixbuf-2.0-0 arm64 2.42.12+dfsg-2 [147 kB] 1139s Get:25 http://ftpmaster.internal/ubuntu plucky/main arm64 gtk-update-icon-cache arm64 4.18.4+ds-1 [53.0 kB] 1139s Get:26 http://ftpmaster.internal/ubuntu plucky/main arm64 hicolor-icon-theme all 0.18-2 [13.3 kB] 1139s Get:27 http://ftpmaster.internal/ubuntu plucky/main arm64 adwaita-icon-theme all 48.0-1 [578 kB] 1139s Get:28 http://ftpmaster.internal/ubuntu plucky/main arm64 at-spi2-common all 2.56.1-1 [9142 B] 1139s Get:29 http://ftpmaster.internal/ubuntu plucky/main arm64 libatk1.0-0t64 arm64 2.56.1-1 [55.4 kB] 1139s Get:30 http://ftpmaster.internal/ubuntu plucky/main arm64 libxi6 arm64 2:1.8.2-1 [32.4 kB] 1139s Get:31 http://ftpmaster.internal/ubuntu plucky/main arm64 libatspi2.0-0t64 arm64 2.56.1-1 [84.8 kB] 1139s Get:32 http://ftpmaster.internal/ubuntu plucky/main arm64 libatk-bridge2.0-0t64 arm64 2.56.1-1 [66.7 kB] 1139s Get:33 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-dejavu-mono all 2.37-8 [502 kB] 1139s Get:34 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-dejavu-core all 2.37-8 [835 kB] 1139s Get:35 http://ftpmaster.internal/ubuntu plucky/main arm64 fontconfig-config arm64 2.15.0-2.2ubuntu1 [37.9 kB] 1140s Get:36 http://ftpmaster.internal/ubuntu plucky/main arm64 libfontconfig1 arm64 2.15.0-2.2ubuntu1 [144 kB] 1140s Get:37 http://ftpmaster.internal/ubuntu plucky/main arm64 libpixman-1-0 arm64 0.44.0-3 [197 kB] 1140s Get:38 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcb-render0 arm64 1.17.0-2 [16.6 kB] 1140s Get:39 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcb-shm0 arm64 1.17.0-2 [5884 B] 1140s Get:40 http://ftpmaster.internal/ubuntu plucky/main arm64 libxrender1 arm64 1:0.9.10-1.1build1 [18.8 kB] 1140s Get:41 http://ftpmaster.internal/ubuntu plucky/main arm64 libcairo2 arm64 1.18.4-1 [560 kB] 1140s Get:42 http://ftpmaster.internal/ubuntu plucky/main arm64 libcairo-gobject2 arm64 1.18.4-1 [127 kB] 1140s Get:43 http://ftpmaster.internal/ubuntu plucky/main arm64 libcolord2 arm64 1.4.7-3 [151 kB] 1140s Get:44 http://ftpmaster.internal/ubuntu plucky/main arm64 libavahi-common-data arm64 0.8-16ubuntu2 [31.0 kB] 1140s Get:45 http://ftpmaster.internal/ubuntu plucky/main arm64 libavahi-common3 arm64 0.8-16ubuntu2 [22.9 kB] 1140s Get:46 http://ftpmaster.internal/ubuntu plucky/main arm64 libavahi-client3 arm64 0.8-16ubuntu2 [26.9 kB] 1140s Get:47 http://ftpmaster.internal/ubuntu plucky/main arm64 libcups2t64 arm64 2.4.12-0ubuntu1 [272 kB] 1140s Get:48 http://ftpmaster.internal/ubuntu plucky/main arm64 libepoxy0 arm64 1.5.10-2 [236 kB] 1140s Get:49 http://ftpmaster.internal/ubuntu plucky/main arm64 libgraphite2-3 arm64 1.3.14-2ubuntu1 [70.6 kB] 1140s Get:50 http://ftpmaster.internal/ubuntu plucky/main arm64 libharfbuzz0b arm64 10.2.0-1 [490 kB] 1140s Get:51 http://ftpmaster.internal/ubuntu plucky/main arm64 fontconfig arm64 2.15.0-2.2ubuntu1 [191 kB] 1140s Get:52 http://ftpmaster.internal/ubuntu plucky/main arm64 libthai-data all 0.1.29-2build1 [158 kB] 1140s Get:53 http://ftpmaster.internal/ubuntu plucky/main arm64 libdatrie1 arm64 0.2.13-3build1 [19.2 kB] 1140s Get:54 http://ftpmaster.internal/ubuntu plucky/main arm64 libthai0 arm64 0.1.29-2build1 [18.2 kB] 1140s Get:55 http://ftpmaster.internal/ubuntu plucky/main arm64 libpango-1.0-0 arm64 1.56.3-1 [238 kB] 1140s Get:56 http://ftpmaster.internal/ubuntu plucky/main arm64 libpangoft2-1.0-0 arm64 1.56.3-1 [49.8 kB] 1140s Get:57 http://ftpmaster.internal/ubuntu plucky/main arm64 libpangocairo-1.0-0 arm64 1.56.3-1 [27.6 kB] 1140s Get:58 http://ftpmaster.internal/ubuntu plucky/main arm64 libwayland-client0 arm64 1.23.1-3 [27.0 kB] 1140s Get:59 http://ftpmaster.internal/ubuntu plucky/main arm64 libwayland-cursor0 arm64 1.23.1-3 [10.8 kB] 1140s Get:60 http://ftpmaster.internal/ubuntu plucky/main arm64 libwayland-egl1 arm64 1.23.1-3 [6180 B] 1140s Get:61 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcomposite1 arm64 1:0.4.6-1 [6626 B] 1140s Get:62 http://ftpmaster.internal/ubuntu plucky/main arm64 libxfixes3 arm64 1:6.0.0-2build1 [11.2 kB] 1140s Get:63 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcursor1 arm64 1:1.2.3-1 [22.2 kB] 1140s Get:64 http://ftpmaster.internal/ubuntu plucky/main arm64 libxdamage1 arm64 1:1.1.6-1build1 [6236 B] 1140s Get:65 http://ftpmaster.internal/ubuntu plucky/main arm64 libxinerama1 arm64 2:1.1.4-3build1 [6394 B] 1140s Get:66 http://ftpmaster.internal/ubuntu plucky/main arm64 libxrandr2 arm64 2:1.5.4-1 [19.6 kB] 1140s Get:67 http://ftpmaster.internal/ubuntu plucky/main arm64 libdconf1 arm64 0.40.0-5 [40.0 kB] 1140s Get:68 http://ftpmaster.internal/ubuntu plucky/main arm64 dconf-service arm64 0.40.0-5 [27.1 kB] 1140s Get:69 http://ftpmaster.internal/ubuntu plucky/main arm64 dconf-gsettings-backend arm64 0.40.0-5 [22.3 kB] 1140s Get:70 http://ftpmaster.internal/ubuntu plucky/main arm64 libgtk-3-common all 3.24.49-2ubuntu1 [1424 kB] 1140s Get:71 http://ftpmaster.internal/ubuntu plucky/main arm64 libgtk-3-0t64 arm64 3.24.49-2ubuntu1 [2918 kB] 1141s Get:72 http://ftpmaster.internal/ubuntu plucky/main arm64 libglvnd0 arm64 1.7.0-1build1 [60.6 kB] 1141s Get:73 http://ftpmaster.internal/ubuntu plucky/main arm64 libx11-xcb1 arm64 2:1.8.10-2 [8020 B] 1141s Get:74 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcb-dri3-0 arm64 1.17.0-2 [7606 B] 1141s Get:75 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcb-glx0 arm64 1.17.0-2 [25.5 kB] 1141s Get:76 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcb-present0 arm64 1.17.0-2 [6224 B] 1141s Get:77 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcb-xfixes0 arm64 1.17.0-2 [10.6 kB] 1141s Get:78 http://ftpmaster.internal/ubuntu plucky/main arm64 libxxf86vm1 arm64 1:1.1.4-1build4 [9130 B] 1141s Get:79 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcb-randr0 arm64 1.17.0-2 [18.5 kB] 1141s Get:80 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcb-sync1 arm64 1.17.0-2 [9688 B] 1141s Get:81 http://ftpmaster.internal/ubuntu plucky/main arm64 libxshmfence1 arm64 1.3-1build5 [4938 B] 1141s Get:82 http://ftpmaster.internal/ubuntu plucky/main arm64 mesa-libgallium arm64 25.0.3-1ubuntu2 [9455 kB] 1142s Get:83 http://ftpmaster.internal/ubuntu plucky/main arm64 libwayland-server0 arm64 1.23.1-3 [36.1 kB] 1142s Get:84 http://ftpmaster.internal/ubuntu plucky/main arm64 libgbm1 arm64 25.0.3-1ubuntu2 [33.7 kB] 1142s Get:85 http://ftpmaster.internal/ubuntu plucky/main arm64 libvulkan1 arm64 1.4.304.0-1 [158 kB] 1142s Get:86 http://ftpmaster.internal/ubuntu plucky/main arm64 libgl1-mesa-dri arm64 25.0.3-1ubuntu2 [35.4 kB] 1142s Get:87 http://ftpmaster.internal/ubuntu plucky/main arm64 libglx-mesa0 arm64 25.0.3-1ubuntu2 [151 kB] 1142s Get:88 http://ftpmaster.internal/ubuntu plucky/main arm64 libglx0 arm64 1.7.0-1build1 [33.2 kB] 1142s Get:89 http://ftpmaster.internal/ubuntu plucky/main arm64 libgl1 arm64 1.7.0-1build1 [106 kB] 1142s Get:90 http://ftpmaster.internal/ubuntu plucky/main arm64 libasound2-data all 1.2.13-1build1 [21.1 kB] 1142s Get:91 http://ftpmaster.internal/ubuntu plucky/main arm64 libasound2t64 arm64 1.2.13-1build1 [390 kB] 1142s Get:92 http://ftpmaster.internal/ubuntu plucky/main arm64 libgif7 arm64 5.2.2-1ubuntu2 [36.1 kB] 1142s Get:93 http://ftpmaster.internal/ubuntu plucky/main arm64 x11-common all 1:7.7+23ubuntu4 [21.8 kB] 1142s Get:94 http://ftpmaster.internal/ubuntu plucky/main arm64 libxtst6 arm64 2:1.2.5-1 [13.2 kB] 1142s Get:95 http://ftpmaster.internal/ubuntu plucky/main arm64 openjdk-21-jre arm64 21.0.7~8ea-1 [221 kB] 1142s Get:96 http://ftpmaster.internal/ubuntu plucky/main arm64 default-jre arm64 2:1.21-76 [918 B] 1142s Get:97 http://ftpmaster.internal/ubuntu plucky/universe arm64 libhamcrest-java all 2.2-2 [117 kB] 1142s Get:98 http://ftpmaster.internal/ubuntu plucky/universe arm64 junit4 all 4.13.2-5 [348 kB] 1142s Get:99 http://ftpmaster.internal/ubuntu plucky/universe arm64 libcommons-cli-java all 1.6.0-1 [59.9 kB] 1142s Get:100 http://ftpmaster.internal/ubuntu plucky/universe arm64 libapache-pom-java all 33-2 [5874 B] 1142s Get:101 http://ftpmaster.internal/ubuntu plucky/universe arm64 libcommons-parent-java all 56-1 [10.7 kB] 1142s Get:102 http://ftpmaster.internal/ubuntu plucky/universe arm64 libcommons-io-java all 2.18.0-1 [477 kB] 1143s Get:103 http://ftpmaster.internal/ubuntu plucky/universe arm64 libdropwizard-metrics-java all 3.2.6-1 [240 kB] 1143s Get:104 http://ftpmaster.internal/ubuntu plucky/universe arm64 libfindbugs-annotations-java all 3.1.0~preview2-4 [48.9 kB] 1143s Get:105 http://ftpmaster.internal/ubuntu plucky/universe arm64 libatinject-jsr330-api-java all 1.0+ds1-6 [5076 B] 1143s Get:106 http://ftpmaster.internal/ubuntu plucky/universe arm64 liberror-prone-java all 2.18.0-1 [22.5 kB] 1143s Get:107 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjsr305-java all 0.1~+svn49-12 [27.0 kB] 1143s Get:108 http://ftpmaster.internal/ubuntu plucky/universe arm64 libguava-java all 32.0.1-1 [2692 kB] 1143s Get:109 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjackson2-annotations-java all 2.14.0-1 [64.7 kB] 1143s Get:110 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjackson2-core-java all 2.14.1-1 [432 kB] 1143s Get:111 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjackson2-databind-java all 2.14.0+ds-1 [1481 kB] 1144s Get:112 http://ftpmaster.internal/ubuntu plucky/universe arm64 libasm-java all 9.7.1-1 [388 kB] 1144s Get:113 http://ftpmaster.internal/ubuntu plucky/universe arm64 libel-api-java all 3.0.0-3 [64.9 kB] 1144s Get:114 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjsp-api-java all 2.3.4-3 [53.7 kB] 1144s Get:115 http://ftpmaster.internal/ubuntu plucky/universe arm64 libservlet-api-java all 4.0.1-2 [81.0 kB] 1144s Get:116 http://ftpmaster.internal/ubuntu plucky/universe arm64 libwebsocket-api-java all 1.1-2 [40.1 kB] 1144s Get:117 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjetty9-java all 9.4.56-1 [2790 kB] 1144s Get:118 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjnr-constants-java all 0.10.4-2 [1397 kB] 1145s Get:119 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjffi-jni arm64 1.3.13+ds-1 [29.8 kB] 1145s Get:120 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjffi-java all 1.3.13+ds-1 [112 kB] 1145s Get:121 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjnr-x86asm-java all 1.0.2-6 [216 kB] 1145s Get:122 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjnr-ffi-java all 2.2.15-2 [627 kB] 1145s Get:123 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjnr-enxio-java all 0.32.16-1 [33.7 kB] 1145s Get:124 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjnr-posix-java all 3.1.18-1 [267 kB] 1145s Get:125 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjnr-unixsocket-java all 0.38.21-2 [46.9 kB] 1145s Get:126 http://ftpmaster.internal/ubuntu plucky/universe arm64 libactivation-java all 1.2.0-2 [84.7 kB] 1145s Get:127 http://ftpmaster.internal/ubuntu plucky/universe arm64 libmail-java all 1.6.5-3 [681 kB] 1145s Get:128 http://ftpmaster.internal/ubuntu plucky/universe arm64 libcommons-logging-java all 1.3.0-1ubuntu1 [63.8 kB] 1145s Get:129 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjaxb-api-java all 2.3.1-1 [119 kB] 1145s Get:130 http://ftpmaster.internal/ubuntu plucky/universe arm64 libspring-core-java all 4.3.30-2ubuntu1 [1015 kB] 1145s Get:131 http://ftpmaster.internal/ubuntu plucky/universe arm64 libspring-beans-java all 4.3.30-2ubuntu1 [677 kB] 1145s Get:132 http://ftpmaster.internal/ubuntu plucky/universe arm64 libtaglibs-standard-spec-java all 1.2.5-3 [35.2 kB] 1145s Get:133 http://ftpmaster.internal/ubuntu plucky/universe arm64 libtaglibs-standard-impl-java all 1.2.5-3 [182 kB] 1145s Get:134 http://ftpmaster.internal/ubuntu plucky/universe arm64 libeclipse-jdt-core-compiler-batch-java all 3.35.0+eclipse4.29-2 [2933 kB] 1146s Get:135 http://ftpmaster.internal/ubuntu plucky/universe arm64 libeclipse-jdt-core-java all 3.35.0+eclipse4.29-2 [3831 kB] 1146s Get:136 http://ftpmaster.internal/ubuntu plucky/universe arm64 libtomcat9-java all 9.0.70-2ubuntu1.1 [6161 kB] 1147s Get:137 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjetty9-extra-java all 9.4.56-1 [1199 kB] 1147s Get:138 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjavaparser-java all 3.26.1-1 [1326 kB] 1148s Get:139 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjctools-java all 4.0.5+dfsg-1 [506 kB] 1148s Get:140 http://ftpmaster.internal/ubuntu plucky/universe arm64 libnetty-java all 1:4.1.48-10 [3628 kB] 1148s Get:141 http://ftpmaster.internal/ubuntu plucky/universe arm64 libslf4j-java all 1.7.32-1 [141 kB] 1148s Get:142 http://ftpmaster.internal/ubuntu plucky/main arm64 libsnappy1v5 arm64 1.2.1-1 [30.4 kB] 1148s Get:143 http://ftpmaster.internal/ubuntu plucky/universe arm64 libsnappy-jni arm64 1.1.10.7-1 [6672 B] 1148s Get:144 http://ftpmaster.internal/ubuntu plucky/universe arm64 libsnappy-java all 1.1.10.7-1 [83.6 kB] 1148s Get:145 http://ftpmaster.internal/ubuntu plucky/main arm64 libapr1t64 arm64 1.7.5-1 [106 kB] 1148s Get:146 http://ftpmaster.internal/ubuntu plucky/universe arm64 libnetty-tcnative-jni arm64 2.0.28-1build4 [36.8 kB] 1148s Get:147 http://ftpmaster.internal/ubuntu plucky/universe arm64 libnetty-tcnative-java all 2.0.28-1build4 [24.8 kB] 1148s Get:148 http://ftpmaster.internal/ubuntu plucky/universe arm64 liblog4j1.2-java all 1.2.17-11 [439 kB] 1148s Get:149 http://ftpmaster.internal/ubuntu plucky/universe arm64 libzookeeper-java all 3.9.3-1build1 [1890 kB] 1148s Get:150 http://ftpmaster.internal/ubuntu plucky/universe arm64 zookeeper all 3.9.3-1build1 [57.8 kB] 1149s Get:151 http://ftpmaster.internal/ubuntu plucky/universe arm64 zookeeperd all 3.9.3-1build1 [6016 B] 1149s Get:152 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 1149s Get:153 http://ftpmaster.internal/ubuntu plucky/main arm64 libcares2 arm64 1.34.4-2.1 [100 kB] 1149s Get:154 http://ftpmaster.internal/ubuntu plucky/universe arm64 libev4t64 arm64 1:4.33-2.1build1 [30.5 kB] 1149s Get:155 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 1149s Get:156 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 1149s Get:157 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-sphinxdoc all 8.1.3-5 [31.0 kB] 1149s Get:158 http://ftpmaster.internal/ubuntu plucky/main arm64 libllvm20 arm64 1:20.1.2-0ubuntu1 [29.1 MB] 1153s Get:159 http://ftpmaster.internal/ubuntu plucky/main arm64 libpq5 arm64 17.4-1 [142 kB] 1153s Get:160 http://ftpmaster.internal/ubuntu plucky/main arm64 libtime-duration-perl all 1.21-2 [12.3 kB] 1153s Get:161 http://ftpmaster.internal/ubuntu plucky/main arm64 libtimedate-perl all 2.3300-2 [34.0 kB] 1153s Get:162 http://ftpmaster.internal/ubuntu plucky/main arm64 libxslt1.1 arm64 1.1.39-0exp1ubuntu4 [168 kB] 1153s Get:163 http://ftpmaster.internal/ubuntu plucky/universe arm64 moreutils arm64 0.69-1 [56.7 kB] 1153s Get:164 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-click all 8.2.0+0.really.8.1.8-1 [80.0 kB] 1153s Get:165 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-dateutil all 2.9.0-4 [80.3 kB] 1153s Get:166 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 1153s Get:167 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-prettytable all 3.12.0-1 [36.5 kB] 1153s Get:168 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-psutil arm64 5.9.8-2build3 [196 kB] 1153s Get:169 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-ydiff all 1.4.2-1 [19.0 kB] 1153s Get:170 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-psycopg2 arm64 2.9.10-1build1 [133 kB] 1153s Get:171 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-greenlet arm64 3.1.0-1build1 [160 kB] 1153s Get:172 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-dnspython all 2.7.0-1ubuntu1 [167 kB] 1153s Get:173 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-eventlet all 0.39.0-0ubuntu1 [277 kB] 1153s Get:174 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-zope.event all 5.0-0.1 [7512 B] 1153s Get:175 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-zope.interface arm64 7.2-1build1 [141 kB] 1153s Get:176 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-gevent arm64 24.11.1-1build1 [847 kB] 1153s Get:177 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-kerberos arm64 1.1.14-3.1build11 [21.2 kB] 1153s Get:178 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pure-sasl all 0.5.1+dfsg1-5 [11.4 kB] 1153s Get:179 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-six all 1.17.0-1 [13.2 kB] 1153s Get:180 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-kazoo all 2.9.0-2 [103 kB] 1153s Get:181 http://ftpmaster.internal/ubuntu plucky-proposed/universe arm64 patroni all 4.0.4-8 [282 kB] 1153s Get:182 http://ftpmaster.internal/ubuntu plucky/main arm64 sphinx-rtd-theme-common all 3.0.2+dfsg-2 [1014 kB] 1154s Get:183 http://ftpmaster.internal/ubuntu plucky-proposed/universe arm64 patroni-doc all 4.0.4-8 [526 kB] 1154s Get:184 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-client-17 arm64 17.4-1 [1342 kB] 1154s Get:185 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-17 arm64 17.4-1 [15.6 MB] 1156s Get:186 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql all 17+274 [14.4 kB] 1156s Get:187 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-parse all 1.20.2-1 [27.0 kB] 1156s Get:188 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-parse-type all 0.6.4-2 [23.5 kB] 1156s Get:189 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-behave all 1.2.6-6 [98.6 kB] 1156s Get:190 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-coverage arm64 7.6.0+dfsg1-2build1 [153 kB] 1156s Preconfiguring packages ... 1156s /var/cache/debconf/tmp.ci/postgresql.config.vOuo7h: 12: pg_lsclusters: not found 1156s Fetched 160 MB in 25s (6528 kB/s) 1156s Selecting previously unselected package fonts-lato. 1157s (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 ... 117820 files and directories currently installed.) 1157s Preparing to unpack .../000-fonts-lato_2.015-1_all.deb ... 1157s Unpacking fonts-lato (2.015-1) ... 1157s Selecting previously unselected package libjson-perl. 1157s Preparing to unpack .../001-libjson-perl_4.10000-1_all.deb ... 1157s Unpacking libjson-perl (4.10000-1) ... 1157s Selecting previously unselected package postgresql-client-common. 1157s Preparing to unpack .../002-postgresql-client-common_274_all.deb ... 1157s Unpacking postgresql-client-common (274) ... 1157s Selecting previously unselected package libio-pty-perl. 1157s Preparing to unpack .../003-libio-pty-perl_1%3a1.20-1build3_arm64.deb ... 1157s Unpacking libio-pty-perl (1:1.20-1build3) ... 1157s Selecting previously unselected package libipc-run-perl. 1157s Preparing to unpack .../004-libipc-run-perl_20231003.0-2_all.deb ... 1157s Unpacking libipc-run-perl (20231003.0-2) ... 1157s Selecting previously unselected package postgresql-common-dev. 1157s Preparing to unpack .../005-postgresql-common-dev_274_all.deb ... 1157s Unpacking postgresql-common-dev (274) ... 1157s Selecting previously unselected package ssl-cert. 1157s Preparing to unpack .../006-ssl-cert_1.1.3ubuntu1_all.deb ... 1157s Unpacking ssl-cert (1.1.3ubuntu1) ... 1157s Selecting previously unselected package postgresql-common. 1157s Preparing to unpack .../007-postgresql-common_274_all.deb ... 1157s Adding 'diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common' 1157s Unpacking postgresql-common (274) ... 1157s Selecting previously unselected package ca-certificates-java. 1157s Preparing to unpack .../008-ca-certificates-java_20240118_all.deb ... 1157s Unpacking ca-certificates-java (20240118) ... 1157s Selecting previously unselected package java-common. 1157s Preparing to unpack .../009-java-common_0.76_all.deb ... 1157s Unpacking java-common (0.76) ... 1157s Selecting previously unselected package liblcms2-2:arm64. 1157s Preparing to unpack .../010-liblcms2-2_2.16-2_arm64.deb ... 1157s Unpacking liblcms2-2:arm64 (2.16-2) ... 1157s Selecting previously unselected package libjpeg-turbo8:arm64. 1157s Preparing to unpack .../011-libjpeg-turbo8_2.1.5-3ubuntu2_arm64.deb ... 1157s Unpacking libjpeg-turbo8:arm64 (2.1.5-3ubuntu2) ... 1157s Selecting previously unselected package libjpeg8:arm64. 1157s Preparing to unpack .../012-libjpeg8_8c-2ubuntu11_arm64.deb ... 1157s Unpacking libjpeg8:arm64 (8c-2ubuntu11) ... 1157s Selecting previously unselected package libpcsclite1:arm64. 1157s Preparing to unpack .../013-libpcsclite1_2.3.1-1_arm64.deb ... 1157s Unpacking libpcsclite1:arm64 (2.3.1-1) ... 1158s Selecting previously unselected package openjdk-21-jre-headless:arm64. 1158s Preparing to unpack .../014-openjdk-21-jre-headless_21.0.7~8ea-1_arm64.deb ... 1158s Unpacking openjdk-21-jre-headless:arm64 (21.0.7~8ea-1) ... 1159s Selecting previously unselected package default-jre-headless. 1159s Preparing to unpack .../015-default-jre-headless_2%3a1.21-76_arm64.deb ... 1159s Unpacking default-jre-headless (2:1.21-76) ... 1159s Selecting previously unselected package libgdk-pixbuf2.0-common. 1159s Preparing to unpack .../016-libgdk-pixbuf2.0-common_2.42.12+dfsg-2_all.deb ... 1159s Unpacking libgdk-pixbuf2.0-common (2.42.12+dfsg-2) ... 1159s Selecting previously unselected package libdeflate0:arm64. 1159s Preparing to unpack .../017-libdeflate0_1.23-1_arm64.deb ... 1159s Unpacking libdeflate0:arm64 (1.23-1) ... 1159s Selecting previously unselected package libjbig0:arm64. 1159s Preparing to unpack .../018-libjbig0_2.1-6.1ubuntu2_arm64.deb ... 1159s Unpacking libjbig0:arm64 (2.1-6.1ubuntu2) ... 1159s Selecting previously unselected package liblerc4:arm64. 1159s Preparing to unpack .../019-liblerc4_4.0.0+ds-5ubuntu1_arm64.deb ... 1159s Unpacking liblerc4:arm64 (4.0.0+ds-5ubuntu1) ... 1159s Selecting previously unselected package libsharpyuv0:arm64. 1159s Preparing to unpack .../020-libsharpyuv0_1.5.0-0.1_arm64.deb ... 1159s Unpacking libsharpyuv0:arm64 (1.5.0-0.1) ... 1159s Selecting previously unselected package libwebp7:arm64. 1159s Preparing to unpack .../021-libwebp7_1.5.0-0.1_arm64.deb ... 1159s Unpacking libwebp7:arm64 (1.5.0-0.1) ... 1159s Selecting previously unselected package libtiff6:arm64. 1159s Preparing to unpack .../022-libtiff6_4.5.1+git230720-4ubuntu4_arm64.deb ... 1159s Unpacking libtiff6:arm64 (4.5.1+git230720-4ubuntu4) ... 1159s Selecting previously unselected package libgdk-pixbuf-2.0-0:arm64. 1159s Preparing to unpack .../023-libgdk-pixbuf-2.0-0_2.42.12+dfsg-2_arm64.deb ... 1159s Unpacking libgdk-pixbuf-2.0-0:arm64 (2.42.12+dfsg-2) ... 1159s Selecting previously unselected package gtk-update-icon-cache. 1159s Preparing to unpack .../024-gtk-update-icon-cache_4.18.4+ds-1_arm64.deb ... 1159s No diversion 'diversion of /usr/sbin/update-icon-caches to /usr/sbin/update-icon-caches.gtk2 by libgtk-3-bin', none removed. 1159s 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. 1159s Unpacking gtk-update-icon-cache (4.18.4+ds-1) ... 1159s Selecting previously unselected package hicolor-icon-theme. 1159s Preparing to unpack .../025-hicolor-icon-theme_0.18-2_all.deb ... 1159s Unpacking hicolor-icon-theme (0.18-2) ... 1159s Selecting previously unselected package adwaita-icon-theme. 1159s Preparing to unpack .../026-adwaita-icon-theme_48.0-1_all.deb ... 1159s Unpacking adwaita-icon-theme (48.0-1) ... 1159s Selecting previously unselected package at-spi2-common. 1159s Preparing to unpack .../027-at-spi2-common_2.56.1-1_all.deb ... 1159s Unpacking at-spi2-common (2.56.1-1) ... 1159s Selecting previously unselected package libatk1.0-0t64:arm64. 1159s Preparing to unpack .../028-libatk1.0-0t64_2.56.1-1_arm64.deb ... 1159s Unpacking libatk1.0-0t64:arm64 (2.56.1-1) ... 1159s Selecting previously unselected package libxi6:arm64. 1159s Preparing to unpack .../029-libxi6_2%3a1.8.2-1_arm64.deb ... 1159s Unpacking libxi6:arm64 (2:1.8.2-1) ... 1159s Selecting previously unselected package libatspi2.0-0t64:arm64. 1159s Preparing to unpack .../030-libatspi2.0-0t64_2.56.1-1_arm64.deb ... 1159s Unpacking libatspi2.0-0t64:arm64 (2.56.1-1) ... 1159s Selecting previously unselected package libatk-bridge2.0-0t64:arm64. 1159s Preparing to unpack .../031-libatk-bridge2.0-0t64_2.56.1-1_arm64.deb ... 1159s Unpacking libatk-bridge2.0-0t64:arm64 (2.56.1-1) ... 1159s Selecting previously unselected package fonts-dejavu-mono. 1159s Preparing to unpack .../032-fonts-dejavu-mono_2.37-8_all.deb ... 1159s Unpacking fonts-dejavu-mono (2.37-8) ... 1159s Selecting previously unselected package fonts-dejavu-core. 1159s Preparing to unpack .../033-fonts-dejavu-core_2.37-8_all.deb ... 1159s Unpacking fonts-dejavu-core (2.37-8) ... 1160s Selecting previously unselected package fontconfig-config. 1160s Preparing to unpack .../034-fontconfig-config_2.15.0-2.2ubuntu1_arm64.deb ... 1160s Unpacking fontconfig-config (2.15.0-2.2ubuntu1) ... 1160s Selecting previously unselected package libfontconfig1:arm64. 1160s Preparing to unpack .../035-libfontconfig1_2.15.0-2.2ubuntu1_arm64.deb ... 1160s Unpacking libfontconfig1:arm64 (2.15.0-2.2ubuntu1) ... 1160s Selecting previously unselected package libpixman-1-0:arm64. 1160s Preparing to unpack .../036-libpixman-1-0_0.44.0-3_arm64.deb ... 1160s Unpacking libpixman-1-0:arm64 (0.44.0-3) ... 1160s Selecting previously unselected package libxcb-render0:arm64. 1160s Preparing to unpack .../037-libxcb-render0_1.17.0-2_arm64.deb ... 1160s Unpacking libxcb-render0:arm64 (1.17.0-2) ... 1160s Selecting previously unselected package libxcb-shm0:arm64. 1160s Preparing to unpack .../038-libxcb-shm0_1.17.0-2_arm64.deb ... 1160s Unpacking libxcb-shm0:arm64 (1.17.0-2) ... 1160s Selecting previously unselected package libxrender1:arm64. 1160s Preparing to unpack .../039-libxrender1_1%3a0.9.10-1.1build1_arm64.deb ... 1160s Unpacking libxrender1:arm64 (1:0.9.10-1.1build1) ... 1160s Selecting previously unselected package libcairo2:arm64. 1160s Preparing to unpack .../040-libcairo2_1.18.4-1_arm64.deb ... 1160s Unpacking libcairo2:arm64 (1.18.4-1) ... 1160s Selecting previously unselected package libcairo-gobject2:arm64. 1160s Preparing to unpack .../041-libcairo-gobject2_1.18.4-1_arm64.deb ... 1160s Unpacking libcairo-gobject2:arm64 (1.18.4-1) ... 1160s Selecting previously unselected package libcolord2:arm64. 1160s Preparing to unpack .../042-libcolord2_1.4.7-3_arm64.deb ... 1160s Unpacking libcolord2:arm64 (1.4.7-3) ... 1160s Selecting previously unselected package libavahi-common-data:arm64. 1160s Preparing to unpack .../043-libavahi-common-data_0.8-16ubuntu2_arm64.deb ... 1160s Unpacking libavahi-common-data:arm64 (0.8-16ubuntu2) ... 1160s Selecting previously unselected package libavahi-common3:arm64. 1160s Preparing to unpack .../044-libavahi-common3_0.8-16ubuntu2_arm64.deb ... 1160s Unpacking libavahi-common3:arm64 (0.8-16ubuntu2) ... 1160s Selecting previously unselected package libavahi-client3:arm64. 1160s Preparing to unpack .../045-libavahi-client3_0.8-16ubuntu2_arm64.deb ... 1160s Unpacking libavahi-client3:arm64 (0.8-16ubuntu2) ... 1160s Selecting previously unselected package libcups2t64:arm64. 1160s Preparing to unpack .../046-libcups2t64_2.4.12-0ubuntu1_arm64.deb ... 1160s Unpacking libcups2t64:arm64 (2.4.12-0ubuntu1) ... 1160s Selecting previously unselected package libepoxy0:arm64. 1160s Preparing to unpack .../047-libepoxy0_1.5.10-2_arm64.deb ... 1160s Unpacking libepoxy0:arm64 (1.5.10-2) ... 1160s Selecting previously unselected package libgraphite2-3:arm64. 1160s Preparing to unpack .../048-libgraphite2-3_1.3.14-2ubuntu1_arm64.deb ... 1160s Unpacking libgraphite2-3:arm64 (1.3.14-2ubuntu1) ... 1160s Selecting previously unselected package libharfbuzz0b:arm64. 1160s Preparing to unpack .../049-libharfbuzz0b_10.2.0-1_arm64.deb ... 1160s Unpacking libharfbuzz0b:arm64 (10.2.0-1) ... 1160s Selecting previously unselected package fontconfig. 1160s Preparing to unpack .../050-fontconfig_2.15.0-2.2ubuntu1_arm64.deb ... 1160s Unpacking fontconfig (2.15.0-2.2ubuntu1) ... 1160s Selecting previously unselected package libthai-data. 1160s Preparing to unpack .../051-libthai-data_0.1.29-2build1_all.deb ... 1160s Unpacking libthai-data (0.1.29-2build1) ... 1160s Selecting previously unselected package libdatrie1:arm64. 1160s Preparing to unpack .../052-libdatrie1_0.2.13-3build1_arm64.deb ... 1160s Unpacking libdatrie1:arm64 (0.2.13-3build1) ... 1161s Selecting previously unselected package libthai0:arm64. 1161s Preparing to unpack .../053-libthai0_0.1.29-2build1_arm64.deb ... 1161s Unpacking libthai0:arm64 (0.1.29-2build1) ... 1161s Selecting previously unselected package libpango-1.0-0:arm64. 1161s Preparing to unpack .../054-libpango-1.0-0_1.56.3-1_arm64.deb ... 1161s Unpacking libpango-1.0-0:arm64 (1.56.3-1) ... 1161s Selecting previously unselected package libpangoft2-1.0-0:arm64. 1161s Preparing to unpack .../055-libpangoft2-1.0-0_1.56.3-1_arm64.deb ... 1161s Unpacking libpangoft2-1.0-0:arm64 (1.56.3-1) ... 1161s Selecting previously unselected package libpangocairo-1.0-0:arm64. 1161s Preparing to unpack .../056-libpangocairo-1.0-0_1.56.3-1_arm64.deb ... 1161s Unpacking libpangocairo-1.0-0:arm64 (1.56.3-1) ... 1161s Selecting previously unselected package libwayland-client0:arm64. 1161s Preparing to unpack .../057-libwayland-client0_1.23.1-3_arm64.deb ... 1161s Unpacking libwayland-client0:arm64 (1.23.1-3) ... 1161s Selecting previously unselected package libwayland-cursor0:arm64. 1161s Preparing to unpack .../058-libwayland-cursor0_1.23.1-3_arm64.deb ... 1161s Unpacking libwayland-cursor0:arm64 (1.23.1-3) ... 1161s Selecting previously unselected package libwayland-egl1:arm64. 1161s Preparing to unpack .../059-libwayland-egl1_1.23.1-3_arm64.deb ... 1161s Unpacking libwayland-egl1:arm64 (1.23.1-3) ... 1161s Selecting previously unselected package libxcomposite1:arm64. 1161s Preparing to unpack .../060-libxcomposite1_1%3a0.4.6-1_arm64.deb ... 1161s Unpacking libxcomposite1:arm64 (1:0.4.6-1) ... 1161s Selecting previously unselected package libxfixes3:arm64. 1161s Preparing to unpack .../061-libxfixes3_1%3a6.0.0-2build1_arm64.deb ... 1161s Unpacking libxfixes3:arm64 (1:6.0.0-2build1) ... 1161s Selecting previously unselected package libxcursor1:arm64. 1161s Preparing to unpack .../062-libxcursor1_1%3a1.2.3-1_arm64.deb ... 1161s Unpacking libxcursor1:arm64 (1:1.2.3-1) ... 1161s Selecting previously unselected package libxdamage1:arm64. 1161s Preparing to unpack .../063-libxdamage1_1%3a1.1.6-1build1_arm64.deb ... 1161s Unpacking libxdamage1:arm64 (1:1.1.6-1build1) ... 1161s Selecting previously unselected package libxinerama1:arm64. 1161s Preparing to unpack .../064-libxinerama1_2%3a1.1.4-3build1_arm64.deb ... 1161s Unpacking libxinerama1:arm64 (2:1.1.4-3build1) ... 1161s Selecting previously unselected package libxrandr2:arm64. 1161s Preparing to unpack .../065-libxrandr2_2%3a1.5.4-1_arm64.deb ... 1161s Unpacking libxrandr2:arm64 (2:1.5.4-1) ... 1161s Selecting previously unselected package libdconf1:arm64. 1161s Preparing to unpack .../066-libdconf1_0.40.0-5_arm64.deb ... 1161s Unpacking libdconf1:arm64 (0.40.0-5) ... 1161s Selecting previously unselected package dconf-service. 1161s Preparing to unpack .../067-dconf-service_0.40.0-5_arm64.deb ... 1161s Unpacking dconf-service (0.40.0-5) ... 1161s Selecting previously unselected package dconf-gsettings-backend:arm64. 1161s Preparing to unpack .../068-dconf-gsettings-backend_0.40.0-5_arm64.deb ... 1161s Unpacking dconf-gsettings-backend:arm64 (0.40.0-5) ... 1161s Selecting previously unselected package libgtk-3-common. 1161s Preparing to unpack .../069-libgtk-3-common_3.24.49-2ubuntu1_all.deb ... 1161s Unpacking libgtk-3-common (3.24.49-2ubuntu1) ... 1161s Selecting previously unselected package libgtk-3-0t64:arm64. 1161s Preparing to unpack .../070-libgtk-3-0t64_3.24.49-2ubuntu1_arm64.deb ... 1161s Unpacking libgtk-3-0t64:arm64 (3.24.49-2ubuntu1) ... 1161s Selecting previously unselected package libglvnd0:arm64. 1161s Preparing to unpack .../071-libglvnd0_1.7.0-1build1_arm64.deb ... 1161s Unpacking libglvnd0:arm64 (1.7.0-1build1) ... 1161s Selecting previously unselected package libx11-xcb1:arm64. 1161s Preparing to unpack .../072-libx11-xcb1_2%3a1.8.10-2_arm64.deb ... 1161s Unpacking libx11-xcb1:arm64 (2:1.8.10-2) ... 1161s Selecting previously unselected package libxcb-dri3-0:arm64. 1161s Preparing to unpack .../073-libxcb-dri3-0_1.17.0-2_arm64.deb ... 1161s Unpacking libxcb-dri3-0:arm64 (1.17.0-2) ... 1161s Selecting previously unselected package libxcb-glx0:arm64. 1161s Preparing to unpack .../074-libxcb-glx0_1.17.0-2_arm64.deb ... 1161s Unpacking libxcb-glx0:arm64 (1.17.0-2) ... 1161s Selecting previously unselected package libxcb-present0:arm64. 1161s Preparing to unpack .../075-libxcb-present0_1.17.0-2_arm64.deb ... 1161s Unpacking libxcb-present0:arm64 (1.17.0-2) ... 1161s Selecting previously unselected package libxcb-xfixes0:arm64. 1162s Preparing to unpack .../076-libxcb-xfixes0_1.17.0-2_arm64.deb ... 1162s Unpacking libxcb-xfixes0:arm64 (1.17.0-2) ... 1162s Selecting previously unselected package libxxf86vm1:arm64. 1162s Preparing to unpack .../077-libxxf86vm1_1%3a1.1.4-1build4_arm64.deb ... 1162s Unpacking libxxf86vm1:arm64 (1:1.1.4-1build4) ... 1162s Selecting previously unselected package libxcb-randr0:arm64. 1162s Preparing to unpack .../078-libxcb-randr0_1.17.0-2_arm64.deb ... 1162s Unpacking libxcb-randr0:arm64 (1.17.0-2) ... 1162s Selecting previously unselected package libxcb-sync1:arm64. 1162s Preparing to unpack .../079-libxcb-sync1_1.17.0-2_arm64.deb ... 1162s Unpacking libxcb-sync1:arm64 (1.17.0-2) ... 1162s Selecting previously unselected package libxshmfence1:arm64. 1162s Preparing to unpack .../080-libxshmfence1_1.3-1build5_arm64.deb ... 1162s Unpacking libxshmfence1:arm64 (1.3-1build5) ... 1162s Selecting previously unselected package mesa-libgallium:arm64. 1162s Preparing to unpack .../081-mesa-libgallium_25.0.3-1ubuntu2_arm64.deb ... 1162s Unpacking mesa-libgallium:arm64 (25.0.3-1ubuntu2) ... 1162s Selecting previously unselected package libwayland-server0:arm64. 1162s Preparing to unpack .../082-libwayland-server0_1.23.1-3_arm64.deb ... 1162s Unpacking libwayland-server0:arm64 (1.23.1-3) ... 1162s Selecting previously unselected package libgbm1:arm64. 1162s Preparing to unpack .../083-libgbm1_25.0.3-1ubuntu2_arm64.deb ... 1162s Unpacking libgbm1:arm64 (25.0.3-1ubuntu2) ... 1162s Selecting previously unselected package libvulkan1:arm64. 1162s Preparing to unpack .../084-libvulkan1_1.4.304.0-1_arm64.deb ... 1162s Unpacking libvulkan1:arm64 (1.4.304.0-1) ... 1162s Selecting previously unselected package libgl1-mesa-dri:arm64. 1162s Preparing to unpack .../085-libgl1-mesa-dri_25.0.3-1ubuntu2_arm64.deb ... 1162s Unpacking libgl1-mesa-dri:arm64 (25.0.3-1ubuntu2) ... 1162s Selecting previously unselected package libglx-mesa0:arm64. 1162s Preparing to unpack .../086-libglx-mesa0_25.0.3-1ubuntu2_arm64.deb ... 1162s Unpacking libglx-mesa0:arm64 (25.0.3-1ubuntu2) ... 1162s Selecting previously unselected package libglx0:arm64. 1162s Preparing to unpack .../087-libglx0_1.7.0-1build1_arm64.deb ... 1162s Unpacking libglx0:arm64 (1.7.0-1build1) ... 1162s Selecting previously unselected package libgl1:arm64. 1162s Preparing to unpack .../088-libgl1_1.7.0-1build1_arm64.deb ... 1162s Unpacking libgl1:arm64 (1.7.0-1build1) ... 1162s Selecting previously unselected package libasound2-data. 1162s Preparing to unpack .../089-libasound2-data_1.2.13-1build1_all.deb ... 1162s Unpacking libasound2-data (1.2.13-1build1) ... 1162s Selecting previously unselected package libasound2t64:arm64. 1162s Preparing to unpack .../090-libasound2t64_1.2.13-1build1_arm64.deb ... 1162s Unpacking libasound2t64:arm64 (1.2.13-1build1) ... 1162s Selecting previously unselected package libgif7:arm64. 1162s Preparing to unpack .../091-libgif7_5.2.2-1ubuntu2_arm64.deb ... 1162s Unpacking libgif7:arm64 (5.2.2-1ubuntu2) ... 1162s Selecting previously unselected package x11-common. 1162s Preparing to unpack .../092-x11-common_1%3a7.7+23ubuntu4_all.deb ... 1162s Unpacking x11-common (1:7.7+23ubuntu4) ... 1162s Selecting previously unselected package libxtst6:arm64. 1162s Preparing to unpack .../093-libxtst6_2%3a1.2.5-1_arm64.deb ... 1162s Unpacking libxtst6:arm64 (2:1.2.5-1) ... 1162s Selecting previously unselected package openjdk-21-jre:arm64. 1162s Preparing to unpack .../094-openjdk-21-jre_21.0.7~8ea-1_arm64.deb ... 1162s Unpacking openjdk-21-jre:arm64 (21.0.7~8ea-1) ... 1162s Selecting previously unselected package default-jre. 1162s Preparing to unpack .../095-default-jre_2%3a1.21-76_arm64.deb ... 1162s Unpacking default-jre (2:1.21-76) ... 1163s Selecting previously unselected package libhamcrest-java. 1163s Preparing to unpack .../096-libhamcrest-java_2.2-2_all.deb ... 1163s Unpacking libhamcrest-java (2.2-2) ... 1163s Selecting previously unselected package junit4. 1163s Preparing to unpack .../097-junit4_4.13.2-5_all.deb ... 1163s Unpacking junit4 (4.13.2-5) ... 1163s Selecting previously unselected package libcommons-cli-java. 1163s Preparing to unpack .../098-libcommons-cli-java_1.6.0-1_all.deb ... 1163s Unpacking libcommons-cli-java (1.6.0-1) ... 1163s Selecting previously unselected package libapache-pom-java. 1163s Preparing to unpack .../099-libapache-pom-java_33-2_all.deb ... 1163s Unpacking libapache-pom-java (33-2) ... 1163s Selecting previously unselected package libcommons-parent-java. 1163s Preparing to unpack .../100-libcommons-parent-java_56-1_all.deb ... 1163s Unpacking libcommons-parent-java (56-1) ... 1163s Selecting previously unselected package libcommons-io-java. 1163s Preparing to unpack .../101-libcommons-io-java_2.18.0-1_all.deb ... 1163s Unpacking libcommons-io-java (2.18.0-1) ... 1163s Selecting previously unselected package libdropwizard-metrics-java. 1163s Preparing to unpack .../102-libdropwizard-metrics-java_3.2.6-1_all.deb ... 1163s Unpacking libdropwizard-metrics-java (3.2.6-1) ... 1163s Selecting previously unselected package libfindbugs-annotations-java. 1163s Preparing to unpack .../103-libfindbugs-annotations-java_3.1.0~preview2-4_all.deb ... 1163s Unpacking libfindbugs-annotations-java (3.1.0~preview2-4) ... 1163s Selecting previously unselected package libatinject-jsr330-api-java. 1163s Preparing to unpack .../104-libatinject-jsr330-api-java_1.0+ds1-6_all.deb ... 1163s Unpacking libatinject-jsr330-api-java (1.0+ds1-6) ... 1163s Selecting previously unselected package liberror-prone-java. 1163s Preparing to unpack .../105-liberror-prone-java_2.18.0-1_all.deb ... 1163s Unpacking liberror-prone-java (2.18.0-1) ... 1163s Selecting previously unselected package libjsr305-java. 1163s Preparing to unpack .../106-libjsr305-java_0.1~+svn49-12_all.deb ... 1163s Unpacking libjsr305-java (0.1~+svn49-12) ... 1163s Selecting previously unselected package libguava-java. 1163s Preparing to unpack .../107-libguava-java_32.0.1-1_all.deb ... 1163s Unpacking libguava-java (32.0.1-1) ... 1163s Selecting previously unselected package libjackson2-annotations-java. 1163s Preparing to unpack .../108-libjackson2-annotations-java_2.14.0-1_all.deb ... 1163s Unpacking libjackson2-annotations-java (2.14.0-1) ... 1163s Selecting previously unselected package libjackson2-core-java. 1163s Preparing to unpack .../109-libjackson2-core-java_2.14.1-1_all.deb ... 1163s Unpacking libjackson2-core-java (2.14.1-1) ... 1163s Selecting previously unselected package libjackson2-databind-java. 1163s Preparing to unpack .../110-libjackson2-databind-java_2.14.0+ds-1_all.deb ... 1163s Unpacking libjackson2-databind-java (2.14.0+ds-1) ... 1163s Selecting previously unselected package libasm-java. 1163s Preparing to unpack .../111-libasm-java_9.7.1-1_all.deb ... 1163s Unpacking libasm-java (9.7.1-1) ... 1163s Selecting previously unselected package libel-api-java. 1163s Preparing to unpack .../112-libel-api-java_3.0.0-3_all.deb ... 1163s Unpacking libel-api-java (3.0.0-3) ... 1163s Selecting previously unselected package libjsp-api-java. 1163s Preparing to unpack .../113-libjsp-api-java_2.3.4-3_all.deb ... 1163s Unpacking libjsp-api-java (2.3.4-3) ... 1163s Selecting previously unselected package libservlet-api-java. 1163s Preparing to unpack .../114-libservlet-api-java_4.0.1-2_all.deb ... 1163s Unpacking libservlet-api-java (4.0.1-2) ... 1163s Selecting previously unselected package libwebsocket-api-java. 1163s Preparing to unpack .../115-libwebsocket-api-java_1.1-2_all.deb ... 1163s Unpacking libwebsocket-api-java (1.1-2) ... 1163s Selecting previously unselected package libjetty9-java. 1163s Preparing to unpack .../116-libjetty9-java_9.4.56-1_all.deb ... 1163s Unpacking libjetty9-java (9.4.56-1) ... 1163s Selecting previously unselected package libjnr-constants-java. 1163s Preparing to unpack .../117-libjnr-constants-java_0.10.4-2_all.deb ... 1163s Unpacking libjnr-constants-java (0.10.4-2) ... 1163s Selecting previously unselected package libjffi-jni:arm64. 1163s Preparing to unpack .../118-libjffi-jni_1.3.13+ds-1_arm64.deb ... 1163s Unpacking libjffi-jni:arm64 (1.3.13+ds-1) ... 1163s Selecting previously unselected package libjffi-java. 1163s Preparing to unpack .../119-libjffi-java_1.3.13+ds-1_all.deb ... 1163s Unpacking libjffi-java (1.3.13+ds-1) ... 1164s Selecting previously unselected package libjnr-x86asm-java. 1164s Preparing to unpack .../120-libjnr-x86asm-java_1.0.2-6_all.deb ... 1164s Unpacking libjnr-x86asm-java (1.0.2-6) ... 1164s Selecting previously unselected package libjnr-ffi-java. 1164s Preparing to unpack .../121-libjnr-ffi-java_2.2.15-2_all.deb ... 1164s Unpacking libjnr-ffi-java (2.2.15-2) ... 1164s Selecting previously unselected package libjnr-enxio-java. 1164s Preparing to unpack .../122-libjnr-enxio-java_0.32.16-1_all.deb ... 1164s Unpacking libjnr-enxio-java (0.32.16-1) ... 1164s Selecting previously unselected package libjnr-posix-java. 1164s Preparing to unpack .../123-libjnr-posix-java_3.1.18-1_all.deb ... 1164s Unpacking libjnr-posix-java (3.1.18-1) ... 1164s Selecting previously unselected package libjnr-unixsocket-java. 1164s Preparing to unpack .../124-libjnr-unixsocket-java_0.38.21-2_all.deb ... 1164s Unpacking libjnr-unixsocket-java (0.38.21-2) ... 1164s Selecting previously unselected package libactivation-java. 1164s Preparing to unpack .../125-libactivation-java_1.2.0-2_all.deb ... 1164s Unpacking libactivation-java (1.2.0-2) ... 1164s Selecting previously unselected package libmail-java. 1164s Preparing to unpack .../126-libmail-java_1.6.5-3_all.deb ... 1164s Unpacking libmail-java (1.6.5-3) ... 1164s Selecting previously unselected package libcommons-logging-java. 1164s Preparing to unpack .../127-libcommons-logging-java_1.3.0-1ubuntu1_all.deb ... 1164s Unpacking libcommons-logging-java (1.3.0-1ubuntu1) ... 1164s Selecting previously unselected package libjaxb-api-java. 1164s Preparing to unpack .../128-libjaxb-api-java_2.3.1-1_all.deb ... 1164s Unpacking libjaxb-api-java (2.3.1-1) ... 1164s Selecting previously unselected package libspring-core-java. 1164s Preparing to unpack .../129-libspring-core-java_4.3.30-2ubuntu1_all.deb ... 1164s Unpacking libspring-core-java (4.3.30-2ubuntu1) ... 1164s Selecting previously unselected package libspring-beans-java. 1164s Preparing to unpack .../130-libspring-beans-java_4.3.30-2ubuntu1_all.deb ... 1164s Unpacking libspring-beans-java (4.3.30-2ubuntu1) ... 1164s Selecting previously unselected package libtaglibs-standard-spec-java. 1164s Preparing to unpack .../131-libtaglibs-standard-spec-java_1.2.5-3_all.deb ... 1164s Unpacking libtaglibs-standard-spec-java (1.2.5-3) ... 1164s Selecting previously unselected package libtaglibs-standard-impl-java. 1164s Preparing to unpack .../132-libtaglibs-standard-impl-java_1.2.5-3_all.deb ... 1164s Unpacking libtaglibs-standard-impl-java (1.2.5-3) ... 1164s Selecting previously unselected package libeclipse-jdt-core-compiler-batch-java. 1164s Preparing to unpack .../133-libeclipse-jdt-core-compiler-batch-java_3.35.0+eclipse4.29-2_all.deb ... 1164s Unpacking libeclipse-jdt-core-compiler-batch-java (3.35.0+eclipse4.29-2) ... 1164s Selecting previously unselected package libeclipse-jdt-core-java. 1164s Preparing to unpack .../134-libeclipse-jdt-core-java_3.35.0+eclipse4.29-2_all.deb ... 1164s Unpacking libeclipse-jdt-core-java (3.35.0+eclipse4.29-2) ... 1164s Selecting previously unselected package libtomcat9-java. 1164s Preparing to unpack .../135-libtomcat9-java_9.0.70-2ubuntu1.1_all.deb ... 1164s Unpacking libtomcat9-java (9.0.70-2ubuntu1.1) ... 1164s Selecting previously unselected package libjetty9-extra-java. 1164s Preparing to unpack .../136-libjetty9-extra-java_9.4.56-1_all.deb ... 1164s Unpacking libjetty9-extra-java (9.4.56-1) ... 1164s Selecting previously unselected package libjavaparser-java. 1164s Preparing to unpack .../137-libjavaparser-java_3.26.1-1_all.deb ... 1164s Unpacking libjavaparser-java (3.26.1-1) ... 1164s Selecting previously unselected package libjctools-java. 1164s Preparing to unpack .../138-libjctools-java_4.0.5+dfsg-1_all.deb ... 1164s Unpacking libjctools-java (4.0.5+dfsg-1) ... 1164s Selecting previously unselected package libnetty-java. 1164s Preparing to unpack .../139-libnetty-java_1%3a4.1.48-10_all.deb ... 1164s Unpacking libnetty-java (1:4.1.48-10) ... 1164s Selecting previously unselected package libslf4j-java. 1164s Preparing to unpack .../140-libslf4j-java_1.7.32-1_all.deb ... 1164s Unpacking libslf4j-java (1.7.32-1) ... 1165s Selecting previously unselected package libsnappy1v5:arm64. 1165s Preparing to unpack .../141-libsnappy1v5_1.2.1-1_arm64.deb ... 1165s Unpacking libsnappy1v5:arm64 (1.2.1-1) ... 1165s Selecting previously unselected package libsnappy-jni. 1165s Preparing to unpack .../142-libsnappy-jni_1.1.10.7-1_arm64.deb ... 1165s Unpacking libsnappy-jni (1.1.10.7-1) ... 1165s Selecting previously unselected package libsnappy-java. 1165s Preparing to unpack .../143-libsnappy-java_1.1.10.7-1_all.deb ... 1165s Unpacking libsnappy-java (1.1.10.7-1) ... 1165s Selecting previously unselected package libapr1t64:arm64. 1165s Preparing to unpack .../144-libapr1t64_1.7.5-1_arm64.deb ... 1165s Unpacking libapr1t64:arm64 (1.7.5-1) ... 1165s Selecting previously unselected package libnetty-tcnative-jni. 1165s Preparing to unpack .../145-libnetty-tcnative-jni_2.0.28-1build4_arm64.deb ... 1165s Unpacking libnetty-tcnative-jni (2.0.28-1build4) ... 1165s Selecting previously unselected package libnetty-tcnative-java. 1165s Preparing to unpack .../146-libnetty-tcnative-java_2.0.28-1build4_all.deb ... 1165s Unpacking libnetty-tcnative-java (2.0.28-1build4) ... 1165s Selecting previously unselected package liblog4j1.2-java. 1165s Preparing to unpack .../147-liblog4j1.2-java_1.2.17-11_all.deb ... 1165s Unpacking liblog4j1.2-java (1.2.17-11) ... 1165s Selecting previously unselected package libzookeeper-java. 1165s Preparing to unpack .../148-libzookeeper-java_3.9.3-1build1_all.deb ... 1165s Unpacking libzookeeper-java (3.9.3-1build1) ... 1165s Selecting previously unselected package zookeeper. 1165s Preparing to unpack .../149-zookeeper_3.9.3-1build1_all.deb ... 1165s Unpacking zookeeper (3.9.3-1build1) ... 1165s Selecting previously unselected package zookeeperd. 1165s Preparing to unpack .../150-zookeeperd_3.9.3-1build1_all.deb ... 1165s Unpacking zookeeperd (3.9.3-1build1) ... 1165s Selecting previously unselected package fonts-font-awesome. 1165s Preparing to unpack .../151-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 1165s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 1165s Selecting previously unselected package libcares2:arm64. 1165s Preparing to unpack .../152-libcares2_1.34.4-2.1_arm64.deb ... 1165s Unpacking libcares2:arm64 (1.34.4-2.1) ... 1165s Selecting previously unselected package libev4t64:arm64. 1165s Preparing to unpack .../153-libev4t64_1%3a4.33-2.1build1_arm64.deb ... 1165s Unpacking libev4t64:arm64 (1:4.33-2.1build1) ... 1165s Selecting previously unselected package libjs-jquery. 1165s Preparing to unpack .../154-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 1165s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 1165s Selecting previously unselected package libjs-underscore. 1165s Preparing to unpack .../155-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 1165s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 1165s Selecting previously unselected package libjs-sphinxdoc. 1165s Preparing to unpack .../156-libjs-sphinxdoc_8.1.3-5_all.deb ... 1165s Unpacking libjs-sphinxdoc (8.1.3-5) ... 1165s Selecting previously unselected package libllvm20:arm64. 1165s Preparing to unpack .../157-libllvm20_1%3a20.1.2-0ubuntu1_arm64.deb ... 1165s Unpacking libllvm20:arm64 (1:20.1.2-0ubuntu1) ... 1166s Selecting previously unselected package libpq5:arm64. 1166s Preparing to unpack .../158-libpq5_17.4-1_arm64.deb ... 1166s Unpacking libpq5:arm64 (17.4-1) ... 1166s Selecting previously unselected package libtime-duration-perl. 1166s Preparing to unpack .../159-libtime-duration-perl_1.21-2_all.deb ... 1166s Unpacking libtime-duration-perl (1.21-2) ... 1166s Selecting previously unselected package libtimedate-perl. 1166s Preparing to unpack .../160-libtimedate-perl_2.3300-2_all.deb ... 1166s Unpacking libtimedate-perl (2.3300-2) ... 1166s Selecting previously unselected package libxslt1.1:arm64. 1166s Preparing to unpack .../161-libxslt1.1_1.1.39-0exp1ubuntu4_arm64.deb ... 1166s Unpacking libxslt1.1:arm64 (1.1.39-0exp1ubuntu4) ... 1166s Selecting previously unselected package moreutils. 1166s Preparing to unpack .../162-moreutils_0.69-1_arm64.deb ... 1166s Unpacking moreutils (0.69-1) ... 1166s Selecting previously unselected package python3-click. 1166s Preparing to unpack .../163-python3-click_8.2.0+0.really.8.1.8-1_all.deb ... 1166s Unpacking python3-click (8.2.0+0.really.8.1.8-1) ... 1166s Selecting previously unselected package python3-dateutil. 1166s Preparing to unpack .../164-python3-dateutil_2.9.0-4_all.deb ... 1166s Unpacking python3-dateutil (2.9.0-4) ... 1166s Selecting previously unselected package python3-wcwidth. 1166s Preparing to unpack .../165-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 1166s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 1166s Selecting previously unselected package python3-prettytable. 1166s Preparing to unpack .../166-python3-prettytable_3.12.0-1_all.deb ... 1166s Unpacking python3-prettytable (3.12.0-1) ... 1166s Selecting previously unselected package python3-psutil. 1166s Preparing to unpack .../167-python3-psutil_5.9.8-2build3_arm64.deb ... 1166s Unpacking python3-psutil (5.9.8-2build3) ... 1166s Selecting previously unselected package python3-ydiff. 1166s Preparing to unpack .../168-python3-ydiff_1.4.2-1_all.deb ... 1166s Unpacking python3-ydiff (1.4.2-1) ... 1166s Selecting previously unselected package python3-psycopg2. 1167s Preparing to unpack .../169-python3-psycopg2_2.9.10-1build1_arm64.deb ... 1167s Unpacking python3-psycopg2 (2.9.10-1build1) ... 1167s Selecting previously unselected package python3-greenlet. 1167s Preparing to unpack .../170-python3-greenlet_3.1.0-1build1_arm64.deb ... 1167s Unpacking python3-greenlet (3.1.0-1build1) ... 1167s Selecting previously unselected package python3-dnspython. 1167s Preparing to unpack .../171-python3-dnspython_2.7.0-1ubuntu1_all.deb ... 1167s Unpacking python3-dnspython (2.7.0-1ubuntu1) ... 1167s Selecting previously unselected package python3-eventlet. 1167s Preparing to unpack .../172-python3-eventlet_0.39.0-0ubuntu1_all.deb ... 1167s Unpacking python3-eventlet (0.39.0-0ubuntu1) ... 1167s Selecting previously unselected package python3-zope.event. 1167s Preparing to unpack .../173-python3-zope.event_5.0-0.1_all.deb ... 1167s Unpacking python3-zope.event (5.0-0.1) ... 1167s Selecting previously unselected package python3-zope.interface. 1167s Preparing to unpack .../174-python3-zope.interface_7.2-1build1_arm64.deb ... 1167s Unpacking python3-zope.interface (7.2-1build1) ... 1167s Selecting previously unselected package python3-gevent. 1167s Preparing to unpack .../175-python3-gevent_24.11.1-1build1_arm64.deb ... 1167s Unpacking python3-gevent (24.11.1-1build1) ... 1167s Selecting previously unselected package python3-kerberos. 1167s Preparing to unpack .../176-python3-kerberos_1.1.14-3.1build11_arm64.deb ... 1167s Unpacking python3-kerberos (1.1.14-3.1build11) ... 1167s Selecting previously unselected package python3-pure-sasl. 1167s Preparing to unpack .../177-python3-pure-sasl_0.5.1+dfsg1-5_all.deb ... 1167s Unpacking python3-pure-sasl (0.5.1+dfsg1-5) ... 1167s Selecting previously unselected package python3-six. 1167s Preparing to unpack .../178-python3-six_1.17.0-1_all.deb ... 1167s Unpacking python3-six (1.17.0-1) ... 1167s Selecting previously unselected package python3-kazoo. 1167s Preparing to unpack .../179-python3-kazoo_2.9.0-2_all.deb ... 1167s Unpacking python3-kazoo (2.9.0-2) ... 1167s Selecting previously unselected package patroni. 1167s Preparing to unpack .../180-patroni_4.0.4-8_all.deb ... 1167s Unpacking patroni (4.0.4-8) ... 1167s Selecting previously unselected package sphinx-rtd-theme-common. 1167s Preparing to unpack .../181-sphinx-rtd-theme-common_3.0.2+dfsg-2_all.deb ... 1167s Unpacking sphinx-rtd-theme-common (3.0.2+dfsg-2) ... 1167s Selecting previously unselected package patroni-doc. 1167s Preparing to unpack .../182-patroni-doc_4.0.4-8_all.deb ... 1167s Unpacking patroni-doc (4.0.4-8) ... 1167s Selecting previously unselected package postgresql-client-17. 1167s Preparing to unpack .../183-postgresql-client-17_17.4-1_arm64.deb ... 1167s Unpacking postgresql-client-17 (17.4-1) ... 1167s Selecting previously unselected package postgresql-17. 1167s Preparing to unpack .../184-postgresql-17_17.4-1_arm64.deb ... 1167s Unpacking postgresql-17 (17.4-1) ... 1168s Selecting previously unselected package postgresql. 1168s Preparing to unpack .../185-postgresql_17+274_all.deb ... 1168s Unpacking postgresql (17+274) ... 1168s Selecting previously unselected package python3-parse. 1168s Preparing to unpack .../186-python3-parse_1.20.2-1_all.deb ... 1168s Unpacking python3-parse (1.20.2-1) ... 1168s Selecting previously unselected package python3-parse-type. 1168s Preparing to unpack .../187-python3-parse-type_0.6.4-2_all.deb ... 1168s Unpacking python3-parse-type (0.6.4-2) ... 1168s Selecting previously unselected package python3-behave. 1168s Preparing to unpack .../188-python3-behave_1.2.6-6_all.deb ... 1168s Unpacking python3-behave (1.2.6-6) ... 1168s Selecting previously unselected package python3-coverage. 1168s Preparing to unpack .../189-python3-coverage_7.6.0+dfsg1-2build1_arm64.deb ... 1168s Unpacking python3-coverage (7.6.0+dfsg1-2build1) ... 1168s Setting up postgresql-client-common (274) ... 1168s Setting up libgraphite2-3:arm64 (1.3.14-2ubuntu1) ... 1168s Setting up libxcb-dri3-0:arm64 (1.17.0-2) ... 1168s Setting up liblcms2-2:arm64 (2.16-2) ... 1168s Setting up libtaglibs-standard-spec-java (1.2.5-3) ... 1168s Setting up libpixman-1-0:arm64 (0.44.0-3) ... 1168s Setting up libev4t64:arm64 (1:4.33-2.1build1) ... 1168s Setting up libjackson2-annotations-java (2.14.0-1) ... 1168s Setting up libsharpyuv0:arm64 (1.5.0-0.1) ... 1168s Setting up libwayland-server0:arm64 (1.23.1-3) ... 1168s Setting up libx11-xcb1:arm64 (2:1.8.10-2) ... 1168s Setting up libslf4j-java (1.7.32-1) ... 1168s Setting up fonts-lato (2.015-1) ... 1168s Setting up libeclipse-jdt-core-compiler-batch-java (3.35.0+eclipse4.29-2) ... 1168s Setting up libxdamage1:arm64 (1:1.1.6-1build1) ... 1168s Setting up libxcb-xfixes0:arm64 (1.17.0-2) ... 1168s Setting up libjavaparser-java (3.26.1-1) ... 1168s Setting up liblerc4:arm64 (4.0.0+ds-5ubuntu1) ... 1168s Setting up libjsr305-java (0.1~+svn49-12) ... 1168s Setting up hicolor-icon-theme (0.18-2) ... 1168s Setting up libxi6:arm64 (2:1.8.2-1) ... 1168s Setting up java-common (0.76) ... 1168s Setting up libxrender1:arm64 (1:0.9.10-1.1build1) ... 1168s Setting up libdatrie1:arm64 (0.2.13-3build1) ... 1168s Setting up libcommons-cli-java (1.6.0-1) ... 1168s Setting up libio-pty-perl (1:1.20-1build3) ... 1168s Setting up libxcb-render0:arm64 (1.17.0-2) ... 1168s Setting up python3-zope.event (5.0-0.1) ... 1168s Setting up python3-zope.interface (7.2-1build1) ... 1168s Setting up libglvnd0:arm64 (1.7.0-1build1) ... 1168s Setting up libxcb-glx0:arm64 (1.17.0-2) ... 1168s Setting up libgdk-pixbuf2.0-common (2.42.12+dfsg-2) ... 1168s Setting up python3-ydiff (1.4.2-1) ... 1168s Setting up libasm-java (9.7.1-1) ... 1168s Setting up x11-common (1:7.7+23ubuntu4) ... 1169s Setting up libpq5:arm64 (17.4-1) ... 1169s Setting up libdeflate0:arm64 (1.23-1) ... 1169s Setting up python3-kerberos (1.1.14-3.1build11) ... 1169s Setting up liblog4j1.2-java (1.2.17-11) ... 1169s Setting up libel-api-java (3.0.0-3) ... 1169s Setting up python3-coverage (7.6.0+dfsg1-2build1) ... 1169s Setting up libxcb-shm0:arm64 (1.17.0-2) ... 1169s Setting up python3-click (8.2.0+0.really.8.1.8-1) ... 1169s Setting up libjnr-x86asm-java (1.0.2-6) ... 1169s Setting up libjbig0:arm64 (2.1-6.1ubuntu2) ... 1169s Setting up libcolord2:arm64 (1.4.7-3) ... 1169s Setting up python3-psutil (5.9.8-2build3) ... 1169s Setting up libeclipse-jdt-core-java (3.35.0+eclipse4.29-2) ... 1169s Setting up libxxf86vm1:arm64 (1:1.1.4-1build4) ... 1169s Setting up libsnappy1v5:arm64 (1.2.1-1) ... 1169s Setting up libxcb-present0:arm64 (1.17.0-2) ... 1170s Setting up libtaglibs-standard-impl-java (1.2.5-3) ... 1170s Setting up libdconf1:arm64 (0.40.0-5) ... 1170s Setting up libjctools-java (4.0.5+dfsg-1) ... 1170s Setting up libdropwizard-metrics-java (3.2.6-1) ... 1170s Setting up python3-six (1.17.0-1) ... 1170s Setting up libasound2-data (1.2.13-1build1) ... 1170s Setting up libasound2t64:arm64 (1.2.13-1build1) ... 1170s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 1170s Setting up libfindbugs-annotations-java (3.1.0~preview2-4) ... 1170s Setting up libepoxy0:arm64 (1.5.10-2) ... 1170s Setting up ssl-cert (1.1.3ubuntu1) ... 1170s Created symlink '/etc/systemd/system/multi-user.target.wants/ssl-cert.service' → '/usr/lib/systemd/system/ssl-cert.service'. 1171s Setting up libxfixes3:arm64 (1:6.0.0-2build1) ... 1171s Setting up libxcb-sync1:arm64 (1.17.0-2) ... 1171s Setting up libapache-pom-java (33-2) ... 1171s Setting up libavahi-common-data:arm64 (0.8-16ubuntu2) ... 1171s Setting up libatinject-jsr330-api-java (1.0+ds1-6) ... 1171s Setting up libatspi2.0-0t64:arm64 (2.56.1-1) ... 1171s Setting up libwebsocket-api-java (1.1-2) ... 1171s Setting up python3-greenlet (3.1.0-1build1) ... 1171s Setting up libxinerama1:arm64 (2:1.1.4-3build1) ... 1171s Setting up fonts-dejavu-mono (2.37-8) ... 1171s Setting up libcares2:arm64 (1.34.4-2.1) ... 1171s Setting up libxrandr2:arm64 (2:1.5.4-1) ... 1171s Setting up libllvm20:arm64 (1:20.1.2-0ubuntu1) ... 1171s Setting up python3-psycopg2 (2.9.10-1build1) ... 1171s Setting up fonts-dejavu-core (2.37-8) ... 1171s Setting up libipc-run-perl (20231003.0-2) ... 1171s Setting up libpcsclite1:arm64 (2.3.1-1) ... 1171s Setting up libjpeg-turbo8:arm64 (2.1.5-3ubuntu2) ... 1171s Setting up libactivation-java (1.2.0-2) ... 1171s Setting up libtomcat9-java (9.0.70-2ubuntu1.1) ... 1171s Setting up libhamcrest-java (2.2-2) ... 1171s Setting up libjsp-api-java (2.3.4-3) ... 1171s Setting up libvulkan1:arm64 (1.4.304.0-1) ... 1171s Setting up libtime-duration-perl (1.21-2) ... 1171s Setting up libwebp7:arm64 (1.5.0-0.1) ... 1171s Setting up libtimedate-perl (2.3300-2) ... 1171s Setting up libgif7:arm64 (5.2.2-1ubuntu2) ... 1171s Setting up libxshmfence1:arm64 (1.3-1build5) ... 1171s Setting up libmail-java (1.6.5-3) ... 1171s Setting up at-spi2-common (2.56.1-1) ... 1171s Setting up python3-dnspython (2.7.0-1ubuntu1) ... 1171s Setting up libnetty-java (1:4.1.48-10) ... 1171s Setting up libxcb-randr0:arm64 (1.17.0-2) ... 1171s Setting up python3-parse (1.20.2-1) ... 1171s Setting up libapr1t64:arm64 (1.7.5-1) ... 1171s Setting up libjson-perl (4.10000-1) ... 1171s Setting up libxslt1.1:arm64 (1.1.39-0exp1ubuntu4) ... 1171s Setting up libservlet-api-java (4.0.1-2) ... 1171s Setting up libjackson2-core-java (2.14.1-1) ... 1171s Setting up libharfbuzz0b:arm64 (10.2.0-1) ... 1171s Setting up libthai-data (0.1.29-2build1) ... 1171s Setting up python3-dateutil (2.9.0-4) ... 1171s Setting up libjffi-jni:arm64 (1.3.13+ds-1) ... 1171s Setting up libwayland-egl1:arm64 (1.23.1-3) ... 1171s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 1171s Setting up ca-certificates-java (20240118) ... 1172s No JRE found. Skipping Java certificates setup. 1172s Setting up python3-prettytable (3.12.0-1) ... 1172s Setting up libsnappy-jni (1.1.10.7-1) ... 1172s Setting up libxcomposite1:arm64 (1:0.4.6-1) ... 1172s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 1172s Setting up sphinx-rtd-theme-common (3.0.2+dfsg-2) ... 1172s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 1172s Setting up postgresql-common-dev (274) ... 1172s Setting up libjnr-constants-java (0.10.4-2) ... 1172s Setting up libwayland-client0:arm64 (1.23.1-3) ... 1172s Setting up libjpeg8:arm64 (8c-2ubuntu11) ... 1172s Setting up libjaxb-api-java (2.3.1-1) ... 1172s Setting up libjffi-java (1.3.13+ds-1) ... 1172s Setting up mesa-libgallium:arm64 (25.0.3-1ubuntu2) ... 1172s Setting up libjetty9-java (9.4.56-1) ... 1172s Setting up moreutils (0.69-1) ... 1172s Setting up libatk1.0-0t64:arm64 (2.56.1-1) ... 1172s Setting up openjdk-21-jre-headless:arm64 (21.0.7~8ea-1) ... 1172s update-alternatives: using /usr/lib/jvm/java-21-openjdk-arm64/bin/java to provide /usr/bin/java (java) in auto mode 1172s update-alternatives: using /usr/lib/jvm/java-21-openjdk-arm64/bin/jpackage to provide /usr/bin/jpackage (jpackage) in auto mode 1172s update-alternatives: using /usr/lib/jvm/java-21-openjdk-arm64/bin/keytool to provide /usr/bin/keytool (keytool) in auto mode 1172s update-alternatives: using /usr/lib/jvm/java-21-openjdk-arm64/bin/rmiregistry to provide /usr/bin/rmiregistry (rmiregistry) in auto mode 1172s update-alternatives: using /usr/lib/jvm/java-21-openjdk-arm64/lib/jexec to provide /usr/bin/jexec (jexec) in auto mode 1172s Setting up python3-pure-sasl (0.5.1+dfsg1-5) ... 1172s Setting up libgbm1:arm64 (25.0.3-1ubuntu2) ... 1172s Setting up postgresql-client-17 (17.4-1) ... 1172s 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 1172s Setting up fontconfig-config (2.15.0-2.2ubuntu1) ... 1173s Setting up libxtst6:arm64 (2:1.2.5-1) ... 1173s Setting up libxcursor1:arm64 (1:1.2.3-1) ... 1173s Setting up libgl1-mesa-dri:arm64 (25.0.3-1ubuntu2) ... 1173s Setting up libcommons-parent-java (56-1) ... 1173s Setting up libavahi-common3:arm64 (0.8-16ubuntu2) ... 1173s Setting up libcommons-logging-java (1.3.0-1ubuntu1) ... 1173s Setting up dconf-service (0.40.0-5) ... 1173s Setting up python3-gevent (24.11.1-1build1) ... 1173s Setting up libjackson2-databind-java (2.14.0+ds-1) ... 1173s Setting up libthai0:arm64 (0.1.29-2build1) ... 1173s Setting up python3-parse-type (0.6.4-2) ... 1173s Setting up python3-eventlet (0.39.0-0ubuntu1) ... 1174s Setting up libnetty-tcnative-jni (2.0.28-1build4) ... 1174s Setting up python3-kazoo (2.9.0-2) ... 1174s Setting up postgresql-common (274) ... 1175s Creating config file /etc/postgresql-common/createcluster.conf with new version 1175s Building PostgreSQL dictionaries from installed myspell/hunspell packages... 1175s Removing obsolete dictionary files: 1176s Created symlink '/etc/systemd/system/multi-user.target.wants/postgresql.service' → '/usr/lib/systemd/system/postgresql.service'. 1177s Setting up libjs-sphinxdoc (8.1.3-5) ... 1177s Setting up libtiff6:arm64 (4.5.1+git230720-4ubuntu4) ... 1177s Setting up libwayland-cursor0:arm64 (1.23.1-3) ... 1177s Setting up libgdk-pixbuf-2.0-0:arm64 (2.42.12+dfsg-2) ... 1177s Setting up python3-behave (1.2.6-6) ... 1177s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 1177s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 1177s /usr/lib/python3/dist-packages/behave/matchers.py:284: SyntaxWarning: invalid escape sequence '\d' 1177s @parse.with_pattern(r"\d+") 1177s Setting up libsnappy-java (1.1.10.7-1) ... 1177s Setting up libfontconfig1:arm64 (2.15.0-2.2ubuntu1) ... 1177s Setting up patroni (4.0.4-8) ... 1177s Created symlink '/etc/systemd/system/multi-user.target.wants/patroni.service' → '/usr/lib/systemd/system/patroni.service'. 1178s Setting up libavahi-client3:arm64 (0.8-16ubuntu2) ... 1178s Setting up libjnr-ffi-java (2.2.15-2) ... 1178s Setting up libatk-bridge2.0-0t64:arm64 (2.56.1-1) ... 1178s Setting up gtk-update-icon-cache (4.18.4+ds-1) ... 1178s Setting up fontconfig (2.15.0-2.2ubuntu1) ... 1180s Regenerating fonts cache... done. 1180s Setting up postgresql-17 (17.4-1) ... 1181s Creating new PostgreSQL cluster 17/main ... 1181s /usr/lib/postgresql/17/bin/initdb -D /var/lib/postgresql/17/main --auth-local peer --auth-host scram-sha-256 --no-instructions 1182s The files belonging to this database system will be owned by user "postgres". 1182s This user must also own the server process. 1182s 1182s The database cluster will be initialized with locale "C.UTF-8". 1182s The default database encoding has accordingly been set to "UTF8". 1182s The default text search configuration will be set to "english". 1182s 1182s Data page checksums are disabled. 1182s 1182s fixing permissions on existing directory /var/lib/postgresql/17/main ... ok 1182s creating subdirectories ... ok 1182s selecting dynamic shared memory implementation ... posix 1182s selecting default "max_connections" ... 100 1182s selecting default "shared_buffers" ... 128MB 1182s selecting default time zone ... Etc/UTC 1182s creating configuration files ... ok 1182s running bootstrap script ... ok 1182s performing post-bootstrap initialization ... ok 1182s syncing data to disk ... ok 1185s Setting up libglx-mesa0:arm64 (25.0.3-1ubuntu2) ... 1185s Setting up libglx0:arm64 (1.7.0-1build1) ... 1185s Setting up libspring-core-java (4.3.30-2ubuntu1) ... 1185s Setting up dconf-gsettings-backend:arm64 (0.40.0-5) ... 1185s Setting up libcommons-io-java (2.18.0-1) ... 1185s Setting up patroni-doc (4.0.4-8) ... 1185s Setting up libpango-1.0-0:arm64 (1.56.3-1) ... 1185s Setting up libcairo2:arm64 (1.18.4-1) ... 1185s Setting up libjnr-enxio-java (0.32.16-1) ... 1185s Setting up libgl1:arm64 (1.7.0-1build1) ... 1185s Setting up adwaita-icon-theme (48.0-1) ... 1185s update-alternatives: using /usr/share/icons/Adwaita/cursor.theme to provide /usr/share/icons/default/index.theme (x-cursor-theme) in auto mode 1185s Setting up libcairo-gobject2:arm64 (1.18.4-1) ... 1185s Setting up postgresql (17+274) ... 1185s Setting up libpangoft2-1.0-0:arm64 (1.56.3-1) ... 1185s Setting up libcups2t64:arm64 (2.4.12-0ubuntu1) ... 1185s Setting up libgtk-3-common (3.24.49-2ubuntu1) ... 1185s Setting up libjnr-posix-java (3.1.18-1) ... 1185s Setting up libpangocairo-1.0-0:arm64 (1.56.3-1) ... 1185s Setting up libspring-beans-java (4.3.30-2ubuntu1) ... 1185s Setting up libjnr-unixsocket-java (0.38.21-2) ... 1185s Setting up libjetty9-extra-java (9.4.56-1) ... 1185s Setting up libguava-java (32.0.1-1) ... 1185s Setting up liberror-prone-java (2.18.0-1) ... 1185s Processing triggers for libc-bin (2.41-6ubuntu1) ... 1185s Processing triggers for man-db (2.13.0-1) ... 1187s Processing triggers for libglib2.0-0t64:arm64 (2.84.1-1) ... 1187s Setting up libgtk-3-0t64:arm64 (3.24.49-2ubuntu1) ... 1187s Processing triggers for ca-certificates-java (20240118) ... 1187s Adding debian:ACCVRAIZ1.pem 1187s Adding debian:AC_RAIZ_FNMT-RCM.pem 1187s Adding debian:AC_RAIZ_FNMT-RCM_SERVIDORES_SEGUROS.pem 1187s Adding debian:ANF_Secure_Server_Root_CA.pem 1187s Adding debian:Actalis_Authentication_Root_CA.pem 1187s Adding debian:AffirmTrust_Commercial.pem 1187s Adding debian:AffirmTrust_Networking.pem 1187s Adding debian:AffirmTrust_Premium.pem 1187s Adding debian:AffirmTrust_Premium_ECC.pem 1187s Adding debian:Amazon_Root_CA_1.pem 1187s Adding debian:Amazon_Root_CA_2.pem 1187s Adding debian:Amazon_Root_CA_3.pem 1187s Adding debian:Amazon_Root_CA_4.pem 1187s Adding debian:Atos_TrustedRoot_2011.pem 1187s Adding debian:Atos_TrustedRoot_Root_CA_ECC_TLS_2021.pem 1187s Adding debian:Atos_TrustedRoot_Root_CA_RSA_TLS_2021.pem 1187s Adding debian:Autoridad_de_Certificacion_Firmaprofesional_CIF_A62634068.pem 1187s Adding debian:BJCA_Global_Root_CA1.pem 1187s Adding debian:BJCA_Global_Root_CA2.pem 1187s Adding debian:Baltimore_CyberTrust_Root.pem 1187s Adding debian:Buypass_Class_2_Root_CA.pem 1187s Adding debian:Buypass_Class_3_Root_CA.pem 1187s Adding debian:CA_Disig_Root_R2.pem 1187s Adding debian:CFCA_EV_ROOT.pem 1187s Adding debian:COMODO_Certification_Authority.pem 1187s Adding debian:COMODO_ECC_Certification_Authority.pem 1187s Adding debian:COMODO_RSA_Certification_Authority.pem 1187s Adding debian:Certainly_Root_E1.pem 1187s Adding debian:Certainly_Root_R1.pem 1187s Adding debian:Certigna.pem 1187s Adding debian:Certigna_Root_CA.pem 1187s Adding debian:Certum_EC-384_CA.pem 1187s Adding debian:Certum_Trusted_Network_CA.pem 1187s Adding debian:Certum_Trusted_Network_CA_2.pem 1187s Adding debian:Certum_Trusted_Root_CA.pem 1187s Adding debian:CommScope_Public_Trust_ECC_Root-01.pem 1187s Adding debian:CommScope_Public_Trust_ECC_Root-02.pem 1187s Adding debian:CommScope_Public_Trust_RSA_Root-01.pem 1187s Adding debian:CommScope_Public_Trust_RSA_Root-02.pem 1187s Adding debian:Comodo_AAA_Services_root.pem 1187s Adding debian:D-TRUST_BR_Root_CA_1_2020.pem 1187s Adding debian:D-TRUST_EV_Root_CA_1_2020.pem 1187s Adding debian:D-TRUST_Root_Class_3_CA_2_2009.pem 1188s Adding debian:D-TRUST_Root_Class_3_CA_2_EV_2009.pem 1188s Adding debian:DigiCert_Assured_ID_Root_CA.pem 1188s Adding debian:DigiCert_Assured_ID_Root_G2.pem 1188s Adding debian:DigiCert_Assured_ID_Root_G3.pem 1188s Adding debian:DigiCert_Global_Root_CA.pem 1188s Adding debian:DigiCert_Global_Root_G2.pem 1188s Adding debian:DigiCert_Global_Root_G3.pem 1188s Adding debian:DigiCert_High_Assurance_EV_Root_CA.pem 1188s Adding debian:DigiCert_TLS_ECC_P384_Root_G5.pem 1188s Adding debian:DigiCert_TLS_RSA4096_Root_G5.pem 1188s Adding debian:DigiCert_Trusted_Root_G4.pem 1188s Adding debian:Entrust.net_Premium_2048_Secure_Server_CA.pem 1188s Adding debian:Entrust_Root_Certification_Authority.pem 1188s Adding debian:Entrust_Root_Certification_Authority_-_EC1.pem 1188s Adding debian:Entrust_Root_Certification_Authority_-_G2.pem 1188s Adding debian:Entrust_Root_Certification_Authority_-_G4.pem 1188s Adding debian:FIRMAPROFESIONAL_CA_ROOT-A_WEB.pem 1188s Adding debian:GDCA_TrustAUTH_R5_ROOT.pem 1188s Adding debian:GLOBALTRUST_2020.pem 1188s Adding debian:GTS_Root_R1.pem 1188s Adding debian:GTS_Root_R2.pem 1188s Adding debian:GTS_Root_R3.pem 1188s Adding debian:GTS_Root_R4.pem 1188s Adding debian:GlobalSign_ECC_Root_CA_-_R4.pem 1188s Adding debian:GlobalSign_ECC_Root_CA_-_R5.pem 1188s Adding debian:GlobalSign_Root_CA.pem 1188s Adding debian:GlobalSign_Root_CA_-_R3.pem 1188s Adding debian:GlobalSign_Root_CA_-_R6.pem 1188s Adding debian:GlobalSign_Root_E46.pem 1188s Adding debian:GlobalSign_Root_R46.pem 1188s Adding debian:Go_Daddy_Class_2_CA.pem 1188s Adding debian:Go_Daddy_Root_Certificate_Authority_-_G2.pem 1188s Adding debian:HARICA_TLS_ECC_Root_CA_2021.pem 1188s Adding debian:HARICA_TLS_RSA_Root_CA_2021.pem 1188s Adding debian:Hellenic_Academic_and_Research_Institutions_ECC_RootCA_2015.pem 1188s Adding debian:Hellenic_Academic_and_Research_Institutions_RootCA_2015.pem 1188s Adding debian:HiPKI_Root_CA_-_G1.pem 1188s Adding debian:Hongkong_Post_Root_CA_3.pem 1188s Adding debian:ISRG_Root_X1.pem 1188s Adding debian:ISRG_Root_X2.pem 1188s Adding debian:IdenTrust_Commercial_Root_CA_1.pem 1188s Adding debian:IdenTrust_Public_Sector_Root_CA_1.pem 1188s Adding debian:Izenpe.com.pem 1188s Adding debian:Microsec_e-Szigno_Root_CA_2009.pem 1188s Adding debian:Microsoft_ECC_Root_Certificate_Authority_2017.pem 1188s Adding debian:Microsoft_RSA_Root_Certificate_Authority_2017.pem 1188s Adding debian:NAVER_Global_Root_Certification_Authority.pem 1188s Adding debian:NetLock_Arany_=Class_Gold=_Főtanúsítvány.pem 1188s Adding debian:OISTE_WISeKey_Global_Root_GB_CA.pem 1188s Adding debian:OISTE_WISeKey_Global_Root_GC_CA.pem 1188s Adding debian:QuoVadis_Root_CA_1_G3.pem 1188s Adding debian:QuoVadis_Root_CA_2.pem 1188s Adding debian:QuoVadis_Root_CA_2_G3.pem 1188s Adding debian:QuoVadis_Root_CA_3.pem 1188s Adding debian:QuoVadis_Root_CA_3_G3.pem 1188s Adding debian:SSL.com_EV_Root_Certification_Authority_ECC.pem 1188s Adding debian:SSL.com_EV_Root_Certification_Authority_RSA_R2.pem 1188s Adding debian:SSL.com_Root_Certification_Authority_ECC.pem 1188s Adding debian:SSL.com_Root_Certification_Authority_RSA.pem 1188s Adding debian:SSL.com_TLS_ECC_Root_CA_2022.pem 1188s Adding debian:SSL.com_TLS_RSA_Root_CA_2022.pem 1188s Adding debian:SZAFIR_ROOT_CA2.pem 1188s Adding debian:Sectigo_Public_Server_Authentication_Root_E46.pem 1188s Adding debian:Sectigo_Public_Server_Authentication_Root_R46.pem 1188s Adding debian:SecureSign_RootCA11.pem 1188s Adding debian:SecureSign_Root_CA12.pem 1188s Adding debian:SecureSign_Root_CA14.pem 1188s Adding debian:SecureSign_Root_CA15.pem 1188s Adding debian:SecureTrust_CA.pem 1188s Adding debian:Secure_Global_CA.pem 1188s Adding debian:Security_Communication_ECC_RootCA1.pem 1188s Adding debian:Security_Communication_RootCA2.pem 1188s Adding debian:Security_Communication_RootCA3.pem 1188s Adding debian:Starfield_Class_2_CA.pem 1188s Adding debian:Starfield_Root_Certificate_Authority_-_G2.pem 1188s Adding debian:Starfield_Services_Root_Certificate_Authority_-_G2.pem 1188s Adding debian:SwissSign_Gold_CA_-_G2.pem 1188s Adding debian:SwissSign_Silver_CA_-_G2.pem 1188s Adding debian:T-TeleSec_GlobalRoot_Class_2.pem 1188s Adding debian:T-TeleSec_GlobalRoot_Class_3.pem 1188s Adding debian:TUBITAK_Kamu_SM_SSL_Kok_Sertifikasi_-_Surum_1.pem 1188s Adding debian:TWCA_CYBER_Root_CA.pem 1188s Adding debian:TWCA_Global_Root_CA.pem 1188s Adding debian:TWCA_Root_Certification_Authority.pem 1188s Adding debian:Telekom_Security_TLS_ECC_Root_2020.pem 1188s Adding debian:Telekom_Security_TLS_RSA_Root_2023.pem 1188s Adding debian:TeliaSonera_Root_CA_v1.pem 1188s Adding debian:Telia_Root_CA_v2.pem 1188s Adding debian:TrustAsia_Global_Root_CA_G3.pem 1188s Adding debian:TrustAsia_Global_Root_CA_G4.pem 1188s Adding debian:Trustwave_Global_Certification_Authority.pem 1188s Adding debian:Trustwave_Global_ECC_P256_Certification_Authority.pem 1188s Adding debian:Trustwave_Global_ECC_P384_Certification_Authority.pem 1188s Adding debian:TunTrust_Root_CA.pem 1188s Adding debian:UCA_Extended_Validation_Root.pem 1188s Adding debian:UCA_Global_G2_Root.pem 1188s Adding debian:USERTrust_ECC_Certification_Authority.pem 1188s Adding debian:USERTrust_RSA_Certification_Authority.pem 1188s Adding debian:XRamp_Global_CA_Root.pem 1188s Adding debian:certSIGN_ROOT_CA.pem 1188s Adding debian:certSIGN_Root_CA_G2.pem 1188s Adding debian:e-Szigno_Root_CA_2017.pem 1188s Adding debian:ePKI_Root_Certification_Authority.pem 1188s Adding debian:emSign_ECC_Root_CA_-_C3.pem 1188s Adding debian:emSign_ECC_Root_CA_-_G3.pem 1188s Adding debian:emSign_Root_CA_-_C1.pem 1188s Adding debian:emSign_Root_CA_-_G1.pem 1188s Adding debian:vTrus_ECC_Root_CA.pem 1188s Adding debian:vTrus_Root_CA.pem 1188s done. 1188s Setting up default-jre-headless (2:1.21-76) ... 1188s Setting up openjdk-21-jre:arm64 (21.0.7~8ea-1) ... 1188s Setting up junit4 (4.13.2-5) ... 1188s Setting up default-jre (2:1.21-76) ... 1188s Setting up libnetty-tcnative-java (2.0.28-1build4) ... 1188s Setting up libzookeeper-java (3.9.3-1build1) ... 1188s Setting up zookeeper (3.9.3-1build1) ... 1188s warn: The home directory `/var/lib/zookeeper' already exists. Not touching this directory. 1188s warn: Warning: The home directory `/var/lib/zookeeper' does not belong to the user you are currently creating. 1188s update-alternatives: using /etc/zookeeper/conf_example to provide /etc/zookeeper/conf (zookeeper-conf) in auto mode 1188s Setting up zookeeperd (3.9.3-1build1) ... 1188s Processing triggers for libc-bin (2.41-6ubuntu1) ... 1191s autopkgtest [09:46:54]: test acceptance-zookeeper: debian/tests/acceptance zookeeper "-e dcs_failsafe_mode" 1191s autopkgtest [09:46:54]: test acceptance-zookeeper: [----------------------- 1196s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 1196s ++ ls -1r /usr/lib/postgresql/ 1196s ### PostgreSQL 17 acceptance-zookeeper -e dcs_failsafe_mode ### 1196s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 1196s + '[' 17 == 10 -o 17 == 11 ']' 1196s + echo '### PostgreSQL 17 acceptance-zookeeper -e dcs_failsafe_mode ###' 1196s + su postgres -p -c 'set -o pipefail; ETCD_UNSUPPORTED_ARCH=arm64 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' 1197s Apr 14 09:47:00 Feature: basic replication # features/basic_replication.feature:1 1197s Apr 14 09:47:00 We should check that the basic bootstrapping, replication and failover works. 1197s Apr 14 09:47:00 Scenario: check replication of a single table # features/basic_replication.feature:4 1197s Apr 14 09:47:00 Given I start postgres-0 # features/steps/basic_replication.py:20 1200s Apr 14 09:47:03 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 1201s Apr 14 09:47:04 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1201s Apr 14 09:47:04 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 1201s Apr 14 09:47:04 Then I receive a response code 200 # features/steps/patroni_api.py:100 1201s Apr 14 09:47:04 When I start postgres-1 # features/steps/basic_replication.py:20 1204s Apr 14 09:47:07 And I configure and start postgres-2 with a tag replicatefrom postgres-0 # features/steps/cascading_replication.py:7 1207s Apr 14 09:47:10 And "sync" key in DCS has leader=postgres-0 after 20 seconds # features/steps/cascading_replication.py:23 1207s Apr 14 09:47:10 And I add the table foo to postgres-0 # features/steps/basic_replication.py:66 1207s Apr 14 09:47:10 Then table foo is present on postgres-1 after 20 seconds # features/steps/basic_replication.py:105 1208s Apr 14 09:47:11 Then table foo is present on postgres-2 after 20 seconds # features/steps/basic_replication.py:105 1208s Apr 14 09:47:11 1208s Apr 14 09:47:11 Scenario: check restart of sync replica # features/basic_replication.feature:17 1208s Apr 14 09:47:11 Given I shut down postgres-2 # features/steps/basic_replication.py:41 1209s Apr 14 09:47:12 Then "sync" key in DCS has sync_standby=postgres-1 after 5 seconds # features/steps/cascading_replication.py:23 1209s Apr 14 09:47:12 When I start postgres-2 # features/steps/basic_replication.py:20 1211s Apr 14 09:47:14 And I shut down postgres-1 # features/steps/basic_replication.py:41 1214s Apr 14 09:47:17 Then "sync" key in DCS has sync_standby=postgres-2 after 10 seconds # features/steps/cascading_replication.py:23 1215s Apr 14 09:47:18 When I start postgres-1 # features/steps/basic_replication.py:20 1217s Apr 14 09:47:20 Then "members/postgres-1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1218s Apr 14 09:47:21 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:144 1218s Apr 14 09:47:21 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:144 1218s Apr 14 09:47:21 1218s Apr 14 09:47:21 Scenario: check stuck sync replica # features/basic_replication.feature:28 1218s Apr 14 09:47:21 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 1218s Apr 14 09:47:21 Then I receive a response code 200 # features/steps/patroni_api.py:100 1218s Apr 14 09:47:21 And I create table on postgres-0 # features/steps/basic_replication.py:85 1218s Apr 14 09:47:21 And table mytest is present on postgres-1 after 2 seconds # features/steps/basic_replication.py:105 1219s Apr 14 09:47:22 And table mytest is present on postgres-2 after 2 seconds # features/steps/basic_replication.py:105 1219s Apr 14 09:47:22 When I pause wal replay on postgres-2 # features/steps/basic_replication.py:76 1219s Apr 14 09:47:22 And I load data on postgres-0 # features/steps/basic_replication.py:96 1220s Apr 14 09:47:23 Then "sync" key in DCS has sync_standby=postgres-1 after 15 seconds # features/steps/cascading_replication.py:23 1223s Apr 14 09:47:26 And I resume wal replay on postgres-2 # features/steps/basic_replication.py:76 1223s Apr 14 09:47:26 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:144 1224s Apr 14 09:47:27 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:144 1224s Apr 14 09:47:27 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 1224s Apr 14 09:47:27 Then I receive a response code 200 # features/steps/patroni_api.py:100 1224s Apr 14 09:47:27 And I drop table on postgres-0 # features/steps/basic_replication.py:85 1224s Apr 14 09:47:27 1224s Apr 14 09:47:27 Scenario: check multi sync replication # features/basic_replication.feature:44 1224s Apr 14 09:47:27 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 1224s Apr 14 09:47:27 Then I receive a response code 200 # features/steps/patroni_api.py:100 1224s Apr 14 09:47:27 Then "sync" key in DCS has sync_standby=postgres-1,postgres-2 after 10 seconds # features/steps/cascading_replication.py:23 1228s Apr 14 09:47:31 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:144 1228s Apr 14 09:47:31 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:144 1228s Apr 14 09:47:31 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 1228s Apr 14 09:47:31 Then I receive a response code 200 # features/steps/patroni_api.py:100 1228s Apr 14 09:47:31 And I shut down postgres-1 # features/steps/basic_replication.py:41 1231s Apr 14 09:47:34 Then "sync" key in DCS has sync_standby=postgres-2 after 10 seconds # features/steps/cascading_replication.py:23 1232s Apr 14 09:47:35 When I start postgres-1 # features/steps/basic_replication.py:20 1235s Apr 14 09:47:38 Then "members/postgres-1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1235s Apr 14 09:47:38 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:144 1235s Apr 14 09:47:38 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:144 1235s Apr 14 09:47:38 1235s Apr 14 09:47:38 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 1235s Apr 14 09:47:38 Given I run patronictl.py pause batman # features/steps/patroni_api.py:88 1236s Apr 14 09:47:39 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 1236s Apr 14 09:47:39 When I sleep for 2 seconds # features/steps/patroni_api.py:41 1238s Apr 14 09:47:41 And I shut down postgres-0 # features/steps/basic_replication.py:41 1239s Apr 14 09:47:42 And I run patronictl.py resume batman # features/steps/patroni_api.py:88 1240s Apr 14 09:47:43 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 1240s Apr 14 09:47:43 And postgres-2 role is the primary after 24 seconds # features/steps/basic_replication.py:117 1261s Apr 14 09:48:04 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:158 1265s Apr 14 09:48:08 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 1265s Apr 14 09:48:08 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 1265s Apr 14 09:48:08 Then I receive a response code 200 # features/steps/patroni_api.py:100 1265s Apr 14 09:48:08 When I add the table bar to postgres-2 # features/steps/basic_replication.py:66 1265s Apr 14 09:48:08 Then table bar is present on postgres-1 after 20 seconds # features/steps/basic_replication.py:105 1265s Apr 14 09:48:08 And Response on GET http://127.0.0.1:8010/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:158 1265s Apr 14 09:48:08 1265s Apr 14 09:48:08 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 1265s Apr 14 09:48:08 Given I add the table splitbrain to postgres-0 # features/steps/basic_replication.py:66 1265s Apr 14 09:48:08 And I start postgres-0 # features/steps/basic_replication.py:20 1265s Apr 14 09:48:08 Then postgres-0 role is the secondary after 20 seconds # features/steps/basic_replication.py:117 1271s Apr 14 09:48:14 When I add the table buz to postgres-2 # features/steps/basic_replication.py:66 1271s Apr 14 09:48:14 Then table buz is present on postgres-0 after 20 seconds # features/steps/basic_replication.py:105 1271s Apr 14 09:48:14 1271s Apr 14 09:48:14 @reject-duplicate-name 1271s Apr 14 09:48:14 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 1271s Apr 14 09:48:14 Given I start duplicate postgres-0 on port 8011 # features/steps/basic_replication.py:25 1273s Apr 14 09:48:16 Then there is one of ["Can't start; there is already a node named 'postgres-0' running"] CRITICAL in the dup-postgres-0 patroni log after 5 seconds # features/steps/basic_replication.py:133 1277s Apr 14 09:48:20 1277s Apr 14 09:48:20 Feature: cascading replication # features/cascading_replication.feature:1 1277s Apr 14 09:48:20 We should check that patroni can do base backup and streaming from the replica 1277s Apr 14 09:48:20 Scenario: check a base backup and streaming replication from a replica # features/cascading_replication.feature:4 1277s Apr 14 09:48:20 Given I start postgres-0 # features/steps/basic_replication.py:20 1280s Apr 14 09:48:23 And postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 1280s Apr 14 09:48:23 And I configure and start postgres-1 with a tag clonefrom true # features/steps/cascading_replication.py:7 1283s Apr 14 09:48:26 And replication works from postgres-0 to postgres-1 after 20 seconds # features/steps/basic_replication.py:124 1284s Apr 14 09:48:27 And I create label with "postgres-0" in postgres-0 data directory # features/steps/cascading_replication.py:18 1284s Apr 14 09:48:27 And I create label with "postgres-1" in postgres-1 data directory # features/steps/cascading_replication.py:18 1284s Apr 14 09:48:27 And "members/postgres-1" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 1284s Apr 14 09:48:27 And I configure and start postgres-2 with a tag replicatefrom postgres-1 # features/steps/cascading_replication.py:7 1287s Apr 14 09:48:30 Then replication works from postgres-0 to postgres-2 after 30 seconds # features/steps/basic_replication.py:124 1288s Apr 14 09:48:31 And there is a label with "postgres-1" in postgres-2 data directory # features/steps/cascading_replication.py:12 1293s Apr 14 09:48:36 1293s SKIP FEATURE citus: Citus extension isn't available 1293s SKIP Scenario check that worker cluster is registered in the coordinator: Citus extension isn't available 1293s SKIP Scenario coordinator failover updates pg_dist_node: Citus extension isn't available 1293s SKIP Scenario worker switchover doesn't break client queries on the coordinator: Citus extension isn't available 1293s SKIP Scenario worker primary restart doesn't break client queries on the coordinator: Citus extension isn't available 1293s 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 1293s Apr 14 09:48:36 Feature: citus # features/citus.feature:1 1294s Apr 14 09:48:36 We should check that coordinator discovers and registers workers and clients don't have errors when worker cluster switches over 1294s Apr 14 09:48:36 Scenario: check that worker cluster is registered in the coordinator # features/citus.feature:4 1294s Apr 14 09:48:36 Given I start postgres-0 in citus group 0 # None 1294s Apr 14 09:48:36 And I start postgres-2 in citus group 1 # None 1294s Apr 14 09:48:36 Then postgres-0 is a leader in a group 0 after 10 seconds # None 1294s Apr 14 09:48:36 And postgres-2 is a leader in a group 1 after 10 seconds # None 1294s Apr 14 09:48:36 When I start postgres-1 in citus group 0 # None 1294s Apr 14 09:48:36 And I start postgres-3 in citus group 1 # None 1294s Apr 14 09:48:36 Then replication works from postgres-0 to postgres-1 after 15 seconds # None 1294s Apr 14 09:48:36 Then replication works from postgres-2 to postgres-3 after 15 seconds # None 1294s Apr 14 09:48:36 And postgres-0 is registered in the postgres-0 as the primary in group 0 after 5 seconds # None 1294s Apr 14 09:48:36 And postgres-1 is registered in the postgres-0 as the secondary in group 0 after 5 seconds # None 1294s Apr 14 09:48:36 And postgres-2 is registered in the postgres-0 as the primary in group 1 after 5 seconds # None 1294s Apr 14 09:48:36 And postgres-3 is registered in the postgres-0 as the secondary in group 1 after 5 seconds # None 1294s Apr 14 09:48:36 1294s Apr 14 09:48:36 Scenario: coordinator failover updates pg_dist_node # features/citus.feature:18 1294s Apr 14 09:48:36 Given I run patronictl.py failover batman --group 0 --candidate postgres-1 --force # None 1294s Apr 14 09:48:36 Then postgres-1 role is the primary after 10 seconds # None 1294s Apr 14 09:48:36 And "members/postgres-0" key in a group 0 in DCS has state=running after 15 seconds # None 1294s Apr 14 09:48:36 And replication works from postgres-1 to postgres-0 after 15 seconds # None 1294s Apr 14 09:48:36 And postgres-1 is registered in the postgres-2 as the primary in group 0 after 5 seconds # None 1294s Apr 14 09:48:36 And postgres-0 is registered in the postgres-2 as the secondary in group 0 after 15 seconds # None 1294s Apr 14 09:48:36 And "sync" key in a group 0 in DCS has sync_standby=postgres-0 after 15 seconds # None 1294s Apr 14 09:48:36 When I run patronictl.py switchover batman --group 0 --candidate postgres-0 --force # None 1294s Apr 14 09:48:36 Then postgres-0 role is the primary after 10 seconds # None 1294s Apr 14 09:48:36 And replication works from postgres-0 to postgres-1 after 15 seconds # None 1294s Apr 14 09:48:36 And postgres-0 is registered in the postgres-2 as the primary in group 0 after 5 seconds # None 1294s Apr 14 09:48:36 And postgres-1 is registered in the postgres-2 as the secondary in group 0 after 15 seconds # None 1294s Apr 14 09:48:36 And "sync" key in a group 0 in DCS has sync_standby=postgres-1 after 15 seconds # None 1294s Apr 14 09:48:36 1294s Apr 14 09:48:36 Scenario: worker switchover doesn't break client queries on the coordinator # features/citus.feature:33 1294s Apr 14 09:48:36 Given I create a distributed table on postgres-0 # None 1294s Apr 14 09:48:36 And I start a thread inserting data on postgres-0 # None 1294s Apr 14 09:48:36 When I run patronictl.py switchover batman --group 1 --force # None 1294s Apr 14 09:48:36 Then I receive a response returncode 0 # None 1294s Apr 14 09:48:36 And postgres-3 role is the primary after 10 seconds # None 1294s Apr 14 09:48:36 And "members/postgres-2" key in a group 1 in DCS has state=running after 15 seconds # None 1294s Apr 14 09:48:36 And replication works from postgres-3 to postgres-2 after 15 seconds # None 1294s Apr 14 09:48:36 And postgres-3 is registered in the postgres-0 as the primary in group 1 after 5 seconds # None 1294s Apr 14 09:48:36 And postgres-2 is registered in the postgres-0 as the secondary in group 1 after 15 seconds # None 1294s Apr 14 09:48:36 And "sync" key in a group 1 in DCS has sync_standby=postgres-2 after 15 seconds # None 1294s Apr 14 09:48:36 And a thread is still alive # None 1294s Apr 14 09:48:36 When I run patronictl.py switchover batman --group 1 --force # None 1294s Apr 14 09:48:36 Then I receive a response returncode 0 # None 1294s Apr 14 09:48:36 And postgres-2 role is the primary after 10 seconds # None 1294s Apr 14 09:48:36 And replication works from postgres-2 to postgres-3 after 15 seconds # None 1294s Apr 14 09:48:36 And postgres-2 is registered in the postgres-0 as the primary in group 1 after 5 seconds # None 1294s Apr 14 09:48:36 And postgres-3 is registered in the postgres-0 as the secondary in group 1 after 15 seconds # None 1294s Apr 14 09:48:36 And "sync" key in a group 1 in DCS has sync_standby=postgres-3 after 15 seconds # None 1294s Apr 14 09:48:36 And a thread is still alive # None 1294s Apr 14 09:48:36 When I stop a thread # None 1294s Apr 14 09:48:36 Then a distributed table on postgres-0 has expected rows # None 1294s Apr 14 09:48:36 1294s Apr 14 09:48:36 Scenario: worker primary restart doesn't break client queries on the coordinator # features/citus.feature:56 1294s Apr 14 09:48:36 Given I cleanup a distributed table on postgres-0 # None 1294s Apr 14 09:48:36 And I start a thread inserting data on postgres-0 # None 1294s Apr 14 09:48:36 When I run patronictl.py restart batman postgres-2 --group 1 --force # None 1294s Apr 14 09:48:36 Then I receive a response returncode 0 # None 1294s Apr 14 09:48:36 And postgres-2 role is the primary after 10 seconds # None 1294s Apr 14 09:48:36 And replication works from postgres-2 to postgres-3 after 15 seconds # None 1294s Apr 14 09:48:36 And postgres-2 is registered in the postgres-0 as the primary in group 1 after 5 seconds # None 1294s Apr 14 09:48:36 And postgres-3 is registered in the postgres-0 as the secondary in group 1 after 15 seconds # None 1294s Apr 14 09:48:36 And a thread is still alive # None 1294s Apr 14 09:48:36 When I stop a thread # None 1294s Apr 14 09:48:36 Then a distributed table on postgres-0 has expected rows # None 1294s Apr 14 09:48:36 1294s Apr 14 09:48:36 Scenario: check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node # features/citus.feature:69 1294s Apr 14 09:48:36 Given I start postgres-4 in citus group 2 # None 1294s Apr 14 09:48:36 Then postgres-4 is a leader in a group 2 after 10 seconds # None 1294s Apr 14 09:48:36 And "members/postgres-4" key in a group 2 in DCS has role=primary after 3 seconds # None 1294s Apr 14 09:48:36 When I run patronictl.py edit-config batman --group 2 -s ttl=20 --force # None 1294s Apr 14 09:48:36 Then I receive a response returncode 0 # None 1294s Apr 14 09:48:36 And I receive a response output "+ttl: 20" # None 1294s Apr 14 09:48:36 Then postgres-4 is registered in the postgres-2 as the primary in group 2 after 5 seconds # None 1294s Apr 14 09:48:36 When I shut down postgres-4 # None 1294s Apr 14 09:48:36 Then there is a transaction in progress on postgres-0 changing pg_dist_node after 5 seconds # None 1294s Apr 14 09:48:36 When I run patronictl.py restart batman postgres-2 --group 1 --force # None 1294s Apr 14 09:48:36 Then a transaction finishes in 20 seconds # None 1294s Apr 14 09:48:36 1294s Apr 14 09:48:36 Feature: custom bootstrap # features/custom_bootstrap.feature:1 1294s Apr 14 09:48:36 We should check that patroni can bootstrap a new cluster from a backup 1294s Apr 14 09:48:36 Scenario: clone existing cluster using pg_basebackup # features/custom_bootstrap.feature:4 1294s Apr 14 09:48:36 Given I start postgres-0 # features/steps/basic_replication.py:20 1297s Apr 14 09:48:39 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 1297s Apr 14 09:48:40 When I add the table foo to postgres-0 # features/steps/basic_replication.py:66 1297s Apr 14 09:48:40 And I start postgres-1 in a cluster batman1 as a clone of postgres-0 # features/steps/custom_bootstrap.py:6 1300s Apr 14 09:48:43 Then postgres-1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 1301s Apr 14 09:48:44 Then table foo is present on postgres-1 after 10 seconds # features/steps/basic_replication.py:105 1301s Apr 14 09:48:44 1301s Apr 14 09:48:44 Scenario: make a backup and do a restore into a new cluster # features/custom_bootstrap.feature:12 1301s Apr 14 09:48:44 Given I add the table bar to postgres-1 # features/steps/basic_replication.py:66 1301s Apr 14 09:48:44 And I do a backup of postgres-1 # features/steps/custom_bootstrap.py:25 1301s Apr 14 09:48:44 When I start postgres-2 in a cluster batman2 from backup # features/steps/custom_bootstrap.py:11 1306s Apr 14 09:48:49 Then postgres-2 is a leader of batman2 after 30 seconds # features/steps/custom_bootstrap.py:16 1306s Apr 14 09:48:49 And table bar is present on postgres-2 after 10 seconds # features/steps/basic_replication.py:105 1312s Apr 14 09:48:55 1312s Apr 14 09:48:55 Feature: ignored slots # features/ignored_slots.feature:1 1312s Apr 14 09:48:55 1312s Apr 14 09:48:55 Scenario: check ignored slots aren't removed on failover/switchover # features/ignored_slots.feature:2 1312s Apr 14 09:48:55 Given I start postgres-1 # features/steps/basic_replication.py:20 1315s Apr 14 09:48:58 Then postgres-1 is a leader after 10 seconds # features/steps/patroni_api.py:31 1315s Apr 14 09:48:58 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1315s Apr 14 09:48:58 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 1315s Apr 14 09:48:58 Then I receive a response code 200 # features/steps/patroni_api.py:100 1315s Apr 14 09:48:58 And Response on GET http://127.0.0.1:8009/config contains ignore_slots after 10 seconds # features/steps/patroni_api.py:158 1315s Apr 14 09:48:58 When I shut down postgres-1 # features/steps/basic_replication.py:41 1317s Apr 14 09:49:00 And I start postgres-1 # features/steps/basic_replication.py:20 1319s Apr 14 09:49:02 Then postgres-1 is a leader after 10 seconds # features/steps/patroni_api.py:31 1320s Apr 14 09:49:03 And "members/postgres-1" key in DCS has role=primary after 10 seconds # features/steps/cascading_replication.py:23 1321s Apr 14 09:49:04 And postgres-1 role is the primary after 20 seconds # features/steps/basic_replication.py:117 1321s Apr 14 09:49:04 When I create a logical replication slot unmanaged_slot_0 on postgres-1 with the test_decoding plugin # features/steps/slots.py:9 1321s Apr 14 09:49:04 And I create a logical replication slot unmanaged_slot_1 on postgres-1 with the test_decoding plugin # features/steps/slots.py:9 1321s Apr 14 09:49:04 And I create a logical replication slot unmanaged_slot_2 on postgres-1 with the test_decoding plugin # features/steps/slots.py:9 1321s Apr 14 09:49:04 And I create a logical replication slot unmanaged_slot_3 on postgres-1 with the test_decoding plugin # features/steps/slots.py:9 1321s Apr 14 09:49:04 And I create a logical replication slot dummy_slot on postgres-1 with the test_decoding plugin # features/steps/slots.py:9 1321s Apr 14 09:49:04 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 1321s Apr 14 09:49:04 And postgres-1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:20 1321s Apr 14 09:49:04 And postgres-1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:20 1321s Apr 14 09:49:04 And postgres-1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:20 1321s Apr 14 09:49:04 When I start postgres-0 # features/steps/basic_replication.py:20 1324s Apr 14 09:49:07 Then "members/postgres-0" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 1324s Apr 14 09:49:07 And postgres-0 role is the secondary after 20 seconds # features/steps/basic_replication.py:117 1324s Apr 14 09:49:07 And replication works from postgres-1 to postgres-0 after 20 seconds # features/steps/basic_replication.py:124 1326s Apr 14 09:49:09 When I shut down postgres-1 # features/steps/basic_replication.py:41 1328s Apr 14 09:49:11 Then "members/postgres-0" key in DCS has role=primary after 10 seconds # features/steps/cascading_replication.py:23 1329s Apr 14 09:49:12 When I start postgres-1 # features/steps/basic_replication.py:20 1331s Apr 14 09:49:14 Then postgres-1 role is the secondary after 20 seconds # features/steps/basic_replication.py:117 1331s Apr 14 09:49:14 And "members/postgres-1" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 1332s Apr 14 09:49:15 And I sleep for 2 seconds # features/steps/patroni_api.py:41 1334s Apr 14 09:49:17 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 1334s Apr 14 09:49:17 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 1334s Apr 14 09:49:17 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 1334s Apr 14 09:49:17 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 1334s Apr 14 09:49:17 And postgres-1 does not have a replication slot named dummy_slot # features/steps/slots.py:41 1334s Apr 14 09:49:17 When I shut down postgres-0 # features/steps/basic_replication.py:41 1336s Apr 14 09:49:19 Then "members/postgres-1" key in DCS has role=primary after 10 seconds # features/steps/cascading_replication.py:23 1337s Apr 14 09:49:20 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 1337s Apr 14 09:49:20 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 1337s Apr 14 09:49:20 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 1337s Apr 14 09:49:20 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 1339s Apr 14 09:49:22 1339s Apr 14 09:49:22 Feature: nostream node # features/nostream_node.feature:1 1339s Apr 14 09:49:22 1339s Apr 14 09:49:22 Scenario: check nostream node is recovering from archive # features/nostream_node.feature:3 1339s Apr 14 09:49:22 When I start postgres-0 # features/steps/basic_replication.py:20 1342s Apr 14 09:49:25 And I configure and start postgres-1 with a tag nostream true # features/steps/cascading_replication.py:7 1345s Apr 14 09:49:28 Then "members/postgres-1" key in DCS has replication_state=in archive recovery after 10 seconds # features/steps/cascading_replication.py:23 1345s Apr 14 09:49:28 And replication works from postgres-0 to postgres-1 after 30 seconds # features/steps/basic_replication.py:124 1350s Apr 14 09:49:33 1350s Apr 14 09:49:33 @slot-advance 1350s Apr 14 09:49:33 Scenario: check permanent logical replication slots are not copied # features/nostream_node.feature:10 1350s Apr 14 09:49:33 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 1350s Apr 14 09:49:33 Then I receive a response code 200 # features/steps/patroni_api.py:100 1350s Apr 14 09:49:33 When I run patronictl.py restart batman postgres-0 --force # features/steps/patroni_api.py:88 1351s Apr 14 09:49:34 Then postgres-0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:20 1352s Apr 14 09:49:35 When I configure and start postgres-2 with a tag replicatefrom postgres-1 # features/steps/cascading_replication.py:7 1356s Apr 14 09:49:38 Then "members/postgres-2" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 1362s Apr 14 09:49:45 And postgres-1 does not have a replication slot named test_logical # features/steps/slots.py:41 1362s Apr 14 09:49:45 And postgres-2 does not have a replication slot named test_logical # features/steps/slots.py:41 1362s Apr 14 09:49:45 1362s Apr 14 09:49:45 @slot-advance 1362s Apr 14 09:49:45 Scenario: check that slots are written to the /status key # features/nostream_node.feature:21 1362s Apr 14 09:49:45 Given "status" key in DCS has postgres_0 in slots # features/steps/slots.py:118 1362s Apr 14 09:49:45 And "status" key in DCS has postgres_2 in slots # features/steps/slots.py:118 1362s Apr 14 09:49:45 And "status" key in DCS has test_logical in slots # features/steps/slots.py:118 1362s Apr 14 09:49:45 And "status" key in DCS has test_logical in slots # features/steps/slots.py:118 1362s Apr 14 09:49:45 And "status" key in DCS does not have postgres_1 in slots # features/steps/slots.py:124 1368s Apr 14 09:49:51 1368s Apr 14 09:49:51 Feature: patroni api # features/patroni_api.feature:1 1368s Apr 14 09:49:51 We should check that patroni correctly responds to valid and not-valid API requests. 1368s Apr 14 09:49:51 Scenario: check API requests on a stand-alone server # features/patroni_api.feature:4 1368s Apr 14 09:49:51 Given I start postgres-0 # features/steps/basic_replication.py:20 1371s Apr 14 09:49:54 And postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 1371s Apr 14 09:49:54 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:63 1371s Apr 14 09:49:54 Then I receive a response code 200 # features/steps/patroni_api.py:100 1371s Apr 14 09:49:54 And I receive a response state running # features/steps/patroni_api.py:100 1371s Apr 14 09:49:54 And I receive a response role primary # features/steps/patroni_api.py:100 1371s Apr 14 09:49:54 When I issue a GET request to http://127.0.0.1:8008/standby_leader # features/steps/patroni_api.py:63 1371s Apr 14 09:49:54 Then I receive a response code 503 # features/steps/patroni_api.py:100 1371s Apr 14 09:49:54 When I issue a GET request to http://127.0.0.1:8008/health # features/steps/patroni_api.py:63 1371s Apr 14 09:49:54 Then I receive a response code 200 # features/steps/patroni_api.py:100 1371s Apr 14 09:49:54 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:63 1371s Apr 14 09:49:54 Then I receive a response code 503 # features/steps/patroni_api.py:100 1371s Apr 14 09:49:54 When I issue a POST request to http://127.0.0.1:8008/reinitialize with {"force": true} # features/steps/patroni_api.py:73 1371s Apr 14 09:49:54 Then I receive a response code 503 # features/steps/patroni_api.py:100 1371s Apr 14 09:49:54 And I receive a response text I am the leader, can not reinitialize # features/steps/patroni_api.py:100 1371s Apr 14 09:49:54 When I run patronictl.py switchover batman --primary postgres-0 --force # features/steps/patroni_api.py:88 1372s Apr 14 09:49:55 Then I receive a response returncode 1 # features/steps/patroni_api.py:100 1372s Apr 14 09:49:55 And I receive a response output "Error: No candidates found to switchover to" # features/steps/patroni_api.py:100 1372s Apr 14 09:49:55 When I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres-0"} # features/steps/patroni_api.py:73 1372s Apr 14 09:49:55 Then I receive a response code 412 # features/steps/patroni_api.py:100 1372s Apr 14 09:49:55 And I receive a response text switchover is not possible: cluster does not have members except leader # features/steps/patroni_api.py:100 1372s Apr 14 09:49:55 When I issue an empty POST request to http://127.0.0.1:8008/failover # features/steps/patroni_api.py:68 1372s Apr 14 09:49:55 Then I receive a response code 400 # features/steps/patroni_api.py:100 1372s Apr 14 09:49:55 When I issue a POST request to http://127.0.0.1:8008/failover with {"foo": "bar"} # features/steps/patroni_api.py:73 1372s Apr 14 09:49:55 Then I receive a response code 400 # features/steps/patroni_api.py:100 1372s Apr 14 09:49:55 And I receive a response text "Failover could be performed only to a specific candidate" # features/steps/patroni_api.py:100 1372s Apr 14 09:49:55 1372s Apr 14 09:49:55 Scenario: check local configuration reload # features/patroni_api.feature:32 1372s Apr 14 09:49:55 Given I add tag new_tag new_value to postgres-0 config # features/steps/patroni_api.py:139 1372s Apr 14 09:49:55 And I issue an empty POST request to http://127.0.0.1:8008/reload # features/steps/patroni_api.py:68 1372s Apr 14 09:49:55 Then I receive a response code 202 # features/steps/patroni_api.py:100 1372s Apr 14 09:49:55 1372s Apr 14 09:49:55 Scenario: check dynamic configuration change via DCS # features/patroni_api.feature:37 1372s Apr 14 09:49:55 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 1372s Apr 14 09:49:55 Then I receive a response code 200 # features/steps/patroni_api.py:100 1372s Apr 14 09:49:55 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 11 seconds # features/steps/patroni_api.py:158 1374s Apr 14 09:49:57 When I issue a GET request to http://127.0.0.1:8008/config # features/steps/patroni_api.py:63 1374s Apr 14 09:49:57 Then I receive a response code 200 # features/steps/patroni_api.py:100 1374s Apr 14 09:49:57 And I receive a response ttl 20 # features/steps/patroni_api.py:100 1374s Apr 14 09:49:57 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:63 1374s Apr 14 09:49:57 Then I receive a response code 200 # features/steps/patroni_api.py:100 1374s Apr 14 09:49:57 And I receive a response tags {'new_tag': 'new_value'} # features/steps/patroni_api.py:100 1374s Apr 14 09:49:57 And I sleep for 4 seconds # features/steps/patroni_api.py:41 1378s Apr 14 09:50:01 1378s Apr 14 09:50:01 Scenario: check the scheduled restart # features/patroni_api.feature:49 1378s Apr 14 09:50:01 Given I run patronictl.py edit-config -p 'superuser_reserved_connections=6' --force batman # features/steps/patroni_api.py:88 1379s Apr 14 09:50:02 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 1379s Apr 14 09:50:02 And I receive a response output "+ superuser_reserved_connections: 6" # features/steps/patroni_api.py:100 1379s Apr 14 09:50:02 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 5 seconds # features/steps/patroni_api.py:158 1379s Apr 14 09:50:02 Given I issue a scheduled restart at http://127.0.0.1:8008 in 5 seconds with {"role": "replica"} # features/steps/patroni_api.py:126 1380s Apr 14 09:50:02 Then I receive a response code 202 # features/steps/patroni_api.py:100 1380s Apr 14 09:50:02 And I sleep for 8 seconds # features/steps/patroni_api.py:41 1388s Apr 14 09:50:10 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 10 seconds # features/steps/patroni_api.py:158 1388s Apr 14 09:50:11 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 1388s Apr 14 09:50:11 Then I receive a response code 202 # features/steps/patroni_api.py:100 1388s Apr 14 09:50:11 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 1394s Apr 14 09:50:17 And postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 1395s Apr 14 09:50:18 1395s Apr 14 09:50:18 Scenario: check API requests for the primary-replica pair in the pause mode # features/patroni_api.feature:63 1395s Apr 14 09:50:18 Given I start postgres-1 # features/steps/basic_replication.py:20 1398s Apr 14 09:50:21 Then replication works from postgres-0 to postgres-1 after 20 seconds # features/steps/basic_replication.py:124 1399s Apr 14 09:50:22 When I run patronictl.py pause batman # features/steps/patroni_api.py:88 1400s Apr 14 09:50:23 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 1400s Apr 14 09:50:23 When I kill postmaster on postgres-1 # features/steps/basic_replication.py:56 1400s Apr 14 09:50:23 waiting for server to shut down.... done 1400s Apr 14 09:50:23 server stopped 1400s Apr 14 09:50:23 And I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:63 1401s Apr 14 09:50:23 Then I receive a response code 503 # features/steps/patroni_api.py:100 1401s Apr 14 09:50:23 And "members/postgres-1" key in DCS has state=stopped after 10 seconds # features/steps/cascading_replication.py:23 1402s Apr 14 09:50:24 When I run patronictl.py restart batman postgres-1 --force # features/steps/patroni_api.py:88 1404s Apr 14 09:50:27 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 1404s Apr 14 09:50:27 Then replication works from postgres-0 to postgres-1 after 20 seconds # features/steps/basic_replication.py:124 1405s Apr 14 09:50:28 And I sleep for 2 seconds # features/steps/patroni_api.py:41 1407s Apr 14 09:50:30 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:63 1407s Apr 14 09:50:30 Then I receive a response code 200 # features/steps/patroni_api.py:100 1407s Apr 14 09:50:30 And I receive a response state running # features/steps/patroni_api.py:100 1407s Apr 14 09:50:30 And I receive a response role replica # features/steps/patroni_api.py:100 1407s Apr 14 09:50:30 When I run patronictl.py reinit batman postgres-1 --force --wait # features/steps/patroni_api.py:88 1410s Apr 14 09:50:33 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 1410s Apr 14 09:50:33 And I receive a response output "Success: reinitialize for member postgres-1" # features/steps/patroni_api.py:100 1410s Apr 14 09:50:33 And postgres-1 role is the secondary after 30 seconds # features/steps/basic_replication.py:117 1411s Apr 14 09:50:34 And replication works from postgres-0 to postgres-1 after 20 seconds # features/steps/basic_replication.py:124 1412s Apr 14 09:50:35 When I run patronictl.py restart batman postgres-0 --force # features/steps/patroni_api.py:88 1414s Apr 14 09:50:37 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 1414s Apr 14 09:50:37 And I receive a response output "Success: restart on member postgres-0" # features/steps/patroni_api.py:100 1414s Apr 14 09:50:37 And postgres-0 role is the primary after 5 seconds # features/steps/basic_replication.py:117 1415s Apr 14 09:50:38 1415s Apr 14 09:50:38 Scenario: check the switchover via the API in the pause mode # features/patroni_api.feature:90 1415s Apr 14 09:50:38 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 1417s Apr 14 09:50:40 Then I receive a response code 200 # features/steps/patroni_api.py:100 1417s Apr 14 09:50:40 And postgres-1 is a leader after 5 seconds # features/steps/patroni_api.py:31 1417s Apr 14 09:50:40 And postgres-1 role is the primary after 10 seconds # features/steps/basic_replication.py:117 1417s Apr 14 09:50:40 And postgres-0 role is the secondary after 10 seconds # features/steps/basic_replication.py:117 1423s Apr 14 09:50:46 And replication works from postgres-1 to postgres-0 after 20 seconds # features/steps/basic_replication.py:124 1423s Apr 14 09:50:46 And "members/postgres-0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1423s Apr 14 09:50:46 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:63 1423s Apr 14 09:50:46 Then I receive a response code 503 # features/steps/patroni_api.py:100 1423s Apr 14 09:50:46 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:63 1423s Apr 14 09:50:46 Then I receive a response code 200 # features/steps/patroni_api.py:100 1423s Apr 14 09:50:46 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:63 1423s Apr 14 09:50:46 Then I receive a response code 200 # features/steps/patroni_api.py:100 1423s Apr 14 09:50:46 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:63 1423s Apr 14 09:50:46 Then I receive a response code 503 # features/steps/patroni_api.py:100 1423s Apr 14 09:50:46 1423s Apr 14 09:50:46 Scenario: check the scheduled switchover # features/patroni_api.feature:107 1423s Apr 14 09:50:46 Given I issue a scheduled switchover from postgres-1 to postgres-0 in 10 seconds # features/steps/patroni_api.py:119 1424s Apr 14 09:50:47 Then I receive a response returncode 1 # features/steps/patroni_api.py:100 1424s Apr 14 09:50:47 And I receive a response output "Can't schedule switchover in the paused state" # features/steps/patroni_api.py:100 1424s Apr 14 09:50:47 When I run patronictl.py resume batman # features/steps/patroni_api.py:88 1425s Apr 14 09:50:48 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 1425s Apr 14 09:50:48 Given I issue a scheduled switchover from postgres-1 to postgres-0 in 10 seconds # features/steps/patroni_api.py:119 1426s Apr 14 09:50:49 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 1426s Apr 14 09:50:49 And postgres-0 is a leader after 20 seconds # features/steps/patroni_api.py:31 1437s Apr 14 09:51:00 And postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 1437s Apr 14 09:51:00 And postgres-1 role is the secondary after 10 seconds # features/steps/basic_replication.py:117 1440s Apr 14 09:51:03 And replication works from postgres-0 to postgres-1 after 25 seconds # features/steps/basic_replication.py:124 1440s Apr 14 09:51:03 And "members/postgres-1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1441s Apr 14 09:51:04 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:63 1441s Apr 14 09:51:04 Then I receive a response code 200 # features/steps/patroni_api.py:100 1441s Apr 14 09:51:04 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:63 1441s Apr 14 09:51:04 Then I receive a response code 503 # features/steps/patroni_api.py:100 1441s Apr 14 09:51:04 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:63 1441s Apr 14 09:51:04 Then I receive a response code 503 # features/steps/patroni_api.py:100 1441s Apr 14 09:51:04 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:63 1441s Apr 14 09:51:04 Then I receive a response code 200 # features/steps/patroni_api.py:100 1445s Apr 14 09:51:08 1445s Apr 14 09:51:08 Feature: permanent slots # features/permanent_slots.feature:1 1445s Apr 14 09:51:08 1445s Apr 14 09:51:08 Scenario: check that physical permanent slots are created # features/permanent_slots.feature:2 1445s Apr 14 09:51:08 Given I start postgres-0 # features/steps/basic_replication.py:20 1448s Apr 14 09:51:11 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 1448s Apr 14 09:51:11 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1448s Apr 14 09:51:11 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 1449s Apr 14 09:51:12 Then I receive a response code 200 # features/steps/patroni_api.py:100 1449s Apr 14 09:51:12 And Response on GET http://127.0.0.1:8008/config contains slots after 10 seconds # features/steps/patroni_api.py:158 1449s Apr 14 09:51:12 When I start postgres-1 # features/steps/basic_replication.py:20 1452s Apr 14 09:51:15 And I configure and start postgres-2 with a tag nofailover true # features/steps/cascading_replication.py:7 1455s Apr 14 09:51:18 And I configure and start postgres-3 with a tag replicatefrom postgres-2 # features/steps/cascading_replication.py:7 1458s Apr 14 09:51:21 Then postgres-0 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:82 1458s Apr 14 09:51:21 And postgres-0 has a physical replication slot named postgres_1 after 10 seconds # features/steps/slots.py:82 1458s Apr 14 09:51:21 And postgres-0 has a physical replication slot named postgres_2 after 10 seconds # features/steps/slots.py:82 1458s Apr 14 09:51:21 And postgres-2 has a physical replication slot named postgres_3 after 10 seconds # features/steps/slots.py:82 1458s Apr 14 09:51:21 And postgres-2 does not have a replication slot named test_physical # features/steps/slots.py:41 1458s Apr 14 09:51:21 1458s Apr 14 09:51:21 @slot-advance 1458s Apr 14 09:51:21 Scenario: check that logical permanent slots are created # features/permanent_slots.feature:19 1458s Apr 14 09:51:21 Given I run patronictl.py restart batman postgres-0 --force # features/steps/patroni_api.py:88 1459s Apr 14 09:51:22 And I issue a PATCH request to http://127.0.0.1:8008/config with {"slots":{"test_logical":{"type":"logical","database":"postgres","plugin":"test_decoding"}}} # features/steps/patroni_api.py:73 1459s Apr 14 09:51:22 Then postgres-0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:20 1460s Apr 14 09:51:23 1460s Apr 14 09:51:23 @slot-advance 1460s Apr 14 09:51:23 Scenario: check that permanent slots are created on replicas # features/permanent_slots.feature:25 1460s Apr 14 09:51:23 Given postgres-1 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:20 1465s Apr 14 09:51:28 Then Logical slot test_logical is in sync between postgres-0 and postgres-1 after 10 seconds # features/steps/slots.py:52 1465s Apr 14 09:51:28 And Logical slot test_logical is in sync between postgres-0 and postgres-3 after 10 seconds # features/steps/slots.py:52 1466s Apr 14 09:51:29 And postgres-1 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:82 1466s Apr 14 09:51:29 And postgres-2 does not have a replication slot named test_logical # features/steps/slots.py:41 1466s Apr 14 09:51:29 And postgres-3 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:82 1466s Apr 14 09:51:29 1466s Apr 14 09:51:29 @slot-advance 1466s Apr 14 09:51:29 Scenario: check permanent physical slots that match with member names # features/permanent_slots.feature:34 1466s Apr 14 09:51:29 Given postgres-0 has a physical replication slot named postgres_3 after 2 seconds # features/steps/slots.py:82 1466s Apr 14 09:51:29 And postgres-1 has a physical replication slot named postgres_0 after 2 seconds # features/steps/slots.py:82 1466s Apr 14 09:51:29 And postgres-1 has a physical replication slot named postgres_2 after 2 seconds # features/steps/slots.py:82 1466s Apr 14 09:51:29 And postgres-1 has a physical replication slot named postgres_3 after 2 seconds # features/steps/slots.py:82 1466s Apr 14 09:51:29 And postgres-2 does not have a replication slot named postgres_0 # features/steps/slots.py:41 1466s Apr 14 09:51:29 And postgres-2 does not have a replication slot named postgres_1 # features/steps/slots.py:41 1467s Apr 14 09:51:29 And postgres-2 has a physical replication slot named postgres_3 after 2 seconds # features/steps/slots.py:82 1467s Apr 14 09:51:29 And postgres-3 has a physical replication slot named postgres_0 after 2 seconds # features/steps/slots.py:82 1467s Apr 14 09:51:29 And postgres-3 has a physical replication slot named postgres_1 after 2 seconds # features/steps/slots.py:82 1467s Apr 14 09:51:29 And postgres-3 has a physical replication slot named postgres_2 after 2 seconds # features/steps/slots.py:82 1467s Apr 14 09:51:29 1467s Apr 14 09:51:29 @slot-advance 1467s Apr 14 09:51:29 Scenario: check that permanent slots are advanced on replicas # features/permanent_slots.feature:47 1467s Apr 14 09:51:29 Given I add the table replicate_me to postgres-0 # features/steps/basic_replication.py:66 1467s Apr 14 09:51:29 When I get all changes from logical slot test_logical on postgres-0 # features/steps/slots.py:72 1467s Apr 14 09:51:29 And I get all changes from physical slot test_physical on postgres-0 # features/steps/slots.py:77 1467s Apr 14 09:51:29 Then Logical slot test_logical is in sync between postgres-0 and postgres-1 after 10 seconds # features/steps/slots.py:52 1470s Apr 14 09:51:32 And Physical slot test_physical is in sync between postgres-0 and postgres-1 after 10 seconds # features/steps/slots.py:52 1470s Apr 14 09:51:33 And Logical slot test_logical is in sync between postgres-0 and postgres-3 after 10 seconds # features/steps/slots.py:52 1470s Apr 14 09:51:33 And Physical slot test_physical is in sync between postgres-0 and postgres-3 after 10 seconds # features/steps/slots.py:52 1470s Apr 14 09:51:33 And Physical slot postgres_1 is in sync between postgres-0 and postgres-3 after 10 seconds # features/steps/slots.py:52 1470s Apr 14 09:51:33 And Physical slot postgres_3 is in sync between postgres-2 and postgres-0 after 20 seconds # features/steps/slots.py:52 1470s Apr 14 09:51:33 And Physical slot postgres_3 is in sync between postgres-2 and postgres-1 after 10 seconds # features/steps/slots.py:52 1470s Apr 14 09:51:33 1470s Apr 14 09:51:33 @slot-advance 1470s Apr 14 09:51:33 Scenario: check that permanent slots and member slots are written to the /status key # features/permanent_slots.feature:60 1470s Apr 14 09:51:33 Given "status" key in DCS has test_physical in slots # features/steps/slots.py:118 1470s Apr 14 09:51:33 And "status" key in DCS has postgres_0 in slots # features/steps/slots.py:118 1470s Apr 14 09:51:33 And "status" key in DCS has postgres_1 in slots # features/steps/slots.py:118 1470s Apr 14 09:51:33 And "status" key in DCS has postgres_2 in slots # features/steps/slots.py:118 1470s Apr 14 09:51:33 And "status" key in DCS has postgres_3 in slots # features/steps/slots.py:118 1470s Apr 14 09:51:33 1470s Apr 14 09:51:33 @slot-advance 1470s Apr 14 09:51:33 Scenario: check that only non-permanent member slots are written to the retain_slots in /status key # features/permanent_slots.feature:68 1470s Apr 14 09:51:33 Given "status" key in DCS has postgres_0 in retain_slots # features/steps/slots.py:118 1470s Apr 14 09:51:33 And "status" key in DCS has postgres_1 in retain_slots # features/steps/slots.py:118 1470s Apr 14 09:51:33 And "status" key in DCS has postgres_2 in retain_slots # features/steps/slots.py:118 1470s Apr 14 09:51:33 And "status" key in DCS does not have postgres_3 in retain_slots # features/steps/slots.py:124 1470s Apr 14 09:51:33 1470s Apr 14 09:51:33 Scenario: check permanent physical replication slot after failover # features/permanent_slots.feature:74 1470s Apr 14 09:51:33 Given I shut down postgres-3 # features/steps/basic_replication.py:41 1471s Apr 14 09:51:34 And I shut down postgres-2 # features/steps/basic_replication.py:41 1472s Apr 14 09:51:35 And I shut down postgres-0 # features/steps/basic_replication.py:41 1474s Apr 14 09:51:37 Then postgres-1 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:82 1474s Apr 14 09:51:37 And postgres-1 has a physical replication slot named postgres_0 after 10 seconds # features/steps/slots.py:82 1474s Apr 14 09:51:37 And postgres-1 has a physical replication slot named postgres_3 after 10 seconds # features/steps/slots.py:82 1474s Apr 14 09:51:37 When I start postgres-0 # features/steps/basic_replication.py:20 1476s Apr 14 09:51:39 Then postgres-0 role is the replica after 20 seconds # features/steps/basic_replication.py:117 1476s Apr 14 09:51:39 And physical replication slot named postgres_1 on postgres-0 has no xmin value after 10 seconds # features/steps/slots.py:98 1477s Apr 14 09:51:40 And postgres-0 has a physical replication slot named postgres_2 after 10 seconds # features/steps/slots.py:82 1477s Apr 14 09:51:40 And postgres-0 has a physical replication slot named postgres_3 after 10 seconds # features/steps/slots.py:82 1480s Apr 14 09:51:43 1480s Apr 14 09:51:43 Feature: priority replication # features/priority_failover.feature:1 1480s Apr 14 09:51:43 We should check that we can give nodes priority during failover 1480s Apr 14 09:51:43 Scenario: check failover priority 0 prevents leaderships # features/priority_failover.feature:4 1480s Apr 14 09:51:43 Given I configure and start postgres-0 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 1483s Apr 14 09:51:46 And I configure and start postgres-1 with a tag failover_priority 0 # features/steps/cascading_replication.py:7 1486s Apr 14 09:51:49 Then replication works from postgres-0 to postgres-1 after 20 seconds # features/steps/basic_replication.py:124 1487s Apr 14 09:51:50 When I shut down postgres-0 # features/steps/basic_replication.py:41 1489s Apr 14 09:51:52 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 1491s Apr 14 09:51:54 Then postgres-1 role is the secondary after 10 seconds # features/steps/basic_replication.py:117 1491s Apr 14 09:51:54 When I start postgres-0 # features/steps/basic_replication.py:20 1493s Apr 14 09:51:56 Then postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 1495s Apr 14 09:51:58 1495s Apr 14 09:51:58 Scenario: check higher failover priority is respected # features/priority_failover.feature:14 1495s Apr 14 09:51:58 Given I configure and start postgres-2 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 1498s Apr 14 09:52:01 And I configure and start postgres-3 with a tag failover_priority 2 # features/steps/cascading_replication.py:7 1501s Apr 14 09:52:04 Then replication works from postgres-0 to postgres-2 after 20 seconds # features/steps/basic_replication.py:124 1502s Apr 14 09:52:05 And replication works from postgres-0 to postgres-3 after 20 seconds # features/steps/basic_replication.py:124 1503s Apr 14 09:52:06 When I shut down postgres-0 # features/steps/basic_replication.py:41 1505s Apr 14 09:52:08 Then postgres-3 role is the primary after 10 seconds # features/steps/basic_replication.py:117 1505s Apr 14 09:52: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 1505s Apr 14 09:52:08 1505s Apr 14 09:52:08 Scenario: check conflicting configuration handling # features/priority_failover.feature:23 1505s Apr 14 09:52:08 When I set nofailover tag in postgres-2 config # features/steps/patroni_api.py:133 1505s Apr 14 09:52:08 And I issue an empty POST request to http://127.0.0.1:8010/reload # features/steps/patroni_api.py:68 1505s Apr 14 09:52:08 Then I receive a response code 202 # features/steps/patroni_api.py:100 1505s Apr 14 09:52: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 1507s Apr 14 09:52:10 And "members/postgres-2" key in DCS has tags={'failover_priority': '1', 'nofailover': True} after 10 seconds # features/steps/cascading_replication.py:23 1508s Apr 14 09:52: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 1508s Apr 14 09:52:11 Then I receive a response code 412 # features/steps/patroni_api.py:100 1508s Apr 14 09:52:11 And I receive a response text "failover is not possible: no good candidates have been found" # features/steps/patroni_api.py:100 1508s Apr 14 09:52:11 When I reset nofailover tag in postgres-1 config # features/steps/patroni_api.py:133 1508s Apr 14 09:52:11 And I issue an empty POST request to http://127.0.0.1:8009/reload # features/steps/patroni_api.py:68 1508s Apr 14 09:52:11 Then I receive a response code 202 # features/steps/patroni_api.py:100 1508s Apr 14 09:52: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 1509s Apr 14 09:52:12 And "members/postgres-1" key in DCS has tags={'failover_priority': '0', 'nofailover': False} after 10 seconds # features/steps/cascading_replication.py:23 1510s Apr 14 09:52: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 1514s Apr 14 09:52:16 Then I receive a response code 200 # features/steps/patroni_api.py:100 1514s Apr 14 09:52:16 And postgres-1 role is the primary after 10 seconds # features/steps/basic_replication.py:117 1518s Apr 14 09:52:21 1518s Apr 14 09:52:21 Feature: quorum commit # features/quorum_commit.feature:1 1518s Apr 14 09:52:21 Check basic workfrlows when quorum commit is enabled 1518s Apr 14 09:52:21 Scenario: check enable quorum commit and that the only leader promotes after restart # features/quorum_commit.feature:4 1518s Apr 14 09:52:21 Given I start postgres-0 # features/steps/basic_replication.py:20 1521s Apr 14 09:52:24 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 1521s Apr 14 09:52:24 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1521s Apr 14 09:52:24 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 1521s Apr 14 09:52:24 Then I receive a response code 200 # features/steps/patroni_api.py:100 1521s Apr 14 09:52:24 And sync key in DCS has leader=postgres-0 after 20 seconds # features/steps/quorum_commit.py:8 1521s Apr 14 09:52:24 And sync key in DCS has quorum=0 after 2 seconds # features/steps/quorum_commit.py:8 1521s Apr 14 09:52:24 And synchronous_standby_names on postgres-0 is set to '_empty_str_' after 2 seconds # features/steps/quorum_commit.py:39 1521s Apr 14 09:52:24 When I shut down postgres-0 # features/steps/basic_replication.py:41 1522s Apr 14 09:52:25 And sync key in DCS has leader=postgres-0 after 2 seconds # features/steps/quorum_commit.py:8 1522s Apr 14 09:52:25 When I start postgres-0 # features/steps/basic_replication.py:20 1524s Apr 14 09:52:27 Then postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 1525s Apr 14 09:52:28 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 1525s Apr 14 09:52:28 Then synchronous_standby_names on postgres-0 is set to 'ANY 1 (*)' after 10 seconds # features/steps/quorum_commit.py:39 1525s Apr 14 09:52:28 1525s Apr 14 09:52:28 Scenario: check failover with one quorum standby # features/quorum_commit.feature:20 1525s Apr 14 09:52:28 Given I start postgres-1 # features/steps/basic_replication.py:20 1528s Apr 14 09:52:31 Then sync key in DCS has sync_standby=postgres-1 after 10 seconds # features/steps/quorum_commit.py:8 1530s Apr 14 09:52:33 And synchronous_standby_names on postgres-0 is set to 'ANY 1 ("postgres-1")' after 2 seconds # features/steps/quorum_commit.py:39 1530s Apr 14 09:52:33 When I shut down postgres-0 # features/steps/basic_replication.py:41 1532s Apr 14 09:52:35 Then postgres-1 role is the primary after 10 seconds # features/steps/basic_replication.py:117 1533s Apr 14 09:52:36 And sync key in DCS has quorum=0 after 10 seconds # features/steps/quorum_commit.py:8 1533s Apr 14 09:52:36 Then synchronous_standby_names on postgres-1 is set to 'ANY 1 (*)' after 10 seconds # features/steps/quorum_commit.py:39 1536s Apr 14 09:52:39 When I start postgres-0 # features/steps/basic_replication.py:20 1538s Apr 14 09:52:41 Then sync key in DCS has leader=postgres-1 after 10 seconds # features/steps/quorum_commit.py:8 1538s Apr 14 09:52:41 Then sync key in DCS has sync_standby=postgres-0 after 10 seconds # features/steps/quorum_commit.py:8 1541s Apr 14 09:52:44 And synchronous_standby_names on postgres-1 is set to 'ANY 1 ("postgres-0")' after 2 seconds # features/steps/quorum_commit.py:39 1541s Apr 14 09:52:44 1541s Apr 14 09:52:44 Scenario: check behavior with three nodes and different replication factor # features/quorum_commit.feature:33 1541s Apr 14 09:52:44 Given I start postgres-2 # features/steps/basic_replication.py:20 1544s Apr 14 09:52:47 Then sync key in DCS has sync_standby=postgres-0,postgres-2 after 10 seconds # features/steps/quorum_commit.py:8 1545s Apr 14 09:52:48 And sync key in DCS has quorum=1 after 2 seconds # features/steps/quorum_commit.py:8 1545s Apr 14 09:52:48 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 1545s Apr 14 09:52:48 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 1545s Apr 14 09:52:48 Then sync key in DCS has quorum=0 after 10 seconds # features/steps/quorum_commit.py:8 1546s Apr 14 09:52:49 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 1546s Apr 14 09:52:49 1546s Apr 14 09:52:49 Scenario: switch from quorum replication to good old multisync and back # features/quorum_commit.feature:42 1546s Apr 14 09:52:49 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 1546s Apr 14 09:52:49 And I shut down postgres-0 # features/steps/basic_replication.py:41 1547s Apr 14 09:52:50 Then synchronous_standby_names on postgres-1 is set to '"postgres-2"' after 10 seconds # features/steps/quorum_commit.py:39 1549s Apr 14 09:52:52 And sync key in DCS has sync_standby=postgres-2 after 10 seconds # features/steps/quorum_commit.py:8 1551s Apr 14 09:52:54 Then sync key in DCS has quorum=0 after 2 seconds # features/steps/quorum_commit.py:8 1551s Apr 14 09:52:54 When I issue a PATCH request to http://127.0.0.1:8009/config with {"synchronous_mode": "quorum"} # features/steps/patroni_api.py:73 1551s Apr 14 09:52:54 And I start postgres-0 # features/steps/basic_replication.py:20 1553s Apr 14 09:52:56 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 1554s Apr 14 09:52:57 And sync key in DCS has sync_standby=postgres-0,postgres-2 after 10 seconds # features/steps/quorum_commit.py:8 1554s Apr 14 09:52:57 Then sync key in DCS has quorum=1 after 2 seconds # features/steps/quorum_commit.py:8 1554s Apr 14 09:52:57 1554s Apr 14 09:52:57 Scenario: REST API and patronictl # features/quorum_commit.feature:54 1554s Apr 14 09:52:57 Given I run patronictl.py list batman # features/steps/patroni_api.py:88 1555s Apr 14 09:52:58 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 1555s Apr 14 09:52:58 And I receive a response output "Quorum Standby" # features/steps/patroni_api.py:100 1555s Apr 14 09:52:58 And Status code on GET http://127.0.0.1:8008/quorum is 200 after 3 seconds # features/steps/patroni_api.py:144 1555s Apr 14 09:52:58 And Status code on GET http://127.0.0.1:8010/quorum is 200 after 3 seconds # features/steps/patroni_api.py:144 1555s Apr 14 09:52:58 1555s Apr 14 09:52:58 Scenario: nosync node is removed from voters and synchronous_standby_names # features/quorum_commit.feature:61 1555s Apr 14 09:52:58 Given I add tag nosync true to postgres-2 config # features/steps/patroni_api.py:139 1555s Apr 14 09:52:58 When I issue an empty POST request to http://127.0.0.1:8010/reload # features/steps/patroni_api.py:68 1555s Apr 14 09:52:58 Then I receive a response code 202 # features/steps/patroni_api.py:100 1555s Apr 14 09:52:58 And sync key in DCS has quorum=0 after 10 seconds # features/steps/quorum_commit.py:8 1559s Apr 14 09:53:02 And sync key in DCS has sync_standby=postgres-0 after 10 seconds # features/steps/quorum_commit.py:8 1559s Apr 14 09:53:02 And synchronous_standby_names on postgres-1 is set to 'ANY 1 ("postgres-0")' after 2 seconds # features/steps/quorum_commit.py:39 1559s Apr 14 09:53:02 And Status code on GET http://127.0.0.1:8010/quorum is 503 after 10 seconds # features/steps/patroni_api.py:144 1566s Apr 14 09:53:09 1566s Apr 14 09:53:09 Feature: recovery # features/recovery.feature:1 1566s Apr 14 09:53:09 We want to check that crashed postgres is started back 1566s Apr 14 09:53:09 Scenario: check that timeline is not incremented when primary is started after crash # features/recovery.feature:4 1566s Apr 14 09:53:09 Given I start postgres-0 # features/steps/basic_replication.py:20 1569s Apr 14 09:53:12 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 1569s Apr 14 09:53:12 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1569s Apr 14 09:53:12 When I start postgres-1 # features/steps/basic_replication.py:20 1572s Apr 14 09:53:15 And I add the table foo to postgres-0 # features/steps/basic_replication.py:66 1572s Apr 14 09:53:15 Then table foo is present on postgres-1 after 20 seconds # features/steps/basic_replication.py:105 1573s Apr 14 09:53:16 When I kill postmaster on postgres-0 # features/steps/basic_replication.py:56 1573s Apr 14 09:53:16 waiting for server to shut down.... done 1573s Apr 14 09:53:16 server stopped 1573s Apr 14 09:53:16 Then postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 1575s Apr 14 09:53:18 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:63 1575s Apr 14 09:53:18 Then I receive a response code 200 # features/steps/patroni_api.py:100 1575s Apr 14 09:53:18 And I receive a response role primary # features/steps/patroni_api.py:100 1575s Apr 14 09:53:18 And I receive a response timeline 1 # features/steps/patroni_api.py:100 1575s Apr 14 09:53:18 And "members/postgres-0" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 1576s Apr 14 09:53:19 And replication works from postgres-0 to postgres-1 after 15 seconds # features/steps/basic_replication.py:124 1579s Apr 14 09:53:22 1579s Apr 14 09:53:22 Scenario: check immediate failover when master_start_timeout=0 # features/recovery.feature:20 1579s Apr 14 09:53: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 1579s Apr 14 09:53:22 Then I receive a response code 200 # features/steps/patroni_api.py:100 1579s Apr 14 09:53: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 1579s Apr 14 09:53:22 When I kill postmaster on postgres-0 # features/steps/basic_replication.py:56 1579s Apr 14 09:53:22 waiting for server to shut down.... done 1579s Apr 14 09:53:22 server stopped 1579s Apr 14 09:53:22 Then postgres-1 is a leader after 10 seconds # features/steps/patroni_api.py:31 1581s Apr 14 09:53:24 And postgres-1 role is the primary after 10 seconds # features/steps/basic_replication.py:117 1582s Apr 14 09:53:25 1582s Apr 14 09:53:25 Scenario: check crashed primary demotes after failed attempt to start # features/recovery.feature:28 1582s Apr 14 09:53: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 1582s Apr 14 09:53:25 Then I receive a response code 200 # features/steps/patroni_api.py:100 1582s Apr 14 09:53:25 And postgres-0 role is the replica after 10 seconds # features/steps/basic_replication.py:117 1584s Apr 14 09:53:27 When I ensure postgres-1 fails to start after a failure # features/steps/recovery.py:6 1584s Apr 14 09:53:27 When I kill postmaster on postgres-1 # features/steps/basic_replication.py:56 1584s Apr 14 09:53:27 waiting for server to shut down.... done 1584s Apr 14 09:53:27 server stopped 1584s Apr 14 09:53:27 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 1587s Apr 14 09:53:30 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 1590s Apr 14 09:53:33 1590s Apr 14 09:53:33 Feature: standby cluster # features/standby_cluster.feature:1 1590s Apr 14 09:53:33 1590s Apr 14 09:53:33 Scenario: prepare the cluster with logical slots # features/standby_cluster.feature:2 1590s Apr 14 09:53:33 Given I start postgres-1 # features/steps/basic_replication.py:20 1593s Apr 14 09:53:36 Then postgres-1 is a leader after 10 seconds # features/steps/patroni_api.py:31 1593s Apr 14 09:53:36 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1593s Apr 14 09:53:36 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 1594s Apr 14 09:53:36 Then I receive a response code 200 # features/steps/patroni_api.py:100 1594s Apr 14 09:53:36 And Response on GET http://127.0.0.1:8009/config contains slots after 10 seconds # features/steps/patroni_api.py:158 1594s Apr 14 09:53:37 And I sleep for 3 seconds # features/steps/patroni_api.py:41 1597s Apr 14 09:53:40 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 1597s Apr 14 09:53:40 Then I receive a response code 200 # features/steps/patroni_api.py:100 1597s Apr 14 09:53:40 And I do a backup of postgres-1 # features/steps/custom_bootstrap.py:25 1597s Apr 14 09:53:40 When I start postgres-0 # features/steps/basic_replication.py:20 1600s Apr 14 09:53:43 Then "members/postgres-0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1600s Apr 14 09:53:43 And replication works from postgres-1 to postgres-0 after 15 seconds # features/steps/basic_replication.py:124 1601s Apr 14 09:53:44 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:63 1601s Apr 14 09:53:44 Then I receive a response code 200 # features/steps/patroni_api.py:100 1601s Apr 14 09:53:44 And I receive a response replication_state streaming # features/steps/patroni_api.py:100 1601s Apr 14 09:53:44 And "members/postgres-0" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 1602s Apr 14 09:53:45 1602s Apr 14 09:53:45 @slot-advance 1602s Apr 14 09:53:45 Scenario: check permanent logical slots are synced to the replica # features/standby_cluster.feature:22 1602s Apr 14 09:53:45 Given I run patronictl.py restart batman postgres-1 --force # features/steps/patroni_api.py:88 1604s Apr 14 09:53:47 Then Logical slot test_logical is in sync between postgres-0 and postgres-1 after 10 seconds # features/steps/slots.py:52 1610s Apr 14 09:53:53 1610s Apr 14 09:53:53 Scenario: Detach exiting node from the cluster # features/standby_cluster.feature:26 1610s Apr 14 09:53:53 When I shut down postgres-1 # features/steps/basic_replication.py:41 1612s Apr 14 09:53:55 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 1612s Apr 14 09:53:55 And "members/postgres-0" key in DCS has role=primary after 5 seconds # features/steps/cascading_replication.py:23 1613s Apr 14 09:53:56 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:63 1613s Apr 14 09:53:56 Then I receive a response code 200 # features/steps/patroni_api.py:100 1613s Apr 14 09:53:56 1613s Apr 14 09:53:56 Scenario: check replication of a single table in a standby cluster # features/standby_cluster.feature:33 1613s Apr 14 09:53:56 Given I start postgres-1 in a standby cluster batman1 as a clone of postgres-0 # features/steps/standby_cluster.py:23 1616s Apr 14 09:53:59 Then postgres-1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 1616s Apr 14 09:53:59 When I add the table foo to postgres-0 # features/steps/basic_replication.py:66 1616s Apr 14 09:53:59 Then table foo is present on postgres-1 after 20 seconds # features/steps/basic_replication.py:105 1616s Apr 14 09:53:59 When I issue a GET request to http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:63 1616s Apr 14 09:53:59 Then I receive a response code 200 # features/steps/patroni_api.py:100 1616s Apr 14 09:53:59 And I receive a response replication_state streaming # features/steps/patroni_api.py:100 1616s Apr 14 09:53:59 And I sleep for 3 seconds # features/steps/patroni_api.py:41 1619s Apr 14 09:54:02 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:63 1619s Apr 14 09:54:02 Then I receive a response code 503 # features/steps/patroni_api.py:100 1619s Apr 14 09:54:02 When I issue a GET request to http://127.0.0.1:8009/standby_leader # features/steps/patroni_api.py:63 1619s Apr 14 09:54:02 Then I receive a response code 200 # features/steps/patroni_api.py:100 1619s Apr 14 09:54:02 And I receive a response role standby_leader # features/steps/patroni_api.py:100 1619s Apr 14 09:54:02 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 1619s Apr 14 09:54:02 When I start postgres-2 in a cluster batman1 # features/steps/standby_cluster.py:12 1622s Apr 14 09:54:05 Then postgres-2 role is the replica after 24 seconds # features/steps/basic_replication.py:117 1622s Apr 14 09:54:05 And postgres-2 is replicating from postgres-1 after 10 seconds # features/steps/standby_cluster.py:52 1622s Apr 14 09:54:05 And table foo is present on postgres-2 after 20 seconds # features/steps/basic_replication.py:105 1622s Apr 14 09:54:05 When I issue a GET request to http://127.0.0.1:8010/patroni # features/steps/patroni_api.py:63 1622s Apr 14 09:54:05 Then I receive a response code 200 # features/steps/patroni_api.py:100 1622s Apr 14 09:54:05 And I receive a response replication_state streaming # features/steps/patroni_api.py:100 1622s Apr 14 09:54:05 And postgres-1 does not have a replication slot named test_logical # features/steps/slots.py:41 1622s Apr 14 09:54:05 1622s Apr 14 09:54:05 Scenario: check switchover # features/standby_cluster.feature:57 1622s Apr 14 09:54:05 Given I run patronictl.py switchover batman1 --force # features/steps/patroni_api.py:88 1625s Apr 14 09:54:08 Then Status code on GET http://127.0.0.1:8010/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:144 1625s Apr 14 09:54:08 And postgres-1 is replicating from postgres-2 after 32 seconds # features/steps/standby_cluster.py:52 1627s Apr 14 09:54:10 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 1627s Apr 14 09:54:10 1627s Apr 14 09:54:10 Scenario: check failover # features/standby_cluster.feature:63 1627s Apr 14 09:54:10 When I kill postgres-2 # features/steps/basic_replication.py:46 1628s Apr 14 09:54:11 And I kill postmaster on postgres-2 # features/steps/basic_replication.py:56 1628s Apr 14 09:54:11 waiting for server to shut down.... done 1628s Apr 14 09:54:11 server stopped 1628s Apr 14 09:54:11 Then postgres-1 is replicating from postgres-0 after 32 seconds # features/steps/standby_cluster.py:52 1648s Apr 14 09:54:31 And Status code on GET http://127.0.0.1:8009/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:144 1648s Apr 14 09:54:31 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:63 1648s Apr 14 09:54:31 Then I receive a response code 503 # features/steps/patroni_api.py:100 1648s Apr 14 09:54:31 And I receive a response role standby_leader # features/steps/patroni_api.py:100 1648s Apr 14 09:54:31 And replication works from postgres-0 to postgres-1 after 15 seconds # features/steps/basic_replication.py:124 1649s Apr 14 09:54:32 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 1654s Apr 14 09:54:37 1654s Apr 14 09:54:37 Feature: watchdog # features/watchdog.feature:1 1654s Apr 14 09:54:37 Verify that watchdog gets pinged and triggered under appropriate circumstances. 1654s Apr 14 09:54:37 Scenario: watchdog is opened and pinged # features/watchdog.feature:4 1654s Apr 14 09:54:37 Given I start postgres-0 with watchdog # features/steps/watchdog.py:17 1656s Apr 14 09:54:39 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 1657s Apr 14 09:54:40 And postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 1657s Apr 14 09:54:40 And postgres-0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:22 1658s Apr 14 09:54:41 And postgres-0 watchdog has a 15 second timeout # features/steps/watchdog.py:35 1658s Apr 14 09:54:41 1658s Apr 14 09:54:41 Scenario: watchdog is reconfigured after global ttl changed # features/watchdog.feature:11 1658s Apr 14 09:54:41 Given I run patronictl.py edit-config batman -s ttl=30 --force # features/steps/patroni_api.py:88 1659s Apr 14 09:54:42 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 1659s Apr 14 09:54:42 And I receive a response output "+ttl: 30" # features/steps/patroni_api.py:100 1659s Apr 14 09:54:42 When I sleep for 4 seconds # features/steps/patroni_api.py:41 1663s Apr 14 09:54:46 Then postgres-0 watchdog has a 25 second timeout # features/steps/watchdog.py:35 1663s Apr 14 09:54:46 1663s Apr 14 09:54:46 Scenario: watchdog is disabled during pause # features/watchdog.feature:18 1663s Apr 14 09:54:46 Given I run patronictl.py pause batman # features/steps/patroni_api.py:88 1664s Apr 14 09:54:47 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 1664s Apr 14 09:54:47 When I sleep for 2 seconds # features/steps/patroni_api.py:41 1666s Apr 14 09:54:49 Then postgres-0 watchdog has been closed # features/steps/watchdog.py:30 1666s Apr 14 09:54:49 1666s Apr 14 09:54:49 Scenario: watchdog is opened and pinged after resume # features/watchdog.feature:24 1666s Apr 14 09:54:49 Given I reset postgres-0 watchdog state # features/steps/watchdog.py:40 1666s Apr 14 09:54:49 And I run patronictl.py resume batman # features/steps/patroni_api.py:88 1667s Apr 14 09:54:50 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 1667s Apr 14 09:54:50 And postgres-0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:22 1667s Apr 14 09:54:50 1667s Apr 14 09:54:50 Scenario: watchdog is disabled when shutting down # features/watchdog.feature:30 1667s Apr 14 09:54:50 Given I shut down postgres-0 # features/steps/basic_replication.py:41 1669s Apr 14 09:54:52 Then postgres-0 watchdog has been closed # features/steps/watchdog.py:30 1669s Apr 14 09:54:52 1669s Apr 14 09:54:52 Scenario: watchdog is triggered if patroni stops responding # features/watchdog.feature:34 1669s Apr 14 09:54:52 Given I reset postgres-0 watchdog state # features/steps/watchdog.py:40 1669s Apr 14 09:54:52 And I start postgres-0 with watchdog # features/steps/watchdog.py:17 1671s Apr 14 09:54:54 Then postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 1673s Apr 14 09:54:56 When postgres-0 hangs for 30 seconds # features/steps/watchdog.py:53 1673s Apr 14 09:54:56 Then postgres-0 watchdog is triggered after 30 seconds # features/steps/watchdog.py:45 1700s Apr 14 09:55:23 1700s Apr 14 09:55:23 Combined data file .coverage.autopkgtest.10008.XfIHYUMx 1700s Apr 14 09:55:23 Combined data file .coverage.autopkgtest.10053.XEyvVmpx 1700s Apr 14 09:55:23 Combined data file .coverage.autopkgtest.10296.XapUkQxx 1700s Apr 14 09:55:23 Combined data file .coverage.autopkgtest.10360.XIijhlfx 1700s Apr 14 09:55:23 Combined data file .coverage.autopkgtest.10429.XSwogZux 1700s Apr 14 09:55:23 Combined data file .coverage.autopkgtest.10536.XBnsAjEx 1700s Apr 14 09:55:23 Combined data file .coverage.autopkgtest.10661.XhdNEDmx 1700s Apr 14 09:55:23 Combined data file .coverage.autopkgtest.10857.XYJKFSEx 1700s Apr 14 09:55:23 Combined data file .coverage.autopkgtest.10905.XKHBfnsx 1700s Apr 14 09:55:23 Combined data file .coverage.autopkgtest.10912.XmsyufUx 1700s Apr 14 09:55:23 Combined data file .coverage.autopkgtest.10918.XrNCLnEx 1700s Apr 14 09:55:23 Combined data file .coverage.autopkgtest.10934.XaLhItxx 1700s Apr 14 09:55:23 Combined data file .coverage.autopkgtest.6363.XZnZSISx 1700s Apr 14 09:55:23 Combined data file .coverage.autopkgtest.6410.XxTCyXix 1700s Apr 14 09:55:23 Combined data file .coverage.autopkgtest.6465.XGelYrrx 1700s Apr 14 09:55:23 Combined data file .coverage.autopkgtest.6520.XqpUCqdx 1700s Apr 14 09:55:23 Combined data file .coverage.autopkgtest.6568.XTSKmoIx 1700s Apr 14 09:55:23 Combined data file .coverage.autopkgtest.6642.XGYuDFQx 1700s Apr 14 09:55:23 Combined data file .coverage.autopkgtest.6693.XokLYgcx 1700s Apr 14 09:55:23 Combined data file .coverage.autopkgtest.6698.XVzelHix 1700s Apr 14 09:55:23 Combined data file .coverage.autopkgtest.6786.XeVXaLTx 1700s Apr 14 09:55:23 Combined data file .coverage.autopkgtest.6887.XAeTHAkx 1700s Apr 14 09:55:23 Combined data file .coverage.autopkgtest.6900.XwvLErZx 1700s Apr 14 09:55:23 Combined data file .coverage.autopkgtest.6945.XSgocbKx 1700s Apr 14 09:55:23 Combined data file .coverage.autopkgtest.6996.XLURFEox 1700s Apr 14 09:55:23 Combined data file .coverage.autopkgtest.7122.XsFPfdjx 1700s Apr 14 09:55:23 Combined data file .coverage.autopkgtest.7169.XkZegcTx 1700s Apr 14 09:55:23 Combined data file .coverage.autopkgtest.7226.XjVDaJdx 1700s Apr 14 09:55:23 Combined data file .coverage.autopkgtest.7327.XwrRnqTx 1700s Apr 14 09:55:23 Combined data file .coverage.autopkgtest.7384.XdRIrlGx 1700s Apr 14 09:55:23 Combined data file .coverage.autopkgtest.7448.XKzUcxZx 1700s Apr 14 09:55:23 Combined data file .coverage.autopkgtest.7543.XzGjRyJx 1700s Apr 14 09:55:23 Combined data file .coverage.autopkgtest.7647.XxkJopPx 1700s Apr 14 09:55:23 Combined data file .coverage.autopkgtest.7692.XbsMqlqx 1700s Apr 14 09:55:23 Combined data file .coverage.autopkgtest.7758.XUpvJigx 1700s Apr 14 09:55:23 Combined data file .coverage.autopkgtest.7793.XloOqOBx 1700s Apr 14 09:55:23 Combined data file .coverage.autopkgtest.7973.XBBMKyrx 1700s Apr 14 09:55:23 Combined data file .coverage.autopkgtest.8024.XGvmUQLx 1700s Apr 14 09:55:23 Combined data file .coverage.autopkgtest.8048.XNjmwLpx 1700s Apr 14 09:55:23 Combined data file .coverage.autopkgtest.8091.XkxvWmqx 1700s Apr 14 09:55:23 Skipping duplicate data .coverage.autopkgtest.8145.XQfoDoTx 1700s Apr 14 09:55:23 Combined data file .coverage.autopkgtest.8152.XirVFJwx 1700s Apr 14 09:55:23 Combined data file .coverage.autopkgtest.8191.XGPGYgDx 1700s Apr 14 09:55:23 Combined data file .coverage.autopkgtest.8237.XtvbNtNx 1700s Apr 14 09:55:23 Combined data file .coverage.autopkgtest.8407.XQjglWLx 1700s Apr 14 09:55:23 Combined data file .coverage.autopkgtest.8412.XwIYRiPx 1700s Apr 14 09:55:23 Combined data file .coverage.autopkgtest.8420.XvEIjKux 1700s Apr 14 09:55:23 Combined data file .coverage.autopkgtest.8565.XCiDvdqx 1700s Apr 14 09:55:23 Combined data file .coverage.autopkgtest.8613.XcGjmNJx 1700s Apr 14 09:55:23 Combined data file .coverage.autopkgtest.8663.XvnvKTsx 1700s Apr 14 09:55:23 Combined data file .coverage.autopkgtest.8718.XnbgrDHx 1700s Apr 14 09:55:23 Combined data file .coverage.autopkgtest.8773.XYvZWfJx 1700s Apr 14 09:55:23 Combined data file .coverage.autopkgtest.8928.XRITZXXx 1700s Apr 14 09:55:23 Combined data file .coverage.autopkgtest.8997.XqcvzCLx 1700s Apr 14 09:55:23 Combined data file .coverage.autopkgtest.9042.XzoodYjx 1700s Apr 14 09:55:23 Combined data file .coverage.autopkgtest.9120.XSmbowBx 1700s Apr 14 09:55:23 Combined data file .coverage.autopkgtest.9206.XUiSseVx 1700s Apr 14 09:55:23 Combined data file .coverage.autopkgtest.9262.XmSepmdx 1700s Apr 14 09:55:23 Combined data file .coverage.autopkgtest.9596.XJYKyhUx 1700s Apr 14 09:55:23 Combined data file .coverage.autopkgtest.9648.XTAfEtjx 1700s Apr 14 09:55:23 Combined data file .coverage.autopkgtest.9710.XcBbfCmx 1700s Apr 14 09:55:23 Combined data file .coverage.autopkgtest.9809.XCYtnZPx 1700s Apr 14 09:55:23 Combined data file .coverage.autopkgtest.9859.XvNOJiVx 1700s Apr 14 09:55:23 Combined data file .coverage.autopkgtest.9920.XOJazVox 1700s Apr 14 09:55:23 Combined data file .coverage.autopkgtest.9965.XrJONDWx 1703s Apr 14 09:55:26 Name Stmts Miss Cover 1703s Apr 14 09:55:26 -------------------------------------------------------------------------------------------------------- 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 101 96 5% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/dateutil/__init__.py 13 4 69% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/dateutil/_version.py 13 3 77% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 810 436 46% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 183 150 18% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 240 206 14% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 151 114 25% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 794 626 21% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/dateutil/tz/win.py 152 149 2% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/kazoo/__init__.py 1 0 100% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/kazoo/client.py 629 263 58% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/kazoo/exceptions.py 110 1 99% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/kazoo/handlers/__init__.py 0 0 100% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/kazoo/handlers/threading.py 94 15 84% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/kazoo/handlers/utils.py 222 75 66% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/kazoo/hosts.py 18 4 78% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/kazoo/loggingsupport.py 1 0 100% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/kazoo/protocol/__init__.py 0 0 100% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/kazoo/protocol/connection.py 485 176 64% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/kazoo/protocol/paths.py 33 8 76% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/kazoo/protocol/serialization.py 316 111 65% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/kazoo/protocol/states.py 49 9 82% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/kazoo/python2atexit.py 32 19 41% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/kazoo/recipe/__init__.py 0 0 100% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/kazoo/recipe/barrier.py 97 80 18% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/kazoo/recipe/counter.py 49 36 27% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/kazoo/recipe/election.py 16 10 38% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/kazoo/recipe/lease.py 54 36 33% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/kazoo/recipe/lock.py 295 242 18% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/kazoo/recipe/partitioner.py 155 120 23% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/kazoo/recipe/party.py 62 43 31% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/kazoo/recipe/queue.py 157 126 20% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/kazoo/recipe/watchers.py 172 138 20% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/kazoo/retry.py 60 9 85% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/kazoo/security.py 58 35 40% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/kazoo/version.py 1 0 100% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/patroni/__main__.py 201 64 68% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/patroni/api.py 788 296 62% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 15 84% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/patroni/collections.py 56 5 91% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/patroni/config.py 357 82 77% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/patroni/config_generator.py 212 159 25% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/patroni/daemon.py 76 3 96% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 710 109 85% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/patroni/dcs/zookeeper.py 289 65 78% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/patroni/dynamic_loader.py 35 7 80% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/patroni/file_perm.py 47 10 79% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/patroni/global_config.py 87 0 100% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/patroni/ha.py 1359 380 72% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/patroni/log.py 235 79 66% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 825 165 80% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/patroni/postgresql/available_parameters/__init__.py 24 3 88% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 254 60 76% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 840 214 75% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 1 99% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 43 8 81% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/patroni/postgresql/mpp/__init__.py 89 11 88% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 83 51% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 416 127 69% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 349 41 88% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 154 10 94% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 157 24 85% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/patroni/psycopg.py 46 19 59% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/patroni/quorum.py 182 48 74% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/patroni/request.py 58 7 88% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/patroni/tags.py 38 0 100% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/patroni/utils.py 371 122 67% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/patroni/validator.py 309 215 30% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 46 77% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 35 74% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/psutil/__init__.py 950 629 34% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/psutil/_common.py 422 212 50% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/psutil/_compat.py 301 263 13% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1250 924 26% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/psutil/_psposix.py 95 38 60% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/puresasl/__init__.py 21 2 90% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/puresasl/client.py 71 47 34% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/puresasl/mechanisms.py 363 263 28% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/six.py 505 259 49% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/urllib3/__init__.py 49 15 69% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 63 45 29% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/urllib3/_collections.py 231 125 46% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 54 24 56% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/urllib3/_version.py 13 3 77% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/urllib3/connection.py 389 149 62% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 344 130 62% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/urllib3/exceptions.py 121 39 68% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/urllib3/http2/__init__.py 28 21 25% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/urllib3/http2/probe.py 49 31 37% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 88 62% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/urllib3/response.py 634 393 38% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 9 86% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 52 50% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 17 47% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/urllib3/util/retry.py 174 53 70% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 172 73 58% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 152 106 30% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 19 73% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/urllib3/util/url.py 203 76 63% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 18 31% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 38 22% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/yaml/parser.py 352 180 49% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/yaml/reader.py 122 30 75% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/yaml/scanner.py 758 415 45% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 1703s Apr 14 09:55:26 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 1703s Apr 14 09:55:26 patroni/__init__.py 13 2 85% 1703s Apr 14 09:55:26 patroni/__main__.py 201 201 0% 1703s Apr 14 09:55:26 patroni/api.py 788 788 0% 1703s Apr 14 09:55:26 patroni/async_executor.py 96 69 28% 1703s Apr 14 09:55:26 patroni/collections.py 56 15 73% 1703s Apr 14 09:55:26 patroni/config.py 357 184 48% 1703s Apr 14 09:55:26 patroni/config_generator.py 212 212 0% 1703s Apr 14 09:55:26 patroni/ctl.py 936 395 58% 1703s Apr 14 09:55:26 patroni/daemon.py 76 76 0% 1703s Apr 14 09:55:26 patroni/dcs/__init__.py 710 317 55% 1703s Apr 14 09:55:26 patroni/dcs/consul.py 482 482 0% 1703s Apr 14 09:55:26 patroni/dcs/etcd3.py 679 679 0% 1703s Apr 14 09:55:26 patroni/dcs/etcd.py 603 603 0% 1703s Apr 14 09:55:26 patroni/dcs/exhibitor.py 62 62 0% 1703s Apr 14 09:55:26 patroni/dcs/kubernetes.py 943 943 0% 1703s Apr 14 09:55:26 patroni/dcs/raft.py 319 319 0% 1703s Apr 14 09:55:26 patroni/dcs/zookeeper.py 289 150 48% 1703s Apr 14 09:55:26 patroni/dynamic_loader.py 35 7 80% 1703s Apr 14 09:55:26 patroni/exceptions.py 16 1 94% 1703s Apr 14 09:55:26 patroni/file_perm.py 47 17 64% 1703s Apr 14 09:55:26 patroni/global_config.py 87 19 78% 1703s Apr 14 09:55:26 patroni/ha.py 1359 1359 0% 1703s Apr 14 09:55:26 patroni/log.py 235 183 22% 1703s Apr 14 09:55:26 patroni/postgresql/__init__.py 825 653 21% 1703s Apr 14 09:55:26 patroni/postgresql/available_parameters/__init__.py 24 6 75% 1703s Apr 14 09:55:26 patroni/postgresql/bootstrap.py 254 224 12% 1703s Apr 14 09:55:26 patroni/postgresql/callback_executor.py 55 34 38% 1703s Apr 14 09:55:26 patroni/postgresql/cancellable.py 104 84 19% 1703s Apr 14 09:55:26 patroni/postgresql/config.py 840 720 14% 1703s Apr 14 09:55:26 patroni/postgresql/connection.py 75 50 33% 1703s Apr 14 09:55:26 patroni/postgresql/misc.py 43 30 30% 1703s Apr 14 09:55:26 patroni/postgresql/mpp/__init__.py 89 21 76% 1703s Apr 14 09:55:26 patroni/postgresql/mpp/citus.py 366 366 0% 1703s Apr 14 09:55:26 patroni/postgresql/postmaster.py 170 139 18% 1703s Apr 14 09:55:26 patroni/postgresql/rewind.py 416 416 0% 1703s Apr 14 09:55:26 patroni/postgresql/slots.py 349 300 14% 1703s Apr 14 09:55:26 patroni/postgresql/sync.py 154 114 26% 1703s Apr 14 09:55:26 patroni/postgresql/validator.py 157 52 67% 1703s Apr 14 09:55:26 patroni/psycopg.py 46 32 30% 1703s Apr 14 09:55:26 patroni/quorum.py 182 182 0% 1703s Apr 14 09:55:26 patroni/raft_controller.py 22 22 0% 1703s Apr 14 09:55:26 patroni/request.py 58 6 90% 1703s Apr 14 09:55:26 patroni/scripts/__init__.py 0 0 100% 1703s Apr 14 09:55:26 patroni/scripts/aws.py 59 59 0% 1703s Apr 14 09:55:26 patroni/scripts/barman/__init__.py 0 0 100% 1703s Apr 14 09:55:26 patroni/scripts/barman/cli.py 50 50 0% 1703s Apr 14 09:55:26 patroni/scripts/barman/config_switch.py 50 50 0% 1703s Apr 14 09:55:26 patroni/scripts/barman/recover.py 36 36 0% 1703s Apr 14 09:55:26 patroni/scripts/barman/utils.py 93 93 0% 1703s Apr 14 09:55:26 patroni/scripts/wale_restore.py 207 207 0% 1703s Apr 14 09:55:26 patroni/tags.py 38 11 71% 1703s Apr 14 09:55:26 patroni/utils.py 371 244 34% 1703s Apr 14 09:55:26 patroni/validator.py 309 222 28% 1703s Apr 14 09:55:26 patroni/version.py 1 0 100% 1703s Apr 14 09:55:26 patroni/watchdog/__init__.py 2 2 0% 1703s Apr 14 09:55:26 patroni/watchdog/base.py 203 203 0% 1703s Apr 14 09:55:26 patroni/watchdog/linux.py 135 135 0% 1703s Apr 14 09:55:26 -------------------------------------------------------------------------------------------------------- 1703s Apr 14 09:55:26 TOTAL 41108 24587 40% 1703s Apr 14 09:55:26 12 features passed, 0 failed, 1 skipped 1703s Apr 14 09:55:26 53 scenarios passed, 0 failed, 5 skipped 1703s Apr 14 09:55:26 517 steps passed, 0 failed, 68 skipped, 0 undefined 1703s Apr 14 09:55:26 Took 7m31.906s 1703s + su postgres -p -c 'rm -rf features/output' 1703s ### End 17 acceptance-zookeeper -e dcs_failsafe_mode ### 1703s + echo '### End 17 acceptance-zookeeper -e dcs_failsafe_mode ###' 1703s + rm -f /tmp/pgpass_postgres-0 /tmp/pgpass_postgres-1 /tmp/pgpass_postgres-2 /tmp/pgpass_postgres-3 1703s ++ id -u 1703s + '[' 0 -eq 0 ']' 1703s + '[' -x /etc/init.d/zookeeper ']' 1703s + /etc/init.d/zookeeper stop 1704s Stopping zookeeper (via systemctl): zookeeper.service. 1704s autopkgtest [09:55:27]: test acceptance-zookeeper: -----------------------] 1705s acceptance-zookeeper PASS 1705s autopkgtest [09:55:28]: test acceptance-zookeeper: - - - - - - - - - - results - - - - - - - - - - 1705s autopkgtest [09:55:28]: test acceptance-raft: preparing testbed 1893s autopkgtest [09:58:36]: testbed dpkg architecture: arm64 1893s autopkgtest [09:58:36]: testbed apt version: 3.0.0 1893s autopkgtest [09:58:36]: @@@@@@@@@@@@@@@@@@@@ test bed setup 1894s autopkgtest [09:58:37]: testbed release detected to be: plucky 1894s autopkgtest [09:58:37]: updating testbed package index (apt update) 1895s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [265 kB] 1895s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 1895s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 1895s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 1895s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [5192 B] 1895s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [204 kB] 1895s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [9948 B] 1895s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 Packages [3176 B] 1895s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 c-n-f Metadata [252 B] 1895s Get:10 http://ftpmaster.internal/ubuntu plucky-proposed/restricted arm64 c-n-f Metadata [224 B] 1895s Get:11 http://ftpmaster.internal/ubuntu plucky-proposed/universe arm64 Packages [129 kB] 1895s Get:12 http://ftpmaster.internal/ubuntu plucky-proposed/universe arm64 c-n-f Metadata [8288 B] 1895s Get:13 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse arm64 Packages [2004 B] 1895s Get:14 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse arm64 c-n-f Metadata [324 B] 1897s Fetched 628 kB in 1s (852 kB/s) 1898s Reading package lists... 1898s autopkgtest [09:58:41]: upgrading testbed (apt dist-upgrade and autopurge) 1898s Reading package lists... 1899s Building dependency tree... 1899s Reading state information... 1899s Calculating upgrade...Starting pkgProblemResolver with broken count: 0 1899s Starting 2 pkgProblemResolver with broken count: 0 1899s Done 1900s Entering ResolveByKeep 1900s 1900s Calculating upgrade... 1901s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1901s Reading package lists... 1901s Building dependency tree... 1901s Reading state information... 1902s Starting pkgProblemResolver with broken count: 0 1902s Starting 2 pkgProblemResolver with broken count: 0 1902s Done 1902s Solving dependencies... 1903s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1905s Reading package lists... 1905s Building dependency tree... 1905s Reading state information... 1906s Starting pkgProblemResolver with broken count: 0 1906s Starting 2 pkgProblemResolver with broken count: 0 1906s Done 1907s The following NEW packages will be installed: 1907s fonts-font-awesome fonts-lato libio-pty-perl libipc-run-perl libjs-jquery 1907s libjs-sphinxdoc libjs-underscore libjson-perl libllvm20 libpq5 1907s libtime-duration-perl libtimedate-perl libxslt1.1 moreutils patroni 1907s patroni-doc postgresql postgresql-17 postgresql-client-17 1907s postgresql-client-common postgresql-common postgresql-common-dev 1907s python3-behave python3-click python3-coverage python3-dateutil python3-parse 1907s python3-parse-type python3-prettytable python3-psutil python3-psycopg2 1907s python3-pysyncobj python3-six python3-wcwidth python3-ydiff 1907s sphinx-rtd-theme-common ssl-cert 1907s 0 upgraded, 37 newly installed, 0 to remove and 0 not upgraded. 1907s Need to get 53.5 MB of archives. 1907s After this operation, 228 MB of additional disk space will be used. 1907s Get:1 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-lato all 2.015-1 [2781 kB] 1907s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 libjson-perl all 4.10000-1 [81.9 kB] 1907s Get:3 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-client-common all 274 [47.6 kB] 1907s Get:4 http://ftpmaster.internal/ubuntu plucky/main arm64 libio-pty-perl arm64 1:1.20-1build3 [31.3 kB] 1907s Get:5 http://ftpmaster.internal/ubuntu plucky/main arm64 libipc-run-perl all 20231003.0-2 [91.5 kB] 1907s Get:6 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-common-dev all 274 [73.0 kB] 1907s Get:7 http://ftpmaster.internal/ubuntu plucky/main arm64 ssl-cert all 1.1.3ubuntu1 [18.7 kB] 1907s Get:8 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-common all 274 [101 kB] 1907s Get:9 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 1907s Get:10 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 1907s Get:11 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 1907s Get:12 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-sphinxdoc all 8.1.3-5 [31.0 kB] 1907s Get:13 http://ftpmaster.internal/ubuntu plucky/main arm64 libllvm20 arm64 1:20.1.2-0ubuntu1 [29.1 MB] 1909s Get:14 http://ftpmaster.internal/ubuntu plucky/main arm64 libpq5 arm64 17.4-1 [142 kB] 1909s Get:15 http://ftpmaster.internal/ubuntu plucky/main arm64 libtime-duration-perl all 1.21-2 [12.3 kB] 1909s Get:16 http://ftpmaster.internal/ubuntu plucky/main arm64 libtimedate-perl all 2.3300-2 [34.0 kB] 1909s Get:17 http://ftpmaster.internal/ubuntu plucky/main arm64 libxslt1.1 arm64 1.1.39-0exp1ubuntu4 [168 kB] 1909s Get:18 http://ftpmaster.internal/ubuntu plucky/universe arm64 moreutils arm64 0.69-1 [56.7 kB] 1909s Get:19 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-click all 8.2.0+0.really.8.1.8-1 [80.0 kB] 1909s Get:20 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-dateutil all 2.9.0-4 [80.3 kB] 1909s Get:21 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 1909s Get:22 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-prettytable all 3.12.0-1 [36.5 kB] 1909s Get:23 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-psutil arm64 5.9.8-2build3 [196 kB] 1909s Get:24 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-ydiff all 1.4.2-1 [19.0 kB] 1909s Get:25 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-psycopg2 arm64 2.9.10-1build1 [133 kB] 1909s Get:26 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pysyncobj all 0.3.14-2 [61.9 kB] 1909s Get:27 http://ftpmaster.internal/ubuntu plucky-proposed/universe arm64 patroni all 4.0.4-8 [282 kB] 1909s Get:28 http://ftpmaster.internal/ubuntu plucky/main arm64 sphinx-rtd-theme-common all 3.0.2+dfsg-2 [1014 kB] 1909s Get:29 http://ftpmaster.internal/ubuntu plucky-proposed/universe arm64 patroni-doc all 4.0.4-8 [526 kB] 1909s Get:30 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-client-17 arm64 17.4-1 [1342 kB] 1909s Get:31 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-17 arm64 17.4-1 [15.6 MB] 1910s Get:32 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql all 17+274 [14.4 kB] 1910s Get:33 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-parse all 1.20.2-1 [27.0 kB] 1910s Get:34 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-parse-type all 0.6.4-2 [23.5 kB] 1910s Get:35 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-six all 1.17.0-1 [13.2 kB] 1910s Get:36 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-behave all 1.2.6-6 [98.6 kB] 1910s Get:37 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-coverage arm64 7.6.0+dfsg1-2build1 [153 kB] 1910s Preconfiguring packages ... 1910s /var/cache/debconf/tmp.ci/postgresql.config.ZPdfFY: 12: pg_lsclusters: not found 1910s Fetched 53.5 MB in 3s (17.0 MB/s) 1911s Selecting previously unselected package fonts-lato. 1911s (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 ... 117820 files and directories currently installed.) 1911s Preparing to unpack .../00-fonts-lato_2.015-1_all.deb ... 1911s Unpacking fonts-lato (2.015-1) ... 1911s Selecting previously unselected package libjson-perl. 1911s Preparing to unpack .../01-libjson-perl_4.10000-1_all.deb ... 1911s Unpacking libjson-perl (4.10000-1) ... 1911s Selecting previously unselected package postgresql-client-common. 1911s Preparing to unpack .../02-postgresql-client-common_274_all.deb ... 1911s Unpacking postgresql-client-common (274) ... 1911s Selecting previously unselected package libio-pty-perl. 1911s Preparing to unpack .../03-libio-pty-perl_1%3a1.20-1build3_arm64.deb ... 1911s Unpacking libio-pty-perl (1:1.20-1build3) ... 1911s Selecting previously unselected package libipc-run-perl. 1911s Preparing to unpack .../04-libipc-run-perl_20231003.0-2_all.deb ... 1911s Unpacking libipc-run-perl (20231003.0-2) ... 1911s Selecting previously unselected package postgresql-common-dev. 1911s Preparing to unpack .../05-postgresql-common-dev_274_all.deb ... 1911s Unpacking postgresql-common-dev (274) ... 1911s Selecting previously unselected package ssl-cert. 1911s Preparing to unpack .../06-ssl-cert_1.1.3ubuntu1_all.deb ... 1911s Unpacking ssl-cert (1.1.3ubuntu1) ... 1911s Selecting previously unselected package postgresql-common. 1911s Preparing to unpack .../07-postgresql-common_274_all.deb ... 1912s Adding 'diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common' 1912s Unpacking postgresql-common (274) ... 1912s Selecting previously unselected package fonts-font-awesome. 1912s Preparing to unpack .../08-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 1912s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 1912s Selecting previously unselected package libjs-jquery. 1912s Preparing to unpack .../09-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 1912s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 1912s Selecting previously unselected package libjs-underscore. 1912s Preparing to unpack .../10-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 1912s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 1912s Selecting previously unselected package libjs-sphinxdoc. 1912s Preparing to unpack .../11-libjs-sphinxdoc_8.1.3-5_all.deb ... 1912s Unpacking libjs-sphinxdoc (8.1.3-5) ... 1912s Selecting previously unselected package libllvm20:arm64. 1912s Preparing to unpack .../12-libllvm20_1%3a20.1.2-0ubuntu1_arm64.deb ... 1912s Unpacking libllvm20:arm64 (1:20.1.2-0ubuntu1) ... 1913s Selecting previously unselected package libpq5:arm64. 1913s Preparing to unpack .../13-libpq5_17.4-1_arm64.deb ... 1913s Unpacking libpq5:arm64 (17.4-1) ... 1913s Selecting previously unselected package libtime-duration-perl. 1913s Preparing to unpack .../14-libtime-duration-perl_1.21-2_all.deb ... 1913s Unpacking libtime-duration-perl (1.21-2) ... 1913s Selecting previously unselected package libtimedate-perl. 1913s Preparing to unpack .../15-libtimedate-perl_2.3300-2_all.deb ... 1913s Unpacking libtimedate-perl (2.3300-2) ... 1913s Selecting previously unselected package libxslt1.1:arm64. 1913s Preparing to unpack .../16-libxslt1.1_1.1.39-0exp1ubuntu4_arm64.deb ... 1913s Unpacking libxslt1.1:arm64 (1.1.39-0exp1ubuntu4) ... 1913s Selecting previously unselected package moreutils. 1913s Preparing to unpack .../17-moreutils_0.69-1_arm64.deb ... 1913s Unpacking moreutils (0.69-1) ... 1913s Selecting previously unselected package python3-click. 1913s Preparing to unpack .../18-python3-click_8.2.0+0.really.8.1.8-1_all.deb ... 1913s Unpacking python3-click (8.2.0+0.really.8.1.8-1) ... 1913s Selecting previously unselected package python3-dateutil. 1913s Preparing to unpack .../19-python3-dateutil_2.9.0-4_all.deb ... 1913s Unpacking python3-dateutil (2.9.0-4) ... 1913s Selecting previously unselected package python3-wcwidth. 1913s Preparing to unpack .../20-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 1913s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 1913s Selecting previously unselected package python3-prettytable. 1913s Preparing to unpack .../21-python3-prettytable_3.12.0-1_all.deb ... 1913s Unpacking python3-prettytable (3.12.0-1) ... 1913s Selecting previously unselected package python3-psutil. 1913s Preparing to unpack .../22-python3-psutil_5.9.8-2build3_arm64.deb ... 1913s Unpacking python3-psutil (5.9.8-2build3) ... 1913s Selecting previously unselected package python3-ydiff. 1913s Preparing to unpack .../23-python3-ydiff_1.4.2-1_all.deb ... 1913s Unpacking python3-ydiff (1.4.2-1) ... 1913s Selecting previously unselected package python3-psycopg2. 1913s Preparing to unpack .../24-python3-psycopg2_2.9.10-1build1_arm64.deb ... 1913s Unpacking python3-psycopg2 (2.9.10-1build1) ... 1913s Selecting previously unselected package python3-pysyncobj. 1913s Preparing to unpack .../25-python3-pysyncobj_0.3.14-2_all.deb ... 1913s Unpacking python3-pysyncobj (0.3.14-2) ... 1913s Selecting previously unselected package patroni. 1913s Preparing to unpack .../26-patroni_4.0.4-8_all.deb ... 1913s Unpacking patroni (4.0.4-8) ... 1913s Selecting previously unselected package sphinx-rtd-theme-common. 1913s Preparing to unpack .../27-sphinx-rtd-theme-common_3.0.2+dfsg-2_all.deb ... 1913s Unpacking sphinx-rtd-theme-common (3.0.2+dfsg-2) ... 1913s Selecting previously unselected package patroni-doc. 1913s Preparing to unpack .../28-patroni-doc_4.0.4-8_all.deb ... 1913s Unpacking patroni-doc (4.0.4-8) ... 1913s Selecting previously unselected package postgresql-client-17. 1913s Preparing to unpack .../29-postgresql-client-17_17.4-1_arm64.deb ... 1913s Unpacking postgresql-client-17 (17.4-1) ... 1914s Selecting previously unselected package postgresql-17. 1914s Preparing to unpack .../30-postgresql-17_17.4-1_arm64.deb ... 1914s Unpacking postgresql-17 (17.4-1) ... 1914s Selecting previously unselected package postgresql. 1914s Preparing to unpack .../31-postgresql_17+274_all.deb ... 1914s Unpacking postgresql (17+274) ... 1914s Selecting previously unselected package python3-parse. 1914s Preparing to unpack .../32-python3-parse_1.20.2-1_all.deb ... 1914s Unpacking python3-parse (1.20.2-1) ... 1914s Selecting previously unselected package python3-parse-type. 1914s Preparing to unpack .../33-python3-parse-type_0.6.4-2_all.deb ... 1914s Unpacking python3-parse-type (0.6.4-2) ... 1914s Selecting previously unselected package python3-six. 1914s Preparing to unpack .../34-python3-six_1.17.0-1_all.deb ... 1914s Unpacking python3-six (1.17.0-1) ... 1914s Selecting previously unselected package python3-behave. 1914s Preparing to unpack .../35-python3-behave_1.2.6-6_all.deb ... 1914s Unpacking python3-behave (1.2.6-6) ... 1914s Selecting previously unselected package python3-coverage. 1914s Preparing to unpack .../36-python3-coverage_7.6.0+dfsg1-2build1_arm64.deb ... 1914s Unpacking python3-coverage (7.6.0+dfsg1-2build1) ... 1914s Setting up postgresql-client-common (274) ... 1914s Setting up fonts-lato (2.015-1) ... 1914s Setting up libio-pty-perl (1:1.20-1build3) ... 1914s Setting up python3-pysyncobj (0.3.14-2) ... 1915s Setting up python3-ydiff (1.4.2-1) ... 1915s Setting up libpq5:arm64 (17.4-1) ... 1915s Setting up python3-coverage (7.6.0+dfsg1-2build1) ... 1915s Setting up python3-click (8.2.0+0.really.8.1.8-1) ... 1915s Setting up python3-psutil (5.9.8-2build3) ... 1915s Setting up python3-six (1.17.0-1) ... 1916s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 1916s Setting up ssl-cert (1.1.3ubuntu1) ... 1916s Created symlink '/etc/systemd/system/multi-user.target.wants/ssl-cert.service' → '/usr/lib/systemd/system/ssl-cert.service'. 1917s Setting up libllvm20:arm64 (1:20.1.2-0ubuntu1) ... 1917s Setting up python3-psycopg2 (2.9.10-1build1) ... 1917s Setting up libipc-run-perl (20231003.0-2) ... 1917s Setting up libtime-duration-perl (1.21-2) ... 1917s Setting up libtimedate-perl (2.3300-2) ... 1917s Setting up python3-parse (1.20.2-1) ... 1917s Setting up libjson-perl (4.10000-1) ... 1917s Setting up libxslt1.1:arm64 (1.1.39-0exp1ubuntu4) ... 1917s Setting up python3-dateutil (2.9.0-4) ... 1917s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 1917s Setting up python3-prettytable (3.12.0-1) ... 1917s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 1917s Setting up sphinx-rtd-theme-common (3.0.2+dfsg-2) ... 1917s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 1917s Setting up postgresql-common-dev (274) ... 1917s Setting up moreutils (0.69-1) ... 1917s Setting up postgresql-client-17 (17.4-1) ... 1918s 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 1918s Setting up python3-parse-type (0.6.4-2) ... 1918s Setting up postgresql-common (274) ... 1919s Creating config file /etc/postgresql-common/createcluster.conf with new version 1919s Building PostgreSQL dictionaries from installed myspell/hunspell packages... 1919s Removing obsolete dictionary files: 1919s Created symlink '/etc/systemd/system/multi-user.target.wants/postgresql.service' → '/usr/lib/systemd/system/postgresql.service'. 1920s Setting up libjs-sphinxdoc (8.1.3-5) ... 1920s Setting up python3-behave (1.2.6-6) ... 1920s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 1920s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 1920s /usr/lib/python3/dist-packages/behave/matchers.py:284: SyntaxWarning: invalid escape sequence '\d' 1920s @parse.with_pattern(r"\d+") 1920s Setting up patroni (4.0.4-8) ... 1920s Created symlink '/etc/systemd/system/multi-user.target.wants/patroni.service' → '/usr/lib/systemd/system/patroni.service'. 1921s Setting up postgresql-17 (17.4-1) ... 1922s Creating new PostgreSQL cluster 17/main ... 1922s /usr/lib/postgresql/17/bin/initdb -D /var/lib/postgresql/17/main --auth-local peer --auth-host scram-sha-256 --no-instructions 1922s The files belonging to this database system will be owned by user "postgres". 1922s This user must also own the server process. 1922s 1922s The database cluster will be initialized with locale "C.UTF-8". 1922s The default database encoding has accordingly been set to "UTF8". 1922s The default text search configuration will be set to "english". 1922s 1922s Data page checksums are disabled. 1922s 1922s fixing permissions on existing directory /var/lib/postgresql/17/main ... ok 1922s creating subdirectories ... ok 1922s selecting dynamic shared memory implementation ... posix 1922s selecting default "max_connections" ... 100 1922s selecting default "shared_buffers" ... 128MB 1922s selecting default time zone ... Etc/UTC 1922s creating configuration files ... ok 1922s running bootstrap script ... ok 1922s performing post-bootstrap initialization ... ok 1922s syncing data to disk ... ok 1925s Setting up patroni-doc (4.0.4-8) ... 1925s Setting up postgresql (17+274) ... 1925s Processing triggers for man-db (2.13.0-1) ... 1927s Processing triggers for libc-bin (2.41-6ubuntu1) ... 1930s autopkgtest [09:59:13]: test acceptance-raft: debian/tests/acceptance raft 1930s autopkgtest [09:59:13]: test acceptance-raft: [----------------------- 1930s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 1930s ++ ls -1r /usr/lib/postgresql/ 1930s ### PostgreSQL 17 acceptance-raft ### 1930s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 1930s + '[' 17 == 10 -o 17 == 11 ']' 1930s + echo '### PostgreSQL 17 acceptance-raft ###' 1930s + bash -c 'set -o pipefail; ETCD_UNSUPPORTED_ARCH=arm64 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' 1936s Apr 14 09:59:19 Feature: basic replication # features/basic_replication.feature:1 1936s Apr 14 09:59:19 We should check that the basic bootstrapping, replication and failover works. 1936s Apr 14 09:59:19 Scenario: check replication of a single table # features/basic_replication.feature:4 1936s Apr 14 09:59:19 Given I start postgres-0 # features/steps/basic_replication.py:20 1939s Apr 14 09:59:22 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 1939s Apr 14 09:59:22 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1939s Apr 14 09:59:22 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 1939s Apr 14 09:59:22 Then I receive a response code 200 # features/steps/patroni_api.py:100 1939s Apr 14 09:59:22 When I start postgres-1 # features/steps/basic_replication.py:20 1942s Apr 14 09:59:25 And I configure and start postgres-2 with a tag replicatefrom postgres-0 # features/steps/cascading_replication.py:7 1951s Apr 14 09:59:34 And "sync" key in DCS has leader=postgres-0 after 20 seconds # features/steps/cascading_replication.py:23 1951s Apr 14 09:59:34 And I add the table foo to postgres-0 # features/steps/basic_replication.py:66 1951s Apr 14 09:59:34 Then table foo is present on postgres-1 after 20 seconds # features/steps/basic_replication.py:105 1952s Apr 14 09:59:35 Then table foo is present on postgres-2 after 20 seconds # features/steps/basic_replication.py:105 1952s Apr 14 09:59:35 1952s Apr 14 09:59:35 Scenario: check restart of sync replica # features/basic_replication.feature:17 1952s Apr 14 09:59:35 Given I shut down postgres-2 # features/steps/basic_replication.py:41 1953s Apr 14 09:59:36 Then "sync" key in DCS has sync_standby=postgres-1 after 5 seconds # features/steps/cascading_replication.py:23 1953s Apr 14 09:59:36 When I start postgres-2 # features/steps/basic_replication.py:20 1956s Apr 14 09:59:39 And I shut down postgres-1 # features/steps/basic_replication.py:41 1959s Apr 14 09:59:42 Then "sync" key in DCS has sync_standby=postgres-2 after 10 seconds # features/steps/cascading_replication.py:23 1960s Apr 14 09:59:43 When I start postgres-1 # features/steps/basic_replication.py:20 1963s Apr 14 09:59:46 Then "members/postgres-1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1963s Apr 14 09:59:46 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:144 1963s Apr 14 09:59:46 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:144 1963s Apr 14 09:59:46 1963s Apr 14 09:59:46 Scenario: check stuck sync replica # features/basic_replication.feature:28 1963s Apr 14 09:59:46 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 1963s Apr 14 09:59:46 Then I receive a response code 200 # features/steps/patroni_api.py:100 1963s Apr 14 09:59:46 And I create table on postgres-0 # features/steps/basic_replication.py:85 1963s Apr 14 09:59:46 And table mytest is present on postgres-1 after 2 seconds # features/steps/basic_replication.py:105 1964s Apr 14 09:59:47 And table mytest is present on postgres-2 after 2 seconds # features/steps/basic_replication.py:105 1964s Apr 14 09:59:47 When I pause wal replay on postgres-2 # features/steps/basic_replication.py:76 1964s Apr 14 09:59:47 And I load data on postgres-0 # features/steps/basic_replication.py:96 1965s Apr 14 09:59:48 Then "sync" key in DCS has sync_standby=postgres-1 after 15 seconds # features/steps/cascading_replication.py:23 1968s Apr 14 09:59:51 And I resume wal replay on postgres-2 # features/steps/basic_replication.py:76 1968s Apr 14 09:59:51 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:144 1968s Apr 14 09:59:51 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:144 1968s Apr 14 09:59:51 When I issue a PATCH request to http://127.0.0.1:8008/config with {"pause": null, "maximum_lag_on_syncnode": -1, "postgresql": {"parameters": {"synchronous_commit": "on"}}} # features/steps/patroni_api.py:73 1968s Apr 14 09:59:51 Then I receive a response code 200 # features/steps/patroni_api.py:100 1968s Apr 14 09:59:51 And I drop table on postgres-0 # features/steps/basic_replication.py:85 1968s Apr 14 09:59:51 1968s Apr 14 09:59:51 Scenario: check multi sync replication # features/basic_replication.feature:44 1968s Apr 14 09:59:51 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 1968s Apr 14 09:59:51 Then I receive a response code 200 # features/steps/patroni_api.py:100 1968s Apr 14 09:59:51 Then "sync" key in DCS has sync_standby=postgres-1,postgres-2 after 10 seconds # features/steps/cascading_replication.py:23 1972s Apr 14 09:59:55 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:144 1972s Apr 14 09:59:55 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:144 1972s Apr 14 09:59:55 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 1973s Apr 14 09:59:56 Then I receive a response code 200 # features/steps/patroni_api.py:100 1973s Apr 14 09:59:56 And I shut down postgres-1 # features/steps/basic_replication.py:41 1976s Apr 14 09:59:59 Then "sync" key in DCS has sync_standby=postgres-2 after 10 seconds # features/steps/cascading_replication.py:23 1977s Apr 14 10:00:00 When I start postgres-1 # features/steps/basic_replication.py:20 1980s Apr 14 10:00:03 Then "members/postgres-1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1980s Apr 14 10:00:03 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:144 1980s Apr 14 10:00:03 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:144 1980s Apr 14 10:00:03 1980s Apr 14 10:00:03 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 1980s Apr 14 10:00:03 Given I run patronictl.py pause batman # features/steps/patroni_api.py:88 1981s Apr 14 10:00:04 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 1981s Apr 14 10:00:04 When I sleep for 2 seconds # features/steps/patroni_api.py:41 1983s Apr 14 10:00:06 And I shut down postgres-0 # features/steps/basic_replication.py:41 1984s Apr 14 10:00:07 And I run patronictl.py resume batman # features/steps/patroni_api.py:88 1985s Apr 14 10:00:08 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 1985s Apr 14 10:00:08 And postgres-2 role is the primary after 24 seconds # features/steps/basic_replication.py:117 2004s Apr 14 10:00:27 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:158 2008s Apr 14 10:00:31 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 2008s Apr 14 10:00:31 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 2008s Apr 14 10:00:31 Then I receive a response code 200 # features/steps/patroni_api.py:100 2008s Apr 14 10:00:31 When I add the table bar to postgres-2 # features/steps/basic_replication.py:66 2008s Apr 14 10:00:31 Then table bar is present on postgres-1 after 20 seconds # features/steps/basic_replication.py:105 2008s Apr 14 10:00:31 And Response on GET http://127.0.0.1:8010/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:158 2008s Apr 14 10:00:31 2008s Apr 14 10:00:31 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 2008s Apr 14 10:00:31 Given I add the table splitbrain to postgres-0 # features/steps/basic_replication.py:66 2008s Apr 14 10:00:31 And I start postgres-0 # features/steps/basic_replication.py:20 2008s Apr 14 10:00:31 Then postgres-0 role is the secondary after 20 seconds # features/steps/basic_replication.py:117 2015s Apr 14 10:00:38 When I add the table buz to postgres-2 # features/steps/basic_replication.py:66 2015s Apr 14 10:00:38 Then table buz is present on postgres-0 after 20 seconds # features/steps/basic_replication.py:105 2015s SKIP Scenario check graceful rejection when two nodes have the same name: Flaky test with Raft 2031s Apr 14 10:00:54 2031s Apr 14 10:00:54 @reject-duplicate-name 2031s Apr 14 10:00:54 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 2031s Apr 14 10:00:54 Given I start duplicate postgres-0 on port 8011 # None 2031s Apr 14 10:00:54 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 2031s Apr 14 10:00:54 2031s Apr 14 10:00:54 Feature: cascading replication # features/cascading_replication.feature:1 2031s Apr 14 10:00:54 We should check that patroni can do base backup and streaming from the replica 2031s Apr 14 10:00:54 Scenario: check a base backup and streaming replication from a replica # features/cascading_replication.feature:4 2031s Apr 14 10:00:54 Given I start postgres-0 # features/steps/basic_replication.py:20 2040s Apr 14 10:01:03 And postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 2040s Apr 14 10:01:03 And I configure and start postgres-1 with a tag clonefrom true # features/steps/cascading_replication.py:7 2049s Apr 14 10:01:12 And replication works from postgres-0 to postgres-1 after 20 seconds # features/steps/basic_replication.py:124 2050s Apr 14 10:01:13 And I create label with "postgres-0" in postgres-0 data directory # features/steps/cascading_replication.py:18 2050s Apr 14 10:01:13 And I create label with "postgres-1" in postgres-1 data directory # features/steps/cascading_replication.py:18 2050s Apr 14 10:01:13 And "members/postgres-1" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 2050s Apr 14 10:01:13 And I configure and start postgres-2 with a tag replicatefrom postgres-1 # features/steps/cascading_replication.py:7 2059s Apr 14 10:01:22 Then replication works from postgres-0 to postgres-2 after 30 seconds # features/steps/basic_replication.py:124 2060s Apr 14 10:01:23 And there is a label with "postgres-1" in postgres-2 data directory # features/steps/cascading_replication.py:12 2076s Apr 14 10:01:39 2076s SKIP FEATURE citus: Citus extension isn't available 2076s SKIP Scenario check that worker cluster is registered in the coordinator: Citus extension isn't available 2076s SKIP Scenario coordinator failover updates pg_dist_node: Citus extension isn't available 2076s SKIP Scenario worker switchover doesn't break client queries on the coordinator: Citus extension isn't available 2076s SKIP Scenario worker primary restart doesn't break client queries on the coordinator: Citus extension isn't available 2076s Apr 14 10:01:39 Feature: citus # features/citus.feature:1 2076s 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 2076s Apr 14 10:01:39 We should check that coordinator discovers and registers workers and clients don't have errors when worker cluster switches over 2076s Apr 14 10:01:39 Scenario: check that worker cluster is registered in the coordinator # features/citus.feature:4 2076s Apr 14 10:01:39 Given I start postgres-0 in citus group 0 # None 2076s Apr 14 10:01:39 And I start postgres-2 in citus group 1 # None 2076s Apr 14 10:01:39 Then postgres-0 is a leader in a group 0 after 10 seconds # None 2076s Apr 14 10:01:39 And postgres-2 is a leader in a group 1 after 10 seconds # None 2076s Apr 14 10:01:39 When I start postgres-1 in citus group 0 # None 2076s Apr 14 10:01:39 And I start postgres-3 in citus group 1 # None 2076s Apr 14 10:01:39 Then replication works from postgres-0 to postgres-1 after 15 seconds # None 2076s Apr 14 10:01:39 Then replication works from postgres-2 to postgres-3 after 15 seconds # None 2076s Apr 14 10:01:39 And postgres-0 is registered in the postgres-0 as the primary in group 0 after 5 seconds # None 2076s Apr 14 10:01:39 And postgres-1 is registered in the postgres-0 as the secondary in group 0 after 5 seconds # None 2076s Apr 14 10:01:39 And postgres-2 is registered in the postgres-0 as the primary in group 1 after 5 seconds # None 2076s Apr 14 10:01:39 And postgres-3 is registered in the postgres-0 as the secondary in group 1 after 5 seconds # None 2076s Apr 14 10:01:39 2076s Apr 14 10:01:39 Scenario: coordinator failover updates pg_dist_node # features/citus.feature:18 2076s Apr 14 10:01:39 Given I run patronictl.py failover batman --group 0 --candidate postgres-1 --force # None 2076s Apr 14 10:01:39 Then postgres-1 role is the primary after 10 seconds # None 2076s Apr 14 10:01:39 And "members/postgres-0" key in a group 0 in DCS has state=running after 15 seconds # None 2076s Apr 14 10:01:39 And replication works from postgres-1 to postgres-0 after 15 seconds # None 2076s Apr 14 10:01:39 And postgres-1 is registered in the postgres-2 as the primary in group 0 after 5 seconds # None 2076s Apr 14 10:01:39 And postgres-0 is registered in the postgres-2 as the secondary in group 0 after 15 seconds # None 2076s Apr 14 10:01:39 And "sync" key in a group 0 in DCS has sync_standby=postgres-0 after 15 seconds # None 2076s Apr 14 10:01:39 When I run patronictl.py switchover batman --group 0 --candidate postgres-0 --force # None 2076s Apr 14 10:01:39 Then postgres-0 role is the primary after 10 seconds # None 2076s Apr 14 10:01:39 And replication works from postgres-0 to postgres-1 after 15 seconds # None 2076s Apr 14 10:01:39 And postgres-0 is registered in the postgres-2 as the primary in group 0 after 5 seconds # None 2076s Apr 14 10:01:39 And postgres-1 is registered in the postgres-2 as the secondary in group 0 after 15 seconds # None 2076s Apr 14 10:01:39 And "sync" key in a group 0 in DCS has sync_standby=postgres-1 after 15 seconds # None 2076s Apr 14 10:01:39 2076s Apr 14 10:01:39 Scenario: worker switchover doesn't break client queries on the coordinator # features/citus.feature:33 2076s Apr 14 10:01:39 Given I create a distributed table on postgres-0 # None 2076s Apr 14 10:01:39 And I start a thread inserting data on postgres-0 # None 2076s Apr 14 10:01:39 When I run patronictl.py switchover batman --group 1 --force # None 2076s Apr 14 10:01:39 Then I receive a response returncode 0 # None 2076s Apr 14 10:01:39 And postgres-3 role is the primary after 10 seconds # None 2076s Apr 14 10:01:39 And "members/postgres-2" key in a group 1 in DCS has state=running after 15 seconds # None 2076s Apr 14 10:01:39 And replication works from postgres-3 to postgres-2 after 15 seconds # None 2076s Apr 14 10:01:39 And postgres-3 is registered in the postgres-0 as the primary in group 1 after 5 seconds # None 2076s Apr 14 10:01:39 And postgres-2 is registered in the postgres-0 as the secondary in group 1 after 15 seconds # None 2076s Apr 14 10:01:39 And "sync" key in a group 1 in DCS has sync_standby=postgres-2 after 15 seconds # None 2076s Apr 14 10:01:39 And a thread is still alive # None 2076s Apr 14 10:01:39 When I run patronictl.py switchover batman --group 1 --force # None 2076s Apr 14 10:01:39 Then I receive a response returncode 0 # None 2076s Apr 14 10:01:39 And postgres-2 role is the primary after 10 seconds # None 2076s Apr 14 10:01:39 And replication works from postgres-2 to postgres-3 after 15 seconds # None 2076s Apr 14 10:01:39 And postgres-2 is registered in the postgres-0 as the primary in group 1 after 5 seconds # None 2076s Apr 14 10:01:39 And postgres-3 is registered in the postgres-0 as the secondary in group 1 after 15 seconds # None 2076s Apr 14 10:01:39 And "sync" key in a group 1 in DCS has sync_standby=postgres-3 after 15 seconds # None 2076s Apr 14 10:01:39 And a thread is still alive # None 2076s Apr 14 10:01:39 When I stop a thread # None 2076s Apr 14 10:01:39 Then a distributed table on postgres-0 has expected rows # None 2076s Apr 14 10:01:39 2076s Apr 14 10:01:39 Scenario: worker primary restart doesn't break client queries on the coordinator # features/citus.feature:56 2076s Apr 14 10:01:39 Given I cleanup a distributed table on postgres-0 # None 2076s Apr 14 10:01:39 And I start a thread inserting data on postgres-0 # None 2076s Apr 14 10:01:39 When I run patronictl.py restart batman postgres-2 --group 1 --force # None 2076s Apr 14 10:01:39 Then I receive a response returncode 0 # None 2076s Apr 14 10:01:39 And postgres-2 role is the primary after 10 seconds # None 2076s Apr 14 10:01:39 And replication works from postgres-2 to postgres-3 after 15 seconds # None 2076s Apr 14 10:01:39 And postgres-2 is registered in the postgres-0 as the primary in group 1 after 5 seconds # None 2076s Apr 14 10:01:39 And postgres-3 is registered in the postgres-0 as the secondary in group 1 after 15 seconds # None 2076s Apr 14 10:01:39 And a thread is still alive # None 2076s Apr 14 10:01:39 When I stop a thread # None 2076s Apr 14 10:01:39 Then a distributed table on postgres-0 has expected rows # None 2082s Apr 14 10:01:45 2082s Apr 14 10:01:45 Scenario: check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node # features/citus.feature:69 2082s Apr 14 10:01:45 Given I start postgres-4 in citus group 2 # None 2082s Apr 14 10:01:45 Then postgres-4 is a leader in a group 2 after 10 seconds # None 2082s Apr 14 10:01:45 And "members/postgres-4" key in a group 2 in DCS has role=primary after 3 seconds # None 2082s Apr 14 10:01:45 When I run patronictl.py edit-config batman --group 2 -s ttl=20 --force # None 2082s Apr 14 10:01:45 Then I receive a response returncode 0 # None 2082s Apr 14 10:01:45 And I receive a response output "+ttl: 20" # None 2082s Apr 14 10:01:45 Then postgres-4 is registered in the postgres-2 as the primary in group 2 after 5 seconds # None 2082s Apr 14 10:01:45 When I shut down postgres-4 # None 2082s Apr 14 10:01:45 Then there is a transaction in progress on postgres-0 changing pg_dist_node after 5 seconds # None 2082s Apr 14 10:01:45 When I run patronictl.py restart batman postgres-2 --group 1 --force # None 2082s Apr 14 10:01:45 Then a transaction finishes in 20 seconds # None 2082s Apr 14 10:01:45 2082s Apr 14 10:01:45 Feature: custom bootstrap # features/custom_bootstrap.feature:1 2082s Apr 14 10:01:45 We should check that patroni can bootstrap a new cluster from a backup 2082s Apr 14 10:01:45 Scenario: clone existing cluster using pg_basebackup # features/custom_bootstrap.feature:4 2082s Apr 14 10:01:45 Given I start postgres-0 # features/steps/basic_replication.py:20 2091s Apr 14 10:01:54 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 2091s Apr 14 10:01:54 When I add the table foo to postgres-0 # features/steps/basic_replication.py:66 2091s Apr 14 10:01:54 And I start postgres-1 in a cluster batman1 as a clone of postgres-0 # features/steps/custom_bootstrap.py:6 2095s Apr 14 10:01:58 Then postgres-1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 2096s Apr 14 10:01:59 Then table foo is present on postgres-1 after 10 seconds # features/steps/basic_replication.py:105 2096s Apr 14 10:01:59 2096s Apr 14 10:01:59 Scenario: make a backup and do a restore into a new cluster # features/custom_bootstrap.feature:12 2096s Apr 14 10:01:59 Given I add the table bar to postgres-1 # features/steps/basic_replication.py:66 2096s Apr 14 10:01:59 And I do a backup of postgres-1 # features/steps/custom_bootstrap.py:25 2097s Apr 14 10:02:00 When I start postgres-2 in a cluster batman2 from backup # features/steps/custom_bootstrap.py:11 2102s Apr 14 10:02:05 Then postgres-2 is a leader of batman2 after 30 seconds # features/steps/custom_bootstrap.py:16 2102s Apr 14 10:02:05 And table bar is present on postgres-2 after 10 seconds # features/steps/basic_replication.py:105 2119s Apr 14 10:02:22 2119s Apr 14 10:02:22 Feature: dcs failsafe mode # features/dcs_failsafe_mode.feature:1 2119s Apr 14 10:02:22 We should check the basic dcs failsafe mode functioning 2119s Apr 14 10:02:22 Scenario: check failsafe mode can be successfully enabled # features/dcs_failsafe_mode.feature:4 2119s Apr 14 10:02:22 Given I start postgres-0 # features/steps/basic_replication.py:20 2122s Apr 14 10:02:25 And postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 2122s Apr 14 10:02:25 Then "config" key in DCS has ttl=30 after 10 seconds # features/steps/cascading_replication.py:23 2122s Apr 14 10:02:25 When I issue a PATCH request to http://127.0.0.1:8008/config with {"loop_wait": 2, "ttl": 20, "retry_timeout": 3, "failsafe_mode": true} # features/steps/patroni_api.py:73 2122s Apr 14 10:02:25 Then I receive a response code 200 # features/steps/patroni_api.py:100 2122s Apr 14 10:02:25 And Response on GET http://127.0.0.1:8008/failsafe contains postgres-0 after 10 seconds # features/steps/patroni_api.py:158 2122s Apr 14 10:02:25 When I issue a GET request to http://127.0.0.1:8008/failsafe # features/steps/patroni_api.py:63 2122s Apr 14 10:02:25 Then I receive a response code 200 # features/steps/patroni_api.py:100 2122s Apr 14 10:02:25 And I receive a response postgres-0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:100 2122s Apr 14 10:02:25 When I issue a PATCH request to http://127.0.0.1:8008/config with {"postgresql": {"parameters": {"wal_level": "logical"}},"slots":{"dcs_slot_1": null,"postgres_0":null}} # features/steps/patroni_api.py:73 2122s Apr 14 10:02:25 Then I receive a response code 200 # features/steps/patroni_api.py:100 2122s Apr 14 10:02:25 When I issue a PATCH request to http://127.0.0.1:8008/config with {"slots": {"dcs_slot_0": {"type": "logical", "database": "postgres", "plugin": "test_decoding"}}} # features/steps/patroni_api.py:73 2123s Apr 14 10:02:25 Then I receive a response code 200 # features/steps/patroni_api.py:100 2123s Apr 14 10:02:25 2123s Apr 14 10:02:25 @dcs-failsafe 2123s Apr 14 10:02:25 Scenario: check one-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:20 2123s Apr 14 10:02:25 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 2123s Apr 14 10:02:25 Then Response on GET http://127.0.0.1:8008/primary contains failsafe_mode_is_active after 12 seconds # features/steps/patroni_api.py:158 2127s Apr 14 10:02:30 And postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 2127s Apr 14 10:02:30 2127s Apr 14 10:02:30 @dcs-failsafe 2127s Apr 14 10:02:30 Scenario: check new replica isn't promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:26 2127s Apr 14 10:02:30 Given DCS is up # features/steps/dcs_failsafe_mode.py:9 2127s Apr 14 10:02:30 When I do a backup of postgres-0 # features/steps/custom_bootstrap.py:25 2127s Apr 14 10:02:30 And I shut down postgres-0 # features/steps/basic_replication.py:41 2129s Apr 14 10:02:32 When I start postgres-1 in a cluster batman from backup with no_leader # features/steps/dcs_failsafe_mode.py:14 2132s Apr 14 10:02:35 Then postgres-1 role is the replica after 12 seconds # features/steps/basic_replication.py:117 2132s Apr 14 10:02:35 2132s Apr 14 10:02:35 Scenario: check leader and replica are both in /failsafe key after leader is back # features/dcs_failsafe_mode.feature:33 2132s Apr 14 10:02:35 Given I start postgres-0 # features/steps/basic_replication.py:20 2134s Apr 14 10:02:37 And I start postgres-1 # features/steps/basic_replication.py:20 2134s Apr 14 10:02:37 Then "members/postgres-0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2135s Apr 14 10:02:38 And "members/postgres-1" key in DCS has state=running after 2 seconds # features/steps/cascading_replication.py:23 2135s Apr 14 10:02:38 And Response on GET http://127.0.0.1:8009/failsafe contains postgres-1 after 10 seconds # features/steps/patroni_api.py:158 2141s Apr 14 10:02:44 When I issue a GET request to http://127.0.0.1:8009/failsafe # features/steps/patroni_api.py:63 2141s Apr 14 10:02:44 Then I receive a response code 200 # features/steps/patroni_api.py:100 2141s Apr 14 10:02:44 And I receive a response postgres-0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:100 2141s Apr 14 10:02:44 And I receive a response postgres-1 http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:100 2141s Apr 14 10:02:44 2141s Apr 14 10:02:44 @dcs-failsafe @slot-advance 2141s Apr 14 10:02:44 Scenario: check leader and replica are functioning while DCS is down # features/dcs_failsafe_mode.feature:46 2141s Apr 14 10:02:44 Given I get all changes from physical slot dcs_slot_1 on postgres-0 # features/steps/slots.py:77 2141s Apr 14 10:02:44 Then physical slot dcs_slot_1 is in sync between postgres-0 and postgres-1 after 10 seconds # features/steps/slots.py:52 2144s Apr 14 10:02:47 And logical slot dcs_slot_0 is in sync between postgres-0 and postgres-1 after 10 seconds # features/steps/slots.py:52 2144s Apr 14 10:02:47 And DCS is down # features/steps/dcs_failsafe_mode.py:4 2144s Apr 14 10:02:47 Then Response on GET http://127.0.0.1:8008/primary contains failsafe_mode_is_active after 12 seconds # features/steps/patroni_api.py:158 2148s Apr 14 10:02:51 Then postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 2148s Apr 14 10:02:51 And postgres-1 role is the replica after 2 seconds # features/steps/basic_replication.py:117 2148s Apr 14 10:02:51 And replication works from postgres-0 to postgres-1 after 10 seconds # features/steps/basic_replication.py:124 2148s Apr 14 10:02:51 When I get all changes from logical slot dcs_slot_0 on postgres-0 # features/steps/slots.py:72 2148s Apr 14 10:02:51 And I get all changes from physical slot dcs_slot_1 on postgres-0 # features/steps/slots.py:77 2148s Apr 14 10:02:51 Then logical slot dcs_slot_0 is in sync between postgres-0 and postgres-1 after 20 seconds # features/steps/slots.py:52 2155s Apr 14 10:02:58 And physical slot dcs_slot_1 is in sync between postgres-0 and postgres-1 after 10 seconds # features/steps/slots.py:52 2155s Apr 14 10:02:58 2155s Apr 14 10:02:58 @dcs-failsafe 2155s Apr 14 10:02:58 Scenario: check primary is demoted when one replica is shut down and DCS is down # features/dcs_failsafe_mode.feature:61 2155s Apr 14 10:02:58 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 2155s Apr 14 10:02:58 And I kill postgres-1 # features/steps/basic_replication.py:46 2156s Apr 14 10:02:59 And I kill postmaster on postgres-1 # features/steps/basic_replication.py:56 2156s Apr 14 10:02:59 waiting for server to shut down.... done 2156s Apr 14 10:02:59 server stopped 2156s Apr 14 10:02:59 Then postgres-0 role is the replica after 12 seconds # features/steps/basic_replication.py:117 2158s Apr 14 10:03:01 2158s Apr 14 10:03:01 @dcs-failsafe 2158s Apr 14 10:03:01 Scenario: check known replica is promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:68 2158s Apr 14 10:03:01 Given I kill postgres-0 # features/steps/basic_replication.py:46 2159s Apr 14 10:03:02 And I shut down postmaster on postgres-0 # features/steps/basic_replication.py:51 2159s Apr 14 10:03:02 waiting for server to shut down.... done 2159s Apr 14 10:03:02 server stopped 2159s Apr 14 10:03:02 And DCS is up # features/steps/dcs_failsafe_mode.py:9 2159s Apr 14 10:03:02 When I start postgres-1 # features/steps/basic_replication.py:20 2162s Apr 14 10:03:05 Then "members/postgres-1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2162s Apr 14 10:03:05 And postgres-1 role is the primary after 25 seconds # features/steps/basic_replication.py:117 2163s Apr 14 10:03:06 2163s Apr 14 10:03:06 @dcs-failsafe 2163s Apr 14 10:03:06 Scenario: scale to three-node cluster # features/dcs_failsafe_mode.feature:77 2163s Apr 14 10:03:06 Given I start postgres-0 # features/steps/basic_replication.py:20 2166s Apr 14 10:03:09 And I configure and start postgres-2 with a tag replicatefrom postgres-0 # features/steps/cascading_replication.py:7 2169s Apr 14 10:03:12 Then "members/postgres-2" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2170s Apr 14 10:03:13 And "members/postgres-0" key in DCS has state=running after 20 seconds # features/steps/cascading_replication.py:23 2170s Apr 14 10:03:13 And Response on GET http://127.0.0.1:8008/failsafe contains postgres-2 after 10 seconds # features/steps/patroni_api.py:158 2171s Apr 14 10:03:14 And replication works from postgres-1 to postgres-0 after 10 seconds # features/steps/basic_replication.py:124 2173s Apr 14 10:03:15 And replication works from postgres-1 to postgres-2 after 10 seconds # features/steps/basic_replication.py:124 2174s Apr 14 10:03:17 2174s Apr 14 10:03:17 @dcs-failsafe @slot-advance 2174s Apr 14 10:03:17 Scenario: make sure permanent slots exist on replicas # features/dcs_failsafe_mode.feature:88 2174s Apr 14 10:03:17 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 2174s Apr 14 10:03:17 Then logical slot dcs_slot_2 is in sync between postgres-1 and postgres-0 after 20 seconds # features/steps/slots.py:52 2180s Apr 14 10:03:23 And logical slot dcs_slot_2 is in sync between postgres-1 and postgres-2 after 20 seconds # features/steps/slots.py:52 2181s Apr 14 10:03:24 When I get all changes from physical slot dcs_slot_1 on postgres-1 # features/steps/slots.py:77 2181s Apr 14 10:03:24 Then physical slot dcs_slot_1 is in sync between postgres-1 and postgres-0 after 10 seconds # features/steps/slots.py:52 2182s Apr 14 10:03:25 And physical slot dcs_slot_1 is in sync between postgres-1 and postgres-2 after 10 seconds # features/steps/slots.py:52 2182s Apr 14 10:03:25 And physical slot postgres_0 is in sync between postgres-1 and postgres-2 after 10 seconds # features/steps/slots.py:52 2182s Apr 14 10:03:25 And physical slot postgres_2 is in sync between postgres-0 and postgres-1 after 10 seconds # features/steps/slots.py:52 2182s Apr 14 10:03:25 2182s Apr 14 10:03:25 @dcs-failsafe 2182s Apr 14 10:03:25 Scenario: check three-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:99 2182s Apr 14 10:03:25 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 2182s Apr 14 10:03:25 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 2187s Apr 14 10:03:30 Then postgres-1 role is the primary after 10 seconds # features/steps/basic_replication.py:117 2187s Apr 14 10:03:30 And postgres-0 role is the replica after 2 seconds # features/steps/basic_replication.py:117 2187s Apr 14 10:03:30 And postgres-2 role is the replica after 2 seconds # features/steps/basic_replication.py:117 2187s Apr 14 10:03:30 2187s Apr 14 10:03:30 @dcs-failsafe @slot-advance 2187s Apr 14 10:03:30 Scenario: check that permanent slots are in sync between nodes while DCS is down # features/dcs_failsafe_mode.feature:108 2187s Apr 14 10:03:30 Given replication works from postgres-1 to postgres-0 after 10 seconds # features/steps/basic_replication.py:124 2187s Apr 14 10:03:30 And replication works from postgres-1 to postgres-2 after 10 seconds # features/steps/basic_replication.py:124 2188s Apr 14 10:03:31 When I get all changes from logical slot dcs_slot_2 on postgres-1 # features/steps/slots.py:72 2188s Apr 14 10:03:31 And I get all changes from physical slot dcs_slot_1 on postgres-1 # features/steps/slots.py:77 2188s Apr 14 10:03:31 Then logical slot dcs_slot_2 is in sync between postgres-1 and postgres-0 after 20 seconds # features/steps/slots.py:52 2194s Apr 14 10:03:37 And logical slot dcs_slot_2 is in sync between postgres-1 and postgres-2 after 20 seconds # features/steps/slots.py:52 2194s Apr 14 10:03:37 And physical slot dcs_slot_1 is in sync between postgres-1 and postgres-0 after 10 seconds # features/steps/slots.py:52 2194s Apr 14 10:03:37 And physical slot dcs_slot_1 is in sync between postgres-1 and postgres-2 after 10 seconds # features/steps/slots.py:52 2194s Apr 14 10:03:37 And physical slot postgres_0 is in sync between postgres-1 and postgres-2 after 10 seconds # features/steps/slots.py:52 2194s Apr 14 10:03:37 And physical slot postgres_2 is in sync between postgres-0 and postgres-1 after 10 seconds # features/steps/slots.py:52 2206s Apr 14 10:03:49 2206s Apr 14 10:03:49 Feature: ignored slots # features/ignored_slots.feature:1 2206s Apr 14 10:03:49 2206s Apr 14 10:03:49 Scenario: check ignored slots aren't removed on failover/switchover # features/ignored_slots.feature:2 2206s Apr 14 10:03:49 Given I start postgres-1 # features/steps/basic_replication.py:20 2209s Apr 14 10:03:52 Then postgres-1 is a leader after 10 seconds # features/steps/patroni_api.py:31 2209s Apr 14 10:03:52 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2209s Apr 14 10:03:52 When I issue a PATCH request to http://127.0.0.1:8009/config with {"ignore_slots": [{"name": "unmanaged_slot_0", "database": "postgres", "plugin": "test_decoding", "type": "logical"}, {"name": "unmanaged_slot_1", "database": "postgres", "plugin": "test_decoding"}, {"name": "unmanaged_slot_2", "database": "postgres"}, {"name": "unmanaged_slot_3"}], "postgresql": {"parameters": {"wal_level": "logical"}}} # features/steps/patroni_api.py:73 2209s Apr 14 10:03:52 Then I receive a response code 200 # features/steps/patroni_api.py:100 2209s Apr 14 10:03:52 And Response on GET http://127.0.0.1:8009/config contains ignore_slots after 10 seconds # features/steps/patroni_api.py:158 2209s Apr 14 10:03:52 When I shut down postgres-1 # features/steps/basic_replication.py:41 2211s Apr 14 10:03:54 And I start postgres-1 # features/steps/basic_replication.py:20 2213s Apr 14 10:03:56 Then postgres-1 is a leader after 10 seconds # features/steps/patroni_api.py:31 2216s Apr 14 10:03:59 And "members/postgres-1" key in DCS has role=primary after 10 seconds # features/steps/cascading_replication.py:23 2217s Apr 14 10:04:00 And postgres-1 role is the primary after 20 seconds # features/steps/basic_replication.py:117 2217s Apr 14 10:04:00 When I create a logical replication slot unmanaged_slot_0 on postgres-1 with the test_decoding plugin # features/steps/slots.py:9 2217s Apr 14 10:04:00 And I create a logical replication slot unmanaged_slot_1 on postgres-1 with the test_decoding plugin # features/steps/slots.py:9 2217s Apr 14 10:04:00 And I create a logical replication slot unmanaged_slot_2 on postgres-1 with the test_decoding plugin # features/steps/slots.py:9 2217s Apr 14 10:04:00 And I create a logical replication slot unmanaged_slot_3 on postgres-1 with the test_decoding plugin # features/steps/slots.py:9 2217s Apr 14 10:04:00 And I create a logical replication slot dummy_slot on postgres-1 with the test_decoding plugin # features/steps/slots.py:9 2217s Apr 14 10:04:00 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 2217s Apr 14 10:04:00 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 2217s Apr 14 10:04:00 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 2217s Apr 14 10:04:00 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 2217s Apr 14 10:04:00 When I start postgres-0 # features/steps/basic_replication.py:20 2220s Apr 14 10:04:03 Then "members/postgres-0" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 2220s Apr 14 10:04:03 And postgres-0 role is the secondary after 20 seconds # features/steps/basic_replication.py:117 2220s Apr 14 10:04:03 And replication works from postgres-1 to postgres-0 after 20 seconds # features/steps/basic_replication.py:124 2221s Apr 14 10:04:04 When I shut down postgres-1 # features/steps/basic_replication.py:41 2223s Apr 14 10:04:06 Then "members/postgres-0" key in DCS has role=primary after 10 seconds # features/steps/cascading_replication.py:23 2224s Apr 14 10:04:07 When I start postgres-1 # features/steps/basic_replication.py:20 2227s Apr 14 10:04:10 Then postgres-1 role is the secondary after 20 seconds # features/steps/basic_replication.py:117 2227s Apr 14 10:04:10 And "members/postgres-1" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 2227s Apr 14 10:04:10 And I sleep for 2 seconds # features/steps/patroni_api.py:41 2229s Apr 14 10:04:12 And postgres-1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:20 2229s Apr 14 10:04:12 And postgres-1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:20 2229s Apr 14 10:04:12 And postgres-1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:20 2229s Apr 14 10:04:12 And postgres-1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:20 2229s Apr 14 10:04:12 And postgres-1 does not have a replication slot named dummy_slot # features/steps/slots.py:41 2229s Apr 14 10:04:12 When I shut down postgres-0 # features/steps/basic_replication.py:41 2231s Apr 14 10:04:14 Then "members/postgres-1" key in DCS has role=primary after 10 seconds # features/steps/cascading_replication.py:23 2232s Apr 14 10:04:15 And postgres-1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:20 2232s Apr 14 10:04:15 And postgres-1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:20 2232s Apr 14 10:04:15 And postgres-1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:20 2232s Apr 14 10:04:15 And postgres-1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:20 2240s Apr 14 10:04:23 2240s Apr 14 10:04:23 Feature: nostream node # features/nostream_node.feature:1 2240s Apr 14 10:04:23 2240s Apr 14 10:04:23 Scenario: check nostream node is recovering from archive # features/nostream_node.feature:3 2240s Apr 14 10:04:23 When I start postgres-0 # features/steps/basic_replication.py:20 2244s Apr 14 10:04:26 And I configure and start postgres-1 with a tag nostream true # features/steps/cascading_replication.py:7 2247s Apr 14 10:04:29 Then "members/postgres-1" key in DCS has replication_state=in archive recovery after 10 seconds # features/steps/cascading_replication.py:23 2248s Apr 14 10:04:30 And replication works from postgres-0 to postgres-1 after 30 seconds # features/steps/basic_replication.py:124 2253s Apr 14 10:04:36 2253s Apr 14 10:04:36 @slot-advance 2253s Apr 14 10:04:36 Scenario: check permanent logical replication slots are not copied # features/nostream_node.feature:10 2253s Apr 14 10:04:36 When I issue a PATCH request to http://127.0.0.1:8008/config with {"postgresql": {"parameters": {"wal_level": "logical"}}, "slots":{"test_logical":{"type":"logical","database":"postgres","plugin":"test_decoding"}}} # features/steps/patroni_api.py:73 2253s Apr 14 10:04:36 Then I receive a response code 200 # features/steps/patroni_api.py:100 2253s Apr 14 10:04:36 When I run patronictl.py restart batman postgres-0 --force # features/steps/patroni_api.py:88 2254s Apr 14 10:04: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 2255s Apr 14 10:04:38 When I configure and start postgres-2 with a tag replicatefrom postgres-1 # features/steps/cascading_replication.py:7 2258s Apr 14 10:04:41 Then "members/postgres-2" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 2264s Apr 14 10:04:47 And postgres-1 does not have a replication slot named test_logical # features/steps/slots.py:41 2264s Apr 14 10:04:47 And postgres-2 does not have a replication slot named test_logical # features/steps/slots.py:41 2264s Apr 14 10:04:47 2264s Apr 14 10:04:47 @slot-advance 2264s Apr 14 10:04:47 Scenario: check that slots are written to the /status key # features/nostream_node.feature:21 2264s Apr 14 10:04:47 Given "status" key in DCS has postgres_0 in slots # features/steps/slots.py:118 2264s Apr 14 10:04:47 And "status" key in DCS has postgres_2 in slots # features/steps/slots.py:118 2264s Apr 14 10:04:47 And "status" key in DCS has test_logical in slots # features/steps/slots.py:118 2264s Apr 14 10:04:47 And "status" key in DCS has test_logical in slots # features/steps/slots.py:118 2264s Apr 14 10:04:47 And "status" key in DCS does not have postgres_1 in slots # features/steps/slots.py:124 2282s Apr 14 10:05:05 2282s Apr 14 10:05:05 Feature: patroni api # features/patroni_api.feature:1 2282s Apr 14 10:05:05 We should check that patroni correctly responds to valid and not-valid API requests. 2282s Apr 14 10:05:05 Scenario: check API requests on a stand-alone server # features/patroni_api.feature:4 2282s Apr 14 10:05:05 Given I start postgres-0 # features/steps/basic_replication.py:20 2292s Apr 14 10:05:15 And postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 2292s Apr 14 10:05:15 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:63 2292s Apr 14 10:05:15 Then I receive a response code 200 # features/steps/patroni_api.py:100 2292s Apr 14 10:05:15 And I receive a response state running # features/steps/patroni_api.py:100 2292s Apr 14 10:05:15 And I receive a response role primary # features/steps/patroni_api.py:100 2292s Apr 14 10:05:15 When I issue a GET request to http://127.0.0.1:8008/standby_leader # features/steps/patroni_api.py:63 2292s Apr 14 10:05:15 Then I receive a response code 503 # features/steps/patroni_api.py:100 2292s Apr 14 10:05:15 When I issue a GET request to http://127.0.0.1:8008/health # features/steps/patroni_api.py:63 2292s Apr 14 10:05:15 Then I receive a response code 200 # features/steps/patroni_api.py:100 2292s Apr 14 10:05:15 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:63 2292s Apr 14 10:05:15 Then I receive a response code 503 # features/steps/patroni_api.py:100 2292s Apr 14 10:05:15 When I issue a POST request to http://127.0.0.1:8008/reinitialize with {"force": true} # features/steps/patroni_api.py:73 2292s Apr 14 10:05:15 Then I receive a response code 503 # features/steps/patroni_api.py:100 2292s Apr 14 10:05:15 And I receive a response text I am the leader, can not reinitialize # features/steps/patroni_api.py:100 2292s Apr 14 10:05:15 When I run patronictl.py switchover batman --primary postgres-0 --force # features/steps/patroni_api.py:88 2293s Apr 14 10:05:16 Then I receive a response returncode 1 # features/steps/patroni_api.py:100 2293s Apr 14 10:05:16 And I receive a response output "Error: No candidates found to switchover to" # features/steps/patroni_api.py:100 2293s Apr 14 10:05:16 When I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres-0"} # features/steps/patroni_api.py:73 2293s Apr 14 10:05:16 Then I receive a response code 412 # features/steps/patroni_api.py:100 2293s Apr 14 10:05:16 And I receive a response text switchover is not possible: cluster does not have members except leader # features/steps/patroni_api.py:100 2293s Apr 14 10:05:16 When I issue an empty POST request to http://127.0.0.1:8008/failover # features/steps/patroni_api.py:68 2293s Apr 14 10:05:16 Then I receive a response code 400 # features/steps/patroni_api.py:100 2293s Apr 14 10:05:16 When I issue a POST request to http://127.0.0.1:8008/failover with {"foo": "bar"} # features/steps/patroni_api.py:73 2293s Apr 14 10:05:16 Then I receive a response code 400 # features/steps/patroni_api.py:100 2293s Apr 14 10:05:16 And I receive a response text "Failover could be performed only to a specific candidate" # features/steps/patroni_api.py:100 2293s Apr 14 10:05:16 2293s Apr 14 10:05:16 Scenario: check local configuration reload # features/patroni_api.feature:32 2293s Apr 14 10:05:16 Given I add tag new_tag new_value to postgres-0 config # features/steps/patroni_api.py:139 2293s Apr 14 10:05:16 And I issue an empty POST request to http://127.0.0.1:8008/reload # features/steps/patroni_api.py:68 2293s Apr 14 10:05:16 Then I receive a response code 202 # features/steps/patroni_api.py:100 2293s Apr 14 10:05:16 2293s Apr 14 10:05:16 Scenario: check dynamic configuration change via DCS # features/patroni_api.feature:37 2293s Apr 14 10:05:16 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 2293s Apr 14 10:05:16 Then I receive a response code 200 # features/steps/patroni_api.py:100 2293s Apr 14 10:05:16 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 11 seconds # features/steps/patroni_api.py:158 2296s Apr 14 10:05:19 When I issue a GET request to http://127.0.0.1:8008/config # features/steps/patroni_api.py:63 2296s Apr 14 10:05:19 Then I receive a response code 200 # features/steps/patroni_api.py:100 2296s Apr 14 10:05:19 And I receive a response ttl 20 # features/steps/patroni_api.py:100 2296s Apr 14 10:05:19 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:63 2296s Apr 14 10:05:19 Then I receive a response code 200 # features/steps/patroni_api.py:100 2296s Apr 14 10:05:19 And I receive a response tags {'new_tag': 'new_value'} # features/steps/patroni_api.py:100 2296s Apr 14 10:05:19 And I sleep for 4 seconds # features/steps/patroni_api.py:41 2300s Apr 14 10:05:23 2300s Apr 14 10:05:23 Scenario: check the scheduled restart # features/patroni_api.feature:49 2300s Apr 14 10:05:23 Given I run patronictl.py edit-config -p 'superuser_reserved_connections=6' --force batman # features/steps/patroni_api.py:88 2301s Apr 14 10:05:24 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 2301s Apr 14 10:05:24 And I receive a response output "+ superuser_reserved_connections: 6" # features/steps/patroni_api.py:100 2301s Apr 14 10:05:24 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 5 seconds # features/steps/patroni_api.py:158 2301s Apr 14 10:05:24 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 2301s Apr 14 10:05:24 Then I receive a response code 202 # features/steps/patroni_api.py:100 2301s Apr 14 10:05:24 And I sleep for 8 seconds # features/steps/patroni_api.py:41 2309s Apr 14 10:05:32 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 10 seconds # features/steps/patroni_api.py:158 2309s Apr 14 10:05:32 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 2309s Apr 14 10:05:32 Then I receive a response code 202 # features/steps/patroni_api.py:100 2309s Apr 14 10:05:32 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 2316s Apr 14 10:05:39 And postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 2317s Apr 14 10:05:40 2317s Apr 14 10:05:40 Scenario: check API requests for the primary-replica pair in the pause mode # features/patroni_api.feature:63 2317s Apr 14 10:05:40 Given I start postgres-1 # features/steps/basic_replication.py:20 2326s Apr 14 10:05:49 Then replication works from postgres-0 to postgres-1 after 20 seconds # features/steps/basic_replication.py:124 2327s Apr 14 10:05:50 When I run patronictl.py pause batman # features/steps/patroni_api.py:88 2328s Apr 14 10:05:51 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 2328s Apr 14 10:05:51 When I kill postmaster on postgres-1 # features/steps/basic_replication.py:56 2328s Apr 14 10:05:51 waiting for server to shut down.... done 2328s Apr 14 10:05:51 server stopped 2328s Apr 14 10:05:51 And I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:63 2328s Apr 14 10:05:51 Then I receive a response code 503 # features/steps/patroni_api.py:100 2328s Apr 14 10:05:51 And "members/postgres-1" key in DCS has state=stopped after 10 seconds # features/steps/cascading_replication.py:23 2329s Apr 14 10:05:52 When I run patronictl.py restart batman postgres-1 --force # features/steps/patroni_api.py:88 2332s Apr 14 10:05:55 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 2332s Apr 14 10:05:55 Then replication works from postgres-0 to postgres-1 after 20 seconds # features/steps/basic_replication.py:124 2333s Apr 14 10:05:56 And I sleep for 2 seconds # features/steps/patroni_api.py:41 2335s Apr 14 10:05:58 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:63 2335s Apr 14 10:05:58 Then I receive a response code 200 # features/steps/patroni_api.py:100 2335s Apr 14 10:05:58 And I receive a response state running # features/steps/patroni_api.py:100 2335s Apr 14 10:05:58 And I receive a response role replica # features/steps/patroni_api.py:100 2335s Apr 14 10:05:58 When I run patronictl.py reinit batman postgres-1 --force --wait # features/steps/patroni_api.py:88 2338s Apr 14 10:06:01 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 2338s Apr 14 10:06:01 And I receive a response output "Success: reinitialize for member postgres-1" # features/steps/patroni_api.py:100 2338s Apr 14 10:06:01 And postgres-1 role is the secondary after 30 seconds # features/steps/basic_replication.py:117 2339s Apr 14 10:06:02 And replication works from postgres-0 to postgres-1 after 20 seconds # features/steps/basic_replication.py:124 2341s Apr 14 10:06:03 When I run patronictl.py restart batman postgres-0 --force # features/steps/patroni_api.py:88 2342s Apr 14 10:06:05 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 2342s Apr 14 10:06:05 And I receive a response output "Success: restart on member postgres-0" # features/steps/patroni_api.py:100 2342s Apr 14 10:06:05 And postgres-0 role is the primary after 5 seconds # features/steps/basic_replication.py:117 2343s Apr 14 10:06:06 2343s Apr 14 10:06:06 Scenario: check the switchover via the API in the pause mode # features/patroni_api.feature:90 2343s Apr 14 10:06:06 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 2345s Apr 14 10:06:08 Then I receive a response code 200 # features/steps/patroni_api.py:100 2346s Apr 14 10:06:08 And postgres-1 is a leader after 5 seconds # features/steps/patroni_api.py:31 2346s Apr 14 10:06:08 And postgres-1 role is the primary after 10 seconds # features/steps/basic_replication.py:117 2346s Apr 14 10:06:08 And postgres-0 role is the secondary after 10 seconds # features/steps/basic_replication.py:117 2351s Apr 14 10:06:13 And replication works from postgres-1 to postgres-0 after 20 seconds # features/steps/basic_replication.py:124 2351s Apr 14 10:06:13 And "members/postgres-0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2352s Apr 14 10:06:14 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:63 2352s Apr 14 10:06:15 Then I receive a response code 503 # features/steps/patroni_api.py:100 2352s Apr 14 10:06:15 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:63 2352s Apr 14 10:06:15 Then I receive a response code 200 # features/steps/patroni_api.py:100 2352s Apr 14 10:06:15 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:63 2352s Apr 14 10:06:15 Then I receive a response code 200 # features/steps/patroni_api.py:100 2352s Apr 14 10:06:15 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:63 2352s Apr 14 10:06:15 Then I receive a response code 503 # features/steps/patroni_api.py:100 2352s Apr 14 10:06:15 2352s Apr 14 10:06:15 Scenario: check the scheduled switchover # features/patroni_api.feature:107 2352s Apr 14 10:06:15 Given I issue a scheduled switchover from postgres-1 to postgres-0 in 10 seconds # features/steps/patroni_api.py:119 2353s Apr 14 10:06:16 Then I receive a response returncode 1 # features/steps/patroni_api.py:100 2353s Apr 14 10:06:16 And I receive a response output "Can't schedule switchover in the paused state" # features/steps/patroni_api.py:100 2353s Apr 14 10:06:16 When I run patronictl.py resume batman # features/steps/patroni_api.py:88 2354s Apr 14 10:06:17 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 2354s Apr 14 10:06:17 Given I issue a scheduled switchover from postgres-1 to postgres-0 in 10 seconds # features/steps/patroni_api.py:119 2355s Apr 14 10:06:18 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 2355s Apr 14 10:06:18 And postgres-0 is a leader after 20 seconds # features/steps/patroni_api.py:31 2366s Apr 14 10:06:29 And postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 2366s Apr 14 10:06:29 And postgres-1 role is the secondary after 10 seconds # features/steps/basic_replication.py:117 2369s Apr 14 10:06:32 And replication works from postgres-0 to postgres-1 after 25 seconds # features/steps/basic_replication.py:124 2369s Apr 14 10:06:32 And "members/postgres-1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2370s Apr 14 10:06:33 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:63 2370s Apr 14 10:06:33 Then I receive a response code 200 # features/steps/patroni_api.py:100 2370s Apr 14 10:06:33 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:63 2370s Apr 14 10:06:33 Then I receive a response code 503 # features/steps/patroni_api.py:100 2370s Apr 14 10:06:33 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:63 2370s Apr 14 10:06:33 Then I receive a response code 503 # features/steps/patroni_api.py:100 2370s Apr 14 10:06:33 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:63 2370s Apr 14 10:06:33 Then I receive a response code 200 # features/steps/patroni_api.py:100 2381s Apr 14 10:06:44 2381s Apr 14 10:06:44 Feature: permanent slots # features/permanent_slots.feature:1 2381s Apr 14 10:06:44 2381s Apr 14 10:06:44 Scenario: check that physical permanent slots are created # features/permanent_slots.feature:2 2381s Apr 14 10:06:44 Given I start postgres-0 # features/steps/basic_replication.py:20 2390s Apr 14 10:06:53 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 2390s Apr 14 10:06:53 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2390s Apr 14 10:06:53 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 2390s Apr 14 10:06:53 Then I receive a response code 200 # features/steps/patroni_api.py:100 2390s Apr 14 10:06:53 And Response on GET http://127.0.0.1:8008/config contains slots after 10 seconds # features/steps/patroni_api.py:158 2390s Apr 14 10:06:53 When I start postgres-1 # features/steps/basic_replication.py:20 2393s Apr 14 10:06:56 And I configure and start postgres-2 with a tag nofailover true # features/steps/cascading_replication.py:7 2396s Apr 14 10:06:59 And I configure and start postgres-3 with a tag replicatefrom postgres-2 # features/steps/cascading_replication.py:7 2405s Apr 14 10:07:08 Then postgres-0 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:82 2405s Apr 14 10:07:08 And postgres-0 has a physical replication slot named postgres_1 after 10 seconds # features/steps/slots.py:82 2405s Apr 14 10:07:08 And postgres-0 has a physical replication slot named postgres_2 after 10 seconds # features/steps/slots.py:82 2405s Apr 14 10:07:08 And postgres-2 has a physical replication slot named postgres_3 after 10 seconds # features/steps/slots.py:82 2405s Apr 14 10:07:08 And postgres-2 does not have a replication slot named test_physical # features/steps/slots.py:41 2405s Apr 14 10:07:08 2405s Apr 14 10:07:08 @slot-advance 2405s Apr 14 10:07:08 Scenario: check that logical permanent slots are created # features/permanent_slots.feature:19 2405s Apr 14 10:07:08 Given I run patronictl.py restart batman postgres-0 --force # features/steps/patroni_api.py:88 2407s Apr 14 10:07:10 And I issue a PATCH request to http://127.0.0.1:8008/config with {"slots":{"test_logical":{"type":"logical","database":"postgres","plugin":"test_decoding"}}} # features/steps/patroni_api.py:73 2407s Apr 14 10:07:10 Then postgres-0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:20 2408s Apr 14 10:07:11 2408s Apr 14 10:07:11 @slot-advance 2408s Apr 14 10:07:11 Scenario: check that permanent slots are created on replicas # features/permanent_slots.feature:25 2408s Apr 14 10:07:11 Given postgres-1 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:20 2411s Apr 14 10:07:14 Then Logical slot test_logical is in sync between postgres-0 and postgres-1 after 10 seconds # features/steps/slots.py:52 2411s Apr 14 10:07:14 And Logical slot test_logical is in sync between postgres-0 and postgres-3 after 10 seconds # features/steps/slots.py:52 2412s Apr 14 10:07:15 And postgres-1 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:82 2412s Apr 14 10:07:15 And postgres-2 does not have a replication slot named test_logical # features/steps/slots.py:41 2412s Apr 14 10:07:15 And postgres-3 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:82 2412s Apr 14 10:07:15 2412s Apr 14 10:07:15 @slot-advance 2412s Apr 14 10:07:15 Scenario: check permanent physical slots that match with member names # features/permanent_slots.feature:34 2412s Apr 14 10:07:15 Given postgres-0 has a physical replication slot named postgres_3 after 2 seconds # features/steps/slots.py:82 2412s Apr 14 10:07:15 And postgres-1 has a physical replication slot named postgres_0 after 2 seconds # features/steps/slots.py:82 2412s Apr 14 10:07:15 And postgres-1 has a physical replication slot named postgres_2 after 2 seconds # features/steps/slots.py:82 2412s Apr 14 10:07:15 And postgres-1 has a physical replication slot named postgres_3 after 2 seconds # features/steps/slots.py:82 2412s Apr 14 10:07:15 And postgres-2 does not have a replication slot named postgres_0 # features/steps/slots.py:41 2412s Apr 14 10:07:15 And postgres-2 does not have a replication slot named postgres_1 # features/steps/slots.py:41 2412s Apr 14 10:07:15 And postgres-2 has a physical replication slot named postgres_3 after 2 seconds # features/steps/slots.py:82 2412s Apr 14 10:07:15 And postgres-3 has a physical replication slot named postgres_0 after 2 seconds # features/steps/slots.py:82 2412s Apr 14 10:07:15 And postgres-3 has a physical replication slot named postgres_1 after 2 seconds # features/steps/slots.py:82 2412s Apr 14 10:07:15 And postgres-3 has a physical replication slot named postgres_2 after 2 seconds # features/steps/slots.py:82 2412s Apr 14 10:07:15 2412s Apr 14 10:07:15 @slot-advance 2412s Apr 14 10:07:15 Scenario: check that permanent slots are advanced on replicas # features/permanent_slots.feature:47 2412s Apr 14 10:07:15 Given I add the table replicate_me to postgres-0 # features/steps/basic_replication.py:66 2412s Apr 14 10:07:15 When I get all changes from logical slot test_logical on postgres-0 # features/steps/slots.py:72 2412s Apr 14 10:07:15 And I get all changes from physical slot test_physical on postgres-0 # features/steps/slots.py:77 2412s Apr 14 10:07:15 Then Logical slot test_logical is in sync between postgres-0 and postgres-1 after 10 seconds # features/steps/slots.py:52 2414s Apr 14 10:07:17 And Physical slot test_physical is in sync between postgres-0 and postgres-1 after 10 seconds # features/steps/slots.py:52 2414s Apr 14 10:07:17 And Logical slot test_logical is in sync between postgres-0 and postgres-3 after 10 seconds # features/steps/slots.py:52 2414s Apr 14 10:07:17 And Physical slot test_physical is in sync between postgres-0 and postgres-3 after 10 seconds # features/steps/slots.py:52 2414s Apr 14 10:07:17 And Physical slot postgres_1 is in sync between postgres-0 and postgres-3 after 10 seconds # features/steps/slots.py:52 2414s Apr 14 10:07:17 And Physical slot postgres_3 is in sync between postgres-2 and postgres-0 after 20 seconds # features/steps/slots.py:52 2416s Apr 14 10:07:18 And Physical slot postgres_3 is in sync between postgres-2 and postgres-1 after 10 seconds # features/steps/slots.py:52 2416s Apr 14 10:07:18 2416s Apr 14 10:07:18 @slot-advance 2416s Apr 14 10:07:18 Scenario: check that permanent slots and member slots are written to the /status key # features/permanent_slots.feature:60 2416s Apr 14 10:07:18 Given "status" key in DCS has test_physical in slots # features/steps/slots.py:118 2416s Apr 14 10:07:18 And "status" key in DCS has postgres_0 in slots # features/steps/slots.py:118 2416s Apr 14 10:07:18 And "status" key in DCS has postgres_1 in slots # features/steps/slots.py:118 2416s Apr 14 10:07:18 And "status" key in DCS has postgres_2 in slots # features/steps/slots.py:118 2416s Apr 14 10:07:18 And "status" key in DCS has postgres_3 in slots # features/steps/slots.py:118 2416s Apr 14 10:07:18 2416s Apr 14 10:07:18 @slot-advance 2416s Apr 14 10:07:18 Scenario: check that only non-permanent member slots are written to the retain_slots in /status key # features/permanent_slots.feature:68 2416s Apr 14 10:07:18 Given "status" key in DCS has postgres_0 in retain_slots # features/steps/slots.py:118 2416s Apr 14 10:07:18 And "status" key in DCS has postgres_1 in retain_slots # features/steps/slots.py:118 2416s Apr 14 10:07:18 And "status" key in DCS has postgres_2 in retain_slots # features/steps/slots.py:118 2416s Apr 14 10:07:18 And "status" key in DCS does not have postgres_3 in retain_slots # features/steps/slots.py:124 2416s Apr 14 10:07:18 2416s Apr 14 10:07:18 Scenario: check permanent physical replication slot after failover # features/permanent_slots.feature:74 2416s Apr 14 10:07:18 Given I shut down postgres-3 # features/steps/basic_replication.py:41 2417s Apr 14 10:07:19 And I shut down postgres-2 # features/steps/basic_replication.py:41 2418s Apr 14 10:07:20 And I shut down postgres-0 # features/steps/basic_replication.py:41 2420s Apr 14 10:07:22 Then postgres-1 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:82 2420s Apr 14 10:07:22 And postgres-1 has a physical replication slot named postgres_0 after 10 seconds # features/steps/slots.py:82 2420s Apr 14 10:07:22 And postgres-1 has a physical replication slot named postgres_3 after 10 seconds # features/steps/slots.py:82 2420s Apr 14 10:07:22 When I start postgres-0 # features/steps/basic_replication.py:20 2423s Apr 14 10:07:26 Then postgres-0 role is the replica after 20 seconds # features/steps/basic_replication.py:117 2423s Apr 14 10:07:26 And physical replication slot named postgres_1 on postgres-0 has no xmin value after 10 seconds # features/steps/slots.py:98 2423s Apr 14 10:07:26 And postgres-0 has a physical replication slot named postgres_2 after 10 seconds # features/steps/slots.py:82 2423s Apr 14 10:07:26 And postgres-0 has a physical replication slot named postgres_3 after 10 seconds # features/steps/slots.py:82 2435s Apr 14 10:07:38 2435s Apr 14 10:07:38 Feature: priority replication # features/priority_failover.feature:1 2435s Apr 14 10:07:38 We should check that we can give nodes priority during failover 2435s Apr 14 10:07:38 Scenario: check failover priority 0 prevents leaderships # features/priority_failover.feature:4 2435s Apr 14 10:07:38 Given I configure and start postgres-0 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 2444s Apr 14 10:07:47 And I configure and start postgres-1 with a tag failover_priority 0 # features/steps/cascading_replication.py:7 2447s Apr 14 10:07:50 Then replication works from postgres-0 to postgres-1 after 20 seconds # features/steps/basic_replication.py:124 2448s Apr 14 10:07:51 When I shut down postgres-0 # features/steps/basic_replication.py:41 2450s Apr 14 10:07:53 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 2452s Apr 14 10:07:55 Then postgres-1 role is the secondary after 10 seconds # features/steps/basic_replication.py:117 2452s Apr 14 10:07:55 When I start postgres-0 # features/steps/basic_replication.py:20 2454s Apr 14 10:07:57 Then postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 2458s Apr 14 10:08:01 2458s Apr 14 10:08:01 Scenario: check higher failover priority is respected # features/priority_failover.feature:14 2458s Apr 14 10:08:01 Given I configure and start postgres-2 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 2467s Apr 14 10:08:10 And I configure and start postgres-3 with a tag failover_priority 2 # features/steps/cascading_replication.py:7 2476s Apr 14 10:08:19 Then replication works from postgres-0 to postgres-2 after 20 seconds # features/steps/basic_replication.py:124 2477s Apr 14 10:08:20 And replication works from postgres-0 to postgres-3 after 20 seconds # features/steps/basic_replication.py:124 2478s Apr 14 10:08:21 When I shut down postgres-0 # features/steps/basic_replication.py:41 2480s Apr 14 10:08:23 Then postgres-3 role is the primary after 10 seconds # features/steps/basic_replication.py:117 2481s Apr 14 10:08:24 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 2481s Apr 14 10:08:24 2481s Apr 14 10:08:24 Scenario: check conflicting configuration handling # features/priority_failover.feature:23 2481s Apr 14 10:08:24 When I set nofailover tag in postgres-2 config # features/steps/patroni_api.py:133 2481s Apr 14 10:08:24 And I issue an empty POST request to http://127.0.0.1:8010/reload # features/steps/patroni_api.py:68 2481s Apr 14 10:08:24 Then I receive a response code 202 # features/steps/patroni_api.py:100 2481s Apr 14 10:08:24 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 2483s Apr 14 10:08:26 And "members/postgres-2" key in DCS has tags={'failover_priority': '1', 'nofailover': True} after 10 seconds # features/steps/cascading_replication.py:23 2485s Apr 14 10:08:27 When I issue a POST request to http://127.0.0.1:8010/failover with {"candidate": "postgres-2"} # features/steps/patroni_api.py:73 2485s Apr 14 10:08:28 Then I receive a response code 412 # features/steps/patroni_api.py:100 2485s Apr 14 10:08:28 And I receive a response text "failover is not possible: no good candidates have been found" # features/steps/patroni_api.py:100 2485s Apr 14 10:08:28 When I reset nofailover tag in postgres-1 config # features/steps/patroni_api.py:133 2485s Apr 14 10:08:28 And I issue an empty POST request to http://127.0.0.1:8009/reload # features/steps/patroni_api.py:68 2485s Apr 14 10:08:28 Then I receive a response code 202 # features/steps/patroni_api.py:100 2485s Apr 14 10:08:28 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 2486s Apr 14 10:08:29 And "members/postgres-1" key in DCS has tags={'failover_priority': '0', 'nofailover': False} after 10 seconds # features/steps/cascading_replication.py:23 2487s Apr 14 10:08:30 And I issue a POST request to http://127.0.0.1:8009/failover with {"candidate": "postgres-1"} # features/steps/patroni_api.py:73 2489s Apr 14 10:08:32 Then I receive a response code 200 # features/steps/patroni_api.py:100 2489s Apr 14 10:08:32 And postgres-1 role is the primary after 10 seconds # features/steps/basic_replication.py:117 2502s Apr 14 10:08:45 2502s Apr 14 10:08:45 Feature: quorum commit # features/quorum_commit.feature:1 2502s Apr 14 10:08:45 Check basic workfrlows when quorum commit is enabled 2502s Apr 14 10:08:45 Scenario: check enable quorum commit and that the only leader promotes after restart # features/quorum_commit.feature:4 2502s Apr 14 10:08:45 Given I start postgres-0 # features/steps/basic_replication.py:20 2505s Apr 14 10:08:48 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 2505s Apr 14 10:08:48 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2505s Apr 14 10:08:48 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 2505s Apr 14 10:08:48 Then I receive a response code 200 # features/steps/patroni_api.py:100 2505s Apr 14 10:08:48 And sync key in DCS has leader=postgres-0 after 20 seconds # features/steps/quorum_commit.py:8 2505s Apr 14 10:08:48 And sync key in DCS has quorum=0 after 2 seconds # features/steps/quorum_commit.py:8 2505s Apr 14 10:08:48 And synchronous_standby_names on postgres-0 is set to '_empty_str_' after 2 seconds # features/steps/quorum_commit.py:39 2505s Apr 14 10:08:48 When I shut down postgres-0 # features/steps/basic_replication.py:41 2507s Apr 14 10:08:50 And sync key in DCS has leader=postgres-0 after 2 seconds # features/steps/quorum_commit.py:8 2507s Apr 14 10:08:50 When I start postgres-0 # features/steps/basic_replication.py:20 2509s Apr 14 10:08:52 Then postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 2512s Apr 14 10:08:55 When I issue a PATCH request to http://127.0.0.1:8008/config with {"synchronous_mode_strict": true} # features/steps/patroni_api.py:73 2512s Apr 14 10:08:55 Then synchronous_standby_names on postgres-0 is set to 'ANY 1 (*)' after 10 seconds # features/steps/quorum_commit.py:39 2512s Apr 14 10:08:55 2512s Apr 14 10:08:55 Scenario: check failover with one quorum standby # features/quorum_commit.feature:20 2512s Apr 14 10:08:55 Given I start postgres-1 # features/steps/basic_replication.py:20 2515s Apr 14 10:08:58 Then sync key in DCS has sync_standby=postgres-1 after 10 seconds # features/steps/quorum_commit.py:8 2517s Apr 14 10:09:00 And synchronous_standby_names on postgres-0 is set to 'ANY 1 ("postgres-1")' after 2 seconds # features/steps/quorum_commit.py:39 2517s Apr 14 10:09:00 When I shut down postgres-0 # features/steps/basic_replication.py:41 2519s Apr 14 10:09:02 Then postgres-1 role is the primary after 10 seconds # features/steps/basic_replication.py:117 2520s Apr 14 10:09:03 And sync key in DCS has quorum=0 after 10 seconds # features/steps/quorum_commit.py:8 2520s Apr 14 10:09:03 Then synchronous_standby_names on postgres-1 is set to 'ANY 1 (*)' after 10 seconds # features/steps/quorum_commit.py:39 2522s Apr 14 10:09:05 When I start postgres-0 # features/steps/basic_replication.py:20 2526s Apr 14 10:09:08 Then sync key in DCS has leader=postgres-1 after 10 seconds # features/steps/quorum_commit.py:8 2526s Apr 14 10:09:08 Then sync key in DCS has sync_standby=postgres-0 after 10 seconds # features/steps/quorum_commit.py:8 2528s Apr 14 10:09:10 And synchronous_standby_names on postgres-1 is set to 'ANY 1 ("postgres-0")' after 2 seconds # features/steps/quorum_commit.py:39 2528s Apr 14 10:09:10 2528s Apr 14 10:09:10 Scenario: check behavior with three nodes and different replication factor # features/quorum_commit.feature:33 2528s Apr 14 10:09:10 Given I start postgres-2 # features/steps/basic_replication.py:20 2531s Apr 14 10:09:14 Then sync key in DCS has sync_standby=postgres-0,postgres-2 after 10 seconds # features/steps/quorum_commit.py:8 2532s Apr 14 10:09:15 And sync key in DCS has quorum=1 after 2 seconds # features/steps/quorum_commit.py:8 2532s Apr 14 10:09:15 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 2532s Apr 14 10:09:15 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 2532s Apr 14 10:09:15 Then sync key in DCS has quorum=0 after 10 seconds # features/steps/quorum_commit.py:8 2533s Apr 14 10:09:16 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 2533s Apr 14 10:09:16 2533s Apr 14 10:09:16 Scenario: switch from quorum replication to good old multisync and back # features/quorum_commit.feature:42 2533s Apr 14 10:09:16 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 2533s Apr 14 10:09:16 And I shut down postgres-0 # features/steps/basic_replication.py:41 2534s Apr 14 10:09:17 Then synchronous_standby_names on postgres-1 is set to '"postgres-2"' after 10 seconds # features/steps/quorum_commit.py:39 2536s Apr 14 10:09:19 And sync key in DCS has sync_standby=postgres-2 after 10 seconds # features/steps/quorum_commit.py:8 2538s Apr 14 10:09:21 Then sync key in DCS has quorum=0 after 2 seconds # features/steps/quorum_commit.py:8 2538s Apr 14 10:09:21 When I issue a PATCH request to http://127.0.0.1:8009/config with {"synchronous_mode": "quorum"} # features/steps/patroni_api.py:73 2538s Apr 14 10:09:21 And I start postgres-0 # features/steps/basic_replication.py:20 2541s Apr 14 10:09:24 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 2541s Apr 14 10:09:24 And sync key in DCS has sync_standby=postgres-0,postgres-2 after 10 seconds # features/steps/quorum_commit.py:8 2541s Apr 14 10:09:24 Then sync key in DCS has quorum=1 after 2 seconds # features/steps/quorum_commit.py:8 2541s Apr 14 10:09:24 2541s Apr 14 10:09:24 Scenario: REST API and patronictl # features/quorum_commit.feature:54 2541s Apr 14 10:09:24 Given I run patronictl.py list batman # features/steps/patroni_api.py:88 2542s Apr 14 10:09:25 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 2542s Apr 14 10:09:25 And I receive a response output "Quorum Standby" # features/steps/patroni_api.py:100 2542s Apr 14 10:09:25 And Status code on GET http://127.0.0.1:8008/quorum is 200 after 3 seconds # features/steps/patroni_api.py:144 2542s Apr 14 10:09:25 And Status code on GET http://127.0.0.1:8010/quorum is 200 after 3 seconds # features/steps/patroni_api.py:144 2542s Apr 14 10:09:25 2542s Apr 14 10:09:25 Scenario: nosync node is removed from voters and synchronous_standby_names # features/quorum_commit.feature:61 2542s Apr 14 10:09:25 Given I add tag nosync true to postgres-2 config # features/steps/patroni_api.py:139 2542s Apr 14 10:09:25 When I issue an empty POST request to http://127.0.0.1:8010/reload # features/steps/patroni_api.py:68 2542s Apr 14 10:09:25 Then I receive a response code 202 # features/steps/patroni_api.py:100 2542s Apr 14 10:09:25 And sync key in DCS has quorum=0 after 10 seconds # features/steps/quorum_commit.py:8 2545s Apr 14 10:09:28 And sync key in DCS has sync_standby=postgres-0 after 10 seconds # features/steps/quorum_commit.py:8 2545s Apr 14 10:09:28 And synchronous_standby_names on postgres-1 is set to 'ANY 1 ("postgres-0")' after 2 seconds # features/steps/quorum_commit.py:39 2545s Apr 14 10:09:28 And Status code on GET http://127.0.0.1:8010/quorum is 503 after 10 seconds # features/steps/patroni_api.py:144 2560s Apr 14 10:09:43 2560s Apr 14 10:09:43 Feature: recovery # features/recovery.feature:1 2560s Apr 14 10:09:43 We want to check that crashed postgres is started back 2560s Apr 14 10:09:43 Scenario: check that timeline is not incremented when primary is started after crash # features/recovery.feature:4 2560s Apr 14 10:09:43 Given I start postgres-0 # features/steps/basic_replication.py:20 2563s Apr 14 10:09:46 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 2563s Apr 14 10:09:46 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2563s Apr 14 10:09:46 When I start postgres-1 # features/steps/basic_replication.py:20 2566s Apr 14 10:09:49 And I add the table foo to postgres-0 # features/steps/basic_replication.py:66 2566s Apr 14 10:09:49 Then table foo is present on postgres-1 after 20 seconds # features/steps/basic_replication.py:105 2567s Apr 14 10:09:50 When I kill postmaster on postgres-0 # features/steps/basic_replication.py:56 2567s Apr 14 10:09:50 waiting for server to shut down.... done 2567s Apr 14 10:09:50 server stopped 2567s Apr 14 10:09:50 Then postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 2569s Apr 14 10:09:52 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:63 2569s Apr 14 10:09:52 Then I receive a response code 200 # features/steps/patroni_api.py:100 2569s Apr 14 10:09:52 And I receive a response role primary # features/steps/patroni_api.py:100 2569s Apr 14 10:09:52 And I receive a response timeline 1 # features/steps/patroni_api.py:100 2569s Apr 14 10:09:52 And "members/postgres-0" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 2570s Apr 14 10:09:53 And replication works from postgres-0 to postgres-1 after 15 seconds # features/steps/basic_replication.py:124 2573s Apr 14 10:09:56 2573s Apr 14 10:09:56 Scenario: check immediate failover when master_start_timeout=0 # features/recovery.feature:20 2573s Apr 14 10:09:56 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 2573s Apr 14 10:09:56 Then I receive a response code 200 # features/steps/patroni_api.py:100 2573s Apr 14 10:09:56 And Response on GET http://127.0.0.1:8008/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:158 2573s Apr 14 10:09:56 When I kill postmaster on postgres-0 # features/steps/basic_replication.py:56 2573s Apr 14 10:09:56 waiting for server to shut down.... done 2573s Apr 14 10:09:56 server stopped 2573s Apr 14 10:09:56 Then postgres-1 is a leader after 10 seconds # features/steps/patroni_api.py:31 2575s Apr 14 10:09:58 And postgres-1 role is the primary after 10 seconds # features/steps/basic_replication.py:117 2576s Apr 14 10:09:59 2576s Apr 14 10:09:59 Scenario: check crashed primary demotes after failed attempt to start # features/recovery.feature:28 2576s Apr 14 10:09:59 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 2576s Apr 14 10:09:59 Then I receive a response code 200 # features/steps/patroni_api.py:100 2576s Apr 14 10:09:59 And postgres-0 role is the replica after 10 seconds # features/steps/basic_replication.py:117 2578s Apr 14 10:10:01 When I ensure postgres-1 fails to start after a failure # features/steps/recovery.py:6 2578s Apr 14 10:10:01 When I kill postmaster on postgres-1 # features/steps/basic_replication.py:56 2578s Apr 14 10:10:01 waiting for server to shut down.... done 2578s Apr 14 10:10:01 server stopped 2578s Apr 14 10:10:01 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 2581s Apr 14 10:10:04 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 2591s Apr 14 10:10:14 2591s Apr 14 10:10:14 Feature: standby cluster # features/standby_cluster.feature:1 2591s Apr 14 10:10:14 2591s Apr 14 10:10:14 Scenario: prepare the cluster with logical slots # features/standby_cluster.feature:2 2591s Apr 14 10:10:14 Given I start postgres-1 # features/steps/basic_replication.py:20 2600s Apr 14 10:10:23 Then postgres-1 is a leader after 10 seconds # features/steps/patroni_api.py:31 2600s Apr 14 10:10:23 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2600s Apr 14 10:10: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 2600s Apr 14 10:10:23 Then I receive a response code 200 # features/steps/patroni_api.py:100 2600s Apr 14 10:10:23 And Response on GET http://127.0.0.1:8009/config contains slots after 10 seconds # features/steps/patroni_api.py:158 2600s Apr 14 10:10:23 And I sleep for 3 seconds # features/steps/patroni_api.py:41 2603s Apr 14 10:10: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 2603s Apr 14 10:10:26 Then I receive a response code 200 # features/steps/patroni_api.py:100 2603s Apr 14 10:10:26 And I do a backup of postgres-1 # features/steps/custom_bootstrap.py:25 2603s Apr 14 10:10:26 When I start postgres-0 # features/steps/basic_replication.py:20 2606s Apr 14 10:10:29 Then "members/postgres-0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2606s Apr 14 10:10:29 And replication works from postgres-1 to postgres-0 after 15 seconds # features/steps/basic_replication.py:124 2608s Apr 14 10:10:30 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:63 2608s Apr 14 10:10:31 Then I receive a response code 200 # features/steps/patroni_api.py:100 2608s Apr 14 10:10:31 And I receive a response replication_state streaming # features/steps/patroni_api.py:100 2608s Apr 14 10:10:31 And "members/postgres-0" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 2608s Apr 14 10:10:31 2608s Apr 14 10:10:31 @slot-advance 2608s Apr 14 10:10:31 Scenario: check permanent logical slots are synced to the replica # features/standby_cluster.feature:22 2608s Apr 14 10:10:31 Given I run patronictl.py restart batman postgres-1 --force # features/steps/patroni_api.py:88 2609s Apr 14 10:10:32 Then Logical slot test_logical is in sync between postgres-0 and postgres-1 after 10 seconds # features/steps/slots.py:52 2614s Apr 14 10:10:37 2614s Apr 14 10:10:37 Scenario: Detach exiting node from the cluster # features/standby_cluster.feature:26 2614s Apr 14 10:10:37 When I shut down postgres-1 # features/steps/basic_replication.py:41 2616s Apr 14 10:10:39 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 2616s Apr 14 10:10:39 And "members/postgres-0" key in DCS has role=primary after 5 seconds # features/steps/cascading_replication.py:23 2617s Apr 14 10:10:40 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:63 2617s Apr 14 10:10:40 Then I receive a response code 200 # features/steps/patroni_api.py:100 2617s Apr 14 10:10:40 2617s Apr 14 10:10:40 Scenario: check replication of a single table in a standby cluster # features/standby_cluster.feature:33 2617s Apr 14 10:10:40 Given I start postgres-1 in a standby cluster batman1 as a clone of postgres-0 # features/steps/standby_cluster.py:23 2621s Apr 14 10:10:43 Then postgres-1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 2623s Apr 14 10:10:45 When I add the table foo to postgres-0 # features/steps/basic_replication.py:66 2623s Apr 14 10:10:46 Then table foo is present on postgres-1 after 20 seconds # features/steps/basic_replication.py:105 2623s Apr 14 10:10:46 When I issue a GET request to http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:63 2623s Apr 14 10:10:46 Then I receive a response code 200 # features/steps/patroni_api.py:100 2623s Apr 14 10:10:46 And I receive a response replication_state streaming # features/steps/patroni_api.py:100 2623s Apr 14 10:10:46 And I sleep for 3 seconds # features/steps/patroni_api.py:41 2626s Apr 14 10:10:49 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:63 2626s Apr 14 10:10:49 Then I receive a response code 503 # features/steps/patroni_api.py:100 2626s Apr 14 10:10:49 When I issue a GET request to http://127.0.0.1:8009/standby_leader # features/steps/patroni_api.py:63 2626s Apr 14 10:10:49 Then I receive a response code 200 # features/steps/patroni_api.py:100 2626s Apr 14 10:10:49 And I receive a response role standby_leader # features/steps/patroni_api.py:100 2626s Apr 14 10:10:49 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 2626s Apr 14 10:10:49 When I start postgres-2 in a cluster batman1 # features/steps/standby_cluster.py:12 2629s Apr 14 10:10:52 Then postgres-2 role is the replica after 24 seconds # features/steps/basic_replication.py:117 2629s Apr 14 10:10:52 And postgres-2 is replicating from postgres-1 after 10 seconds # features/steps/standby_cluster.py:52 2630s Apr 14 10:10:53 And table foo is present on postgres-2 after 20 seconds # features/steps/basic_replication.py:105 2630s Apr 14 10:10:53 When I issue a GET request to http://127.0.0.1:8010/patroni # features/steps/patroni_api.py:63 2630s Apr 14 10:10:53 Then I receive a response code 200 # features/steps/patroni_api.py:100 2630s Apr 14 10:10:53 And I receive a response replication_state streaming # features/steps/patroni_api.py:100 2630s Apr 14 10:10:53 And postgres-1 does not have a replication slot named test_logical # features/steps/slots.py:41 2630s Apr 14 10:10:53 2630s Apr 14 10:10:53 Scenario: check switchover # features/standby_cluster.feature:57 2630s Apr 14 10:10:53 Given I run patronictl.py switchover batman1 --force # features/steps/patroni_api.py:88 2633s Apr 14 10:10:56 Then Status code on GET http://127.0.0.1:8010/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:144 2633s Apr 14 10:10:56 And postgres-1 is replicating from postgres-2 after 32 seconds # features/steps/standby_cluster.py:52 2635s Apr 14 10:10:58 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 2635s Apr 14 10:10:58 2635s Apr 14 10:10:58 Scenario: check failover # features/standby_cluster.feature:63 2635s Apr 14 10:10:58 When I kill postgres-2 # features/steps/basic_replication.py:46 2636s Apr 14 10:10:59 And I kill postmaster on postgres-2 # features/steps/basic_replication.py:56 2636s Apr 14 10:10:59 waiting for server to shut down.... done 2636s Apr 14 10:10:59 server stopped 2636s Apr 14 10:10:59 Then postgres-1 is replicating from postgres-0 after 32 seconds # features/steps/standby_cluster.py:52 2655s Apr 14 10:11:18 And Status code on GET http://127.0.0.1:8009/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:144 2655s Apr 14 10:11:18 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:63 2655s Apr 14 10:11:18 Then I receive a response code 503 # features/steps/patroni_api.py:100 2655s Apr 14 10:11:18 And I receive a response role standby_leader # features/steps/patroni_api.py:100 2655s Apr 14 10:11:18 And replication works from postgres-0 to postgres-1 after 15 seconds # features/steps/basic_replication.py:124 2656s Apr 14 10:11:19 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 2670s Apr 14 10:11:33 2670s Apr 14 10:11:33 Feature: watchdog # features/watchdog.feature:1 2670s Apr 14 10:11:33 Verify that watchdog gets pinged and triggered under appropriate circumstances. 2670s Apr 14 10:11:33 Scenario: watchdog is opened and pinged # features/watchdog.feature:4 2670s Apr 14 10:11:33 Given I start postgres-0 with watchdog # features/steps/watchdog.py:17 2679s Apr 14 10:11:42 Then postgres-0 is a leader after 10 seconds # features/steps/patroni_api.py:31 2679s Apr 14 10:11:42 And postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 2679s Apr 14 10:11:42 And postgres-0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:22 2679s Apr 14 10:11:42 And postgres-0 watchdog has a 15 second timeout # features/steps/watchdog.py:35 2679s Apr 14 10:11:42 2679s Apr 14 10:11:42 Scenario: watchdog is reconfigured after global ttl changed # features/watchdog.feature:11 2679s Apr 14 10:11:42 Given I run patronictl.py edit-config batman -s ttl=30 --force # features/steps/patroni_api.py:88 2680s Apr 14 10:11:43 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 2680s Apr 14 10:11:43 And I receive a response output "+ttl: 30" # features/steps/patroni_api.py:100 2680s Apr 14 10:11:43 When I sleep for 4 seconds # features/steps/patroni_api.py:41 2684s Apr 14 10:11:47 Then postgres-0 watchdog has a 25 second timeout # features/steps/watchdog.py:35 2684s Apr 14 10:11:47 2684s Apr 14 10:11:47 Scenario: watchdog is disabled during pause # features/watchdog.feature:18 2684s Apr 14 10:11:47 Given I run patronictl.py pause batman # features/steps/patroni_api.py:88 2685s Apr 14 10:11:48 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 2685s Apr 14 10:11:48 When I sleep for 2 seconds # features/steps/patroni_api.py:41 2687s Apr 14 10:11:50 Then postgres-0 watchdog has been closed # features/steps/watchdog.py:30 2687s Apr 14 10:11:50 2687s Apr 14 10:11:50 Scenario: watchdog is opened and pinged after resume # features/watchdog.feature:24 2687s Apr 14 10:11:50 Given I reset postgres-0 watchdog state # features/steps/watchdog.py:40 2687s Apr 14 10:11:50 And I run patronictl.py resume batman # features/steps/patroni_api.py:88 2688s Apr 14 10:11:51 Then I receive a response returncode 0 # features/steps/patroni_api.py:100 2688s Apr 14 10:11:51 And postgres-0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:22 2689s Apr 14 10:11:52 2689s Apr 14 10:11:52 Scenario: watchdog is disabled when shutting down # features/watchdog.feature:30 2689s Apr 14 10:11:52 Given I shut down postgres-0 # features/steps/basic_replication.py:41 2691s Apr 14 10:11:54 Then postgres-0 watchdog has been closed # features/steps/watchdog.py:30 2691s Apr 14 10:11:54 2691s Apr 14 10:11:54 Scenario: watchdog is triggered if patroni stops responding # features/watchdog.feature:34 2691s Apr 14 10:11:54 Given I reset postgres-0 watchdog state # features/steps/watchdog.py:40 2691s Apr 14 10:11:54 And I start postgres-0 with watchdog # features/steps/watchdog.py:17 2693s Apr 14 10:11:56 Then postgres-0 role is the primary after 10 seconds # features/steps/basic_replication.py:117 2696s Apr 14 10:11:59 When postgres-0 hangs for 30 seconds # features/steps/watchdog.py:53 2696s Apr 14 10:11:59 Then postgres-0 watchdog is triggered after 30 seconds # features/steps/watchdog.py:45 2736s Apr 14 10:12:38 2737s Apr 14 10:12:40 Combined data file .coverage.autopkgtest.4118.XNJcYgxx 2737s Apr 14 10:12:40 Combined data file .coverage.autopkgtest.4121.XGtuEPex 2737s Apr 14 10:12:40 Combined data file .coverage.autopkgtest.4166.XSxiYKTx 2737s Apr 14 10:12:40 Combined data file .coverage.autopkgtest.4207.XtMPoDXx 2737s Apr 14 10:12:40 Combined data file .coverage.autopkgtest.4264.XezEXwJx 2737s Apr 14 10:12:40 Combined data file .coverage.autopkgtest.4310.XURlbBHx 2737s Apr 14 10:12:40 Combined data file .coverage.autopkgtest.4383.XHnfgefx 2737s Apr 14 10:12:40 Combined data file .coverage.autopkgtest.4432.XCdSUXfx 2737s Apr 14 10:12:40 Combined data file .coverage.autopkgtest.4441.XwFNlGCx 2737s Apr 14 10:12:40 Combined data file .coverage.autopkgtest.4522.XAMMpIex 2737s Apr 14 10:12:40 Combined data file .coverage.autopkgtest.4631.XmAgWmCx 2737s Apr 14 10:12:40 Combined data file .coverage.autopkgtest.4634.XUXBKRrx 2737s Apr 14 10:12:40 Combined data file .coverage.autopkgtest.4678.XNRgyKex 2737s Apr 14 10:12:40 Combined data file .coverage.autopkgtest.4729.XTOmMOix 2737s Apr 14 10:12:40 Combined data file .coverage.autopkgtest.4828.XhyYALrx 2737s Apr 14 10:12:40 Combined data file .coverage.autopkgtest.4832.XpmwAwwx 2737s Apr 14 10:12:40 Combined data file .coverage.autopkgtest.4835.XeMFEbix 2737s Apr 14 10:12:40 Combined data file .coverage.autopkgtest.4881.XTnWQrfx 2737s Apr 14 10:12:40 Combined data file .coverage.autopkgtest.4938.XOCBJGAx 2737s Apr 14 10:12:40 Combined data file .coverage.autopkgtest.5029.XcbHzlgx 2737s Apr 14 10:12:40 Combined data file .coverage.autopkgtest.5032.Xvdmqqtx 2737s Apr 14 10:12:40 Combined data file .coverage.autopkgtest.5355.XUVPaSgx 2737s Apr 14 10:12:40 Combined data file .coverage.autopkgtest.5434.XtKAUfex 2737s Apr 14 10:12:40 Combined data file .coverage.autopkgtest.5491.XEpEybzx 2737s Apr 14 10:12:40 Combined data file .coverage.autopkgtest.5768.XaTJUjGx 2737s Apr 14 10:12:40 Combined data file .coverage.autopkgtest.5771.XgFvrQcx 2737s Apr 14 10:12:40 Combined data file .coverage.autopkgtest.5824.XedNxGfx 2737s Apr 14 10:12:40 Combined data file .coverage.autopkgtest.5886.XVlQLnOx 2737s Apr 14 10:12:40 Combined data file .coverage.autopkgtest.5978.XKJieDwx 2737s Apr 14 10:12:40 Combined data file .coverage.autopkgtest.6076.XhywtdNx 2737s Apr 14 10:12:40 Combined data file .coverage.autopkgtest.6079.XKXPvMXx 2737s Apr 14 10:12:40 Combined data file .coverage.autopkgtest.6123.XSGYJwax 2737s Apr 14 10:12:40 Combined data file .coverage.autopkgtest.6190.XTtLiacx 2737s Apr 14 10:12:40 Combined data file .coverage.autopkgtest.6223.XygRCtTx 2737s Apr 14 10:12:40 Skipping duplicate data .coverage.autopkgtest.6346.XSlXtLyx 2737s Apr 14 10:12:40 Combined data file .coverage.autopkgtest.6352.XhphkCBx 2737s Apr 14 10:12:40 Combined data file .coverage.autopkgtest.6403.XaYAltIx 2737s Apr 14 10:12:40 Combined data file .coverage.autopkgtest.6419.XdBeTYJx 2737s Apr 14 10:12:40 Combined data file .coverage.autopkgtest.6459.XGYFNJux 2737s Apr 14 10:12:40 Combined data file .coverage.autopkgtest.6509.XgHcgGGx 2737s Apr 14 10:12:40 Combined data file .coverage.autopkgtest.6515.XHrMPXCx 2737s Apr 14 10:12:40 Combined data file .coverage.autopkgtest.6553.XiFXWHhx 2737s Apr 14 10:12:40 Combined data file .coverage.autopkgtest.6598.XabKgRhx 2737s Apr 14 10:12:40 Combined data file .coverage.autopkgtest.6768.XRfkAdAx 2737s Apr 14 10:12:40 Combined data file .coverage.autopkgtest.6771.XRXVAQjx 2737s Apr 14 10:12:40 Combined data file .coverage.autopkgtest.6778.XPAstdTx 2737s Apr 14 10:12:40 Skipping duplicate data .coverage.autopkgtest.6913.XPfvzFJx 2737s Apr 14 10:12:40 Combined data file .coverage.autopkgtest.6916.XIlvuMVx 2737s Apr 14 10:12:40 Combined data file .coverage.autopkgtest.6963.XdJbCzTx 2737s Apr 14 10:12:40 Combined data file .coverage.autopkgtest.7012.XVMsfurx 2737s Apr 14 10:12:40 Combined data file .coverage.autopkgtest.7064.XrrqbVLx 2737s Apr 14 10:12:40 Combined data file .coverage.autopkgtest.7111.Xpuheifx 2737s Apr 14 10:12:40 Combined data file .coverage.autopkgtest.7243.XMOxVKCx 2737s Apr 14 10:12:40 Skipping duplicate data .coverage.autopkgtest.7326.XOnouVjx 2737s Apr 14 10:12:40 Combined data file .coverage.autopkgtest.7329.XIFFtZex 2737s Apr 14 10:12:40 Combined data file .coverage.autopkgtest.7373.XMMlYcDx 2737s Apr 14 10:12:40 Combined data file .coverage.autopkgtest.7446.XWwEHaTx 2737s Apr 14 10:12:40 Combined data file .coverage.autopkgtest.7536.XjTBupDx 2737s Apr 14 10:12:40 Combined data file .coverage.autopkgtest.7594.XaUWSJmx 2737s Apr 14 10:12:40 Skipping duplicate data .coverage.autopkgtest.7919.XsSkrTRx 2737s Apr 14 10:12:40 Combined data file .coverage.autopkgtest.7922.XGTQIzcx 2737s Apr 14 10:12:40 Combined data file .coverage.autopkgtest.7973.XVxUBgwx 2737s Apr 14 10:12:40 Combined data file .coverage.autopkgtest.8036.XFhHvDWx 2737s Apr 14 10:12:40 Combined data file .coverage.autopkgtest.8128.XRGdhjrx 2737s Apr 14 10:12:40 Combined data file .coverage.autopkgtest.8178.XwHSqTUx 2737s Apr 14 10:12:40 Combined data file .coverage.autopkgtest.8234.XRJmiowx 2737s Apr 14 10:12:40 Combined data file .coverage.autopkgtest.8278.XjpSTkNx 2737s Apr 14 10:12:40 Skipping duplicate data .coverage.autopkgtest.8319.XtJkFgHx 2737s Apr 14 10:12:40 Combined data file .coverage.autopkgtest.8322.XvLdWPJx 2737s Apr 14 10:12:40 Combined data file .coverage.autopkgtest.8366.XeeKbcrx 2737s Apr 14 10:12:40 Combined data file .coverage.autopkgtest.8608.XuLkJTHx 2737s Apr 14 10:12:40 Combined data file .coverage.autopkgtest.8611.XFsBeMix 2737s Apr 14 10:12:40 Combined data file .coverage.autopkgtest.8674.XXlgwRWx 2737s Apr 14 10:12:40 Combined data file .coverage.autopkgtest.8735.XHhGlIkx 2737s Apr 14 10:12:40 Combined data file .coverage.autopkgtest.8838.XHGLuXax 2737s Apr 14 10:12:40 Combined data file .coverage.autopkgtest.8955.XqUeGZKx 2737s Apr 14 10:12:40 Combined data file .coverage.autopkgtest.9086.XuSrFkgx 2737s Apr 14 10:12:40 Combined data file .coverage.autopkgtest.9090.XVDotsbx 2737s Apr 14 10:12:40 Combined data file .coverage.autopkgtest.9134.XbpAWIUx 2737s Apr 14 10:12:40 Skipping duplicate data .coverage.autopkgtest.9137.XaSvxjDx 2737s Apr 14 10:12:40 Combined data file .coverage.autopkgtest.9141.XqBlUEbx 2737s Apr 14 10:12:40 Combined data file .coverage.autopkgtest.9153.XHlVogwx 2737s Apr 14 10:12:40 Combined data file .coverage.autopkgtest.9220.XKVcXpCx 2740s Apr 14 10:12:43 Name Stmts Miss Cover 2740s Apr 14 10:12:43 ---------------------------------------------------------------------------------------------------------- 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 101 96 5% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/cryptography/__about__.py 5 0 100% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/cryptography/__init__.py 3 0 100% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/cryptography/exceptions.py 26 5 81% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/cryptography/fernet.py 137 54 61% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/cryptography/hazmat/__init__.py 2 0 100% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/cryptography/hazmat/_oid.py 135 0 100% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/__init__.py 5 0 100% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/__init__.py 3 0 100% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/backend.py 135 67 50% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/__init__.py 0 0 100% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/__init__.py 0 0 100% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/_conditional.py 38 17 55% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/binding.py 51 4 92% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/__init__.py 1 0 100% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/ciphers/__init__.py 1 0 100% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/ciphers/algorithms.py 68 18 74% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/__init__.py 0 0 100% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_asymmetric.py 6 0 100% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_cipheralgorithm.py 23 1 96% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_serialization.py 79 35 56% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/__init__.py 0 0 100% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ec.py 172 22 87% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/padding.py 55 23 58% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/rsa.py 93 40 57% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/utils.py 14 5 64% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/__init__.py 4 0 100% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/algorithms.py 72 13 82% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/base.py 54 3 94% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/modes.py 140 50 64% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/constant_time.py 6 3 50% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hashes.py 127 20 84% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hmac.py 6 0 100% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/kdf/__init__.py 7 0 100% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/kdf/pbkdf2.py 27 5 81% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/padding.py 104 37 64% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/cryptography/utils.py 76 25 67% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/dateutil/__init__.py 13 4 69% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/dateutil/_version.py 13 3 77% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 810 436 46% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 183 150 18% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 240 206 14% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 151 114 25% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 794 626 21% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/dateutil/tz/win.py 152 149 2% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/patroni/__main__.py 201 66 67% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/patroni/api.py 788 292 63% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 15 84% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/patroni/collections.py 56 5 91% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/patroni/config.py 357 88 75% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/patroni/config_generator.py 212 159 25% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/patroni/daemon.py 76 3 96% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 710 99 86% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/patroni/dcs/raft.py 319 42 87% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/patroni/dynamic_loader.py 35 7 80% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/patroni/file_perm.py 47 10 79% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/patroni/global_config.py 87 0 100% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/patroni/ha.py 1359 310 77% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/patroni/log.py 235 79 66% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 825 170 79% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/patroni/postgresql/available_parameters/__init__.py 24 3 88% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 254 60 76% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 840 218 74% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 1 99% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 43 8 81% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/patroni/postgresql/mpp/__init__.py 89 11 88% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 83 51% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 416 127 69% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 349 37 89% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 154 10 94% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 157 24 85% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/patroni/psycopg.py 46 19 59% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/patroni/quorum.py 182 48 74% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/patroni/request.py 58 6 90% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/patroni/tags.py 38 0 100% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/patroni/utils.py 371 122 67% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/patroni/validator.py 309 215 30% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 42 79% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 35 74% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/psutil/__init__.py 950 629 34% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/psutil/_common.py 422 212 50% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/psutil/_compat.py 301 263 13% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1250 924 26% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/psutil/_psposix.py 95 38 60% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/pysyncobj/__init__.py 2 0 100% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/pysyncobj/atomic_replace.py 4 0 100% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/pysyncobj/config.py 80 1 99% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/pysyncobj/dns_resolver.py 52 10 81% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/pysyncobj/encryptor.py 17 2 88% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/pysyncobj/fast_queue.py 21 1 95% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/pysyncobj/journal.py 193 37 81% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/pysyncobj/monotonic.py 76 70 8% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/pysyncobj/node.py 49 10 80% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/pysyncobj/pickle.py 52 32 38% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/pysyncobj/pipe_notifier.py 24 2 92% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/pysyncobj/poller.py 87 41 53% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/pysyncobj/serializer.py 167 133 20% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/pysyncobj/syncobj.py 1057 501 53% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/pysyncobj/tcp_connection.py 250 40 84% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/pysyncobj/tcp_server.py 56 12 79% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/pysyncobj/transport.py 266 57 79% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/pysyncobj/utility.py 59 7 88% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/pysyncobj/version.py 1 0 100% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/pysyncobj/win_inet_pton.py 44 31 30% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/urllib3/__init__.py 49 15 69% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 63 45 29% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/urllib3/_collections.py 231 104 55% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 54 16 70% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/urllib3/_version.py 13 3 77% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/urllib3/connection.py 389 143 63% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 344 130 62% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/urllib3/exceptions.py 121 39 68% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/urllib3/http2/__init__.py 28 21 25% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/urllib3/http2/probe.py 49 31 37% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 88 62% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/urllib3/response.py 634 395 38% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 9 86% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 49 53% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 17 47% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/urllib3/util/retry.py 174 50 71% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 172 73 58% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 152 106 30% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 19 73% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/urllib3/util/url.py 203 76 63% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 9 65% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 38 22% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/yaml/parser.py 352 180 49% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/yaml/reader.py 122 30 75% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/yaml/scanner.py 758 415 45% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 2740s Apr 14 10:12:43 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 2740s Apr 14 10:12:43 patroni/__init__.py 13 2 85% 2740s Apr 14 10:12:43 patroni/__main__.py 201 201 0% 2740s Apr 14 10:12:43 patroni/api.py 788 788 0% 2740s Apr 14 10:12:43 patroni/async_executor.py 96 69 28% 2740s Apr 14 10:12:43 patroni/collections.py 56 15 73% 2740s Apr 14 10:12:43 patroni/config.py 357 179 50% 2740s Apr 14 10:12:43 patroni/config_generator.py 212 212 0% 2740s Apr 14 10:12:43 patroni/ctl.py 936 395 58% 2740s Apr 14 10:12:43 patroni/daemon.py 76 6 92% 2740s Apr 14 10:12:43 patroni/dcs/__init__.py 710 316 55% 2740s Apr 14 10:12:43 patroni/dcs/consul.py 482 482 0% 2740s Apr 14 10:12:43 patroni/dcs/etcd3.py 679 679 0% 2740s Apr 14 10:12:43 patroni/dcs/etcd.py 603 603 0% 2740s Apr 14 10:12:43 patroni/dcs/exhibitor.py 62 62 0% 2740s Apr 14 10:12:43 patroni/dcs/kubernetes.py 943 943 0% 2740s Apr 14 10:12:43 patroni/dcs/raft.py 319 73 77% 2740s Apr 14 10:12:43 patroni/dcs/zookeeper.py 289 289 0% 2740s Apr 14 10:12:43 patroni/dynamic_loader.py 35 7 80% 2740s Apr 14 10:12:43 patroni/exceptions.py 16 1 94% 2740s Apr 14 10:12:43 patroni/file_perm.py 47 17 64% 2740s Apr 14 10:12:43 patroni/global_config.py 87 19 78% 2740s Apr 14 10:12:43 patroni/ha.py 1359 1359 0% 2740s Apr 14 10:12:43 patroni/log.py 235 103 56% 2740s Apr 14 10:12:43 patroni/postgresql/__init__.py 825 653 21% 2740s Apr 14 10:12:43 patroni/postgresql/available_parameters/__init__.py 24 3 88% 2740s Apr 14 10:12:43 patroni/postgresql/bootstrap.py 254 224 12% 2740s Apr 14 10:12:43 patroni/postgresql/callback_executor.py 55 34 38% 2740s Apr 14 10:12:43 patroni/postgresql/cancellable.py 104 84 19% 2740s Apr 14 10:12:43 patroni/postgresql/config.py 840 720 14% 2740s Apr 14 10:12:43 patroni/postgresql/connection.py 75 50 33% 2740s Apr 14 10:12:43 patroni/postgresql/misc.py 43 30 30% 2740s Apr 14 10:12:43 patroni/postgresql/mpp/__init__.py 89 21 76% 2740s Apr 14 10:12:43 patroni/postgresql/mpp/citus.py 366 366 0% 2740s Apr 14 10:12:43 patroni/postgresql/postmaster.py 170 139 18% 2740s Apr 14 10:12:43 patroni/postgresql/rewind.py 416 416 0% 2740s Apr 14 10:12:43 patroni/postgresql/slots.py 349 300 14% 2740s Apr 14 10:12:43 patroni/postgresql/sync.py 154 114 26% 2740s Apr 14 10:12:43 patroni/postgresql/validator.py 157 52 67% 2740s Apr 14 10:12:43 patroni/psycopg.py 46 32 30% 2740s Apr 14 10:12:43 patroni/quorum.py 182 182 0% 2740s Apr 14 10:12:43 patroni/raft_controller.py 22 1 95% 2740s Apr 14 10:12:43 patroni/request.py 58 6 90% 2740s Apr 14 10:12:43 patroni/scripts/__init__.py 0 0 100% 2740s Apr 14 10:12:43 patroni/scripts/aws.py 59 59 0% 2740s Apr 14 10:12:43 patroni/scripts/barman/__init__.py 0 0 100% 2740s Apr 14 10:12:43 patroni/scripts/barman/cli.py 50 50 0% 2740s Apr 14 10:12:43 patroni/scripts/barman/config_switch.py 50 50 0% 2740s Apr 14 10:12:43 patroni/scripts/barman/recover.py 36 36 0% 2740s Apr 14 10:12:43 patroni/scripts/barman/utils.py 93 93 0% 2740s Apr 14 10:12:43 patroni/scripts/wale_restore.py 207 207 0% 2740s Apr 14 10:12:43 patroni/tags.py 38 11 71% 2740s Apr 14 10:12:43 patroni/utils.py 371 232 37% 2740s Apr 14 10:12:43 patroni/validator.py 309 222 28% 2740s Apr 14 10:12:43 patroni/version.py 1 0 100% 2740s Apr 14 10:12:43 patroni/watchdog/__init__.py 2 2 0% 2740s Apr 14 10:12:43 patroni/watchdog/base.py 203 203 0% 2740s Apr 14 10:12:43 patroni/watchdog/linux.py 135 135 0% 2740s Apr 14 10:12:43 ---------------------------------------------------------------------------------------------------------- 2740s Apr 14 10:12:43 TOTAL 41244 23448 43% 2740s Apr 14 10:12:43 13 features passed, 0 failed, 1 skipped 2740s Apr 14 10:12:43 63 scenarios passed, 0 failed, 6 skipped 2740s Apr 14 10:12:43 597 steps passed, 0 failed, 70 skipped, 0 undefined 2740s Apr 14 10:12:43 Took 10m19.324s 2740s + bash -c 'rm -rf features/output' 2740s + echo '### End 17 acceptance-raft ###' 2740s + rm -f /tmp/pgpass_postgres-0 /tmp/pgpass_postgres-1 /tmp/pgpass_postgres-2 /tmp/pgpass_postgres-3 2740s ### End 17 acceptance-raft ### 2740s ++ id -u 2740s + '[' 1000 -eq 0 ']' 2741s autopkgtest [10:12:44]: test acceptance-raft: -----------------------] 2741s autopkgtest [10:12:44]: test acceptance-raft: - - - - - - - - - - results - - - - - - - - - - 2741s acceptance-raft PASS 2742s autopkgtest [10:12:45]: @@@@@@@@@@@@@@@@@@@@ summary 2742s test PASS 2742s acceptance-etcd3-basic PASS 2742s acceptance-etcd3 PASS 2742s acceptance-etcd FAIL non-zero exit status 1 2742s acceptance-zookeeper PASS 2742s acceptance-raft PASS 2759s nova [W] Using flock in prodstack6-arm64 2759s Creating nova instance adt-plucky-arm64-patroni-20250414-092703-juju-7f2275-prod-proposed-migration-environment-2-50f70473-7be5-44d2-a8a9-290372098fac from image adt/ubuntu-plucky-arm64-server-20250414.img (UUID 9726ef59-66f3-4d3e-972f-cefa0b96da61)... 2759s nova [W] Timed out waiting for eabcd889-7b28-43e7-985f-b81c69dcf448 to get deleted. 2759s nova [W] Using flock in prodstack6-arm64 2759s Creating nova instance adt-plucky-arm64-patroni-20250414-092703-juju-7f2275-prod-proposed-migration-environment-2-50f70473-7be5-44d2-a8a9-290372098fac from image adt/ubuntu-plucky-arm64-server-20250414.img (UUID 9726ef59-66f3-4d3e-972f-cefa0b96da61)... 2759s nova [W] Timed out waiting for 830d7d46-8318-4a89-896b-95771031cd5b to get deleted. 2759s nova [W] Using flock in prodstack6-arm64 2759s Creating nova instance adt-plucky-arm64-patroni-20250414-092703-juju-7f2275-prod-proposed-migration-environment-2-50f70473-7be5-44d2-a8a9-290372098fac from image adt/ubuntu-plucky-arm64-server-20250414.img (UUID 9726ef59-66f3-4d3e-972f-cefa0b96da61)... 2759s nova [W] Timed out waiting for f3936bb4-7619-4326-924e-645423eecea9 to get deleted. 2759s nova [W] Using flock in prodstack6-arm64 2759s Creating nova instance adt-plucky-arm64-patroni-20250414-092703-juju-7f2275-prod-proposed-migration-environment-2-50f70473-7be5-44d2-a8a9-290372098fac from image adt/ubuntu-plucky-arm64-server-20250414.img (UUID 9726ef59-66f3-4d3e-972f-cefa0b96da61)... 2759s nova [W] Timed out waiting for fbb3120c-3f95-4c02-9637-aa0e52b4e927 to get deleted.