0s autopkgtest [10:26:06]: starting date and time: 2024-11-11 10:26:06+0000 0s autopkgtest [10:26:06]: git checkout: 6f3be7a8 Fix armhf LXD image generation for plucky 0s autopkgtest [10:26:06]: host juju-7f2275-prod-proposed-migration-environment-15; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.4ah92lie/out --timeout-copy=6000 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --apt-pocket=proposed=src:python-flake8 --apt-upgrade patroni --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=python-flake8/7.1.1-2 -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor builder-cpu2-ram4-disk20 --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-15@bos03-16.secgroup --name adt-plucky-amd64-patroni-20241111-102606-juju-7f2275-prod-proposed-migration-environment-15-76853db8-c880-4ef1-b08b-db8877d57c66 --image adt/ubuntu-plucky-amd64-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-15 --net-id=net_prod-proposed-migration-amd64 -e TERM=linux -e ''"'"'http_proxy=http://squid.internal:3128'"'"'' -e ''"'"'https_proxy=http://squid.internal:3128'"'"'' -e ''"'"'no_proxy=127.0.0.1,127.0.1.1,login.ubuntu.com,localhost,localdomain,novalocal,internal,archive.ubuntu.com,ports.ubuntu.com,security.ubuntu.com,ddebs.ubuntu.com,changelogs.ubuntu.com,keyserver.ubuntu.com,launchpadlibrarian.net,launchpadcontent.net,launchpad.net,10.24.0.0/24,keystone.ps5.canonical.com,objectstorage.prodstack5.canonical.com'"'"'' --mirror=http://ftpmaster.internal/ubuntu/ 63s autopkgtest [10:27:09]: testbed dpkg architecture: amd64 63s autopkgtest [10:27:09]: testbed apt version: 2.9.8 63s autopkgtest [10:27:09]: @@@@@@@@@@@@@@@@@@@@ test bed setup 64s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB] 64s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [91.3 kB] 64s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [7016 B] 64s Get:4 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [913 kB] 65s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [15.3 kB] 65s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/main amd64 Packages [132 kB] 65s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/main i386 Packages [78.4 kB] 65s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/restricted amd64 Packages [32.6 kB] 65s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/universe amd64 Packages [696 kB] 65s Get:10 http://ftpmaster.internal/ubuntu plucky-proposed/universe i386 Packages [293 kB] 65s Get:11 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse i386 Packages [13.0 kB] 65s Get:12 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse amd64 Packages [37.7 kB] 65s Fetched 2383 kB in 1s (2862 kB/s) 65s Reading package lists... 67s Reading package lists... 67s Building dependency tree... 67s Reading state information... 68s Calculating upgrade... 68s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 68s Reading package lists... 68s Building dependency tree... 68s Reading state information... 68s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 68s Hit:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease 69s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 69s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 69s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 69s Reading package lists... 69s Reading package lists... 70s Building dependency tree... 70s Reading state information... 70s Calculating upgrade... 70s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 70s Reading package lists... 70s Building dependency tree... 70s Reading state information... 70s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 73s autopkgtest [10:27:19]: testbed running kernel: Linux 6.11.0-8-generic #8-Ubuntu SMP PREEMPT_DYNAMIC Mon Sep 16 13:41:20 UTC 2024 73s autopkgtest [10:27:19]: @@@@@@@@@@@@@@@@@@@@ apt-source patroni 76s Get:1 http://ftpmaster.internal/ubuntu plucky/universe patroni 3.3.1-1 (dsc) [2851 B] 76s Get:2 http://ftpmaster.internal/ubuntu plucky/universe patroni 3.3.1-1 (tar) [1150 kB] 76s Get:3 http://ftpmaster.internal/ubuntu plucky/universe patroni 3.3.1-1 (diff) [23.1 kB] 76s gpgv: Signature made Tue Jul 2 12:54:38 2024 UTC 76s gpgv: using RSA key 9CA877749FAB2E4FA96862ECDC686A27B43481B0 76s gpgv: Can't check signature: No public key 76s dpkg-source: warning: cannot verify inline signature for ./patroni_3.3.1-1.dsc: no acceptable signature found 76s autopkgtest [10:27:21]: testing package patroni version 3.3.1-1 76s autopkgtest [10:27:22]: build not needed 78s autopkgtest [10:27:24]: test acceptance-etcd3: preparing testbed 81s Reading package lists... 81s Building dependency tree... 81s Reading state information... 81s Starting pkgProblemResolver with broken count: 0 81s Starting 2 pkgProblemResolver with broken count: 0 81s Done 81s The following additional packages will be installed: 81s etcd-server fonts-font-awesome fonts-lato libio-pty-perl libipc-run-perl 81s libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl libpq5 81s libtime-duration-perl libtimedate-perl libxslt1.1 moreutils patroni 81s patroni-doc postgresql postgresql-16 postgresql-client-16 81s postgresql-client-common postgresql-common python3-behave python3-cdiff 81s python3-click python3-colorama python3-coverage python3-dateutil 81s python3-dnspython python3-etcd python3-parse python3-parse-type 81s python3-prettytable python3-psutil python3-psycopg2 python3-six 81s python3-wcwidth python3-ydiff sphinx-rtd-theme-common ssl-cert 81s Suggested packages: 81s etcd-client vip-manager haproxy postgresql-doc postgresql-doc-16 81s python-coverage-doc python3-trio python3-aioquic python3-h2 python3-httpx 81s python3-httpcore etcd python-psycopg2-doc 81s Recommended packages: 81s javascript-common libjson-xs-perl 81s The following NEW packages will be installed: 81s autopkgtest-satdep etcd-server fonts-font-awesome fonts-lato libio-pty-perl 81s libipc-run-perl libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl 81s libpq5 libtime-duration-perl libtimedate-perl libxslt1.1 moreutils patroni 81s patroni-doc postgresql postgresql-16 postgresql-client-16 81s postgresql-client-common postgresql-common python3-behave python3-cdiff 81s python3-click python3-colorama python3-coverage python3-dateutil 81s python3-dnspython python3-etcd python3-parse python3-parse-type 81s python3-prettytable python3-psutil python3-psycopg2 python3-six 81s python3-wcwidth python3-ydiff sphinx-rtd-theme-common ssl-cert 81s 0 upgraded, 40 newly installed, 0 to remove and 0 not upgraded. 81s Need to get 35.8 MB/35.8 MB of archives. 81s After this operation, 123 MB of additional disk space will be used. 81s Get:1 /tmp/autopkgtest.WZS0fA/1-autopkgtest-satdep.deb autopkgtest-satdep amd64 0 [764 B] 81s Get:2 http://ftpmaster.internal/ubuntu plucky/main amd64 fonts-lato all 2.015-1 [2781 kB] 82s Get:3 http://ftpmaster.internal/ubuntu plucky/main amd64 libjson-perl all 4.10000-1 [81.9 kB] 82s Get:4 http://ftpmaster.internal/ubuntu plucky/main amd64 postgresql-client-common all 262 [36.7 kB] 82s Get:5 http://ftpmaster.internal/ubuntu plucky/main amd64 ssl-cert all 1.1.2ubuntu2 [18.0 kB] 82s Get:6 http://ftpmaster.internal/ubuntu plucky/main amd64 postgresql-common all 262 [162 kB] 82s Get:7 http://ftpmaster.internal/ubuntu plucky/universe amd64 etcd-server amd64 3.5.15-7 [11.6 MB] 82s Get:8 http://ftpmaster.internal/ubuntu plucky/main amd64 fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 83s Get:9 http://ftpmaster.internal/ubuntu plucky/main amd64 libio-pty-perl amd64 1:1.20-1build3 [31.4 kB] 83s Get:10 http://ftpmaster.internal/ubuntu plucky/main amd64 libipc-run-perl all 20231003.0-2 [91.5 kB] 83s Get:11 http://ftpmaster.internal/ubuntu plucky/main amd64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 83s Get:12 http://ftpmaster.internal/ubuntu plucky/main amd64 libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 83s Get:13 http://ftpmaster.internal/ubuntu plucky/main amd64 libjs-sphinxdoc all 7.4.7-4 [158 kB] 83s Get:14 http://ftpmaster.internal/ubuntu plucky/main amd64 libpq5 amd64 17.0-1 [249 kB] 83s Get:15 http://ftpmaster.internal/ubuntu plucky/main amd64 libtime-duration-perl all 1.21-2 [12.3 kB] 83s Get:16 http://ftpmaster.internal/ubuntu plucky/main amd64 libtimedate-perl all 2.3300-2 [34.0 kB] 83s Get:17 http://ftpmaster.internal/ubuntu plucky/main amd64 libxslt1.1 amd64 1.1.39-0exp1ubuntu1 [169 kB] 83s Get:18 http://ftpmaster.internal/ubuntu plucky/universe amd64 moreutils amd64 0.69-1 [56.4 kB] 83s Get:19 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-ydiff all 1.3-1 [18.4 kB] 83s Get:20 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-cdiff all 1.3-1 [1770 B] 83s Get:21 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-colorama all 0.4.6-4 [32.1 kB] 83s Get:22 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-click all 8.1.7-2 [79.5 kB] 83s Get:23 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-six all 1.16.0-7 [13.1 kB] 83s Get:24 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-dateutil all 2.9.0-2 [80.3 kB] 83s Get:25 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 83s Get:26 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-prettytable all 3.10.1-1 [34.0 kB] 83s Get:27 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-psutil amd64 5.9.8-2build2 [195 kB] 83s Get:28 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-psycopg2 amd64 2.9.9-2 [132 kB] 83s Get:29 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-dnspython all 2.6.1-1ubuntu1 [163 kB] 83s Get:30 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-etcd all 0.4.5-4 [31.9 kB] 83s Get:31 http://ftpmaster.internal/ubuntu plucky/universe amd64 patroni all 3.3.1-1 [264 kB] 83s Get:32 http://ftpmaster.internal/ubuntu plucky/main amd64 sphinx-rtd-theme-common all 3.0.1+dfsg-1 [1012 kB] 83s Get:33 http://ftpmaster.internal/ubuntu plucky/universe amd64 patroni-doc all 3.3.1-1 [497 kB] 83s Get:34 http://ftpmaster.internal/ubuntu plucky/main amd64 postgresql-client-16 amd64 16.4-3 [1278 kB] 83s Get:35 http://ftpmaster.internal/ubuntu plucky/main amd64 postgresql-16 amd64 16.4-3 [15.2 MB] 84s Get:36 http://ftpmaster.internal/ubuntu plucky/main amd64 postgresql all 16+262 [11.8 kB] 84s Get:37 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-parse all 1.20.2-1 [27.0 kB] 84s Get:38 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-parse-type all 0.6.4-1 [23.4 kB] 84s Get:39 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-behave all 1.2.6-6 [98.6 kB] 84s Get:40 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-coverage amd64 7.4.4+dfsg1-0ubuntu2 [147 kB] 84s Preconfiguring packages ... 84s Fetched 35.8 MB in 2s (15.8 MB/s) 84s Selecting previously unselected package fonts-lato. 84s (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 ... 75552 files and directories currently installed.) 84s Preparing to unpack .../00-fonts-lato_2.015-1_all.deb ... 84s Unpacking fonts-lato (2.015-1) ... 84s Selecting previously unselected package libjson-perl. 84s Preparing to unpack .../01-libjson-perl_4.10000-1_all.deb ... 84s Unpacking libjson-perl (4.10000-1) ... 84s Selecting previously unselected package postgresql-client-common. 84s Preparing to unpack .../02-postgresql-client-common_262_all.deb ... 84s Unpacking postgresql-client-common (262) ... 84s Selecting previously unselected package ssl-cert. 84s Preparing to unpack .../03-ssl-cert_1.1.2ubuntu2_all.deb ... 84s Unpacking ssl-cert (1.1.2ubuntu2) ... 84s Selecting previously unselected package postgresql-common. 84s Preparing to unpack .../04-postgresql-common_262_all.deb ... 84s Adding 'diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common' 84s Unpacking postgresql-common (262) ... 84s Selecting previously unselected package etcd-server. 84s Preparing to unpack .../05-etcd-server_3.5.15-7_amd64.deb ... 84s Unpacking etcd-server (3.5.15-7) ... 85s Selecting previously unselected package fonts-font-awesome. 85s Preparing to unpack .../06-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 85s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 85s Selecting previously unselected package libio-pty-perl. 85s Preparing to unpack .../07-libio-pty-perl_1%3a1.20-1build3_amd64.deb ... 85s Unpacking libio-pty-perl (1:1.20-1build3) ... 85s Selecting previously unselected package libipc-run-perl. 85s Preparing to unpack .../08-libipc-run-perl_20231003.0-2_all.deb ... 85s Unpacking libipc-run-perl (20231003.0-2) ... 85s Selecting previously unselected package libjs-jquery. 85s Preparing to unpack .../09-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 85s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 85s Selecting previously unselected package libjs-underscore. 85s Preparing to unpack .../10-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 85s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 85s Selecting previously unselected package libjs-sphinxdoc. 85s Preparing to unpack .../11-libjs-sphinxdoc_7.4.7-4_all.deb ... 85s Unpacking libjs-sphinxdoc (7.4.7-4) ... 85s Selecting previously unselected package libpq5:amd64. 85s Preparing to unpack .../12-libpq5_17.0-1_amd64.deb ... 85s Unpacking libpq5:amd64 (17.0-1) ... 85s Selecting previously unselected package libtime-duration-perl. 85s Preparing to unpack .../13-libtime-duration-perl_1.21-2_all.deb ... 85s Unpacking libtime-duration-perl (1.21-2) ... 85s Selecting previously unselected package libtimedate-perl. 85s Preparing to unpack .../14-libtimedate-perl_2.3300-2_all.deb ... 85s Unpacking libtimedate-perl (2.3300-2) ... 85s Selecting previously unselected package libxslt1.1:amd64. 85s Preparing to unpack .../15-libxslt1.1_1.1.39-0exp1ubuntu1_amd64.deb ... 85s Unpacking libxslt1.1:amd64 (1.1.39-0exp1ubuntu1) ... 85s Selecting previously unselected package moreutils. 85s Preparing to unpack .../16-moreutils_0.69-1_amd64.deb ... 85s Unpacking moreutils (0.69-1) ... 85s Selecting previously unselected package python3-ydiff. 85s Preparing to unpack .../17-python3-ydiff_1.3-1_all.deb ... 85s Unpacking python3-ydiff (1.3-1) ... 85s Selecting previously unselected package python3-cdiff. 85s Preparing to unpack .../18-python3-cdiff_1.3-1_all.deb ... 85s Unpacking python3-cdiff (1.3-1) ... 85s Selecting previously unselected package python3-colorama. 85s Preparing to unpack .../19-python3-colorama_0.4.6-4_all.deb ... 85s Unpacking python3-colorama (0.4.6-4) ... 85s Selecting previously unselected package python3-click. 85s Preparing to unpack .../20-python3-click_8.1.7-2_all.deb ... 85s Unpacking python3-click (8.1.7-2) ... 85s Selecting previously unselected package python3-six. 85s Preparing to unpack .../21-python3-six_1.16.0-7_all.deb ... 85s Unpacking python3-six (1.16.0-7) ... 85s Selecting previously unselected package python3-dateutil. 85s Preparing to unpack .../22-python3-dateutil_2.9.0-2_all.deb ... 85s Unpacking python3-dateutil (2.9.0-2) ... 85s Selecting previously unselected package python3-wcwidth. 85s Preparing to unpack .../23-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 85s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 85s Selecting previously unselected package python3-prettytable. 85s Preparing to unpack .../24-python3-prettytable_3.10.1-1_all.deb ... 85s Unpacking python3-prettytable (3.10.1-1) ... 85s Selecting previously unselected package python3-psutil. 85s Preparing to unpack .../25-python3-psutil_5.9.8-2build2_amd64.deb ... 85s Unpacking python3-psutil (5.9.8-2build2) ... 85s Selecting previously unselected package python3-psycopg2. 85s Preparing to unpack .../26-python3-psycopg2_2.9.9-2_amd64.deb ... 85s Unpacking python3-psycopg2 (2.9.9-2) ... 85s Selecting previously unselected package python3-dnspython. 85s Preparing to unpack .../27-python3-dnspython_2.6.1-1ubuntu1_all.deb ... 85s Unpacking python3-dnspython (2.6.1-1ubuntu1) ... 85s Selecting previously unselected package python3-etcd. 85s Preparing to unpack .../28-python3-etcd_0.4.5-4_all.deb ... 85s Unpacking python3-etcd (0.4.5-4) ... 85s Selecting previously unselected package patroni. 85s Preparing to unpack .../29-patroni_3.3.1-1_all.deb ... 85s Unpacking patroni (3.3.1-1) ... 85s Selecting previously unselected package sphinx-rtd-theme-common. 85s Preparing to unpack .../30-sphinx-rtd-theme-common_3.0.1+dfsg-1_all.deb ... 85s Unpacking sphinx-rtd-theme-common (3.0.1+dfsg-1) ... 85s Selecting previously unselected package patroni-doc. 85s Preparing to unpack .../31-patroni-doc_3.3.1-1_all.deb ... 85s Unpacking patroni-doc (3.3.1-1) ... 85s Selecting previously unselected package postgresql-client-16. 85s Preparing to unpack .../32-postgresql-client-16_16.4-3_amd64.deb ... 85s Unpacking postgresql-client-16 (16.4-3) ... 85s Selecting previously unselected package postgresql-16. 85s Preparing to unpack .../33-postgresql-16_16.4-3_amd64.deb ... 85s Unpacking postgresql-16 (16.4-3) ... 86s Selecting previously unselected package postgresql. 86s Preparing to unpack .../34-postgresql_16+262_all.deb ... 86s Unpacking postgresql (16+262) ... 86s Selecting previously unselected package python3-parse. 86s Preparing to unpack .../35-python3-parse_1.20.2-1_all.deb ... 86s Unpacking python3-parse (1.20.2-1) ... 86s Selecting previously unselected package python3-parse-type. 86s Preparing to unpack .../36-python3-parse-type_0.6.4-1_all.deb ... 86s Unpacking python3-parse-type (0.6.4-1) ... 86s Selecting previously unselected package python3-behave. 86s Preparing to unpack .../37-python3-behave_1.2.6-6_all.deb ... 86s Unpacking python3-behave (1.2.6-6) ... 86s Selecting previously unselected package python3-coverage. 86s Preparing to unpack .../38-python3-coverage_7.4.4+dfsg1-0ubuntu2_amd64.deb ... 86s Unpacking python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 86s Selecting previously unselected package autopkgtest-satdep. 86s Preparing to unpack .../39-1-autopkgtest-satdep.deb ... 86s Unpacking autopkgtest-satdep (0) ... 86s Setting up postgresql-client-common (262) ... 86s Setting up fonts-lato (2.015-1) ... 86s Setting up libio-pty-perl (1:1.20-1build3) ... 86s Setting up python3-colorama (0.4.6-4) ... 86s Setting up python3-ydiff (1.3-1) ... 86s Setting up libpq5:amd64 (17.0-1) ... 86s Setting up python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 86s Setting up python3-click (8.1.7-2) ... 87s Setting up python3-psutil (5.9.8-2build2) ... 87s Setting up python3-six (1.16.0-7) ... 87s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 87s Setting up ssl-cert (1.1.2ubuntu2) ... 87s Created symlink '/etc/systemd/system/multi-user.target.wants/ssl-cert.service' → '/usr/lib/systemd/system/ssl-cert.service'. 87s Setting up python3-psycopg2 (2.9.9-2) ... 88s Setting up libipc-run-perl (20231003.0-2) ... 88s Setting up libtime-duration-perl (1.21-2) ... 88s Setting up libtimedate-perl (2.3300-2) ... 88s Setting up python3-dnspython (2.6.1-1ubuntu1) ... 88s Setting up python3-parse (1.20.2-1) ... 88s Setting up libjson-perl (4.10000-1) ... 88s Setting up libxslt1.1:amd64 (1.1.39-0exp1ubuntu1) ... 88s Setting up python3-dateutil (2.9.0-2) ... 88s Setting up etcd-server (3.5.15-7) ... 88s info: Selecting UID from range 100 to 999 ... 88s 88s info: Selecting GID from range 100 to 999 ... 88s info: Adding system user `etcd' (UID 108) ... 88s info: Adding new group `etcd' (GID 112) ... 88s info: Adding new user `etcd' (UID 108) with group `etcd' ... 88s info: Creating home directory `/var/lib/etcd/' ... 88s Created symlink '/etc/systemd/system/etcd2.service' → '/usr/lib/systemd/system/etcd.service'. 88s Created symlink '/etc/systemd/system/multi-user.target.wants/etcd.service' → '/usr/lib/systemd/system/etcd.service'. 89s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 89s Setting up python3-prettytable (3.10.1-1) ... 89s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 89s Setting up sphinx-rtd-theme-common (3.0.1+dfsg-1) ... 89s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 89s Setting up moreutils (0.69-1) ... 89s Setting up python3-etcd (0.4.5-4) ... 89s Setting up postgresql-client-16 (16.4-3) ... 89s update-alternatives: using /usr/share/postgresql/16/man/man1/psql.1.gz to provide /usr/share/man/man1/psql.1.gz (psql.1.gz) in auto mode 90s Setting up python3-cdiff (1.3-1) ... 90s Setting up python3-parse-type (0.6.4-1) ... 90s Setting up postgresql-common (262) ... 90s 90s Creating config file /etc/postgresql-common/createcluster.conf with new version 90s Building PostgreSQL dictionaries from installed myspell/hunspell packages... 90s Removing obsolete dictionary files: 91s Created symlink '/etc/systemd/system/multi-user.target.wants/postgresql.service' → '/usr/lib/systemd/system/postgresql.service'. 91s Setting up libjs-sphinxdoc (7.4.7-4) ... 91s Setting up python3-behave (1.2.6-6) ... 91s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 91s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 91s /usr/lib/python3/dist-packages/behave/matchers.py:267: SyntaxWarning: invalid escape sequence '\d' 91s """Registers a custom type that will be available to "parse" 91s Setting up patroni (3.3.1-1) ... 91s Created symlink '/etc/systemd/system/multi-user.target.wants/patroni.service' → '/usr/lib/systemd/system/patroni.service'. 92s Setting up postgresql-16 (16.4-3) ... 92s Creating new PostgreSQL cluster 16/main ... 92s /usr/lib/postgresql/16/bin/initdb -D /var/lib/postgresql/16/main --auth-local peer --auth-host scram-sha-256 --no-instructions 92s The files belonging to this database system will be owned by user "postgres". 92s This user must also own the server process. 92s 92s The database cluster will be initialized with locale "C.UTF-8". 92s The default database encoding has accordingly been set to "UTF8". 92s The default text search configuration will be set to "english". 92s 92s Data page checksums are disabled. 92s 92s fixing permissions on existing directory /var/lib/postgresql/16/main ... ok 92s creating subdirectories ... ok 92s selecting dynamic shared memory implementation ... posix 92s selecting default max_connections ... 100 92s selecting default shared_buffers ... 128MB 92s selecting default time zone ... Etc/UTC 92s creating configuration files ... ok 92s running bootstrap script ... ok 92s performing post-bootstrap initialization ... ok 92s syncing data to disk ... ok 96s Setting up patroni-doc (3.3.1-1) ... 96s Setting up postgresql (16+262) ... 96s Setting up autopkgtest-satdep (0) ... 96s Processing triggers for man-db (2.12.1-3) ... 97s Processing triggers for libc-bin (2.40-1ubuntu3) ... 99s (Reading database ... 78763 files and directories currently installed.) 99s Removing autopkgtest-satdep (0) ... 100s autopkgtest [10:27:46]: test acceptance-etcd3: debian/tests/acceptance etcd3 100s autopkgtest [10:27:46]: test acceptance-etcd3: [----------------------- 100s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 100s ++ ls -1r /usr/lib/postgresql/ 100s ### PostgreSQL 16 acceptance-etcd3 ### 100s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 100s + '[' 16 == 10 -o 16 == 11 ']' 100s + echo '### PostgreSQL 16 acceptance-etcd3 ###' 100s + bash -c 'set -o pipefail; ETCD_UNSUPPORTED_ARCH= DCS=etcd3 PATH=/usr/lib/postgresql/16/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin behave | ts' 101s Nov 11 10:27:47 Feature: basic replication # features/basic_replication.feature:1 101s Nov 11 10:27:47 We should check that the basic bootstrapping, replication and failover works. 101s Nov 11 10:27:47 Scenario: check replication of a single table # features/basic_replication.feature:4 101s Nov 11 10:27:47 Given I start postgres0 # features/steps/basic_replication.py:8 104s Nov 11 10:27:50 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 104s Nov 11 10:27:50 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 104s Nov 11 10:27:50 When I issue a PATCH request to http://127.0.0.1:8008/config with {"ttl": 20, "synchronous_mode": true} # features/steps/patroni_api.py:71 104s Nov 11 10:27:50 Then I receive a response code 200 # features/steps/patroni_api.py:98 104s Nov 11 10:27:50 When I start postgres1 # features/steps/basic_replication.py:8 107s Nov 11 10:27:53 And I configure and start postgres2 with a tag replicatefrom postgres0 # features/steps/cascading_replication.py:7 110s Nov 11 10:27:56 And "sync" key in DCS has leader=postgres0 after 20 seconds # features/steps/cascading_replication.py:23 110s Nov 11 10:27:56 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 110s Nov 11 10:27:56 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 111s Nov 11 10:27:57 Then table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 115s Nov 11 10:28:01 115s Nov 11 10:28:01 Scenario: check restart of sync replica # features/basic_replication.feature:17 115s Nov 11 10:28:01 Given I shut down postgres2 # features/steps/basic_replication.py:29 116s Nov 11 10:28:02 Then "sync" key in DCS has sync_standby=postgres1 after 5 seconds # features/steps/cascading_replication.py:23 116s Nov 11 10:28:02 When I start postgres2 # features/steps/basic_replication.py:8 119s Nov 11 10:28:05 And I shut down postgres1 # features/steps/basic_replication.py:29 122s Nov 11 10:28:08 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 123s Nov 11 10:28:09 When I start postgres1 # features/steps/basic_replication.py:8 125s Nov 11 10:28:11 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 126s Nov 11 10:28:12 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 126s Nov 11 10:28:12 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 126s Nov 11 10:28:12 126s Nov 11 10:28:12 Scenario: check stuck sync replica # features/basic_replication.feature:28 126s Nov 11 10:28:12 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"pause": true, "maximum_lag_on_syncnode": 15000000, "postgresql": {"parameters": {"synchronous_commit": "remote_apply"}}} # features/steps/patroni_api.py:71 126s Nov 11 10:28:12 Then I receive a response code 200 # features/steps/patroni_api.py:98 126s Nov 11 10:28:12 And I create table on postgres0 # features/steps/basic_replication.py:73 126s Nov 11 10:28:12 And table mytest is present on postgres1 after 2 seconds # features/steps/basic_replication.py:93 127s Nov 11 10:28:13 And table mytest is present on postgres2 after 2 seconds # features/steps/basic_replication.py:93 127s Nov 11 10:28:13 When I pause wal replay on postgres2 # features/steps/basic_replication.py:64 127s Nov 11 10:28:13 And I load data on postgres0 # features/steps/basic_replication.py:84 127s Nov 11 10:28:13 Then "sync" key in DCS has sync_standby=postgres1 after 15 seconds # features/steps/cascading_replication.py:23 131s Nov 11 10:28:17 And I resume wal replay on postgres2 # features/steps/basic_replication.py:64 131s Nov 11 10:28:17 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 132s Nov 11 10:28:17 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:142 132s Nov 11 10:28:18 When I issue a PATCH request to http://127.0.0.1:8008/config with {"pause": null, "maximum_lag_on_syncnode": -1, "postgresql": {"parameters": {"synchronous_commit": "on"}}} # features/steps/patroni_api.py:71 132s Nov 11 10:28:18 Then I receive a response code 200 # features/steps/patroni_api.py:98 132s Nov 11 10:28:18 And I drop table on postgres0 # features/steps/basic_replication.py:73 132s Nov 11 10:28:18 132s Nov 11 10:28:18 Scenario: check multi sync replication # features/basic_replication.feature:44 132s Nov 11 10:28:18 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"synchronous_node_count": 2} # features/steps/patroni_api.py:71 132s Nov 11 10:28:18 Then I receive a response code 200 # features/steps/patroni_api.py:98 132s Nov 11 10:28:18 Then "sync" key in DCS has sync_standby=postgres1,postgres2 after 10 seconds # features/steps/cascading_replication.py:23 136s Nov 11 10:28:22 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 136s Nov 11 10:28:22 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 136s Nov 11 10:28:22 When I issue a PATCH request to http://127.0.0.1:8008/config with {"synchronous_node_count": 1} # features/steps/patroni_api.py:71 136s Nov 11 10:28:22 Then I receive a response code 200 # features/steps/patroni_api.py:98 136s Nov 11 10:28:22 And I shut down postgres1 # features/steps/basic_replication.py:29 139s Nov 11 10:28:25 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 140s Nov 11 10:28:26 When I start postgres1 # features/steps/basic_replication.py:8 143s Nov 11 10:28:29 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 143s Nov 11 10:28:29 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 143s Nov 11 10:28:29 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 143s Nov 11 10:28:29 143s Nov 11 10:28:29 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 143s Nov 11 10:28:29 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 144s Nov 11 10:28:30 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 144s Nov 11 10:28:30 When I sleep for 2 seconds # features/steps/patroni_api.py:39 146s Nov 11 10:28:32 And I shut down postgres0 # features/steps/basic_replication.py:29 147s Nov 11 10:28:33 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 149s Nov 11 10:28:35 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 149s Nov 11 10:28:35 And postgres2 role is the primary after 24 seconds # features/steps/basic_replication.py:105 168s Nov 11 10:28:54 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:156 171s Nov 11 10:28:57 And there is a postgres2_cb.log with "on_role_change master batman" in postgres2 data directory # features/steps/cascading_replication.py:12 171s Nov 11 10:28:57 When I issue a PATCH request to http://127.0.0.1:8010/config with {"synchronous_mode": null, "master_start_timeout": 0} # features/steps/patroni_api.py:71 171s Nov 11 10:28:57 Then I receive a response code 200 # features/steps/patroni_api.py:98 171s Nov 11 10:28:57 When I add the table bar to postgres2 # features/steps/basic_replication.py:54 171s Nov 11 10:28:57 Then table bar is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 173s Nov 11 10:28:59 And Response on GET http://127.0.0.1:8010/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 173s Nov 11 10:28:59 173s Nov 11 10:28:59 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 173s Nov 11 10:28:59 Given I add the table splitbrain to postgres0 # features/steps/basic_replication.py:54 173s Nov 11 10:28:59 And I start postgres0 # features/steps/basic_replication.py:8 173s Nov 11 10:28:59 Then postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 179s Nov 11 10:29:05 When I add the table buz to postgres2 # features/steps/basic_replication.py:54 179s Nov 11 10:29:05 Then table buz is present on postgres0 after 20 seconds # features/steps/basic_replication.py:93 179s Nov 11 10:29:05 179s Nov 11 10:29:05 @reject-duplicate-name 179s Nov 11 10:29:05 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 179s Nov 11 10:29:05 Given I start duplicate postgres0 on port 8011 # features/steps/basic_replication.py:13 181s Nov 11 10:29:07 Then there is one of ["Can't start; there is already a node named 'postgres0' running"] CRITICAL in the dup-postgres0 patroni log after 5 seconds # features/steps/basic_replication.py:121 185s Nov 11 10:29:11 185s Nov 11 10:29:11 Feature: cascading replication # features/cascading_replication.feature:1 185s Nov 11 10:29:11 We should check that patroni can do base backup and streaming from the replica 185s Nov 11 10:29:11 Scenario: check a base backup and streaming replication from a replica # features/cascading_replication.feature:4 185s Nov 11 10:29:11 Given I start postgres0 # features/steps/basic_replication.py:8 188s Nov 11 10:29:14 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 189s Nov 11 10:29:15 And I configure and start postgres1 with a tag clonefrom true # features/steps/cascading_replication.py:7 192s Nov 11 10:29:18 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 193s Nov 11 10:29:19 And I create label with "postgres0" in postgres0 data directory # features/steps/cascading_replication.py:18 193s Nov 11 10:29:19 And I create label with "postgres1" in postgres1 data directory # features/steps/cascading_replication.py:18 193s Nov 11 10:29:19 And "members/postgres1" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 193s Nov 11 10:29:19 And I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 196s Nov 11 10:29:22 Then replication works from postgres0 to postgres2 after 30 seconds # features/steps/basic_replication.py:112 197s Nov 11 10:29:23 And there is a label with "postgres1" in postgres2 data directory # features/steps/cascading_replication.py:12 203s Nov 11 10:29:29 203s SKIP FEATURE citus: Citus extenstion isn't available 203s Nov 11 10:29:29 Feature: citus # features/citus.feature:1 203s Nov 11 10:29:29 We should check that coordinator discovers and registers workers and clients don't have errors when worker cluster switches over 203s Nov 11 10:29:29 Scenario: check that worker cluster is registered in the coordinator # features/citus.feature:4 203s SKIP Scenario check that worker cluster is registered in the coordinator: Citus extenstion isn't available 203s SKIP Scenario coordinator failover updates pg_dist_node: Citus extenstion isn't available 203s SKIP Scenario worker switchover doesn't break client queries on the coordinator: Citus extenstion isn't available 203s SKIP Scenario worker primary restart doesn't break client queries on the coordinator: Citus extenstion isn't available 203s SKIP Scenario check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node: Citus extenstion isn't available 203s Nov 11 10:29:29 Given I start postgres0 in citus group 0 # None 203s Nov 11 10:29:29 And I start postgres2 in citus group 1 # None 203s Nov 11 10:29:29 Then postgres0 is a leader in a group 0 after 10 seconds # None 203s Nov 11 10:29:29 And postgres2 is a leader in a group 1 after 10 seconds # None 203s Nov 11 10:29:29 When I start postgres1 in citus group 0 # None 203s Nov 11 10:29:29 And I start postgres3 in citus group 1 # None 203s Nov 11 10:29:29 Then replication works from postgres0 to postgres1 after 15 seconds # None 203s Nov 11 10:29:29 Then replication works from postgres2 to postgres3 after 15 seconds # None 203s Nov 11 10:29:29 And postgres0 is registered in the postgres0 as the primary in group 0 after 5 seconds # None 203s Nov 11 10:29:29 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 203s Nov 11 10:29:29 203s Nov 11 10:29:29 Scenario: coordinator failover updates pg_dist_node # features/citus.feature:16 203s Nov 11 10:29:29 Given I run patronictl.py failover batman --group 0 --candidate postgres1 --force # None 203s Nov 11 10:29:29 Then postgres1 role is the primary after 10 seconds # None 203s Nov 11 10:29:29 And "members/postgres0" key in a group 0 in DCS has state=running after 15 seconds # None 203s Nov 11 10:29:29 And replication works from postgres1 to postgres0 after 15 seconds # None 203s Nov 11 10:29:29 And postgres1 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 203s Nov 11 10:29:29 And "sync" key in a group 0 in DCS has sync_standby=postgres0 after 15 seconds # None 203s Nov 11 10:29:29 When I run patronictl.py switchover batman --group 0 --candidate postgres0 --force # None 203s Nov 11 10:29:29 Then postgres0 role is the primary after 10 seconds # None 203s Nov 11 10:29:29 And replication works from postgres0 to postgres1 after 15 seconds # None 203s Nov 11 10:29:29 And postgres0 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 203s Nov 11 10:29:29 And "sync" key in a group 0 in DCS has sync_standby=postgres1 after 15 seconds # None 203s Nov 11 10:29:29 203s Nov 11 10:29:29 Scenario: worker switchover doesn't break client queries on the coordinator # features/citus.feature:29 203s Nov 11 10:29:29 Given I create a distributed table on postgres0 # None 203s Nov 11 10:29:29 And I start a thread inserting data on postgres0 # None 203s Nov 11 10:29:29 When I run patronictl.py switchover batman --group 1 --force # None 203s Nov 11 10:29:29 Then I receive a response returncode 0 # None 203s Nov 11 10:29:29 And postgres3 role is the primary after 10 seconds # None 203s Nov 11 10:29:29 And "members/postgres2" key in a group 1 in DCS has state=running after 15 seconds # None 203s Nov 11 10:29:29 And replication works from postgres3 to postgres2 after 15 seconds # None 203s Nov 11 10:29:29 And postgres3 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 203s Nov 11 10:29:29 And "sync" key in a group 1 in DCS has sync_standby=postgres2 after 15 seconds # None 203s Nov 11 10:29:29 And a thread is still alive # None 203s Nov 11 10:29:29 When I run patronictl.py switchover batman --group 1 --force # None 203s Nov 11 10:29:29 Then I receive a response returncode 0 # None 203s Nov 11 10:29:29 And postgres2 role is the primary after 10 seconds # None 203s Nov 11 10:29:29 And replication works from postgres2 to postgres3 after 15 seconds # None 203s Nov 11 10:29:29 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 203s Nov 11 10:29:29 And "sync" key in a group 1 in DCS has sync_standby=postgres3 after 15 seconds # None 203s Nov 11 10:29:29 And a thread is still alive # None 203s Nov 11 10:29:29 When I stop a thread # None 203s Nov 11 10:29:29 Then a distributed table on postgres0 has expected rows # None 203s Nov 11 10:29:29 203s Nov 11 10:29:29 Scenario: worker primary restart doesn't break client queries on the coordinator # features/citus.feature:50 203s Nov 11 10:29:29 Given I cleanup a distributed table on postgres0 # None 203s Nov 11 10:29:29 And I start a thread inserting data on postgres0 # None 203s Nov 11 10:29:29 When I run patronictl.py restart batman postgres2 --group 1 --force # None 203s Nov 11 10:29:29 Then I receive a response returncode 0 # None 203s Nov 11 10:29:29 And postgres2 role is the primary after 10 seconds # None 203s Nov 11 10:29:29 And replication works from postgres2 to postgres3 after 15 seconds # None 203s Nov 11 10:29:29 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 203s Nov 11 10:29:29 And a thread is still alive # None 203s Nov 11 10:29:29 When I stop a thread # None 203s Nov 11 10:29:29 Then a distributed table on postgres0 has expected rows # None 203s Nov 11 10:29:29 203s Nov 11 10:29:29 Scenario: check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node # features/citus.feature:62 203s Nov 11 10:29:29 Given I start postgres4 in citus group 2 # None 203s Nov 11 10:29:29 Then postgres4 is a leader in a group 2 after 10 seconds # None 203s Nov 11 10:29:29 And "members/postgres4" key in a group 2 in DCS has role=master after 3 seconds # None 203s Nov 11 10:29:29 When I run patronictl.py edit-config batman --group 2 -s ttl=20 --force # None 203s Nov 11 10:29:29 Then I receive a response returncode 0 # None 203s Nov 11 10:29:29 And I receive a response output "+ttl: 20" # None 203s Nov 11 10:29:29 Then postgres4 is registered in the postgres2 as the primary in group 2 after 5 seconds # None 203s Nov 11 10:29:29 When I shut down postgres4 # None 203s Nov 11 10:29:29 Then there is a transaction in progress on postgres0 changing pg_dist_node after 5 seconds # None 203s Nov 11 10:29:29 When I run patronictl.py restart batman postgres2 --group 1 --force # None 203s Nov 11 10:29:29 Then a transaction finishes in 20 seconds # None 203s Nov 11 10:29:29 203s Nov 11 10:29:29 Feature: custom bootstrap # features/custom_bootstrap.feature:1 203s Nov 11 10:29:29 We should check that patroni can bootstrap a new cluster from a backup 203s Nov 11 10:29:29 Scenario: clone existing cluster using pg_basebackup # features/custom_bootstrap.feature:4 203s Nov 11 10:29:29 Given I start postgres0 # features/steps/basic_replication.py:8 206s Nov 11 10:29:32 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 206s Nov 11 10:29:32 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 206s Nov 11 10:29:32 And I start postgres1 in a cluster batman1 as a clone of postgres0 # features/steps/custom_bootstrap.py:6 210s Nov 11 10:29:36 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 211s Nov 11 10:29:37 Then table foo is present on postgres1 after 10 seconds # features/steps/basic_replication.py:93 211s Nov 11 10:29:37 211s Nov 11 10:29:37 Scenario: make a backup and do a restore into a new cluster # features/custom_bootstrap.feature:12 211s Nov 11 10:29:37 Given I add the table bar to postgres1 # features/steps/basic_replication.py:54 211s Nov 11 10:29:37 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 211s Nov 11 10:29:37 When I start postgres2 in a cluster batman2 from backup # features/steps/custom_bootstrap.py:11 215s Nov 11 10:29:41 Then postgres2 is a leader of batman2 after 30 seconds # features/steps/custom_bootstrap.py:16 215s Nov 11 10:29:41 And table bar is present on postgres2 after 10 seconds # features/steps/basic_replication.py:93 221s Nov 11 10:29:47 221s Nov 11 10:29:47 Feature: dcs failsafe mode # features/dcs_failsafe_mode.feature:1 221s Nov 11 10:29:47 We should check the basic dcs failsafe mode functioning 221s Nov 11 10:29:47 Scenario: check failsafe mode can be successfully enabled # features/dcs_failsafe_mode.feature:4 221s Nov 11 10:29:47 Given I start postgres0 # features/steps/basic_replication.py:8 224s Nov 11 10:29:50 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 225s Nov 11 10:29:51 Then "config" key in DCS has ttl=30 after 10 seconds # features/steps/cascading_replication.py:23 225s Nov 11 10:29:51 When I issue a PATCH request to http://127.0.0.1:8008/config with {"loop_wait": 2, "ttl": 20, "retry_timeout": 3, "failsafe_mode": true} # features/steps/patroni_api.py:71 225s Nov 11 10:29:51 Then I receive a response code 200 # features/steps/patroni_api.py:98 225s Nov 11 10:29:51 And Response on GET http://127.0.0.1:8008/failsafe contains postgres0 after 10 seconds # features/steps/patroni_api.py:156 226s Nov 11 10:29:52 When I issue a GET request to http://127.0.0.1:8008/failsafe # features/steps/patroni_api.py:61 226s Nov 11 10:29:52 Then I receive a response code 200 # features/steps/patroni_api.py:98 226s Nov 11 10:29:52 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 226s Nov 11 10:29:52 When I issue a PATCH request to http://127.0.0.1:8008/config with {"postgresql": {"parameters": {"wal_level": "logical"}},"slots":{"dcs_slot_1": null,"postgres0":null}} # features/steps/patroni_api.py:71 226s Nov 11 10:29:52 Then I receive a response code 200 # features/steps/patroni_api.py:98 226s Nov 11 10:29:52 When I issue a PATCH request to http://127.0.0.1:8008/config with {"slots": {"dcs_slot_0": {"type": "logical", "database": "postgres", "plugin": "test_decoding"}}} # features/steps/patroni_api.py:71 227s Nov 11 10:29:52 Then I receive a response code 200 # features/steps/patroni_api.py:98 227s SKIP Scenario check one-node cluster is functioning while DCS is down: it is not possible to control state of etcd3 from tests 227s 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 227s Nov 11 10:29:52 227s Nov 11 10:29:52 @dcs-failsafe 227s Nov 11 10:29:52 Scenario: check one-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:20 227s Nov 11 10:29:52 Given DCS is down # None 227s Nov 11 10:29:52 Then Response on GET http://127.0.0.1:8008/primary contains failsafe_mode_is_active after 12 seconds # None 227s Nov 11 10:29:52 And postgres0 role is the primary after 10 seconds # None 227s Nov 11 10:29:52 227s Nov 11 10:29:52 @dcs-failsafe 227s Nov 11 10:29:52 Scenario: check new replica isn't promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:26 227s Nov 11 10:29:52 Given DCS is up # None 227s Nov 11 10:29:52 When I do a backup of postgres0 # None 227s Nov 11 10:29:52 And I shut down postgres0 # None 227s Nov 11 10:29:52 When I start postgres1 in a cluster batman from backup with no_leader # None 227s Nov 11 10:29:52 Then postgres1 role is the replica after 12 seconds # None 227s Nov 11 10:29:52 227s Nov 11 10:29:52 Scenario: check leader and replica are both in /failsafe key after leader is back # features/dcs_failsafe_mode.feature:33 227s Nov 11 10:29:52 Given I start postgres0 # features/steps/basic_replication.py:8 227s Nov 11 10:29:52 And I start postgres1 # features/steps/basic_replication.py:8 230s Nov 11 10:29:56 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 230s Nov 11 10:29:56 And "members/postgres1" key in DCS has state=running after 2 seconds # features/steps/cascading_replication.py:23 231s Nov 11 10:29:57 And Response on GET http://127.0.0.1:8009/failsafe contains postgres1 after 10 seconds # features/steps/patroni_api.py:156 233s Nov 11 10:29:59 When I issue a GET request to http://127.0.0.1:8009/failsafe # features/steps/patroni_api.py:61 233s Nov 11 10:29:59 Then I receive a response code 200 # features/steps/patroni_api.py:98 233s Nov 11 10:29:59 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 233s Nov 11 10:29:59 And I receive a response postgres1 http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:98 233s SKIP Scenario check leader and replica are functioning while DCS is down: it is not possible to control state of etcd3 from tests 233s 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 233s Nov 11 10:29:59 233s Nov 11 10:29:59 @dcs-failsafe @slot-advance 233s Nov 11 10:29:59 Scenario: check leader and replica are functioning while DCS is down # features/dcs_failsafe_mode.feature:46 233s Nov 11 10:29:59 Given I get all changes from physical slot dcs_slot_1 on postgres0 # None 233s Nov 11 10:29:59 Then physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # None 233s Nov 11 10:29:59 And logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 10 seconds # None 233s Nov 11 10:29:59 And DCS is down # None 233s Nov 11 10:29:59 Then Response on GET http://127.0.0.1:8008/primary contains failsafe_mode_is_active after 12 seconds # None 233s Nov 11 10:29:59 Then postgres0 role is the primary after 10 seconds # None 233s Nov 11 10:29:59 And postgres1 role is the replica after 2 seconds # None 233s Nov 11 10:29:59 And replication works from postgres0 to postgres1 after 10 seconds # None 233s Nov 11 10:29:59 When I get all changes from logical slot dcs_slot_0 on postgres0 # None 233s Nov 11 10:29:59 And I get all changes from physical slot dcs_slot_1 on postgres0 # None 233s Nov 11 10:29:59 Then logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 20 seconds # None 233s Nov 11 10:29:59 And physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # None 233s 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 233s Nov 11 10:29:59 233s Nov 11 10:29:59 @dcs-failsafe 233s Nov 11 10:29:59 Scenario: check primary is demoted when one replica is shut down and DCS is down # features/dcs_failsafe_mode.feature:61 233s Nov 11 10:29:59 Given DCS is down # None 233s Nov 11 10:29:59 And I kill postgres1 # None 233s Nov 11 10:29:59 And I kill postmaster on postgres1 # None 233s Nov 11 10:29:59 Then postgres0 role is the replica after 12 seconds # None 233s Nov 11 10:29:59 233s Nov 11 10:29:59 @dcs-failsafe 233s Nov 11 10:29:59 Scenario: check known replica is promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:68 233s Nov 11 10:29:59 Given I kill postgres0 # None 233s Nov 11 10:29:59 And I shut down postmaster on postgres0 # None 233s Nov 11 10:29:59 And DCS is up # None 233s Nov 11 10:29:59 When I start postgres1 # None 233s Nov 11 10:29:59 Then "members/postgres1" key in DCS has state=running after 10 seconds # None 233s Nov 11 10:29:59 And postgres1 role is the primary after 25 seconds # None 233s Nov 11 10:29:59 233s Nov 11 10:29:59 @dcs-failsafe 233s Nov 11 10:29:59 Scenario: scale to three-node cluster # features/dcs_failsafe_mode.feature:77 233s Nov 11 10:29:59 Given I start postgres0 # None 233s Nov 11 10:29:59 And I start postgres2 # None 233s Nov 11 10:29:59 Then "members/postgres2" key in DCS has state=running after 10 seconds # None 233s Nov 11 10:29:59 And "members/postgres0" key in DCS has state=running after 20 seconds # None 233s Nov 11 10:29:59 And Response on GET http://127.0.0.1:8008/failsafe contains postgres2 after 10 seconds # None 233s Nov 11 10:29:59 And replication works from postgres1 to postgres0 after 10 seconds # None 233s Nov 11 10:29:59 And replication works from postgres1 to postgres2 after 10 seconds # None 233s Nov 11 10:29:59 233s Nov 11 10:29:59 @dcs-failsafe @slot-advance 233s Nov 11 10:29:59 Scenario: make sure permanent slots exist on replicas # features/dcs_failsafe_mode.feature:88 233s Nov 11 10:29:59 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 233s Nov 11 10:29:59 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # None 233s Nov 11 10:29:59 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # None 233s Nov 11 10:29:59 When I get all changes from physical slot dcs_slot_1 on postgres1 # None 233s Nov 11 10:29:59 Then physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # None 233s Nov 11 10:29:59 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # None 233s Nov 11 10:29:59 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # None 233s Nov 11 10:29:59 233s Nov 11 10:29:59 @dcs-failsafe 233s Nov 11 10:29:59 Scenario: check three-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:98 233s Nov 11 10:29:59 Given DCS is down # None 233s Nov 11 10:29:59 Then Response on GET http://127.0.0.1:8009/primary contains failsafe_mode_is_active after 12 seconds # None 233s Nov 11 10:29:59 Then postgres1 role is the primary after 10 seconds # None 233s Nov 11 10:29:59 And postgres0 role is the replica after 2 seconds # None 233s Nov 11 10:29:59 And postgres2 role is the replica after 2 seconds # None 233s SKIP Scenario scale to three-node cluster: it is not possible to control state of etcd3 from tests 233s SKIP Scenario make sure permanent slots exist on replicas: it is not possible to control state of etcd3 from tests 233s SKIP Scenario check three-node cluster is functioning while DCS is down: it is not possible to control state of etcd3 from tests 233s 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 237s Nov 11 10:30:03 237s Nov 11 10:30:03 @dcs-failsafe @slot-advance 237s Nov 11 10:30:03 Scenario: check that permanent slots are in sync between nodes while DCS is down # features/dcs_failsafe_mode.feature:107 237s Nov 11 10:30:03 Given replication works from postgres1 to postgres0 after 10 seconds # None 237s Nov 11 10:30:03 And replication works from postgres1 to postgres2 after 10 seconds # None 237s Nov 11 10:30:03 When I get all changes from logical slot dcs_slot_2 on postgres1 # None 237s Nov 11 10:30:03 And I get all changes from physical slot dcs_slot_1 on postgres1 # None 237s Nov 11 10:30:03 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # None 237s Nov 11 10:30:03 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # None 237s Nov 11 10:30:03 And physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # None 237s Nov 11 10:30:03 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # None 237s Nov 11 10:30:03 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # None 237s Nov 11 10:30:03 237s Nov 11 10:30:03 Feature: ignored slots # features/ignored_slots.feature:1 237s Nov 11 10:30:03 237s Nov 11 10:30:03 Scenario: check ignored slots aren't removed on failover/switchover # features/ignored_slots.feature:2 237s Nov 11 10:30:03 Given I start postgres1 # features/steps/basic_replication.py:8 241s Nov 11 10:30:06 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 241s Nov 11 10:30:06 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 241s Nov 11 10:30:06 When I issue a PATCH request to http://127.0.0.1:8009/config with {"ignore_slots": [{"name": "unmanaged_slot_0", "database": "postgres", "plugin": "test_decoding", "type": "logical"}, {"name": "unmanaged_slot_1", "database": "postgres", "plugin": "test_decoding"}, {"name": "unmanaged_slot_2", "database": "postgres"}, {"name": "unmanaged_slot_3"}], "postgresql": {"parameters": {"wal_level": "logical"}}} # features/steps/patroni_api.py:71 241s Nov 11 10:30:06 Then I receive a response code 200 # features/steps/patroni_api.py:98 241s Nov 11 10:30:06 And Response on GET http://127.0.0.1:8009/config contains ignore_slots after 10 seconds # features/steps/patroni_api.py:156 241s Nov 11 10:30:06 When I shut down postgres1 # features/steps/basic_replication.py:29 242s Nov 11 10:30:08 And I start postgres1 # features/steps/basic_replication.py:8 244s Nov 11 10:30:10 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 245s Nov 11 10:30:11 And "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 246s Nov 11 10:30:12 And postgres1 role is the primary after 20 seconds # features/steps/basic_replication.py:105 246s Nov 11 10:30:12 When I create a logical replication slot unmanaged_slot_0 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 246s Nov 11 10:30:12 And I create a logical replication slot unmanaged_slot_1 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 246s Nov 11 10:30:12 And I create a logical replication slot unmanaged_slot_2 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 246s Nov 11 10:30:12 And I create a logical replication slot unmanaged_slot_3 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 246s Nov 11 10:30:12 And I create a logical replication slot dummy_slot on postgres1 with the test_decoding plugin # features/steps/slots.py:8 246s Nov 11 10:30:12 Then postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 246s Nov 11 10:30:12 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 246s Nov 11 10:30:12 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 246s Nov 11 10:30:12 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 246s Nov 11 10:30:12 When I start postgres0 # features/steps/basic_replication.py:8 249s Nov 11 10:30:15 Then "members/postgres0" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 249s Nov 11 10:30:15 And postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 249s Nov 11 10:30:15 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 250s Nov 11 10:30:16 When I shut down postgres1 # features/steps/basic_replication.py:29 252s Nov 11 10:30:18 Then "members/postgres0" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 253s Nov 11 10:30:19 When I start postgres1 # features/steps/basic_replication.py:8 256s Nov 11 10:30:22 Then postgres1 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 256s Nov 11 10:30:22 And "members/postgres1" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 256s Nov 11 10:30:22 And I sleep for 2 seconds # features/steps/patroni_api.py:39 258s Nov 11 10:30:24 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 258s Nov 11 10:30:24 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 258s Nov 11 10:30:24 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 258s Nov 11 10:30:24 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 258s Nov 11 10:30:24 And postgres1 does not have a replication slot named dummy_slot # features/steps/slots.py:40 258s Nov 11 10:30:24 When I shut down postgres0 # features/steps/basic_replication.py:29 260s Nov 11 10:30:26 Then "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 261s Nov 11 10:30:27 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 261s Nov 11 10:30:27 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 261s Nov 11 10:30:27 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 261s Nov 11 10:30:27 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 263s Nov 11 10:30:29 263s Nov 11 10:30:29 Feature: nostream node # features/nostream_node.feature:1 263s Nov 11 10:30:29 263s Nov 11 10:30:29 Scenario: check nostream node is recovering from archive # features/nostream_node.feature:3 263s Nov 11 10:30:29 When I start postgres0 # features/steps/basic_replication.py:8 266s Nov 11 10:30:32 And I configure and start postgres1 with a tag nostream true # features/steps/cascading_replication.py:7 269s Nov 11 10:30:35 Then "members/postgres1" key in DCS has replication_state=in archive recovery after 10 seconds # features/steps/cascading_replication.py:23 270s Nov 11 10:30:36 And replication works from postgres0 to postgres1 after 30 seconds # features/steps/basic_replication.py:112 274s Nov 11 10:30:40 274s Nov 11 10:30:40 @slot-advance 274s Nov 11 10:30:40 Scenario: check permanent logical replication slots are not copied # features/nostream_node.feature:10 274s Nov 11 10:30:40 When I issue a PATCH request to http://127.0.0.1:8008/config with {"postgresql": {"parameters": {"wal_level": "logical"}}, "slots":{"test_logical":{"type":"logical","database":"postgres","plugin":"test_decoding"}}} # features/steps/patroni_api.py:71 274s Nov 11 10:30:40 Then I receive a response code 200 # features/steps/patroni_api.py:98 274s Nov 11 10:30:40 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 276s Nov 11 10:30:42 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 277s Nov 11 10:30:43 When I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 280s Nov 11 10:30:46 Then "members/postgres2" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 287s Nov 11 10:30:53 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 287s Nov 11 10:30:53 And postgres2 does not have a replication slot named test_logical # features/steps/slots.py:40 293s Nov 11 10:30:59 293s Nov 11 10:30:59 Feature: patroni api # features/patroni_api.feature:1 293s Nov 11 10:30:59 We should check that patroni correctly responds to valid and not-valid API requests. 293s Nov 11 10:30:59 Scenario: check API requests on a stand-alone server # features/patroni_api.feature:4 293s Nov 11 10:30:59 Given I start postgres0 # features/steps/basic_replication.py:8 296s Nov 11 10:31:02 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 296s Nov 11 10:31:02 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 296s Nov 11 10:31:02 Then I receive a response code 200 # features/steps/patroni_api.py:98 296s Nov 11 10:31:02 And I receive a response state running # features/steps/patroni_api.py:98 296s Nov 11 10:31:02 And I receive a response role master # features/steps/patroni_api.py:98 296s Nov 11 10:31:02 When I issue a GET request to http://127.0.0.1:8008/standby_leader # features/steps/patroni_api.py:61 296s Nov 11 10:31:02 Then I receive a response code 503 # features/steps/patroni_api.py:98 296s Nov 11 10:31:02 When I issue a GET request to http://127.0.0.1:8008/health # features/steps/patroni_api.py:61 296s Nov 11 10:31:02 Then I receive a response code 200 # features/steps/patroni_api.py:98 296s Nov 11 10:31:02 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 297s Nov 11 10:31:03 Then I receive a response code 503 # features/steps/patroni_api.py:98 297s Nov 11 10:31:03 When I issue a POST request to http://127.0.0.1:8008/reinitialize with {"force": true} # features/steps/patroni_api.py:71 297s Nov 11 10:31:03 Then I receive a response code 503 # features/steps/patroni_api.py:98 297s Nov 11 10:31:03 And I receive a response text I am the leader, can not reinitialize # features/steps/patroni_api.py:98 297s Nov 11 10:31:03 When I run patronictl.py switchover batman --master postgres0 --force # features/steps/patroni_api.py:86 298s Nov 11 10:31:04 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 298s Nov 11 10:31:04 And I receive a response output "Error: No candidates found to switchover to" # features/steps/patroni_api.py:98 298s Nov 11 10:31:04 When I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres0"} # features/steps/patroni_api.py:71 298s Nov 11 10:31:04 Then I receive a response code 412 # features/steps/patroni_api.py:98 298s Nov 11 10:31:04 And I receive a response text switchover is not possible: cluster does not have members except leader # features/steps/patroni_api.py:98 298s Nov 11 10:31:04 When I issue an empty POST request to http://127.0.0.1:8008/failover # features/steps/patroni_api.py:66 298s Nov 11 10:31:04 Then I receive a response code 400 # features/steps/patroni_api.py:98 298s Nov 11 10:31:04 When I issue a POST request to http://127.0.0.1:8008/failover with {"foo": "bar"} # features/steps/patroni_api.py:71 298s Nov 11 10:31:04 Then I receive a response code 400 # features/steps/patroni_api.py:98 298s Nov 11 10:31:04 And I receive a response text "Failover could be performed only to a specific candidate" # features/steps/patroni_api.py:98 298s Nov 11 10:31:04 298s Nov 11 10:31:04 Scenario: check local configuration reload # features/patroni_api.feature:32 298s Nov 11 10:31:04 Given I add tag new_tag new_value to postgres0 config # features/steps/patroni_api.py:137 298s Nov 11 10:31:04 And I issue an empty POST request to http://127.0.0.1:8008/reload # features/steps/patroni_api.py:66 298s Nov 11 10:31:04 Then I receive a response code 202 # features/steps/patroni_api.py:98 298s Nov 11 10:31:04 298s Nov 11 10:31:04 Scenario: check dynamic configuration change via DCS # features/patroni_api.feature:37 298s Nov 11 10:31:04 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"ttl": 20, "postgresql": {"parameters": {"max_connections": "101"}}} # features/steps/patroni_api.py:71 298s Nov 11 10:31:04 Then I receive a response code 200 # features/steps/patroni_api.py:98 298s Nov 11 10:31:04 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 11 seconds # features/steps/patroni_api.py:156 301s Nov 11 10:31:07 When I issue a GET request to http://127.0.0.1:8008/config # features/steps/patroni_api.py:61 301s Nov 11 10:31:07 Then I receive a response code 200 # features/steps/patroni_api.py:98 301s Nov 11 10:31:07 And I receive a response ttl 20 # features/steps/patroni_api.py:98 301s Nov 11 10:31:07 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 301s Nov 11 10:31:07 Then I receive a response code 200 # features/steps/patroni_api.py:98 301s Nov 11 10:31:07 And I receive a response tags {'new_tag': 'new_value'} # features/steps/patroni_api.py:98 301s Nov 11 10:31:07 And I sleep for 4 seconds # features/steps/patroni_api.py:39 305s Nov 11 10:31:11 305s Nov 11 10:31:11 Scenario: check the scheduled restart # features/patroni_api.feature:49 305s Nov 11 10:31:11 Given I run patronictl.py edit-config -p 'superuser_reserved_connections=6' --force batman # features/steps/patroni_api.py:86 307s Nov 11 10:31:13 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 307s Nov 11 10:31:13 And I receive a response output "+ superuser_reserved_connections: 6" # features/steps/patroni_api.py:98 307s Nov 11 10:31:13 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 5 seconds # features/steps/patroni_api.py:156 307s Nov 11 10:31:13 Given I issue a scheduled restart at http://127.0.0.1:8008 in 5 seconds with {"role": "replica"} # features/steps/patroni_api.py:124 307s Nov 11 10:31:13 Then I receive a response code 202 # features/steps/patroni_api.py:98 307s Nov 11 10:31:13 And I sleep for 8 seconds # features/steps/patroni_api.py:39 315s Nov 11 10:31:21 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 10 seconds # features/steps/patroni_api.py:156 315s Nov 11 10:31:21 Given I issue a scheduled restart at http://127.0.0.1:8008 in 5 seconds with {"restart_pending": "True"} # features/steps/patroni_api.py:124 315s Nov 11 10:31:21 Then I receive a response code 202 # features/steps/patroni_api.py:98 315s Nov 11 10:31:21 And Response on GET http://127.0.0.1:8008/patroni does not contain pending_restart after 10 seconds # features/steps/patroni_api.py:171 322s Nov 11 10:31:28 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 323s Nov 11 10:31:29 323s Nov 11 10:31:29 Scenario: check API requests for the primary-replica pair in the pause mode # features/patroni_api.feature:63 323s Nov 11 10:31:29 Given I start postgres1 # features/steps/basic_replication.py:8 326s Nov 11 10:31:32 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 327s Nov 11 10:31:33 When I run patronictl.py pause batman # features/steps/patroni_api.py:86 328s Nov 11 10:31:34 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 328s Nov 11 10:31:34 When I kill postmaster on postgres1 # features/steps/basic_replication.py:44 328s Nov 11 10:31:34 waiting for server to shut down.... done 328s Nov 11 10:31:34 server stopped 328s Nov 11 10:31:34 And I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 328s Nov 11 10:31:34 Then I receive a response code 503 # features/steps/patroni_api.py:98 328s Nov 11 10:31:34 And "members/postgres1" key in DCS has state=stopped after 10 seconds # features/steps/cascading_replication.py:23 330s Nov 11 10:31:36 When I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 333s Nov 11 10:31:39 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 333s Nov 11 10:31:39 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 334s Nov 11 10:31:40 And I sleep for 2 seconds # features/steps/patroni_api.py:39 336s Nov 11 10:31:42 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 336s Nov 11 10:31:42 Then I receive a response code 200 # features/steps/patroni_api.py:98 336s Nov 11 10:31:42 And I receive a response state running # features/steps/patroni_api.py:98 336s Nov 11 10:31:42 And I receive a response role replica # features/steps/patroni_api.py:98 336s Nov 11 10:31:42 When I run patronictl.py reinit batman postgres1 --force --wait # features/steps/patroni_api.py:86 339s Nov 11 10:31:45 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 339s Nov 11 10:31:45 And I receive a response output "Success: reinitialize for member postgres1" # features/steps/patroni_api.py:98 339s Nov 11 10:31:45 And postgres1 role is the secondary after 30 seconds # features/steps/basic_replication.py:105 340s Nov 11 10:31:46 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 340s Nov 11 10:31:46 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 343s Nov 11 10:31:49 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 343s Nov 11 10:31:49 And I receive a response output "Success: restart on member postgres0" # features/steps/patroni_api.py:98 343s Nov 11 10:31:49 And postgres0 role is the primary after 5 seconds # features/steps/basic_replication.py:105 344s Nov 11 10:31:50 344s Nov 11 10:31:50 Scenario: check the switchover via the API in the pause mode # features/patroni_api.feature:90 344s Nov 11 10:31:50 Given I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres0", "candidate": "postgres1"} # features/steps/patroni_api.py:71 346s Nov 11 10:31:52 Then I receive a response code 200 # features/steps/patroni_api.py:98 346s Nov 11 10:31:52 And postgres1 is a leader after 5 seconds # features/steps/patroni_api.py:29 346s Nov 11 10:31:52 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 346s Nov 11 10:31:52 And postgres0 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 351s Nov 11 10:31:57 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 351s Nov 11 10:31:57 And "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 351s Nov 11 10:31:57 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 351s Nov 11 10:31:57 Then I receive a response code 503 # features/steps/patroni_api.py:98 351s Nov 11 10:31:57 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 351s Nov 11 10:31:57 Then I receive a response code 200 # features/steps/patroni_api.py:98 351s Nov 11 10:31:57 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 351s Nov 11 10:31:57 Then I receive a response code 200 # features/steps/patroni_api.py:98 351s Nov 11 10:31:57 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 352s Nov 11 10:31:57 Then I receive a response code 503 # features/steps/patroni_api.py:98 352s Nov 11 10:31:57 352s Nov 11 10:31:57 Scenario: check the scheduled switchover # features/patroni_api.feature:107 352s Nov 11 10:31:57 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 353s Nov 11 10:31:59 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 353s Nov 11 10:31:59 And I receive a response output "Can't schedule switchover in the paused state" # features/steps/patroni_api.py:98 353s Nov 11 10:31:59 When I run patronictl.py resume batman # features/steps/patroni_api.py:86 354s Nov 11 10:32:00 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 354s Nov 11 10:32:00 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 356s Nov 11 10:32:02 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 356s Nov 11 10:32:02 And postgres0 is a leader after 20 seconds # features/steps/patroni_api.py:29 366s Nov 11 10:32:12 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 367s Nov 11 10:32:13 And postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 369s Nov 11 10:32:15 And replication works from postgres0 to postgres1 after 25 seconds # features/steps/basic_replication.py:112 369s Nov 11 10:32:15 And "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 370s Nov 11 10:32:16 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 370s Nov 11 10:32:16 Then I receive a response code 200 # features/steps/patroni_api.py:98 370s Nov 11 10:32:16 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 370s Nov 11 10:32:16 Then I receive a response code 503 # features/steps/patroni_api.py:98 370s Nov 11 10:32:16 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 370s Nov 11 10:32:16 Then I receive a response code 503 # features/steps/patroni_api.py:98 370s Nov 11 10:32:16 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 370s Nov 11 10:32:16 Then I receive a response code 200 # features/steps/patroni_api.py:98 374s Nov 11 10:32:20 374s Nov 11 10:32:20 Feature: permanent slots # features/permanent_slots.feature:1 374s Nov 11 10:32:20 374s Nov 11 10:32:20 Scenario: check that physical permanent slots are created # features/permanent_slots.feature:2 374s Nov 11 10:32:20 Given I start postgres0 # features/steps/basic_replication.py:8 377s Nov 11 10:32:23 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 377s Nov 11 10:32:23 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 377s Nov 11 10:32:23 When I issue a PATCH request to http://127.0.0.1:8008/config with {"slots":{"test_physical":0,"postgres0":0,"postgres1":0,"postgres3":0},"postgresql":{"parameters":{"wal_level":"logical"}}} # features/steps/patroni_api.py:71 377s Nov 11 10:32:23 Then I receive a response code 200 # features/steps/patroni_api.py:98 377s Nov 11 10:32:23 And Response on GET http://127.0.0.1:8008/config contains slots after 10 seconds # features/steps/patroni_api.py:156 377s Nov 11 10:32:23 When I start postgres1 # features/steps/basic_replication.py:8 380s Nov 11 10:32:26 And I start postgres2 # features/steps/basic_replication.py:8 383s Nov 11 10:32:29 And I configure and start postgres3 with a tag replicatefrom postgres2 # features/steps/cascading_replication.py:7 386s Nov 11 10:32:32 Then postgres0 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 386s Nov 11 10:32:32 And postgres0 has a physical replication slot named postgres1 after 10 seconds # features/steps/slots.py:80 386s Nov 11 10:32:32 And postgres0 has a physical replication slot named postgres2 after 10 seconds # features/steps/slots.py:80 386s Nov 11 10:32:32 And postgres2 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 386s Nov 11 10:32:32 386s Nov 11 10:32:32 @slot-advance 386s Nov 11 10:32:32 Scenario: check that logical permanent slots are created # features/permanent_slots.feature:18 386s Nov 11 10:32:32 Given I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 388s Nov 11 10:32:34 And I issue a PATCH request to http://127.0.0.1:8008/config with {"slots":{"test_logical":{"type":"logical","database":"postgres","plugin":"test_decoding"}}} # features/steps/patroni_api.py:71 388s Nov 11 10:32:34 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 389s Nov 11 10:32:35 389s Nov 11 10:32:35 @slot-advance 389s Nov 11 10:32:35 Scenario: check that permanent slots are created on replicas # features/permanent_slots.feature:24 389s Nov 11 10:32:35 Given postgres1 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 394s Nov 11 10:32:40 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 394s Nov 11 10:32:40 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 395s Nov 11 10:32:41 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 396s Nov 11 10:32:42 And postgres1 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 396s Nov 11 10:32:42 And postgres2 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 396s Nov 11 10:32:42 And postgres3 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 396s Nov 11 10:32:42 396s Nov 11 10:32:42 @slot-advance 396s Nov 11 10:32:42 Scenario: check permanent physical slots that match with member names # features/permanent_slots.feature:34 396s Nov 11 10:32:42 Given postgres0 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 396s Nov 11 10:32:42 And postgres1 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 396s Nov 11 10:32:42 And postgres1 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 396s Nov 11 10:32:42 And postgres2 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 396s Nov 11 10:32:42 And postgres2 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 396s Nov 11 10:32:42 And postgres2 has a physical replication slot named postgres1 after 2 seconds # features/steps/slots.py:80 396s Nov 11 10:32:42 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 396s Nov 11 10:32:42 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 396s Nov 11 10:32:42 396s Nov 11 10:32:42 @slot-advance 396s Nov 11 10:32:42 Scenario: check that permanent slots are advanced on replicas # features/permanent_slots.feature:45 396s Nov 11 10:32:42 Given I add the table replicate_me to postgres0 # features/steps/basic_replication.py:54 396s Nov 11 10:32:42 When I get all changes from logical slot test_logical on postgres0 # features/steps/slots.py:70 396s Nov 11 10:32:42 And I get all changes from physical slot test_physical on postgres0 # features/steps/slots.py:75 396s Nov 11 10:32:42 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 399s Nov 11 10:32:45 And Physical slot test_physical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 399s Nov 11 10:32:45 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 399s Nov 11 10:32:45 And Physical slot test_physical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 399s Nov 11 10:32:45 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 399s Nov 11 10:32:45 And Physical slot test_physical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 399s Nov 11 10:32:45 And Physical slot postgres1 is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 399s Nov 11 10:32:45 And Physical slot postgres3 is in sync between postgres2 and postgres0 after 20 seconds # features/steps/slots.py:51 399s Nov 11 10:32:45 And Physical slot postgres3 is in sync between postgres2 and postgres1 after 10 seconds # features/steps/slots.py:51 399s Nov 11 10:32:45 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 399s Nov 11 10:32:45 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 399s Nov 11 10:32:45 399s Nov 11 10:32:45 @slot-advance 399s Nov 11 10:32:45 Scenario: check that only permanent slots are written to the /status key # features/permanent_slots.feature:62 399s Nov 11 10:32:45 Given "status" key in DCS has test_physical in slots # features/steps/slots.py:96 399s Nov 11 10:32:45 And "status" key in DCS has postgres0 in slots # features/steps/slots.py:96 399s Nov 11 10:32:45 And "status" key in DCS has postgres1 in slots # features/steps/slots.py:96 399s Nov 11 10:32:45 And "status" key in DCS does not have postgres2 in slots # features/steps/slots.py:102 399s Nov 11 10:32:45 And "status" key in DCS has postgres3 in slots # features/steps/slots.py:96 399s Nov 11 10:32:45 399s Nov 11 10:32:45 Scenario: check permanent physical replication slot after failover # features/permanent_slots.feature:69 399s Nov 11 10:32:45 Given I shut down postgres3 # features/steps/basic_replication.py:29 400s Nov 11 10:32:46 And I shut down postgres2 # features/steps/basic_replication.py:29 401s Nov 11 10:32:47 And I shut down postgres0 # features/steps/basic_replication.py:29 403s Nov 11 10:32:49 Then postgres1 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 403s Nov 11 10:32:49 And postgres1 has a physical replication slot named postgres0 after 10 seconds # features/steps/slots.py:80 403s Nov 11 10:32:49 And postgres1 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 405s Nov 11 10:32:51 405s Nov 11 10:32:51 Feature: priority replication # features/priority_failover.feature:1 405s Nov 11 10:32:51 We should check that we can give nodes priority during failover 405s Nov 11 10:32:51 Scenario: check failover priority 0 prevents leaderships # features/priority_failover.feature:4 405s Nov 11 10:32:51 Given I configure and start postgres0 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 408s Nov 11 10:32:54 And I configure and start postgres1 with a tag failover_priority 0 # features/steps/cascading_replication.py:7 411s Nov 11 10:32:57 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 412s Nov 11 10:32:58 When I shut down postgres0 # features/steps/basic_replication.py:29 414s Nov 11 10:33:00 And there is one of ["following a different leader because I am not allowed to promote"] INFO in the postgres1 patroni log after 5 seconds # features/steps/basic_replication.py:121 416s Nov 11 10:33:02 Then postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 416s Nov 11 10:33:02 When I start postgres0 # features/steps/basic_replication.py:8 419s Nov 11 10:33:04 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 421s Nov 11 10:33:06 421s Nov 11 10:33:06 Scenario: check higher failover priority is respected # features/priority_failover.feature:14 421s Nov 11 10:33:06 Given I configure and start postgres2 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 424s Nov 11 10:33:10 And I configure and start postgres3 with a tag failover_priority 2 # features/steps/cascading_replication.py:7 427s Nov 11 10:33:13 Then replication works from postgres0 to postgres2 after 20 seconds # features/steps/basic_replication.py:112 428s Nov 11 10:33:14 And replication works from postgres0 to postgres3 after 20 seconds # features/steps/basic_replication.py:112 432s Nov 11 10:33:18 When I shut down postgres0 # features/steps/basic_replication.py:29 434s Nov 11 10:33:20 Then postgres3 role is the primary after 10 seconds # features/steps/basic_replication.py:105 434s Nov 11 10:33:20 And there is one of ["postgres3 has equally tolerable WAL position and priority 2, while this node has priority 1","Wal position of postgres3 is ahead of my wal position"] INFO in the postgres2 patroni log after 5 seconds # features/steps/basic_replication.py:121 434s Nov 11 10:33:20 434s Nov 11 10:33:20 Scenario: check conflicting configuration handling # features/priority_failover.feature:23 434s Nov 11 10:33:20 When I set nofailover tag in postgres2 config # features/steps/patroni_api.py:131 434s Nov 11 10:33:20 And I issue an empty POST request to http://127.0.0.1:8010/reload # features/steps/patroni_api.py:66 434s Nov 11 10:33:20 Then I receive a response code 202 # features/steps/patroni_api.py:98 434s Nov 11 10:33:20 And there is one of ["Conflicting configuration between nofailover: True and failover_priority: 1. Defaulting to nofailover: True"] WARNING in the postgres2 patroni log after 5 seconds # features/steps/basic_replication.py:121 435s Nov 11 10:33:21 And "members/postgres2" key in DCS has tags={'failover_priority': '1', 'nofailover': True} after 10 seconds # features/steps/cascading_replication.py:23 436s Nov 11 10:33:22 When I issue a POST request to http://127.0.0.1:8010/failover with {"candidate": "postgres2"} # features/steps/patroni_api.py:71 436s Nov 11 10:33:22 Then I receive a response code 412 # features/steps/patroni_api.py:98 436s Nov 11 10:33:22 And I receive a response text "failover is not possible: no good candidates have been found" # features/steps/patroni_api.py:98 436s Nov 11 10:33:22 When I reset nofailover tag in postgres1 config # features/steps/patroni_api.py:131 436s Nov 11 10:33:22 And I issue an empty POST request to http://127.0.0.1:8009/reload # features/steps/patroni_api.py:66 436s Nov 11 10:33:22 Then I receive a response code 202 # features/steps/patroni_api.py:98 436s Nov 11 10:33:22 And there is one of ["Conflicting configuration between nofailover: False and failover_priority: 0. Defaulting to nofailover: False"] WARNING in the postgres1 patroni log after 5 seconds # features/steps/basic_replication.py:121 438s Nov 11 10:33:24 And "members/postgres1" key in DCS has tags={'failover_priority': '0', 'nofailover': False} after 10 seconds # features/steps/cascading_replication.py:23 439s Nov 11 10:33:25 And I issue a POST request to http://127.0.0.1:8009/failover with {"candidate": "postgres1"} # features/steps/patroni_api.py:71 442s Nov 11 10:33:28 Then I receive a response code 200 # features/steps/patroni_api.py:98 442s Nov 11 10:33:28 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 447s Nov 11 10:33:33 447s Nov 11 10:33:33 Feature: recovery # features/recovery.feature:1 447s Nov 11 10:33:33 We want to check that crashed postgres is started back 447s Nov 11 10:33:33 Scenario: check that timeline is not incremented when primary is started after crash # features/recovery.feature:4 447s Nov 11 10:33:33 Given I start postgres0 # features/steps/basic_replication.py:8 450s Nov 11 10:33:36 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 450s Nov 11 10:33:36 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 450s Nov 11 10:33:36 When I start postgres1 # features/steps/basic_replication.py:8 453s Nov 11 10:33:39 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 453s Nov 11 10:33:39 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 454s Nov 11 10:33:40 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 454s Nov 11 10:33:40 waiting for server to shut down.... done 454s Nov 11 10:33:40 server stopped 454s Nov 11 10:33:40 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 456s Nov 11 10:33:42 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 456s Nov 11 10:33:42 Then I receive a response code 200 # features/steps/patroni_api.py:98 456s Nov 11 10:33:42 And I receive a response role master # features/steps/patroni_api.py:98 456s Nov 11 10:33:42 And I receive a response timeline 1 # features/steps/patroni_api.py:98 456s Nov 11 10:33:42 And "members/postgres0" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 457s Nov 11 10:33:43 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 460s Nov 11 10:33:46 460s Nov 11 10:33:46 Scenario: check immediate failover when master_start_timeout=0 # features/recovery.feature:20 460s Nov 11 10:33:46 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"master_start_timeout": 0} # features/steps/patroni_api.py:71 461s Nov 11 10:33:47 Then I receive a response code 200 # features/steps/patroni_api.py:98 461s Nov 11 10:33:47 And Response on GET http://127.0.0.1:8008/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 461s Nov 11 10:33:47 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 461s Nov 11 10:33:47 waiting for server to shut down.... done 461s Nov 11 10:33:47 server stopped 461s Nov 11 10:33:47 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 464s Nov 11 10:33:50 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 467s Nov 11 10:33:53 467s Nov 11 10:33:53 Feature: standby cluster # features/standby_cluster.feature:1 467s Nov 11 10:33:53 467s Nov 11 10:33:53 Scenario: prepare the cluster with logical slots # features/standby_cluster.feature:2 467s Nov 11 10:33:53 Given I start postgres1 # features/steps/basic_replication.py:8 470s Nov 11 10:33:56 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 470s Nov 11 10:33:56 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 470s Nov 11 10:33:56 When I issue a PATCH request to http://127.0.0.1:8009/config with {"slots": {"pm_1": {"type": "physical"}}, "postgresql": {"parameters": {"wal_level": "logical"}}} # features/steps/patroni_api.py:71 470s Nov 11 10:33:56 Then I receive a response code 200 # features/steps/patroni_api.py:98 470s Nov 11 10:33:56 And Response on GET http://127.0.0.1:8009/config contains slots after 10 seconds # features/steps/patroni_api.py:156 470s Nov 11 10:33:56 And I sleep for 3 seconds # features/steps/patroni_api.py:39 473s Nov 11 10:33:59 When I issue a PATCH request to http://127.0.0.1:8009/config with {"slots": {"test_logical": {"type": "logical", "database": "postgres", "plugin": "test_decoding"}}} # features/steps/patroni_api.py:71 473s Nov 11 10:33:59 Then I receive a response code 200 # features/steps/patroni_api.py:98 473s Nov 11 10:33:59 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 473s Nov 11 10:33:59 When I start postgres0 # features/steps/basic_replication.py:8 476s Nov 11 10:34:02 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 477s Nov 11 10:34:03 And replication works from postgres1 to postgres0 after 15 seconds # features/steps/basic_replication.py:112 478s Nov 11 10:34:04 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 478s Nov 11 10:34:04 Then I receive a response code 200 # features/steps/patroni_api.py:98 478s Nov 11 10:34:04 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 478s Nov 11 10:34:04 And "members/postgres0" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 478s Nov 11 10:34:04 478s Nov 11 10:34:04 @slot-advance 478s Nov 11 10:34:04 Scenario: check permanent logical slots are synced to the replica # features/standby_cluster.feature:22 478s Nov 11 10:34:04 Given I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 481s Nov 11 10:34:07 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 487s Nov 11 10:34:13 487s Nov 11 10:34:13 Scenario: Detach exiting node from the cluster # features/standby_cluster.feature:26 487s Nov 11 10:34:13 When I shut down postgres1 # features/steps/basic_replication.py:29 489s Nov 11 10:34:15 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 489s Nov 11 10:34:15 And "members/postgres0" key in DCS has role=master after 5 seconds # features/steps/cascading_replication.py:23 490s Nov 11 10:34:16 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 490s Nov 11 10:34:16 Then I receive a response code 200 # features/steps/patroni_api.py:98 490s Nov 11 10:34:16 490s Nov 11 10:34:16 Scenario: check replication of a single table in a standby cluster # features/standby_cluster.feature:33 490s Nov 11 10:34:16 Given I start postgres1 in a standby cluster batman1 as a clone of postgres0 # features/steps/standby_cluster.py:23 493s Nov 11 10:34:19 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 493s Nov 11 10:34:19 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 493s Nov 11 10:34:19 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 493s Nov 11 10:34:19 When I issue a GET request to http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:61 493s Nov 11 10:34:19 Then I receive a response code 200 # features/steps/patroni_api.py:98 493s Nov 11 10:34:19 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 493s Nov 11 10:34:19 And I sleep for 3 seconds # features/steps/patroni_api.py:39 496s Nov 11 10:34:22 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 496s Nov 11 10:34:22 Then I receive a response code 503 # features/steps/patroni_api.py:98 496s Nov 11 10:34:22 When I issue a GET request to http://127.0.0.1:8009/standby_leader # features/steps/patroni_api.py:61 496s Nov 11 10:34:22 Then I receive a response code 200 # features/steps/patroni_api.py:98 496s Nov 11 10:34:22 And I receive a response role standby_leader # features/steps/patroni_api.py:98 496s Nov 11 10:34:22 And there is a postgres1_cb.log with "on_role_change standby_leader batman1" in postgres1 data directory # features/steps/cascading_replication.py:12 496s Nov 11 10:34:22 When I start postgres2 in a cluster batman1 # features/steps/standby_cluster.py:12 499s Nov 11 10:34:25 Then postgres2 role is the replica after 24 seconds # features/steps/basic_replication.py:105 499s Nov 11 10:34:25 And postgres2 is replicating from postgres1 after 10 seconds # features/steps/standby_cluster.py:52 499s Nov 11 10:34:25 And table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 499s Nov 11 10:34:25 When I issue a GET request to http://127.0.0.1:8010/patroni # features/steps/patroni_api.py:61 499s Nov 11 10:34:25 Then I receive a response code 200 # features/steps/patroni_api.py:98 499s Nov 11 10:34:25 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 499s Nov 11 10:34:25 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 499s Nov 11 10:34:25 499s Nov 11 10:34:25 Scenario: check switchover # features/standby_cluster.feature:57 499s Nov 11 10:34:25 Given I run patronictl.py switchover batman1 --force # features/steps/patroni_api.py:86 502s Nov 11 10:34:28 Then Status code on GET http://127.0.0.1:8010/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 502s Nov 11 10:34:28 And postgres1 is replicating from postgres2 after 32 seconds # features/steps/standby_cluster.py:52 504s Nov 11 10:34:30 And there is a postgres2_cb.log with "on_start replica batman1\non_role_change standby_leader batman1" in postgres2 data directory # features/steps/cascading_replication.py:12 504s Nov 11 10:34:30 504s Nov 11 10:34:30 Scenario: check failover # features/standby_cluster.feature:63 504s Nov 11 10:34:30 When I kill postgres2 # features/steps/basic_replication.py:34 505s Nov 11 10:34:31 And I kill postmaster on postgres2 # features/steps/basic_replication.py:44 506s Nov 11 10:34:32 waiting for server to shut down.... done 506s Nov 11 10:34:32 server stopped 506s Nov 11 10:34:32 Then postgres1 is replicating from postgres0 after 32 seconds # features/steps/standby_cluster.py:52 525s Nov 11 10:34:51 And Status code on GET http://127.0.0.1:8009/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 525s Nov 11 10:34:51 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 525s Nov 11 10:34:51 Then I receive a response code 503 # features/steps/patroni_api.py:98 525s Nov 11 10:34:51 And I receive a response role standby_leader # features/steps/patroni_api.py:98 525s Nov 11 10:34:51 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 526s Nov 11 10:34:52 And there is a postgres1_cb.log with "on_role_change replica batman1\non_role_change standby_leader batman1" in postgres1 data directory # features/steps/cascading_replication.py:12 530s Nov 11 10:34:56 530s Nov 11 10:34:56 Feature: watchdog # features/watchdog.feature:1 530s Nov 11 10:34:56 Verify that watchdog gets pinged and triggered under appropriate circumstances. 530s Nov 11 10:34:56 Scenario: watchdog is opened and pinged # features/watchdog.feature:4 530s Nov 11 10:34:56 Given I start postgres0 with watchdog # features/steps/watchdog.py:16 533s Nov 11 10:34:59 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 533s Nov 11 10:34:59 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 533s Nov 11 10:34:59 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 534s Nov 11 10:35:00 And postgres0 watchdog has a 15 second timeout # features/steps/watchdog.py:34 534s Nov 11 10:35:00 534s Nov 11 10:35:00 Scenario: watchdog is reconfigured after global ttl changed # features/watchdog.feature:11 534s Nov 11 10:35:00 Given I run patronictl.py edit-config batman -s ttl=30 --force # features/steps/patroni_api.py:86 535s Nov 11 10:35:01 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 535s Nov 11 10:35:01 And I receive a response output "+ttl: 30" # features/steps/patroni_api.py:98 535s Nov 11 10:35:01 When I sleep for 4 seconds # features/steps/patroni_api.py:39 539s Nov 11 10:35:05 Then postgres0 watchdog has a 25 second timeout # features/steps/watchdog.py:34 539s Nov 11 10:35:05 539s Nov 11 10:35:05 Scenario: watchdog is disabled during pause # features/watchdog.feature:18 539s Nov 11 10:35:05 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 541s Nov 11 10:35:07 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 541s Nov 11 10:35:07 When I sleep for 2 seconds # features/steps/patroni_api.py:39 543s Nov 11 10:35:09 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 543s Nov 11 10:35:09 543s Nov 11 10:35:09 Scenario: watchdog is opened and pinged after resume # features/watchdog.feature:24 543s Nov 11 10:35:09 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 543s Nov 11 10:35:09 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 544s Nov 11 10:35:10 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 544s Nov 11 10:35:10 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 545s Nov 11 10:35:11 545s Nov 11 10:35:11 Scenario: watchdog is disabled when shutting down # features/watchdog.feature:30 545s Nov 11 10:35:11 Given I shut down postgres0 # features/steps/basic_replication.py:29 547s Nov 11 10:35:13 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 547s Nov 11 10:35:13 547s Nov 11 10:35:13 Scenario: watchdog is triggered if patroni stops responding # features/watchdog.feature:34 547s Nov 11 10:35:13 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 547s Nov 11 10:35:13 And I start postgres0 with watchdog # features/steps/watchdog.py:16 549s Nov 11 10:35:15 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 551s Nov 11 10:35:17 When postgres0 hangs for 30 seconds # features/steps/watchdog.py:52 551s Nov 11 10:35:17 Then postgres0 watchdog is triggered after 30 seconds # features/steps/watchdog.py:44 578s Nov 11 10:35:44 578s Nov 11 10:35:44 Combined data file .coverage.autopkgtest.4733.XnQaFwXx 578s Nov 11 10:35:44 Combined data file .coverage.autopkgtest.4777.XsccHlox 578s Nov 11 10:35:44 Combined data file .coverage.autopkgtest.4817.XRvBzgxx 578s Nov 11 10:35:44 Combined data file .coverage.autopkgtest.4891.XLPmhDpx 578s Nov 11 10:35:44 Combined data file .coverage.autopkgtest.4937.XHxHWmrx 578s Nov 11 10:35:44 Combined data file .coverage.autopkgtest.5008.XfckMiMx 578s Nov 11 10:35:44 Combined data file .coverage.autopkgtest.5060.XEPpsMkx 578s Nov 11 10:35:44 Combined data file .coverage.autopkgtest.5063.XhfJJanx 578s Nov 11 10:35:44 Combined data file .coverage.autopkgtest.5151.XTaXPdFx 578s Nov 11 10:35:44 Combined data file .coverage.autopkgtest.5244.XbaVDykx 578s Nov 11 10:35:44 Combined data file .coverage.autopkgtest.5256.XsxwFLox 578s Nov 11 10:35:44 Combined data file .coverage.autopkgtest.5301.XHdObECx 578s Nov 11 10:35:44 Combined data file .coverage.autopkgtest.5350.XdLTYQDx 578s Nov 11 10:35:44 Combined data file .coverage.autopkgtest.5464.XxsYOlcx 578s Nov 11 10:35:44 Combined data file .coverage.autopkgtest.5510.XWBEryjx 578s Nov 11 10:35:44 Combined data file .coverage.autopkgtest.5570.XZdmuQbx 578s Nov 11 10:35:44 Combined data file .coverage.autopkgtest.5656.XnqqunUx 578s Nov 11 10:35:44 Combined data file .coverage.autopkgtest.5707.XqRTVVIx 578s Nov 11 10:35:44 Combined data file .coverage.autopkgtest.5815.XlThEpLx 578s Nov 11 10:35:44 Combined data file .coverage.autopkgtest.5866.XCXoWnEx 578s Nov 11 10:35:44 Combined data file .coverage.autopkgtest.5928.XsCDcSYx 578s Nov 11 10:35:44 Combined data file .coverage.autopkgtest.6015.XincIgdx 578s Nov 11 10:35:44 Combined data file .coverage.autopkgtest.6113.XIlrtRvx 578s Nov 11 10:35:44 Combined data file .coverage.autopkgtest.6156.XRpCpmZx 578s Nov 11 10:35:44 Combined data file .coverage.autopkgtest.6223.XxkYWlAx 578s Nov 11 10:35:44 Combined data file .coverage.autopkgtest.6256.XxUCNGjx 578s Nov 11 10:35:44 Combined data file .coverage.autopkgtest.6427.XWvWOVBx 578s Nov 11 10:35:44 Combined data file .coverage.autopkgtest.6476.XElTcUfx 578s Nov 11 10:35:44 Combined data file .coverage.autopkgtest.6492.XQKmXYEx 578s Nov 11 10:35:44 Combined data file .coverage.autopkgtest.6529.XTGVeBkx 578s Nov 11 10:35:44 Combined data file .coverage.autopkgtest.6577.XCuSAQpx 578s Nov 11 10:35:44 Combined data file .coverage.autopkgtest.6582.XhgyNcyx 578s Nov 11 10:35:44 Combined data file .coverage.autopkgtest.6618.XmsEuJox 578s Nov 11 10:35:44 Combined data file .coverage.autopkgtest.6662.XcelsjJx 578s Nov 11 10:35:44 Combined data file .coverage.autopkgtest.6826.XpfOiBTx 578s Nov 11 10:35:44 Combined data file .coverage.autopkgtest.6828.XDglAIcx 578s Nov 11 10:35:44 Combined data file .coverage.autopkgtest.6834.XQUAfyCx 578s Nov 11 10:35:44 Combined data file .coverage.autopkgtest.6965.XtHOXGmx 578s Nov 11 10:35:44 Combined data file .coverage.autopkgtest.7010.XwgvQEKx 578s Nov 11 10:35:44 Combined data file .coverage.autopkgtest.7059.XDXbSWBx 578s Nov 11 10:35:44 Combined data file .coverage.autopkgtest.7105.XYzSNWAx 578s Nov 11 10:35:44 Combined data file .coverage.autopkgtest.7156.XyCRhiCx 578s Nov 11 10:35:44 Combined data file .coverage.autopkgtest.7354.XcOrpdqx 578s Nov 11 10:35:44 Combined data file .coverage.autopkgtest.7397.XnGtvXEx 578s Nov 11 10:35:44 Combined data file .coverage.autopkgtest.7469.XaZRsczx 578s Nov 11 10:35:44 Combined data file .coverage.autopkgtest.7557.XpCttxux 578s Nov 11 10:35:44 Combined data file .coverage.autopkgtest.7602.XgEICFpx 578s Nov 11 10:35:44 Combined data file .coverage.autopkgtest.7952.XoLfxGex 578s Nov 11 10:35:44 Combined data file .coverage.autopkgtest.7995.XRonkapx 578s Nov 11 10:35:44 Combined data file .coverage.autopkgtest.8134.XEmZqAcx 578s Nov 11 10:35:44 Combined data file .coverage.autopkgtest.8196.XSXNcoCx 578s Nov 11 10:35:44 Combined data file .coverage.autopkgtest.8248.XPPgFkgx 578s Nov 11 10:35:44 Combined data file .coverage.autopkgtest.8347.XvHrDFHx 578s Nov 11 10:35:44 Combined data file .coverage.autopkgtest.8468.XfABrdEx 578s Nov 11 10:35:44 Combined data file .coverage.autopkgtest.8594.XNNyBcfx 578s Nov 11 10:35:44 Combined data file .coverage.autopkgtest.8637.XiAccFix 578s Nov 11 10:35:44 Combined data file .coverage.autopkgtest.8642.XjoGiwfx 578s Nov 11 10:35:44 Combined data file .coverage.autopkgtest.8645.XsTBgJKx 578s Nov 11 10:35:44 Combined data file .coverage.autopkgtest.8656.XOvsGCRx 580s Nov 11 10:35:46+ echo '### End 16 acceptance-etcd3 ###' 580s + rm -f '/tmp/pgpass?' 580s Name Stmts Miss Cover 580s Nov 11 10:35:46 ------------------------------------------------------------------------------------------------------------- 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/OpenSSL/SSL.py 1099 597 46% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/OpenSSL/__init__.py 4 0 100% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/OpenSSL/_util.py 41 14 66% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/OpenSSL/crypto.py 1082 842 22% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/OpenSSL/version.py 10 0 100% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 101 96 5% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/cryptography/__about__.py 5 0 100% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/cryptography/__init__.py 3 0 100% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/cryptography/exceptions.py 26 5 81% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/cryptography/hazmat/__init__.py 2 0 100% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/cryptography/hazmat/_oid.py 126 0 100% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/__init__.py 0 0 100% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/__init__.py 0 0 100% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/_conditional.py 50 23 54% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/binding.py 62 12 81% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/__init__.py 0 0 100% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_asymmetric.py 6 0 100% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_cipheralgorithm.py 17 0 100% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_serialization.py 79 35 56% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/__init__.py 0 0 100% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dh.py 47 0 100% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dsa.py 55 5 91% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ec.py 164 17 90% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed448.py 45 12 73% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed25519.py 43 12 72% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/padding.py 55 23 58% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/rsa.py 90 38 58% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/types.py 19 0 100% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/utils.py 14 5 64% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x448.py 43 12 72% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x25519.py 41 12 71% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/__init__.py 4 0 100% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/algorithms.py 129 35 73% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/base.py 140 81 42% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/modes.py 139 58 58% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/constant_time.py 6 3 50% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hashes.py 127 20 84% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/__init__.py 5 0 100% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/base.py 7 0 100% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/ssh.py 758 602 21% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/cryptography/utils.py 77 29 62% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/cryptography/x509/__init__.py 70 0 100% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/cryptography/x509/base.py 487 229 53% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/cryptography/x509/certificate_transparency.py 42 0 100% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/cryptography/x509/extensions.py 1038 569 45% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/cryptography/x509/general_name.py 166 94 43% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/cryptography/x509/name.py 232 141 39% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/cryptography/x509/oid.py 3 0 100% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/cryptography/x509/verification.py 10 0 100% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/dateutil/__init__.py 13 4 69% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/dateutil/_version.py 11 2 82% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 813 436 46% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 185 150 19% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 241 206 15% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 161 121 25% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 800 626 22% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/dateutil/tz/win.py 153 149 3% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/dns/__init__.py 3 0 100% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/dns/_asyncbackend.py 14 6 57% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/dns/_ddr.py 105 86 18% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/dns/_features.py 44 7 84% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/dns/_immutable_ctx.py 40 5 88% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/dns/asyncbackend.py 44 32 27% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/dns/asyncquery.py 277 242 13% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/dns/edns.py 270 161 40% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/dns/entropy.py 80 49 39% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/dns/enum.py 72 46 36% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/dns/exception.py 60 33 45% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/dns/flags.py 41 14 66% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/dns/grange.py 34 30 12% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/dns/immutable.py 41 30 27% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/dns/inet.py 80 65 19% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/dns/ipv4.py 27 20 26% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/dns/ipv6.py 115 100 13% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/dns/message.py 809 662 18% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/dns/name.py 620 427 31% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/dns/nameserver.py 101 54 47% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/dns/node.py 118 71 40% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/dns/opcode.py 31 7 77% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/dns/query.py 536 462 14% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/dns/quic/__init__.py 26 23 12% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/dns/rcode.py 69 13 81% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/dns/rdata.py 377 269 29% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/dns/rdataclass.py 44 9 80% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/dns/rdataset.py 193 133 31% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/dns/rdatatype.py 214 25 88% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/OPT.py 34 19 44% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/SOA.py 41 26 37% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/TSIG.py 58 42 28% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/ZONEMD.py 43 27 37% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/__init__.py 2 0 100% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/dns/rdtypes/__init__.py 2 0 100% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/dns/rdtypes/svcbbase.py 397 261 34% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/dns/rdtypes/util.py 191 154 19% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/dns/renderer.py 152 118 22% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/dns/resolver.py 899 719 20% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/dns/reversename.py 33 24 27% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/dns/rrset.py 78 56 28% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/dns/serial.py 93 79 15% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/dns/set.py 149 108 28% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/dns/tokenizer.py 335 279 17% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/dns/transaction.py 271 203 25% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/dns/tsig.py 177 122 31% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/dns/ttl.py 45 38 16% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/dns/version.py 7 0 100% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/dns/wire.py 64 42 34% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/dns/xfr.py 148 126 15% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/dns/zone.py 508 383 25% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/dns/zonefile.py 429 380 11% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/dns/zonetypes.py 15 2 87% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/etcd/__init__.py 125 63 50% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/etcd/client.py 380 256 33% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/etcd/lock.py 125 103 18% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/idna/__init__.py 4 0 100% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/idna/core.py 292 257 12% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/idna/idnadata.py 4 0 100% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/idna/intranges.py 30 24 20% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/idna/package_data.py 1 0 100% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/patroni/__main__.py 199 64 68% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/patroni/api.py 770 286 63% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 15 84% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/patroni/collections.py 56 6 89% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/patroni/config.py 371 94 75% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/patroni/config_generator.py 212 159 25% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/patroni/daemon.py 76 3 96% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 646 79 88% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/patroni/dcs/etcd3.py 679 125 82% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/patroni/dcs/etcd.py 603 256 58% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/patroni/dynamic_loader.py 35 7 80% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/patroni/file_perm.py 43 8 81% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/patroni/global_config.py 81 0 100% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/patroni/ha.py 1244 361 71% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/patroni/log.py 219 69 68% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 821 173 79% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/patroni/postgresql/available_parameters/__init__.py 21 1 95% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 252 62 75% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 813 216 73% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 1 99% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 41 8 80% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/patroni/postgresql/mpp/__init__.py 89 11 88% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 85 50% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 416 163 61% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 334 34 90% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 130 19 85% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 157 23 85% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/patroni/psycopg.py 42 16 62% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/patroni/request.py 62 7 89% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/patroni/tags.py 38 0 100% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/patroni/utils.py 350 106 70% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/patroni/validator.py 301 208 31% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 42 79% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 35 74% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/psutil/__init__.py 951 629 34% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/psutil/_common.py 424 212 50% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/psutil/_compat.py 302 263 13% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1251 924 26% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/psutil/_psposix.py 96 38 60% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/six.py 504 250 50% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/urllib3/__init__.py 50 14 72% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 70 52 26% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/urllib3/_collections.py 234 123 47% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 53 23 57% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/urllib3/_version.py 2 0 100% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/urllib3/connection.py 324 99 69% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 347 124 64% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/urllib3/contrib/__init__.py 0 0 100% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/urllib3/contrib/pyopenssl.py 257 96 63% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/urllib3/exceptions.py 115 37 68% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 85 64% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/urllib3/response.py 562 280 50% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 42 36% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 49 53% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 15 53% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/urllib3/util/retry.py 173 49 72% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 177 78 56% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 160 112 30% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 14 80% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/urllib3/util/url.py 205 71 65% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 10 62% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 18 63% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/yaml/parser.py 352 198 44% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/yaml/reader.py 122 34 72% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/yaml/scanner.py 758 437 42% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 580s Nov 11 10:35:46 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 580s Nov 11 10:35:46 patroni/__init__.py 13 2 85% 580s Nov 11 10:35:46 patroni/__main__.py 199 199 0% 580s Nov 11 10:35:46 patroni/api.py 770 770 0% 580s Nov 11 10:35:46 patroni/async_executor.py 96 69 28% 580s Nov 11 10:35:46 patroni/collections.py 56 15 73% 580s Nov 11 10:35:46 patroni/config.py 371 196 47% 580s Nov 11 10:35:46 patroni/config_generator.py 212 212 0% 580s Nov 11 10:35:46 patroni/ctl.py 936 411 56% 580s Nov 11 10:35:46 patroni/daemon.py 76 76 0% 580s Nov 11 10:35:46 patroni/dcs/__init__.py 646 269 58% 580s Nov 11 10:35:46 patroni/dcs/consul.py 485 485 0% 580s Nov 11 10:35:46 patroni/dcs/etcd3.py 679 346 49% 580s Nov 11 10:35:46 patroni/dcs/etcd.py 603 277 54% 580s Nov 11 10:35:46 patroni/dcs/exhibitor.py 61 61 0% 580s Nov 11 10:35:46 patroni/dcs/kubernetes.py 938 938 0% 580s Nov 11 10:35:46 patroni/dcs/raft.py 319 319 0% 580s Nov 11 10:35:46 patroni/dcs/zookeeper.py 288 288 0% 580s Nov 11 10:35:46 patroni/dynamic_loader.py 35 7 80% 580s Nov 11 10:35:46 patroni/exceptions.py 16 1 94% 580s Nov 11 10:35:46 patroni/file_perm.py 43 15 65% 580s Nov 11 10:35:46 patroni/global_config.py 81 18 78% 580s Nov 11 10:35:46 patroni/ha.py 1244 1244 0% 580s Nov 11 10:35:46 patroni/log.py 219 173 21% 580s Nov 11 10:35:46 patroni/postgresql/__init__.py 821 651 21% 580s Nov 11 10:35:46 patroni/postgresql/available_parameters/__init__.py 21 1 95% 580s Nov 11 10:35:46 patroni/postgresql/bootstrap.py 252 222 12% 580s Nov 11 10:35:46 patroni/postgresql/callback_executor.py 55 34 38% 580s Nov 11 10:35:46 patroni/postgresql/cancellable.py 104 84 19% 580s Nov 11 10:35:46 patroni/postgresql/config.py 813 698 14% 580s Nov 11 10:35:46 patroni/postgresql/connection.py 75 50 33% 580s Nov 11 10:35:46 patroni/postgresql/misc.py 41 29 29% 580s Nov 11 10:35:46 patroni/postgresql/mpp/__init__.py 89 21 76% 580s Nov 11 10:35:46 patroni/postgresql/mpp/citus.py 259 259 0% 580s Nov 11 10:35:46 patroni/postgresql/postmaster.py 170 139 18% 580s Nov 11 10:35:46 patroni/postgresql/rewind.py 416 416 0% 580s Nov 11 10:35:46 patroni/postgresql/slots.py 334 285 15% 580s Nov 11 10:35:46 patroni/postgresql/sync.py 130 96 26% 580s Nov 11 10:35:46 patroni/postgresql/validator.py 157 52 67% 580s Nov 11 10:35:46 patroni/psycopg.py 42 28 33% 580s Nov 11 10:35:46 patroni/raft_controller.py 22 22 0% 580s Nov 11 10:35:46 patroni/request.py 62 6 90% 580s Nov 11 10:35:46 patroni/scripts/__init__.py 0 0 100% 580s Nov 11 10:35:46 patroni/scripts/aws.py 59 59 0% 580s Nov 11 10:35:46 patroni/scripts/barman/__init__.py 0 0 100% 580s Nov 11 10:35:46 patroni/scripts/barman/cli.py 51 51 0% 580s Nov 11 10:35:46 patroni/scripts/barman/config_switch.py 51 51 0% 580s Nov 11 10:35:46 patroni/scripts/barman/recover.py 37 37 0% 580s Nov 11 10:35:46 patroni/scripts/barman/utils.py 94 94 0% 580s Nov 11 10:35:46 patroni/scripts/wale_restore.py 207 207 0% 580s Nov 11 10:35:46 patroni/tags.py 38 11 71% 580s Nov 11 10:35:46 patroni/utils.py 350 177 49% 580s Nov 11 10:35:46 patroni/validator.py 301 215 29% 580s Nov 11 10:35:46 patroni/version.py 1 0 100% 580s Nov 11 10:35:46 patroni/watchdog/__init__.py 2 2 0% 580s Nov 11 10:35:46 patroni/watchdog/base.py 203 203 0% 580s Nov 11 10:35:46 patroni/watchdog/linux.py 135 135 0% 580s Nov 11 10:35:46 ------------------------------------------------------------------------------------------------------------- 580s Nov 11 10:35:46 TOTAL 53739 32253 40% 580s Nov 11 10:35:46 12 features passed, 0 failed, 1 skipped 580s Nov 11 10:35:46 46 scenarios passed, 0 failed, 14 skipped 580s Nov 11 10:35:46 466 steps passed, 0 failed, 119 skipped, 0 undefined 580s Nov 11 10:35:46 Took 7m9.173s 580s ### End 16 acceptance-etcd3 ### 580s ++ id -u 580s + '[' 1000 -eq 0 ']' 580s autopkgtest [10:35:46]: test acceptance-etcd3: -----------------------] 581s acceptance-etcd3 PASS 581s autopkgtest [10:35:47]: test acceptance-etcd3: - - - - - - - - - - results - - - - - - - - - - 581s autopkgtest [10:35:47]: test acceptance-etcd-basic: preparing testbed 626s autopkgtest [10:36:32]: testbed dpkg architecture: amd64 626s autopkgtest [10:36:32]: testbed apt version: 2.9.8 626s autopkgtest [10:36:32]: @@@@@@@@@@@@@@@@@@@@ test bed setup 627s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB] 627s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [91.3 kB] 627s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [913 kB] 627s Get:4 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [15.3 kB] 627s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [7016 B] 627s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/main i386 Packages [78.4 kB] 627s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/main amd64 Packages [132 kB] 627s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/restricted amd64 Packages [32.6 kB] 627s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/universe i386 Packages [293 kB] 627s Get:10 http://ftpmaster.internal/ubuntu plucky-proposed/universe amd64 Packages [696 kB] 627s Get:11 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse i386 Packages [13.0 kB] 627s Get:12 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse amd64 Packages [37.7 kB] 627s Fetched 2383 kB in 1s (2877 kB/s) 627s Reading package lists... 630s Reading package lists... 630s Building dependency tree... 630s Reading state information... 630s Calculating upgrade... 630s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 630s Reading package lists... 630s Building dependency tree... 630s Reading state information... 631s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 631s Hit:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease 631s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 631s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 631s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 632s Reading package lists... 632s Reading package lists... 632s Building dependency tree... 632s Reading state information... 633s Calculating upgrade... 633s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 633s Reading package lists... 633s Building dependency tree... 633s Reading state information... 633s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 637s Reading package lists... 637s Building dependency tree... 637s Reading state information... 637s Starting pkgProblemResolver with broken count: 0 637s Starting 2 pkgProblemResolver with broken count: 0 637s Done 638s The following additional packages will be installed: 638s etcd-server fonts-font-awesome fonts-lato libio-pty-perl libipc-run-perl 638s libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl libpq5 638s libtime-duration-perl libtimedate-perl libxslt1.1 moreutils patroni 638s patroni-doc postgresql postgresql-16 postgresql-client-16 638s postgresql-client-common postgresql-common python3-behave python3-cdiff 638s python3-click python3-colorama python3-coverage python3-dateutil 638s python3-dnspython python3-etcd python3-parse python3-parse-type 638s python3-prettytable python3-psutil python3-psycopg2 python3-six 638s python3-wcwidth python3-ydiff sphinx-rtd-theme-common ssl-cert 638s Suggested packages: 638s etcd-client vip-manager haproxy postgresql-doc postgresql-doc-16 638s python-coverage-doc python3-trio python3-aioquic python3-h2 python3-httpx 638s python3-httpcore etcd python-psycopg2-doc 638s Recommended packages: 638s javascript-common libjson-xs-perl 638s The following NEW packages will be installed: 638s autopkgtest-satdep etcd-server fonts-font-awesome fonts-lato libio-pty-perl 638s libipc-run-perl libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl 638s libpq5 libtime-duration-perl libtimedate-perl libxslt1.1 moreutils patroni 638s patroni-doc postgresql postgresql-16 postgresql-client-16 638s postgresql-client-common postgresql-common python3-behave python3-cdiff 638s python3-click python3-colorama python3-coverage python3-dateutil 638s python3-dnspython python3-etcd python3-parse python3-parse-type 638s python3-prettytable python3-psutil python3-psycopg2 python3-six 638s python3-wcwidth python3-ydiff sphinx-rtd-theme-common ssl-cert 638s 0 upgraded, 40 newly installed, 0 to remove and 0 not upgraded. 638s Need to get 35.8 MB/35.8 MB of archives. 638s After this operation, 123 MB of additional disk space will be used. 638s Get:1 /tmp/autopkgtest.WZS0fA/2-autopkgtest-satdep.deb autopkgtest-satdep amd64 0 [772 B] 638s Get:2 http://ftpmaster.internal/ubuntu plucky/main amd64 fonts-lato all 2.015-1 [2781 kB] 638s Get:3 http://ftpmaster.internal/ubuntu plucky/main amd64 libjson-perl all 4.10000-1 [81.9 kB] 638s Get:4 http://ftpmaster.internal/ubuntu plucky/main amd64 postgresql-client-common all 262 [36.7 kB] 638s Get:5 http://ftpmaster.internal/ubuntu plucky/main amd64 ssl-cert all 1.1.2ubuntu2 [18.0 kB] 638s Get:6 http://ftpmaster.internal/ubuntu plucky/main amd64 postgresql-common all 262 [162 kB] 638s Get:7 http://ftpmaster.internal/ubuntu plucky/universe amd64 etcd-server amd64 3.5.15-7 [11.6 MB] 639s Get:8 http://ftpmaster.internal/ubuntu plucky/main amd64 fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 639s Get:9 http://ftpmaster.internal/ubuntu plucky/main amd64 libio-pty-perl amd64 1:1.20-1build3 [31.4 kB] 639s Get:10 http://ftpmaster.internal/ubuntu plucky/main amd64 libipc-run-perl all 20231003.0-2 [91.5 kB] 639s Get:11 http://ftpmaster.internal/ubuntu plucky/main amd64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 639s Get:12 http://ftpmaster.internal/ubuntu plucky/main amd64 libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 639s Get:13 http://ftpmaster.internal/ubuntu plucky/main amd64 libjs-sphinxdoc all 7.4.7-4 [158 kB] 639s Get:14 http://ftpmaster.internal/ubuntu plucky/main amd64 libpq5 amd64 17.0-1 [249 kB] 639s Get:15 http://ftpmaster.internal/ubuntu plucky/main amd64 libtime-duration-perl all 1.21-2 [12.3 kB] 639s Get:16 http://ftpmaster.internal/ubuntu plucky/main amd64 libtimedate-perl all 2.3300-2 [34.0 kB] 639s Get:17 http://ftpmaster.internal/ubuntu plucky/main amd64 libxslt1.1 amd64 1.1.39-0exp1ubuntu1 [169 kB] 639s Get:18 http://ftpmaster.internal/ubuntu plucky/universe amd64 moreutils amd64 0.69-1 [56.4 kB] 639s Get:19 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-ydiff all 1.3-1 [18.4 kB] 639s Get:20 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-cdiff all 1.3-1 [1770 B] 639s Get:21 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-colorama all 0.4.6-4 [32.1 kB] 639s Get:22 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-click all 8.1.7-2 [79.5 kB] 639s Get:23 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-six all 1.16.0-7 [13.1 kB] 639s Get:24 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-dateutil all 2.9.0-2 [80.3 kB] 639s Get:25 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 639s Get:26 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-prettytable all 3.10.1-1 [34.0 kB] 639s Get:27 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-psutil amd64 5.9.8-2build2 [195 kB] 639s Get:28 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-psycopg2 amd64 2.9.9-2 [132 kB] 639s Get:29 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-dnspython all 2.6.1-1ubuntu1 [163 kB] 639s Get:30 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-etcd all 0.4.5-4 [31.9 kB] 639s Get:31 http://ftpmaster.internal/ubuntu plucky/universe amd64 patroni all 3.3.1-1 [264 kB] 639s Get:32 http://ftpmaster.internal/ubuntu plucky/main amd64 sphinx-rtd-theme-common all 3.0.1+dfsg-1 [1012 kB] 639s Get:33 http://ftpmaster.internal/ubuntu plucky/universe amd64 patroni-doc all 3.3.1-1 [497 kB] 639s Get:34 http://ftpmaster.internal/ubuntu plucky/main amd64 postgresql-client-16 amd64 16.4-3 [1278 kB] 639s Get:35 http://ftpmaster.internal/ubuntu plucky/main amd64 postgresql-16 amd64 16.4-3 [15.2 MB] 640s Get:36 http://ftpmaster.internal/ubuntu plucky/main amd64 postgresql all 16+262 [11.8 kB] 640s Get:37 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-parse all 1.20.2-1 [27.0 kB] 640s Get:38 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-parse-type all 0.6.4-1 [23.4 kB] 640s Get:39 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-behave all 1.2.6-6 [98.6 kB] 640s Get:40 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-coverage amd64 7.4.4+dfsg1-0ubuntu2 [147 kB] 640s Preconfiguring packages ... 640s Fetched 35.8 MB in 2s (15.4 MB/s) 640s Selecting previously unselected package fonts-lato. 641s (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 ... 75552 files and directories currently installed.) 641s Preparing to unpack .../00-fonts-lato_2.015-1_all.deb ... 641s Unpacking fonts-lato (2.015-1) ... 641s Selecting previously unselected package libjson-perl. 641s Preparing to unpack .../01-libjson-perl_4.10000-1_all.deb ... 641s Unpacking libjson-perl (4.10000-1) ... 641s Selecting previously unselected package postgresql-client-common. 641s Preparing to unpack .../02-postgresql-client-common_262_all.deb ... 641s Unpacking postgresql-client-common (262) ... 641s Selecting previously unselected package ssl-cert. 641s Preparing to unpack .../03-ssl-cert_1.1.2ubuntu2_all.deb ... 641s Unpacking ssl-cert (1.1.2ubuntu2) ... 641s Selecting previously unselected package postgresql-common. 641s Preparing to unpack .../04-postgresql-common_262_all.deb ... 641s Adding 'diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common' 641s Unpacking postgresql-common (262) ... 641s Selecting previously unselected package etcd-server. 641s Preparing to unpack .../05-etcd-server_3.5.15-7_amd64.deb ... 641s Unpacking etcd-server (3.5.15-7) ... 641s Selecting previously unselected package fonts-font-awesome. 641s Preparing to unpack .../06-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 641s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 641s Selecting previously unselected package libio-pty-perl. 641s Preparing to unpack .../07-libio-pty-perl_1%3a1.20-1build3_amd64.deb ... 641s Unpacking libio-pty-perl (1:1.20-1build3) ... 641s Selecting previously unselected package libipc-run-perl. 641s Preparing to unpack .../08-libipc-run-perl_20231003.0-2_all.deb ... 641s Unpacking libipc-run-perl (20231003.0-2) ... 641s Selecting previously unselected package libjs-jquery. 641s Preparing to unpack .../09-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 641s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 641s Selecting previously unselected package libjs-underscore. 641s Preparing to unpack .../10-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 641s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 641s Selecting previously unselected package libjs-sphinxdoc. 641s Preparing to unpack .../11-libjs-sphinxdoc_7.4.7-4_all.deb ... 641s Unpacking libjs-sphinxdoc (7.4.7-4) ... 641s Selecting previously unselected package libpq5:amd64. 641s Preparing to unpack .../12-libpq5_17.0-1_amd64.deb ... 641s Unpacking libpq5:amd64 (17.0-1) ... 641s Selecting previously unselected package libtime-duration-perl. 641s Preparing to unpack .../13-libtime-duration-perl_1.21-2_all.deb ... 641s Unpacking libtime-duration-perl (1.21-2) ... 641s Selecting previously unselected package libtimedate-perl. 641s Preparing to unpack .../14-libtimedate-perl_2.3300-2_all.deb ... 641s Unpacking libtimedate-perl (2.3300-2) ... 641s Selecting previously unselected package libxslt1.1:amd64. 641s Preparing to unpack .../15-libxslt1.1_1.1.39-0exp1ubuntu1_amd64.deb ... 641s Unpacking libxslt1.1:amd64 (1.1.39-0exp1ubuntu1) ... 642s Selecting previously unselected package moreutils. 642s Preparing to unpack .../16-moreutils_0.69-1_amd64.deb ... 642s Unpacking moreutils (0.69-1) ... 642s Selecting previously unselected package python3-ydiff. 642s Preparing to unpack .../17-python3-ydiff_1.3-1_all.deb ... 642s Unpacking python3-ydiff (1.3-1) ... 642s Selecting previously unselected package python3-cdiff. 642s Preparing to unpack .../18-python3-cdiff_1.3-1_all.deb ... 642s Unpacking python3-cdiff (1.3-1) ... 642s Selecting previously unselected package python3-colorama. 642s Preparing to unpack .../19-python3-colorama_0.4.6-4_all.deb ... 642s Unpacking python3-colorama (0.4.6-4) ... 642s Selecting previously unselected package python3-click. 642s Preparing to unpack .../20-python3-click_8.1.7-2_all.deb ... 642s Unpacking python3-click (8.1.7-2) ... 642s Selecting previously unselected package python3-six. 642s Preparing to unpack .../21-python3-six_1.16.0-7_all.deb ... 642s Unpacking python3-six (1.16.0-7) ... 642s Selecting previously unselected package python3-dateutil. 642s Preparing to unpack .../22-python3-dateutil_2.9.0-2_all.deb ... 642s Unpacking python3-dateutil (2.9.0-2) ... 642s Selecting previously unselected package python3-wcwidth. 642s Preparing to unpack .../23-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 642s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 642s Selecting previously unselected package python3-prettytable. 642s Preparing to unpack .../24-python3-prettytable_3.10.1-1_all.deb ... 642s Unpacking python3-prettytable (3.10.1-1) ... 642s Selecting previously unselected package python3-psutil. 642s Preparing to unpack .../25-python3-psutil_5.9.8-2build2_amd64.deb ... 642s Unpacking python3-psutil (5.9.8-2build2) ... 642s Selecting previously unselected package python3-psycopg2. 642s Preparing to unpack .../26-python3-psycopg2_2.9.9-2_amd64.deb ... 642s Unpacking python3-psycopg2 (2.9.9-2) ... 642s Selecting previously unselected package python3-dnspython. 642s Preparing to unpack .../27-python3-dnspython_2.6.1-1ubuntu1_all.deb ... 642s Unpacking python3-dnspython (2.6.1-1ubuntu1) ... 642s Selecting previously unselected package python3-etcd. 642s Preparing to unpack .../28-python3-etcd_0.4.5-4_all.deb ... 642s Unpacking python3-etcd (0.4.5-4) ... 642s Selecting previously unselected package patroni. 642s Preparing to unpack .../29-patroni_3.3.1-1_all.deb ... 642s Unpacking patroni (3.3.1-1) ... 642s Selecting previously unselected package sphinx-rtd-theme-common. 642s Preparing to unpack .../30-sphinx-rtd-theme-common_3.0.1+dfsg-1_all.deb ... 642s Unpacking sphinx-rtd-theme-common (3.0.1+dfsg-1) ... 642s Selecting previously unselected package patroni-doc. 642s Preparing to unpack .../31-patroni-doc_3.3.1-1_all.deb ... 642s Unpacking patroni-doc (3.3.1-1) ... 642s Selecting previously unselected package postgresql-client-16. 642s Preparing to unpack .../32-postgresql-client-16_16.4-3_amd64.deb ... 642s Unpacking postgresql-client-16 (16.4-3) ... 642s Selecting previously unselected package postgresql-16. 642s Preparing to unpack .../33-postgresql-16_16.4-3_amd64.deb ... 642s Unpacking postgresql-16 (16.4-3) ... 642s Selecting previously unselected package postgresql. 642s Preparing to unpack .../34-postgresql_16+262_all.deb ... 642s Unpacking postgresql (16+262) ... 642s Selecting previously unselected package python3-parse. 643s Preparing to unpack .../35-python3-parse_1.20.2-1_all.deb ... 643s Unpacking python3-parse (1.20.2-1) ... 643s Selecting previously unselected package python3-parse-type. 643s Preparing to unpack .../36-python3-parse-type_0.6.4-1_all.deb ... 643s Unpacking python3-parse-type (0.6.4-1) ... 643s Selecting previously unselected package python3-behave. 643s Preparing to unpack .../37-python3-behave_1.2.6-6_all.deb ... 643s Unpacking python3-behave (1.2.6-6) ... 643s Selecting previously unselected package python3-coverage. 643s Preparing to unpack .../38-python3-coverage_7.4.4+dfsg1-0ubuntu2_amd64.deb ... 643s Unpacking python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 643s Selecting previously unselected package autopkgtest-satdep. 643s Preparing to unpack .../39-2-autopkgtest-satdep.deb ... 643s Unpacking autopkgtest-satdep (0) ... 643s Setting up postgresql-client-common (262) ... 643s Setting up fonts-lato (2.015-1) ... 643s Setting up libio-pty-perl (1:1.20-1build3) ... 643s Setting up python3-colorama (0.4.6-4) ... 643s Setting up python3-ydiff (1.3-1) ... 643s Setting up libpq5:amd64 (17.0-1) ... 643s Setting up python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 643s Setting up python3-click (8.1.7-2) ... 643s Setting up python3-psutil (5.9.8-2build2) ... 643s Setting up python3-six (1.16.0-7) ... 643s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 644s Setting up ssl-cert (1.1.2ubuntu2) ... 644s Created symlink '/etc/systemd/system/multi-user.target.wants/ssl-cert.service' → '/usr/lib/systemd/system/ssl-cert.service'. 644s Setting up python3-psycopg2 (2.9.9-2) ... 644s Setting up libipc-run-perl (20231003.0-2) ... 644s Setting up libtime-duration-perl (1.21-2) ... 644s Setting up libtimedate-perl (2.3300-2) ... 644s Setting up python3-dnspython (2.6.1-1ubuntu1) ... 645s Setting up python3-parse (1.20.2-1) ... 645s Setting up libjson-perl (4.10000-1) ... 645s Setting up libxslt1.1:amd64 (1.1.39-0exp1ubuntu1) ... 645s Setting up python3-dateutil (2.9.0-2) ... 645s Setting up etcd-server (3.5.15-7) ... 645s info: Selecting UID from range 100 to 999 ... 645s 645s info: Selecting GID from range 100 to 999 ... 645s info: Adding system user `etcd' (UID 108) ... 645s info: Adding new group `etcd' (GID 112) ... 645s info: Adding new user `etcd' (UID 108) with group `etcd' ... 645s info: Creating home directory `/var/lib/etcd/' ... 645s Created symlink '/etc/systemd/system/etcd2.service' → '/usr/lib/systemd/system/etcd.service'. 645s Created symlink '/etc/systemd/system/multi-user.target.wants/etcd.service' → '/usr/lib/systemd/system/etcd.service'. 647s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 647s Setting up python3-prettytable (3.10.1-1) ... 647s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 647s Setting up sphinx-rtd-theme-common (3.0.1+dfsg-1) ... 647s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 647s Setting up moreutils (0.69-1) ... 647s Setting up python3-etcd (0.4.5-4) ... 647s Setting up postgresql-client-16 (16.4-3) ... 647s update-alternatives: using /usr/share/postgresql/16/man/man1/psql.1.gz to provide /usr/share/man/man1/psql.1.gz (psql.1.gz) in auto mode 648s Setting up python3-cdiff (1.3-1) ... 648s Setting up python3-parse-type (0.6.4-1) ... 648s Setting up postgresql-common (262) ... 648s 648s Creating config file /etc/postgresql-common/createcluster.conf with new version 648s Building PostgreSQL dictionaries from installed myspell/hunspell packages... 648s Removing obsolete dictionary files: 649s Created symlink '/etc/systemd/system/multi-user.target.wants/postgresql.service' → '/usr/lib/systemd/system/postgresql.service'. 649s Setting up libjs-sphinxdoc (7.4.7-4) ... 649s Setting up python3-behave (1.2.6-6) ... 649s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 649s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 649s /usr/lib/python3/dist-packages/behave/matchers.py:267: SyntaxWarning: invalid escape sequence '\d' 649s """Registers a custom type that will be available to "parse" 649s Setting up patroni (3.3.1-1) ... 649s Created symlink '/etc/systemd/system/multi-user.target.wants/patroni.service' → '/usr/lib/systemd/system/patroni.service'. 650s Setting up postgresql-16 (16.4-3) ... 650s Creating new PostgreSQL cluster 16/main ... 650s /usr/lib/postgresql/16/bin/initdb -D /var/lib/postgresql/16/main --auth-local peer --auth-host scram-sha-256 --no-instructions 650s The files belonging to this database system will be owned by user "postgres". 650s This user must also own the server process. 650s 650s The database cluster will be initialized with locale "C.UTF-8". 650s The default database encoding has accordingly been set to "UTF8". 650s The default text search configuration will be set to "english". 650s 650s Data page checksums are disabled. 650s 650s fixing permissions on existing directory /var/lib/postgresql/16/main ... ok 650s creating subdirectories ... ok 650s selecting dynamic shared memory implementation ... posix 650s selecting default max_connections ... 100 650s selecting default shared_buffers ... 128MB 650s selecting default time zone ... Etc/UTC 650s creating configuration files ... ok 650s running bootstrap script ... ok 650s performing post-bootstrap initialization ... ok 651s syncing data to disk ... ok 654s Setting up patroni-doc (3.3.1-1) ... 654s Setting up postgresql (16+262) ... 654s Setting up autopkgtest-satdep (0) ... 654s Processing triggers for man-db (2.12.1-3) ... 655s Processing triggers for libc-bin (2.40-1ubuntu3) ... 658s (Reading database ... 78763 files and directories currently installed.) 658s Removing autopkgtest-satdep (0) ... 660s autopkgtest [10:37:06]: test acceptance-etcd-basic: debian/tests/acceptance etcd features/basic_replication.feature 660s autopkgtest [10:37:06]: test acceptance-etcd-basic: [----------------------- 660s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 660s ○ etcd.service - etcd - highly-available key value store 660s Loaded: loaded (/usr/lib/systemd/system/etcd.service; enabled; preset: enabled) 660s Active: inactive (dead) since Mon 2024-11-11 10:37:06 UTC; 13ms ago 660s Duration: 13.725s 660s Invocation: e49d3540f3ef40dfb660d19bbf865013 660s Docs: https://etcd.io/docs 660s man:etcd 660s Process: 2429 ExecStart=/usr/bin/etcd $DAEMON_ARGS (code=killed, signal=TERM) 660s Main PID: 2429 (code=killed, signal=TERM) 660s Mem peak: 7.2M 660s CPU: 98ms 660s 660s Nov 11 10:37:06 autopkgtest etcd[2429]: {"level":"info","ts":"2024-11-11T10:37:06.895139Z","caller":"osutil/interrupt_unix.go:64","msg":"received signal; shutting down","signal":"terminated"} 660s Nov 11 10:37:06 autopkgtest etcd[2429]: {"level":"info","ts":"2024-11-11T10:37:06.895195Z","caller":"embed/etcd.go:377","msg":"closing etcd server","name":"autopkgtest","data-dir":"/var/lib/etcd/default","advertise-peer-urls":["http://localhost:2380"],"advertise-client-urls":["http://localhost:2379"]} 660s Nov 11 10:37:06 autopkgtest etcd[2429]: {"level":"warn","ts":"2024-11-11T10:37:06.896451Z","caller":"embed/serve.go:161","msg":"stopping insecure grpc server due to error","error":"accept tcp 127.0.0.1:2379: use of closed network connection"} 660s Nov 11 10:37:06 autopkgtest etcd[2429]: {"level":"warn","ts":"2024-11-11T10:37:06.896636Z","caller":"embed/serve.go:163","msg":"stopped insecure grpc server due to error","error":"accept tcp 127.0.0.1:2379: use of closed network connection"} 660s Nov 11 10:37:06 autopkgtest etcd[2429]: {"level":"info","ts":"2024-11-11T10:37:06.896679Z","caller":"etcdserver/server.go:1521","msg":"skipped leadership transfer for single voting member cluster","local-member-id":"8e9e05c52164694d","current-leader-member-id":"8e9e05c52164694d"} 660s Nov 11 10:37:06 autopkgtest etcd[2429]: {"level":"info","ts":"2024-11-11T10:37:06.898240Z","caller":"embed/etcd.go:581","msg":"stopping serving peer traffic","address":"127.0.0.1:2380"} 660s Nov 11 10:37:06 autopkgtest etcd[2429]: {"level":"info","ts":"2024-11-11T10:37:06.898422Z","caller":"embed/etcd.go:586","msg":"stopped serving peer traffic","address":"127.0.0.1:2380"} 660s Nov 11 10:37:06 autopkgtest etcd[2429]: {"level":"info","ts":"2024-11-11T10:37:06.898437Z","caller":"embed/etcd.go:379","msg":"closed etcd server","name":"autopkgtest","data-dir":"/var/lib/etcd/default","advertise-peer-urls":["http://localhost:2380"],"advertise-client-urls":["http://localhost:2379"]} 660s Nov 11 10:37:06 autopkgtest systemd[1]: etcd.service: Deactivated successfully. 660s Nov 11 10:37:06 autopkgtest systemd[1]: Stopped etcd.service - etcd - highly-available key value store. 660s ++ ls -1r /usr/lib/postgresql/ 660s ### PostgreSQL 16 acceptance-etcd features/basic_replication.feature ### 660s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 660s + '[' 16 == 10 -o 16 == 11 ']' 660s + echo '### PostgreSQL 16 acceptance-etcd features/basic_replication.feature ###' 660s + su postgres -p -c 'set -o pipefail; ETCD_UNSUPPORTED_ARCH= DCS=etcd PATH=/usr/lib/postgresql/16/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin behave features/basic_replication.feature | ts' 662s Nov 11 10:37:08 Feature: basic replication # features/basic_replication.feature:1 662s Nov 11 10:37:08 We should check that the basic bootstrapping, replication and failover works. 662s Nov 11 10:37:08 Scenario: check replication of a single table # features/basic_replication.feature:4 662s Nov 11 10:37:08 Given I start postgres0 # features/steps/basic_replication.py:8 665s Nov 11 10:37:11 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 666s Nov 11 10:37:12 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 666s Nov 11 10:37:12 When I issue a PATCH request to http://127.0.0.1:8008/config with {"ttl": 20, "synchronous_mode": true} # features/steps/patroni_api.py:71 666s Nov 11 10:37:12 Then I receive a response code 200 # features/steps/patroni_api.py:98 666s Nov 11 10:37:12 When I start postgres1 # features/steps/basic_replication.py:8 669s Nov 11 10:37:15 And I configure and start postgres2 with a tag replicatefrom postgres0 # features/steps/cascading_replication.py:7 672s Nov 11 10:37:18 And "sync" key in DCS has leader=postgres0 after 20 seconds # features/steps/cascading_replication.py:23 672s Nov 11 10:37:18 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 672s Nov 11 10:37:18 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 673s Nov 11 10:37:19 Then table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 677s Nov 11 10:37:23 677s Nov 11 10:37:23 Scenario: check restart of sync replica # features/basic_replication.feature:17 677s Nov 11 10:37:23 Given I shut down postgres2 # features/steps/basic_replication.py:29 678s Nov 11 10:37:24 Then "sync" key in DCS has sync_standby=postgres1 after 5 seconds # features/steps/cascading_replication.py:23 678s Nov 11 10:37:24 When I start postgres2 # features/steps/basic_replication.py:8 680s Nov 11 10:37:26 And I shut down postgres1 # features/steps/basic_replication.py:29 683s Nov 11 10:37:29 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 684s Nov 11 10:37:30 When I start postgres1 # features/steps/basic_replication.py:8 686s Nov 11 10:37:32 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 687s Nov 11 10:37:33 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 687s Nov 11 10:37:33 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 687s Nov 11 10:37:33 687s Nov 11 10:37:33 Scenario: check stuck sync replica # features/basic_replication.feature:28 687s Nov 11 10:37:33 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"pause": true, "maximum_lag_on_syncnode": 15000000, "postgresql": {"parameters": {"synchronous_commit": "remote_apply"}}} # features/steps/patroni_api.py:71 687s Nov 11 10:37:33 Then I receive a response code 200 # features/steps/patroni_api.py:98 687s Nov 11 10:37:33 And I create table on postgres0 # features/steps/basic_replication.py:73 687s Nov 11 10:37:33 And table mytest is present on postgres1 after 2 seconds # features/steps/basic_replication.py:93 688s Nov 11 10:37:34 And table mytest is present on postgres2 after 2 seconds # features/steps/basic_replication.py:93 688s Nov 11 10:37:34 When I pause wal replay on postgres2 # features/steps/basic_replication.py:64 688s Nov 11 10:37:34 And I load data on postgres0 # features/steps/basic_replication.py:84 689s Nov 11 10:37:35 Then "sync" key in DCS has sync_standby=postgres1 after 15 seconds # features/steps/cascading_replication.py:23 692s Nov 11 10:37:38 And I resume wal replay on postgres2 # features/steps/basic_replication.py:64 692s Nov 11 10:37:38 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 693s Nov 11 10:37:39 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:142 693s Nov 11 10:37:39 When I issue a PATCH request to http://127.0.0.1:8008/config with {"pause": null, "maximum_lag_on_syncnode": -1, "postgresql": {"parameters": {"synchronous_commit": "on"}}} # features/steps/patroni_api.py:71 693s Nov 11 10:37:39 Then I receive a response code 200 # features/steps/patroni_api.py:98 693s Nov 11 10:37:39 And I drop table on postgres0 # features/steps/basic_replication.py:73 693s Nov 11 10:37:39 693s Nov 11 10:37:39 Scenario: check multi sync replication # features/basic_replication.feature:44 693s Nov 11 10:37:39 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"synchronous_node_count": 2} # features/steps/patroni_api.py:71 693s Nov 11 10:37:39 Then I receive a response code 200 # features/steps/patroni_api.py:98 693s Nov 11 10:37:39 Then "sync" key in DCS has sync_standby=postgres1,postgres2 after 10 seconds # features/steps/cascading_replication.py:23 697s Nov 11 10:37:43 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 697s Nov 11 10:37:43 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 697s Nov 11 10:37:43 When I issue a PATCH request to http://127.0.0.1:8008/config with {"synchronous_node_count": 1} # features/steps/patroni_api.py:71 697s Nov 11 10:37:43 Then I receive a response code 200 # features/steps/patroni_api.py:98 697s Nov 11 10:37:43 And I shut down postgres1 # features/steps/basic_replication.py:29 700s Nov 11 10:37:46 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 701s Nov 11 10:37:47 When I start postgres1 # features/steps/basic_replication.py:8 704s Nov 11 10:37:50 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 704s Nov 11 10:37:50 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 704s Nov 11 10:37:50 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 704s Nov 11 10:37:50 704s Nov 11 10:37:50 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 704s Nov 11 10:37:50 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 706s Nov 11 10:37:52 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 706s Nov 11 10:37:52 When I sleep for 2 seconds # features/steps/patroni_api.py:39 708s Nov 11 10:37:54 And I shut down postgres0 # features/steps/basic_replication.py:29 709s Nov 11 10:37:55 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 710s Nov 11 10:37:56 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 710s Nov 11 10:37:56 And postgres2 role is the primary after 24 seconds # features/steps/basic_replication.py:105 729s Nov 11 10:38:15 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:156 731s Nov 11 10:38:17 And there is a postgres2_cb.log with "on_role_change master batman" in postgres2 data directory # features/steps/cascading_replication.py:12 731s Nov 11 10:38:17 When I issue a PATCH request to http://127.0.0.1:8010/config with {"synchronous_mode": null, "master_start_timeout": 0} # features/steps/patroni_api.py:71 731s Nov 11 10:38:17 Then I receive a response code 200 # features/steps/patroni_api.py:98 731s Nov 11 10:38:17 When I add the table bar to postgres2 # features/steps/basic_replication.py:54 731s Nov 11 10:38:17 Then table bar is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 734s Nov 11 10:38:20 And Response on GET http://127.0.0.1:8010/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 734s Nov 11 10:38:20 734s Nov 11 10:38:20 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 734s Nov 11 10:38:20 Given I add the table splitbrain to postgres0 # features/steps/basic_replication.py:54 734s Nov 11 10:38:20 And I start postgres0 # features/steps/basic_replication.py:8 734s Nov 11 10:38:20 Then postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 740s Nov 11 10:38:26 When I add the table buz to postgres2 # features/steps/basic_replication.py:54 740s Nov 11 10:38:26 Then table buz is present on postgres0 after 20 seconds # features/steps/basic_replication.py:93 740s Nov 11 10:38:26 740s Nov 11 10:38:26 @reject-duplicate-name 740s Nov 11 10:38:26 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 740s Nov 11 10:38:26 Given I start duplicate postgres0 on port 8011 # features/steps/basic_replication.py:13 742s Nov 11 10:38:28 Then there is one of ["Can't start; there is already a node named 'postgres0' running"] CRITICAL in the dup-postgres0 patroni log after 5 seconds # features/steps/basic_replication.py:121 746s Nov 11 10:38:32 746s Failed to get list of machines from http://[::1]:2379/v2: MaxRetryError("HTTPConnectionPool(host='::1', port=2379): Max retries exceeded with url: /v2/machines (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused'))") 748s Failed to get list of machines from http://[::1]:2379/v2: MaxRetryError("HTTPConnectionPool(host='::1', port=2379): Max retries exceeded with url: /v2/machines (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused'))") 748s Failed to get list of machines from http://127.0.0.1:2379/v2: MaxRetryError("HTTPConnectionPool(host='127.0.0.1', port=2379): Max retries exceeded with url: /v2/machines (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused'))") 748s Nov 11 10:38:34 Combined data file .coverage.autopkgtest.4623.XeXyMtfx 748s Nov 11 10:38:34 Combined data file .coverage.autopkgtest.4668.XpzFKVPx 748s Nov 11 10:38:34 Combined data file .coverage.autopkgtest.4716.XPjMWOxx 748s Nov 11 10:38:34 Combined data file .coverage.autopkgtest.4784.XUDesGax 748s Nov 11 10:38:34 Combined data file .coverage.autopkgtest.4828.XPUPInhx 748s Nov 11 10:38:34 Combined data file .coverage.autopkgtest.4900.XkjlObgx 748s Nov 11 10:38:34 Combined data file .coverage.autopkgtest.4948.XJbaWSxx 748s Nov 11 10:38:34 Combined data file .coverage.autopkgtest.4951.XRyqgITx 748s Nov 11 10:38:34 Combined data file .coverage.autopkgtest.5068.XsceNAsx 748s Nov 11 10:38:34 Combined data file .coverage.autopkgtest.5164.XyluzANx 749s Nov 11 10:38:35 Name Stmts Miss Cover 749s Nov 11 10:38:35 ------------------------------------------------------------------------------------------------------------- 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/OpenSSL/SSL.py 1099 603 45% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/OpenSSL/__init__.py 4 0 100% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/OpenSSL/_util.py 41 14 66% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/OpenSSL/crypto.py 1082 842 22% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/OpenSSL/version.py 10 0 100% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 101 96 5% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/cryptography/__about__.py 5 0 100% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/cryptography/__init__.py 3 0 100% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/cryptography/exceptions.py 26 5 81% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/cryptography/hazmat/__init__.py 2 0 100% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/cryptography/hazmat/_oid.py 126 0 100% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/__init__.py 0 0 100% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/__init__.py 0 0 100% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/_conditional.py 50 23 54% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/binding.py 62 12 81% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/__init__.py 0 0 100% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_asymmetric.py 6 0 100% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_cipheralgorithm.py 17 0 100% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_serialization.py 79 35 56% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/__init__.py 0 0 100% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dh.py 47 0 100% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dsa.py 55 5 91% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ec.py 164 17 90% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed448.py 45 12 73% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed25519.py 43 12 72% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/padding.py 55 23 58% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/rsa.py 90 38 58% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/types.py 19 0 100% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/utils.py 14 5 64% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x448.py 43 12 72% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x25519.py 41 12 71% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/__init__.py 4 0 100% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/algorithms.py 129 35 73% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/base.py 140 81 42% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/modes.py 139 58 58% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/constant_time.py 6 3 50% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hashes.py 127 20 84% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/__init__.py 5 0 100% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/base.py 7 0 100% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/ssh.py 758 602 21% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/cryptography/utils.py 77 29 62% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/cryptography/x509/__init__.py 70 0 100% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/cryptography/x509/base.py 487 229 53% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/cryptography/x509/certificate_transparency.py 42 0 100% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/cryptography/x509/extensions.py 1038 569 45% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/cryptography/x509/general_name.py 166 94 43% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/cryptography/x509/name.py 232 141 39% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/cryptography/x509/oid.py 3 0 100% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/cryptography/x509/verification.py 10 0 100% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/dateutil/__init__.py 13 4 69% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/dateutil/_version.py 11 2 82% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 813 688 15% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 185 150 19% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 241 206 15% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 161 124 23% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 800 629 21% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/dateutil/tz/win.py 153 149 3% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/dns/__init__.py 3 0 100% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/dns/_asyncbackend.py 14 6 57% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/dns/_ddr.py 105 86 18% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/dns/_features.py 44 7 84% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/dns/_immutable_ctx.py 40 5 88% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/dns/asyncbackend.py 44 32 27% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/dns/asyncquery.py 277 242 13% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/dns/edns.py 270 161 40% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/dns/entropy.py 80 49 39% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/dns/enum.py 72 46 36% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/dns/exception.py 60 33 45% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/dns/flags.py 41 14 66% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/dns/grange.py 34 30 12% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/dns/immutable.py 41 30 27% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/dns/inet.py 80 65 19% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/dns/ipv4.py 27 20 26% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/dns/ipv6.py 115 100 13% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/dns/message.py 809 662 18% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/dns/name.py 620 427 31% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/dns/nameserver.py 101 54 47% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/dns/node.py 118 71 40% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/dns/opcode.py 31 7 77% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/dns/query.py 536 462 14% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/dns/quic/__init__.py 26 23 12% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/dns/rcode.py 69 13 81% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/dns/rdata.py 377 269 29% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/dns/rdataclass.py 44 9 80% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/dns/rdataset.py 193 133 31% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/dns/rdatatype.py 214 25 88% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/OPT.py 34 19 44% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/SOA.py 41 26 37% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/TSIG.py 58 42 28% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/ZONEMD.py 43 27 37% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/__init__.py 2 0 100% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/dns/rdtypes/__init__.py 2 0 100% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/dns/rdtypes/svcbbase.py 397 261 34% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/dns/rdtypes/util.py 191 154 19% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/dns/renderer.py 152 118 22% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/dns/resolver.py 899 719 20% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/dns/reversename.py 33 24 27% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/dns/rrset.py 78 56 28% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/dns/serial.py 93 79 15% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/dns/set.py 149 108 28% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/dns/tokenizer.py 335 279 17% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/dns/transaction.py 271 203 25% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/dns/tsig.py 177 122 31% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/dns/ttl.py 45 38 16% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/dns/version.py 7 0 100% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/dns/wire.py 64 42 34% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/dns/xfr.py 148 126 15% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/dns/zone.py 508 383 25% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/dns/zonefile.py 429 380 11% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/dns/zonetypes.py 15 2 87% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/etcd/__init__.py 125 27 78% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/etcd/client.py 380 195 49% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/etcd/lock.py 125 103 18% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/idna/__init__.py 4 0 100% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/idna/core.py 292 257 12% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/idna/idnadata.py 4 0 100% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/idna/intranges.py 30 24 20% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/idna/package_data.py 1 0 100% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/patroni/__main__.py 199 67 66% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/patroni/api.py 770 429 44% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 19 80% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/patroni/collections.py 56 6 89% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/patroni/config.py 371 110 70% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/patroni/config_generator.py 212 159 25% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/patroni/daemon.py 76 6 92% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 646 149 77% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/patroni/dcs/etcd.py 603 180 70% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/patroni/dynamic_loader.py 35 7 80% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/patroni/file_perm.py 43 9 79% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/patroni/global_config.py 81 4 95% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/patroni/ha.py 1244 617 50% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/patroni/log.py 219 71 68% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 821 239 71% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/patroni/postgresql/available_parameters/__init__.py 21 1 95% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 252 91 64% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 813 256 69% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 7 91% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 41 13 68% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/patroni/postgresql/mpp/__init__.py 89 12 87% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 92 46% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 416 200 52% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 334 174 48% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 130 19 85% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 157 23 85% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/patroni/psycopg.py 42 16 62% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/patroni/request.py 62 7 89% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/patroni/tags.py 38 5 87% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/patroni/utils.py 350 140 60% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/patroni/validator.py 301 211 30% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 49 76% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 50 63% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/psutil/__init__.py 951 636 33% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/psutil/_common.py 424 212 50% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/psutil/_compat.py 302 264 13% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1251 936 25% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/psutil/_psposix.py 96 41 57% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/six.py 504 250 50% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/urllib3/__init__.py 50 14 72% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 70 52 26% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/urllib3/_collections.py 234 100 57% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 53 11 79% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/urllib3/_version.py 2 0 100% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/urllib3/connection.py 324 100 69% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 347 130 63% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/urllib3/contrib/__init__.py 0 0 100% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/urllib3/contrib/pyopenssl.py 257 98 62% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/urllib3/exceptions.py 115 37 68% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 85 64% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/urllib3/response.py 562 318 43% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 42 36% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 49 53% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 17 47% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/urllib3/util/retry.py 173 55 68% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 177 78 56% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 160 112 30% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 14 80% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/urllib3/util/url.py 205 68 67% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 10 62% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 18 63% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/yaml/parser.py 352 198 44% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/yaml/reader.py 122 34 72% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/yaml/scanner.py 758 437 42% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 749s Nov 11 10:38:35 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 749s Nov 11 10:38:35 patroni/__init__.py 13 2 85% 749s Nov 11 10:38:35 patroni/__main__.py 199 199 0% 749s Nov 11 10:38:35 patroni/api.py 770 770 0% 749s Nov 11 10:38:35 patroni/async_executor.py 96 69 28% 749s Nov 11 10:38:35 patroni/collections.py 56 15 73% 749s Nov 11 10:38:35 patroni/config.py 371 196 47% 749s Nov 11 10:38:35 patroni/config_generator.py 212 212 0% 749s Nov 11 10:38:35 patroni/ctl.py 936 663 29% 749s Nov 11 10:38:35 patroni/daemon.py 76 76 0% 749s Nov 11 10:38:35 patroni/dcs/__init__.py 646 308 52% 749s Nov 11 10:38:35 patroni/dcs/consul.py 485 485 0% 749s Nov 11 10:38:35 patroni/dcs/etcd3.py 679 679 0% 749s Nov 11 10:38:35 patroni/dcs/etcd.py 603 232 62% 749s Nov 11 10:38:35 patroni/dcs/exhibitor.py 61 61 0% 749s Nov 11 10:38:35 patroni/dcs/kubernetes.py 938 938 0% 749s Nov 11 10:38:35 patroni/dcs/raft.py 319 319 0% 749s Nov 11 10:38:35 patroni/dcs/zookeeper.py 288 288 0% 749s Nov 11 10:38:35 patroni/dynamic_loader.py 35 7 80% 749s Nov 11 10:38:35 patroni/exceptions.py 16 1 94% 749s Nov 11 10:38:35 patroni/file_perm.py 43 15 65% 749s Nov 11 10:38:35 patroni/global_config.py 81 23 72% 749s Nov 11 10:38:35 patroni/ha.py 1244 1244 0% 749s Nov 11 10:38:35 patroni/log.py 219 173 21% 749s Nov 11 10:38:35 patroni/postgresql/__init__.py 821 651 21% 749s Nov 11 10:38:35 patroni/postgresql/available_parameters/__init__.py 21 3 86% 749s Nov 11 10:38:35 patroni/postgresql/bootstrap.py 252 222 12% 749s Nov 11 10:38:35 patroni/postgresql/callback_executor.py 55 34 38% 749s Nov 11 10:38:35 patroni/postgresql/cancellable.py 104 84 19% 749s Nov 11 10:38:35 patroni/postgresql/config.py 813 698 14% 749s Nov 11 10:38:35 patroni/postgresql/connection.py 75 50 33% 749s Nov 11 10:38:35 patroni/postgresql/misc.py 41 29 29% 749s Nov 11 10:38:35 patroni/postgresql/mpp/__init__.py 89 21 76% 749s Nov 11 10:38:35 patroni/postgresql/mpp/citus.py 259 259 0% 749s Nov 11 10:38:35 patroni/postgresql/postmaster.py 170 139 18% 749s Nov 11 10:38:35 patroni/postgresql/rewind.py 416 416 0% 749s Nov 11 10:38:35 patroni/postgresql/slots.py 334 285 15% 749s Nov 11 10:38:35 patroni/postgresql/sync.py 130 96 26% 749s Nov 11 10:38:35 patroni/postgresql/validator.py 157 52 67% 749s Nov 11 10:38:35 patroni/psycopg.py 42 28 33% 749s Nov 11 10:38:35 patroni/raft_controller.py 22 22 0% 749s Nov 11 10:38:35 patroni/request.py 62 6 90% 749s Nov 11 10:38:35 patroni/scripts/__init__.py 0 0 100% 749s Nov 11 10:38:35 patroni/scripts/aws.py 59 59 0% 749s Nov 11 10:38:35 patroni/scripts/barman/__init__.py 0 0 100% 749s Nov 11 10:38:35 patroni/scripts/barman/cli.py 51 51 0% 749s Nov 11 10:38:35 patroni/scripts/barman/config_switch.py 51 51 0% 749s Nov 11 10:38:35 patroni/scripts/barman/recover.py 37 37 0% 749s Nov 11 10:38:35 patroni/scripts/barman/utils.py 94 94 0% 749s Nov 11 10:38:35 patroni/scripts/wale_restore.py 207 207 0% 749s Nov 11 10:38:35 patroni/tags.py 38 15 61% 749s Nov 11 10:38:35 patroni/utils.py 350 246 30% 749s Nov 11 10:38:35 patroni/validator.py 301 215 29% 749s Nov 11 10:38:35 patroni/version.py 1 0 100% 749s Nov 11 10:38:35 patroni/watchdog/__init__.py 2 2 0% 749s Nov 11 10:38:35 patroni/watchdog/base.py 203 203 0% 749s Nov 11 10:38:35 patroni/watchdog/linux.py 135 135 0% 749s Nov 11 10:38:35 ------------------------------------------------------------------------------------------------------------- 749s Nov 11 10:38:35 TOTAL 53060 33815 36% 749s Nov 11 10:38:35 1 feature passed, 0 failed, 0 skipped 749s Nov 11 10:38:35 7 scenarios passed, 0 failed, 0 skipped 749s Nov 11 10:38:35 68 steps passed, 0 failed, 0 skipped, 0 undefined 749s Nov 11 10:38:35 Took 1m20.289s 749s ### End 16 acceptance-etcd features/basic_replication.feature ### 749s + echo '### End 16 acceptance-etcd features/basic_replication.feature ###' 749s + rm -f '/tmp/pgpass?' 749s ++ id -u 749s + '[' 0 -eq 0 ']' 749s + '[' -x /etc/init.d/zookeeper ']' 750s autopkgtest [10:38:36]: test acceptance-etcd-basic: -----------------------] 750s acceptance-etcd-basic PASS 750s autopkgtest [10:38:36]: test acceptance-etcd-basic: - - - - - - - - - - results - - - - - - - - - - 751s autopkgtest [10:38:36]: test acceptance-etcd: preparing testbed 752s Reading package lists... 752s Building dependency tree... 752s Reading state information... 752s Starting pkgProblemResolver with broken count: 0 752s Starting 2 pkgProblemResolver with broken count: 0 752s Done 752s The following NEW packages will be installed: 752s autopkgtest-satdep 752s 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. 752s Need to get 0 B/768 B of archives. 752s After this operation, 0 B of additional disk space will be used. 752s Get:1 /tmp/autopkgtest.WZS0fA/3-autopkgtest-satdep.deb autopkgtest-satdep amd64 0 [768 B] 753s Selecting previously unselected package autopkgtest-satdep. 753s (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 ... 78763 files and directories currently installed.) 753s Preparing to unpack .../3-autopkgtest-satdep.deb ... 753s Unpacking autopkgtest-satdep (0) ... 753s Setting up autopkgtest-satdep (0) ... 754s (Reading database ... 78763 files and directories currently installed.) 754s Removing autopkgtest-satdep (0) ... 755s autopkgtest [10:38:41]: test acceptance-etcd: debian/tests/acceptance etcd 755s autopkgtest [10:38:41]: test acceptance-etcd: [----------------------- 755s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 756s ○ etcd.service - etcd - highly-available key value store 756s Loaded: loaded (/usr/lib/systemd/system/etcd.service; enabled; preset: enabled) 756s Active: inactive (dead) since Mon 2024-11-11 10:37:06 UTC; 1min 35s ago 756s Duration: 13.725s 756s Invocation: e49d3540f3ef40dfb660d19bbf865013 756s Docs: https://etcd.io/docs 756s man:etcd 756s Process: 2429 ExecStart=/usr/bin/etcd $DAEMON_ARGS (code=killed, signal=TERM) 756s Main PID: 2429 (code=killed, signal=TERM) 756s Mem peak: 7.2M 756s CPU: 98ms 756s 756s Nov 11 10:37:06 autopkgtest etcd[2429]: {"level":"info","ts":"2024-11-11T10:37:06.895139Z","caller":"osutil/interrupt_unix.go:64","msg":"received signal; shutting down","signal":"terminated"} 756s Nov 11 10:37:06 autopkgtest etcd[2429]: {"level":"info","ts":"2024-11-11T10:37:06.895195Z","caller":"embed/etcd.go:377","msg":"closing etcd server","name":"autopkgtest","data-dir":"/var/lib/etcd/default","advertise-peer-urls":["http://localhost:2380"],"advertise-client-urls":["http://localhost:2379"]} 756s Nov 11 10:37:06 autopkgtest etcd[2429]: {"level":"warn","ts":"2024-11-11T10:37:06.896451Z","caller":"embed/serve.go:161","msg":"stopping insecure grpc server due to error","error":"accept tcp 127.0.0.1:2379: use of closed network connection"} 756s Nov 11 10:37:06 autopkgtest etcd[2429]: {"level":"warn","ts":"2024-11-11T10:37:06.896636Z","caller":"embed/serve.go:163","msg":"stopped insecure grpc server due to error","error":"accept tcp 127.0.0.1:2379: use of closed network connection"} 756s Nov 11 10:37:06 autopkgtest etcd[2429]: {"level":"info","ts":"2024-11-11T10:37:06.896679Z","caller":"etcdserver/server.go:1521","msg":"skipped leadership transfer for single voting member cluster","local-member-id":"8e9e05c52164694d","current-leader-member-id":"8e9e05c52164694d"} 756s Nov 11 10:37:06 autopkgtest etcd[2429]: {"level":"info","ts":"2024-11-11T10:37:06.898240Z","caller":"embed/etcd.go:581","msg":"stopping serving peer traffic","address":"127.0.0.1:2380"} 756s Nov 11 10:37:06 autopkgtest etcd[2429]: {"level":"info","ts":"2024-11-11T10:37:06.898422Z","caller":"embed/etcd.go:586","msg":"stopped serving peer traffic","address":"127.0.0.1:2380"} 756s Nov 11 10:37:06 autopkgtest etcd[2429]: {"level":"info","ts":"2024-11-11T10:37:06.898437Z","caller":"embed/etcd.go:379","msg":"closed etcd server","name":"autopkgtest","data-dir":"/var/lib/etcd/default","advertise-peer-urls":["http://localhost:2380"],"advertise-client-urls":["http://localhost:2379"]} 756s Nov 11 10:37:06 autopkgtest systemd[1]: etcd.service: Deactivated successfully. 756s Nov 11 10:37:06 autopkgtest systemd[1]: Stopped etcd.service - etcd - highly-available key value store. 756s ++ ls -1r /usr/lib/postgresql/ 756s ### PostgreSQL 16 acceptance-etcd ### 756s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 756s + '[' 16 == 10 -o 16 == 11 ']' 756s + echo '### PostgreSQL 16 acceptance-etcd ###' 756s + su postgres -p -c 'set -o pipefail; ETCD_UNSUPPORTED_ARCH= DCS=etcd PATH=/usr/lib/postgresql/16/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin behave | ts' 757s Nov 11 10:38:43 Feature: basic replication # features/basic_replication.feature:1 757s Nov 11 10:38:43 We should check that the basic bootstrapping, replication and failover works. 757s Nov 11 10:38:43 Scenario: check replication of a single table # features/basic_replication.feature:4 757s Nov 11 10:38:43 Given I start postgres0 # features/steps/basic_replication.py:8 760s Nov 11 10:38:46 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 760s Nov 11 10:38:46 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 760s Nov 11 10:38:46 When I issue a PATCH request to http://127.0.0.1:8008/config with {"ttl": 20, "synchronous_mode": true} # features/steps/patroni_api.py:71 760s Nov 11 10:38:46 Then I receive a response code 200 # features/steps/patroni_api.py:98 760s Nov 11 10:38:46 When I start postgres1 # features/steps/basic_replication.py:8 763s Nov 11 10:38:49 And I configure and start postgres2 with a tag replicatefrom postgres0 # features/steps/cascading_replication.py:7 766s Nov 11 10:38:52 And "sync" key in DCS has leader=postgres0 after 20 seconds # features/steps/cascading_replication.py:23 766s Nov 11 10:38:52 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 766s Nov 11 10:38:52 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 767s Nov 11 10:38:53 Then table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 767s Nov 11 10:38:53 767s Nov 11 10:38:53 Scenario: check restart of sync replica # features/basic_replication.feature:17 767s Nov 11 10:38:53 Given I shut down postgres2 # features/steps/basic_replication.py:29 769s Nov 11 10:38:54 Then "sync" key in DCS has sync_standby=postgres1 after 5 seconds # features/steps/cascading_replication.py:23 769s Nov 11 10:38:54 When I start postgres2 # features/steps/basic_replication.py:8 770s Nov 11 10:38:56 And I shut down postgres1 # features/steps/basic_replication.py:29 773s Nov 11 10:38:59 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 774s Nov 11 10:39:00 When I start postgres1 # features/steps/basic_replication.py:8 778s Nov 11 10:39:03 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 778s Nov 11 10:39:03 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 778s Nov 11 10:39:04 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 778s Nov 11 10:39:04 778s Nov 11 10:39:04 Scenario: check stuck sync replica # features/basic_replication.feature:28 778s Nov 11 10:39:04 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"pause": true, "maximum_lag_on_syncnode": 15000000, "postgresql": {"parameters": {"synchronous_commit": "remote_apply"}}} # features/steps/patroni_api.py:71 778s Nov 11 10:39:04 Then I receive a response code 200 # features/steps/patroni_api.py:98 778s Nov 11 10:39:04 And I create table on postgres0 # features/steps/basic_replication.py:73 778s Nov 11 10:39:04 And table mytest is present on postgres1 after 2 seconds # features/steps/basic_replication.py:93 779s Nov 11 10:39:05 And table mytest is present on postgres2 after 2 seconds # features/steps/basic_replication.py:93 779s Nov 11 10:39:05 When I pause wal replay on postgres2 # features/steps/basic_replication.py:64 779s Nov 11 10:39:05 And I load data on postgres0 # features/steps/basic_replication.py:84 779s Nov 11 10:39:05 Then "sync" key in DCS has sync_standby=postgres1 after 15 seconds # features/steps/cascading_replication.py:23 782s Nov 11 10:39:08 And I resume wal replay on postgres2 # features/steps/basic_replication.py:64 782s Nov 11 10:39:08 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 783s Nov 11 10:39:09 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:142 783s Nov 11 10:39:09 When I issue a PATCH request to http://127.0.0.1:8008/config with {"pause": null, "maximum_lag_on_syncnode": -1, "postgresql": {"parameters": {"synchronous_commit": "on"}}} # features/steps/patroni_api.py:71 783s Nov 11 10:39:09 Then I receive a response code 200 # features/steps/patroni_api.py:98 783s Nov 11 10:39:09 And I drop table on postgres0 # features/steps/basic_replication.py:73 783s Nov 11 10:39:09 783s Nov 11 10:39:09 Scenario: check multi sync replication # features/basic_replication.feature:44 783s Nov 11 10:39:09 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"synchronous_node_count": 2} # features/steps/patroni_api.py:71 783s Nov 11 10:39:09 Then I receive a response code 200 # features/steps/patroni_api.py:98 783s Nov 11 10:39:09 Then "sync" key in DCS has sync_standby=postgres1,postgres2 after 10 seconds # features/steps/cascading_replication.py:23 787s Nov 11 10:39:13 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 787s Nov 11 10:39:13 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 787s Nov 11 10:39:13 When I issue a PATCH request to http://127.0.0.1:8008/config with {"synchronous_node_count": 1} # features/steps/patroni_api.py:71 787s Nov 11 10:39:13 Then I receive a response code 200 # features/steps/patroni_api.py:98 787s Nov 11 10:39:13 And I shut down postgres1 # features/steps/basic_replication.py:29 790s Nov 11 10:39:16 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 791s Nov 11 10:39:17 When I start postgres1 # features/steps/basic_replication.py:8 794s Nov 11 10:39:20 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 794s Nov 11 10:39:20 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 794s Nov 11 10:39:20 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 794s Nov 11 10:39:20 794s Nov 11 10:39:20 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 794s Nov 11 10:39:20 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 796s Nov 11 10:39:22 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 796s Nov 11 10:39:22 When I sleep for 2 seconds # features/steps/patroni_api.py:39 798s Nov 11 10:39:24 And I shut down postgres0 # features/steps/basic_replication.py:29 799s Nov 11 10:39:25 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 800s Nov 11 10:39:26 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 800s Nov 11 10:39:26 And postgres2 role is the primary after 24 seconds # features/steps/basic_replication.py:105 819s Nov 11 10:39:45 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:156 821s Nov 11 10:39:47 And there is a postgres2_cb.log with "on_role_change master batman" in postgres2 data directory # features/steps/cascading_replication.py:12 821s Nov 11 10:39:47 When I issue a PATCH request to http://127.0.0.1:8010/config with {"synchronous_mode": null, "master_start_timeout": 0} # features/steps/patroni_api.py:71 821s Nov 11 10:39:47 Then I receive a response code 200 # features/steps/patroni_api.py:98 821s Nov 11 10:39:47 When I add the table bar to postgres2 # features/steps/basic_replication.py:54 821s Nov 11 10:39:47 Then table bar is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 824s Nov 11 10:39:50 And Response on GET http://127.0.0.1:8010/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 824s Nov 11 10:39:50 824s Nov 11 10:39:50 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 824s Nov 11 10:39:50 Given I add the table splitbrain to postgres0 # features/steps/basic_replication.py:54 824s Nov 11 10:39:50 And I start postgres0 # features/steps/basic_replication.py:8 824s Nov 11 10:39:50 Then postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 830s Nov 11 10:39:56 When I add the table buz to postgres2 # features/steps/basic_replication.py:54 831s Nov 11 10:39:56 Then table buz is present on postgres0 after 20 seconds # features/steps/basic_replication.py:93 831s Nov 11 10:39:56 831s Nov 11 10:39:56 @reject-duplicate-name 831s Nov 11 10:39:56 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 831s Nov 11 10:39:56 Given I start duplicate postgres0 on port 8011 # features/steps/basic_replication.py:13 833s Nov 11 10:39:59 Then there is one of ["Can't start; there is already a node named 'postgres0' running"] CRITICAL in the dup-postgres0 patroni log after 5 seconds # features/steps/basic_replication.py:121 837s Nov 11 10:40:03 837s Nov 11 10:40:03 Feature: cascading replication # features/cascading_replication.feature:1 837s Nov 11 10:40:03 We should check that patroni can do base backup and streaming from the replica 837s Nov 11 10:40:03 Scenario: check a base backup and streaming replication from a replica # features/cascading_replication.feature:4 837s Nov 11 10:40:03 Given I start postgres0 # features/steps/basic_replication.py:8 840s Nov 11 10:40:06 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 841s Nov 11 10:40:07 And I configure and start postgres1 with a tag clonefrom true # features/steps/cascading_replication.py:7 844s Nov 11 10:40:10 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 849s Nov 11 10:40:15 And I create label with "postgres0" in postgres0 data directory # features/steps/cascading_replication.py:18 849s Nov 11 10:40:15 And I create label with "postgres1" in postgres1 data directory # features/steps/cascading_replication.py:18 849s Nov 11 10:40:15 And "members/postgres1" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 849s Nov 11 10:40:15 And I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 852s Nov 11 10:40:18 Then replication works from postgres0 to postgres2 after 30 seconds # features/steps/basic_replication.py:112 857s Nov 11 10:40:23 And there is a label with "postgres1" in postgres2 data directory # features/steps/cascading_replication.py:12 862s Nov 11 10:40:28 862s Nov 11 10:40:28 Feature: citus # features/citus.feature:1 862s SKIP FEATURE citus: Citus extenstion isn't available 862s SKIP Scenario check that worker cluster is registered in the coordinator: Citus extenstion isn't available 862s SKIP Scenario coordinator failover updates pg_dist_node: Citus extenstion isn't available 862s SKIP Scenario worker switchover doesn't break client queries on the coordinator: Citus extenstion isn't available 862s SKIP Scenario worker primary restart doesn't break client queries on the coordinator: Citus extenstion isn't available 862s SKIP Scenario check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node: Citus extenstion isn't available 862s Nov 11 10:40:28 We should check that coordinator discovers and registers workers and clients don't have errors when worker cluster switches over 862s Nov 11 10:40:28 Scenario: check that worker cluster is registered in the coordinator # features/citus.feature:4 862s Nov 11 10:40:28 Given I start postgres0 in citus group 0 # None 862s Nov 11 10:40:28 And I start postgres2 in citus group 1 # None 862s Nov 11 10:40:28 Then postgres0 is a leader in a group 0 after 10 seconds # None 862s Nov 11 10:40:28 And postgres2 is a leader in a group 1 after 10 seconds # None 862s Nov 11 10:40:28 When I start postgres1 in citus group 0 # None 862s Nov 11 10:40:28 And I start postgres3 in citus group 1 # None 862s Nov 11 10:40:28 Then replication works from postgres0 to postgres1 after 15 seconds # None 862s Nov 11 10:40:28 Then replication works from postgres2 to postgres3 after 15 seconds # None 862s Nov 11 10:40:28 And postgres0 is registered in the postgres0 as the primary in group 0 after 5 seconds # None 862s Nov 11 10:40:28 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 862s Nov 11 10:40:28 862s Nov 11 10:40:28 Scenario: coordinator failover updates pg_dist_node # features/citus.feature:16 862s Nov 11 10:40:28 Given I run patronictl.py failover batman --group 0 --candidate postgres1 --force # None 862s Nov 11 10:40:28 Then postgres1 role is the primary after 10 seconds # None 862s Nov 11 10:40:28 And "members/postgres0" key in a group 0 in DCS has state=running after 15 seconds # None 862s Nov 11 10:40:28 And replication works from postgres1 to postgres0 after 15 seconds # None 862s Nov 11 10:40:28 And postgres1 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 862s Nov 11 10:40:28 And "sync" key in a group 0 in DCS has sync_standby=postgres0 after 15 seconds # None 862s Nov 11 10:40:28 When I run patronictl.py switchover batman --group 0 --candidate postgres0 --force # None 862s Nov 11 10:40:28 Then postgres0 role is the primary after 10 seconds # None 862s Nov 11 10:40:28 And replication works from postgres0 to postgres1 after 15 seconds # None 862s Nov 11 10:40:28 And postgres0 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 862s Nov 11 10:40:28 And "sync" key in a group 0 in DCS has sync_standby=postgres1 after 15 seconds # None 862s Nov 11 10:40:28 862s Nov 11 10:40:28 Scenario: worker switchover doesn't break client queries on the coordinator # features/citus.feature:29 862s Nov 11 10:40:28 Given I create a distributed table on postgres0 # None 862s Nov 11 10:40:28 And I start a thread inserting data on postgres0 # None 862s Nov 11 10:40:28 When I run patronictl.py switchover batman --group 1 --force # None 862s Nov 11 10:40:28 Then I receive a response returncode 0 # None 862s Nov 11 10:40:28 And postgres3 role is the primary after 10 seconds # None 862s Nov 11 10:40:28 And "members/postgres2" key in a group 1 in DCS has state=running after 15 seconds # None 862s Nov 11 10:40:28 And replication works from postgres3 to postgres2 after 15 seconds # None 862s Nov 11 10:40:28 And postgres3 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 862s Nov 11 10:40:28 And "sync" key in a group 1 in DCS has sync_standby=postgres2 after 15 seconds # None 862s Nov 11 10:40:28 And a thread is still alive # None 862s Nov 11 10:40:28 When I run patronictl.py switchover batman --group 1 --force # None 862s Nov 11 10:40:28 Then I receive a response returncode 0 # None 862s Nov 11 10:40:28 And postgres2 role is the primary after 10 seconds # None 862s Nov 11 10:40:28 And replication works from postgres2 to postgres3 after 15 seconds # None 862s Nov 11 10:40:28 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 862s Nov 11 10:40:28 And "sync" key in a group 1 in DCS has sync_standby=postgres3 after 15 seconds # None 862s Nov 11 10:40:28 And a thread is still alive # None 862s Nov 11 10:40:28 When I stop a thread # None 862s Nov 11 10:40:28 Then a distributed table on postgres0 has expected rows # None 862s Nov 11 10:40:28 862s Nov 11 10:40:28 Scenario: worker primary restart doesn't break client queries on the coordinator # features/citus.feature:50 862s Nov 11 10:40:28 Given I cleanup a distributed table on postgres0 # None 862s Nov 11 10:40:28 And I start a thread inserting data on postgres0 # None 862s Nov 11 10:40:28 When I run patronictl.py restart batman postgres2 --group 1 --force # None 862s Nov 11 10:40:28 Then I receive a response returncode 0 # None 862s Nov 11 10:40:28 And postgres2 role is the primary after 10 seconds # None 862s Nov 11 10:40:28 And replication works from postgres2 to postgres3 after 15 seconds # None 862s Nov 11 10:40:28 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 862s Nov 11 10:40:28 And a thread is still alive # None 862s Nov 11 10:40:28 When I stop a thread # None 862s Nov 11 10:40:28 Then a distributed table on postgres0 has expected rows # None 862s Nov 11 10:40:28 862s Nov 11 10:40:28 Scenario: check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node # features/citus.feature:62 862s Nov 11 10:40:28 Given I start postgres4 in citus group 2 # None 862s Nov 11 10:40:28 Then postgres4 is a leader in a group 2 after 10 seconds # None 862s Nov 11 10:40:28 And "members/postgres4" key in a group 2 in DCS has role=master after 3 seconds # None 862s Nov 11 10:40:28 When I run patronictl.py edit-config batman --group 2 -s ttl=20 --force # None 862s Nov 11 10:40:28 Then I receive a response returncode 0 # None 862s Nov 11 10:40:28 And I receive a response output "+ttl: 20" # None 862s Nov 11 10:40:28 Then postgres4 is registered in the postgres2 as the primary in group 2 after 5 seconds # None 862s Nov 11 10:40:28 When I shut down postgres4 # None 862s Nov 11 10:40:28 Then there is a transaction in progress on postgres0 changing pg_dist_node after 5 seconds # None 862s Nov 11 10:40:28 When I run patronictl.py restart batman postgres2 --group 1 --force # None 862s Nov 11 10:40:28 Then a transaction finishes in 20 seconds # None 862s Nov 11 10:40:28 862s Nov 11 10:40:28 Feature: custom bootstrap # features/custom_bootstrap.feature:1 862s Nov 11 10:40:28 We should check that patroni can bootstrap a new cluster from a backup 862s Nov 11 10:40:28 Scenario: clone existing cluster using pg_basebackup # features/custom_bootstrap.feature:4 862s Nov 11 10:40:28 Given I start postgres0 # features/steps/basic_replication.py:8 865s Nov 11 10:40:31 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 865s Nov 11 10:40:31 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 865s Nov 11 10:40:31 And I start postgres1 in a cluster batman1 as a clone of postgres0 # features/steps/custom_bootstrap.py:6 868s Nov 11 10:40:34 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 869s Nov 11 10:40:35 Then table foo is present on postgres1 after 10 seconds # features/steps/basic_replication.py:93 869s Nov 11 10:40:35 869s Nov 11 10:40:35 Scenario: make a backup and do a restore into a new cluster # features/custom_bootstrap.feature:12 869s Nov 11 10:40:35 Given I add the table bar to postgres1 # features/steps/basic_replication.py:54 869s Nov 11 10:40:35 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 870s Nov 11 10:40:35 When I start postgres2 in a cluster batman2 from backup # features/steps/custom_bootstrap.py:11 874s Nov 11 10:40:40 Then postgres2 is a leader of batman2 after 30 seconds # features/steps/custom_bootstrap.py:16 874s Nov 11 10:40:40 And table bar is present on postgres2 after 10 seconds # features/steps/basic_replication.py:93 880s Nov 11 10:40:46 880s Nov 11 10:40:46 Feature: dcs failsafe mode # features/dcs_failsafe_mode.feature:1 880s Nov 11 10:40:46 We should check the basic dcs failsafe mode functioning 880s Nov 11 10:40:46 Scenario: check failsafe mode can be successfully enabled # features/dcs_failsafe_mode.feature:4 880s Nov 11 10:40:46 Given I start postgres0 # features/steps/basic_replication.py:8 883s Nov 11 10:40:49 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 883s Nov 11 10:40:49 Then "config" key in DCS has ttl=30 after 10 seconds # features/steps/cascading_replication.py:23 883s Nov 11 10:40:49 When I issue a PATCH request to http://127.0.0.1:8008/config with {"loop_wait": 2, "ttl": 20, "retry_timeout": 3, "failsafe_mode": true} # features/steps/patroni_api.py:71 883s Nov 11 10:40:49 Then I receive a response code 200 # features/steps/patroni_api.py:98 883s Nov 11 10:40:49 And Response on GET http://127.0.0.1:8008/failsafe contains postgres0 after 10 seconds # features/steps/patroni_api.py:156 883s Nov 11 10:40:49 When I issue a GET request to http://127.0.0.1:8008/failsafe # features/steps/patroni_api.py:61 883s Nov 11 10:40:49 Then I receive a response code 200 # features/steps/patroni_api.py:98 883s Nov 11 10:40:49 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 883s Nov 11 10:40:49 When I issue a PATCH request to http://127.0.0.1:8008/config with {"postgresql": {"parameters": {"wal_level": "logical"}},"slots":{"dcs_slot_1": null,"postgres0":null}} # features/steps/patroni_api.py:71 883s Nov 11 10:40:49 Then I receive a response code 200 # features/steps/patroni_api.py:98 883s Nov 11 10:40:49 When I issue a PATCH request to http://127.0.0.1:8008/config with {"slots": {"dcs_slot_0": {"type": "logical", "database": "postgres", "plugin": "test_decoding"}}} # features/steps/patroni_api.py:71 883s Nov 11 10:40:49 Then I receive a response code 200 # features/steps/patroni_api.py:98 883s Nov 11 10:40:49 883s Nov 11 10:40:49 @dcs-failsafe 883s Nov 11 10:40:49 Scenario: check one-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:20 883s Nov 11 10:40:49 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 883s Nov 11 10:40:49 Then Response on GET http://127.0.0.1:8008/primary contains failsafe_mode_is_active after 12 seconds # features/steps/patroni_api.py:156 889s Nov 11 10:40:55 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 889s Nov 11 10:40:55 889s Nov 11 10:40:55 @dcs-failsafe 889s Nov 11 10:40:55 Scenario: check new replica isn't promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:26 889s Nov 11 10:40:55 Given DCS is up # features/steps/dcs_failsafe_mode.py:9 889s Nov 11 10:40:55 When I do a backup of postgres0 # features/steps/custom_bootstrap.py:25 890s Nov 11 10:40:56 And I shut down postgres0 # features/steps/basic_replication.py:29 892s Nov 11 10:40:58 When I start postgres1 in a cluster batman from backup with no_leader # features/steps/dcs_failsafe_mode.py:14 895s Nov 11 10:41:01 Then postgres1 role is the replica after 12 seconds # features/steps/basic_replication.py:105 895s Nov 11 10:41:01 895s Nov 11 10:41:01 Scenario: check leader and replica are both in /failsafe key after leader is back # features/dcs_failsafe_mode.feature:33 895s Nov 11 10:41:01 Given I start postgres0 # features/steps/basic_replication.py:8 897s Nov 11 10:41:03 And I start postgres1 # features/steps/basic_replication.py:8 897s Nov 11 10:41:03 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 898s Nov 11 10:41:04 And "members/postgres1" key in DCS has state=running after 2 seconds # features/steps/cascading_replication.py:23 898s Nov 11 10:41:04 And Response on GET http://127.0.0.1:8009/failsafe contains postgres1 after 10 seconds # features/steps/patroni_api.py:156 899s Nov 11 10:41:05 When I issue a GET request to http://127.0.0.1:8009/failsafe # features/steps/patroni_api.py:61 899s Nov 11 10:41:05 Then I receive a response code 200 # features/steps/patroni_api.py:98 899s Nov 11 10:41:05 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 899s Nov 11 10:41:05 And I receive a response postgres1 http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:98 899s Nov 11 10:41:05 899s Nov 11 10:41:05 @dcs-failsafe @slot-advance 899s Nov 11 10:41:05 Scenario: check leader and replica are functioning while DCS is down # features/dcs_failsafe_mode.feature:46 899s Nov 11 10:41:05 Given I get all changes from physical slot dcs_slot_1 on postgres0 # features/steps/slots.py:75 899s Nov 11 10:41:05 Then physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 901s Nov 11 10:41:07 And logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 904s Nov 11 10:41:10 And DCS is down # features/steps/dcs_failsafe_mode.py:4 904s Nov 11 10:41:10 Then Response on GET http://127.0.0.1:8008/primary contains failsafe_mode_is_active after 12 seconds # features/steps/patroni_api.py:156 910s Nov 11 10:41:16 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 910s Nov 11 10:41:16 And postgres1 role is the replica after 2 seconds # features/steps/basic_replication.py:105 910s Nov 11 10:41:16 And replication works from postgres0 to postgres1 after 10 seconds # features/steps/basic_replication.py:112 910s Nov 11 10:41:16 When I get all changes from logical slot dcs_slot_0 on postgres0 # features/steps/slots.py:70 910s Nov 11 10:41:16 And I get all changes from physical slot dcs_slot_1 on postgres0 # features/steps/slots.py:75 910s Nov 11 10:41:16 Then logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 20 seconds # features/steps/slots.py:51 914s Nov 11 10:41:20 And physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 914s Nov 11 10:41:20 914s Nov 11 10:41:20 @dcs-failsafe 914s Nov 11 10:41:20 Scenario: check primary is demoted when one replica is shut down and DCS is down # features/dcs_failsafe_mode.feature:61 914s Nov 11 10:41:20 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 914s Nov 11 10:41:20 And I kill postgres1 # features/steps/basic_replication.py:34 915s Nov 11 10:41:21 And I kill postmaster on postgres1 # features/steps/basic_replication.py:44 915s Nov 11 10:41:21 waiting for server to shut down.... done 915s Nov 11 10:41:21 server stopped 915s Nov 11 10:41:21 Then postgres0 role is the replica after 12 seconds # features/steps/basic_replication.py:105 917s Nov 11 10:41:23 917s Nov 11 10:41:23 @dcs-failsafe 917s Nov 11 10:41:23 Scenario: check known replica is promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:68 917s Nov 11 10:41:23 Given I kill postgres0 # features/steps/basic_replication.py:34 918s Nov 11 10:41:24 And I shut down postmaster on postgres0 # features/steps/basic_replication.py:39 918s Nov 11 10:41:24 waiting for server to shut down.... done 918s Nov 11 10:41:24 server stopped 918s Nov 11 10:41:24 And DCS is up # features/steps/dcs_failsafe_mode.py:9 918s Nov 11 10:41:24 When I start postgres1 # features/steps/basic_replication.py:8 920s Nov 11 10:41:26 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 921s Nov 11 10:41:27 And postgres1 role is the primary after 25 seconds # features/steps/basic_replication.py:105 923s Nov 11 10:41:29 923s Nov 11 10:41:29 @dcs-failsafe 923s Nov 11 10:41:29 Scenario: scale to three-node cluster # features/dcs_failsafe_mode.feature:77 923s Nov 11 10:41:29 Given I start postgres0 # features/steps/basic_replication.py:8 926s Nov 11 10:41:32 And I start postgres2 # features/steps/basic_replication.py:8 930s Nov 11 10:41:36 Then "members/postgres2" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 930s Nov 11 10:41:36 And "members/postgres0" key in DCS has state=running after 20 seconds # features/steps/cascading_replication.py:23 930s Nov 11 10:41:36 And Response on GET http://127.0.0.1:8008/failsafe contains postgres2 after 10 seconds # features/steps/patroni_api.py:156 931s Nov 11 10:41:36 And replication works from postgres1 to postgres0 after 10 seconds # features/steps/basic_replication.py:112 932s Nov 11 10:41:38 And replication works from postgres1 to postgres2 after 10 seconds # features/steps/basic_replication.py:112 933s Nov 11 10:41:39 933s Nov 11 10:41:39 @dcs-failsafe @slot-advance 933s Nov 11 10:41:39 Scenario: make sure permanent slots exist on replicas # features/dcs_failsafe_mode.feature:88 933s Nov 11 10:41:39 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:71 933s Nov 11 10:41:39 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # features/steps/slots.py:51 939s Nov 11 10:41:45 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # features/steps/slots.py:51 940s Nov 11 10:41:46 When I get all changes from physical slot dcs_slot_1 on postgres1 # features/steps/slots.py:75 940s Nov 11 10:41:46 Then physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # features/steps/slots.py:51 941s Nov 11 10:41:47 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 941s Nov 11 10:41:47 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 941s Nov 11 10:41:47 941s Nov 11 10:41:47 @dcs-failsafe 941s Nov 11 10:41:47 Scenario: check three-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:98 941s Nov 11 10:41:47 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 941s Nov 11 10:41:47 Then Response on GET http://127.0.0.1:8009/primary contains failsafe_mode_is_active after 12 seconds # features/steps/patroni_api.py:156 948s Nov 11 10:41:54 Then postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 948s Nov 11 10:41:54 And postgres0 role is the replica after 2 seconds # features/steps/basic_replication.py:105 948s Nov 11 10:41:54 And postgres2 role is the replica after 2 seconds # features/steps/basic_replication.py:105 948s Nov 11 10:41:54 948s Nov 11 10:41:54 @dcs-failsafe @slot-advance 948s Nov 11 10:41:54 Scenario: check that permanent slots are in sync between nodes while DCS is down # features/dcs_failsafe_mode.feature:107 948s Nov 11 10:41:54 Given replication works from postgres1 to postgres0 after 10 seconds # features/steps/basic_replication.py:112 948s Nov 11 10:41:54 And replication works from postgres1 to postgres2 after 10 seconds # features/steps/basic_replication.py:112 949s Nov 11 10:41:55 When I get all changes from logical slot dcs_slot_2 on postgres1 # features/steps/slots.py:70 949s Nov 11 10:41:55 And I get all changes from physical slot dcs_slot_1 on postgres1 # features/steps/slots.py:75 949s Nov 11 10:41:55 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # features/steps/slots.py:51 951s Nov 11 10:41:57 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # features/steps/slots.py:51 951s Nov 11 10:41:57 And physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # features/steps/slots.py:51 951s Nov 11 10:41:57 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 951s Nov 11 10:41:57 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 955s Nov 11 10:42:01 955s Nov 11 10:42:01 Feature: ignored slots # features/ignored_slots.feature:1 955s Nov 11 10:42:01 955s Nov 11 10:42:01 Scenario: check ignored slots aren't removed on failover/switchover # features/ignored_slots.feature:2 955s Nov 11 10:42:01 Given I start postgres1 # features/steps/basic_replication.py:8 958s Nov 11 10:42:04 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 958s Nov 11 10:42:04 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 958s Nov 11 10:42:04 When I issue a PATCH request to http://127.0.0.1:8009/config with {"ignore_slots": [{"name": "unmanaged_slot_0", "database": "postgres", "plugin": "test_decoding", "type": "logical"}, {"name": "unmanaged_slot_1", "database": "postgres", "plugin": "test_decoding"}, {"name": "unmanaged_slot_2", "database": "postgres"}, {"name": "unmanaged_slot_3"}], "postgresql": {"parameters": {"wal_level": "logical"}}} # features/steps/patroni_api.py:71 959s Nov 11 10:42:04 Then I receive a response code 200 # features/steps/patroni_api.py:98 959s Nov 11 10:42:04 And Response on GET http://127.0.0.1:8009/config contains ignore_slots after 10 seconds # features/steps/patroni_api.py:156 959s Nov 11 10:42:05 When I shut down postgres1 # features/steps/basic_replication.py:29 961s Nov 11 10:42:07 And I start postgres1 # features/steps/basic_replication.py:8 963s Nov 11 10:42:09 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 964s Nov 11 10:42:10 And "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 965s Nov 11 10:42:11 And postgres1 role is the primary after 20 seconds # features/steps/basic_replication.py:105 965s Nov 11 10:42:11 When I create a logical replication slot unmanaged_slot_0 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 965s Nov 11 10:42:11 And I create a logical replication slot unmanaged_slot_1 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 965s Nov 11 10:42:11 And I create a logical replication slot unmanaged_slot_2 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 965s Nov 11 10:42:11 And I create a logical replication slot unmanaged_slot_3 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 965s Nov 11 10:42:11 And I create a logical replication slot dummy_slot on postgres1 with the test_decoding plugin # features/steps/slots.py:8 965s Nov 11 10:42:11 Then postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 965s Nov 11 10:42:11 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 965s Nov 11 10:42:11 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 965s Nov 11 10:42:11 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 965s Nov 11 10:42:11 When I start postgres0 # features/steps/basic_replication.py:8 968s Nov 11 10:42:14 Then "members/postgres0" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 968s Nov 11 10:42:14 And postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 968s Nov 11 10:42:14 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 969s Nov 11 10:42:15 When I shut down postgres1 # features/steps/basic_replication.py:29 971s Nov 11 10:42:17 Then "members/postgres0" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 972s Nov 11 10:42:18 When I start postgres1 # features/steps/basic_replication.py:8 975s Nov 11 10:42:21 Then postgres1 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 975s Nov 11 10:42:21 And "members/postgres1" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 975s Nov 11 10:42:21 And I sleep for 2 seconds # features/steps/patroni_api.py:39 977s Nov 11 10:42:23 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 977s Nov 11 10:42:23 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 977s Nov 11 10:42:23 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 977s Nov 11 10:42:23 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 977s Nov 11 10:42:23 And postgres1 does not have a replication slot named dummy_slot # features/steps/slots.py:40 977s Nov 11 10:42:23 When I shut down postgres0 # features/steps/basic_replication.py:29 979s Nov 11 10:42:25 Then "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 980s Nov 11 10:42:26 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 980s Nov 11 10:42:26 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 980s Nov 11 10:42:26 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 980s Nov 11 10:42:26 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 982s Nov 11 10:42:28 982s Nov 11 10:42:28 Feature: nostream node # features/nostream_node.feature:1 982s Nov 11 10:42:28 982s Nov 11 10:42:28 Scenario: check nostream node is recovering from archive # features/nostream_node.feature:3 982s Nov 11 10:42:28 When I start postgres0 # features/steps/basic_replication.py:8 985s Nov 11 10:42:31 And I configure and start postgres1 with a tag nostream true # features/steps/cascading_replication.py:7 988s Nov 11 10:42:34 Then "members/postgres1" key in DCS has replication_state=in archive recovery after 10 seconds # features/steps/cascading_replication.py:23 988s Nov 11 10:42:34 And replication works from postgres0 to postgres1 after 30 seconds # features/steps/basic_replication.py:112 993s Nov 11 10:42:39 993s Nov 11 10:42:39 @slot-advance 993s Nov 11 10:42:39 Scenario: check permanent logical replication slots are not copied # features/nostream_node.feature:10 993s Nov 11 10:42:39 When I issue a PATCH request to http://127.0.0.1:8008/config with {"postgresql": {"parameters": {"wal_level": "logical"}}, "slots":{"test_logical":{"type":"logical","database":"postgres","plugin":"test_decoding"}}} # features/steps/patroni_api.py:71 993s Nov 11 10:42:39 Then I receive a response code 200 # features/steps/patroni_api.py:98 993s Nov 11 10:42:39 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 995s Nov 11 10:42:41 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 996s Nov 11 10:42:42 When I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 999s Nov 11 10:42:45 Then "members/postgres2" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 1005s Nov 11 10:42:51 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 1005s Nov 11 10:42:51 And postgres2 does not have a replication slot named test_logical # features/steps/slots.py:40 1010s Nov 11 10:42:56 1010s Nov 11 10:42:56 Feature: patroni api # features/patroni_api.feature:1 1010s Nov 11 10:42:56 We should check that patroni correctly responds to valid and not-valid API requests. 1010s Nov 11 10:42:56 Scenario: check API requests on a stand-alone server # features/patroni_api.feature:4 1010s Nov 11 10:42:56 Given I start postgres0 # features/steps/basic_replication.py:8 1013s Nov 11 10:42:59 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1013s Nov 11 10:42:59 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 1013s Nov 11 10:42:59 Then I receive a response code 200 # features/steps/patroni_api.py:98 1013s Nov 11 10:42:59 And I receive a response state running # features/steps/patroni_api.py:98 1013s Nov 11 10:42:59 And I receive a response role master # features/steps/patroni_api.py:98 1013s Nov 11 10:42:59 When I issue a GET request to http://127.0.0.1:8008/standby_leader # features/steps/patroni_api.py:61 1013s Nov 11 10:42:59 Then I receive a response code 503 # features/steps/patroni_api.py:98 1013s Nov 11 10:42:59 When I issue a GET request to http://127.0.0.1:8008/health # features/steps/patroni_api.py:61 1013s Nov 11 10:42:59 Then I receive a response code 200 # features/steps/patroni_api.py:98 1013s Nov 11 10:42:59 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 1013s Nov 11 10:42:59 Then I receive a response code 503 # features/steps/patroni_api.py:98 1013s Nov 11 10:42:59 When I issue a POST request to http://127.0.0.1:8008/reinitialize with {"force": true} # features/steps/patroni_api.py:71 1013s Nov 11 10:42:59 Then I receive a response code 503 # features/steps/patroni_api.py:98 1013s Nov 11 10:42:59 And I receive a response text I am the leader, can not reinitialize # features/steps/patroni_api.py:98 1013s Nov 11 10:42:59 When I run patronictl.py switchover batman --master postgres0 --force # features/steps/patroni_api.py:86 1015s Nov 11 10:43:01 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 1015s Nov 11 10:43:01 And I receive a response output "Error: No candidates found to switchover to" # features/steps/patroni_api.py:98 1015s Nov 11 10:43:01 When I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres0"} # features/steps/patroni_api.py:71 1015s Nov 11 10:43:01 Then I receive a response code 412 # features/steps/patroni_api.py:98 1015s Nov 11 10:43:01 And I receive a response text switchover is not possible: cluster does not have members except leader # features/steps/patroni_api.py:98 1015s Nov 11 10:43:01 When I issue an empty POST request to http://127.0.0.1:8008/failover # features/steps/patroni_api.py:66 1015s Nov 11 10:43:01 Then I receive a response code 400 # features/steps/patroni_api.py:98 1015s Nov 11 10:43:01 When I issue a POST request to http://127.0.0.1:8008/failover with {"foo": "bar"} # features/steps/patroni_api.py:71 1015s Nov 11 10:43:01 Then I receive a response code 400 # features/steps/patroni_api.py:98 1015s Nov 11 10:43:01 And I receive a response text "Failover could be performed only to a specific candidate" # features/steps/patroni_api.py:98 1015s Nov 11 10:43:01 1015s Nov 11 10:43:01 Scenario: check local configuration reload # features/patroni_api.feature:32 1015s Nov 11 10:43:01 Given I add tag new_tag new_value to postgres0 config # features/steps/patroni_api.py:137 1015s Nov 11 10:43:01 And I issue an empty POST request to http://127.0.0.1:8008/reload # features/steps/patroni_api.py:66 1015s Nov 11 10:43:01 Then I receive a response code 202 # features/steps/patroni_api.py:98 1015s Nov 11 10:43:01 1015s Nov 11 10:43:01 Scenario: check dynamic configuration change via DCS # features/patroni_api.feature:37 1015s Nov 11 10:43:01 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"ttl": 20, "postgresql": {"parameters": {"max_connections": "101"}}} # features/steps/patroni_api.py:71 1015s Nov 11 10:43:01 Then I receive a response code 200 # features/steps/patroni_api.py:98 1015s Nov 11 10:43:01 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 11 seconds # features/steps/patroni_api.py:156 1017s Nov 11 10:43:03 When I issue a GET request to http://127.0.0.1:8008/config # features/steps/patroni_api.py:61 1017s Nov 11 10:43:03 Then I receive a response code 200 # features/steps/patroni_api.py:98 1017s Nov 11 10:43:03 And I receive a response ttl 20 # features/steps/patroni_api.py:98 1017s Nov 11 10:43:03 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 1017s Nov 11 10:43:03 Then I receive a response code 200 # features/steps/patroni_api.py:98 1017s Nov 11 10:43:03 And I receive a response tags {'new_tag': 'new_value'} # features/steps/patroni_api.py:98 1017s Nov 11 10:43:03 And I sleep for 4 seconds # features/steps/patroni_api.py:39 1021s Nov 11 10:43:07 1021s Nov 11 10:43:07 Scenario: check the scheduled restart # features/patroni_api.feature:49 1021s Nov 11 10:43:07 Given I run patronictl.py edit-config -p 'superuser_reserved_connections=6' --force batman # features/steps/patroni_api.py:86 1022s Nov 11 10:43:08 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1022s Nov 11 10:43:08 And I receive a response output "+ superuser_reserved_connections: 6" # features/steps/patroni_api.py:98 1022s Nov 11 10:43:08 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 5 seconds # features/steps/patroni_api.py:156 1022s Nov 11 10:43: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:124 1022s Nov 11 10:43:08 Then I receive a response code 202 # features/steps/patroni_api.py:98 1022s Nov 11 10:43:08 And I sleep for 8 seconds # features/steps/patroni_api.py:39 1030s Nov 11 10:43:16 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 10 seconds # features/steps/patroni_api.py:156 1030s Nov 11 10:43: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:124 1031s Nov 11 10:43:16 Then I receive a response code 202 # features/steps/patroni_api.py:98 1031s Nov 11 10:43:16 And Response on GET http://127.0.0.1:8008/patroni does not contain pending_restart after 10 seconds # features/steps/patroni_api.py:171 1037s Nov 11 10:43:23 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1038s Nov 11 10:43:24 1038s Nov 11 10:43:24 Scenario: check API requests for the primary-replica pair in the pause mode # features/patroni_api.feature:63 1038s Nov 11 10:43:24 Given I start postgres1 # features/steps/basic_replication.py:8 1041s Nov 11 10:43:27 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1042s Nov 11 10:43:28 When I run patronictl.py pause batman # features/steps/patroni_api.py:86 1044s Nov 11 10:43:29 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1044s Nov 11 10:43:29 When I kill postmaster on postgres1 # features/steps/basic_replication.py:44 1044s Nov 11 10:43:30 waiting for server to shut down.... done 1044s Nov 11 10:43:30 server stopped 1044s Nov 11 10:43:30 And I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 1044s Nov 11 10:43:30 Then I receive a response code 503 # features/steps/patroni_api.py:98 1044s Nov 11 10:43:30 And "members/postgres1" key in DCS has state=stopped after 10 seconds # features/steps/cascading_replication.py:23 1045s Nov 11 10:43:31 When I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 1047s Nov 11 10:43:33 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1047s Nov 11 10:43:33 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1048s Nov 11 10:43:34 And I sleep for 2 seconds # features/steps/patroni_api.py:39 1050s Nov 11 10:43:36 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 1050s Nov 11 10:43:36 Then I receive a response code 200 # features/steps/patroni_api.py:98 1050s Nov 11 10:43:36 And I receive a response state running # features/steps/patroni_api.py:98 1050s Nov 11 10:43:36 And I receive a response role replica # features/steps/patroni_api.py:98 1050s Nov 11 10:43:36 When I run patronictl.py reinit batman postgres1 --force --wait # features/steps/patroni_api.py:86 1054s Nov 11 10:43:40 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1054s Nov 11 10:43:40 And I receive a response output "Success: reinitialize for member postgres1" # features/steps/patroni_api.py:98 1054s Nov 11 10:43:40 And postgres1 role is the secondary after 30 seconds # features/steps/basic_replication.py:105 1055s Nov 11 10:43:41 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1055s Nov 11 10:43:41 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 1057s Nov 11 10:43:43 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1057s Nov 11 10:43:43 And I receive a response output "Success: restart on member postgres0" # features/steps/patroni_api.py:98 1057s Nov 11 10:43:43 And postgres0 role is the primary after 5 seconds # features/steps/basic_replication.py:105 1058s Nov 11 10:43:44 1058s Nov 11 10:43:44 Scenario: check the switchover via the API in the pause mode # features/patroni_api.feature:90 1058s Nov 11 10:43:44 Given I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres0", "candidate": "postgres1"} # features/steps/patroni_api.py:71 1060s Nov 11 10:43:46 Then I receive a response code 200 # features/steps/patroni_api.py:98 1060s Nov 11 10:43:46 And postgres1 is a leader after 5 seconds # features/steps/patroni_api.py:29 1060s Nov 11 10:43:46 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1061s Nov 11 10:43:47 And postgres0 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 1065s Nov 11 10:43:51 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 1065s Nov 11 10:43:51 And "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1065s Nov 11 10:43:51 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 1065s Nov 11 10:43:51 Then I receive a response code 503 # features/steps/patroni_api.py:98 1065s Nov 11 10:43:51 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 1065s Nov 11 10:43:51 Then I receive a response code 200 # features/steps/patroni_api.py:98 1065s Nov 11 10:43:51 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 1065s Nov 11 10:43:51 Then I receive a response code 200 # features/steps/patroni_api.py:98 1065s Nov 11 10:43:51 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 1065s Nov 11 10:43:51 Then I receive a response code 503 # features/steps/patroni_api.py:98 1065s Nov 11 10:43:51 1065s Nov 11 10:43:51 Scenario: check the scheduled switchover # features/patroni_api.feature:107 1065s Nov 11 10:43:51 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 1066s Nov 11 10:43:52 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 1066s Nov 11 10:43:52 And I receive a response output "Can't schedule switchover in the paused state" # features/steps/patroni_api.py:98 1066s Nov 11 10:43:52 When I run patronictl.py resume batman # features/steps/patroni_api.py:86 1068s Nov 11 10:43:54 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1068s Nov 11 10:43:54 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 1069s Nov 11 10:43:55 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1069s Nov 11 10:43:55 And postgres0 is a leader after 20 seconds # features/steps/patroni_api.py:29 1080s Nov 11 10:44:06 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1081s Nov 11 10:44:07 And postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 1082s Nov 11 10:44:08 And replication works from postgres0 to postgres1 after 25 seconds # features/steps/basic_replication.py:112 1082s Nov 11 10:44:08 And "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1083s Nov 11 10:44:09 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 1083s Nov 11 10:44:09 Then I receive a response code 200 # features/steps/patroni_api.py:98 1083s Nov 11 10:44:09 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 1083s Nov 11 10:44:09 Then I receive a response code 503 # features/steps/patroni_api.py:98 1083s Nov 11 10:44:09 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 1083s Nov 11 10:44:09 Then I receive a response code 503 # features/steps/patroni_api.py:98 1083s Nov 11 10:44:09 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 1083s Nov 11 10:44:09 Then I receive a response code 200 # features/steps/patroni_api.py:98 1088s Nov 11 10:44:13 1088s Nov 11 10:44:13 Feature: permanent slots # features/permanent_slots.feature:1 1088s Nov 11 10:44:13 1088s Nov 11 10:44:13 Scenario: check that physical permanent slots are created # features/permanent_slots.feature:2 1088s Nov 11 10:44:13 Given I start postgres0 # features/steps/basic_replication.py:8 1091s Nov 11 10:44:16 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1091s Nov 11 10:44:16 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1091s Nov 11 10:44:16 When I issue a PATCH request to http://127.0.0.1:8008/config with {"slots":{"test_physical":0,"postgres0":0,"postgres1":0,"postgres3":0},"postgresql":{"parameters":{"wal_level":"logical"}}} # features/steps/patroni_api.py:71 1091s Nov 11 10:44:17 Then I receive a response code 200 # features/steps/patroni_api.py:98 1091s Nov 11 10:44:17 And Response on GET http://127.0.0.1:8008/config contains slots after 10 seconds # features/steps/patroni_api.py:156 1091s Nov 11 10:44:17 When I start postgres1 # features/steps/basic_replication.py:8 1094s Nov 11 10:44:20 And I start postgres2 # features/steps/basic_replication.py:8 1097s Nov 11 10:44:23 And I configure and start postgres3 with a tag replicatefrom postgres2 # features/steps/cascading_replication.py:7 1100s Nov 11 10:44:26 Then postgres0 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 1100s Nov 11 10:44:26 And postgres0 has a physical replication slot named postgres1 after 10 seconds # features/steps/slots.py:80 1100s Nov 11 10:44:26 And postgres0 has a physical replication slot named postgres2 after 10 seconds # features/steps/slots.py:80 1100s Nov 11 10:44:26 And postgres2 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 1100s Nov 11 10:44:26 1100s Nov 11 10:44:26 @slot-advance 1100s Nov 11 10:44:26 Scenario: check that logical permanent slots are created # features/permanent_slots.feature:18 1100s Nov 11 10:44:26 Given I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 1103s Nov 11 10:44:29 And I issue a PATCH request to http://127.0.0.1:8008/config with {"slots":{"test_logical":{"type":"logical","database":"postgres","plugin":"test_decoding"}}} # features/steps/patroni_api.py:71 1103s Nov 11 10:44:29 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 1104s Nov 11 10:44:30 1104s Nov 11 10:44:30 @slot-advance 1104s Nov 11 10:44:30 Scenario: check that permanent slots are created on replicas # features/permanent_slots.feature:24 1104s Nov 11 10:44:30 Given postgres1 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 1109s Nov 11 10:44:35 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1109s Nov 11 10:44:35 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 1110s Nov 11 10:44:36 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 1111s Nov 11 10:44:37 And postgres1 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 1111s Nov 11 10:44:37 And postgres2 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 1111s Nov 11 10:44:37 And postgres3 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 1111s Nov 11 10:44:37 1111s Nov 11 10:44:37 @slot-advance 1111s Nov 11 10:44:37 Scenario: check permanent physical slots that match with member names # features/permanent_slots.feature:34 1111s Nov 11 10:44:37 Given postgres0 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 1111s Nov 11 10:44:37 And postgres1 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 1111s Nov 11 10:44:37 And postgres1 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 1111s Nov 11 10:44:37 And postgres2 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 1111s Nov 11 10:44:37 And postgres2 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 1111s Nov 11 10:44:37 And postgres2 has a physical replication slot named postgres1 after 2 seconds # features/steps/slots.py:80 1111s Nov 11 10:44:37 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 1111s Nov 11 10:44:37 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 1111s Nov 11 10:44:37 1111s Nov 11 10:44:37 @slot-advance 1111s Nov 11 10:44:37 Scenario: check that permanent slots are advanced on replicas # features/permanent_slots.feature:45 1111s Nov 11 10:44:37 Given I add the table replicate_me to postgres0 # features/steps/basic_replication.py:54 1111s Nov 11 10:44:37 When I get all changes from logical slot test_logical on postgres0 # features/steps/slots.py:70 1111s Nov 11 10:44:37 And I get all changes from physical slot test_physical on postgres0 # features/steps/slots.py:75 1111s Nov 11 10:44:37 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1113s Nov 11 10:44:39 And Physical slot test_physical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1113s Nov 11 10:44:39 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 1113s Nov 11 10:44:39 And Physical slot test_physical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 1113s Nov 11 10:44:39 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 1113s Nov 11 10:44:39 And Physical slot test_physical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 1113s Nov 11 10:44:39 And Physical slot postgres1 is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 1113s Nov 11 10:44:39 And Physical slot postgres3 is in sync between postgres2 and postgres0 after 20 seconds # features/steps/slots.py:51 1115s Nov 11 10:44:41 And Physical slot postgres3 is in sync between postgres2 and postgres1 after 10 seconds # features/steps/slots.py:51 1115s Nov 11 10:44:41 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 1115s Nov 11 10:44:41 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 1115s Nov 11 10:44:41 1115s Nov 11 10:44:41 @slot-advance 1115s Nov 11 10:44:41 Scenario: check that only permanent slots are written to the /status key # features/permanent_slots.feature:62 1115s Nov 11 10:44:41 Given "status" key in DCS has test_physical in slots # features/steps/slots.py:96 1115s Nov 11 10:44:41 And "status" key in DCS has postgres0 in slots # features/steps/slots.py:96 1115s Nov 11 10:44:41 And "status" key in DCS has postgres1 in slots # features/steps/slots.py:96 1115s Nov 11 10:44:41 And "status" key in DCS does not have postgres2 in slots # features/steps/slots.py:102 1115s Nov 11 10:44:41 And "status" key in DCS has postgres3 in slots # features/steps/slots.py:96 1115s Nov 11 10:44:41 1115s Nov 11 10:44:41 Scenario: check permanent physical replication slot after failover # features/permanent_slots.feature:69 1115s Nov 11 10:44:41 Given I shut down postgres3 # features/steps/basic_replication.py:29 1116s Nov 11 10:44:42 And I shut down postgres2 # features/steps/basic_replication.py:29 1117s Nov 11 10:44:43 And I shut down postgres0 # features/steps/basic_replication.py:29 1119s Nov 11 10:44:45 Then postgres1 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 1119s Nov 11 10:44:45 And postgres1 has a physical replication slot named postgres0 after 10 seconds # features/steps/slots.py:80 1119s Nov 11 10:44:45 And postgres1 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 1121s Nov 11 10:44:47 1121s Nov 11 10:44:47 Feature: priority replication # features/priority_failover.feature:1 1121s Nov 11 10:44:47 We should check that we can give nodes priority during failover 1121s Nov 11 10:44:47 Scenario: check failover priority 0 prevents leaderships # features/priority_failover.feature:4 1121s Nov 11 10:44:47 Given I configure and start postgres0 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 1124s Nov 11 10:44:50 And I configure and start postgres1 with a tag failover_priority 0 # features/steps/cascading_replication.py:7 1127s Nov 11 10:44:53 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1132s Nov 11 10:44:58 When I shut down postgres0 # features/steps/basic_replication.py:29 1134s Nov 11 10:45:00 And there is one of ["following a different leader because I am not allowed to promote"] INFO in the postgres1 patroni log after 5 seconds # features/steps/basic_replication.py:121 1136s Nov 11 10:45:02 Then postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 1136s Nov 11 10:45:02 When I start postgres0 # features/steps/basic_replication.py:8 1138s Nov 11 10:45:04 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1140s Nov 11 10:45:06 1140s Nov 11 10:45:06 Scenario: check higher failover priority is respected # features/priority_failover.feature:14 1140s Nov 11 10:45:06 Given I configure and start postgres2 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 1143s Nov 11 10:45:09 And I configure and start postgres3 with a tag failover_priority 2 # features/steps/cascading_replication.py:7 1146s Nov 11 10:45:12 Then replication works from postgres0 to postgres2 after 20 seconds # features/steps/basic_replication.py:112 1147s Nov 11 10:45:13 And replication works from postgres0 to postgres3 after 20 seconds # features/steps/basic_replication.py:112 1148s Nov 11 10:45:14 When I shut down postgres0 # features/steps/basic_replication.py:29 1150s Nov 11 10:45:16 Then postgres3 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1150s Nov 11 10:45:16 And there is one of ["postgres3 has equally tolerable WAL position and priority 2, while this node has priority 1","Wal position of postgres3 is ahead of my wal position"] INFO in the postgres2 patroni log after 5 seconds # features/steps/basic_replication.py:121 1150s Nov 11 10:45:16 1150s Nov 11 10:45:16 Scenario: check conflicting configuration handling # features/priority_failover.feature:23 1150s Nov 11 10:45:16 When I set nofailover tag in postgres2 config # features/steps/patroni_api.py:131 1150s Nov 11 10:45:16 And I issue an empty POST request to http://127.0.0.1:8010/reload # features/steps/patroni_api.py:66 1150s Nov 11 10:45:16 Then I receive a response code 202 # features/steps/patroni_api.py:98 1150s Nov 11 10:45:16 And there is one of ["Conflicting configuration between nofailover: True and failover_priority: 1. Defaulting to nofailover: True"] WARNING in the postgres2 patroni log after 5 seconds # features/steps/basic_replication.py:121 1152s Nov 11 10:45:18 And "members/postgres2" key in DCS has tags={'failover_priority': '1', 'nofailover': True} after 10 seconds # features/steps/cascading_replication.py:23 1153s Nov 11 10:45:19 When I issue a POST request to http://127.0.0.1:8010/failover with {"candidate": "postgres2"} # features/steps/patroni_api.py:71 1154s Nov 11 10:45:19 Then I receive a response code 412 # features/steps/patroni_api.py:98 1154s Nov 11 10:45:19 And I receive a response text "failover is not possible: no good candidates have been found" # features/steps/patroni_api.py:98 1154s Nov 11 10:45:19 When I reset nofailover tag in postgres1 config # features/steps/patroni_api.py:131 1154s Nov 11 10:45:19 And I issue an empty POST request to http://127.0.0.1:8009/reload # features/steps/patroni_api.py:66 1154s Nov 11 10:45:20 Then I receive a response code 202 # features/steps/patroni_api.py:98 1154s Nov 11 10:45:20 And there is one of ["Conflicting configuration between nofailover: False and failover_priority: 0. Defaulting to nofailover: False"] WARNING in the postgres1 patroni log after 5 seconds # features/steps/basic_replication.py:121 1156s Nov 11 10:45:22 And "members/postgres1" key in DCS has tags={'failover_priority': '0', 'nofailover': False} after 10 seconds # features/steps/cascading_replication.py:23 1157s Nov 11 10:45:23 And I issue a POST request to http://127.0.0.1:8009/failover with {"candidate": "postgres1"} # features/steps/patroni_api.py:71 1159s Nov 11 10:45:25 Then I receive a response code 200 # features/steps/patroni_api.py:98 1159s Nov 11 10:45:25 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1163s Nov 11 10:45:29 1163s Nov 11 10:45:29 Feature: recovery # features/recovery.feature:1 1163s Nov 11 10:45:29 We want to check that crashed postgres is started back 1163s Nov 11 10:45:29 Scenario: check that timeline is not incremented when primary is started after crash # features/recovery.feature:4 1163s Nov 11 10:45:29 Given I start postgres0 # features/steps/basic_replication.py:8 1166s Nov 11 10:45:32 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1166s Nov 11 10:45:32 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1166s Nov 11 10:45:32 When I start postgres1 # features/steps/basic_replication.py:8 1169s Nov 11 10:45:35 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 1169s Nov 11 10:45:35 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 1174s Nov 11 10:45:40 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 1174s Nov 11 10:45:40 waiting for server to shut down.... done 1174s Nov 11 10:45:40 server stopped 1174s Nov 11 10:45:40 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1176s Nov 11 10:45:42 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 1176s Nov 11 10:45:42 Then I receive a response code 200 # features/steps/patroni_api.py:98 1176s Nov 11 10:45:42 And I receive a response role master # features/steps/patroni_api.py:98 1176s Nov 11 10:45:42 And I receive a response timeline 1 # features/steps/patroni_api.py:98 1176s Nov 11 10:45:42 And "members/postgres0" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 1177s Nov 11 10:45:43 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 1179s Nov 11 10:45:45 1179s Nov 11 10:45:45 Scenario: check immediate failover when master_start_timeout=0 # features/recovery.feature:20 1179s Nov 11 10:45:45 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"master_start_timeout": 0} # features/steps/patroni_api.py:71 1179s Nov 11 10:45:45 Then I receive a response code 200 # features/steps/patroni_api.py:98 1179s Nov 11 10:45:45 And Response on GET http://127.0.0.1:8008/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 1179s Nov 11 10:45:45 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 1179s Nov 11 10:45:45 waiting for server to shut down.... done 1179s Nov 11 10:45:45 server stopped 1179s Nov 11 10:45:45 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 1181s Nov 11 10:45:47 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1185s Nov 11 10:45:51 1185s Nov 11 10:45:51 Feature: standby cluster # features/standby_cluster.feature:1 1185s Nov 11 10:45:51 1185s Nov 11 10:45:51 Scenario: prepare the cluster with logical slots # features/standby_cluster.feature:2 1185s Nov 11 10:45:51 Given I start postgres1 # features/steps/basic_replication.py:8 1189s Nov 11 10:45:54 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 1189s Nov 11 10:45:54 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1189s Nov 11 10:45: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:71 1189s Nov 11 10:45:55 Then I receive a response code 200 # features/steps/patroni_api.py:98 1189s Nov 11 10:45:55 And Response on GET http://127.0.0.1:8009/config contains slots after 10 seconds # features/steps/patroni_api.py:156 1189s Nov 11 10:45:55 And I sleep for 3 seconds # features/steps/patroni_api.py:39 1192s Nov 11 10:45:58 When I issue a PATCH request to http://127.0.0.1:8009/config with {"slots": {"test_logical": {"type": "logical", "database": "postgres", "plugin": "test_decoding"}}} # features/steps/patroni_api.py:71 1192s Nov 11 10:45:58 Then I receive a response code 200 # features/steps/patroni_api.py:98 1192s Nov 11 10:45:58 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 1192s Nov 11 10:45:58 When I start postgres0 # features/steps/basic_replication.py:8 1195s Nov 11 10:46:01 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1195s Nov 11 10:46:01 And replication works from postgres1 to postgres0 after 15 seconds # features/steps/basic_replication.py:112 1196s Nov 11 10:46:02 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 1196s Nov 11 10:46:02 Then I receive a response code 200 # features/steps/patroni_api.py:98 1196s Nov 11 10:46:02 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 1196s Nov 11 10:46:02 And "members/postgres0" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 1196s Nov 11 10:46:02 1196s Nov 11 10:46:02 @slot-advance 1196s Nov 11 10:46:02 Scenario: check permanent logical slots are synced to the replica # features/standby_cluster.feature:22 1196s Nov 11 10:46:02 Given I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 1198s Nov 11 10:46:04 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1203s Nov 11 10:46:09 1203s Nov 11 10:46:09 Scenario: Detach exiting node from the cluster # features/standby_cluster.feature:26 1203s Nov 11 10:46:09 When I shut down postgres1 # features/steps/basic_replication.py:29 1205s Nov 11 10:46:11 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1205s Nov 11 10:46:11 And "members/postgres0" key in DCS has role=master after 5 seconds # features/steps/cascading_replication.py:23 1206s Nov 11 10:46:12 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 1206s Nov 11 10:46:12 Then I receive a response code 200 # features/steps/patroni_api.py:98 1206s Nov 11 10:46:12 1206s Nov 11 10:46:12 Scenario: check replication of a single table in a standby cluster # features/standby_cluster.feature:33 1206s Nov 11 10:46:12 Given I start postgres1 in a standby cluster batman1 as a clone of postgres0 # features/steps/standby_cluster.py:23 1209s Nov 11 10:46:15 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 1209s Nov 11 10:46:15 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 1209s Nov 11 10:46:15 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 1209s Nov 11 10:46:15 When I issue a GET request to http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:61 1209s Nov 11 10:46:15 Then I receive a response code 200 # features/steps/patroni_api.py:98 1209s Nov 11 10:46:15 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 1209s Nov 11 10:46:15 And I sleep for 3 seconds # features/steps/patroni_api.py:39 1212s Nov 11 10:46:18 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 1212s Nov 11 10:46:18 Then I receive a response code 503 # features/steps/patroni_api.py:98 1212s Nov 11 10:46:18 When I issue a GET request to http://127.0.0.1:8009/standby_leader # features/steps/patroni_api.py:61 1212s Nov 11 10:46:18 Then I receive a response code 200 # features/steps/patroni_api.py:98 1212s Nov 11 10:46:18 And I receive a response role standby_leader # features/steps/patroni_api.py:98 1212s Nov 11 10:46:18 And there is a postgres1_cb.log with "on_role_change standby_leader batman1" in postgres1 data directory # features/steps/cascading_replication.py:12 1212s Nov 11 10:46:18 When I start postgres2 in a cluster batman1 # features/steps/standby_cluster.py:12 1215s Nov 11 10:46:21 Then postgres2 role is the replica after 24 seconds # features/steps/basic_replication.py:105 1215s Nov 11 10:46:21 And postgres2 is replicating from postgres1 after 10 seconds # features/steps/standby_cluster.py:52 1215s Nov 11 10:46:21 And table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 1215s Nov 11 10:46:21 When I issue a GET request to http://127.0.0.1:8010/patroni # features/steps/patroni_api.py:61 1215s Nov 11 10:46:21 Then I receive a response code 200 # features/steps/patroni_api.py:98 1215s Nov 11 10:46:21 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 1215s Nov 11 10:46:21 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 1215s Nov 11 10:46:21 1215s Nov 11 10:46:21 Scenario: check switchover # features/standby_cluster.feature:57 1215s Nov 11 10:46:21 Given I run patronictl.py switchover batman1 --force # features/steps/patroni_api.py:86 1219s Nov 11 10:46:25 Then Status code on GET http://127.0.0.1:8010/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 1219s Nov 11 10:46:25 And postgres1 is replicating from postgres2 after 32 seconds # features/steps/standby_cluster.py:52 1221s Nov 11 10:46:27 And there is a postgres2_cb.log with "on_start replica batman1\non_role_change standby_leader batman1" in postgres2 data directory # features/steps/cascading_replication.py:12 1221s Nov 11 10:46:27 1221s Nov 11 10:46:27 Scenario: check failover # features/standby_cluster.feature:63 1221s Nov 11 10:46:27 When I kill postgres2 # features/steps/basic_replication.py:34 1222s Nov 11 10:46:28 And I kill postmaster on postgres2 # features/steps/basic_replication.py:44 1222s Nov 11 10:46:28 waiting for server to shut down.... done 1222s Nov 11 10:46:28 server stopped 1222s Nov 11 10:46:28 Then postgres1 is replicating from postgres0 after 32 seconds # features/steps/standby_cluster.py:52 1241s Nov 11 10:46:47 And Status code on GET http://127.0.0.1:8009/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 1241s Nov 11 10:46:47 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 1241s Nov 11 10:46:47 Then I receive a response code 503 # features/steps/patroni_api.py:98 1241s Nov 11 10:46:47 And I receive a response role standby_leader # features/steps/patroni_api.py:98 1241s Nov 11 10:46:47 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 1242s Nov 11 10:46:48 And there is a postgres1_cb.log with "on_role_change replica batman1\non_role_change standby_leader batman1" in postgres1 data directory # features/steps/cascading_replication.py:12 1246s Nov 11 10:46:52 1246s Nov 11 10:46:52 Feature: watchdog # features/watchdog.feature:1 1246s Nov 11 10:46:52 Verify that watchdog gets pinged and triggered under appropriate circumstances. 1246s Nov 11 10:46:52 Scenario: watchdog is opened and pinged # features/watchdog.feature:4 1246s Nov 11 10:46:52 Given I start postgres0 with watchdog # features/steps/watchdog.py:16 1249s Nov 11 10:46:55 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1249s Nov 11 10:46:55 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1249s Nov 11 10:46:55 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 1251s Nov 11 10:46:56 And postgres0 watchdog has a 15 second timeout # features/steps/watchdog.py:34 1251s Nov 11 10:46:56 1251s Nov 11 10:46:56 Scenario: watchdog is reconfigured after global ttl changed # features/watchdog.feature:11 1251s Nov 11 10:46:56 Given I run patronictl.py edit-config batman -s ttl=30 --force # features/steps/patroni_api.py:86 1252s Nov 11 10:46:58 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1252s Nov 11 10:46:58 And I receive a response output "+ttl: 30" # features/steps/patroni_api.py:98 1252s Nov 11 10:46:58 When I sleep for 4 seconds # features/steps/patroni_api.py:39 1256s Nov 11 10:47:02 Then postgres0 watchdog has a 25 second timeout # features/steps/watchdog.py:34 1256s Nov 11 10:47:02 1256s Nov 11 10:47:02 Scenario: watchdog is disabled during pause # features/watchdog.feature:18 1256s Nov 11 10:47:02 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 1257s Nov 11 10:47:03 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1257s Nov 11 10:47:03 When I sleep for 2 seconds # features/steps/patroni_api.py:39 1259s Nov 11 10:47:05 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 1259s Nov 11 10:47:05 1259s Nov 11 10:47:05 Scenario: watchdog is opened and pinged after resume # features/watchdog.feature:24 1259s Nov 11 10:47:05 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 1259s Nov 11 10:47:05 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 1260s Nov 11 10:47:06 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1260s Nov 11 10:47:06 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 1261s Nov 11 10:47:07 1261s Nov 11 10:47:07 Scenario: watchdog is disabled when shutting down # features/watchdog.feature:30 1261s Nov 11 10:47:07 Given I shut down postgres0 # features/steps/basic_replication.py:29 1263s Nov 11 10:47:09 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 1263s Nov 11 10:47:09 1263s Nov 11 10:47:09 Scenario: watchdog is triggered if patroni stops responding # features/watchdog.feature:34 1263s Nov 11 10:47:09 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 1263s Nov 11 10:47:09 And I start postgres0 with watchdog # features/steps/watchdog.py:16 1265s Nov 11 10:47:11 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1267s Nov 11 10:47:13 When postgres0 hangs for 30 seconds # features/steps/watchdog.py:52 1267s Nov 11 10:47:13 Then postgres0 watchdog is triggered after 30 seconds # features/steps/watchdog.py:44 1294s Nov 11 10:47:40 1294s Failed to get list of machines from http://[::1]:2379/v2: MaxRetryError("HTTPConnectionPool(host='::1', port=2379): Max retries exceeded with url: /v2/machines (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused'))") 1295s Failed to get list of machines from http://[::1]:2379/v2: MaxRetryError("HTTPConnectionPool(host='::1', port=2379): Max retries exceeded with url: /v2/machines (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused'))") 1295s Failed to get list of machines from http://127.0.0.1:2379/v2: MaxRetryError("HTTPConnectionPool(host='127.0.0.1', port=2379): Max retries exceeded with url: /v2/machines (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused'))") 1296s Nov 11 10:47:42 Combined data file .coverage.autopkgtest.5468.XTOwYkex 1296s Nov 11 10:47:42 Combined data file .coverage.autopkgtest.5511.XpjVaocx 1296s Nov 11 10:47:42 Combined data file .coverage.autopkgtest.5558.XVGGwEWx 1296s Nov 11 10:47:42 Combined data file .coverage.autopkgtest.5606.XvhKiaox 1296s Nov 11 10:47:42 Combined data file .coverage.autopkgtest.5652.XGoDcaix 1296s Nov 11 10:47:42 Combined data file .coverage.autopkgtest.5723.XXeEkJqx 1296s Nov 11 10:47:42 Combined data file .coverage.autopkgtest.5771.XRjtMjhx 1296s Nov 11 10:47:42 Combined data file .coverage.autopkgtest.5775.XCwtSufx 1296s Nov 11 10:47:42 Combined data file .coverage.autopkgtest.5870.XRorRoOx 1296s Nov 11 10:47:42 Combined data file .coverage.autopkgtest.5969.XuXrvTux 1296s Nov 11 10:47:42 Combined data file .coverage.autopkgtest.5981.XjpeNBjx 1296s Nov 11 10:47:42 Combined data file .coverage.autopkgtest.6025.XezPRQox 1296s Nov 11 10:47:42 Combined data file .coverage.autopkgtest.6089.XtYbBlPx 1296s Nov 11 10:47:42 Combined data file .coverage.autopkgtest.6220.XYrIjdbx 1296s Nov 11 10:47:42 Combined data file .coverage.autopkgtest.6264.XqhJjFGx 1296s Nov 11 10:47:42 Combined data file .coverage.autopkgtest.6318.XluHVdNx 1296s Nov 11 10:47:42 Combined data file .coverage.autopkgtest.6401.XhNJnwwx 1296s Nov 11 10:47:42 Combined data file .coverage.autopkgtest.6725.XBLyYSOx 1296s Nov 11 10:47:42 Combined data file .coverage.autopkgtest.6798.XPPwxGWx 1296s Nov 11 10:47:42 Combined data file .coverage.autopkgtest.6854.XUcSNdGx 1296s Nov 11 10:47:42 Combined data file .coverage.autopkgtest.7083.XBesOrTx 1296s Nov 11 10:47:42 Combined data file .coverage.autopkgtest.7134.XTBjgXMx 1296s Nov 11 10:47:42 Combined data file .coverage.autopkgtest.7195.XTdhGEBx 1296s Nov 11 10:47:42 Combined data file .coverage.autopkgtest.7284.XgfLvsNx 1296s Nov 11 10:47:42 Combined data file .coverage.autopkgtest.7380.XSpxoUfx 1296s Nov 11 10:47:42 Combined data file .coverage.autopkgtest.7422.XGzZGMax 1296s Nov 11 10:47:42 Combined data file .coverage.autopkgtest.7489.XvNQOwGx 1296s Nov 11 10:47:42 Combined data file .coverage.autopkgtest.7517.XjYOpyRx 1296s Nov 11 10:47:42 Combined data file .coverage.autopkgtest.7639.XYjqJHdx 1296s Nov 11 10:47:42 Combined data file .coverage.autopkgtest.7688.XYeaKpZx 1296s Nov 11 10:47:42 Combined data file .coverage.autopkgtest.7703.XHghLbAx 1296s Nov 11 10:47:42 Combined data file .coverage.autopkgtest.7740.XnxHvpex 1296s Nov 11 10:47:42 Combined data file .coverage.autopkgtest.7788.XBHpIWHx 1296s Nov 11 10:47:42 Combined data file .coverage.autopkgtest.7793.XsqcuIGx 1296s Nov 11 10:47:42 Combined data file .coverage.autopkgtest.7828.XqVFQZIx 1296s Nov 11 10:47:42 Combined data file .coverage.autopkgtest.7870.XGsGZnMx 1296s Nov 11 10:47:42 Combined data file .coverage.autopkgtest.8030.XbENRIlx 1296s Nov 11 10:47:42 Combined data file .coverage.autopkgtest.8032.XckxiDox 1296s Nov 11 10:47:42 Combined data file .coverage.autopkgtest.8037.XvQIgopx 1296s Nov 11 10:47:42 Combined data file .coverage.autopkgtest.8170.XJhmewlx 1296s Nov 11 10:47:42 Combined data file .coverage.autopkgtest.8215.XwAKYDbx 1296s Nov 11 10:47:42 Combined data file .coverage.autopkgtest.8262.XszmodUx 1296s Nov 11 10:47:42 Combined data file .coverage.autopkgtest.8314.XNujmPqx 1296s Nov 11 10:47:42 Combined data file .coverage.autopkgtest.8366.XWQlhxpx 1296s Nov 11 10:47:42 Combined data file .coverage.autopkgtest.8561.XnDNQajx 1296s Nov 11 10:47:42 Combined data file .coverage.autopkgtest.8603.XSMEkyyx 1296s Nov 11 10:47:42 Combined data file .coverage.autopkgtest.8690.XxdKbnux 1296s Nov 11 10:47:42 Combined data file .coverage.autopkgtest.8776.XhKjFJqx 1296s Nov 11 10:47:42 Combined data file .coverage.autopkgtest.8827.XwEdJCgx 1296s Nov 11 10:47:42 Combined data file .coverage.autopkgtest.9139.XFzVxVpx 1296s Nov 11 10:47:42 Combined data file .coverage.autopkgtest.9181.XYXZvTFx 1296s Nov 11 10:47:42 Combined data file .coverage.autopkgtest.9328.XunZnoax 1296s Nov 11 10:47:42 Combined data file .coverage.autopkgtest.9392.XZfItNox 1296s Nov 11 10:47:42 Combined data file .coverage.autopkgtest.9445.XEpaLwox 1296s Nov 11 10:47:42 Combined data file .coverage.autopkgtest.9545.XuUQQDdx 1296s Nov 11 10:47:42 Combined data file .coverage.autopkgtest.9664.XfFeTeHx 1296s Nov 11 10:47:42 Combined data file .coverage.autopkgtest.9843.XQRZWxbx 1296s Nov 11 10:47:42 Combined data file .coverage.autopkgtest.9885.XvVhIXjx 1296s Nov 11 10:47:42 Combined data file .coverage.autopkgtest.9888.XKAZVYex 1296s Nov 11 10:47:42 Combined data file .coverage.autopkgtest.9891.XHsqwtrx 1296s Nov 11 10:47:42 Combined data file .coverage.autopkgtest.9902.XggndScx 1298s Nov 11 10:47:44 Name Stmts Miss Cover 1298s Nov 11 10:47:44 ------------------------------------------------------------------------------------------------------------- 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/OpenSSL/SSL.py 1099 597 46% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/OpenSSL/__init__.py 4 0 100% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/OpenSSL/_util.py 41 14 66% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/OpenSSL/crypto.py 1082 842 22% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/OpenSSL/version.py 10 0 100% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 101 96 5% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/cryptography/__about__.py 5 0 100% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/cryptography/__init__.py 3 0 100% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/cryptography/exceptions.py 26 5 81% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/cryptography/hazmat/__init__.py 2 0 100% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/cryptography/hazmat/_oid.py 126 0 100% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/__init__.py 0 0 100% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/__init__.py 0 0 100% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/_conditional.py 50 23 54% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/binding.py 62 12 81% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/__init__.py 0 0 100% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_asymmetric.py 6 0 100% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_cipheralgorithm.py 17 0 100% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_serialization.py 79 35 56% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/__init__.py 0 0 100% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dh.py 47 0 100% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dsa.py 55 5 91% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ec.py 164 17 90% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed448.py 45 12 73% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed25519.py 43 12 72% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/padding.py 55 23 58% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/rsa.py 90 38 58% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/types.py 19 0 100% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/utils.py 14 5 64% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x448.py 43 12 72% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x25519.py 41 12 71% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/__init__.py 4 0 100% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/algorithms.py 129 35 73% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/base.py 140 81 42% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/modes.py 139 58 58% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/constant_time.py 6 3 50% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hashes.py 127 20 84% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/__init__.py 5 0 100% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/base.py 7 0 100% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/ssh.py 758 602 21% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/cryptography/utils.py 77 29 62% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/cryptography/x509/__init__.py 70 0 100% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/cryptography/x509/base.py 487 229 53% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/cryptography/x509/certificate_transparency.py 42 0 100% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/cryptography/x509/extensions.py 1038 569 45% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/cryptography/x509/general_name.py 166 94 43% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/cryptography/x509/name.py 232 141 39% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/cryptography/x509/oid.py 3 0 100% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/cryptography/x509/verification.py 10 0 100% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/dateutil/__init__.py 13 4 69% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/dateutil/_version.py 11 2 82% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 813 436 46% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 185 150 19% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 241 206 15% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 161 121 25% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 800 626 22% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/dateutil/tz/win.py 153 149 3% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/dns/__init__.py 3 0 100% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/dns/_asyncbackend.py 14 6 57% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/dns/_ddr.py 105 86 18% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/dns/_features.py 44 7 84% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/dns/_immutable_ctx.py 40 5 88% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/dns/asyncbackend.py 44 32 27% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/dns/asyncquery.py 277 242 13% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/dns/edns.py 270 161 40% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/dns/entropy.py 80 49 39% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/dns/enum.py 72 46 36% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/dns/exception.py 60 33 45% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/dns/flags.py 41 14 66% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/dns/grange.py 34 30 12% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/dns/immutable.py 41 30 27% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/dns/inet.py 80 65 19% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/dns/ipv4.py 27 20 26% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/dns/ipv6.py 115 100 13% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/dns/message.py 809 662 18% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/dns/name.py 620 427 31% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/dns/nameserver.py 101 54 47% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/dns/node.py 118 71 40% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/dns/opcode.py 31 7 77% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/dns/query.py 536 462 14% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/dns/quic/__init__.py 26 23 12% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/dns/rcode.py 69 13 81% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/dns/rdata.py 377 269 29% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/dns/rdataclass.py 44 9 80% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/dns/rdataset.py 193 133 31% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/dns/rdatatype.py 214 25 88% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/OPT.py 34 19 44% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/SOA.py 41 26 37% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/TSIG.py 58 42 28% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/ZONEMD.py 43 27 37% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/__init__.py 2 0 100% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/dns/rdtypes/__init__.py 2 0 100% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/dns/rdtypes/svcbbase.py 397 261 34% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/dns/rdtypes/util.py 191 154 19% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/dns/renderer.py 152 118 22% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/dns/resolver.py 899 719 20% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/dns/reversename.py 33 24 27% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/dns/rrset.py 78 56 28% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/dns/serial.py 93 79 15% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/dns/set.py 149 108 28% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/dns/tokenizer.py 335 279 17% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/dns/transaction.py 271 203 25% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/dns/tsig.py 177 122 31% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/dns/ttl.py 45 38 16% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/dns/version.py 7 0 100% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/dns/wire.py 64 42 34% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/dns/xfr.py 148 126 15% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/dns/zone.py 508 383 25% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/dns/zonefile.py 429 380 11% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/dns/zonetypes.py 15 2 87% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/etcd/__init__.py 125 24 81% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/etcd/client.py 380 192 49% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/etcd/lock.py 125 103 18% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/idna/__init__.py 4 0 100% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/idna/core.py 292 257 12% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/idna/idnadata.py 4 0 100% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/idna/intranges.py 30 24 20% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/idna/package_data.py 1 0 100% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/patroni/__main__.py 199 63 68% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/patroni/api.py 770 279 64% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 15 84% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/patroni/collections.py 56 6 89% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/patroni/config.py 371 94 75% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/patroni/config_generator.py 212 159 25% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/patroni/daemon.py 76 3 96% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 646 77 88% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/patroni/dcs/etcd.py 603 119 80% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/patroni/dynamic_loader.py 35 7 80% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/patroni/file_perm.py 43 8 81% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/patroni/global_config.py 81 0 100% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/patroni/ha.py 1244 318 74% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/patroni/log.py 219 69 68% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 821 173 79% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/patroni/postgresql/available_parameters/__init__.py 21 1 95% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 252 62 75% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 813 216 73% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 1 99% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 41 8 80% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/patroni/postgresql/mpp/__init__.py 89 11 88% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 85 50% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 416 163 61% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 334 34 90% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 130 19 85% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 157 23 85% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/patroni/psycopg.py 42 16 62% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/patroni/request.py 62 6 90% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/patroni/tags.py 38 0 100% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/patroni/utils.py 350 120 66% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/patroni/validator.py 301 208 31% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 42 79% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 35 74% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/psutil/__init__.py 951 629 34% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/psutil/_common.py 424 212 50% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/psutil/_compat.py 302 263 13% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1251 924 26% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/psutil/_psposix.py 96 38 60% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/six.py 504 250 50% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/urllib3/__init__.py 50 14 72% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 70 52 26% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/urllib3/_collections.py 234 100 57% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 53 9 83% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/urllib3/_version.py 2 0 100% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/urllib3/connection.py 324 99 69% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 347 120 65% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/urllib3/contrib/__init__.py 0 0 100% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/urllib3/contrib/pyopenssl.py 257 96 63% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/urllib3/exceptions.py 115 37 68% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 85 64% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/urllib3/response.py 562 310 45% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 42 36% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 49 53% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 17 47% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/urllib3/util/retry.py 173 47 73% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 177 78 56% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 160 112 30% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 14 80% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/urllib3/util/url.py 205 68 67% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 10 62% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 18 63% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/yaml/parser.py 352 198 44% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/yaml/reader.py 122 34 72% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/yaml/scanner.py 758 437 42% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 1298s Nov 11 10:47:44 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 1298s Nov 11 10:47:44 patroni/__init__.py 13 2 85% 1298s Nov 11 10:47:44 patroni/__main__.py 199 199 0% 1298s Nov 11 10:47:44 patroni/api.py 770 770 0% 1298s Nov 11 10:47:44 patroni/async_executor.py 96 69 28% 1298s Nov 11 10:47:44 patroni/collections.py 56 15 73% 1298s Nov 11 10:47:44 patroni/config.py 371 196 47% 1298s Nov 11 10:47:44 patroni/config_generator.py 212 212 0% 1298s Nov 11 10:47:44 patroni/ctl.py 936 411 56% 1298s Nov 11 10:47:44 patroni/daemon.py 76 76 0% 1298s Nov 11 10:47:44 patroni/dcs/__init__.py 646 270 58% 1298s Nov 11 10:47:44 patroni/dcs/consul.py 485 485 0% 1298s Nov 11 10:47:44 patroni/dcs/etcd3.py 679 679 0% 1298s Nov 11 10:47:44 patroni/dcs/etcd.py 603 224 63% 1298s Nov 11 10:47:44 patroni/dcs/exhibitor.py 61 61 0% 1298s Nov 11 10:47:44 patroni/dcs/kubernetes.py 938 938 0% 1298s Nov 11 10:47:44 patroni/dcs/raft.py 319 319 0% 1298s Nov 11 10:47:44 patroni/dcs/zookeeper.py 288 288 0% 1298s Nov 11 10:47:44 patroni/dynamic_loader.py 35 7 80% 1298s Nov 11 10:47:44 patroni/exceptions.py 16 1 94% 1298s Nov 11 10:47:44 patroni/file_perm.py 43 15 65% 1298s Nov 11 10:47:44 patroni/global_config.py 81 18 78% 1298s Nov 11 10:47:44 patroni/ha.py 1244 1244 0% 1298s Nov 11 10:47:44 patroni/log.py 219 173 21% 1298s Nov 11 10:47:44 patroni/postgresql/__init__.py 821 651 21% 1298s Nov 11 10:47:44 patroni/postgresql/available_parameters/__init__.py 21 3 86% 1298s Nov 11 10:47:44 patroni/postgresql/bootstrap.py 252 222 12% 1298s Nov 11 10:47:44 patroni/postgresql/callback_executor.py 55 34 38% 1298s Nov 11 10:47:44 patroni/postgresql/cancellable.py 104 84 19% 1298s Nov 11 10:47:44 patroni/postgresql/config.py 813 698 14% 1298s Nov 11 10:47:44 patroni/postgresql/connection.py 75 50 33% 1298s Nov 11 10:47:44 patroni/postgresql/misc.py 41 29 29% 1298s Nov 11 10:47:44 patroni/postgresql/mpp/__init__.py 89 21 76% 1298s Nov 11 10:47:44 patroni/postgresql/mpp/citus.py 259 259 0% 1298s Nov 11 10:47:44 patroni/postgresql/postmaster.py 170 139 18% 1298s Nov 11 10:47:44 patroni/postgresql/rewind.py 416 416 0% 1298s Nov 11 10:47:44 patroni/postgresql/slots.py 334 285 15% 1298s Nov 11 10:47:44 patroni/postgresql/sync.py 130 96 26% 1298s Nov 11 10:47:44 patroni/postgresql/validator.py 157 52 67% 1298s Nov 11 10:47:44 patroni/psycopg.py 42 28 33% 1298s Nov 11 10:47:44 patroni/raft_controller.py 22 22 0% 1298s Nov 11 10:47:44 patroni/request.py 62 6 90% 1298s Nov 11 10:47:44 patroni/scripts/__init__.py 0 0 100% 1298s Nov 11 10:47:44 patroni/scripts/aws.py 59 59 0% 1298s Nov 11 10:47:44 patroni/scripts/barman/__init__.py 0 0 100% 1298s Nov 11 10:47:44 patroni/scripts/barman/cli.py 51 51 0% 1298s Nov 11 10:47:44 patroni/scripts/barman/config_switch.py 51 51 0% 1298s Nov 11 10:47:44 patroni/scripts/barman/recover.py 37 37 0% 1298s Nov 11 10:47:44 patroni/scripts/barman/utils.py 94 94 0% 1298s Nov 11 10:47:44 patroni/scripts/wale_restore.py 207 207 0% 1298s Nov 11 10:47:44 patroni/tags.py 38 11 71% 1298s Nov 11 10:47:44 patroni/utils.py 350 196 44% 1298s Nov 11 10:47:44 patroni/validator.py 301 215 29% 1298s Nov 11 10:47:44 patroni/version.py 1 0 100% 1298s Nov 11 10:47:44 patroni/watchdog/__init__.py 2 2 0% 1298s Nov 11 10:47:44 patroni/watchdog/base.py 203 203 0% 1298s Nov 11 10:47:44 patroni/watchdog/linux.py 135 135 0% 1298s Nov 11 10:47:44 ------------------------------------------------------------------------------------------------------------- 1298s Nov 11 10:47:44 TOTAL 53060 32136 39% 1298s Nov 11 10:47:44 12 features passed, 0 failed, 1 skipped 1298s Nov 11 10:47:44 55 scenarios passed, 0 failed, 5 skipped 1298s Nov 11 10:47:44 524 steps passed, 0 failed, 61 skipped, 0 undefined 1298s Nov 11 10:47:44 Took 8m9.893s 1298s + echo '### End 16 acceptance-etcd ###' 1298s + rm -f '/tmp/pgpass?' 1298s ### End 16 acceptance-etcd ### 1298s ++ id -u 1298s + '[' 0 -eq 0 ']' 1298s + '[' -x /etc/init.d/zookeeper ']' 1298s autopkgtest [10:47:44]: test acceptance-etcd: -----------------------] 1299s acceptance-etcd PASS 1299s autopkgtest [10:47:45]: test acceptance-etcd: - - - - - - - - - - results - - - - - - - - - - 1299s autopkgtest [10:47:45]: test acceptance-zookeeper: preparing testbed 1356s autopkgtest [10:48:42]: testbed dpkg architecture: amd64 1356s autopkgtest [10:48:42]: testbed apt version: 2.9.8 1356s autopkgtest [10:48:42]: @@@@@@@@@@@@@@@@@@@@ test bed setup 1357s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB] 1357s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [913 kB] 1358s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [91.3 kB] 1358s Get:4 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [7016 B] 1358s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [15.3 kB] 1358s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/main amd64 Packages [132 kB] 1358s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/main i386 Packages [78.4 kB] 1358s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/restricted amd64 Packages [32.6 kB] 1358s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/universe i386 Packages [293 kB] 1358s Get:10 http://ftpmaster.internal/ubuntu plucky-proposed/universe amd64 Packages [696 kB] 1358s Get:11 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse amd64 Packages [37.7 kB] 1358s Get:12 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse i386 Packages [13.0 kB] 1358s Fetched 2383 kB in 1s (2973 kB/s) 1358s Reading package lists... 1360s Reading package lists... 1360s Building dependency tree... 1360s Reading state information... 1360s Calculating upgrade... 1360s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1360s Reading package lists... 1361s Building dependency tree... 1361s Reading state information... 1361s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1361s Hit:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease 1361s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 1361s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 1361s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 1362s Reading package lists... 1362s Reading package lists... 1362s Building dependency tree... 1362s Reading state information... 1363s Calculating upgrade... 1363s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1363s Reading package lists... 1363s Building dependency tree... 1363s Reading state information... 1363s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1368s Reading package lists... 1368s Building dependency tree... 1368s Reading state information... 1368s Starting pkgProblemResolver with broken count: 0 1368s Starting 2 pkgProblemResolver with broken count: 0 1368s Done 1368s The following additional packages will be installed: 1368s adwaita-icon-theme at-spi2-common ca-certificates-java 1368s dconf-gsettings-backend dconf-service default-jre default-jre-headless 1368s fontconfig fontconfig-config fonts-dejavu-core fonts-dejavu-mono 1368s fonts-font-awesome fonts-lato gtk-update-icon-cache hicolor-icon-theme 1368s humanity-icon-theme java-common junit4 libactivation-java libapache-pom-java 1368s libapr1t64 libasm-java libasound2-data libasound2t64 1368s libatinject-jsr330-api-java libatk-bridge2.0-0t64 libatk1.0-0t64 1368s libatspi2.0-0t64 libavahi-client3 libavahi-common-data libavahi-common3 1368s libcairo-gobject2 libcairo2 libcares2 libcolord2 libcommons-cli-java 1368s libcommons-io-java libcommons-logging-java libcommons-parent-java 1368s libcups2t64 libdatrie1 libdconf1 libdeflate0 libdrm-amdgpu1 libdrm-intel1 1368s libdrm-radeon1 libdropwizard-metrics-java 1368s libeclipse-jdt-core-compiler-batch-java libeclipse-jdt-core-java 1368s libel-api-java libepoxy0 liberror-prone-java libev4t64 1368s libfindbugs-annotations-java libfontconfig1 libgbm1 libgdk-pixbuf-2.0-0 1368s libgdk-pixbuf2.0-common libgif7 libgl1 libgl1-mesa-dri libglapi-mesa 1368s libglvnd0 libglx-mesa0 libglx0 libgraphite2-3 libgtk-3-0t64 libgtk-3-common 1368s libguava-java libhamcrest-java libharfbuzz0b libio-pty-perl libipc-run-perl 1368s libjackson2-annotations-java libjackson2-core-java libjackson2-databind-java 1369s libjaxb-api-java libjbig0 libjctools-java libjetty9-extra-java 1369s libjetty9-java libjffi-java libjffi-jni libjnr-constants-java 1369s libjnr-enxio-java libjnr-ffi-java libjnr-posix-java libjnr-unixsocket-java 1369s libjnr-x86asm-java libjpeg-turbo8 libjpeg8 libjs-jquery libjs-sphinxdoc 1369s libjs-underscore libjson-perl libjsp-api-java libjsr305-java liblcms2-2 1369s liblerc4 liblog4j1.2-java libmail-java libnetty-java libnetty-tcnative-java 1369s libnetty-tcnative-jni libpango-1.0-0 libpangocairo-1.0-0 libpangoft2-1.0-0 1369s libpciaccess0 libpcsclite1 libpixman-1-0 libpq5 libservlet-api-java 1369s libsharpyuv0 libslf4j-java libsnappy-java libsnappy-jni libsnappy1v5 1369s libspring-beans-java libspring-core-java libtaglibs-standard-impl-java 1369s libtaglibs-standard-spec-java libthai-data libthai0 libtiff6 1369s libtime-duration-perl libtimedate-perl libtomcat9-java libvulkan1 1369s libwayland-client0 libwayland-cursor0 libwayland-egl1 libwayland-server0 1369s libwebp7 libwebsocket-api-java libx11-xcb1 libxcb-dri2-0 libxcb-dri3-0 1369s libxcb-glx0 libxcb-present0 libxcb-randr0 libxcb-render0 libxcb-shm0 1369s libxcb-sync1 libxcb-xfixes0 libxcomposite1 libxcursor1 libxdamage1 1369s libxfixes3 libxi6 libxinerama1 libxrandr2 libxrender1 libxshmfence1 1369s libxslt1.1 libxtst6 libxxf86vm1 libzookeeper-java mesa-libgallium moreutils 1369s openjdk-21-jre openjdk-21-jre-headless patroni patroni-doc postgresql 1369s postgresql-16 postgresql-client-16 postgresql-client-common 1369s postgresql-common python3-behave python3-cdiff python3-click 1369s python3-colorama python3-coverage python3-dateutil python3-dnspython 1369s python3-eventlet python3-gevent python3-greenlet python3-kazoo 1369s python3-kerberos python3-parse python3-parse-type python3-prettytable 1369s python3-psutil python3-psycopg2 python3-pure-sasl python3-six 1369s python3-wcwidth python3-ydiff python3-zope.event python3-zope.interface 1369s sphinx-rtd-theme-common ssl-cert ubuntu-mono x11-common zookeeper zookeeperd 1369s Suggested packages: 1369s adwaita-icon-theme-legacy alsa-utils libasound2-plugins 1369s libatinject-jsr330-api-java-doc colord libavalon-framework-java 1369s libexcalibur-logkit-java cups-common gvfs libjackson2-annotations-java-doc 1369s jetty9 libjnr-ffi-java-doc libjnr-posix-java-doc libjsr305-java-doc 1369s liblcms2-utils liblog4j1.2-java-doc libbcpkix-java libcompress-lzf-java 1369s libjzlib-java liblog4j2-java libprotobuf-java pcscd libcglib-java 1369s libyaml-snake-java libaspectj-java libcommons-collections3-java tomcat9 1369s libzookeeper-java-doc libnss-mdns fonts-dejavu-extra fonts-ipafont-gothic 1369s fonts-ipafont-mincho fonts-wqy-microhei | fonts-wqy-zenhei fonts-indic 1369s vip-manager haproxy postgresql-doc postgresql-doc-16 python-coverage-doc 1369s python3-trio python3-aioquic python3-h2 python3-httpx python3-httpcore 1369s python-eventlet-doc python-gevent-doc python-greenlet-dev 1369s python-greenlet-doc python-kazoo-doc python-psycopg2-doc 1369s Recommended packages: 1369s librsvg2-common alsa-ucm-conf alsa-topology-conf at-spi2-core 1369s libgdk-pixbuf2.0-bin libgl1-amber-dri libgtk-3-bin javascript-common 1369s libjson-xs-perl mesa-vulkan-drivers | vulkan-icd libatk-wrapper-java-jni 1369s fonts-dejavu-extra 1369s The following NEW packages will be installed: 1369s adwaita-icon-theme at-spi2-common autopkgtest-satdep ca-certificates-java 1369s dconf-gsettings-backend dconf-service default-jre default-jre-headless 1369s fontconfig fontconfig-config fonts-dejavu-core fonts-dejavu-mono 1369s fonts-font-awesome fonts-lato gtk-update-icon-cache hicolor-icon-theme 1369s humanity-icon-theme java-common junit4 libactivation-java libapache-pom-java 1369s libapr1t64 libasm-java libasound2-data libasound2t64 1369s libatinject-jsr330-api-java libatk-bridge2.0-0t64 libatk1.0-0t64 1369s libatspi2.0-0t64 libavahi-client3 libavahi-common-data libavahi-common3 1369s libcairo-gobject2 libcairo2 libcares2 libcolord2 libcommons-cli-java 1369s libcommons-io-java libcommons-logging-java libcommons-parent-java 1369s libcups2t64 libdatrie1 libdconf1 libdeflate0 libdrm-amdgpu1 libdrm-intel1 1369s libdrm-radeon1 libdropwizard-metrics-java 1369s libeclipse-jdt-core-compiler-batch-java libeclipse-jdt-core-java 1369s libel-api-java libepoxy0 liberror-prone-java libev4t64 1369s libfindbugs-annotations-java libfontconfig1 libgbm1 libgdk-pixbuf-2.0-0 1369s libgdk-pixbuf2.0-common libgif7 libgl1 libgl1-mesa-dri libglapi-mesa 1369s libglvnd0 libglx-mesa0 libglx0 libgraphite2-3 libgtk-3-0t64 libgtk-3-common 1369s libguava-java libhamcrest-java libharfbuzz0b libio-pty-perl libipc-run-perl 1369s libjackson2-annotations-java libjackson2-core-java libjackson2-databind-java 1369s libjaxb-api-java libjbig0 libjctools-java libjetty9-extra-java 1369s libjetty9-java libjffi-java libjffi-jni libjnr-constants-java 1369s libjnr-enxio-java libjnr-ffi-java libjnr-posix-java libjnr-unixsocket-java 1369s libjnr-x86asm-java libjpeg-turbo8 libjpeg8 libjs-jquery libjs-sphinxdoc 1369s libjs-underscore libjson-perl libjsp-api-java libjsr305-java liblcms2-2 1369s liblerc4 liblog4j1.2-java libmail-java libnetty-java libnetty-tcnative-java 1369s libnetty-tcnative-jni libpango-1.0-0 libpangocairo-1.0-0 libpangoft2-1.0-0 1369s libpciaccess0 libpcsclite1 libpixman-1-0 libpq5 libservlet-api-java 1369s libsharpyuv0 libslf4j-java libsnappy-java libsnappy-jni libsnappy1v5 1369s libspring-beans-java libspring-core-java libtaglibs-standard-impl-java 1369s libtaglibs-standard-spec-java libthai-data libthai0 libtiff6 1369s libtime-duration-perl libtimedate-perl libtomcat9-java libvulkan1 1369s libwayland-client0 libwayland-cursor0 libwayland-egl1 libwayland-server0 1369s libwebp7 libwebsocket-api-java libx11-xcb1 libxcb-dri2-0 libxcb-dri3-0 1369s libxcb-glx0 libxcb-present0 libxcb-randr0 libxcb-render0 libxcb-shm0 1369s libxcb-sync1 libxcb-xfixes0 libxcomposite1 libxcursor1 libxdamage1 1369s libxfixes3 libxi6 libxinerama1 libxrandr2 libxrender1 libxshmfence1 1369s libxslt1.1 libxtst6 libxxf86vm1 libzookeeper-java mesa-libgallium moreutils 1369s openjdk-21-jre openjdk-21-jre-headless patroni patroni-doc postgresql 1369s postgresql-16 postgresql-client-16 postgresql-client-common 1369s postgresql-common python3-behave python3-cdiff python3-click 1369s python3-colorama python3-coverage python3-dateutil python3-dnspython 1369s python3-eventlet python3-gevent python3-greenlet python3-kazoo 1369s python3-kerberos python3-parse python3-parse-type python3-prettytable 1369s python3-psutil python3-psycopg2 python3-pure-sasl python3-six 1369s python3-wcwidth python3-ydiff python3-zope.event python3-zope.interface 1369s sphinx-rtd-theme-common ssl-cert ubuntu-mono x11-common zookeeper zookeeperd 1369s 0 upgraded, 198 newly installed, 0 to remove and 0 not upgraded. 1369s Need to get 132 MB/132 MB of archives. 1369s After this operation, 461 MB of additional disk space will be used. 1369s Get:1 /tmp/autopkgtest.WZS0fA/4-autopkgtest-satdep.deb autopkgtest-satdep amd64 0 [768 B] 1369s Get:2 http://ftpmaster.internal/ubuntu plucky/main amd64 fonts-lato all 2.015-1 [2781 kB] 1369s Get:3 http://ftpmaster.internal/ubuntu plucky/main amd64 libjson-perl all 4.10000-1 [81.9 kB] 1369s Get:4 http://ftpmaster.internal/ubuntu plucky/main amd64 postgresql-client-common all 262 [36.7 kB] 1369s Get:5 http://ftpmaster.internal/ubuntu plucky/main amd64 ssl-cert all 1.1.2ubuntu2 [18.0 kB] 1369s Get:6 http://ftpmaster.internal/ubuntu plucky/main amd64 postgresql-common all 262 [162 kB] 1369s Get:7 http://ftpmaster.internal/ubuntu plucky/main amd64 ca-certificates-java all 20240118 [11.6 kB] 1369s Get:8 http://ftpmaster.internal/ubuntu plucky/main amd64 java-common all 0.76 [6852 B] 1369s Get:9 http://ftpmaster.internal/ubuntu plucky/main amd64 liblcms2-2 amd64 2.16-2 [212 kB] 1369s Get:10 http://ftpmaster.internal/ubuntu plucky/main amd64 libjpeg-turbo8 amd64 2.1.5-2ubuntu2 [150 kB] 1369s Get:11 http://ftpmaster.internal/ubuntu plucky/main amd64 libjpeg8 amd64 8c-2ubuntu11 [2148 B] 1369s Get:12 http://ftpmaster.internal/ubuntu plucky/main amd64 libpcsclite1 amd64 2.3.0-1 [23.9 kB] 1369s Get:13 http://ftpmaster.internal/ubuntu plucky/main amd64 openjdk-21-jre-headless amd64 21.0.5+11-1 [46.4 MB] 1371s Get:14 http://ftpmaster.internal/ubuntu plucky/main amd64 default-jre-headless amd64 2:1.21-76 [3178 B] 1371s Get:15 http://ftpmaster.internal/ubuntu plucky/main amd64 libgdk-pixbuf2.0-common all 2.42.12+dfsg-1 [7888 B] 1371s Get:16 http://ftpmaster.internal/ubuntu plucky/main amd64 libdeflate0 amd64 1.22-1 [64.5 kB] 1371s Get:17 http://ftpmaster.internal/ubuntu plucky/main amd64 libjbig0 amd64 2.1-6.1ubuntu2 [29.7 kB] 1371s Get:18 http://ftpmaster.internal/ubuntu plucky/main amd64 liblerc4 amd64 4.0.0+ds-4ubuntu2 [179 kB] 1371s Get:19 http://ftpmaster.internal/ubuntu plucky/main amd64 libsharpyuv0 amd64 1.4.0-0.1 [17.5 kB] 1371s Get:20 http://ftpmaster.internal/ubuntu plucky/main amd64 libwebp7 amd64 1.4.0-0.1 [231 kB] 1371s Get:21 http://ftpmaster.internal/ubuntu plucky/main amd64 libtiff6 amd64 4.5.1+git230720-4ubuntu4 [200 kB] 1371s Get:22 http://ftpmaster.internal/ubuntu plucky/main amd64 libgdk-pixbuf-2.0-0 amd64 2.42.12+dfsg-1 [147 kB] 1371s Get:23 http://ftpmaster.internal/ubuntu plucky/main amd64 gtk-update-icon-cache amd64 4.16.5+ds-1 [52.4 kB] 1371s Get:24 http://ftpmaster.internal/ubuntu plucky/main amd64 hicolor-icon-theme all 0.18-1 [13.5 kB] 1371s Get:25 http://ftpmaster.internal/ubuntu plucky/main amd64 humanity-icon-theme all 0.6.16 [1282 kB] 1371s Get:26 http://ftpmaster.internal/ubuntu plucky/main amd64 ubuntu-mono all 24.04-0ubuntu1 [151 kB] 1371s Get:27 http://ftpmaster.internal/ubuntu plucky/main amd64 adwaita-icon-theme all 47.0-2 [525 kB] 1371s Get:28 http://ftpmaster.internal/ubuntu plucky/main amd64 at-spi2-common all 2.54.0-1 [8774 B] 1371s Get:29 http://ftpmaster.internal/ubuntu plucky/main amd64 libatk1.0-0t64 amd64 2.54.0-1 [55.1 kB] 1371s Get:30 http://ftpmaster.internal/ubuntu plucky/main amd64 libxi6 amd64 2:1.8.2-1 [32.4 kB] 1371s Get:31 http://ftpmaster.internal/ubuntu plucky/main amd64 libatspi2.0-0t64 amd64 2.54.0-1 [79.6 kB] 1371s Get:32 http://ftpmaster.internal/ubuntu plucky/main amd64 libatk-bridge2.0-0t64 amd64 2.54.0-1 [66.3 kB] 1371s Get:33 http://ftpmaster.internal/ubuntu plucky/main amd64 fonts-dejavu-mono all 2.37-8 [502 kB] 1371s Get:34 http://ftpmaster.internal/ubuntu plucky/main amd64 fonts-dejavu-core all 2.37-8 [835 kB] 1371s Get:35 http://ftpmaster.internal/ubuntu plucky/main amd64 fontconfig-config amd64 2.15.0-1.1ubuntu2 [37.3 kB] 1371s Get:36 http://ftpmaster.internal/ubuntu plucky/main amd64 libfontconfig1 amd64 2.15.0-1.1ubuntu2 [139 kB] 1371s Get:37 http://ftpmaster.internal/ubuntu plucky/main amd64 libpixman-1-0 amd64 0.44.0-2 [427 kB] 1371s Get:38 http://ftpmaster.internal/ubuntu plucky/main amd64 libxcb-render0 amd64 1.17.0-2 [16.2 kB] 1371s Get:39 http://ftpmaster.internal/ubuntu plucky/main amd64 libxcb-shm0 amd64 1.17.0-2 [5758 B] 1371s Get:40 http://ftpmaster.internal/ubuntu plucky/main amd64 libxrender1 amd64 1:0.9.10-1.1build1 [19.0 kB] 1371s Get:41 http://ftpmaster.internal/ubuntu plucky/main amd64 libcairo2 amd64 1.18.2-2 [569 kB] 1371s Get:42 http://ftpmaster.internal/ubuntu plucky/main amd64 libcairo-gobject2 amd64 1.18.2-2 [127 kB] 1371s Get:43 http://ftpmaster.internal/ubuntu plucky/main amd64 libcolord2 amd64 1.4.7-1build2 [149 kB] 1371s Get:44 http://ftpmaster.internal/ubuntu plucky/main amd64 libavahi-common-data amd64 0.8-13ubuntu6 [29.7 kB] 1371s Get:45 http://ftpmaster.internal/ubuntu plucky/main amd64 libavahi-common3 amd64 0.8-13ubuntu6 [23.3 kB] 1371s Get:46 http://ftpmaster.internal/ubuntu plucky/main amd64 libavahi-client3 amd64 0.8-13ubuntu6 [26.8 kB] 1371s Get:47 http://ftpmaster.internal/ubuntu plucky/main amd64 libcups2t64 amd64 2.4.10-1ubuntu2 [271 kB] 1371s Get:48 http://ftpmaster.internal/ubuntu plucky/main amd64 libepoxy0 amd64 1.5.10-2 [218 kB] 1371s Get:49 http://ftpmaster.internal/ubuntu plucky/main amd64 libgraphite2-3 amd64 1.3.14-2ubuntu1 [73.1 kB] 1371s Get:50 http://ftpmaster.internal/ubuntu plucky/main amd64 libharfbuzz0b amd64 10.0.1-1 [540 kB] 1371s Get:51 http://ftpmaster.internal/ubuntu plucky/main amd64 fontconfig amd64 2.15.0-1.1ubuntu2 [180 kB] 1371s Get:52 http://ftpmaster.internal/ubuntu plucky/main amd64 libthai-data all 0.1.29-2build1 [158 kB] 1371s Get:53 http://ftpmaster.internal/ubuntu plucky/main amd64 libdatrie1 amd64 0.2.13-3build1 [19.0 kB] 1371s Get:54 http://ftpmaster.internal/ubuntu plucky/main amd64 libthai0 amd64 0.1.29-2build1 [18.9 kB] 1371s Get:55 http://ftpmaster.internal/ubuntu plucky/main amd64 libpango-1.0-0 amd64 1.54.0+ds-3 [252 kB] 1371s Get:56 http://ftpmaster.internal/ubuntu plucky/main amd64 libpangoft2-1.0-0 amd64 1.54.0+ds-3 [51.6 kB] 1371s Get:57 http://ftpmaster.internal/ubuntu plucky/main amd64 libpangocairo-1.0-0 amd64 1.54.0+ds-3 [29.1 kB] 1371s Get:58 http://ftpmaster.internal/ubuntu plucky/main amd64 libwayland-client0 amd64 1.23.0-1 [27.1 kB] 1371s Get:59 http://ftpmaster.internal/ubuntu plucky/main amd64 libwayland-cursor0 amd64 1.23.0-1 [10.8 kB] 1371s Get:60 http://ftpmaster.internal/ubuntu plucky/main amd64 libwayland-egl1 amd64 1.23.0-1 [5662 B] 1371s Get:61 http://ftpmaster.internal/ubuntu plucky/main amd64 libxcomposite1 amd64 1:0.4.6-1 [6642 B] 1371s Get:62 http://ftpmaster.internal/ubuntu plucky/main amd64 libxfixes3 amd64 1:6.0.0-2build1 [10.8 kB] 1371s Get:63 http://ftpmaster.internal/ubuntu plucky/main amd64 libxcursor1 amd64 1:1.2.2-1 [20.9 kB] 1371s Get:64 http://ftpmaster.internal/ubuntu plucky/main amd64 libxdamage1 amd64 1:1.1.6-1build1 [6150 B] 1371s Get:65 http://ftpmaster.internal/ubuntu plucky/main amd64 libxinerama1 amd64 2:1.1.4-3build1 [6396 B] 1371s Get:66 http://ftpmaster.internal/ubuntu plucky/main amd64 libxrandr2 amd64 2:1.5.4-1 [19.6 kB] 1371s Get:67 http://ftpmaster.internal/ubuntu plucky/main amd64 libdconf1 amd64 0.40.0-4build2 [39.4 kB] 1371s Get:68 http://ftpmaster.internal/ubuntu plucky/main amd64 dconf-service amd64 0.40.0-4build2 [27.5 kB] 1371s Get:69 http://ftpmaster.internal/ubuntu plucky/main amd64 dconf-gsettings-backend amd64 0.40.0-4build2 [22.1 kB] 1371s Get:70 http://ftpmaster.internal/ubuntu plucky/main amd64 libgtk-3-common all 3.24.43-3ubuntu2 [1202 kB] 1371s Get:71 http://ftpmaster.internal/ubuntu plucky/main amd64 libgtk-3-0t64 amd64 3.24.43-3ubuntu2 [2927 kB] 1371s Get:72 http://ftpmaster.internal/ubuntu plucky/main amd64 libglvnd0 amd64 1.7.0-1build1 [69.6 kB] 1371s Get:73 http://ftpmaster.internal/ubuntu plucky/main amd64 libglapi-mesa amd64 24.2.3-1ubuntu1 [42.4 kB] 1371s Get:74 http://ftpmaster.internal/ubuntu plucky/main amd64 libx11-xcb1 amd64 2:1.8.10-2 [7944 B] 1371s Get:75 http://ftpmaster.internal/ubuntu plucky/main amd64 libxcb-dri2-0 amd64 1.17.0-2 [7222 B] 1371s Get:76 http://ftpmaster.internal/ubuntu plucky/main amd64 libxcb-dri3-0 amd64 1.17.0-2 [7508 B] 1371s Get:77 http://ftpmaster.internal/ubuntu plucky/main amd64 libxcb-glx0 amd64 1.17.0-2 [24.8 kB] 1371s Get:78 http://ftpmaster.internal/ubuntu plucky/main amd64 libxcb-present0 amd64 1.17.0-2 [6064 B] 1371s Get:79 http://ftpmaster.internal/ubuntu plucky/main amd64 libxcb-randr0 amd64 1.17.0-2 [17.9 kB] 1371s Get:80 http://ftpmaster.internal/ubuntu plucky/main amd64 libxcb-sync1 amd64 1.17.0-2 [9312 B] 1371s Get:81 http://ftpmaster.internal/ubuntu plucky/main amd64 libxcb-xfixes0 amd64 1.17.0-2 [10.2 kB] 1371s Get:82 http://ftpmaster.internal/ubuntu plucky/main amd64 libxshmfence1 amd64 1.3-1build5 [4764 B] 1371s Get:83 http://ftpmaster.internal/ubuntu plucky/main amd64 libxxf86vm1 amd64 1:1.1.4-1build4 [9282 B] 1371s Get:84 http://ftpmaster.internal/ubuntu plucky/main amd64 libdrm-amdgpu1 amd64 2.4.123-1 [21.7 kB] 1371s Get:85 http://ftpmaster.internal/ubuntu plucky/main amd64 libpciaccess0 amd64 0.17-3build1 [18.6 kB] 1371s Get:86 http://ftpmaster.internal/ubuntu plucky/main amd64 libdrm-intel1 amd64 2.4.123-1 [68.8 kB] 1371s Get:87 http://ftpmaster.internal/ubuntu plucky/main amd64 libdrm-radeon1 amd64 2.4.123-1 [25.3 kB] 1371s Get:88 http://ftpmaster.internal/ubuntu plucky/main amd64 mesa-libgallium amd64 24.2.3-1ubuntu1 [9904 kB] 1372s Get:89 http://ftpmaster.internal/ubuntu plucky/main amd64 libvulkan1 amd64 1.3.296.0-1 [143 kB] 1372s Get:90 http://ftpmaster.internal/ubuntu plucky/main amd64 libwayland-server0 amd64 1.23.0-1 [35.1 kB] 1372s Get:91 http://ftpmaster.internal/ubuntu plucky/main amd64 libgbm1 amd64 24.2.3-1ubuntu1 [32.0 kB] 1372s Get:92 http://ftpmaster.internal/ubuntu plucky/main amd64 libgl1-mesa-dri amd64 24.2.3-1ubuntu1 [34.4 kB] 1372s Get:93 http://ftpmaster.internal/ubuntu plucky/main amd64 libglx-mesa0 amd64 24.2.3-1ubuntu1 [153 kB] 1372s Get:94 http://ftpmaster.internal/ubuntu plucky/main amd64 libglx0 amd64 1.7.0-1build1 [38.6 kB] 1372s Get:95 http://ftpmaster.internal/ubuntu plucky/main amd64 libgl1 amd64 1.7.0-1build1 [102 kB] 1372s Get:96 http://ftpmaster.internal/ubuntu plucky/main amd64 libasound2-data all 1.2.12-1 [21.0 kB] 1372s Get:97 http://ftpmaster.internal/ubuntu plucky/main amd64 libasound2t64 amd64 1.2.12-1 [394 kB] 1372s Get:98 http://ftpmaster.internal/ubuntu plucky/main amd64 libgif7 amd64 5.2.2-1ubuntu1 [35.2 kB] 1372s Get:99 http://ftpmaster.internal/ubuntu plucky/main amd64 x11-common all 1:7.7+23ubuntu3 [21.7 kB] 1372s Get:100 http://ftpmaster.internal/ubuntu plucky/main amd64 libxtst6 amd64 2:1.2.3-1.1build1 [12.6 kB] 1372s Get:101 http://ftpmaster.internal/ubuntu plucky/main amd64 openjdk-21-jre amd64 21.0.5+11-1 [220 kB] 1372s Get:102 http://ftpmaster.internal/ubuntu plucky/main amd64 default-jre amd64 2:1.21-76 [918 B] 1372s Get:103 http://ftpmaster.internal/ubuntu plucky/universe amd64 libhamcrest-java all 2.2-2 [117 kB] 1372s Get:104 http://ftpmaster.internal/ubuntu plucky/universe amd64 junit4 all 4.13.2-4 [347 kB] 1372s Get:105 http://ftpmaster.internal/ubuntu plucky/universe amd64 libcommons-cli-java all 1.6.0-1 [59.9 kB] 1372s Get:106 http://ftpmaster.internal/ubuntu plucky/universe amd64 libapache-pom-java all 33-2 [5874 B] 1372s Get:107 http://ftpmaster.internal/ubuntu plucky/universe amd64 libcommons-parent-java all 56-1 [10.7 kB] 1372s Get:108 http://ftpmaster.internal/ubuntu plucky/universe amd64 libcommons-io-java all 2.17.0-1 [457 kB] 1372s Get:109 http://ftpmaster.internal/ubuntu plucky/universe amd64 libdropwizard-metrics-java all 3.2.6-1 [240 kB] 1372s Get:110 http://ftpmaster.internal/ubuntu plucky/universe amd64 libfindbugs-annotations-java all 3.1.0~preview2-4 [48.9 kB] 1372s Get:111 http://ftpmaster.internal/ubuntu plucky/universe amd64 libatinject-jsr330-api-java all 1.0+ds1-5 [5348 B] 1372s Get:112 http://ftpmaster.internal/ubuntu plucky/universe amd64 liberror-prone-java all 2.18.0-1 [22.5 kB] 1372s Get:113 http://ftpmaster.internal/ubuntu plucky/universe amd64 libjsr305-java all 0.1~+svn49-11 [27.0 kB] 1372s Get:114 http://ftpmaster.internal/ubuntu plucky/universe amd64 libguava-java all 32.0.1-1 [2692 kB] 1372s Get:115 http://ftpmaster.internal/ubuntu plucky/universe amd64 libjackson2-annotations-java all 2.14.0-1 [64.7 kB] 1372s Get:116 http://ftpmaster.internal/ubuntu plucky/universe amd64 libjackson2-core-java all 2.14.1-1 [432 kB] 1372s Get:117 http://ftpmaster.internal/ubuntu plucky/universe amd64 libjackson2-databind-java all 2.14.0-1 [1531 kB] 1373s Get:118 http://ftpmaster.internal/ubuntu plucky/universe amd64 libasm-java all 9.7-2 [386 kB] 1373s Get:119 http://ftpmaster.internal/ubuntu plucky/universe amd64 libel-api-java all 3.0.0-3 [64.9 kB] 1373s Get:120 http://ftpmaster.internal/ubuntu plucky/universe amd64 libjsp-api-java all 2.3.4-3 [53.7 kB] 1373s Get:121 http://ftpmaster.internal/ubuntu plucky/universe amd64 libservlet-api-java all 4.0.1-2 [81.0 kB] 1373s Get:122 http://ftpmaster.internal/ubuntu plucky/universe amd64 libwebsocket-api-java all 1.1-2 [40.1 kB] 1373s Get:123 http://ftpmaster.internal/ubuntu plucky/universe amd64 libjetty9-java all 9.4.56-1 [2790 kB] 1373s Get:124 http://ftpmaster.internal/ubuntu plucky/universe amd64 libjnr-constants-java all 0.10.4-2 [1397 kB] 1373s Get:125 http://ftpmaster.internal/ubuntu plucky/universe amd64 libjffi-jni amd64 1.3.13+ds-1 [27.3 kB] 1373s Get:126 http://ftpmaster.internal/ubuntu plucky/universe amd64 libjffi-java all 1.3.13+ds-1 [112 kB] 1373s Get:127 http://ftpmaster.internal/ubuntu plucky/universe amd64 libjnr-x86asm-java all 1.0.2-5.1 [207 kB] 1373s Get:128 http://ftpmaster.internal/ubuntu plucky/universe amd64 libjnr-ffi-java all 2.2.15-2 [627 kB] 1373s Get:129 http://ftpmaster.internal/ubuntu plucky/universe amd64 libjnr-enxio-java all 0.32.16-1 [33.7 kB] 1373s Get:130 http://ftpmaster.internal/ubuntu plucky/universe amd64 libjnr-posix-java all 3.1.18-1 [267 kB] 1373s Get:131 http://ftpmaster.internal/ubuntu plucky/universe amd64 libjnr-unixsocket-java all 0.38.21-2 [46.9 kB] 1373s Get:132 http://ftpmaster.internal/ubuntu plucky/universe amd64 libactivation-java all 1.2.0-2 [84.7 kB] 1373s Get:133 http://ftpmaster.internal/ubuntu plucky/universe amd64 libmail-java all 1.6.5-3 [681 kB] 1373s Get:134 http://ftpmaster.internal/ubuntu plucky/universe amd64 libcommons-logging-java all 1.3.0-1ubuntu1 [63.8 kB] 1373s Get:135 http://ftpmaster.internal/ubuntu plucky/universe amd64 libjaxb-api-java all 2.3.1-1 [119 kB] 1373s Get:136 http://ftpmaster.internal/ubuntu plucky/universe amd64 libspring-core-java all 4.3.30-2 [1015 kB] 1373s Get:137 http://ftpmaster.internal/ubuntu plucky/universe amd64 libspring-beans-java all 4.3.30-2 [675 kB] 1373s Get:138 http://ftpmaster.internal/ubuntu plucky/universe amd64 libtaglibs-standard-spec-java all 1.2.5-3 [35.2 kB] 1373s Get:139 http://ftpmaster.internal/ubuntu plucky/universe amd64 libtaglibs-standard-impl-java all 1.2.5-3 [182 kB] 1373s Get:140 http://ftpmaster.internal/ubuntu plucky/universe amd64 libeclipse-jdt-core-compiler-batch-java all 3.35.0+eclipse4.29-2 [2933 kB] 1373s Get:141 http://ftpmaster.internal/ubuntu plucky/universe amd64 libeclipse-jdt-core-java all 3.35.0+eclipse4.29-2 [3831 kB] 1373s Get:142 http://ftpmaster.internal/ubuntu plucky/universe amd64 libtomcat9-java all 9.0.70-2ubuntu1.1 [6161 kB] 1373s Get:143 http://ftpmaster.internal/ubuntu plucky/universe amd64 libjetty9-extra-java all 9.4.56-1 [1199 kB] 1373s Get:144 http://ftpmaster.internal/ubuntu plucky/universe amd64 libjctools-java all 2.0.2-1 [188 kB] 1373s Get:145 http://ftpmaster.internal/ubuntu plucky/universe amd64 libnetty-java all 1:4.1.48-10 [3628 kB] 1373s Get:146 http://ftpmaster.internal/ubuntu plucky/universe amd64 libslf4j-java all 1.7.32-1 [141 kB] 1373s Get:147 http://ftpmaster.internal/ubuntu plucky/main amd64 libsnappy1v5 amd64 1.2.1-1 [30.4 kB] 1373s Get:148 http://ftpmaster.internal/ubuntu plucky/universe amd64 libsnappy-jni amd64 1.1.10.5-2 [6622 B] 1373s Get:149 http://ftpmaster.internal/ubuntu plucky/universe amd64 libsnappy-java all 1.1.10.5-2 [83.7 kB] 1373s Get:150 http://ftpmaster.internal/ubuntu plucky/main amd64 libapr1t64 amd64 1.7.2-3.2ubuntu1 [108 kB] 1373s Get:151 http://ftpmaster.internal/ubuntu plucky/universe amd64 libnetty-tcnative-jni amd64 2.0.28-1build4 [35.7 kB] 1373s Get:152 http://ftpmaster.internal/ubuntu plucky/universe amd64 libnetty-tcnative-java all 2.0.28-1build4 [24.8 kB] 1373s Get:153 http://ftpmaster.internal/ubuntu plucky/universe amd64 liblog4j1.2-java all 1.2.17-11 [439 kB] 1373s Get:154 http://ftpmaster.internal/ubuntu plucky/universe amd64 libzookeeper-java all 3.9.2-2 [1885 kB] 1373s Get:155 http://ftpmaster.internal/ubuntu plucky/universe amd64 zookeeper all 3.9.2-2 [57.8 kB] 1373s Get:156 http://ftpmaster.internal/ubuntu plucky/universe amd64 zookeeperd all 3.9.2-2 [6036 B] 1373s Get:157 http://ftpmaster.internal/ubuntu plucky/main amd64 fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 1373s Get:158 http://ftpmaster.internal/ubuntu plucky/main amd64 libcares2 amd64 1.34.2-1 [104 kB] 1373s Get:159 http://ftpmaster.internal/ubuntu plucky/universe amd64 libev4t64 amd64 1:4.33-2.1build1 [31.0 kB] 1373s Get:160 http://ftpmaster.internal/ubuntu plucky/main amd64 libio-pty-perl amd64 1:1.20-1build3 [31.4 kB] 1373s Get:161 http://ftpmaster.internal/ubuntu plucky/main amd64 libipc-run-perl all 20231003.0-2 [91.5 kB] 1373s Get:162 http://ftpmaster.internal/ubuntu plucky/main amd64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 1373s Get:163 http://ftpmaster.internal/ubuntu plucky/main amd64 libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 1373s Get:164 http://ftpmaster.internal/ubuntu plucky/main amd64 libjs-sphinxdoc all 7.4.7-4 [158 kB] 1373s Get:165 http://ftpmaster.internal/ubuntu plucky/main amd64 libpq5 amd64 17.0-1 [249 kB] 1373s Get:166 http://ftpmaster.internal/ubuntu plucky/main amd64 libtime-duration-perl all 1.21-2 [12.3 kB] 1373s Get:167 http://ftpmaster.internal/ubuntu plucky/main amd64 libtimedate-perl all 2.3300-2 [34.0 kB] 1373s Get:168 http://ftpmaster.internal/ubuntu plucky/main amd64 libxslt1.1 amd64 1.1.39-0exp1ubuntu1 [169 kB] 1373s Get:169 http://ftpmaster.internal/ubuntu plucky/universe amd64 moreutils amd64 0.69-1 [56.4 kB] 1373s Get:170 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-ydiff all 1.3-1 [18.4 kB] 1373s Get:171 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-cdiff all 1.3-1 [1770 B] 1373s Get:172 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-colorama all 0.4.6-4 [32.1 kB] 1374s Get:173 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-click all 8.1.7-2 [79.5 kB] 1374s Get:174 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-six all 1.16.0-7 [13.1 kB] 1374s Get:175 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-dateutil all 2.9.0-2 [80.3 kB] 1374s Get:176 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 1374s Get:177 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-prettytable all 3.10.1-1 [34.0 kB] 1374s Get:178 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-psutil amd64 5.9.8-2build2 [195 kB] 1374s Get:179 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-psycopg2 amd64 2.9.9-2 [132 kB] 1374s Get:180 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-greenlet amd64 3.0.3-0ubuntu6 [155 kB] 1374s Get:181 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-dnspython all 2.6.1-1ubuntu1 [163 kB] 1374s Get:182 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-eventlet all 0.36.1-0ubuntu1 [274 kB] 1374s Get:183 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-zope.event all 5.0-0.1 [7512 B] 1374s Get:184 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-zope.interface amd64 7.1.1-1 [141 kB] 1374s Get:185 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-gevent amd64 24.2.1-1 [805 kB] 1374s Get:186 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-kerberos amd64 1.1.14-3.1build9 [21.2 kB] 1374s Get:187 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-pure-sasl all 0.5.1+dfsg1-4 [11.4 kB] 1374s Get:188 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-kazoo all 2.9.0-2 [103 kB] 1374s Get:189 http://ftpmaster.internal/ubuntu plucky/universe amd64 patroni all 3.3.1-1 [264 kB] 1374s Get:190 http://ftpmaster.internal/ubuntu plucky/main amd64 sphinx-rtd-theme-common all 3.0.1+dfsg-1 [1012 kB] 1374s Get:191 http://ftpmaster.internal/ubuntu plucky/universe amd64 patroni-doc all 3.3.1-1 [497 kB] 1374s Get:192 http://ftpmaster.internal/ubuntu plucky/main amd64 postgresql-client-16 amd64 16.4-3 [1278 kB] 1374s Get:193 http://ftpmaster.internal/ubuntu plucky/main amd64 postgresql-16 amd64 16.4-3 [15.2 MB] 1374s Get:194 http://ftpmaster.internal/ubuntu plucky/main amd64 postgresql all 16+262 [11.8 kB] 1374s Get:195 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-parse all 1.20.2-1 [27.0 kB] 1374s Get:196 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-parse-type all 0.6.4-1 [23.4 kB] 1374s Get:197 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-behave all 1.2.6-6 [98.6 kB] 1374s Get:198 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-coverage amd64 7.4.4+dfsg1-0ubuntu2 [147 kB] 1375s Preconfiguring packages ... 1375s Fetched 132 MB in 6s (22.9 MB/s) 1375s Selecting previously unselected package fonts-lato. 1375s (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 ... 75552 files and directories currently installed.) 1375s Preparing to unpack .../000-fonts-lato_2.015-1_all.deb ... 1375s Unpacking fonts-lato (2.015-1) ... 1375s Selecting previously unselected package libjson-perl. 1375s Preparing to unpack .../001-libjson-perl_4.10000-1_all.deb ... 1375s Unpacking libjson-perl (4.10000-1) ... 1375s Selecting previously unselected package postgresql-client-common. 1375s Preparing to unpack .../002-postgresql-client-common_262_all.deb ... 1375s Unpacking postgresql-client-common (262) ... 1375s Selecting previously unselected package ssl-cert. 1375s Preparing to unpack .../003-ssl-cert_1.1.2ubuntu2_all.deb ... 1375s Unpacking ssl-cert (1.1.2ubuntu2) ... 1375s Selecting previously unselected package postgresql-common. 1375s Preparing to unpack .../004-postgresql-common_262_all.deb ... 1375s Adding 'diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common' 1375s Unpacking postgresql-common (262) ... 1375s Selecting previously unselected package ca-certificates-java. 1375s Preparing to unpack .../005-ca-certificates-java_20240118_all.deb ... 1375s Unpacking ca-certificates-java (20240118) ... 1375s Selecting previously unselected package java-common. 1375s Preparing to unpack .../006-java-common_0.76_all.deb ... 1375s Unpacking java-common (0.76) ... 1376s Selecting previously unselected package liblcms2-2:amd64. 1376s Preparing to unpack .../007-liblcms2-2_2.16-2_amd64.deb ... 1376s Unpacking liblcms2-2:amd64 (2.16-2) ... 1376s Selecting previously unselected package libjpeg-turbo8:amd64. 1376s Preparing to unpack .../008-libjpeg-turbo8_2.1.5-2ubuntu2_amd64.deb ... 1376s Unpacking libjpeg-turbo8:amd64 (2.1.5-2ubuntu2) ... 1376s Selecting previously unselected package libjpeg8:amd64. 1376s Preparing to unpack .../009-libjpeg8_8c-2ubuntu11_amd64.deb ... 1376s Unpacking libjpeg8:amd64 (8c-2ubuntu11) ... 1376s Selecting previously unselected package libpcsclite1:amd64. 1376s Preparing to unpack .../010-libpcsclite1_2.3.0-1_amd64.deb ... 1376s Unpacking libpcsclite1:amd64 (2.3.0-1) ... 1376s Selecting previously unselected package openjdk-21-jre-headless:amd64. 1376s Preparing to unpack .../011-openjdk-21-jre-headless_21.0.5+11-1_amd64.deb ... 1376s Unpacking openjdk-21-jre-headless:amd64 (21.0.5+11-1) ... 1376s Selecting previously unselected package default-jre-headless. 1376s Preparing to unpack .../012-default-jre-headless_2%3a1.21-76_amd64.deb ... 1376s Unpacking default-jre-headless (2:1.21-76) ... 1376s Selecting previously unselected package libgdk-pixbuf2.0-common. 1376s Preparing to unpack .../013-libgdk-pixbuf2.0-common_2.42.12+dfsg-1_all.deb ... 1376s Unpacking libgdk-pixbuf2.0-common (2.42.12+dfsg-1) ... 1376s Selecting previously unselected package libdeflate0:amd64. 1376s Preparing to unpack .../014-libdeflate0_1.22-1_amd64.deb ... 1376s Unpacking libdeflate0:amd64 (1.22-1) ... 1376s Selecting previously unselected package libjbig0:amd64. 1376s Preparing to unpack .../015-libjbig0_2.1-6.1ubuntu2_amd64.deb ... 1376s Unpacking libjbig0:amd64 (2.1-6.1ubuntu2) ... 1376s Selecting previously unselected package liblerc4:amd64. 1376s Preparing to unpack .../016-liblerc4_4.0.0+ds-4ubuntu2_amd64.deb ... 1376s Unpacking liblerc4:amd64 (4.0.0+ds-4ubuntu2) ... 1376s Selecting previously unselected package libsharpyuv0:amd64. 1376s Preparing to unpack .../017-libsharpyuv0_1.4.0-0.1_amd64.deb ... 1376s Unpacking libsharpyuv0:amd64 (1.4.0-0.1) ... 1376s Selecting previously unselected package libwebp7:amd64. 1377s Preparing to unpack .../018-libwebp7_1.4.0-0.1_amd64.deb ... 1377s Unpacking libwebp7:amd64 (1.4.0-0.1) ... 1377s Selecting previously unselected package libtiff6:amd64. 1377s Preparing to unpack .../019-libtiff6_4.5.1+git230720-4ubuntu4_amd64.deb ... 1377s Unpacking libtiff6:amd64 (4.5.1+git230720-4ubuntu4) ... 1377s Selecting previously unselected package libgdk-pixbuf-2.0-0:amd64. 1377s Preparing to unpack .../020-libgdk-pixbuf-2.0-0_2.42.12+dfsg-1_amd64.deb ... 1377s Unpacking libgdk-pixbuf-2.0-0:amd64 (2.42.12+dfsg-1) ... 1377s Selecting previously unselected package gtk-update-icon-cache. 1377s Preparing to unpack .../021-gtk-update-icon-cache_4.16.5+ds-1_amd64.deb ... 1377s No diversion 'diversion of /usr/sbin/update-icon-caches to /usr/sbin/update-icon-caches.gtk2 by libgtk-3-bin', none removed. 1377s 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. 1377s Unpacking gtk-update-icon-cache (4.16.5+ds-1) ... 1377s Selecting previously unselected package hicolor-icon-theme. 1377s Preparing to unpack .../022-hicolor-icon-theme_0.18-1_all.deb ... 1377s Unpacking hicolor-icon-theme (0.18-1) ... 1377s Selecting previously unselected package humanity-icon-theme. 1377s Preparing to unpack .../023-humanity-icon-theme_0.6.16_all.deb ... 1377s Unpacking humanity-icon-theme (0.6.16) ... 1377s Selecting previously unselected package ubuntu-mono. 1377s Preparing to unpack .../024-ubuntu-mono_24.04-0ubuntu1_all.deb ... 1377s Unpacking ubuntu-mono (24.04-0ubuntu1) ... 1378s Selecting previously unselected package adwaita-icon-theme. 1378s Preparing to unpack .../025-adwaita-icon-theme_47.0-2_all.deb ... 1378s Unpacking adwaita-icon-theme (47.0-2) ... 1378s Selecting previously unselected package at-spi2-common. 1378s Preparing to unpack .../026-at-spi2-common_2.54.0-1_all.deb ... 1378s Unpacking at-spi2-common (2.54.0-1) ... 1378s Selecting previously unselected package libatk1.0-0t64:amd64. 1378s Preparing to unpack .../027-libatk1.0-0t64_2.54.0-1_amd64.deb ... 1378s Unpacking libatk1.0-0t64:amd64 (2.54.0-1) ... 1378s Selecting previously unselected package libxi6:amd64. 1378s Preparing to unpack .../028-libxi6_2%3a1.8.2-1_amd64.deb ... 1378s Unpacking libxi6:amd64 (2:1.8.2-1) ... 1378s Selecting previously unselected package libatspi2.0-0t64:amd64. 1378s Preparing to unpack .../029-libatspi2.0-0t64_2.54.0-1_amd64.deb ... 1378s Unpacking libatspi2.0-0t64:amd64 (2.54.0-1) ... 1378s Selecting previously unselected package libatk-bridge2.0-0t64:amd64. 1378s Preparing to unpack .../030-libatk-bridge2.0-0t64_2.54.0-1_amd64.deb ... 1378s Unpacking libatk-bridge2.0-0t64:amd64 (2.54.0-1) ... 1378s Selecting previously unselected package fonts-dejavu-mono. 1378s Preparing to unpack .../031-fonts-dejavu-mono_2.37-8_all.deb ... 1378s Unpacking fonts-dejavu-mono (2.37-8) ... 1378s Selecting previously unselected package fonts-dejavu-core. 1378s Preparing to unpack .../032-fonts-dejavu-core_2.37-8_all.deb ... 1378s Unpacking fonts-dejavu-core (2.37-8) ... 1378s Selecting previously unselected package fontconfig-config. 1378s Preparing to unpack .../033-fontconfig-config_2.15.0-1.1ubuntu2_amd64.deb ... 1378s Unpacking fontconfig-config (2.15.0-1.1ubuntu2) ... 1378s Selecting previously unselected package libfontconfig1:amd64. 1378s Preparing to unpack .../034-libfontconfig1_2.15.0-1.1ubuntu2_amd64.deb ... 1378s Unpacking libfontconfig1:amd64 (2.15.0-1.1ubuntu2) ... 1378s Selecting previously unselected package libpixman-1-0:amd64. 1378s Preparing to unpack .../035-libpixman-1-0_0.44.0-2_amd64.deb ... 1378s Unpacking libpixman-1-0:amd64 (0.44.0-2) ... 1378s Selecting previously unselected package libxcb-render0:amd64. 1378s Preparing to unpack .../036-libxcb-render0_1.17.0-2_amd64.deb ... 1378s Unpacking libxcb-render0:amd64 (1.17.0-2) ... 1379s Selecting previously unselected package libxcb-shm0:amd64. 1379s Preparing to unpack .../037-libxcb-shm0_1.17.0-2_amd64.deb ... 1379s Unpacking libxcb-shm0:amd64 (1.17.0-2) ... 1379s Selecting previously unselected package libxrender1:amd64. 1379s Preparing to unpack .../038-libxrender1_1%3a0.9.10-1.1build1_amd64.deb ... 1379s Unpacking libxrender1:amd64 (1:0.9.10-1.1build1) ... 1379s Selecting previously unselected package libcairo2:amd64. 1379s Preparing to unpack .../039-libcairo2_1.18.2-2_amd64.deb ... 1379s Unpacking libcairo2:amd64 (1.18.2-2) ... 1379s Selecting previously unselected package libcairo-gobject2:amd64. 1379s Preparing to unpack .../040-libcairo-gobject2_1.18.2-2_amd64.deb ... 1379s Unpacking libcairo-gobject2:amd64 (1.18.2-2) ... 1379s Selecting previously unselected package libcolord2:amd64. 1379s Preparing to unpack .../041-libcolord2_1.4.7-1build2_amd64.deb ... 1379s Unpacking libcolord2:amd64 (1.4.7-1build2) ... 1379s Selecting previously unselected package libavahi-common-data:amd64. 1379s Preparing to unpack .../042-libavahi-common-data_0.8-13ubuntu6_amd64.deb ... 1379s Unpacking libavahi-common-data:amd64 (0.8-13ubuntu6) ... 1379s Selecting previously unselected package libavahi-common3:amd64. 1379s Preparing to unpack .../043-libavahi-common3_0.8-13ubuntu6_amd64.deb ... 1379s Unpacking libavahi-common3:amd64 (0.8-13ubuntu6) ... 1379s Selecting previously unselected package libavahi-client3:amd64. 1379s Preparing to unpack .../044-libavahi-client3_0.8-13ubuntu6_amd64.deb ... 1379s Unpacking libavahi-client3:amd64 (0.8-13ubuntu6) ... 1379s Selecting previously unselected package libcups2t64:amd64. 1379s Preparing to unpack .../045-libcups2t64_2.4.10-1ubuntu2_amd64.deb ... 1379s Unpacking libcups2t64:amd64 (2.4.10-1ubuntu2) ... 1379s Selecting previously unselected package libepoxy0:amd64. 1379s Preparing to unpack .../046-libepoxy0_1.5.10-2_amd64.deb ... 1379s Unpacking libepoxy0:amd64 (1.5.10-2) ... 1379s Selecting previously unselected package libgraphite2-3:amd64. 1379s Preparing to unpack .../047-libgraphite2-3_1.3.14-2ubuntu1_amd64.deb ... 1379s Unpacking libgraphite2-3:amd64 (1.3.14-2ubuntu1) ... 1379s Selecting previously unselected package libharfbuzz0b:amd64. 1379s Preparing to unpack .../048-libharfbuzz0b_10.0.1-1_amd64.deb ... 1379s Unpacking libharfbuzz0b:amd64 (10.0.1-1) ... 1379s Selecting previously unselected package fontconfig. 1379s Preparing to unpack .../049-fontconfig_2.15.0-1.1ubuntu2_amd64.deb ... 1379s Unpacking fontconfig (2.15.0-1.1ubuntu2) ... 1379s Selecting previously unselected package libthai-data. 1379s Preparing to unpack .../050-libthai-data_0.1.29-2build1_all.deb ... 1379s Unpacking libthai-data (0.1.29-2build1) ... 1379s Selecting previously unselected package libdatrie1:amd64. 1379s Preparing to unpack .../051-libdatrie1_0.2.13-3build1_amd64.deb ... 1379s Unpacking libdatrie1:amd64 (0.2.13-3build1) ... 1379s Selecting previously unselected package libthai0:amd64. 1379s Preparing to unpack .../052-libthai0_0.1.29-2build1_amd64.deb ... 1379s Unpacking libthai0:amd64 (0.1.29-2build1) ... 1379s Selecting previously unselected package libpango-1.0-0:amd64. 1379s Preparing to unpack .../053-libpango-1.0-0_1.54.0+ds-3_amd64.deb ... 1379s Unpacking libpango-1.0-0:amd64 (1.54.0+ds-3) ... 1379s Selecting previously unselected package libpangoft2-1.0-0:amd64. 1379s Preparing to unpack .../054-libpangoft2-1.0-0_1.54.0+ds-3_amd64.deb ... 1379s Unpacking libpangoft2-1.0-0:amd64 (1.54.0+ds-3) ... 1379s Selecting previously unselected package libpangocairo-1.0-0:amd64. 1379s Preparing to unpack .../055-libpangocairo-1.0-0_1.54.0+ds-3_amd64.deb ... 1379s Unpacking libpangocairo-1.0-0:amd64 (1.54.0+ds-3) ... 1379s Selecting previously unselected package libwayland-client0:amd64. 1379s Preparing to unpack .../056-libwayland-client0_1.23.0-1_amd64.deb ... 1379s Unpacking libwayland-client0:amd64 (1.23.0-1) ... 1379s Selecting previously unselected package libwayland-cursor0:amd64. 1379s Preparing to unpack .../057-libwayland-cursor0_1.23.0-1_amd64.deb ... 1379s Unpacking libwayland-cursor0:amd64 (1.23.0-1) ... 1379s Selecting previously unselected package libwayland-egl1:amd64. 1379s Preparing to unpack .../058-libwayland-egl1_1.23.0-1_amd64.deb ... 1379s Unpacking libwayland-egl1:amd64 (1.23.0-1) ... 1379s Selecting previously unselected package libxcomposite1:amd64. 1379s Preparing to unpack .../059-libxcomposite1_1%3a0.4.6-1_amd64.deb ... 1379s Unpacking libxcomposite1:amd64 (1:0.4.6-1) ... 1379s Selecting previously unselected package libxfixes3:amd64. 1379s Preparing to unpack .../060-libxfixes3_1%3a6.0.0-2build1_amd64.deb ... 1379s Unpacking libxfixes3:amd64 (1:6.0.0-2build1) ... 1379s Selecting previously unselected package libxcursor1:amd64. 1379s Preparing to unpack .../061-libxcursor1_1%3a1.2.2-1_amd64.deb ... 1379s Unpacking libxcursor1:amd64 (1:1.2.2-1) ... 1379s Selecting previously unselected package libxdamage1:amd64. 1379s Preparing to unpack .../062-libxdamage1_1%3a1.1.6-1build1_amd64.deb ... 1379s Unpacking libxdamage1:amd64 (1:1.1.6-1build1) ... 1379s Selecting previously unselected package libxinerama1:amd64. 1379s Preparing to unpack .../063-libxinerama1_2%3a1.1.4-3build1_amd64.deb ... 1379s Unpacking libxinerama1:amd64 (2:1.1.4-3build1) ... 1379s Selecting previously unselected package libxrandr2:amd64. 1379s Preparing to unpack .../064-libxrandr2_2%3a1.5.4-1_amd64.deb ... 1379s Unpacking libxrandr2:amd64 (2:1.5.4-1) ... 1379s Selecting previously unselected package libdconf1:amd64. 1379s Preparing to unpack .../065-libdconf1_0.40.0-4build2_amd64.deb ... 1379s Unpacking libdconf1:amd64 (0.40.0-4build2) ... 1379s Selecting previously unselected package dconf-service. 1379s Preparing to unpack .../066-dconf-service_0.40.0-4build2_amd64.deb ... 1379s Unpacking dconf-service (0.40.0-4build2) ... 1379s Selecting previously unselected package dconf-gsettings-backend:amd64. 1379s Preparing to unpack .../067-dconf-gsettings-backend_0.40.0-4build2_amd64.deb ... 1379s Unpacking dconf-gsettings-backend:amd64 (0.40.0-4build2) ... 1379s Selecting previously unselected package libgtk-3-common. 1379s Preparing to unpack .../068-libgtk-3-common_3.24.43-3ubuntu2_all.deb ... 1379s Unpacking libgtk-3-common (3.24.43-3ubuntu2) ... 1379s Selecting previously unselected package libgtk-3-0t64:amd64. 1379s Preparing to unpack .../069-libgtk-3-0t64_3.24.43-3ubuntu2_amd64.deb ... 1379s Unpacking libgtk-3-0t64:amd64 (3.24.43-3ubuntu2) ... 1380s Selecting previously unselected package libglvnd0:amd64. 1380s Preparing to unpack .../070-libglvnd0_1.7.0-1build1_amd64.deb ... 1380s Unpacking libglvnd0:amd64 (1.7.0-1build1) ... 1380s Selecting previously unselected package libglapi-mesa:amd64. 1380s Preparing to unpack .../071-libglapi-mesa_24.2.3-1ubuntu1_amd64.deb ... 1380s Unpacking libglapi-mesa:amd64 (24.2.3-1ubuntu1) ... 1380s Selecting previously unselected package libx11-xcb1:amd64. 1380s Preparing to unpack .../072-libx11-xcb1_2%3a1.8.10-2_amd64.deb ... 1380s Unpacking libx11-xcb1:amd64 (2:1.8.10-2) ... 1380s Selecting previously unselected package libxcb-dri2-0:amd64. 1380s Preparing to unpack .../073-libxcb-dri2-0_1.17.0-2_amd64.deb ... 1380s Unpacking libxcb-dri2-0:amd64 (1.17.0-2) ... 1380s Selecting previously unselected package libxcb-dri3-0:amd64. 1380s Preparing to unpack .../074-libxcb-dri3-0_1.17.0-2_amd64.deb ... 1380s Unpacking libxcb-dri3-0:amd64 (1.17.0-2) ... 1380s Selecting previously unselected package libxcb-glx0:amd64. 1380s Preparing to unpack .../075-libxcb-glx0_1.17.0-2_amd64.deb ... 1380s Unpacking libxcb-glx0:amd64 (1.17.0-2) ... 1380s Selecting previously unselected package libxcb-present0:amd64. 1380s Preparing to unpack .../076-libxcb-present0_1.17.0-2_amd64.deb ... 1380s Unpacking libxcb-present0:amd64 (1.17.0-2) ... 1380s Selecting previously unselected package libxcb-randr0:amd64. 1380s Preparing to unpack .../077-libxcb-randr0_1.17.0-2_amd64.deb ... 1380s Unpacking libxcb-randr0:amd64 (1.17.0-2) ... 1380s Selecting previously unselected package libxcb-sync1:amd64. 1380s Preparing to unpack .../078-libxcb-sync1_1.17.0-2_amd64.deb ... 1380s Unpacking libxcb-sync1:amd64 (1.17.0-2) ... 1380s Selecting previously unselected package libxcb-xfixes0:amd64. 1380s Preparing to unpack .../079-libxcb-xfixes0_1.17.0-2_amd64.deb ... 1380s Unpacking libxcb-xfixes0:amd64 (1.17.0-2) ... 1380s Selecting previously unselected package libxshmfence1:amd64. 1380s Preparing to unpack .../080-libxshmfence1_1.3-1build5_amd64.deb ... 1380s Unpacking libxshmfence1:amd64 (1.3-1build5) ... 1380s Selecting previously unselected package libxxf86vm1:amd64. 1380s Preparing to unpack .../081-libxxf86vm1_1%3a1.1.4-1build4_amd64.deb ... 1380s Unpacking libxxf86vm1:amd64 (1:1.1.4-1build4) ... 1380s Selecting previously unselected package libdrm-amdgpu1:amd64. 1380s Preparing to unpack .../082-libdrm-amdgpu1_2.4.123-1_amd64.deb ... 1380s Unpacking libdrm-amdgpu1:amd64 (2.4.123-1) ... 1380s Selecting previously unselected package libpciaccess0:amd64. 1380s Preparing to unpack .../083-libpciaccess0_0.17-3build1_amd64.deb ... 1380s Unpacking libpciaccess0:amd64 (0.17-3build1) ... 1380s Selecting previously unselected package libdrm-intel1:amd64. 1380s Preparing to unpack .../084-libdrm-intel1_2.4.123-1_amd64.deb ... 1380s Unpacking libdrm-intel1:amd64 (2.4.123-1) ... 1380s Selecting previously unselected package libdrm-radeon1:amd64. 1380s Preparing to unpack .../085-libdrm-radeon1_2.4.123-1_amd64.deb ... 1380s Unpacking libdrm-radeon1:amd64 (2.4.123-1) ... 1380s Selecting previously unselected package mesa-libgallium:amd64. 1380s Preparing to unpack .../086-mesa-libgallium_24.2.3-1ubuntu1_amd64.deb ... 1380s Unpacking mesa-libgallium:amd64 (24.2.3-1ubuntu1) ... 1380s Selecting previously unselected package libvulkan1:amd64. 1380s Preparing to unpack .../087-libvulkan1_1.3.296.0-1_amd64.deb ... 1380s Unpacking libvulkan1:amd64 (1.3.296.0-1) ... 1380s Selecting previously unselected package libwayland-server0:amd64. 1380s Preparing to unpack .../088-libwayland-server0_1.23.0-1_amd64.deb ... 1380s Unpacking libwayland-server0:amd64 (1.23.0-1) ... 1380s Selecting previously unselected package libgbm1:amd64. 1380s Preparing to unpack .../089-libgbm1_24.2.3-1ubuntu1_amd64.deb ... 1380s Unpacking libgbm1:amd64 (24.2.3-1ubuntu1) ... 1380s Selecting previously unselected package libgl1-mesa-dri:amd64. 1380s Preparing to unpack .../090-libgl1-mesa-dri_24.2.3-1ubuntu1_amd64.deb ... 1380s Unpacking libgl1-mesa-dri:amd64 (24.2.3-1ubuntu1) ... 1380s Selecting previously unselected package libglx-mesa0:amd64. 1380s Preparing to unpack .../091-libglx-mesa0_24.2.3-1ubuntu1_amd64.deb ... 1380s Unpacking libglx-mesa0:amd64 (24.2.3-1ubuntu1) ... 1380s Selecting previously unselected package libglx0:amd64. 1380s Preparing to unpack .../092-libglx0_1.7.0-1build1_amd64.deb ... 1380s Unpacking libglx0:amd64 (1.7.0-1build1) ... 1380s Selecting previously unselected package libgl1:amd64. 1380s Preparing to unpack .../093-libgl1_1.7.0-1build1_amd64.deb ... 1380s Unpacking libgl1:amd64 (1.7.0-1build1) ... 1380s Selecting previously unselected package libasound2-data. 1380s Preparing to unpack .../094-libasound2-data_1.2.12-1_all.deb ... 1380s Unpacking libasound2-data (1.2.12-1) ... 1380s Selecting previously unselected package libasound2t64:amd64. 1380s Preparing to unpack .../095-libasound2t64_1.2.12-1_amd64.deb ... 1380s Unpacking libasound2t64:amd64 (1.2.12-1) ... 1380s Selecting previously unselected package libgif7:amd64. 1380s Preparing to unpack .../096-libgif7_5.2.2-1ubuntu1_amd64.deb ... 1380s Unpacking libgif7:amd64 (5.2.2-1ubuntu1) ... 1380s Selecting previously unselected package x11-common. 1381s Preparing to unpack .../097-x11-common_1%3a7.7+23ubuntu3_all.deb ... 1381s Unpacking x11-common (1:7.7+23ubuntu3) ... 1381s Selecting previously unselected package libxtst6:amd64. 1381s Preparing to unpack .../098-libxtst6_2%3a1.2.3-1.1build1_amd64.deb ... 1381s Unpacking libxtst6:amd64 (2:1.2.3-1.1build1) ... 1381s Selecting previously unselected package openjdk-21-jre:amd64. 1381s Preparing to unpack .../099-openjdk-21-jre_21.0.5+11-1_amd64.deb ... 1381s Unpacking openjdk-21-jre:amd64 (21.0.5+11-1) ... 1381s Selecting previously unselected package default-jre. 1381s Preparing to unpack .../100-default-jre_2%3a1.21-76_amd64.deb ... 1381s Unpacking default-jre (2:1.21-76) ... 1381s Selecting previously unselected package libhamcrest-java. 1381s Preparing to unpack .../101-libhamcrest-java_2.2-2_all.deb ... 1381s Unpacking libhamcrest-java (2.2-2) ... 1381s Selecting previously unselected package junit4. 1381s Preparing to unpack .../102-junit4_4.13.2-4_all.deb ... 1381s Unpacking junit4 (4.13.2-4) ... 1381s Selecting previously unselected package libcommons-cli-java. 1381s Preparing to unpack .../103-libcommons-cli-java_1.6.0-1_all.deb ... 1381s Unpacking libcommons-cli-java (1.6.0-1) ... 1381s Selecting previously unselected package libapache-pom-java. 1381s Preparing to unpack .../104-libapache-pom-java_33-2_all.deb ... 1381s Unpacking libapache-pom-java (33-2) ... 1381s Selecting previously unselected package libcommons-parent-java. 1381s Preparing to unpack .../105-libcommons-parent-java_56-1_all.deb ... 1381s Unpacking libcommons-parent-java (56-1) ... 1381s Selecting previously unselected package libcommons-io-java. 1381s Preparing to unpack .../106-libcommons-io-java_2.17.0-1_all.deb ... 1381s Unpacking libcommons-io-java (2.17.0-1) ... 1381s Selecting previously unselected package libdropwizard-metrics-java. 1381s Preparing to unpack .../107-libdropwizard-metrics-java_3.2.6-1_all.deb ... 1381s Unpacking libdropwizard-metrics-java (3.2.6-1) ... 1381s Selecting previously unselected package libfindbugs-annotations-java. 1381s Preparing to unpack .../108-libfindbugs-annotations-java_3.1.0~preview2-4_all.deb ... 1381s Unpacking libfindbugs-annotations-java (3.1.0~preview2-4) ... 1381s Selecting previously unselected package libatinject-jsr330-api-java. 1381s Preparing to unpack .../109-libatinject-jsr330-api-java_1.0+ds1-5_all.deb ... 1381s Unpacking libatinject-jsr330-api-java (1.0+ds1-5) ... 1381s Selecting previously unselected package liberror-prone-java. 1381s Preparing to unpack .../110-liberror-prone-java_2.18.0-1_all.deb ... 1381s Unpacking liberror-prone-java (2.18.0-1) ... 1381s Selecting previously unselected package libjsr305-java. 1381s Preparing to unpack .../111-libjsr305-java_0.1~+svn49-11_all.deb ... 1381s Unpacking libjsr305-java (0.1~+svn49-11) ... 1381s Selecting previously unselected package libguava-java. 1381s Preparing to unpack .../112-libguava-java_32.0.1-1_all.deb ... 1381s Unpacking libguava-java (32.0.1-1) ... 1381s Selecting previously unselected package libjackson2-annotations-java. 1381s Preparing to unpack .../113-libjackson2-annotations-java_2.14.0-1_all.deb ... 1381s Unpacking libjackson2-annotations-java (2.14.0-1) ... 1381s Selecting previously unselected package libjackson2-core-java. 1381s Preparing to unpack .../114-libjackson2-core-java_2.14.1-1_all.deb ... 1381s Unpacking libjackson2-core-java (2.14.1-1) ... 1381s Selecting previously unselected package libjackson2-databind-java. 1381s Preparing to unpack .../115-libjackson2-databind-java_2.14.0-1_all.deb ... 1381s Unpacking libjackson2-databind-java (2.14.0-1) ... 1381s Selecting previously unselected package libasm-java. 1381s Preparing to unpack .../116-libasm-java_9.7-2_all.deb ... 1381s Unpacking libasm-java (9.7-2) ... 1381s Selecting previously unselected package libel-api-java. 1381s Preparing to unpack .../117-libel-api-java_3.0.0-3_all.deb ... 1381s Unpacking libel-api-java (3.0.0-3) ... 1381s Selecting previously unselected package libjsp-api-java. 1381s Preparing to unpack .../118-libjsp-api-java_2.3.4-3_all.deb ... 1381s Unpacking libjsp-api-java (2.3.4-3) ... 1381s Selecting previously unselected package libservlet-api-java. 1381s Preparing to unpack .../119-libservlet-api-java_4.0.1-2_all.deb ... 1381s Unpacking libservlet-api-java (4.0.1-2) ... 1381s Selecting previously unselected package libwebsocket-api-java. 1381s Preparing to unpack .../120-libwebsocket-api-java_1.1-2_all.deb ... 1381s Unpacking libwebsocket-api-java (1.1-2) ... 1381s Selecting previously unselected package libjetty9-java. 1381s Preparing to unpack .../121-libjetty9-java_9.4.56-1_all.deb ... 1381s Unpacking libjetty9-java (9.4.56-1) ... 1381s Selecting previously unselected package libjnr-constants-java. 1381s Preparing to unpack .../122-libjnr-constants-java_0.10.4-2_all.deb ... 1381s Unpacking libjnr-constants-java (0.10.4-2) ... 1381s Selecting previously unselected package libjffi-jni:amd64. 1381s Preparing to unpack .../123-libjffi-jni_1.3.13+ds-1_amd64.deb ... 1381s Unpacking libjffi-jni:amd64 (1.3.13+ds-1) ... 1381s Selecting previously unselected package libjffi-java. 1381s Preparing to unpack .../124-libjffi-java_1.3.13+ds-1_all.deb ... 1381s Unpacking libjffi-java (1.3.13+ds-1) ... 1381s Selecting previously unselected package libjnr-x86asm-java. 1381s Preparing to unpack .../125-libjnr-x86asm-java_1.0.2-5.1_all.deb ... 1381s Unpacking libjnr-x86asm-java (1.0.2-5.1) ... 1381s Selecting previously unselected package libjnr-ffi-java. 1382s Preparing to unpack .../126-libjnr-ffi-java_2.2.15-2_all.deb ... 1382s Unpacking libjnr-ffi-java (2.2.15-2) ... 1382s Selecting previously unselected package libjnr-enxio-java. 1382s Preparing to unpack .../127-libjnr-enxio-java_0.32.16-1_all.deb ... 1382s Unpacking libjnr-enxio-java (0.32.16-1) ... 1382s Selecting previously unselected package libjnr-posix-java. 1382s Preparing to unpack .../128-libjnr-posix-java_3.1.18-1_all.deb ... 1382s Unpacking libjnr-posix-java (3.1.18-1) ... 1382s Selecting previously unselected package libjnr-unixsocket-java. 1382s Preparing to unpack .../129-libjnr-unixsocket-java_0.38.21-2_all.deb ... 1382s Unpacking libjnr-unixsocket-java (0.38.21-2) ... 1382s Selecting previously unselected package libactivation-java. 1382s Preparing to unpack .../130-libactivation-java_1.2.0-2_all.deb ... 1382s Unpacking libactivation-java (1.2.0-2) ... 1382s Selecting previously unselected package libmail-java. 1382s Preparing to unpack .../131-libmail-java_1.6.5-3_all.deb ... 1382s Unpacking libmail-java (1.6.5-3) ... 1382s Selecting previously unselected package libcommons-logging-java. 1382s Preparing to unpack .../132-libcommons-logging-java_1.3.0-1ubuntu1_all.deb ... 1382s Unpacking libcommons-logging-java (1.3.0-1ubuntu1) ... 1382s Selecting previously unselected package libjaxb-api-java. 1382s Preparing to unpack .../133-libjaxb-api-java_2.3.1-1_all.deb ... 1382s Unpacking libjaxb-api-java (2.3.1-1) ... 1382s Selecting previously unselected package libspring-core-java. 1382s Preparing to unpack .../134-libspring-core-java_4.3.30-2_all.deb ... 1382s Unpacking libspring-core-java (4.3.30-2) ... 1382s Selecting previously unselected package libspring-beans-java. 1382s Preparing to unpack .../135-libspring-beans-java_4.3.30-2_all.deb ... 1382s Unpacking libspring-beans-java (4.3.30-2) ... 1382s Selecting previously unselected package libtaglibs-standard-spec-java. 1382s Preparing to unpack .../136-libtaglibs-standard-spec-java_1.2.5-3_all.deb ... 1382s Unpacking libtaglibs-standard-spec-java (1.2.5-3) ... 1382s Selecting previously unselected package libtaglibs-standard-impl-java. 1382s Preparing to unpack .../137-libtaglibs-standard-impl-java_1.2.5-3_all.deb ... 1382s Unpacking libtaglibs-standard-impl-java (1.2.5-3) ... 1382s Selecting previously unselected package libeclipse-jdt-core-compiler-batch-java. 1382s Preparing to unpack .../138-libeclipse-jdt-core-compiler-batch-java_3.35.0+eclipse4.29-2_all.deb ... 1382s Unpacking libeclipse-jdt-core-compiler-batch-java (3.35.0+eclipse4.29-2) ... 1382s Selecting previously unselected package libeclipse-jdt-core-java. 1382s Preparing to unpack .../139-libeclipse-jdt-core-java_3.35.0+eclipse4.29-2_all.deb ... 1382s Unpacking libeclipse-jdt-core-java (3.35.0+eclipse4.29-2) ... 1382s Selecting previously unselected package libtomcat9-java. 1382s Preparing to unpack .../140-libtomcat9-java_9.0.70-2ubuntu1.1_all.deb ... 1382s Unpacking libtomcat9-java (9.0.70-2ubuntu1.1) ... 1382s Selecting previously unselected package libjetty9-extra-java. 1382s Preparing to unpack .../141-libjetty9-extra-java_9.4.56-1_all.deb ... 1382s Unpacking libjetty9-extra-java (9.4.56-1) ... 1382s Selecting previously unselected package libjctools-java. 1382s Preparing to unpack .../142-libjctools-java_2.0.2-1_all.deb ... 1382s Unpacking libjctools-java (2.0.2-1) ... 1382s Selecting previously unselected package libnetty-java. 1382s Preparing to unpack .../143-libnetty-java_1%3a4.1.48-10_all.deb ... 1382s Unpacking libnetty-java (1:4.1.48-10) ... 1382s Selecting previously unselected package libslf4j-java. 1382s Preparing to unpack .../144-libslf4j-java_1.7.32-1_all.deb ... 1382s Unpacking libslf4j-java (1.7.32-1) ... 1382s Selecting previously unselected package libsnappy1v5:amd64. 1382s Preparing to unpack .../145-libsnappy1v5_1.2.1-1_amd64.deb ... 1382s Unpacking libsnappy1v5:amd64 (1.2.1-1) ... 1382s Selecting previously unselected package libsnappy-jni. 1382s Preparing to unpack .../146-libsnappy-jni_1.1.10.5-2_amd64.deb ... 1382s Unpacking libsnappy-jni (1.1.10.5-2) ... 1382s Selecting previously unselected package libsnappy-java. 1382s Preparing to unpack .../147-libsnappy-java_1.1.10.5-2_all.deb ... 1382s Unpacking libsnappy-java (1.1.10.5-2) ... 1382s Selecting previously unselected package libapr1t64:amd64. 1382s Preparing to unpack .../148-libapr1t64_1.7.2-3.2ubuntu1_amd64.deb ... 1382s Unpacking libapr1t64:amd64 (1.7.2-3.2ubuntu1) ... 1382s Selecting previously unselected package libnetty-tcnative-jni. 1382s Preparing to unpack .../149-libnetty-tcnative-jni_2.0.28-1build4_amd64.deb ... 1382s Unpacking libnetty-tcnative-jni (2.0.28-1build4) ... 1382s Selecting previously unselected package libnetty-tcnative-java. 1382s Preparing to unpack .../150-libnetty-tcnative-java_2.0.28-1build4_all.deb ... 1382s Unpacking libnetty-tcnative-java (2.0.28-1build4) ... 1383s Selecting previously unselected package liblog4j1.2-java. 1383s Preparing to unpack .../151-liblog4j1.2-java_1.2.17-11_all.deb ... 1383s Unpacking liblog4j1.2-java (1.2.17-11) ... 1383s Selecting previously unselected package libzookeeper-java. 1383s Preparing to unpack .../152-libzookeeper-java_3.9.2-2_all.deb ... 1383s Unpacking libzookeeper-java (3.9.2-2) ... 1383s Selecting previously unselected package zookeeper. 1383s Preparing to unpack .../153-zookeeper_3.9.2-2_all.deb ... 1383s Unpacking zookeeper (3.9.2-2) ... 1383s Selecting previously unselected package zookeeperd. 1383s Preparing to unpack .../154-zookeeperd_3.9.2-2_all.deb ... 1383s Unpacking zookeeperd (3.9.2-2) ... 1383s Selecting previously unselected package fonts-font-awesome. 1383s Preparing to unpack .../155-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 1383s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 1383s Selecting previously unselected package libcares2:amd64. 1383s Preparing to unpack .../156-libcares2_1.34.2-1_amd64.deb ... 1383s Unpacking libcares2:amd64 (1.34.2-1) ... 1383s Selecting previously unselected package libev4t64:amd64. 1383s Preparing to unpack .../157-libev4t64_1%3a4.33-2.1build1_amd64.deb ... 1383s Unpacking libev4t64:amd64 (1:4.33-2.1build1) ... 1383s Selecting previously unselected package libio-pty-perl. 1383s Preparing to unpack .../158-libio-pty-perl_1%3a1.20-1build3_amd64.deb ... 1383s Unpacking libio-pty-perl (1:1.20-1build3) ... 1383s Selecting previously unselected package libipc-run-perl. 1383s Preparing to unpack .../159-libipc-run-perl_20231003.0-2_all.deb ... 1383s Unpacking libipc-run-perl (20231003.0-2) ... 1383s Selecting previously unselected package libjs-jquery. 1383s Preparing to unpack .../160-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 1383s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 1383s Selecting previously unselected package libjs-underscore. 1383s Preparing to unpack .../161-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 1383s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 1383s Selecting previously unselected package libjs-sphinxdoc. 1383s Preparing to unpack .../162-libjs-sphinxdoc_7.4.7-4_all.deb ... 1383s Unpacking libjs-sphinxdoc (7.4.7-4) ... 1383s Selecting previously unselected package libpq5:amd64. 1383s Preparing to unpack .../163-libpq5_17.0-1_amd64.deb ... 1383s Unpacking libpq5:amd64 (17.0-1) ... 1383s Selecting previously unselected package libtime-duration-perl. 1383s Preparing to unpack .../164-libtime-duration-perl_1.21-2_all.deb ... 1383s Unpacking libtime-duration-perl (1.21-2) ... 1383s Selecting previously unselected package libtimedate-perl. 1383s Preparing to unpack .../165-libtimedate-perl_2.3300-2_all.deb ... 1383s Unpacking libtimedate-perl (2.3300-2) ... 1383s Selecting previously unselected package libxslt1.1:amd64. 1383s Preparing to unpack .../166-libxslt1.1_1.1.39-0exp1ubuntu1_amd64.deb ... 1383s Unpacking libxslt1.1:amd64 (1.1.39-0exp1ubuntu1) ... 1383s Selecting previously unselected package moreutils. 1383s Preparing to unpack .../167-moreutils_0.69-1_amd64.deb ... 1383s Unpacking moreutils (0.69-1) ... 1383s Selecting previously unselected package python3-ydiff. 1383s Preparing to unpack .../168-python3-ydiff_1.3-1_all.deb ... 1383s Unpacking python3-ydiff (1.3-1) ... 1383s Selecting previously unselected package python3-cdiff. 1383s Preparing to unpack .../169-python3-cdiff_1.3-1_all.deb ... 1383s Unpacking python3-cdiff (1.3-1) ... 1383s Selecting previously unselected package python3-colorama. 1383s Preparing to unpack .../170-python3-colorama_0.4.6-4_all.deb ... 1383s Unpacking python3-colorama (0.4.6-4) ... 1383s Selecting previously unselected package python3-click. 1383s Preparing to unpack .../171-python3-click_8.1.7-2_all.deb ... 1383s Unpacking python3-click (8.1.7-2) ... 1383s Selecting previously unselected package python3-six. 1383s Preparing to unpack .../172-python3-six_1.16.0-7_all.deb ... 1383s Unpacking python3-six (1.16.0-7) ... 1383s Selecting previously unselected package python3-dateutil. 1383s Preparing to unpack .../173-python3-dateutil_2.9.0-2_all.deb ... 1383s Unpacking python3-dateutil (2.9.0-2) ... 1383s Selecting previously unselected package python3-wcwidth. 1383s Preparing to unpack .../174-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 1383s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 1383s Selecting previously unselected package python3-prettytable. 1383s Preparing to unpack .../175-python3-prettytable_3.10.1-1_all.deb ... 1383s Unpacking python3-prettytable (3.10.1-1) ... 1383s Selecting previously unselected package python3-psutil. 1383s Preparing to unpack .../176-python3-psutil_5.9.8-2build2_amd64.deb ... 1383s Unpacking python3-psutil (5.9.8-2build2) ... 1384s Selecting previously unselected package python3-psycopg2. 1384s Preparing to unpack .../177-python3-psycopg2_2.9.9-2_amd64.deb ... 1384s Unpacking python3-psycopg2 (2.9.9-2) ... 1384s Selecting previously unselected package python3-greenlet. 1384s Preparing to unpack .../178-python3-greenlet_3.0.3-0ubuntu6_amd64.deb ... 1384s Unpacking python3-greenlet (3.0.3-0ubuntu6) ... 1384s Selecting previously unselected package python3-dnspython. 1384s Preparing to unpack .../179-python3-dnspython_2.6.1-1ubuntu1_all.deb ... 1384s Unpacking python3-dnspython (2.6.1-1ubuntu1) ... 1384s Selecting previously unselected package python3-eventlet. 1384s Preparing to unpack .../180-python3-eventlet_0.36.1-0ubuntu1_all.deb ... 1384s Unpacking python3-eventlet (0.36.1-0ubuntu1) ... 1384s Selecting previously unselected package python3-zope.event. 1384s Preparing to unpack .../181-python3-zope.event_5.0-0.1_all.deb ... 1384s Unpacking python3-zope.event (5.0-0.1) ... 1384s Selecting previously unselected package python3-zope.interface. 1384s Preparing to unpack .../182-python3-zope.interface_7.1.1-1_amd64.deb ... 1384s Unpacking python3-zope.interface (7.1.1-1) ... 1384s Selecting previously unselected package python3-gevent. 1384s Preparing to unpack .../183-python3-gevent_24.2.1-1_amd64.deb ... 1384s Unpacking python3-gevent (24.2.1-1) ... 1384s Selecting previously unselected package python3-kerberos. 1384s Preparing to unpack .../184-python3-kerberos_1.1.14-3.1build9_amd64.deb ... 1384s Unpacking python3-kerberos (1.1.14-3.1build9) ... 1384s Selecting previously unselected package python3-pure-sasl. 1384s Preparing to unpack .../185-python3-pure-sasl_0.5.1+dfsg1-4_all.deb ... 1384s Unpacking python3-pure-sasl (0.5.1+dfsg1-4) ... 1384s Selecting previously unselected package python3-kazoo. 1384s Preparing to unpack .../186-python3-kazoo_2.9.0-2_all.deb ... 1384s Unpacking python3-kazoo (2.9.0-2) ... 1384s Selecting previously unselected package patroni. 1384s Preparing to unpack .../187-patroni_3.3.1-1_all.deb ... 1384s Unpacking patroni (3.3.1-1) ... 1384s Selecting previously unselected package sphinx-rtd-theme-common. 1384s Preparing to unpack .../188-sphinx-rtd-theme-common_3.0.1+dfsg-1_all.deb ... 1384s Unpacking sphinx-rtd-theme-common (3.0.1+dfsg-1) ... 1384s Selecting previously unselected package patroni-doc. 1384s Preparing to unpack .../189-patroni-doc_3.3.1-1_all.deb ... 1384s Unpacking patroni-doc (3.3.1-1) ... 1384s Selecting previously unselected package postgresql-client-16. 1384s Preparing to unpack .../190-postgresql-client-16_16.4-3_amd64.deb ... 1384s Unpacking postgresql-client-16 (16.4-3) ... 1384s Selecting previously unselected package postgresql-16. 1384s Preparing to unpack .../191-postgresql-16_16.4-3_amd64.deb ... 1384s Unpacking postgresql-16 (16.4-3) ... 1384s Selecting previously unselected package postgresql. 1384s Preparing to unpack .../192-postgresql_16+262_all.deb ... 1384s Unpacking postgresql (16+262) ... 1384s Selecting previously unselected package python3-parse. 1384s Preparing to unpack .../193-python3-parse_1.20.2-1_all.deb ... 1384s Unpacking python3-parse (1.20.2-1) ... 1385s Selecting previously unselected package python3-parse-type. 1385s Preparing to unpack .../194-python3-parse-type_0.6.4-1_all.deb ... 1385s Unpacking python3-parse-type (0.6.4-1) ... 1385s Selecting previously unselected package python3-behave. 1385s Preparing to unpack .../195-python3-behave_1.2.6-6_all.deb ... 1385s Unpacking python3-behave (1.2.6-6) ... 1385s Selecting previously unselected package python3-coverage. 1385s Preparing to unpack .../196-python3-coverage_7.4.4+dfsg1-0ubuntu2_amd64.deb ... 1385s Unpacking python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 1385s Selecting previously unselected package autopkgtest-satdep. 1385s Preparing to unpack .../197-4-autopkgtest-satdep.deb ... 1385s Unpacking autopkgtest-satdep (0) ... 1385s Setting up postgresql-client-common (262) ... 1385s Setting up libgraphite2-3:amd64 (1.3.14-2ubuntu1) ... 1385s Setting up libxcb-dri3-0:amd64 (1.17.0-2) ... 1385s Setting up liblcms2-2:amd64 (2.16-2) ... 1385s Setting up libtaglibs-standard-spec-java (1.2.5-3) ... 1385s Setting up libpixman-1-0:amd64 (0.44.0-2) ... 1385s Setting up libev4t64:amd64 (1:4.33-2.1build1) ... 1385s Setting up libjackson2-annotations-java (2.14.0-1) ... 1385s Setting up libsharpyuv0:amd64 (1.4.0-0.1) ... 1385s Setting up libwayland-server0:amd64 (1.23.0-1) ... 1385s Setting up libx11-xcb1:amd64 (2:1.8.10-2) ... 1385s Setting up libpciaccess0:amd64 (0.17-3build1) ... 1385s Setting up libslf4j-java (1.7.32-1) ... 1385s Setting up fonts-lato (2.015-1) ... 1385s Setting up libeclipse-jdt-core-compiler-batch-java (3.35.0+eclipse4.29-2) ... 1385s Setting up libxdamage1:amd64 (1:1.1.6-1build1) ... 1385s Setting up libxcb-xfixes0:amd64 (1.17.0-2) ... 1385s Setting up liblerc4:amd64 (4.0.0+ds-4ubuntu2) ... 1385s Setting up libjsr305-java (0.1~+svn49-11) ... 1385s Setting up hicolor-icon-theme (0.18-1) ... 1385s Setting up libxi6:amd64 (2:1.8.2-1) ... 1385s Setting up java-common (0.76) ... 1385s Setting up libxrender1:amd64 (1:0.9.10-1.1build1) ... 1385s Setting up libdatrie1:amd64 (0.2.13-3build1) ... 1385s Setting up libcommons-cli-java (1.6.0-1) ... 1385s Setting up libio-pty-perl (1:1.20-1build3) ... 1385s Setting up python3-colorama (0.4.6-4) ... 1385s Setting up libxcb-render0:amd64 (1.17.0-2) ... 1385s Setting up python3-zope.event (5.0-0.1) ... 1385s Setting up python3-zope.interface (7.1.1-1) ... 1385s Setting up libdrm-radeon1:amd64 (2.4.123-1) ... 1385s Setting up libglvnd0:amd64 (1.7.0-1build1) ... 1385s Setting up libxcb-glx0:amd64 (1.17.0-2) ... 1385s Setting up libdrm-intel1:amd64 (2.4.123-1) ... 1385s Setting up libgdk-pixbuf2.0-common (2.42.12+dfsg-1) ... 1385s Setting up python3-ydiff (1.3-1) ... 1385s Setting up libasm-java (9.7-2) ... 1385s Setting up x11-common (1:7.7+23ubuntu3) ... 1385s Setting up libpq5:amd64 (17.0-1) ... 1385s Setting up libdeflate0:amd64 (1.22-1) ... 1385s Setting up python3-kerberos (1.1.14-3.1build9) ... 1385s Setting up liblog4j1.2-java (1.2.17-11) ... 1385s Setting up libel-api-java (3.0.0-3) ... 1385s Setting up python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 1386s Setting up libxcb-shm0:amd64 (1.17.0-2) ... 1386s Setting up python3-click (8.1.7-2) ... 1386s Setting up libjnr-x86asm-java (1.0.2-5.1) ... 1386s Setting up libjbig0:amd64 (2.1-6.1ubuntu2) ... 1386s Setting up libcolord2:amd64 (1.4.7-1build2) ... 1386s Setting up python3-psutil (5.9.8-2build2) ... 1386s Setting up libeclipse-jdt-core-java (3.35.0+eclipse4.29-2) ... 1386s Setting up libxxf86vm1:amd64 (1:1.1.4-1build4) ... 1386s Setting up libsnappy1v5:amd64 (1.2.1-1) ... 1386s Setting up libxcb-present0:amd64 (1.17.0-2) ... 1386s Setting up libtaglibs-standard-impl-java (1.2.5-3) ... 1386s Setting up libdconf1:amd64 (0.40.0-4build2) ... 1386s Setting up libjctools-java (2.0.2-1) ... 1386s Setting up libdropwizard-metrics-java (3.2.6-1) ... 1386s Setting up python3-six (1.16.0-7) ... 1386s Setting up libasound2-data (1.2.12-1) ... 1386s Setting up libasound2t64:amd64 (1.2.12-1) ... 1386s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 1386s Setting up libfindbugs-annotations-java (3.1.0~preview2-4) ... 1386s Setting up libepoxy0:amd64 (1.5.10-2) ... 1386s Setting up ssl-cert (1.1.2ubuntu2) ... 1387s Created symlink '/etc/systemd/system/multi-user.target.wants/ssl-cert.service' → '/usr/lib/systemd/system/ssl-cert.service'. 1387s Setting up libxfixes3:amd64 (1:6.0.0-2build1) ... 1387s Setting up libxcb-sync1:amd64 (1.17.0-2) ... 1387s Setting up libapache-pom-java (33-2) ... 1387s Setting up libavahi-common-data:amd64 (0.8-13ubuntu6) ... 1387s Setting up libatinject-jsr330-api-java (1.0+ds1-5) ... 1387s Setting up libatspi2.0-0t64:amd64 (2.54.0-1) ... 1387s Setting up libwebsocket-api-java (1.1-2) ... 1387s Setting up python3-greenlet (3.0.3-0ubuntu6) ... 1387s Setting up libxinerama1:amd64 (2:1.1.4-3build1) ... 1387s Setting up fonts-dejavu-mono (2.37-8) ... 1387s Setting up libcares2:amd64 (1.34.2-1) ... 1387s Setting up libxrandr2:amd64 (2:1.5.4-1) ... 1387s Setting up python3-psycopg2 (2.9.9-2) ... 1387s Setting up fonts-dejavu-core (2.37-8) ... 1387s Setting up libipc-run-perl (20231003.0-2) ... 1387s Setting up libpcsclite1:amd64 (2.3.0-1) ... 1387s Setting up libjpeg-turbo8:amd64 (2.1.5-2ubuntu2) ... 1387s Setting up libactivation-java (1.2.0-2) ... 1387s Setting up libtomcat9-java (9.0.70-2ubuntu1.1) ... 1387s Setting up libhamcrest-java (2.2-2) ... 1387s Setting up libglapi-mesa:amd64 (24.2.3-1ubuntu1) ... 1387s Setting up libjsp-api-java (2.3.4-3) ... 1387s Setting up libvulkan1:amd64 (1.3.296.0-1) ... 1387s Setting up libtime-duration-perl (1.21-2) ... 1387s Setting up libwebp7:amd64 (1.4.0-0.1) ... 1387s Setting up libtimedate-perl (2.3300-2) ... 1387s Setting up libxcb-dri2-0:amd64 (1.17.0-2) ... 1387s Setting up libgif7:amd64 (5.2.2-1ubuntu1) ... 1387s Setting up libxshmfence1:amd64 (1.3-1build5) ... 1387s Setting up libmail-java (1.6.5-3) ... 1387s Setting up at-spi2-common (2.54.0-1) ... 1387s Setting up python3-dnspython (2.6.1-1ubuntu1) ... 1387s Setting up libnetty-java (1:4.1.48-10) ... 1387s Setting up libxcb-randr0:amd64 (1.17.0-2) ... 1387s Setting up python3-parse (1.20.2-1) ... 1387s Setting up libapr1t64:amd64 (1.7.2-3.2ubuntu1) ... 1387s Setting up libjson-perl (4.10000-1) ... 1387s Setting up libxslt1.1:amd64 (1.1.39-0exp1ubuntu1) ... 1387s Setting up libservlet-api-java (4.0.1-2) ... 1387s Setting up libjackson2-core-java (2.14.1-1) ... 1387s Setting up libharfbuzz0b:amd64 (10.0.1-1) ... 1387s Setting up libthai-data (0.1.29-2build1) ... 1387s Setting up python3-dateutil (2.9.0-2) ... 1388s Setting up libjffi-jni:amd64 (1.3.13+ds-1) ... 1388s Setting up libwayland-egl1:amd64 (1.23.0-1) ... 1388s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 1388s Setting up ca-certificates-java (20240118) ... 1388s No JRE found. Skipping Java certificates setup. 1388s Setting up python3-prettytable (3.10.1-1) ... 1388s Setting up libsnappy-jni (1.1.10.5-2) ... 1388s Setting up libxcomposite1:amd64 (1:0.4.6-1) ... 1388s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 1388s Setting up sphinx-rtd-theme-common (3.0.1+dfsg-1) ... 1388s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 1388s Setting up libdrm-amdgpu1:amd64 (2.4.123-1) ... 1388s Setting up libjnr-constants-java (0.10.4-2) ... 1388s Setting up libwayland-client0:amd64 (1.23.0-1) ... 1388s Setting up libjpeg8:amd64 (8c-2ubuntu11) ... 1388s Setting up libjaxb-api-java (2.3.1-1) ... 1388s Setting up libjffi-java (1.3.13+ds-1) ... 1388s Setting up mesa-libgallium:amd64 (24.2.3-1ubuntu1) ... 1388s Setting up libjetty9-java (9.4.56-1) ... 1388s Setting up moreutils (0.69-1) ... 1388s Setting up libatk1.0-0t64:amd64 (2.54.0-1) ... 1388s Setting up openjdk-21-jre-headless:amd64 (21.0.5+11-1) ... 1388s update-alternatives: using /usr/lib/jvm/java-21-openjdk-amd64/bin/java to provide /usr/bin/java (java) in auto mode 1388s update-alternatives: using /usr/lib/jvm/java-21-openjdk-amd64/bin/jpackage to provide /usr/bin/jpackage (jpackage) in auto mode 1388s update-alternatives: using /usr/lib/jvm/java-21-openjdk-amd64/bin/keytool to provide /usr/bin/keytool (keytool) in auto mode 1388s update-alternatives: using /usr/lib/jvm/java-21-openjdk-amd64/bin/rmiregistry to provide /usr/bin/rmiregistry (rmiregistry) in auto mode 1388s update-alternatives: using /usr/lib/jvm/java-21-openjdk-amd64/lib/jexec to provide /usr/bin/jexec (jexec) in auto mode 1388s Setting up python3-pure-sasl (0.5.1+dfsg1-4) ... 1388s Setting up libgbm1:amd64 (24.2.3-1ubuntu1) ... 1388s Setting up fontconfig-config (2.15.0-1.1ubuntu2) ... 1388s Setting up libxtst6:amd64 (2:1.2.3-1.1build1) ... 1388s Setting up libxcursor1:amd64 (1:1.2.2-1) ... 1388s Setting up postgresql-client-16 (16.4-3) ... 1388s update-alternatives: using /usr/share/postgresql/16/man/man1/psql.1.gz to provide /usr/share/man/man1/psql.1.gz (psql.1.gz) in auto mode 1388s Setting up python3-cdiff (1.3-1) ... 1388s Setting up libgl1-mesa-dri:amd64 (24.2.3-1ubuntu1) ... 1388s Setting up libcommons-parent-java (56-1) ... 1388s Setting up libavahi-common3:amd64 (0.8-13ubuntu6) ... 1388s Setting up libcommons-logging-java (1.3.0-1ubuntu1) ... 1388s Setting up dconf-service (0.40.0-4build2) ... 1388s Setting up python3-gevent (24.2.1-1) ... 1389s Setting up libjackson2-databind-java (2.14.0-1) ... 1389s Setting up libthai0:amd64 (0.1.29-2build1) ... 1389s Setting up python3-parse-type (0.6.4-1) ... 1389s Setting up python3-eventlet (0.36.1-0ubuntu1) ... 1389s Setting up libnetty-tcnative-jni (2.0.28-1build4) ... 1389s Setting up python3-kazoo (2.9.0-2) ... 1389s Setting up postgresql-common (262) ... 1389s 1389s Creating config file /etc/postgresql-common/createcluster.conf with new version 1390s Building PostgreSQL dictionaries from installed myspell/hunspell packages... 1390s Removing obsolete dictionary files: 1390s Created symlink '/etc/systemd/system/multi-user.target.wants/postgresql.service' → '/usr/lib/systemd/system/postgresql.service'. 1390s Setting up libjs-sphinxdoc (7.4.7-4) ... 1390s Setting up libtiff6:amd64 (4.5.1+git230720-4ubuntu4) ... 1390s Setting up libwayland-cursor0:amd64 (1.23.0-1) ... 1390s Setting up libgdk-pixbuf-2.0-0:amd64 (2.42.12+dfsg-1) ... 1390s Setting up python3-behave (1.2.6-6) ... 1390s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 1390s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 1391s /usr/lib/python3/dist-packages/behave/matchers.py:267: SyntaxWarning: invalid escape sequence '\d' 1391s """Registers a custom type that will be available to "parse" 1391s Setting up libsnappy-java (1.1.10.5-2) ... 1391s Setting up libfontconfig1:amd64 (2.15.0-1.1ubuntu2) ... 1391s Setting up patroni (3.3.1-1) ... 1391s Created symlink '/etc/systemd/system/multi-user.target.wants/patroni.service' → '/usr/lib/systemd/system/patroni.service'. 1391s Setting up libavahi-client3:amd64 (0.8-13ubuntu6) ... 1391s Setting up libjnr-ffi-java (2.2.15-2) ... 1391s Setting up libatk-bridge2.0-0t64:amd64 (2.54.0-1) ... 1391s Setting up gtk-update-icon-cache (4.16.5+ds-1) ... 1391s Setting up fontconfig (2.15.0-1.1ubuntu2) ... 1393s Regenerating fonts cache... done. 1393s Setting up libglx-mesa0:amd64 (24.2.3-1ubuntu1) ... 1393s Setting up postgresql-16 (16.4-3) ... 1393s Creating new PostgreSQL cluster 16/main ... 1393s /usr/lib/postgresql/16/bin/initdb -D /var/lib/postgresql/16/main --auth-local peer --auth-host scram-sha-256 --no-instructions 1393s The files belonging to this database system will be owned by user "postgres". 1393s This user must also own the server process. 1393s 1393s The database cluster will be initialized with locale "C.UTF-8". 1393s The default database encoding has accordingly been set to "UTF8". 1393s The default text search configuration will be set to "english". 1393s 1393s Data page checksums are disabled. 1393s 1393s fixing permissions on existing directory /var/lib/postgresql/16/main ... ok 1393s creating subdirectories ... ok 1393s selecting dynamic shared memory implementation ... posix 1393s selecting default max_connections ... 100 1393s selecting default shared_buffers ... 128MB 1393s selecting default time zone ... Etc/UTC 1393s creating configuration files ... ok 1394s running bootstrap script ... ok 1394s performing post-bootstrap initialization ... ok 1394s syncing data to disk ... ok 1397s Setting up libglx0:amd64 (1.7.0-1build1) ... 1397s Setting up libspring-core-java (4.3.30-2) ... 1397s Setting up dconf-gsettings-backend:amd64 (0.40.0-4build2) ... 1397s Setting up libcommons-io-java (2.17.0-1) ... 1397s Setting up patroni-doc (3.3.1-1) ... 1397s Setting up libpango-1.0-0:amd64 (1.54.0+ds-3) ... 1397s Setting up libcairo2:amd64 (1.18.2-2) ... 1397s Setting up libjnr-enxio-java (0.32.16-1) ... 1397s Setting up libgl1:amd64 (1.7.0-1build1) ... 1397s Setting up libcairo-gobject2:amd64 (1.18.2-2) ... 1397s Setting up postgresql (16+262) ... 1397s Setting up libpangoft2-1.0-0:amd64 (1.54.0+ds-3) ... 1397s Setting up libcups2t64:amd64 (2.4.10-1ubuntu2) ... 1397s Setting up libgtk-3-common (3.24.43-3ubuntu2) ... 1397s Setting up libjnr-posix-java (3.1.18-1) ... 1397s Setting up libpangocairo-1.0-0:amd64 (1.54.0+ds-3) ... 1397s Setting up libspring-beans-java (4.3.30-2) ... 1397s Setting up libjnr-unixsocket-java (0.38.21-2) ... 1397s Setting up libjetty9-extra-java (9.4.56-1) ... 1397s Setting up libguava-java (32.0.1-1) ... 1397s Setting up adwaita-icon-theme (47.0-2) ... 1397s update-alternatives: using /usr/share/icons/Adwaita/cursor.theme to provide /usr/share/icons/default/index.theme (x-cursor-theme) in auto mode 1397s Setting up liberror-prone-java (2.18.0-1) ... 1397s Setting up humanity-icon-theme (0.6.16) ... 1397s Setting up ubuntu-mono (24.04-0ubuntu1) ... 1397s Processing triggers for man-db (2.12.1-3) ... 1399s Processing triggers for libglib2.0-0t64:amd64 (2.82.1-0ubuntu1) ... 1399s Setting up libgtk-3-0t64:amd64 (3.24.43-3ubuntu2) ... 1399s Processing triggers for libc-bin (2.40-1ubuntu3) ... 1399s Processing triggers for ca-certificates-java (20240118) ... 1399s Adding debian:ACCVRAIZ1.pem 1399s Adding debian:AC_RAIZ_FNMT-RCM.pem 1399s Adding debian:AC_RAIZ_FNMT-RCM_SERVIDORES_SEGUROS.pem 1399s Adding debian:ANF_Secure_Server_Root_CA.pem 1399s Adding debian:Actalis_Authentication_Root_CA.pem 1399s Adding debian:AffirmTrust_Commercial.pem 1399s Adding debian:AffirmTrust_Networking.pem 1399s Adding debian:AffirmTrust_Premium.pem 1399s Adding debian:AffirmTrust_Premium_ECC.pem 1399s Adding debian:Amazon_Root_CA_1.pem 1399s Adding debian:Amazon_Root_CA_2.pem 1399s Adding debian:Amazon_Root_CA_3.pem 1399s Adding debian:Amazon_Root_CA_4.pem 1399s Adding debian:Atos_TrustedRoot_2011.pem 1399s Adding debian:Atos_TrustedRoot_Root_CA_ECC_TLS_2021.pem 1399s Adding debian:Atos_TrustedRoot_Root_CA_RSA_TLS_2021.pem 1399s Adding debian:Autoridad_de_Certificacion_Firmaprofesional_CIF_A62634068.pem 1399s Adding debian:BJCA_Global_Root_CA1.pem 1399s Adding debian:BJCA_Global_Root_CA2.pem 1399s Adding debian:Baltimore_CyberTrust_Root.pem 1399s Adding debian:Buypass_Class_2_Root_CA.pem 1399s Adding debian:Buypass_Class_3_Root_CA.pem 1399s Adding debian:CA_Disig_Root_R2.pem 1399s Adding debian:CFCA_EV_ROOT.pem 1399s Adding debian:COMODO_Certification_Authority.pem 1399s Adding debian:COMODO_ECC_Certification_Authority.pem 1399s Adding debian:COMODO_RSA_Certification_Authority.pem 1399s Adding debian:Certainly_Root_E1.pem 1399s Adding debian:Certainly_Root_R1.pem 1399s Adding debian:Certigna.pem 1399s Adding debian:Certigna_Root_CA.pem 1399s Adding debian:Certum_EC-384_CA.pem 1399s Adding debian:Certum_Trusted_Network_CA.pem 1399s Adding debian:Certum_Trusted_Network_CA_2.pem 1399s Adding debian:Certum_Trusted_Root_CA.pem 1399s Adding debian:CommScope_Public_Trust_ECC_Root-01.pem 1399s Adding debian:CommScope_Public_Trust_ECC_Root-02.pem 1399s Adding debian:CommScope_Public_Trust_RSA_Root-01.pem 1399s Adding debian:CommScope_Public_Trust_RSA_Root-02.pem 1399s Adding debian:Comodo_AAA_Services_root.pem 1399s Adding debian:D-TRUST_BR_Root_CA_1_2020.pem 1399s Adding debian:D-TRUST_EV_Root_CA_1_2020.pem 1399s Adding debian:D-TRUST_Root_Class_3_CA_2_2009.pem 1399s Adding debian:D-TRUST_Root_Class_3_CA_2_EV_2009.pem 1399s Adding debian:DigiCert_Assured_ID_Root_CA.pem 1399s Adding debian:DigiCert_Assured_ID_Root_G2.pem 1399s Adding debian:DigiCert_Assured_ID_Root_G3.pem 1399s Adding debian:DigiCert_Global_Root_CA.pem 1399s Adding debian:DigiCert_Global_Root_G2.pem 1399s Adding debian:DigiCert_Global_Root_G3.pem 1399s Adding debian:DigiCert_High_Assurance_EV_Root_CA.pem 1399s Adding debian:DigiCert_TLS_ECC_P384_Root_G5.pem 1399s Adding debian:DigiCert_TLS_RSA4096_Root_G5.pem 1399s Adding debian:DigiCert_Trusted_Root_G4.pem 1399s Adding debian:Entrust.net_Premium_2048_Secure_Server_CA.pem 1399s Adding debian:Entrust_Root_Certification_Authority.pem 1399s Adding debian:Entrust_Root_Certification_Authority_-_EC1.pem 1399s Adding debian:Entrust_Root_Certification_Authority_-_G2.pem 1399s Adding debian:Entrust_Root_Certification_Authority_-_G4.pem 1399s Adding debian:GDCA_TrustAUTH_R5_ROOT.pem 1399s Adding debian:GLOBALTRUST_2020.pem 1399s Adding debian:GTS_Root_R1.pem 1399s Adding debian:GTS_Root_R2.pem 1399s Adding debian:GTS_Root_R3.pem 1399s Adding debian:GTS_Root_R4.pem 1399s Adding debian:GlobalSign_ECC_Root_CA_-_R4.pem 1399s Adding debian:GlobalSign_ECC_Root_CA_-_R5.pem 1399s Adding debian:GlobalSign_Root_CA.pem 1399s Adding debian:GlobalSign_Root_CA_-_R3.pem 1399s Adding debian:GlobalSign_Root_CA_-_R6.pem 1399s Adding debian:GlobalSign_Root_E46.pem 1399s Adding debian:GlobalSign_Root_R46.pem 1399s Adding debian:Go_Daddy_Class_2_CA.pem 1399s Adding debian:Go_Daddy_Root_Certificate_Authority_-_G2.pem 1399s Adding debian:HARICA_TLS_ECC_Root_CA_2021.pem 1399s Adding debian:HARICA_TLS_RSA_Root_CA_2021.pem 1399s Adding debian:Hellenic_Academic_and_Research_Institutions_ECC_RootCA_2015.pem 1399s Adding debian:Hellenic_Academic_and_Research_Institutions_RootCA_2015.pem 1399s Adding debian:HiPKI_Root_CA_-_G1.pem 1399s Adding debian:Hongkong_Post_Root_CA_3.pem 1399s Adding debian:ISRG_Root_X1.pem 1399s Adding debian:ISRG_Root_X2.pem 1399s Adding debian:IdenTrust_Commercial_Root_CA_1.pem 1399s Adding debian:IdenTrust_Public_Sector_Root_CA_1.pem 1399s Adding debian:Izenpe.com.pem 1399s Adding debian:Microsec_e-Szigno_Root_CA_2009.pem 1399s Adding debian:Microsoft_ECC_Root_Certificate_Authority_2017.pem 1399s Adding debian:Microsoft_RSA_Root_Certificate_Authority_2017.pem 1399s Adding debian:NAVER_Global_Root_Certification_Authority.pem 1399s Adding debian:NetLock_Arany_=Class_Gold=_Főtanúsítvány.pem 1399s Adding debian:OISTE_WISeKey_Global_Root_GB_CA.pem 1399s Adding debian:OISTE_WISeKey_Global_Root_GC_CA.pem 1399s Adding debian:QuoVadis_Root_CA_1_G3.pem 1399s Adding debian:QuoVadis_Root_CA_2.pem 1399s Adding debian:QuoVadis_Root_CA_2_G3.pem 1399s Adding debian:QuoVadis_Root_CA_3.pem 1399s Adding debian:QuoVadis_Root_CA_3_G3.pem 1399s Adding debian:SSL.com_EV_Root_Certification_Authority_ECC.pem 1399s Adding debian:SSL.com_EV_Root_Certification_Authority_RSA_R2.pem 1399s Adding debian:SSL.com_Root_Certification_Authority_ECC.pem 1399s Adding debian:SSL.com_Root_Certification_Authority_RSA.pem 1399s Adding debian:SSL.com_TLS_ECC_Root_CA_2022.pem 1399s Adding debian:SSL.com_TLS_RSA_Root_CA_2022.pem 1399s Adding debian:SZAFIR_ROOT_CA2.pem 1399s Adding debian:Sectigo_Public_Server_Authentication_Root_E46.pem 1399s Adding debian:Sectigo_Public_Server_Authentication_Root_R46.pem 1399s Adding debian:SecureSign_RootCA11.pem 1399s Adding debian:SecureTrust_CA.pem 1399s Adding debian:Secure_Global_CA.pem 1399s Adding debian:Security_Communication_ECC_RootCA1.pem 1399s Adding debian:Security_Communication_RootCA2.pem 1399s Adding debian:Security_Communication_RootCA3.pem 1399s Adding debian:Security_Communication_Root_CA.pem 1399s Adding debian:Starfield_Class_2_CA.pem 1399s Adding debian:Starfield_Root_Certificate_Authority_-_G2.pem 1399s Adding debian:Starfield_Services_Root_Certificate_Authority_-_G2.pem 1399s Adding debian:SwissSign_Gold_CA_-_G2.pem 1399s Adding debian:SwissSign_Silver_CA_-_G2.pem 1399s Adding debian:T-TeleSec_GlobalRoot_Class_2.pem 1399s Adding debian:T-TeleSec_GlobalRoot_Class_3.pem 1399s Adding debian:TUBITAK_Kamu_SM_SSL_Kok_Sertifikasi_-_Surum_1.pem 1399s Adding debian:TWCA_Global_Root_CA.pem 1399s Adding debian:TWCA_Root_Certification_Authority.pem 1399s Adding debian:TeliaSonera_Root_CA_v1.pem 1399s Adding debian:Telia_Root_CA_v2.pem 1399s Adding debian:TrustAsia_Global_Root_CA_G3.pem 1399s Adding debian:TrustAsia_Global_Root_CA_G4.pem 1399s Adding debian:Trustwave_Global_Certification_Authority.pem 1399s Adding debian:Trustwave_Global_ECC_P256_Certification_Authority.pem 1399s Adding debian:Trustwave_Global_ECC_P384_Certification_Authority.pem 1399s Adding debian:TunTrust_Root_CA.pem 1399s Adding debian:UCA_Extended_Validation_Root.pem 1399s Adding debian:UCA_Global_G2_Root.pem 1399s Adding debian:USERTrust_ECC_Certification_Authority.pem 1399s Adding debian:USERTrust_RSA_Certification_Authority.pem 1399s Adding debian:XRamp_Global_CA_Root.pem 1399s Adding debian:certSIGN_ROOT_CA.pem 1399s Adding debian:certSIGN_Root_CA_G2.pem 1399s Adding debian:e-Szigno_Root_CA_2017.pem 1399s Adding debian:ePKI_Root_Certification_Authority.pem 1399s Adding debian:emSign_ECC_Root_CA_-_C3.pem 1399s Adding debian:emSign_ECC_Root_CA_-_G3.pem 1399s Adding debian:emSign_Root_CA_-_C1.pem 1399s Adding debian:emSign_Root_CA_-_G1.pem 1399s Adding debian:vTrus_ECC_Root_CA.pem 1399s Adding debian:vTrus_Root_CA.pem 1399s done. 1399s Setting up openjdk-21-jre:amd64 (21.0.5+11-1) ... 1399s Setting up junit4 (4.13.2-4) ... 1399s Setting up default-jre-headless (2:1.21-76) ... 1399s Setting up default-jre (2:1.21-76) ... 1399s Setting up libnetty-tcnative-java (2.0.28-1build4) ... 1399s Setting up libzookeeper-java (3.9.2-2) ... 1399s Setting up zookeeper (3.9.2-2) ... 1399s warn: The home directory `/var/lib/zookeeper' already exists. Not touching this directory. 1399s warn: Warning: The home directory `/var/lib/zookeeper' does not belong to the user you are currently creating. 1399s update-alternatives: using /etc/zookeeper/conf_example to provide /etc/zookeeper/conf (zookeeper-conf) in auto mode 1399s Setting up zookeeperd (3.9.2-2) ... 1400s Setting up autopkgtest-satdep (0) ... 1406s (Reading database ... 95715 files and directories currently installed.) 1406s Removing autopkgtest-satdep (0) ... 1413s autopkgtest [10:49:39]: test acceptance-zookeeper: debian/tests/acceptance zookeeper "-e dcs_failsafe_mode" 1413s autopkgtest [10:49:39]: test acceptance-zookeeper: [----------------------- 1418s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 1418s ++ ls -1r /usr/lib/postgresql/ 1418s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 1418s + '[' 16 == 10 -o 16 == 11 ']' 1418s + echo '### PostgreSQL 16 acceptance-zookeeper -e dcs_failsafe_mode ###' 1418s + su postgres -p -c 'set -o pipefail; ETCD_UNSUPPORTED_ARCH= DCS=zookeeper PATH=/usr/lib/postgresql/16/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin behave -e dcs_failsafe_mode | ts' 1418s ### PostgreSQL 16 acceptance-zookeeper -e dcs_failsafe_mode ### 1418s Nov 11 10:49:44 Feature: basic replication # features/basic_replication.feature:1 1418s Nov 11 10:49:44 We should check that the basic bootstrapping, replication and failover works. 1418s Nov 11 10:49:44 Scenario: check replication of a single table # features/basic_replication.feature:4 1418s Nov 11 10:49:44 Given I start postgres0 # features/steps/basic_replication.py:8 1420s Nov 11 10:49:46 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1421s Nov 11 10:49:47 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1421s Nov 11 10:49:47 When I issue a PATCH request to http://127.0.0.1:8008/config with {"ttl": 20, "synchronous_mode": true} # features/steps/patroni_api.py:71 1421s Nov 11 10:49:47 Then I receive a response code 200 # features/steps/patroni_api.py:98 1421s Nov 11 10:49:47 When I start postgres1 # features/steps/basic_replication.py:8 1423s Nov 11 10:49:49 And I configure and start postgres2 with a tag replicatefrom postgres0 # features/steps/cascading_replication.py:7 1425s Nov 11 10:49:51 And "sync" key in DCS has leader=postgres0 after 20 seconds # features/steps/cascading_replication.py:23 1425s Nov 11 10:49:51 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 1425s Nov 11 10:49:51 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 1426s Nov 11 10:49:52 Then table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 1426s Nov 11 10:49:52 1426s Nov 11 10:49:52 Scenario: check restart of sync replica # features/basic_replication.feature:17 1426s Nov 11 10:49:52 Given I shut down postgres2 # features/steps/basic_replication.py:29 1427s Nov 11 10:49:53 Then "sync" key in DCS has sync_standby=postgres1 after 5 seconds # features/steps/cascading_replication.py:23 1427s Nov 11 10:49:53 When I start postgres2 # features/steps/basic_replication.py:8 1429s Nov 11 10:49:55 And I shut down postgres1 # features/steps/basic_replication.py:29 1432s Nov 11 10:49:58 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 1433s Nov 11 10:49:59 When I start postgres1 # features/steps/basic_replication.py:8 1435s Nov 11 10:50:01 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1436s Nov 11 10:50:02 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1437s Nov 11 10:50:02 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 1437s Nov 11 10:50:03 1437s Nov 11 10:50:03 Scenario: check stuck sync replica # features/basic_replication.feature:28 1437s Nov 11 10:50:03 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"pause": true, "maximum_lag_on_syncnode": 15000000, "postgresql": {"parameters": {"synchronous_commit": "remote_apply"}}} # features/steps/patroni_api.py:71 1437s Nov 11 10:50:03 Then I receive a response code 200 # features/steps/patroni_api.py:98 1437s Nov 11 10:50:03 And I create table on postgres0 # features/steps/basic_replication.py:73 1437s Nov 11 10:50:03 And table mytest is present on postgres1 after 2 seconds # features/steps/basic_replication.py:93 1438s Nov 11 10:50:04 And table mytest is present on postgres2 after 2 seconds # features/steps/basic_replication.py:93 1438s Nov 11 10:50:04 When I pause wal replay on postgres2 # features/steps/basic_replication.py:64 1438s Nov 11 10:50:04 And I load data on postgres0 # features/steps/basic_replication.py:84 1438s Nov 11 10:50:04 Then "sync" key in DCS has sync_standby=postgres1 after 15 seconds # features/steps/cascading_replication.py:23 1441s Nov 11 10:50:07 And I resume wal replay on postgres2 # features/steps/basic_replication.py:64 1441s Nov 11 10:50:07 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1442s Nov 11 10:50:08 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:142 1442s Nov 11 10:50:08 When I issue a PATCH request to http://127.0.0.1:8008/config with {"pause": null, "maximum_lag_on_syncnode": -1, "postgresql": {"parameters": {"synchronous_commit": "on"}}} # features/steps/patroni_api.py:71 1442s Nov 11 10:50:08 Then I receive a response code 200 # features/steps/patroni_api.py:98 1442s Nov 11 10:50:08 And I drop table on postgres0 # features/steps/basic_replication.py:73 1442s Nov 11 10:50:08 1442s Nov 11 10:50:08 Scenario: check multi sync replication # features/basic_replication.feature:44 1442s Nov 11 10:50:08 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"synchronous_node_count": 2} # features/steps/patroni_api.py:71 1442s Nov 11 10:50:08 Then I receive a response code 200 # features/steps/patroni_api.py:98 1442s Nov 11 10:50:08 Then "sync" key in DCS has sync_standby=postgres1,postgres2 after 10 seconds # features/steps/cascading_replication.py:23 1446s Nov 11 10:50:12 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1446s Nov 11 10:50:12 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1446s Nov 11 10:50:12 When I issue a PATCH request to http://127.0.0.1:8008/config with {"synchronous_node_count": 1} # features/steps/patroni_api.py:71 1446s Nov 11 10:50:12 Then I receive a response code 200 # features/steps/patroni_api.py:98 1446s Nov 11 10:50:12 And I shut down postgres1 # features/steps/basic_replication.py:29 1449s Nov 11 10:50:15 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 1450s Nov 11 10:50:16 When I start postgres1 # features/steps/basic_replication.py:8 1452s Nov 11 10:50:18 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1453s Nov 11 10:50:19 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1453s Nov 11 10:50:19 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 1453s Nov 11 10:50:19 1453s Nov 11 10:50:19 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 1453s Nov 11 10:50:19 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 1454s Nov 11 10:50:20 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1454s Nov 11 10:50:20 When I sleep for 2 seconds # features/steps/patroni_api.py:39 1456s Nov 11 10:50:22 And I shut down postgres0 # features/steps/basic_replication.py:29 1457s Nov 11 10:50:23 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 1459s Nov 11 10:50:24 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1459s Nov 11 10:50:24 And postgres2 role is the primary after 24 seconds # features/steps/basic_replication.py:105 1480s Nov 11 10:50:45 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:156 1482s Nov 11 10:50:48 And there is a postgres2_cb.log with "on_role_change master batman" in postgres2 data directory # features/steps/cascading_replication.py:12 1482s Nov 11 10:50:48 When I issue a PATCH request to http://127.0.0.1:8010/config with {"synchronous_mode": null, "master_start_timeout": 0} # features/steps/patroni_api.py:71 1482s Nov 11 10:50:48 Then I receive a response code 200 # features/steps/patroni_api.py:98 1482s Nov 11 10:50:48 When I add the table bar to postgres2 # features/steps/basic_replication.py:54 1482s Nov 11 10:50:48 Then table bar is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 1485s Nov 11 10:50:51 And Response on GET http://127.0.0.1:8010/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 1485s Nov 11 10:50:51 1485s Nov 11 10:50:51 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 1485s Nov 11 10:50:51 Given I add the table splitbrain to postgres0 # features/steps/basic_replication.py:54 1485s Nov 11 10:50:51 And I start postgres0 # features/steps/basic_replication.py:8 1485s Nov 11 10:50:51 Then postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 1491s Nov 11 10:50:57 When I add the table buz to postgres2 # features/steps/basic_replication.py:54 1491s Nov 11 10:50:57 Then table buz is present on postgres0 after 20 seconds # features/steps/basic_replication.py:93 1491s Nov 11 10:50:57 1491s Nov 11 10:50:57 @reject-duplicate-name 1491s Nov 11 10:50:57 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 1491s Nov 11 10:50:57 Given I start duplicate postgres0 on port 8011 # features/steps/basic_replication.py:13 1493s Nov 11 10:50:59 Then there is one of ["Can't start; there is already a node named 'postgres0' running"] CRITICAL in the dup-postgres0 patroni log after 5 seconds # features/steps/basic_replication.py:121 1497s Nov 11 10:51:03 1497s Nov 11 10:51:03 Feature: cascading replication # features/cascading_replication.feature:1 1497s Nov 11 10:51:03 We should check that patroni can do base backup and streaming from the replica 1497s Nov 11 10:51:03 Scenario: check a base backup and streaming replication from a replica # features/cascading_replication.feature:4 1497s Nov 11 10:51:03 Given I start postgres0 # features/steps/basic_replication.py:8 1499s Nov 11 10:51:05 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1500s Nov 11 10:51:06 And I configure and start postgres1 with a tag clonefrom true # features/steps/cascading_replication.py:7 1502s Nov 11 10:51:08 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1503s Nov 11 10:51:09 And I create label with "postgres0" in postgres0 data directory # features/steps/cascading_replication.py:18 1503s Nov 11 10:51:09 And I create label with "postgres1" in postgres1 data directory # features/steps/cascading_replication.py:18 1503s Nov 11 10:51:09 And "members/postgres1" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 1503s Nov 11 10:51:09 And I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 1506s Nov 11 10:51:12 Then replication works from postgres0 to postgres2 after 30 seconds # features/steps/basic_replication.py:112 1507s Nov 11 10:51:13 And there is a label with "postgres1" in postgres2 data directory # features/steps/cascading_replication.py:12 1513s Nov 11 10:51:19 1513s SKIP FEATURE citus: Citus extenstion isn't available 1513s SKIP Scenario check that worker cluster is registered in the coordinator: Citus extenstion isn't available 1513s SKIP Scenario coordinator failover updates pg_dist_node: Citus extenstion isn't available 1513s SKIP Scenario worker switchover doesn't break client queries on the coordinator: Citus extenstion isn't available 1513s SKIP Scenario worker primary restart doesn't break client queries on the coordinator: Citus extenstion isn't available 1513s SKIP Scenario check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node: Citus extenstion isn't available 1513s Nov 11 10:51:19 Feature: citus # features/citus.feature:1 1513s Nov 11 10:51:19 We should check that coordinator discovers and registers workers and clients don't have errors when worker cluster switches over 1513s Nov 11 10:51:19 Scenario: check that worker cluster is registered in the coordinator # features/citus.feature:4 1513s Nov 11 10:51:19 Given I start postgres0 in citus group 0 # None 1513s Nov 11 10:51:19 And I start postgres2 in citus group 1 # None 1513s Nov 11 10:51:19 Then postgres0 is a leader in a group 0 after 10 seconds # None 1513s Nov 11 10:51:19 And postgres2 is a leader in a group 1 after 10 seconds # None 1513s Nov 11 10:51:19 When I start postgres1 in citus group 0 # None 1513s Nov 11 10:51:19 And I start postgres3 in citus group 1 # None 1513s Nov 11 10:51:19 Then replication works from postgres0 to postgres1 after 15 seconds # None 1513s Nov 11 10:51:19 Then replication works from postgres2 to postgres3 after 15 seconds # None 1513s Nov 11 10:51:19 And postgres0 is registered in the postgres0 as the primary in group 0 after 5 seconds # None 1513s Nov 11 10:51:19 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 1513s Nov 11 10:51:19 1513s Nov 11 10:51:19 Scenario: coordinator failover updates pg_dist_node # features/citus.feature:16 1513s Nov 11 10:51:19 Given I run patronictl.py failover batman --group 0 --candidate postgres1 --force # None 1513s Nov 11 10:51:19 Then postgres1 role is the primary after 10 seconds # None 1513s Nov 11 10:51:19 And "members/postgres0" key in a group 0 in DCS has state=running after 15 seconds # None 1513s Nov 11 10:51:19 And replication works from postgres1 to postgres0 after 15 seconds # None 1513s Nov 11 10:51:19 And postgres1 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 1513s Nov 11 10:51:19 And "sync" key in a group 0 in DCS has sync_standby=postgres0 after 15 seconds # None 1513s Nov 11 10:51:19 When I run patronictl.py switchover batman --group 0 --candidate postgres0 --force # None 1513s Nov 11 10:51:19 Then postgres0 role is the primary after 10 seconds # None 1513s Nov 11 10:51:19 And replication works from postgres0 to postgres1 after 15 seconds # None 1513s Nov 11 10:51:19 And postgres0 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 1513s Nov 11 10:51:19 And "sync" key in a group 0 in DCS has sync_standby=postgres1 after 15 seconds # None 1514s Nov 11 10:51:19 1514s Nov 11 10:51:19 Scenario: worker switchover doesn't break client queries on the coordinator # features/citus.feature:29 1514s Nov 11 10:51:19 Given I create a distributed table on postgres0 # None 1514s Nov 11 10:51:19 And I start a thread inserting data on postgres0 # None 1514s Nov 11 10:51:19 When I run patronictl.py switchover batman --group 1 --force # None 1514s Nov 11 10:51:19 Then I receive a response returncode 0 # None 1514s Nov 11 10:51:19 And postgres3 role is the primary after 10 seconds # None 1514s Nov 11 10:51:19 And "members/postgres2" key in a group 1 in DCS has state=running after 15 seconds # None 1514s Nov 11 10:51:19 And replication works from postgres3 to postgres2 after 15 seconds # None 1514s Nov 11 10:51:19 And postgres3 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 1514s Nov 11 10:51:19 And "sync" key in a group 1 in DCS has sync_standby=postgres2 after 15 seconds # None 1514s Nov 11 10:51:19 And a thread is still alive # None 1514s Nov 11 10:51:19 When I run patronictl.py switchover batman --group 1 --force # None 1514s Nov 11 10:51:19 Then I receive a response returncode 0 # None 1514s Nov 11 10:51:19 And postgres2 role is the primary after 10 seconds # None 1514s Nov 11 10:51:19 And replication works from postgres2 to postgres3 after 15 seconds # None 1514s Nov 11 10:51:19 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 1514s Nov 11 10:51:19 And "sync" key in a group 1 in DCS has sync_standby=postgres3 after 15 seconds # None 1514s Nov 11 10:51:19 And a thread is still alive # None 1514s Nov 11 10:51:19 When I stop a thread # None 1514s Nov 11 10:51:19 Then a distributed table on postgres0 has expected rows # None 1514s Nov 11 10:51:19 1514s Nov 11 10:51:19 Scenario: worker primary restart doesn't break client queries on the coordinator # features/citus.feature:50 1514s Nov 11 10:51:19 Given I cleanup a distributed table on postgres0 # None 1514s Nov 11 10:51:19 And I start a thread inserting data on postgres0 # None 1514s Nov 11 10:51:19 When I run patronictl.py restart batman postgres2 --group 1 --force # None 1514s Nov 11 10:51:19 Then I receive a response returncode 0 # None 1514s Nov 11 10:51:19 And postgres2 role is the primary after 10 seconds # None 1514s Nov 11 10:51:19 And replication works from postgres2 to postgres3 after 15 seconds # None 1514s Nov 11 10:51:19 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 1514s Nov 11 10:51:19 And a thread is still alive # None 1514s Nov 11 10:51:19 When I stop a thread # None 1514s Nov 11 10:51:19 Then a distributed table on postgres0 has expected rows # None 1514s Nov 11 10:51:19 1514s Nov 11 10:51:19 Scenario: check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node # features/citus.feature:62 1514s Nov 11 10:51:19 Given I start postgres4 in citus group 2 # None 1514s Nov 11 10:51:19 Then postgres4 is a leader in a group 2 after 10 seconds # None 1514s Nov 11 10:51:19 And "members/postgres4" key in a group 2 in DCS has role=master after 3 seconds # None 1514s Nov 11 10:51:19 When I run patronictl.py edit-config batman --group 2 -s ttl=20 --force # None 1514s Nov 11 10:51:19 Then I receive a response returncode 0 # None 1514s Nov 11 10:51:19 And I receive a response output "+ttl: 20" # None 1514s Nov 11 10:51:19 Then postgres4 is registered in the postgres2 as the primary in group 2 after 5 seconds # None 1514s Nov 11 10:51:19 When I shut down postgres4 # None 1514s Nov 11 10:51:19 Then there is a transaction in progress on postgres0 changing pg_dist_node after 5 seconds # None 1514s Nov 11 10:51:19 When I run patronictl.py restart batman postgres2 --group 1 --force # None 1514s Nov 11 10:51:19 Then a transaction finishes in 20 seconds # None 1514s Nov 11 10:51:19 1514s Nov 11 10:51:19 Feature: custom bootstrap # features/custom_bootstrap.feature:1 1514s Nov 11 10:51:19 We should check that patroni can bootstrap a new cluster from a backup 1514s Nov 11 10:51:19 Scenario: clone existing cluster using pg_basebackup # features/custom_bootstrap.feature:4 1514s Nov 11 10:51:19 Given I start postgres0 # features/steps/basic_replication.py:8 1515s Nov 11 10:51:21 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1515s Nov 11 10:51:21 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 1516s Nov 11 10:51:21 And I start postgres1 in a cluster batman1 as a clone of postgres0 # features/steps/custom_bootstrap.py:6 1519s Nov 11 10:51:24 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 1520s Nov 11 10:51:26 Then table foo is present on postgres1 after 10 seconds # features/steps/basic_replication.py:93 1520s Nov 11 10:51:26 1520s Nov 11 10:51:26 Scenario: make a backup and do a restore into a new cluster # features/custom_bootstrap.feature:12 1520s Nov 11 10:51:26 Given I add the table bar to postgres1 # features/steps/basic_replication.py:54 1520s Nov 11 10:51:26 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 1520s Nov 11 10:51:26 When I start postgres2 in a cluster batman2 from backup # features/steps/custom_bootstrap.py:11 1523s Nov 11 10:51:29 Then postgres2 is a leader of batman2 after 30 seconds # features/steps/custom_bootstrap.py:16 1523s Nov 11 10:51:29 And table bar is present on postgres2 after 10 seconds # features/steps/basic_replication.py:93 1529s Nov 11 10:51:35 1529s Nov 11 10:51:35 Feature: ignored slots # features/ignored_slots.feature:1 1529s Nov 11 10:51:35 1529s Nov 11 10:51:35 Scenario: check ignored slots aren't removed on failover/switchover # features/ignored_slots.feature:2 1529s Nov 11 10:51:35 Given I start postgres1 # features/steps/basic_replication.py:8 1531s Nov 11 10:51:37 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 1532s Nov 11 10:51:38 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1532s Nov 11 10:51:38 When I issue a PATCH request to http://127.0.0.1:8009/config with {"ignore_slots": [{"name": "unmanaged_slot_0", "database": "postgres", "plugin": "test_decoding", "type": "logical"}, {"name": "unmanaged_slot_1", "database": "postgres", "plugin": "test_decoding"}, {"name": "unmanaged_slot_2", "database": "postgres"}, {"name": "unmanaged_slot_3"}], "postgresql": {"parameters": {"wal_level": "logical"}}} # features/steps/patroni_api.py:71 1532s Nov 11 10:51:38 Then I receive a response code 200 # features/steps/patroni_api.py:98 1532s Nov 11 10:51:38 And Response on GET http://127.0.0.1:8009/config contains ignore_slots after 10 seconds # features/steps/patroni_api.py:156 1532s Nov 11 10:51:38 When I shut down postgres1 # features/steps/basic_replication.py:29 1534s Nov 11 10:51:40 And I start postgres1 # features/steps/basic_replication.py:8 1536s Nov 11 10:51:42 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 1537s Nov 11 10:51:43 And "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 1538s Nov 11 10:51:44 And postgres1 role is the primary after 20 seconds # features/steps/basic_replication.py:105 1538s Nov 11 10:51:44 When I create a logical replication slot unmanaged_slot_0 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1538s Nov 11 10:51:44 And I create a logical replication slot unmanaged_slot_1 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1538s Nov 11 10:51:44 And I create a logical replication slot unmanaged_slot_2 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1538s Nov 11 10:51:44 And I create a logical replication slot unmanaged_slot_3 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1538s Nov 11 10:51:44 And I create a logical replication slot dummy_slot on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1538s Nov 11 10:51:44 Then postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1538s Nov 11 10:51:44 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1538s Nov 11 10:51:44 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1538s Nov 11 10:51:44 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1538s Nov 11 10:51:44 When I start postgres0 # features/steps/basic_replication.py:8 1541s Nov 11 10:51:47 Then "members/postgres0" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 1541s Nov 11 10:51:47 And postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 1541s Nov 11 10:51:47 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 1542s Nov 11 10:51:48 When I shut down postgres1 # features/steps/basic_replication.py:29 1544s Nov 11 10:51:50 Then "members/postgres0" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 1545s Nov 11 10:51:51 When I start postgres1 # features/steps/basic_replication.py:8 1547s Nov 11 10:51:53 Then postgres1 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 1547s Nov 11 10:51:53 And "members/postgres1" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 1548s Nov 11 10:51:54 And I sleep for 2 seconds # features/steps/patroni_api.py:39 1550s Nov 11 10:51:56 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1550s Nov 11 10:51:56 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1550s Nov 11 10:51:56 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1550s Nov 11 10:51:56 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1550s Nov 11 10:51:56 And postgres1 does not have a replication slot named dummy_slot # features/steps/slots.py:40 1550s Nov 11 10:51:56 When I shut down postgres0 # features/steps/basic_replication.py:29 1552s Nov 11 10:51:58 Then "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 1553s Nov 11 10:51:59 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1553s Nov 11 10:51:59 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1553s Nov 11 10:51:59 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1553s Nov 11 10:51:59 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1556s Nov 11 10:52:02 1556s Nov 11 10:52:02 Feature: nostream node # features/nostream_node.feature:1 1556s Nov 11 10:52:02 1556s Nov 11 10:52:02 Scenario: check nostream node is recovering from archive # features/nostream_node.feature:3 1556s Nov 11 10:52:02 When I start postgres0 # features/steps/basic_replication.py:8 1558s Nov 11 10:52:04 And I configure and start postgres1 with a tag nostream true # features/steps/cascading_replication.py:7 1560s Nov 11 10:52:06 Then "members/postgres1" key in DCS has replication_state=in archive recovery after 10 seconds # features/steps/cascading_replication.py:23 1561s Nov 11 10:52:07 And replication works from postgres0 to postgres1 after 30 seconds # features/steps/basic_replication.py:112 1566s Nov 11 10:52:12 1566s Nov 11 10:52:12 @slot-advance 1566s Nov 11 10:52:12 Scenario: check permanent logical replication slots are not copied # features/nostream_node.feature:10 1566s Nov 11 10:52:12 When I issue a PATCH request to http://127.0.0.1:8008/config with {"postgresql": {"parameters": {"wal_level": "logical"}}, "slots":{"test_logical":{"type":"logical","database":"postgres","plugin":"test_decoding"}}} # features/steps/patroni_api.py:71 1566s Nov 11 10:52:12 Then I receive a response code 200 # features/steps/patroni_api.py:98 1566s Nov 11 10:52:12 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 1567s Nov 11 10:52:13 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 1568s Nov 11 10:52:14 When I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 1571s Nov 11 10:52:17 Then "members/postgres2" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 1577s Nov 11 10:52:23 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 1577s Nov 11 10:52:23 And postgres2 does not have a replication slot named test_logical # features/steps/slots.py:40 1583s Nov 11 10:52:29 1583s Nov 11 10:52:29 Feature: patroni api # features/patroni_api.feature:1 1583s Nov 11 10:52:29 We should check that patroni correctly responds to valid and not-valid API requests. 1583s Nov 11 10:52:29 Scenario: check API requests on a stand-alone server # features/patroni_api.feature:4 1583s Nov 11 10:52:29 Given I start postgres0 # features/steps/basic_replication.py:8 1585s Nov 11 10:52:31 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1586s Nov 11 10:52:32 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 1587s Nov 11 10:52:32 Then I receive a response code 200 # features/steps/patroni_api.py:98 1587s Nov 11 10:52:32 And I receive a response state running # features/steps/patroni_api.py:98 1587s Nov 11 10:52:32 And I receive a response role master # features/steps/patroni_api.py:98 1587s Nov 11 10:52:32 When I issue a GET request to http://127.0.0.1:8008/standby_leader # features/steps/patroni_api.py:61 1587s Nov 11 10:52:33 Then I receive a response code 503 # features/steps/patroni_api.py:98 1587s Nov 11 10:52:33 When I issue a GET request to http://127.0.0.1:8008/health # features/steps/patroni_api.py:61 1587s Nov 11 10:52:33 Then I receive a response code 200 # features/steps/patroni_api.py:98 1587s Nov 11 10:52:33 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 1587s Nov 11 10:52:33 Then I receive a response code 503 # features/steps/patroni_api.py:98 1587s Nov 11 10:52:33 When I issue a POST request to http://127.0.0.1:8008/reinitialize with {"force": true} # features/steps/patroni_api.py:71 1587s Nov 11 10:52:33 Then I receive a response code 503 # features/steps/patroni_api.py:98 1587s Nov 11 10:52:33 And I receive a response text I am the leader, can not reinitialize # features/steps/patroni_api.py:98 1587s Nov 11 10:52:33 When I run patronictl.py switchover batman --master postgres0 --force # features/steps/patroni_api.py:86 1588s Nov 11 10:52:34 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 1588s Nov 11 10:52:34 And I receive a response output "Error: No candidates found to switchover to" # features/steps/patroni_api.py:98 1588s Nov 11 10:52:34 When I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres0"} # features/steps/patroni_api.py:71 1588s Nov 11 10:52:34 Then I receive a response code 412 # features/steps/patroni_api.py:98 1588s Nov 11 10:52:34 And I receive a response text switchover is not possible: cluster does not have members except leader # features/steps/patroni_api.py:98 1588s Nov 11 10:52:34 When I issue an empty POST request to http://127.0.0.1:8008/failover # features/steps/patroni_api.py:66 1588s Nov 11 10:52:34 Then I receive a response code 400 # features/steps/patroni_api.py:98 1588s Nov 11 10:52:34 When I issue a POST request to http://127.0.0.1:8008/failover with {"foo": "bar"} # features/steps/patroni_api.py:71 1588s Nov 11 10:52:34 Then I receive a response code 400 # features/steps/patroni_api.py:98 1588s Nov 11 10:52:34 And I receive a response text "Failover could be performed only to a specific candidate" # features/steps/patroni_api.py:98 1588s Nov 11 10:52:34 1588s Nov 11 10:52:34 Scenario: check local configuration reload # features/patroni_api.feature:32 1588s Nov 11 10:52:34 Given I add tag new_tag new_value to postgres0 config # features/steps/patroni_api.py:137 1588s Nov 11 10:52:34 And I issue an empty POST request to http://127.0.0.1:8008/reload # features/steps/patroni_api.py:66 1588s Nov 11 10:52:34 Then I receive a response code 202 # features/steps/patroni_api.py:98 1588s Nov 11 10:52:34 1588s Nov 11 10:52:34 Scenario: check dynamic configuration change via DCS # features/patroni_api.feature:37 1588s Nov 11 10:52:34 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"ttl": 20, "postgresql": {"parameters": {"max_connections": "101"}}} # features/steps/patroni_api.py:71 1588s Nov 11 10:52:34 Then I receive a response code 200 # features/steps/patroni_api.py:98 1588s Nov 11 10:52:34 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 11 seconds # features/steps/patroni_api.py:156 1590s Nov 11 10:52:36 When I issue a GET request to http://127.0.0.1:8008/config # features/steps/patroni_api.py:61 1590s Nov 11 10:52:36 Then I receive a response code 200 # features/steps/patroni_api.py:98 1590s Nov 11 10:52:36 And I receive a response ttl 20 # features/steps/patroni_api.py:98 1590s Nov 11 10:52:36 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 1590s Nov 11 10:52:36 Then I receive a response code 200 # features/steps/patroni_api.py:98 1590s Nov 11 10:52:36 And I receive a response tags {'new_tag': 'new_value'} # features/steps/patroni_api.py:98 1590s Nov 11 10:52:36 And I sleep for 4 seconds # features/steps/patroni_api.py:39 1594s Nov 11 10:52:40 1594s Nov 11 10:52:40 Scenario: check the scheduled restart # features/patroni_api.feature:49 1594s Nov 11 10:52:40 Given I run patronictl.py edit-config -p 'superuser_reserved_connections=6' --force batman # features/steps/patroni_api.py:86 1595s Nov 11 10:52:41 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1595s Nov 11 10:52:41 And I receive a response output "+ superuser_reserved_connections: 6" # features/steps/patroni_api.py:98 1595s Nov 11 10:52:41 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 5 seconds # features/steps/patroni_api.py:156 1595s Nov 11 10:52:41 Given I issue a scheduled restart at http://127.0.0.1:8008 in 5 seconds with {"role": "replica"} # features/steps/patroni_api.py:124 1595s Nov 11 10:52:41 Then I receive a response code 202 # features/steps/patroni_api.py:98 1595s Nov 11 10:52:41 And I sleep for 8 seconds # features/steps/patroni_api.py:39 1603s Nov 11 10:52:49 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 10 seconds # features/steps/patroni_api.py:156 1603s Nov 11 10:52:49 Given I issue a scheduled restart at http://127.0.0.1:8008 in 5 seconds with {"restart_pending": "True"} # features/steps/patroni_api.py:124 1603s Nov 11 10:52:49 Then I receive a response code 202 # features/steps/patroni_api.py:98 1603s Nov 11 10:52:49 And Response on GET http://127.0.0.1:8008/patroni does not contain pending_restart after 10 seconds # features/steps/patroni_api.py:171 1610s Nov 11 10:52:56 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1611s Nov 11 10:52:57 1611s Nov 11 10:52:57 Scenario: check API requests for the primary-replica pair in the pause mode # features/patroni_api.feature:63 1611s Nov 11 10:52:57 Given I start postgres1 # features/steps/basic_replication.py:8 1613s Nov 11 10:52:59 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1614s Nov 11 10:53:00 When I run patronictl.py pause batman # features/steps/patroni_api.py:86 1615s Nov 11 10:53:01 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1615s Nov 11 10:53:01 When I kill postmaster on postgres1 # features/steps/basic_replication.py:44 1615s Nov 11 10:53:01 waiting for server to shut down.... done 1615s Nov 11 10:53:01 server stopped 1615s Nov 11 10:53:01 And I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 1615s Nov 11 10:53:01 Then I receive a response code 503 # features/steps/patroni_api.py:98 1615s Nov 11 10:53:01 And "members/postgres1" key in DCS has state=stopped after 10 seconds # features/steps/cascading_replication.py:23 1616s Nov 11 10:53:02 When I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 1619s Nov 11 10:53:05 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1619s Nov 11 10:53:05 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1620s Nov 11 10:53:06 And I sleep for 2 seconds # features/steps/patroni_api.py:39 1622s Nov 11 10:53:08 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 1622s Nov 11 10:53:08 Then I receive a response code 200 # features/steps/patroni_api.py:98 1622s Nov 11 10:53:08 And I receive a response state running # features/steps/patroni_api.py:98 1622s Nov 11 10:53:08 And I receive a response role replica # features/steps/patroni_api.py:98 1622s Nov 11 10:53:08 When I run patronictl.py reinit batman postgres1 --force --wait # features/steps/patroni_api.py:86 1625s Nov 11 10:53:11 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1625s Nov 11 10:53:11 And I receive a response output "Success: reinitialize for member postgres1" # features/steps/patroni_api.py:98 1625s Nov 11 10:53:11 And postgres1 role is the secondary after 30 seconds # features/steps/basic_replication.py:105 1626s Nov 11 10:53:12 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1627s Nov 11 10:53:13 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 1629s Nov 11 10:53:15 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1629s Nov 11 10:53:15 And I receive a response output "Success: restart on member postgres0" # features/steps/patroni_api.py:98 1629s Nov 11 10:53:15 And postgres0 role is the primary after 5 seconds # features/steps/basic_replication.py:105 1630s Nov 11 10:53:16 1630s Nov 11 10:53:16 Scenario: check the switchover via the API in the pause mode # features/patroni_api.feature:90 1630s Nov 11 10:53:16 Given I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres0", "candidate": "postgres1"} # features/steps/patroni_api.py:71 1632s Nov 11 10:53:18 Then I receive a response code 200 # features/steps/patroni_api.py:98 1632s Nov 11 10:53:18 And postgres1 is a leader after 5 seconds # features/steps/patroni_api.py:29 1632s Nov 11 10:53:18 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1632s Nov 11 10:53:18 And postgres0 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 1638s Nov 11 10:53:23 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 1638s Nov 11 10:53:24 And "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1639s Nov 11 10:53:25 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 1639s Nov 11 10:53:25 Then I receive a response code 503 # features/steps/patroni_api.py:98 1639s Nov 11 10:53:25 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 1639s Nov 11 10:53:25 Then I receive a response code 200 # features/steps/patroni_api.py:98 1639s Nov 11 10:53:25 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 1639s Nov 11 10:53:25 Then I receive a response code 200 # features/steps/patroni_api.py:98 1639s Nov 11 10:53:25 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 1639s Nov 11 10:53:25 Then I receive a response code 503 # features/steps/patroni_api.py:98 1639s Nov 11 10:53:25 1639s Nov 11 10:53:25 Scenario: check the scheduled switchover # features/patroni_api.feature:107 1639s Nov 11 10:53:25 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 1640s Nov 11 10:53:26 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 1640s Nov 11 10:53:26 And I receive a response output "Can't schedule switchover in the paused state" # features/steps/patroni_api.py:98 1640s Nov 11 10:53:26 When I run patronictl.py resume batman # features/steps/patroni_api.py:86 1641s Nov 11 10:53:27 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1641s Nov 11 10:53:27 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 1642s Nov 11 10:53:28 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1642s Nov 11 10:53:28 And postgres0 is a leader after 20 seconds # features/steps/patroni_api.py:29 1653s Nov 11 10:53:39 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1653s Nov 11 10:53:39 And postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 1655s Nov 11 10:53:41 And replication works from postgres0 to postgres1 after 25 seconds # features/steps/basic_replication.py:112 1655s Nov 11 10:53:41 And "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1657s Nov 11 10:53:43 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 1657s Nov 11 10:53:43 Then I receive a response code 200 # features/steps/patroni_api.py:98 1657s Nov 11 10:53:43 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 1657s Nov 11 10:53:43 Then I receive a response code 503 # features/steps/patroni_api.py:98 1657s Nov 11 10:53:43 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 1657s Nov 11 10:53:43 Then I receive a response code 503 # features/steps/patroni_api.py:98 1657s Nov 11 10:53:43 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 1657s Nov 11 10:53:43 Then I receive a response code 200 # features/steps/patroni_api.py:98 1661s Nov 11 10:53:47 1661s Nov 11 10:53:47 Feature: permanent slots # features/permanent_slots.feature:1 1661s Nov 11 10:53:47 1661s Nov 11 10:53:47 Scenario: check that physical permanent slots are created # features/permanent_slots.feature:2 1661s Nov 11 10:53:47 Given I start postgres0 # features/steps/basic_replication.py:8 1663s Nov 11 10:53:49 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1666s Nov 11 10:53:51 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1666s Nov 11 10:53:51 When I issue a PATCH request to http://127.0.0.1:8008/config with {"slots":{"test_physical":0,"postgres0":0,"postgres1":0,"postgres3":0},"postgresql":{"parameters":{"wal_level":"logical"}}} # features/steps/patroni_api.py:71 1666s Nov 11 10:53:51 Then I receive a response code 200 # features/steps/patroni_api.py:98 1666s Nov 11 10:53:51 And Response on GET http://127.0.0.1:8008/config contains slots after 10 seconds # features/steps/patroni_api.py:156 1666s Nov 11 10:53:51 When I start postgres1 # features/steps/basic_replication.py:8 1668s Nov 11 10:53:54 And I start postgres2 # features/steps/basic_replication.py:8 1671s Nov 11 10:53:57 And I configure and start postgres3 with a tag replicatefrom postgres2 # features/steps/cascading_replication.py:7 1674s Nov 11 10:54:00 Then postgres0 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 1674s Nov 11 10:54:00 And postgres0 has a physical replication slot named postgres1 after 10 seconds # features/steps/slots.py:80 1674s Nov 11 10:54:00 And postgres0 has a physical replication slot named postgres2 after 10 seconds # features/steps/slots.py:80 1674s Nov 11 10:54:00 And postgres2 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 1674s Nov 11 10:54:00 1674s Nov 11 10:54:00 @slot-advance 1674s Nov 11 10:54:00 Scenario: check that logical permanent slots are created # features/permanent_slots.feature:18 1674s Nov 11 10:54:00 Given I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 1677s Nov 11 10:54:03 And I issue a PATCH request to http://127.0.0.1:8008/config with {"slots":{"test_logical":{"type":"logical","database":"postgres","plugin":"test_decoding"}}} # features/steps/patroni_api.py:71 1677s Nov 11 10:54:03 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 1678s Nov 11 10:54:04 1678s Nov 11 10:54:04 @slot-advance 1678s Nov 11 10:54:04 Scenario: check that permanent slots are created on replicas # features/permanent_slots.feature:24 1678s Nov 11 10:54:04 Given postgres1 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 1684s Nov 11 10:54:10 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1684s Nov 11 10:54:10 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 1685s Nov 11 10:54:11 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 1686s Nov 11 10:54:12 And postgres1 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 1686s Nov 11 10:54:12 And postgres2 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 1686s Nov 11 10:54:12 And postgres3 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 1686s Nov 11 10:54:12 1686s Nov 11 10:54:12 @slot-advance 1686s Nov 11 10:54:12 Scenario: check permanent physical slots that match with member names # features/permanent_slots.feature:34 1686s Nov 11 10:54:12 Given postgres0 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 1686s Nov 11 10:54:12 And postgres1 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 1686s Nov 11 10:54:12 And postgres1 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 1686s Nov 11 10:54:12 And postgres2 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 1686s Nov 11 10:54:12 And postgres2 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 1686s Nov 11 10:54:12 And postgres2 has a physical replication slot named postgres1 after 2 seconds # features/steps/slots.py:80 1686s Nov 11 10:54:12 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 1686s Nov 11 10:54:12 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 1686s Nov 11 10:54:12 1686s Nov 11 10:54:12 @slot-advance 1686s Nov 11 10:54:12 Scenario: check that permanent slots are advanced on replicas # features/permanent_slots.feature:45 1686s Nov 11 10:54:12 Given I add the table replicate_me to postgres0 # features/steps/basic_replication.py:54 1686s Nov 11 10:54:12 When I get all changes from logical slot test_logical on postgres0 # features/steps/slots.py:70 1686s Nov 11 10:54:12 And I get all changes from physical slot test_physical on postgres0 # features/steps/slots.py:75 1686s Nov 11 10:54:12 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1689s Nov 11 10:54:15 And Physical slot test_physical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1689s Nov 11 10:54:15 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 1689s Nov 11 10:54:15 And Physical slot test_physical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 1689s Nov 11 10:54:15 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 1689s Nov 11 10:54:15 And Physical slot test_physical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 1689s Nov 11 10:54:15 And Physical slot postgres1 is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 1689s Nov 11 10:54:15 And Physical slot postgres3 is in sync between postgres2 and postgres0 after 20 seconds # features/steps/slots.py:51 1689s Nov 11 10:54:15 And Physical slot postgres3 is in sync between postgres2 and postgres1 after 10 seconds # features/steps/slots.py:51 1689s Nov 11 10:54:15 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 1689s Nov 11 10:54:15 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 1689s Nov 11 10:54:15 1689s Nov 11 10:54:15 @slot-advance 1689s Nov 11 10:54:15 Scenario: check that only permanent slots are written to the /status key # features/permanent_slots.feature:62 1689s Nov 11 10:54:15 Given "status" key in DCS has test_physical in slots # features/steps/slots.py:96 1689s Nov 11 10:54:15 And "status" key in DCS has postgres0 in slots # features/steps/slots.py:96 1689s Nov 11 10:54:15 And "status" key in DCS has postgres1 in slots # features/steps/slots.py:96 1689s Nov 11 10:54:15 And "status" key in DCS does not have postgres2 in slots # features/steps/slots.py:102 1689s Nov 11 10:54:15 And "status" key in DCS has postgres3 in slots # features/steps/slots.py:96 1689s Nov 11 10:54:15 1689s Nov 11 10:54:15 Scenario: check permanent physical replication slot after failover # features/permanent_slots.feature:69 1689s Nov 11 10:54:15 Given I shut down postgres3 # features/steps/basic_replication.py:29 1690s Nov 11 10:54:16 And I shut down postgres2 # features/steps/basic_replication.py:29 1691s Nov 11 10:54:17 And I shut down postgres0 # features/steps/basic_replication.py:29 1693s Nov 11 10:54:19 Then postgres1 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 1693s Nov 11 10:54:19 And postgres1 has a physical replication slot named postgres0 after 10 seconds # features/steps/slots.py:80 1693s Nov 11 10:54:19 And postgres1 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 1696s Nov 11 10:54:22 1696s Nov 11 10:54:22 Feature: priority replication # features/priority_failover.feature:1 1696s Nov 11 10:54:22 We should check that we can give nodes priority during failover 1696s Nov 11 10:54:22 Scenario: check failover priority 0 prevents leaderships # features/priority_failover.feature:4 1696s Nov 11 10:54:22 Given I configure and start postgres0 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 1698s Nov 11 10:54:24 And I configure and start postgres1 with a tag failover_priority 0 # features/steps/cascading_replication.py:7 1701s Nov 11 10:54:26 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1701s Nov 11 10:54:27 When I shut down postgres0 # features/steps/basic_replication.py:29 1703s Nov 11 10:54:29 And there is one of ["following a different leader because I am not allowed to promote"] INFO in the postgres1 patroni log after 5 seconds # features/steps/basic_replication.py:121 1705s Nov 11 10:54:31 Then postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 1705s Nov 11 10:54:31 When I start postgres0 # features/steps/basic_replication.py:8 1707s Nov 11 10:54:33 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1708s Nov 11 10:54:34 1708s Nov 11 10:54:34 Scenario: check higher failover priority is respected # features/priority_failover.feature:14 1708s Nov 11 10:54:34 Given I configure and start postgres2 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 1711s Nov 11 10:54:37 And I configure and start postgres3 with a tag failover_priority 2 # features/steps/cascading_replication.py:7 1714s Nov 11 10:54:40 Then replication works from postgres0 to postgres2 after 20 seconds # features/steps/basic_replication.py:112 1715s Nov 11 10:54:41 And replication works from postgres0 to postgres3 after 20 seconds # features/steps/basic_replication.py:112 1716s Nov 11 10:54:42 When I shut down postgres0 # features/steps/basic_replication.py:29 1718s Nov 11 10:54:44 Then postgres3 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1718s Nov 11 10:54:44 And there is one of ["postgres3 has equally tolerable WAL position and priority 2, while this node has priority 1","Wal position of postgres3 is ahead of my wal position"] INFO in the postgres2 patroni log after 5 seconds # features/steps/basic_replication.py:121 1718s Nov 11 10:54:44 1718s Nov 11 10:54:44 Scenario: check conflicting configuration handling # features/priority_failover.feature:23 1718s Nov 11 10:54:44 When I set nofailover tag in postgres2 config # features/steps/patroni_api.py:131 1718s Nov 11 10:54:44 And I issue an empty POST request to http://127.0.0.1:8010/reload # features/steps/patroni_api.py:66 1718s Nov 11 10:54:44 Then I receive a response code 202 # features/steps/patroni_api.py:98 1718s Nov 11 10:54:44 And there is one of ["Conflicting configuration between nofailover: True and failover_priority: 1. Defaulting to nofailover: True"] WARNING in the postgres2 patroni log after 5 seconds # features/steps/basic_replication.py:121 1720s Nov 11 10:54:46 And "members/postgres2" key in DCS has tags={'failover_priority': '1', 'nofailover': True} after 10 seconds # features/steps/cascading_replication.py:23 1721s Nov 11 10:54:47 When I issue a POST request to http://127.0.0.1:8010/failover with {"candidate": "postgres2"} # features/steps/patroni_api.py:71 1721s Nov 11 10:54:47 Then I receive a response code 412 # features/steps/patroni_api.py:98 1721s Nov 11 10:54:47 And I receive a response text "failover is not possible: no good candidates have been found" # features/steps/patroni_api.py:98 1721s Nov 11 10:54:47 When I reset nofailover tag in postgres1 config # features/steps/patroni_api.py:131 1721s Nov 11 10:54:47 And I issue an empty POST request to http://127.0.0.1:8009/reload # features/steps/patroni_api.py:66 1721s Nov 11 10:54:47 Then I receive a response code 202 # features/steps/patroni_api.py:98 1721s Nov 11 10:54:47 And there is one of ["Conflicting configuration between nofailover: False and failover_priority: 0. Defaulting to nofailover: False"] WARNING in the postgres1 patroni log after 5 seconds # features/steps/basic_replication.py:121 1722s Nov 11 10:54:48 And "members/postgres1" key in DCS has tags={'failover_priority': '0', 'nofailover': False} after 10 seconds # features/steps/cascading_replication.py:23 1723s Nov 11 10:54:49 And I issue a POST request to http://127.0.0.1:8009/failover with {"candidate": "postgres1"} # features/steps/patroni_api.py:71 1726s Nov 11 10:54:52 Then I receive a response code 200 # features/steps/patroni_api.py:98 1726s Nov 11 10:54:52 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1730s Nov 11 10:54:56 1730s Nov 11 10:54:56 Feature: recovery # features/recovery.feature:1 1730s Nov 11 10:54:56 We want to check that crashed postgres is started back 1730s Nov 11 10:54:56 Scenario: check that timeline is not incremented when primary is started after crash # features/recovery.feature:4 1730s Nov 11 10:54:56 Given I start postgres0 # features/steps/basic_replication.py:8 1732s Nov 11 10:54:58 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1732s Nov 11 10:54:58 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1732s Nov 11 10:54:58 When I start postgres1 # features/steps/basic_replication.py:8 1736s Nov 11 10:55:01 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 1736s Nov 11 10:55:02 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 1737s Nov 11 10:55:03 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 1737s Nov 11 10:55:03 waiting for server to shut down.... done 1737s Nov 11 10:55:03 server stopped 1737s Nov 11 10:55:03 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1740s Nov 11 10:55:06 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 1740s Nov 11 10:55:06 Then I receive a response code 200 # features/steps/patroni_api.py:98 1740s Nov 11 10:55:06 And I receive a response role master # features/steps/patroni_api.py:98 1740s Nov 11 10:55:06 And I receive a response timeline 1 # features/steps/patroni_api.py:98 1740s Nov 11 10:55:06 And "members/postgres0" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 1741s Nov 11 10:55:07 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 1743s Nov 11 10:55:09 1743s Nov 11 10:55:09 Scenario: check immediate failover when master_start_timeout=0 # features/recovery.feature:20 1743s Nov 11 10:55:09 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"master_start_timeout": 0} # features/steps/patroni_api.py:71 1743s Nov 11 10:55:09 Then I receive a response code 200 # features/steps/patroni_api.py:98 1743s Nov 11 10:55:09 And Response on GET http://127.0.0.1:8008/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 1743s Nov 11 10:55:09 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 1743s Nov 11 10:55:09 waiting for server to shut down.... done 1743s Nov 11 10:55:09 server stopped 1743s Nov 11 10:55:09 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 1745s Nov 11 10:55:11 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1749s Nov 11 10:55:15 1749s Nov 11 10:55:15 Feature: standby cluster # features/standby_cluster.feature:1 1749s Nov 11 10:55:15 1749s Nov 11 10:55:15 Scenario: prepare the cluster with logical slots # features/standby_cluster.feature:2 1749s Nov 11 10:55:15 Given I start postgres1 # features/steps/basic_replication.py:8 1751s Nov 11 10:55:17 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 1751s Nov 11 10:55:17 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1751s Nov 11 10:55:17 When I issue a PATCH request to http://127.0.0.1:8009/config with {"slots": {"pm_1": {"type": "physical"}}, "postgresql": {"parameters": {"wal_level": "logical"}}} # features/steps/patroni_api.py:71 1751s Nov 11 10:55:17 Then I receive a response code 200 # features/steps/patroni_api.py:98 1751s Nov 11 10:55:17 And Response on GET http://127.0.0.1:8009/config contains slots after 10 seconds # features/steps/patroni_api.py:156 1751s Nov 11 10:55:17 And I sleep for 3 seconds # features/steps/patroni_api.py:39 1754s Nov 11 10:55:20 When I issue a PATCH request to http://127.0.0.1:8009/config with {"slots": {"test_logical": {"type": "logical", "database": "postgres", "plugin": "test_decoding"}}} # features/steps/patroni_api.py:71 1754s Nov 11 10:55:20 Then I receive a response code 200 # features/steps/patroni_api.py:98 1754s Nov 11 10:55:20 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 1755s Nov 11 10:55:21 When I start postgres0 # features/steps/basic_replication.py:8 1758s Nov 11 10:55:24 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1758s Nov 11 10:55:24 And replication works from postgres1 to postgres0 after 15 seconds # features/steps/basic_replication.py:112 1759s Nov 11 10:55:25 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 1759s Nov 11 10:55:25 Then I receive a response code 200 # features/steps/patroni_api.py:98 1759s Nov 11 10:55:25 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 1759s Nov 11 10:55:25 And "members/postgres0" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 1760s Nov 11 10:55:26 1760s Nov 11 10:55:26 @slot-advance 1760s Nov 11 10:55:26 Scenario: check permanent logical slots are synced to the replica # features/standby_cluster.feature:22 1760s Nov 11 10:55:26 Given I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 1761s Nov 11 10:55:27 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1767s Nov 11 10:55:33 1767s Nov 11 10:55:33 Scenario: Detach exiting node from the cluster # features/standby_cluster.feature:26 1767s Nov 11 10:55:33 When I shut down postgres1 # features/steps/basic_replication.py:29 1769s Nov 11 10:55:35 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1769s Nov 11 10:55:35 And "members/postgres0" key in DCS has role=master after 5 seconds # features/steps/cascading_replication.py:23 1770s Nov 11 10:55:36 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 1770s Nov 11 10:55:36 Then I receive a response code 200 # features/steps/patroni_api.py:98 1770s Nov 11 10:55:36 1770s Nov 11 10:55:36 Scenario: check replication of a single table in a standby cluster # features/standby_cluster.feature:33 1770s Nov 11 10:55:36 Given I start postgres1 in a standby cluster batman1 as a clone of postgres0 # features/steps/standby_cluster.py:23 1772s Nov 11 10:55:38 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 1773s Nov 11 10:55:39 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 1773s Nov 11 10:55:39 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 1773s Nov 11 10:55:39 When I issue a GET request to http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:61 1773s Nov 11 10:55:39 Then I receive a response code 200 # features/steps/patroni_api.py:98 1773s Nov 11 10:55:39 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 1773s Nov 11 10:55:39 And I sleep for 3 seconds # features/steps/patroni_api.py:39 1776s Nov 11 10:55:42 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 1776s Nov 11 10:55:42 Then I receive a response code 503 # features/steps/patroni_api.py:98 1776s Nov 11 10:55:42 When I issue a GET request to http://127.0.0.1:8009/standby_leader # features/steps/patroni_api.py:61 1777s Nov 11 10:55:42 Then I receive a response code 200 # features/steps/patroni_api.py:98 1777s Nov 11 10:55:42 And I receive a response role standby_leader # features/steps/patroni_api.py:98 1777s Nov 11 10:55:42 And there is a postgres1_cb.log with "on_role_change standby_leader batman1" in postgres1 data directory # features/steps/cascading_replication.py:12 1777s Nov 11 10:55:42 When I start postgres2 in a cluster batman1 # features/steps/standby_cluster.py:12 1779s Nov 11 10:55:45 Then postgres2 role is the replica after 24 seconds # features/steps/basic_replication.py:105 1779s Nov 11 10:55:45 And postgres2 is replicating from postgres1 after 10 seconds # features/steps/standby_cluster.py:52 1780s Nov 11 10:55:46 And table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 1780s Nov 11 10:55:46 When I issue a GET request to http://127.0.0.1:8010/patroni # features/steps/patroni_api.py:61 1780s Nov 11 10:55:46 Then I receive a response code 200 # features/steps/patroni_api.py:98 1780s Nov 11 10:55:46 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 1780s Nov 11 10:55:46 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 1780s Nov 11 10:55:46 1780s Nov 11 10:55:46 Scenario: check switchover # features/standby_cluster.feature:57 1780s Nov 11 10:55:46 Given I run patronictl.py switchover batman1 --force # features/steps/patroni_api.py:86 1783s Nov 11 10:55:49 Then Status code on GET http://127.0.0.1:8010/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 1783s Nov 11 10:55:49 And postgres1 is replicating from postgres2 after 32 seconds # features/steps/standby_cluster.py:52 1785s Nov 11 10:55:51 And there is a postgres2_cb.log with "on_start replica batman1\non_role_change standby_leader batman1" in postgres2 data directory # features/steps/cascading_replication.py:12 1785s Nov 11 10:55:51 1785s Nov 11 10:55:51 Scenario: check failover # features/standby_cluster.feature:63 1785s Nov 11 10:55:51 When I kill postgres2 # features/steps/basic_replication.py:34 1786s Nov 11 10:55:52 And I kill postmaster on postgres2 # features/steps/basic_replication.py:44 1786s Nov 11 10:55:52 waiting for server to shut down.... done 1786s Nov 11 10:55:52 server stopped 1786s Nov 11 10:55:52 Then postgres1 is replicating from postgres0 after 32 seconds # features/steps/standby_cluster.py:52 1807s Nov 11 10:56:13 And Status code on GET http://127.0.0.1:8009/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 1807s Nov 11 10:56:13 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 1807s Nov 11 10:56:13 Then I receive a response code 503 # features/steps/patroni_api.py:98 1807s Nov 11 10:56:13 And I receive a response role standby_leader # features/steps/patroni_api.py:98 1807s Nov 11 10:56:13 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 1808s Nov 11 10:56:14 And there is a postgres1_cb.log with "on_role_change replica batman1\non_role_change standby_leader batman1" in postgres1 data directory # features/steps/cascading_replication.py:12 1812s Nov 11 10:56:18 1812s Nov 11 10:56:18 Feature: watchdog # features/watchdog.feature:1 1812s Nov 11 10:56:18 Verify that watchdog gets pinged and triggered under appropriate circumstances. 1812s Nov 11 10:56:18 Scenario: watchdog is opened and pinged # features/watchdog.feature:4 1812s Nov 11 10:56:18 Given I start postgres0 with watchdog # features/steps/watchdog.py:16 1814s Nov 11 10:56:20 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1814s Nov 11 10:56:20 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1814s Nov 11 10:56:20 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 1815s Nov 11 10:56:21 And postgres0 watchdog has a 15 second timeout # features/steps/watchdog.py:34 1815s Nov 11 10:56:21 1815s Nov 11 10:56:21 Scenario: watchdog is reconfigured after global ttl changed # features/watchdog.feature:11 1815s Nov 11 10:56:21 Given I run patronictl.py edit-config batman -s ttl=30 --force # features/steps/patroni_api.py:86 1816s Nov 11 10:56:22 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1816s Nov 11 10:56:22 And I receive a response output "+ttl: 30" # features/steps/patroni_api.py:98 1816s Nov 11 10:56:22 When I sleep for 4 seconds # features/steps/patroni_api.py:39 1820s Nov 11 10:56:26 Then postgres0 watchdog has a 25 second timeout # features/steps/watchdog.py:34 1820s Nov 11 10:56:26 1820s Nov 11 10:56:26 Scenario: watchdog is disabled during pause # features/watchdog.feature:18 1820s Nov 11 10:56:26 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 1821s Nov 11 10:56:27 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1821s Nov 11 10:56:27 When I sleep for 2 seconds # features/steps/patroni_api.py:39 1823s Nov 11 10:56:29 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 1823s Nov 11 10:56:29 1823s Nov 11 10:56:29 Scenario: watchdog is opened and pinged after resume # features/watchdog.feature:24 1823s Nov 11 10:56:29 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 1823s Nov 11 10:56:29 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 1824s Nov 11 10:56:30 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1824s Nov 11 10:56:30 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 1825s Nov 11 10:56:31 1825s Nov 11 10:56:31 Scenario: watchdog is disabled when shutting down # features/watchdog.feature:30 1825s Nov 11 10:56:31 Given I shut down postgres0 # features/steps/basic_replication.py:29 1827s Nov 11 10:56:33 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 1827s Nov 11 10:56:33 1827s Nov 11 10:56:33 Scenario: watchdog is triggered if patroni stops responding # features/watchdog.feature:34 1827s Nov 11 10:56:33 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 1827s Nov 11 10:56:33 And I start postgres0 with watchdog # features/steps/watchdog.py:16 1829s Nov 11 10:56:35 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1830s Nov 11 10:56:36 When postgres0 hangs for 30 seconds # features/steps/watchdog.py:52 1830s Nov 11 10:56:36 Then postgres0 watchdog is triggered after 30 seconds # features/steps/watchdog.py:44 1854s Nov 11 10:57:00 1855s Nov 11 10:57:01 Combined data file .coverage.autopkgtest.10042.XKkJOBNx 1855s Nov 11 10:57:01 Combined data file .coverage.autopkgtest.10087.XhCbuxbx 1855s Nov 11 10:57:01 Combined data file .coverage.autopkgtest.10234.XhKZQFzx 1855s Nov 11 10:57:01 Combined data file .coverage.autopkgtest.10297.XbcPdrtx 1855s Nov 11 10:57:01 Combined data file .coverage.autopkgtest.10365.XJRJtoJx 1855s Nov 11 10:57:01 Combined data file .coverage.autopkgtest.10472.XcOuqaAx 1855s Nov 11 10:57:01 Combined data file .coverage.autopkgtest.10599.XyduZRFx 1855s Nov 11 10:57:01 Combined data file .coverage.autopkgtest.10797.XSEbzRnx 1855s Nov 11 10:57:01 Combined data file .coverage.autopkgtest.10844.XQYudumx 1855s Nov 11 10:57:01 Combined data file .coverage.autopkgtest.10852.XnfDfaVx 1855s Nov 11 10:57:01 Combined data file .coverage.autopkgtest.10857.XJhwzidx 1855s Nov 11 10:57:01 Combined data file .coverage.autopkgtest.10873.XibInGzx 1855s Nov 11 10:57:01 Combined data file .coverage.autopkgtest.6834.XhhiQisx 1855s Nov 11 10:57:01 Combined data file .coverage.autopkgtest.6884.XPEHEZsx 1855s Nov 11 10:57:01 Combined data file .coverage.autopkgtest.6926.XkBgOaXx 1855s Nov 11 10:57:01 Combined data file .coverage.autopkgtest.6996.XuhPREvx 1855s Nov 11 10:57:01 Combined data file .coverage.autopkgtest.7043.XlWmCwTx 1855s Nov 11 10:57:01 Combined data file .coverage.autopkgtest.7120.XLhBepsx 1855s Nov 11 10:57:01 Combined data file .coverage.autopkgtest.7169.XRqyvcix 1855s Nov 11 10:57:01 Combined data file .coverage.autopkgtest.7175.XDtbLgIx 1855s Nov 11 10:57:01 Combined data file .coverage.autopkgtest.7272.XUeptVgx 1855s Nov 11 10:57:01 Combined data file .coverage.autopkgtest.7376.XccjHyix 1855s Nov 11 10:57:01 Combined data file .coverage.autopkgtest.7388.XGdiRGQx 1855s Nov 11 10:57:01 Combined data file .coverage.autopkgtest.7434.XhwJgTSx 1855s Nov 11 10:57:01 Combined data file .coverage.autopkgtest.7482.XDctedhx 1855s Nov 11 10:57:01 Combined data file .coverage.autopkgtest.7643.XmMQzlGx 1855s Nov 11 10:57:01 Combined data file .coverage.autopkgtest.7690.XxnAnATx 1855s Nov 11 10:57:01 Combined data file .coverage.autopkgtest.7746.XcjXYEux 1855s Nov 11 10:57:01 Combined data file .coverage.autopkgtest.7840.XadBhojx 1855s Nov 11 10:57:01 Combined data file .coverage.autopkgtest.7898.XBDnfNrx 1855s Nov 11 10:57:01 Combined data file .coverage.autopkgtest.7961.XhAqfwMx 1855s Nov 11 10:57:01 Combined data file .coverage.autopkgtest.8055.XqFIbpXx 1855s Nov 11 10:57:01 Combined data file .coverage.autopkgtest.8158.XsndxeCx 1855s Nov 11 10:57:01 Combined data file .coverage.autopkgtest.8196.XXmvIUhx 1855s Nov 11 10:57:01 Combined data file .coverage.autopkgtest.8274.XeEsGJKx 1855s Nov 11 10:57:01 Combined data file .coverage.autopkgtest.8304.XEtDlmgx 1855s Nov 11 10:57:01 Combined data file .coverage.autopkgtest.8486.XUXGLHIx 1855s Nov 11 10:57:01 Combined data file .coverage.autopkgtest.8538.XpBXVvdx 1855s Nov 11 10:57:01 Combined data file .coverage.autopkgtest.8558.XnEIfDJx 1855s Nov 11 10:57:01 Combined data file .coverage.autopkgtest.8599.XCuDpxOx 1855s Nov 11 10:57:01 Skipping duplicate data .coverage.autopkgtest.8650.XpgBQqyx 1855s Nov 11 10:57:01 Combined data file .coverage.autopkgtest.8657.XLvdUYUx 1855s Nov 11 10:57:01 Combined data file .coverage.autopkgtest.8695.XSMXvHUx 1855s Nov 11 10:57:01 Combined data file .coverage.autopkgtest.8739.XxkGtbTx 1855s Nov 11 10:57:01 Combined data file .coverage.autopkgtest.8911.XXVORSlx 1855s Nov 11 10:57:01 Combined data file .coverage.autopkgtest.8915.XNsnEqTx 1855s Nov 11 10:57:01 Combined data file .coverage.autopkgtest.8923.Xbrqdkqx 1855s Nov 11 10:57:01 Combined data file .coverage.autopkgtest.9064.XJqfSVex 1855s Nov 11 10:57:01 Combined data file .coverage.autopkgtest.9113.XlJUsXgx 1855s Nov 11 10:57:01 Combined data file .coverage.autopkgtest.9162.XVHXHPWx 1855s Nov 11 10:57:01 Combined data file .coverage.autopkgtest.9208.XXSWHmjx 1855s Nov 11 10:57:01 Combined data file .coverage.autopkgtest.9254.XRUbVUyx 1855s Nov 11 10:57:01 Combined data file .coverage.autopkgtest.9451.XsoriaOx 1855s Nov 11 10:57:01 Combined data file .coverage.autopkgtest.9495.XRFdaYpx 1855s Nov 11 10:57:01 Combined data file .coverage.autopkgtest.9569.XlTIvIvx 1855s Nov 11 10:57:01 Combined data file .coverage.autopkgtest.9633.XGBxjfFx 1855s Nov 11 10:57:01 Combined data file .coverage.autopkgtest.9718.XtYlmyBx 1856s Nov 11 10:57:02 Name Stmts Miss Cover 1856s Nov 11 10:57:02 -------------------------------------------------------------------------------------------------------- 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 101 96 5% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/dateutil/__init__.py 13 4 69% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/dateutil/_version.py 11 2 82% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 813 436 46% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 185 150 19% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 241 206 15% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 161 121 25% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 800 626 22% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/dateutil/tz/win.py 153 149 3% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/kazoo/__init__.py 1 0 100% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/kazoo/client.py 629 266 58% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/kazoo/exceptions.py 110 1 99% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/kazoo/handlers/__init__.py 0 0 100% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/kazoo/handlers/threading.py 94 15 84% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/kazoo/handlers/utils.py 222 75 66% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/kazoo/hosts.py 18 4 78% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/kazoo/loggingsupport.py 1 0 100% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/kazoo/protocol/__init__.py 0 0 100% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/kazoo/protocol/connection.py 485 176 64% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/kazoo/protocol/paths.py 33 8 76% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/kazoo/protocol/serialization.py 316 111 65% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/kazoo/protocol/states.py 49 9 82% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/kazoo/python2atexit.py 32 19 41% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/kazoo/recipe/__init__.py 0 0 100% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/kazoo/recipe/barrier.py 97 80 18% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/kazoo/recipe/counter.py 49 36 27% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/kazoo/recipe/election.py 16 10 38% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/kazoo/recipe/lease.py 54 36 33% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/kazoo/recipe/lock.py 295 242 18% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/kazoo/recipe/partitioner.py 155 120 23% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/kazoo/recipe/party.py 62 43 31% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/kazoo/recipe/queue.py 157 126 20% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/kazoo/recipe/watchers.py 172 138 20% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/kazoo/retry.py 60 9 85% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/kazoo/security.py 58 35 40% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/kazoo/version.py 1 0 100% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/patroni/__main__.py 199 63 68% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/patroni/api.py 770 289 62% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 15 84% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/patroni/collections.py 56 6 89% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/patroni/config.py 371 92 75% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/patroni/config_generator.py 212 159 25% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/patroni/daemon.py 76 3 96% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 646 92 86% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/patroni/dcs/zookeeper.py 288 70 76% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/patroni/dynamic_loader.py 35 7 80% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/patroni/file_perm.py 43 8 81% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/patroni/global_config.py 81 0 100% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/patroni/ha.py 1244 372 70% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/patroni/log.py 219 69 68% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 821 173 79% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/patroni/postgresql/available_parameters/__init__.py 21 1 95% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 252 62 75% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 813 216 73% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 1 99% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 41 8 80% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/patroni/postgresql/mpp/__init__.py 89 11 88% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 85 50% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 416 166 60% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 334 34 90% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 130 19 85% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 157 23 85% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/patroni/psycopg.py 42 16 62% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/patroni/request.py 62 7 89% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/patroni/tags.py 38 0 100% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/patroni/utils.py 350 123 65% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/patroni/validator.py 301 208 31% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 46 77% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 35 74% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/psutil/__init__.py 951 629 34% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/psutil/_common.py 424 212 50% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/psutil/_compat.py 302 263 13% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1251 924 26% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/psutil/_psposix.py 96 38 60% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/puresasl/__init__.py 21 2 90% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/puresasl/client.py 71 47 34% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/puresasl/mechanisms.py 363 263 28% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/six.py 504 249 51% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/urllib3/__init__.py 50 14 72% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 70 52 26% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/urllib3/_collections.py 234 128 45% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 53 23 57% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/urllib3/_version.py 2 0 100% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/urllib3/connection.py 324 110 66% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 347 136 61% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/urllib3/exceptions.py 115 37 68% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 88 62% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/urllib3/response.py 562 334 41% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 9 86% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 52 50% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 17 47% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/urllib3/util/retry.py 173 52 70% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 177 75 58% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 160 112 30% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 19 73% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/urllib3/util/url.py 205 78 62% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 18 31% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 38 22% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/yaml/parser.py 352 180 49% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/yaml/reader.py 122 30 75% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/yaml/scanner.py 758 415 45% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 1856s Nov 11 10:57:02 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 1856s Nov 11 10:57:02 patroni/__init__.py 13 2 85% 1856s Nov 11 10:57:02 patroni/__main__.py 199 199 0% 1856s Nov 11 10:57:02 patroni/api.py 770 770 0% 1856s Nov 11 10:57:02 patroni/async_executor.py 96 69 28% 1856s Nov 11 10:57:02 patroni/collections.py 56 15 73% 1856s Nov 11 10:57:02 patroni/config.py 371 194 48% 1856s Nov 11 10:57:02 patroni/config_generator.py 212 212 0% 1856s Nov 11 10:57:02 patroni/ctl.py 936 411 56% 1856s Nov 11 10:57:02 patroni/daemon.py 76 76 0% 1856s Nov 11 10:57:02 patroni/dcs/__init__.py 646 269 58% 1856s Nov 11 10:57:02 patroni/dcs/consul.py 485 485 0% 1856s Nov 11 10:57:02 patroni/dcs/etcd3.py 679 679 0% 1856s Nov 11 10:57:02 patroni/dcs/etcd.py 603 603 0% 1856s Nov 11 10:57:02 patroni/dcs/exhibitor.py 61 61 0% 1856s Nov 11 10:57:02 patroni/dcs/kubernetes.py 938 938 0% 1856s Nov 11 10:57:02 patroni/dcs/raft.py 319 319 0% 1856s Nov 11 10:57:02 patroni/dcs/zookeeper.py 288 149 48% 1856s Nov 11 10:57:02 patroni/dynamic_loader.py 35 7 80% 1856s Nov 11 10:57:02 patroni/exceptions.py 16 1 94% 1856s Nov 11 10:57:02 patroni/file_perm.py 43 15 65% 1856s Nov 11 10:57:02 patroni/global_config.py 81 18 78% 1856s Nov 11 10:57:02 patroni/ha.py 1244 1244 0% 1856s Nov 11 10:57:02 patroni/log.py 219 173 21% 1856s Nov 11 10:57:02 patroni/postgresql/__init__.py 821 651 21% 1856s Nov 11 10:57:02 patroni/postgresql/available_parameters/__init__.py 21 3 86% 1856s Nov 11 10:57:02 patroni/postgresql/bootstrap.py 252 222 12% 1856s Nov 11 10:57:02 patroni/postgresql/callback_executor.py 55 34 38% 1856s Nov 11 10:57:02 patroni/postgresql/cancellable.py 104 84 19% 1856s Nov 11 10:57:02 patroni/postgresql/config.py 813 698 14% 1856s Nov 11 10:57:02 patroni/postgresql/connection.py 75 50 33% 1856s Nov 11 10:57:02 patroni/postgresql/misc.py 41 29 29% 1856s Nov 11 10:57:02 patroni/postgresql/mpp/__init__.py 89 21 76% 1856s Nov 11 10:57:02 patroni/postgresql/mpp/citus.py 259 259 0% 1856s Nov 11 10:57:02 patroni/postgresql/postmaster.py 170 139 18% 1856s Nov 11 10:57:02 patroni/postgresql/rewind.py 416 416 0% 1856s Nov 11 10:57:02 patroni/postgresql/slots.py 334 285 15% 1856s Nov 11 10:57:02 patroni/postgresql/sync.py 130 96 26% 1856s Nov 11 10:57:02 patroni/postgresql/validator.py 157 52 67% 1856s Nov 11 10:57:02 patroni/psycopg.py 42 28 33% 1856s Nov 11 10:57:02 patroni/raft_controller.py 22 22 0% 1856s Nov 11 10:57:02 patroni/request.py 62 6 90% 1856s Nov 11 10:57:02 patroni/scripts/__init__.py 0 0 100% 1856s Nov 11 10:57:02 patroni/scripts/aws.py 59 59 0% 1856s Nov 11 10:57:02 patroni/scripts/barman/__init__.py 0 0 100% 1856s Nov 11 10:57:02 patroni/scripts/barman/cli.py 51 51 0% 1856s Nov 11 10:57:02 patroni/scripts/barman/config_switch.py 51 51 0% 1856s Nov 11 10:57:02 patroni/scripts/barman/recover.py 37 37 0% 1856s Nov 11 10:57:02 patroni/scripts/barman/utils.py 94 94 0% 1856s Nov 11 10:57:02 patroni/scripts/wale_restore.py 207 207 0% 1856s Nov 11 10:57:02 patroni/tags.py 38 11 71% 1856s Nov 11 10:57:02 patroni/utils.py 350 228 35% 1856s Nov 11 10:57:02 patroni/validator.py 301 215 29% 1856s Nov 11 10:57:02 patroni/version.py 1 0 100% 1856s Nov 11 10:57:02 patroni/watchdog/__init__.py 2 2 0% 1856s Nov 11 10:57:02 patroni/watchdog/base.py 203 203 0% 1856s Nov 11 10:57:02 patroni/watchdog/linux.py 135 135 0% 1856s Nov 11 10:57:02 -------------------------------------------------------------------------------------------------------- 1856s Nov 11 10:57:02 TOTAL 39824 23871 40% 1856s Nov 11 10:57:02 11 features passed, 0 failed, 1 skipped 1856s Nov 11 10:57:02 44 scenarios passed, 0 failed, 5 skipped 1856s Nov 11 10:57:02 444 steps passed, 0 failed, 61 skipped, 0 undefined 1856s Nov 11 10:57:02 Took 6m30.902s 1856s ### End 16 acceptance-zookeeper -e dcs_failsafe_mode ### 1856s + echo '### End 16 acceptance-zookeeper -e dcs_failsafe_mode ###' 1856s + rm -f '/tmp/pgpass?' 1856s ++ id -u 1856s + '[' 0 -eq 0 ']' 1856s + '[' -x /etc/init.d/zookeeper ']' 1856s + /etc/init.d/zookeeper stop 1856s Stopping zookeeper (via systemctl): zookeeper.service. 1857s autopkgtest [10:57:03]: test acceptance-zookeeper: -----------------------] 1857s autopkgtest [10:57:03]: test acceptance-zookeeper: - - - - - - - - - - results - - - - - - - - - - 1857s acceptance-zookeeper PASS 1858s autopkgtest [10:57:04]: test acceptance-raft: preparing testbed 1907s autopkgtest [10:57:53]: testbed dpkg architecture: amd64 1907s autopkgtest [10:57:53]: testbed apt version: 2.9.8 1907s autopkgtest [10:57:53]: @@@@@@@@@@@@@@@@@@@@ test bed setup 1908s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB] 1908s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [91.3 kB] 1908s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [15.3 kB] 1908s Get:4 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [913 kB] 1909s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [7016 B] 1909s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/main i386 Packages [78.4 kB] 1909s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/main amd64 Packages [132 kB] 1909s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/restricted amd64 Packages [32.6 kB] 1909s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/universe amd64 Packages [696 kB] 1909s Get:10 http://ftpmaster.internal/ubuntu plucky-proposed/universe i386 Packages [293 kB] 1909s Get:11 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse amd64 Packages [37.7 kB] 1909s Get:12 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse i386 Packages [13.0 kB] 1909s Fetched 2383 kB in 1s (2799 kB/s) 1909s Reading package lists... 1911s Reading package lists... 1911s Building dependency tree... 1911s Reading state information... 1911s Calculating upgrade... 1911s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1911s Reading package lists... 1912s Building dependency tree... 1912s Reading state information... 1912s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1912s Hit:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease 1912s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 1912s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 1912s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 1913s Reading package lists... 1913s Reading package lists... 1913s Building dependency tree... 1913s Reading state information... 1914s Calculating upgrade... 1914s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1914s Reading package lists... 1914s Building dependency tree... 1914s Reading state information... 1914s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1918s Reading package lists... 1918s Building dependency tree... 1918s Reading state information... 1918s Starting pkgProblemResolver with broken count: 0 1918s Starting 2 pkgProblemResolver with broken count: 0 1918s Done 1919s The following additional packages will be installed: 1919s fonts-font-awesome fonts-lato libio-pty-perl libipc-run-perl libjs-jquery 1919s libjs-sphinxdoc libjs-underscore libjson-perl libpq5 libtime-duration-perl 1919s libtimedate-perl libxslt1.1 moreutils patroni patroni-doc postgresql 1919s postgresql-16 postgresql-client-16 postgresql-client-common 1919s postgresql-common python3-behave python3-cdiff python3-click 1919s python3-colorama python3-coverage python3-dateutil python3-parse 1919s python3-parse-type python3-prettytable python3-psutil python3-psycopg2 1919s python3-pysyncobj python3-six python3-wcwidth python3-ydiff 1919s sphinx-rtd-theme-common ssl-cert 1919s Suggested packages: 1919s etcd-server | consul | zookeeperd vip-manager haproxy postgresql-doc 1919s postgresql-doc-16 python-coverage-doc python-psycopg2-doc 1919s Recommended packages: 1919s javascript-common libjson-xs-perl 1919s The following NEW packages will be installed: 1919s autopkgtest-satdep fonts-font-awesome fonts-lato libio-pty-perl 1919s libipc-run-perl libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl 1919s libpq5 libtime-duration-perl libtimedate-perl libxslt1.1 moreutils patroni 1919s patroni-doc postgresql postgresql-16 postgresql-client-16 1919s postgresql-client-common postgresql-common python3-behave python3-cdiff 1919s python3-click python3-colorama python3-coverage python3-dateutil 1919s python3-parse python3-parse-type python3-prettytable python3-psutil 1919s python3-psycopg2 python3-pysyncobj python3-six python3-wcwidth python3-ydiff 1919s sphinx-rtd-theme-common ssl-cert 1919s 0 upgraded, 38 newly installed, 0 to remove and 0 not upgraded. 1919s Need to get 24.0 MB/24.0 MB of archives. 1919s After this operation, 81.6 MB of additional disk space will be used. 1919s Get:1 /tmp/autopkgtest.WZS0fA/5-autopkgtest-satdep.deb autopkgtest-satdep amd64 0 [752 B] 1919s Get:2 http://ftpmaster.internal/ubuntu plucky/main amd64 fonts-lato all 2.015-1 [2781 kB] 1919s Get:3 http://ftpmaster.internal/ubuntu plucky/main amd64 libjson-perl all 4.10000-1 [81.9 kB] 1919s Get:4 http://ftpmaster.internal/ubuntu plucky/main amd64 postgresql-client-common all 262 [36.7 kB] 1919s Get:5 http://ftpmaster.internal/ubuntu plucky/main amd64 ssl-cert all 1.1.2ubuntu2 [18.0 kB] 1919s Get:6 http://ftpmaster.internal/ubuntu plucky/main amd64 postgresql-common all 262 [162 kB] 1919s Get:7 http://ftpmaster.internal/ubuntu plucky/main amd64 fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 1919s Get:8 http://ftpmaster.internal/ubuntu plucky/main amd64 libio-pty-perl amd64 1:1.20-1build3 [31.4 kB] 1919s Get:9 http://ftpmaster.internal/ubuntu plucky/main amd64 libipc-run-perl all 20231003.0-2 [91.5 kB] 1919s Get:10 http://ftpmaster.internal/ubuntu plucky/main amd64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 1919s Get:11 http://ftpmaster.internal/ubuntu plucky/main amd64 libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 1919s Get:12 http://ftpmaster.internal/ubuntu plucky/main amd64 libjs-sphinxdoc all 7.4.7-4 [158 kB] 1919s Get:13 http://ftpmaster.internal/ubuntu plucky/main amd64 libpq5 amd64 17.0-1 [249 kB] 1919s Get:14 http://ftpmaster.internal/ubuntu plucky/main amd64 libtime-duration-perl all 1.21-2 [12.3 kB] 1919s Get:15 http://ftpmaster.internal/ubuntu plucky/main amd64 libtimedate-perl all 2.3300-2 [34.0 kB] 1919s Get:16 http://ftpmaster.internal/ubuntu plucky/main amd64 libxslt1.1 amd64 1.1.39-0exp1ubuntu1 [169 kB] 1919s Get:17 http://ftpmaster.internal/ubuntu plucky/universe amd64 moreutils amd64 0.69-1 [56.4 kB] 1919s Get:18 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-ydiff all 1.3-1 [18.4 kB] 1919s Get:19 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-cdiff all 1.3-1 [1770 B] 1919s Get:20 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-colorama all 0.4.6-4 [32.1 kB] 1919s Get:21 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-click all 8.1.7-2 [79.5 kB] 1919s Get:22 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-six all 1.16.0-7 [13.1 kB] 1919s Get:23 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-dateutil all 2.9.0-2 [80.3 kB] 1919s Get:24 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 1919s Get:25 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-prettytable all 3.10.1-1 [34.0 kB] 1919s Get:26 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-psutil amd64 5.9.8-2build2 [195 kB] 1919s Get:27 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-psycopg2 amd64 2.9.9-2 [132 kB] 1919s Get:28 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-pysyncobj all 0.3.12-1 [38.9 kB] 1919s Get:29 http://ftpmaster.internal/ubuntu plucky/universe amd64 patroni all 3.3.1-1 [264 kB] 1920s Get:30 http://ftpmaster.internal/ubuntu plucky/main amd64 sphinx-rtd-theme-common all 3.0.1+dfsg-1 [1012 kB] 1920s Get:31 http://ftpmaster.internal/ubuntu plucky/universe amd64 patroni-doc all 3.3.1-1 [497 kB] 1920s Get:32 http://ftpmaster.internal/ubuntu plucky/main amd64 postgresql-client-16 amd64 16.4-3 [1278 kB] 1920s Get:33 http://ftpmaster.internal/ubuntu plucky/main amd64 postgresql-16 amd64 16.4-3 [15.2 MB] 1920s Get:34 http://ftpmaster.internal/ubuntu plucky/main amd64 postgresql all 16+262 [11.8 kB] 1920s Get:35 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-parse all 1.20.2-1 [27.0 kB] 1920s Get:36 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-parse-type all 0.6.4-1 [23.4 kB] 1920s Get:37 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-behave all 1.2.6-6 [98.6 kB] 1920s Get:38 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-coverage amd64 7.4.4+dfsg1-0ubuntu2 [147 kB] 1921s Preconfiguring packages ... 1921s Fetched 24.0 MB in 2s (14.5 MB/s) 1921s Selecting previously unselected package fonts-lato. 1921s (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 ... 75552 files and directories currently installed.) 1921s Preparing to unpack .../00-fonts-lato_2.015-1_all.deb ... 1921s Unpacking fonts-lato (2.015-1) ... 1921s Selecting previously unselected package libjson-perl. 1921s Preparing to unpack .../01-libjson-perl_4.10000-1_all.deb ... 1921s Unpacking libjson-perl (4.10000-1) ... 1921s Selecting previously unselected package postgresql-client-common. 1921s Preparing to unpack .../02-postgresql-client-common_262_all.deb ... 1921s Unpacking postgresql-client-common (262) ... 1921s Selecting previously unselected package ssl-cert. 1921s Preparing to unpack .../03-ssl-cert_1.1.2ubuntu2_all.deb ... 1921s Unpacking ssl-cert (1.1.2ubuntu2) ... 1921s Selecting previously unselected package postgresql-common. 1921s Preparing to unpack .../04-postgresql-common_262_all.deb ... 1921s Adding 'diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common' 1921s Unpacking postgresql-common (262) ... 1921s Selecting previously unselected package fonts-font-awesome. 1921s Preparing to unpack .../05-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 1921s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 1921s Selecting previously unselected package libio-pty-perl. 1921s Preparing to unpack .../06-libio-pty-perl_1%3a1.20-1build3_amd64.deb ... 1921s Unpacking libio-pty-perl (1:1.20-1build3) ... 1921s Selecting previously unselected package libipc-run-perl. 1921s Preparing to unpack .../07-libipc-run-perl_20231003.0-2_all.deb ... 1921s Unpacking libipc-run-perl (20231003.0-2) ... 1921s Selecting previously unselected package libjs-jquery. 1921s Preparing to unpack .../08-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 1921s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 1921s Selecting previously unselected package libjs-underscore. 1921s Preparing to unpack .../09-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 1921s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 1921s Selecting previously unselected package libjs-sphinxdoc. 1921s Preparing to unpack .../10-libjs-sphinxdoc_7.4.7-4_all.deb ... 1921s Unpacking libjs-sphinxdoc (7.4.7-4) ... 1921s Selecting previously unselected package libpq5:amd64. 1921s Preparing to unpack .../11-libpq5_17.0-1_amd64.deb ... 1921s Unpacking libpq5:amd64 (17.0-1) ... 1921s Selecting previously unselected package libtime-duration-perl. 1921s Preparing to unpack .../12-libtime-duration-perl_1.21-2_all.deb ... 1921s Unpacking libtime-duration-perl (1.21-2) ... 1921s Selecting previously unselected package libtimedate-perl. 1921s Preparing to unpack .../13-libtimedate-perl_2.3300-2_all.deb ... 1921s Unpacking libtimedate-perl (2.3300-2) ... 1921s Selecting previously unselected package libxslt1.1:amd64. 1921s Preparing to unpack .../14-libxslt1.1_1.1.39-0exp1ubuntu1_amd64.deb ... 1921s Unpacking libxslt1.1:amd64 (1.1.39-0exp1ubuntu1) ... 1921s Selecting previously unselected package moreutils. 1921s Preparing to unpack .../15-moreutils_0.69-1_amd64.deb ... 1921s Unpacking moreutils (0.69-1) ... 1921s Selecting previously unselected package python3-ydiff. 1921s Preparing to unpack .../16-python3-ydiff_1.3-1_all.deb ... 1921s Unpacking python3-ydiff (1.3-1) ... 1921s Selecting previously unselected package python3-cdiff. 1921s Preparing to unpack .../17-python3-cdiff_1.3-1_all.deb ... 1921s Unpacking python3-cdiff (1.3-1) ... 1921s Selecting previously unselected package python3-colorama. 1921s Preparing to unpack .../18-python3-colorama_0.4.6-4_all.deb ... 1921s Unpacking python3-colorama (0.4.6-4) ... 1921s Selecting previously unselected package python3-click. 1921s Preparing to unpack .../19-python3-click_8.1.7-2_all.deb ... 1921s Unpacking python3-click (8.1.7-2) ... 1921s Selecting previously unselected package python3-six. 1921s Preparing to unpack .../20-python3-six_1.16.0-7_all.deb ... 1921s Unpacking python3-six (1.16.0-7) ... 1921s Selecting previously unselected package python3-dateutil. 1921s Preparing to unpack .../21-python3-dateutil_2.9.0-2_all.deb ... 1921s Unpacking python3-dateutil (2.9.0-2) ... 1921s Selecting previously unselected package python3-wcwidth. 1921s Preparing to unpack .../22-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 1921s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 1921s Selecting previously unselected package python3-prettytable. 1921s Preparing to unpack .../23-python3-prettytable_3.10.1-1_all.deb ... 1921s Unpacking python3-prettytable (3.10.1-1) ... 1921s Selecting previously unselected package python3-psutil. 1921s Preparing to unpack .../24-python3-psutil_5.9.8-2build2_amd64.deb ... 1921s Unpacking python3-psutil (5.9.8-2build2) ... 1922s Selecting previously unselected package python3-psycopg2. 1922s Preparing to unpack .../25-python3-psycopg2_2.9.9-2_amd64.deb ... 1922s Unpacking python3-psycopg2 (2.9.9-2) ... 1922s Selecting previously unselected package python3-pysyncobj. 1922s Preparing to unpack .../26-python3-pysyncobj_0.3.12-1_all.deb ... 1922s Unpacking python3-pysyncobj (0.3.12-1) ... 1922s Selecting previously unselected package patroni. 1922s Preparing to unpack .../27-patroni_3.3.1-1_all.deb ... 1922s Unpacking patroni (3.3.1-1) ... 1922s Selecting previously unselected package sphinx-rtd-theme-common. 1922s Preparing to unpack .../28-sphinx-rtd-theme-common_3.0.1+dfsg-1_all.deb ... 1922s Unpacking sphinx-rtd-theme-common (3.0.1+dfsg-1) ... 1922s Selecting previously unselected package patroni-doc. 1922s Preparing to unpack .../29-patroni-doc_3.3.1-1_all.deb ... 1922s Unpacking patroni-doc (3.3.1-1) ... 1922s Selecting previously unselected package postgresql-client-16. 1922s Preparing to unpack .../30-postgresql-client-16_16.4-3_amd64.deb ... 1922s Unpacking postgresql-client-16 (16.4-3) ... 1922s Selecting previously unselected package postgresql-16. 1922s Preparing to unpack .../31-postgresql-16_16.4-3_amd64.deb ... 1922s Unpacking postgresql-16 (16.4-3) ... 1922s Selecting previously unselected package postgresql. 1922s Preparing to unpack .../32-postgresql_16+262_all.deb ... 1922s Unpacking postgresql (16+262) ... 1922s Selecting previously unselected package python3-parse. 1922s Preparing to unpack .../33-python3-parse_1.20.2-1_all.deb ... 1922s Unpacking python3-parse (1.20.2-1) ... 1922s Selecting previously unselected package python3-parse-type. 1922s Preparing to unpack .../34-python3-parse-type_0.6.4-1_all.deb ... 1922s Unpacking python3-parse-type (0.6.4-1) ... 1922s Selecting previously unselected package python3-behave. 1922s Preparing to unpack .../35-python3-behave_1.2.6-6_all.deb ... 1922s Unpacking python3-behave (1.2.6-6) ... 1922s Selecting previously unselected package python3-coverage. 1922s Preparing to unpack .../36-python3-coverage_7.4.4+dfsg1-0ubuntu2_amd64.deb ... 1922s Unpacking python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 1922s Selecting previously unselected package autopkgtest-satdep. 1922s Preparing to unpack .../37-5-autopkgtest-satdep.deb ... 1922s Unpacking autopkgtest-satdep (0) ... 1922s Setting up postgresql-client-common (262) ... 1922s Setting up fonts-lato (2.015-1) ... 1922s Setting up libio-pty-perl (1:1.20-1build3) ... 1922s Setting up python3-pysyncobj (0.3.12-1) ... 1922s Setting up python3-colorama (0.4.6-4) ... 1923s Setting up python3-ydiff (1.3-1) ... 1923s Setting up libpq5:amd64 (17.0-1) ... 1923s Setting up python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 1923s Setting up python3-click (8.1.7-2) ... 1923s Setting up python3-psutil (5.9.8-2build2) ... 1923s Setting up python3-six (1.16.0-7) ... 1923s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 1923s Setting up ssl-cert (1.1.2ubuntu2) ... 1924s Created symlink '/etc/systemd/system/multi-user.target.wants/ssl-cert.service' → '/usr/lib/systemd/system/ssl-cert.service'. 1924s Setting up python3-psycopg2 (2.9.9-2) ... 1924s Setting up libipc-run-perl (20231003.0-2) ... 1924s Setting up libtime-duration-perl (1.21-2) ... 1924s Setting up libtimedate-perl (2.3300-2) ... 1924s Setting up python3-parse (1.20.2-1) ... 1924s Setting up libjson-perl (4.10000-1) ... 1924s Setting up libxslt1.1:amd64 (1.1.39-0exp1ubuntu1) ... 1924s Setting up python3-dateutil (2.9.0-2) ... 1924s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 1924s Setting up python3-prettytable (3.10.1-1) ... 1924s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 1924s Setting up sphinx-rtd-theme-common (3.0.1+dfsg-1) ... 1924s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 1924s Setting up moreutils (0.69-1) ... 1924s Setting up postgresql-client-16 (16.4-3) ... 1925s update-alternatives: using /usr/share/postgresql/16/man/man1/psql.1.gz to provide /usr/share/man/man1/psql.1.gz (psql.1.gz) in auto mode 1925s Setting up python3-cdiff (1.3-1) ... 1925s Setting up python3-parse-type (0.6.4-1) ... 1925s Setting up postgresql-common (262) ... 1926s 1926s Creating config file /etc/postgresql-common/createcluster.conf with new version 1926s Building PostgreSQL dictionaries from installed myspell/hunspell packages... 1926s Removing obsolete dictionary files: 1926s Created symlink '/etc/systemd/system/multi-user.target.wants/postgresql.service' → '/usr/lib/systemd/system/postgresql.service'. 1927s Setting up libjs-sphinxdoc (7.4.7-4) ... 1927s Setting up python3-behave (1.2.6-6) ... 1927s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 1927s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 1927s /usr/lib/python3/dist-packages/behave/matchers.py:267: SyntaxWarning: invalid escape sequence '\d' 1927s """Registers a custom type that will be available to "parse" 1927s Setting up patroni (3.3.1-1) ... 1927s Created symlink '/etc/systemd/system/multi-user.target.wants/patroni.service' → '/usr/lib/systemd/system/patroni.service'. 1927s Setting up postgresql-16 (16.4-3) ... 1928s Creating new PostgreSQL cluster 16/main ... 1928s /usr/lib/postgresql/16/bin/initdb -D /var/lib/postgresql/16/main --auth-local peer --auth-host scram-sha-256 --no-instructions 1928s The files belonging to this database system will be owned by user "postgres". 1928s This user must also own the server process. 1928s 1928s The database cluster will be initialized with locale "C.UTF-8". 1928s The default database encoding has accordingly been set to "UTF8". 1928s The default text search configuration will be set to "english". 1928s 1928s Data page checksums are disabled. 1928s 1928s fixing permissions on existing directory /var/lib/postgresql/16/main ... ok 1928s creating subdirectories ... ok 1928s selecting dynamic shared memory implementation ... posix 1928s selecting default max_connections ... 100 1928s selecting default shared_buffers ... 128MB 1928s selecting default time zone ... Etc/UTC 1928s creating configuration files ... ok 1928s running bootstrap script ... ok 1928s performing post-bootstrap initialization ... ok 1928s syncing data to disk ... ok 1931s Setting up patroni-doc (3.3.1-1) ... 1931s Setting up postgresql (16+262) ... 1931s Setting up autopkgtest-satdep (0) ... 1931s Processing triggers for man-db (2.12.1-3) ... 1933s Processing triggers for libc-bin (2.40-1ubuntu3) ... 1936s (Reading database ... 78571 files and directories currently installed.) 1936s Removing autopkgtest-satdep (0) ... 1937s autopkgtest [10:58:23]: test acceptance-raft: debian/tests/acceptance raft 1937s autopkgtest [10:58:23]: test acceptance-raft: [----------------------- 1937s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 1937s ++ ls -1r /usr/lib/postgresql/ 1937s ### PostgreSQL 16 acceptance-raft ### 1937s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 1937s + '[' 16 == 10 -o 16 == 11 ']' 1937s + echo '### PostgreSQL 16 acceptance-raft ###' 1937s + bash -c 'set -o pipefail; ETCD_UNSUPPORTED_ARCH= DCS=raft PATH=/usr/lib/postgresql/16/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin behave | ts' 1943s Nov 11 10:58:29 Feature: basic replication # features/basic_replication.feature:1 1943s Nov 11 10:58:29 We should check that the basic bootstrapping, replication and failover works. 1943s Nov 11 10:58:29 Scenario: check replication of a single table # features/basic_replication.feature:4 1943s Nov 11 10:58:29 Given I start postgres0 # features/steps/basic_replication.py:8 1946s Nov 11 10:58:32 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1946s Nov 11 10:58:32 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1946s Nov 11 10:58:32 When I issue a PATCH request to http://127.0.0.1:8008/config with {"ttl": 20, "synchronous_mode": true} # features/steps/patroni_api.py:71 1946s Nov 11 10:58:32 Then I receive a response code 200 # features/steps/patroni_api.py:98 1946s Nov 11 10:58:32 When I start postgres1 # features/steps/basic_replication.py:8 1949s Nov 11 10:58:35 And I configure and start postgres2 with a tag replicatefrom postgres0 # features/steps/cascading_replication.py:7 1952s Nov 11 10:58:38 And "sync" key in DCS has leader=postgres0 after 20 seconds # features/steps/cascading_replication.py:23 1952s Nov 11 10:58:38 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 1952s Nov 11 10:58:38 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 1953s Nov 11 10:58:39 Then table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 1953s Nov 11 10:58:39 1953s Nov 11 10:58:39 Scenario: check restart of sync replica # features/basic_replication.feature:17 1953s Nov 11 10:58:39 Given I shut down postgres2 # features/steps/basic_replication.py:29 1954s Nov 11 10:58:40 Then "sync" key in DCS has sync_standby=postgres1 after 5 seconds # features/steps/cascading_replication.py:23 1954s Nov 11 10:58:40 When I start postgres2 # features/steps/basic_replication.py:8 1956s Nov 11 10:58:42 And I shut down postgres1 # features/steps/basic_replication.py:29 1959s Nov 11 10:58:45 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 1960s Nov 11 10:58:46 When I start postgres1 # features/steps/basic_replication.py:8 1962s Nov 11 10:58:48 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1963s Nov 11 10:58:49 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1964s Nov 11 10:58:50 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 1964s Nov 11 10:58:50 1964s Nov 11 10:58:50 Scenario: check stuck sync replica # features/basic_replication.feature:28 1964s Nov 11 10:58:50 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"pause": true, "maximum_lag_on_syncnode": 15000000, "postgresql": {"parameters": {"synchronous_commit": "remote_apply"}}} # features/steps/patroni_api.py:71 1964s Nov 11 10:58:50 Then I receive a response code 200 # features/steps/patroni_api.py:98 1964s Nov 11 10:58:50 And I create table on postgres0 # features/steps/basic_replication.py:73 1964s Nov 11 10:58:50 And table mytest is present on postgres1 after 2 seconds # features/steps/basic_replication.py:93 1964s Nov 11 10:58:50 And table mytest is present on postgres2 after 2 seconds # features/steps/basic_replication.py:93 1965s Nov 11 10:58:51 When I pause wal replay on postgres2 # features/steps/basic_replication.py:64 1965s Nov 11 10:58:51 And I load data on postgres0 # features/steps/basic_replication.py:84 1965s Nov 11 10:58:51 Then "sync" key in DCS has sync_standby=postgres1 after 15 seconds # features/steps/cascading_replication.py:23 1968s Nov 11 10:58:54 And I resume wal replay on postgres2 # features/steps/basic_replication.py:64 1968s Nov 11 10:58:54 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1968s Nov 11 10:58:54 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:142 1968s Nov 11 10:58:54 When I issue a PATCH request to http://127.0.0.1:8008/config with {"pause": null, "maximum_lag_on_syncnode": -1, "postgresql": {"parameters": {"synchronous_commit": "on"}}} # features/steps/patroni_api.py:71 1968s Nov 11 10:58:54 Then I receive a response code 200 # features/steps/patroni_api.py:98 1968s Nov 11 10:58:54 And I drop table on postgres0 # features/steps/basic_replication.py:73 1968s Nov 11 10:58:54 1968s Nov 11 10:58:54 Scenario: check multi sync replication # features/basic_replication.feature:44 1968s Nov 11 10:58:54 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"synchronous_node_count": 2} # features/steps/patroni_api.py:71 1968s Nov 11 10:58:54 Then I receive a response code 200 # features/steps/patroni_api.py:98 1968s Nov 11 10:58:54 Then "sync" key in DCS has sync_standby=postgres1,postgres2 after 10 seconds # features/steps/cascading_replication.py:23 1972s Nov 11 10:58:58 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1972s Nov 11 10:58:58 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1972s Nov 11 10:58:58 When I issue a PATCH request to http://127.0.0.1:8008/config with {"synchronous_node_count": 1} # features/steps/patroni_api.py:71 1972s Nov 11 10:58:58 Then I receive a response code 200 # features/steps/patroni_api.py:98 1972s Nov 11 10:58:58 And I shut down postgres1 # features/steps/basic_replication.py:29 1975s Nov 11 10:59:01 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 1976s Nov 11 10:59:02 When I start postgres1 # features/steps/basic_replication.py:8 1979s Nov 11 10:59:05 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1979s Nov 11 10:59:05 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1980s Nov 11 10:59:05 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 1980s Nov 11 10:59:06 1980s Nov 11 10:59:06 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 1980s Nov 11 10:59:06 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 1981s Nov 11 10:59:07 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1981s Nov 11 10:59:07 When I sleep for 2 seconds # features/steps/patroni_api.py:39 1983s Nov 11 10:59:09 And I shut down postgres0 # features/steps/basic_replication.py:29 1984s Nov 11 10:59:10 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 1985s Nov 11 10:59:11 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1985s Nov 11 10:59:11 And postgres2 role is the primary after 24 seconds # features/steps/basic_replication.py:105 2004s Nov 11 10:59:30 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:156 2006s Nov 11 10:59:32 And there is a postgres2_cb.log with "on_role_change master batman" in postgres2 data directory # features/steps/cascading_replication.py:12 2006s Nov 11 10:59:32 When I issue a PATCH request to http://127.0.0.1:8010/config with {"synchronous_mode": null, "master_start_timeout": 0} # features/steps/patroni_api.py:71 2006s Nov 11 10:59:32 Then I receive a response code 200 # features/steps/patroni_api.py:98 2006s Nov 11 10:59:32 When I add the table bar to postgres2 # features/steps/basic_replication.py:54 2006s Nov 11 10:59:32 Then table bar is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 2009s Nov 11 10:59:35 And Response on GET http://127.0.0.1:8010/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 2009s Nov 11 10:59:35 2009s Nov 11 10:59:35 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 2009s Nov 11 10:59:35 Given I add the table splitbrain to postgres0 # features/steps/basic_replication.py:54 2009s Nov 11 10:59:35 And I start postgres0 # features/steps/basic_replication.py:8 2009s Nov 11 10:59:35 Then postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 2015s Nov 11 10:59:41 When I add the table buz to postgres2 # features/steps/basic_replication.py:54 2015s Nov 11 10:59:41 Then table buz is present on postgres0 after 20 seconds # features/steps/basic_replication.py:93 2015s SKIP Scenario check graceful rejection when two nodes have the same name: Flaky test with Raft 2032s Nov 11 10:59:58 2032s Nov 11 10:59:58 @reject-duplicate-name 2032s Nov 11 10:59:58 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 2032s Nov 11 10:59:58 Given I start duplicate postgres0 on port 8011 # None 2032s Nov 11 10:59:58 Then there is one of ["Can't start; there is already a node named 'postgres0' running"] CRITICAL in the dup-postgres0 patroni log after 5 seconds # None 2032s Nov 11 10:59:58 2032s Nov 11 10:59:58 Feature: cascading replication # features/cascading_replication.feature:1 2032s Nov 11 10:59:58 We should check that patroni can do base backup and streaming from the replica 2032s Nov 11 10:59:58 Scenario: check a base backup and streaming replication from a replica # features/cascading_replication.feature:4 2032s Nov 11 10:59:58 Given I start postgres0 # features/steps/basic_replication.py:8 2035s Nov 11 11:00:01 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2036s Nov 11 11:00:02 And I configure and start postgres1 with a tag clonefrom true # features/steps/cascading_replication.py:7 2039s Nov 11 11:00:05 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 2044s Nov 11 11:00:10 And I create label with "postgres0" in postgres0 data directory # features/steps/cascading_replication.py:18 2044s Nov 11 11:00:10 And I create label with "postgres1" in postgres1 data directory # features/steps/cascading_replication.py:18 2044s Nov 11 11:00:10 And "members/postgres1" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 2044s Nov 11 11:00:10 And I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 2047s Nov 11 11:00:13 Then replication works from postgres0 to postgres2 after 30 seconds # features/steps/basic_replication.py:112 2052s Nov 11 11:00:18 And there is a label with "postgres1" in postgres2 data directory # features/steps/cascading_replication.py:12 2068s Nov 11 11:00:34 2068s SKIP FEATURE citus: Citus extenstion isn't available 2068s SKIP Scenario check that worker cluster is registered in the coordinator: Citus extenstion isn't available 2068s SKIP Scenario coordinator failover updates pg_dist_node: Citus extenstion isn't available 2068s SKIP Scenario worker switchover doesn't break client queries on the coordinator: Citus extenstion isn't available 2068s SKIP Scenario worker primary restart doesn't break client queries on the coordinator: Citus extenstion isn't available 2068s SKIP Scenario check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node: Citus extenstion isn't available 2068s Nov 11 11:00:34 Feature: citus # features/citus.feature:1 2068s Nov 11 11:00:34 We should check that coordinator discovers and registers workers and clients don't have errors when worker cluster switches over 2068s Nov 11 11:00:34 Scenario: check that worker cluster is registered in the coordinator # features/citus.feature:4 2068s Nov 11 11:00:34 Given I start postgres0 in citus group 0 # None 2068s Nov 11 11:00:34 And I start postgres2 in citus group 1 # None 2068s Nov 11 11:00:34 Then postgres0 is a leader in a group 0 after 10 seconds # None 2068s Nov 11 11:00:34 And postgres2 is a leader in a group 1 after 10 seconds # None 2068s Nov 11 11:00:34 When I start postgres1 in citus group 0 # None 2068s Nov 11 11:00:34 And I start postgres3 in citus group 1 # None 2068s Nov 11 11:00:34 Then replication works from postgres0 to postgres1 after 15 seconds # None 2068s Nov 11 11:00:34 Then replication works from postgres2 to postgres3 after 15 seconds # None 2068s Nov 11 11:00:34 And postgres0 is registered in the postgres0 as the primary in group 0 after 5 seconds # None 2068s Nov 11 11:00:34 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 2068s Nov 11 11:00:34 2068s Nov 11 11:00:34 Scenario: coordinator failover updates pg_dist_node # features/citus.feature:16 2068s Nov 11 11:00:34 Given I run patronictl.py failover batman --group 0 --candidate postgres1 --force # None 2068s Nov 11 11:00:34 Then postgres1 role is the primary after 10 seconds # None 2068s Nov 11 11:00:34 And "members/postgres0" key in a group 0 in DCS has state=running after 15 seconds # None 2068s Nov 11 11:00:34 And replication works from postgres1 to postgres0 after 15 seconds # None 2068s Nov 11 11:00:34 And postgres1 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 2068s Nov 11 11:00:34 And "sync" key in a group 0 in DCS has sync_standby=postgres0 after 15 seconds # None 2068s Nov 11 11:00:34 When I run patronictl.py switchover batman --group 0 --candidate postgres0 --force # None 2068s Nov 11 11:00:34 Then postgres0 role is the primary after 10 seconds # None 2068s Nov 11 11:00:34 And replication works from postgres0 to postgres1 after 15 seconds # None 2068s Nov 11 11:00:34 And postgres0 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 2068s Nov 11 11:00:34 And "sync" key in a group 0 in DCS has sync_standby=postgres1 after 15 seconds # None 2068s Nov 11 11:00:34 2068s Nov 11 11:00:34 Scenario: worker switchover doesn't break client queries on the coordinator # features/citus.feature:29 2068s Nov 11 11:00:34 Given I create a distributed table on postgres0 # None 2068s Nov 11 11:00:34 And I start a thread inserting data on postgres0 # None 2068s Nov 11 11:00:34 When I run patronictl.py switchover batman --group 1 --force # None 2068s Nov 11 11:00:34 Then I receive a response returncode 0 # None 2068s Nov 11 11:00:34 And postgres3 role is the primary after 10 seconds # None 2068s Nov 11 11:00:34 And "members/postgres2" key in a group 1 in DCS has state=running after 15 seconds # None 2068s Nov 11 11:00:34 And replication works from postgres3 to postgres2 after 15 seconds # None 2068s Nov 11 11:00:34 And postgres3 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 2068s Nov 11 11:00:34 And "sync" key in a group 1 in DCS has sync_standby=postgres2 after 15 seconds # None 2068s Nov 11 11:00:34 And a thread is still alive # None 2068s Nov 11 11:00:34 When I run patronictl.py switchover batman --group 1 --force # None 2068s Nov 11 11:00:34 Then I receive a response returncode 0 # None 2068s Nov 11 11:00:34 And postgres2 role is the primary after 10 seconds # None 2068s Nov 11 11:00:34 And replication works from postgres2 to postgres3 after 15 seconds # None 2068s Nov 11 11:00:34 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 2068s Nov 11 11:00:34 And "sync" key in a group 1 in DCS has sync_standby=postgres3 after 15 seconds # None 2068s Nov 11 11:00:34 And a thread is still alive # None 2068s Nov 11 11:00:34 When I stop a thread # None 2068s Nov 11 11:00:34 Then a distributed table on postgres0 has expected rows # None 2068s Nov 11 11:00:34 2068s Nov 11 11:00:34 Scenario: worker primary restart doesn't break client queries on the coordinator # features/citus.feature:50 2068s Nov 11 11:00:34 Given I cleanup a distributed table on postgres0 # None 2068s Nov 11 11:00:34 And I start a thread inserting data on postgres0 # None 2068s Nov 11 11:00:34 When I run patronictl.py restart batman postgres2 --group 1 --force # None 2068s Nov 11 11:00:34 Then I receive a response returncode 0 # None 2068s Nov 11 11:00:34 And postgres2 role is the primary after 10 seconds # None 2068s Nov 11 11:00:34 And replication works from postgres2 to postgres3 after 15 seconds # None 2068s Nov 11 11:00:34 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 2068s Nov 11 11:00:34 And a thread is still alive # None 2068s Nov 11 11:00:34 When I stop a thread # None 2068s Nov 11 11:00:34 Then a distributed table on postgres0 has expected rows # None 2074s Nov 11 11:00:40 2074s Nov 11 11:00:40 Scenario: check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node # features/citus.feature:62 2074s Nov 11 11:00:40 Given I start postgres4 in citus group 2 # None 2074s Nov 11 11:00:40 Then postgres4 is a leader in a group 2 after 10 seconds # None 2074s Nov 11 11:00:40 And "members/postgres4" key in a group 2 in DCS has role=master after 3 seconds # None 2074s Nov 11 11:00:40 When I run patronictl.py edit-config batman --group 2 -s ttl=20 --force # None 2074s Nov 11 11:00:40 Then I receive a response returncode 0 # None 2074s Nov 11 11:00:40 And I receive a response output "+ttl: 20" # None 2074s Nov 11 11:00:40 Then postgres4 is registered in the postgres2 as the primary in group 2 after 5 seconds # None 2074s Nov 11 11:00:40 When I shut down postgres4 # None 2074s Nov 11 11:00:40 Then there is a transaction in progress on postgres0 changing pg_dist_node after 5 seconds # None 2074s Nov 11 11:00:40 When I run patronictl.py restart batman postgres2 --group 1 --force # None 2074s Nov 11 11:00:40 Then a transaction finishes in 20 seconds # None 2074s Nov 11 11:00:40 2074s Nov 11 11:00:40 Feature: custom bootstrap # features/custom_bootstrap.feature:1 2074s Nov 11 11:00:40 We should check that patroni can bootstrap a new cluster from a backup 2074s Nov 11 11:00:40 Scenario: clone existing cluster using pg_basebackup # features/custom_bootstrap.feature:4 2074s Nov 11 11:00:40 Given I start postgres0 # features/steps/basic_replication.py:8 2082s Nov 11 11:00:48 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2083s Nov 11 11:00:49 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 2083s Nov 11 11:00:49 And I start postgres1 in a cluster batman1 as a clone of postgres0 # features/steps/custom_bootstrap.py:6 2086s Nov 11 11:00:52 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 2087s Nov 11 11:00:53 Then table foo is present on postgres1 after 10 seconds # features/steps/basic_replication.py:93 2087s Nov 11 11:00:53 2087s Nov 11 11:00:53 Scenario: make a backup and do a restore into a new cluster # features/custom_bootstrap.feature:12 2087s Nov 11 11:00:53 Given I add the table bar to postgres1 # features/steps/basic_replication.py:54 2087s Nov 11 11:00:53 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 2087s Nov 11 11:00:53 When I start postgres2 in a cluster batman2 from backup # features/steps/custom_bootstrap.py:11 2092s Nov 11 11:00:57 Then postgres2 is a leader of batman2 after 30 seconds # features/steps/custom_bootstrap.py:16 2092s Nov 11 11:00:57 And table bar is present on postgres2 after 10 seconds # features/steps/basic_replication.py:93 2107s Nov 11 11:01:13 2107s Nov 11 11:01:13 Feature: dcs failsafe mode # features/dcs_failsafe_mode.feature:1 2107s Nov 11 11:01:13 We should check the basic dcs failsafe mode functioning 2107s Nov 11 11:01:13 Scenario: check failsafe mode can be successfully enabled # features/dcs_failsafe_mode.feature:4 2107s Nov 11 11:01:13 Given I start postgres0 # features/steps/basic_replication.py:8 2110s Nov 11 11:01:16 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2110s Nov 11 11:01:16 Then "config" key in DCS has ttl=30 after 10 seconds # features/steps/cascading_replication.py:23 2110s Nov 11 11:01:16 When I issue a PATCH request to http://127.0.0.1:8008/config with {"loop_wait": 2, "ttl": 20, "retry_timeout": 3, "failsafe_mode": true} # features/steps/patroni_api.py:71 2110s Nov 11 11:01:16 Then I receive a response code 200 # features/steps/patroni_api.py:98 2110s Nov 11 11:01:16 And Response on GET http://127.0.0.1:8008/failsafe contains postgres0 after 10 seconds # features/steps/patroni_api.py:156 2110s Nov 11 11:01:16 When I issue a GET request to http://127.0.0.1:8008/failsafe # features/steps/patroni_api.py:61 2110s Nov 11 11:01:16 Then I receive a response code 200 # features/steps/patroni_api.py:98 2110s Nov 11 11:01:16 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 2110s Nov 11 11:01:16 When I issue a PATCH request to http://127.0.0.1:8008/config with {"postgresql": {"parameters": {"wal_level": "logical"}},"slots":{"dcs_slot_1": null,"postgres0":null}} # features/steps/patroni_api.py:71 2110s Nov 11 11:01:16 Then I receive a response code 200 # features/steps/patroni_api.py:98 2110s Nov 11 11:01:16 When I issue a PATCH request to http://127.0.0.1:8008/config with {"slots": {"dcs_slot_0": {"type": "logical", "database": "postgres", "plugin": "test_decoding"}}} # features/steps/patroni_api.py:71 2110s Nov 11 11:01:16 Then I receive a response code 200 # features/steps/patroni_api.py:98 2110s Nov 11 11:01:16 2110s Nov 11 11:01:16 @dcs-failsafe 2110s Nov 11 11:01:16 Scenario: check one-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:20 2110s Nov 11 11:01:16 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 2110s Nov 11 11:01:16 Then Response on GET http://127.0.0.1:8008/primary contains failsafe_mode_is_active after 12 seconds # features/steps/patroni_api.py:156 2114s Nov 11 11:01:20 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2114s Nov 11 11:01:20 2114s Nov 11 11:01:20 @dcs-failsafe 2114s Nov 11 11:01:20 Scenario: check new replica isn't promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:26 2114s Nov 11 11:01:20 Given DCS is up # features/steps/dcs_failsafe_mode.py:9 2114s Nov 11 11:01:20 When I do a backup of postgres0 # features/steps/custom_bootstrap.py:25 2115s Nov 11 11:01:21 And I shut down postgres0 # features/steps/basic_replication.py:29 2117s Nov 11 11:01:23 When I start postgres1 in a cluster batman from backup with no_leader # features/steps/dcs_failsafe_mode.py:14 2120s Nov 11 11:01:26 Then postgres1 role is the replica after 12 seconds # features/steps/basic_replication.py:105 2120s Nov 11 11:01:26 2120s Nov 11 11:01:26 Scenario: check leader and replica are both in /failsafe key after leader is back # features/dcs_failsafe_mode.feature:33 2120s Nov 11 11:01:26 Given I start postgres0 # features/steps/basic_replication.py:8 2122s Nov 11 11:01:28 And I start postgres1 # features/steps/basic_replication.py:8 2122s Nov 11 11:01:28 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2123s Nov 11 11:01:29 And "members/postgres1" key in DCS has state=running after 2 seconds # features/steps/cascading_replication.py:23 2123s Nov 11 11:01:29 And Response on GET http://127.0.0.1:8009/failsafe contains postgres1 after 10 seconds # features/steps/patroni_api.py:156 2128s Nov 11 11:01:34 When I issue a GET request to http://127.0.0.1:8009/failsafe # features/steps/patroni_api.py:61 2128s Nov 11 11:01:34 Then I receive a response code 200 # features/steps/patroni_api.py:98 2128s Nov 11 11:01:34 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 2128s Nov 11 11:01:34 And I receive a response postgres1 http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:98 2128s Nov 11 11:01:34 2128s Nov 11 11:01:34 @dcs-failsafe @slot-advance 2128s Nov 11 11:01:34 Scenario: check leader and replica are functioning while DCS is down # features/dcs_failsafe_mode.feature:46 2128s Nov 11 11:01:34 Given I get all changes from physical slot dcs_slot_1 on postgres0 # features/steps/slots.py:75 2128s Nov 11 11:01:34 Then physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2131s Nov 11 11:01:37 And logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2131s Nov 11 11:01:37 And DCS is down # features/steps/dcs_failsafe_mode.py:4 2131s Nov 11 11:01:37 Then Response on GET http://127.0.0.1:8008/primary contains failsafe_mode_is_active after 12 seconds # features/steps/patroni_api.py:156 2135s Nov 11 11:01:41 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2135s Nov 11 11:01:41 And postgres1 role is the replica after 2 seconds # features/steps/basic_replication.py:105 2135s Nov 11 11:01:41 And replication works from postgres0 to postgres1 after 10 seconds # features/steps/basic_replication.py:112 2135s Nov 11 11:01:41 When I get all changes from logical slot dcs_slot_0 on postgres0 # features/steps/slots.py:70 2135s Nov 11 11:01:41 And I get all changes from physical slot dcs_slot_1 on postgres0 # features/steps/slots.py:75 2135s Nov 11 11:01:41 Then logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 20 seconds # features/steps/slots.py:51 2142s Nov 11 11:01:48 And physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2142s Nov 11 11:01:48 2142s Nov 11 11:01:48 @dcs-failsafe 2142s Nov 11 11:01:48 Scenario: check primary is demoted when one replica is shut down and DCS is down # features/dcs_failsafe_mode.feature:61 2142s Nov 11 11:01:48 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 2142s Nov 11 11:01:48 And I kill postgres1 # features/steps/basic_replication.py:34 2143s Nov 11 11:01:49 And I kill postmaster on postgres1 # features/steps/basic_replication.py:44 2144s Nov 11 11:01:50 waiting for server to shut down.... done 2144s Nov 11 11:01:50 server stopped 2144s Nov 11 11:01:50 Then postgres0 role is the replica after 12 seconds # features/steps/basic_replication.py:105 2146s Nov 11 11:01:52 2146s Nov 11 11:01:52 @dcs-failsafe 2146s Nov 11 11:01:52 Scenario: check known replica is promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:68 2146s Nov 11 11:01:52 Given I kill postgres0 # features/steps/basic_replication.py:34 2147s Nov 11 11:01:53 And I shut down postmaster on postgres0 # features/steps/basic_replication.py:39 2147s Nov 11 11:01:53 waiting for server to shut down.... done 2147s Nov 11 11:01:53 server stopped 2147s Nov 11 11:01:53 And DCS is up # features/steps/dcs_failsafe_mode.py:9 2147s Nov 11 11:01:53 When I start postgres1 # features/steps/basic_replication.py:8 2149s Nov 11 11:01:55 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2150s Nov 11 11:01:56 And postgres1 role is the primary after 25 seconds # features/steps/basic_replication.py:105 2151s Nov 11 11:01:57 2151s Nov 11 11:01:57 @dcs-failsafe 2151s Nov 11 11:01:57 Scenario: scale to three-node cluster # features/dcs_failsafe_mode.feature:77 2151s Nov 11 11:01:57 Given I start postgres0 # features/steps/basic_replication.py:8 2154s Nov 11 11:02:00 And I start postgres2 # features/steps/basic_replication.py:8 2157s Nov 11 11:02:03 Then "members/postgres2" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2158s Nov 11 11:02:04 And "members/postgres0" key in DCS has state=running after 20 seconds # features/steps/cascading_replication.py:23 2158s Nov 11 11:02:04 And Response on GET http://127.0.0.1:8008/failsafe contains postgres2 after 10 seconds # features/steps/patroni_api.py:156 2159s Nov 11 11:02:05 And replication works from postgres1 to postgres0 after 10 seconds # features/steps/basic_replication.py:112 2160s Nov 11 11:02:06 And replication works from postgres1 to postgres2 after 10 seconds # features/steps/basic_replication.py:112 2161s Nov 11 11:02:07 2161s Nov 11 11:02:07 @dcs-failsafe @slot-advance 2161s Nov 11 11:02:07 Scenario: make sure permanent slots exist on replicas # features/dcs_failsafe_mode.feature:88 2161s Nov 11 11:02:07 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:71 2161s Nov 11 11:02:07 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # features/steps/slots.py:51 2165s Nov 11 11:02:11 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # features/steps/slots.py:51 2166s Nov 11 11:02:12 When I get all changes from physical slot dcs_slot_1 on postgres1 # features/steps/slots.py:75 2166s Nov 11 11:02:12 Then physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # features/steps/slots.py:51 2168s Nov 11 11:02:14 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 2168s Nov 11 11:02:14 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 2168s Nov 11 11:02:14 2168s Nov 11 11:02:14 @dcs-failsafe 2168s Nov 11 11:02:14 Scenario: check three-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:98 2168s Nov 11 11:02:14 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 2168s Nov 11 11:02:14 Then Response on GET http://127.0.0.1:8009/primary contains failsafe_mode_is_active after 12 seconds # features/steps/patroni_api.py:156 2172s Nov 11 11:02:18 Then postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2172s Nov 11 11:02:18 And postgres0 role is the replica after 2 seconds # features/steps/basic_replication.py:105 2172s Nov 11 11:02:18 And postgres2 role is the replica after 2 seconds # features/steps/basic_replication.py:105 2172s Nov 11 11:02:18 2172s Nov 11 11:02:18 @dcs-failsafe @slot-advance 2172s Nov 11 11:02:18 Scenario: check that permanent slots are in sync between nodes while DCS is down # features/dcs_failsafe_mode.feature:107 2172s Nov 11 11:02:18 Given replication works from postgres1 to postgres0 after 10 seconds # features/steps/basic_replication.py:112 2172s Nov 11 11:02:18 And replication works from postgres1 to postgres2 after 10 seconds # features/steps/basic_replication.py:112 2173s Nov 11 11:02:19 When I get all changes from logical slot dcs_slot_2 on postgres1 # features/steps/slots.py:70 2173s Nov 11 11:02:19 And I get all changes from physical slot dcs_slot_1 on postgres1 # features/steps/slots.py:75 2173s Nov 11 11:02:19 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # features/steps/slots.py:51 2180s Nov 11 11:02:26 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # features/steps/slots.py:51 2180s Nov 11 11:02:26 And physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # features/steps/slots.py:51 2180s Nov 11 11:02:26 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 2180s Nov 11 11:02:26 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 2191s Nov 11 11:02:37 2191s Nov 11 11:02:37 Feature: ignored slots # features/ignored_slots.feature:1 2191s Nov 11 11:02:37 2191s Nov 11 11:02:37 Scenario: check ignored slots aren't removed on failover/switchover # features/ignored_slots.feature:2 2191s Nov 11 11:02:37 Given I start postgres1 # features/steps/basic_replication.py:8 2194s Nov 11 11:02:40 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 2194s Nov 11 11:02:40 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2194s Nov 11 11:02:40 When I issue a PATCH request to http://127.0.0.1:8009/config with {"ignore_slots": [{"name": "unmanaged_slot_0", "database": "postgres", "plugin": "test_decoding", "type": "logical"}, {"name": "unmanaged_slot_1", "database": "postgres", "plugin": "test_decoding"}, {"name": "unmanaged_slot_2", "database": "postgres"}, {"name": "unmanaged_slot_3"}], "postgresql": {"parameters": {"wal_level": "logical"}}} # features/steps/patroni_api.py:71 2194s Nov 11 11:02:40 Then I receive a response code 200 # features/steps/patroni_api.py:98 2194s Nov 11 11:02:40 And Response on GET http://127.0.0.1:8009/config contains ignore_slots after 10 seconds # features/steps/patroni_api.py:156 2194s Nov 11 11:02:40 When I shut down postgres1 # features/steps/basic_replication.py:29 2196s Nov 11 11:02:42 And I start postgres1 # features/steps/basic_replication.py:8 2198s Nov 11 11:02:44 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 2201s Nov 11 11:02:47 And "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 2202s Nov 11 11:02:48 And postgres1 role is the primary after 20 seconds # features/steps/basic_replication.py:105 2202s Nov 11 11:02:48 When I create a logical replication slot unmanaged_slot_0 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 2202s Nov 11 11:02:48 And I create a logical replication slot unmanaged_slot_1 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 2202s Nov 11 11:02:48 And I create a logical replication slot unmanaged_slot_2 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 2202s Nov 11 11:02:48 And I create a logical replication slot unmanaged_slot_3 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 2202s Nov 11 11:02:48 And I create a logical replication slot dummy_slot on postgres1 with the test_decoding plugin # features/steps/slots.py:8 2202s Nov 11 11:02:48 Then postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2202s Nov 11 11:02:48 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2202s Nov 11 11:02:48 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2202s Nov 11 11:02:48 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2202s Nov 11 11:02:48 When I start postgres0 # features/steps/basic_replication.py:8 2205s Nov 11 11:02:51 Then "members/postgres0" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 2205s Nov 11 11:02:51 And postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 2205s Nov 11 11:02:51 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 2206s Nov 11 11:02:52 When I shut down postgres1 # features/steps/basic_replication.py:29 2208s Nov 11 11:02:54 Then "members/postgres0" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 2209s Nov 11 11:02:55 When I start postgres1 # features/steps/basic_replication.py:8 2211s Nov 11 11:02:57 Then postgres1 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 2211s Nov 11 11:02:57 And "members/postgres1" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 2212s Nov 11 11:02:58 And I sleep for 2 seconds # features/steps/patroni_api.py:39 2214s Nov 11 11:03:00 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2214s Nov 11 11:03:00 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2214s Nov 11 11:03:00 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2214s Nov 11 11:03:00 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2214s Nov 11 11:03:00 And postgres1 does not have a replication slot named dummy_slot # features/steps/slots.py:40 2214s Nov 11 11:03:00 When I shut down postgres0 # features/steps/basic_replication.py:29 2216s Nov 11 11:03:02 Then "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 2217s Nov 11 11:03:03 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2217s Nov 11 11:03:03 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2217s Nov 11 11:03:03 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2217s Nov 11 11:03:03 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2226s Nov 11 11:03:12 2226s Nov 11 11:03:12 Feature: nostream node # features/nostream_node.feature:1 2226s Nov 11 11:03:12 2226s Nov 11 11:03:12 Scenario: check nostream node is recovering from archive # features/nostream_node.feature:3 2226s Nov 11 11:03:12 When I start postgres0 # features/steps/basic_replication.py:8 2234s Nov 11 11:03:20 And I configure and start postgres1 with a tag nostream true # features/steps/cascading_replication.py:7 2237s Nov 11 11:03:23 Then "members/postgres1" key in DCS has replication_state=in archive recovery after 10 seconds # features/steps/cascading_replication.py:23 2237s Nov 11 11:03:23 And replication works from postgres0 to postgres1 after 30 seconds # features/steps/basic_replication.py:112 2242s Nov 11 11:03:28 2242s Nov 11 11:03:28 @slot-advance 2242s Nov 11 11:03:28 Scenario: check permanent logical replication slots are not copied # features/nostream_node.feature:10 2242s Nov 11 11:03:28 When I issue a PATCH request to http://127.0.0.1:8008/config with {"postgresql": {"parameters": {"wal_level": "logical"}}, "slots":{"test_logical":{"type":"logical","database":"postgres","plugin":"test_decoding"}}} # features/steps/patroni_api.py:71 2242s Nov 11 11:03:28 Then I receive a response code 200 # features/steps/patroni_api.py:98 2242s Nov 11 11:03:28 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 2244s Nov 11 11:03:30 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 2246s Nov 11 11:03:31 When I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 2249s Nov 11 11:03:34 Then "members/postgres2" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 2255s Nov 11 11:03:41 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 2255s Nov 11 11:03:41 And postgres2 does not have a replication slot named test_logical # features/steps/slots.py:40 2272s Nov 11 11:03:58 2272s Nov 11 11:03:58 Feature: patroni api # features/patroni_api.feature:1 2272s Nov 11 11:03:58 We should check that patroni correctly responds to valid and not-valid API requests. 2272s Nov 11 11:03:58 Scenario: check API requests on a stand-alone server # features/patroni_api.feature:4 2272s Nov 11 11:03:58 Given I start postgres0 # features/steps/basic_replication.py:8 2275s Nov 11 11:04:01 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2275s Nov 11 11:04:01 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 2275s Nov 11 11:04:01 Then I receive a response code 200 # features/steps/patroni_api.py:98 2275s Nov 11 11:04:01 And I receive a response state running # features/steps/patroni_api.py:98 2275s Nov 11 11:04:01 And I receive a response role master # features/steps/patroni_api.py:98 2275s Nov 11 11:04:01 When I issue a GET request to http://127.0.0.1:8008/standby_leader # features/steps/patroni_api.py:61 2275s Nov 11 11:04:01 Then I receive a response code 503 # features/steps/patroni_api.py:98 2275s Nov 11 11:04:01 When I issue a GET request to http://127.0.0.1:8008/health # features/steps/patroni_api.py:61 2275s Nov 11 11:04:01 Then I receive a response code 200 # features/steps/patroni_api.py:98 2275s Nov 11 11:04:01 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 2275s Nov 11 11:04:01 Then I receive a response code 503 # features/steps/patroni_api.py:98 2275s Nov 11 11:04:01 When I issue a POST request to http://127.0.0.1:8008/reinitialize with {"force": true} # features/steps/patroni_api.py:71 2275s Nov 11 11:04:01 Then I receive a response code 503 # features/steps/patroni_api.py:98 2275s Nov 11 11:04:01 And I receive a response text I am the leader, can not reinitialize # features/steps/patroni_api.py:98 2275s Nov 11 11:04:01 When I run patronictl.py switchover batman --master postgres0 --force # features/steps/patroni_api.py:86 2276s Nov 11 11:04:02 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 2276s Nov 11 11:04:02 And I receive a response output "Error: No candidates found to switchover to" # features/steps/patroni_api.py:98 2276s Nov 11 11:04:02 When I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres0"} # features/steps/patroni_api.py:71 2277s Nov 11 11:04:02 Then I receive a response code 412 # features/steps/patroni_api.py:98 2277s Nov 11 11:04:02 And I receive a response text switchover is not possible: cluster does not have members except leader # features/steps/patroni_api.py:98 2277s Nov 11 11:04:02 When I issue an empty POST request to http://127.0.0.1:8008/failover # features/steps/patroni_api.py:66 2277s Nov 11 11:04:03 Then I receive a response code 400 # features/steps/patroni_api.py:98 2277s Nov 11 11:04:03 When I issue a POST request to http://127.0.0.1:8008/failover with {"foo": "bar"} # features/steps/patroni_api.py:71 2277s Nov 11 11:04:03 Then I receive a response code 400 # features/steps/patroni_api.py:98 2277s Nov 11 11:04:03 And I receive a response text "Failover could be performed only to a specific candidate" # features/steps/patroni_api.py:98 2277s Nov 11 11:04:03 2277s Nov 11 11:04:03 Scenario: check local configuration reload # features/patroni_api.feature:32 2277s Nov 11 11:04:03 Given I add tag new_tag new_value to postgres0 config # features/steps/patroni_api.py:137 2277s Nov 11 11:04:03 And I issue an empty POST request to http://127.0.0.1:8008/reload # features/steps/patroni_api.py:66 2277s Nov 11 11:04:03 Then I receive a response code 202 # features/steps/patroni_api.py:98 2277s Nov 11 11:04:03 2277s Nov 11 11:04:03 Scenario: check dynamic configuration change via DCS # features/patroni_api.feature:37 2277s Nov 11 11:04:03 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"ttl": 20, "postgresql": {"parameters": {"max_connections": "101"}}} # features/steps/patroni_api.py:71 2277s Nov 11 11:04:03 Then I receive a response code 200 # features/steps/patroni_api.py:98 2277s Nov 11 11:04:03 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 11 seconds # features/steps/patroni_api.py:156 2279s Nov 11 11:04:05 When I issue a GET request to http://127.0.0.1:8008/config # features/steps/patroni_api.py:61 2279s Nov 11 11:04:05 Then I receive a response code 200 # features/steps/patroni_api.py:98 2279s Nov 11 11:04:05 And I receive a response ttl 20 # features/steps/patroni_api.py:98 2279s Nov 11 11:04:05 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 2279s Nov 11 11:04:05 Then I receive a response code 200 # features/steps/patroni_api.py:98 2279s Nov 11 11:04:05 And I receive a response tags {'new_tag': 'new_value'} # features/steps/patroni_api.py:98 2279s Nov 11 11:04:05 And I sleep for 4 seconds # features/steps/patroni_api.py:39 2283s Nov 11 11:04:09 2283s Nov 11 11:04:09 Scenario: check the scheduled restart # features/patroni_api.feature:49 2283s Nov 11 11:04:09 Given I run patronictl.py edit-config -p 'superuser_reserved_connections=6' --force batman # features/steps/patroni_api.py:86 2284s Nov 11 11:04:10 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2284s Nov 11 11:04:10 And I receive a response output "+ superuser_reserved_connections: 6" # features/steps/patroni_api.py:98 2284s Nov 11 11:04:10 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 5 seconds # features/steps/patroni_api.py:156 2284s Nov 11 11:04:10 Given I issue a scheduled restart at http://127.0.0.1:8008 in 5 seconds with {"role": "replica"} # features/steps/patroni_api.py:124 2284s Nov 11 11:04:10 Then I receive a response code 202 # features/steps/patroni_api.py:98 2284s Nov 11 11:04:10 And I sleep for 8 seconds # features/steps/patroni_api.py:39 2292s Nov 11 11:04:18 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 10 seconds # features/steps/patroni_api.py:156 2292s Nov 11 11:04:18 Given I issue a scheduled restart at http://127.0.0.1:8008 in 5 seconds with {"restart_pending": "True"} # features/steps/patroni_api.py:124 2292s Nov 11 11:04:18 Then I receive a response code 202 # features/steps/patroni_api.py:98 2292s Nov 11 11:04:18 And Response on GET http://127.0.0.1:8008/patroni does not contain pending_restart after 10 seconds # features/steps/patroni_api.py:171 2299s Nov 11 11:04:25 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2300s Nov 11 11:04:26 2300s Nov 11 11:04:26 Scenario: check API requests for the primary-replica pair in the pause mode # features/patroni_api.feature:63 2300s Nov 11 11:04:26 Given I start postgres1 # features/steps/basic_replication.py:8 2306s Nov 11 11:04:32 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 2307s Nov 11 11:04:33 When I run patronictl.py pause batman # features/steps/patroni_api.py:86 2308s Nov 11 11:04:34 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2308s Nov 11 11:04:34 When I kill postmaster on postgres1 # features/steps/basic_replication.py:44 2308s Nov 11 11:04:34 waiting for server to shut down.... done 2308s Nov 11 11:04:34 server stopped 2308s Nov 11 11:04:34 And I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 2308s Nov 11 11:04:34 Then I receive a response code 503 # features/steps/patroni_api.py:98 2308s Nov 11 11:04:34 And "members/postgres1" key in DCS has state=stopped after 10 seconds # features/steps/cascading_replication.py:23 2309s Nov 11 11:04:35 When I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 2312s Nov 11 11:04:38 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2312s Nov 11 11:04:38 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 2313s Nov 11 11:04:39 And I sleep for 2 seconds # features/steps/patroni_api.py:39 2315s Nov 11 11:04:41 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 2315s Nov 11 11:04:41 Then I receive a response code 200 # features/steps/patroni_api.py:98 2315s Nov 11 11:04:41 And I receive a response state running # features/steps/patroni_api.py:98 2315s Nov 11 11:04:41 And I receive a response role replica # features/steps/patroni_api.py:98 2315s Nov 11 11:04:41 When I run patronictl.py reinit batman postgres1 --force --wait # features/steps/patroni_api.py:86 2318s Nov 11 11:04:44 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2318s Nov 11 11:04:44 And I receive a response output "Success: reinitialize for member postgres1" # features/steps/patroni_api.py:98 2318s Nov 11 11:04:44 And postgres1 role is the secondary after 30 seconds # features/steps/basic_replication.py:105 2319s Nov 11 11:04:45 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 2319s Nov 11 11:04:45 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 2322s Nov 11 11:04:48 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2322s Nov 11 11:04:48 And I receive a response output "Success: restart on member postgres0" # features/steps/patroni_api.py:98 2322s Nov 11 11:04:48 And postgres0 role is the primary after 5 seconds # features/steps/basic_replication.py:105 2323s Nov 11 11:04:49 2323s Nov 11 11:04:49 Scenario: check the switchover via the API in the pause mode # features/patroni_api.feature:90 2323s Nov 11 11:04:49 Given I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres0", "candidate": "postgres1"} # features/steps/patroni_api.py:71 2325s Nov 11 11:04:51 Then I receive a response code 200 # features/steps/patroni_api.py:98 2325s Nov 11 11:04:51 And postgres1 is a leader after 5 seconds # features/steps/patroni_api.py:29 2325s Nov 11 11:04:51 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2325s Nov 11 11:04:51 And postgres0 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 2330s Nov 11 11:04:56 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 2330s Nov 11 11:04:56 And "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2331s Nov 11 11:04:57 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 2331s Nov 11 11:04:57 Then I receive a response code 503 # features/steps/patroni_api.py:98 2331s Nov 11 11:04:57 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 2331s Nov 11 11:04:57 Then I receive a response code 200 # features/steps/patroni_api.py:98 2331s Nov 11 11:04:57 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 2331s Nov 11 11:04:57 Then I receive a response code 200 # features/steps/patroni_api.py:98 2331s Nov 11 11:04:57 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 2331s Nov 11 11:04:57 Then I receive a response code 503 # features/steps/patroni_api.py:98 2331s Nov 11 11:04:57 2331s Nov 11 11:04:57 Scenario: check the scheduled switchover # features/patroni_api.feature:107 2331s Nov 11 11:04:57 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 2332s Nov 11 11:04:58 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 2332s Nov 11 11:04:58 And I receive a response output "Can't schedule switchover in the paused state" # features/steps/patroni_api.py:98 2332s Nov 11 11:04:58 When I run patronictl.py resume batman # features/steps/patroni_api.py:86 2334s Nov 11 11:05:00 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2334s Nov 11 11:05:00 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 2335s Nov 11 11:05:01 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2335s Nov 11 11:05:01 And postgres0 is a leader after 20 seconds # features/steps/patroni_api.py:29 2345s Nov 11 11:05:11 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2346s Nov 11 11:05:12 And postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 2348s Nov 11 11:05:14 And replication works from postgres0 to postgres1 after 25 seconds # features/steps/basic_replication.py:112 2348s Nov 11 11:05:14 And "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2349s Nov 11 11:05:15 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 2349s Nov 11 11:05:15 Then I receive a response code 200 # features/steps/patroni_api.py:98 2349s Nov 11 11:05:15 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 2349s Nov 11 11:05:15 Then I receive a response code 503 # features/steps/patroni_api.py:98 2349s Nov 11 11:05:15 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 2349s Nov 11 11:05:15 Then I receive a response code 503 # features/steps/patroni_api.py:98 2349s Nov 11 11:05:15 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 2349s Nov 11 11:05:15 Then I receive a response code 200 # features/steps/patroni_api.py:98 2360s Nov 11 11:05:26 2360s Nov 11 11:05:26 Feature: permanent slots # features/permanent_slots.feature:1 2360s Nov 11 11:05:26 2360s Nov 11 11:05:26 Scenario: check that physical permanent slots are created # features/permanent_slots.feature:2 2360s Nov 11 11:05:26 Given I start postgres0 # features/steps/basic_replication.py:8 2369s Nov 11 11:05:35 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2370s Nov 11 11:05:36 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2370s Nov 11 11:05:36 When I issue a PATCH request to http://127.0.0.1:8008/config with {"slots":{"test_physical":0,"postgres0":0,"postgres1":0,"postgres3":0},"postgresql":{"parameters":{"wal_level":"logical"}}} # features/steps/patroni_api.py:71 2370s Nov 11 11:05:36 Then I receive a response code 200 # features/steps/patroni_api.py:98 2370s Nov 11 11:05:36 And Response on GET http://127.0.0.1:8008/config contains slots after 10 seconds # features/steps/patroni_api.py:156 2370s Nov 11 11:05:36 When I start postgres1 # features/steps/basic_replication.py:8 2379s Nov 11 11:05:45 And I start postgres2 # features/steps/basic_replication.py:8 2382s Nov 11 11:05:48 And I configure and start postgres3 with a tag replicatefrom postgres2 # features/steps/cascading_replication.py:7 2385s Nov 11 11:05:51 Then postgres0 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 2385s Nov 11 11:05:51 And postgres0 has a physical replication slot named postgres1 after 10 seconds # features/steps/slots.py:80 2385s Nov 11 11:05:51 And postgres0 has a physical replication slot named postgres2 after 10 seconds # features/steps/slots.py:80 2385s Nov 11 11:05:51 And postgres2 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 2385s Nov 11 11:05:51 2385s Nov 11 11:05:51 @slot-advance 2385s Nov 11 11:05:51 Scenario: check that logical permanent slots are created # features/permanent_slots.feature:18 2385s Nov 11 11:05:51 Given I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 2388s Nov 11 11:05:54 And I issue a PATCH request to http://127.0.0.1:8008/config with {"slots":{"test_logical":{"type":"logical","database":"postgres","plugin":"test_decoding"}}} # features/steps/patroni_api.py:71 2388s Nov 11 11:05:54 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 2389s Nov 11 11:05:55 2389s Nov 11 11:05:55 @slot-advance 2389s Nov 11 11:05:55 Scenario: check that permanent slots are created on replicas # features/permanent_slots.feature:24 2389s Nov 11 11:05:55 Given postgres1 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 2392s Nov 11 11:05:58 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2392s Nov 11 11:05:58 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 2393s Nov 11 11:05:59 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 2394s Nov 11 11:06:00 And postgres1 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 2394s Nov 11 11:06:00 And postgres2 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 2394s Nov 11 11:06:00 And postgres3 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 2394s Nov 11 11:06:00 2394s Nov 11 11:06:00 @slot-advance 2394s Nov 11 11:06:00 Scenario: check permanent physical slots that match with member names # features/permanent_slots.feature:34 2394s Nov 11 11:06:00 Given postgres0 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 2394s Nov 11 11:06:00 And postgres1 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 2394s Nov 11 11:06:00 And postgres1 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 2394s Nov 11 11:06:00 And postgres2 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 2394s Nov 11 11:06:00 And postgres2 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 2394s Nov 11 11:06:00 And postgres2 has a physical replication slot named postgres1 after 2 seconds # features/steps/slots.py:80 2394s Nov 11 11:06:00 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 2394s Nov 11 11:06:00 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 2394s Nov 11 11:06:00 2394s Nov 11 11:06:00 @slot-advance 2394s Nov 11 11:06:00 Scenario: check that permanent slots are advanced on replicas # features/permanent_slots.feature:45 2394s Nov 11 11:06:00 Given I add the table replicate_me to postgres0 # features/steps/basic_replication.py:54 2394s Nov 11 11:06:00 When I get all changes from logical slot test_logical on postgres0 # features/steps/slots.py:70 2394s Nov 11 11:06:00 And I get all changes from physical slot test_physical on postgres0 # features/steps/slots.py:75 2394s Nov 11 11:06:00 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2396s Nov 11 11:06:02 And Physical slot test_physical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2396s Nov 11 11:06:02 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 2396s Nov 11 11:06:02 And Physical slot test_physical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 2396s Nov 11 11:06:02 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 2396s Nov 11 11:06:02 And Physical slot test_physical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 2396s Nov 11 11:06:02 And Physical slot postgres1 is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 2396s Nov 11 11:06:02 And Physical slot postgres3 is in sync between postgres2 and postgres0 after 20 seconds # features/steps/slots.py:51 2396s Nov 11 11:06:02 And Physical slot postgres3 is in sync between postgres2 and postgres1 after 10 seconds # features/steps/slots.py:51 2396s Nov 11 11:06:02 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 2396s Nov 11 11:06:02 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 2396s Nov 11 11:06:02 2396s Nov 11 11:06:02 @slot-advance 2396s Nov 11 11:06:02 Scenario: check that only permanent slots are written to the /status key # features/permanent_slots.feature:62 2396s Nov 11 11:06:02 Given "status" key in DCS has test_physical in slots # features/steps/slots.py:96 2396s Nov 11 11:06:02 And "status" key in DCS has postgres0 in slots # features/steps/slots.py:96 2396s Nov 11 11:06:02 And "status" key in DCS has postgres1 in slots # features/steps/slots.py:96 2396s Nov 11 11:06:02 And "status" key in DCS does not have postgres2 in slots # features/steps/slots.py:102 2396s Nov 11 11:06:02 And "status" key in DCS has postgres3 in slots # features/steps/slots.py:96 2396s Nov 11 11:06:02 2396s Nov 11 11:06:02 Scenario: check permanent physical replication slot after failover # features/permanent_slots.feature:69 2396s Nov 11 11:06:02 Given I shut down postgres3 # features/steps/basic_replication.py:29 2397s Nov 11 11:06:03 And I shut down postgres2 # features/steps/basic_replication.py:29 2398s Nov 11 11:06:04 And I shut down postgres0 # features/steps/basic_replication.py:29 2400s Nov 11 11:06:06 Then postgres1 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 2400s Nov 11 11:06:06 And postgres1 has a physical replication slot named postgres0 after 10 seconds # features/steps/slots.py:80 2400s Nov 11 11:06:06 And postgres1 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 2412s Nov 11 11:06:18 2412s Nov 11 11:06:18 Feature: priority replication # features/priority_failover.feature:1 2412s Nov 11 11:06:18 We should check that we can give nodes priority during failover 2412s Nov 11 11:06:18 Scenario: check failover priority 0 prevents leaderships # features/priority_failover.feature:4 2412s Nov 11 11:06:18 Given I configure and start postgres0 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 2415s Nov 11 11:06:21 And I configure and start postgres1 with a tag failover_priority 0 # features/steps/cascading_replication.py:7 2420s Nov 11 11:06:26 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 2426s Nov 11 11:06:32 When I shut down postgres0 # features/steps/basic_replication.py:29 2428s Nov 11 11:06:34 And there is one of ["following a different leader because I am not allowed to promote"] INFO in the postgres1 patroni log after 5 seconds # features/steps/basic_replication.py:121 2430s Nov 11 11:06:36 Then postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 2430s Nov 11 11:06:36 When I start postgres0 # features/steps/basic_replication.py:8 2433s Nov 11 11:06:39 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2437s Nov 11 11:06:43 2437s Nov 11 11:06:43 Scenario: check higher failover priority is respected # features/priority_failover.feature:14 2437s Nov 11 11:06:43 Given I configure and start postgres2 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 2446s Nov 11 11:06:52 And I configure and start postgres3 with a tag failover_priority 2 # features/steps/cascading_replication.py:7 2455s Nov 11 11:07:01 Then replication works from postgres0 to postgres2 after 20 seconds # features/steps/basic_replication.py:112 2456s Nov 11 11:07:02 And replication works from postgres0 to postgres3 after 20 seconds # features/steps/basic_replication.py:112 2460s Nov 11 11:07:06 When I shut down postgres0 # features/steps/basic_replication.py:29 2462s Nov 11 11:07:08 Then postgres3 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2462s Nov 11 11:07:08 And there is one of ["postgres3 has equally tolerable WAL position and priority 2, while this node has priority 1","Wal position of postgres3 is ahead of my wal position"] INFO in the postgres2 patroni log after 5 seconds # features/steps/basic_replication.py:121 2462s Nov 11 11:07:08 2462s Nov 11 11:07:08 Scenario: check conflicting configuration handling # features/priority_failover.feature:23 2462s Nov 11 11:07:08 When I set nofailover tag in postgres2 config # features/steps/patroni_api.py:131 2462s Nov 11 11:07:08 And I issue an empty POST request to http://127.0.0.1:8010/reload # features/steps/patroni_api.py:66 2462s Nov 11 11:07:08 Then I receive a response code 202 # features/steps/patroni_api.py:98 2462s Nov 11 11:07:08 And there is one of ["Conflicting configuration between nofailover: True and failover_priority: 1. Defaulting to nofailover: True"] WARNING in the postgres2 patroni log after 5 seconds # features/steps/basic_replication.py:121 2463s Nov 11 11:07:09 And "members/postgres2" key in DCS has tags={'failover_priority': '1', 'nofailover': True} after 10 seconds # features/steps/cascading_replication.py:23 2464s Nov 11 11:07:10 When I issue a POST request to http://127.0.0.1:8010/failover with {"candidate": "postgres2"} # features/steps/patroni_api.py:71 2464s Nov 11 11:07:10 Then I receive a response code 412 # features/steps/patroni_api.py:98 2464s Nov 11 11:07:10 And I receive a response text "failover is not possible: no good candidates have been found" # features/steps/patroni_api.py:98 2464s Nov 11 11:07:10 When I reset nofailover tag in postgres1 config # features/steps/patroni_api.py:131 2464s Nov 11 11:07:10 And I issue an empty POST request to http://127.0.0.1:8009/reload # features/steps/patroni_api.py:66 2464s Nov 11 11:07:10 Then I receive a response code 202 # features/steps/patroni_api.py:98 2464s Nov 11 11:07:10 And there is one of ["Conflicting configuration between nofailover: False and failover_priority: 0. Defaulting to nofailover: False"] WARNING in the postgres1 patroni log after 5 seconds # features/steps/basic_replication.py:121 2466s Nov 11 11:07:12 And "members/postgres1" key in DCS has tags={'failover_priority': '0', 'nofailover': False} after 10 seconds # features/steps/cascading_replication.py:23 2467s Nov 11 11:07:13 And I issue a POST request to http://127.0.0.1:8009/failover with {"candidate": "postgres1"} # features/steps/patroni_api.py:71 2470s Nov 11 11:07:16 Then I receive a response code 200 # features/steps/patroni_api.py:98 2470s Nov 11 11:07:16 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2487s Nov 11 11:07:33 2487s Nov 11 11:07:33 Feature: recovery # features/recovery.feature:1 2487s Nov 11 11:07:33 We want to check that crashed postgres is started back 2487s Nov 11 11:07:33 Scenario: check that timeline is not incremented when primary is started after crash # features/recovery.feature:4 2487s Nov 11 11:07:33 Given I start postgres0 # features/steps/basic_replication.py:8 2490s Nov 11 11:07:36 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2490s Nov 11 11:07:36 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2490s Nov 11 11:07:36 When I start postgres1 # features/steps/basic_replication.py:8 2499s Nov 11 11:07:45 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 2499s Nov 11 11:07:45 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 2500s Nov 11 11:07:46 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 2500s Nov 11 11:07:46 waiting for server to shut down.... done 2500s Nov 11 11:07:46 server stopped 2500s Nov 11 11:07:46 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2502s Nov 11 11:07:48 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 2502s Nov 11 11:07:48 Then I receive a response code 200 # features/steps/patroni_api.py:98 2502s Nov 11 11:07:48 And I receive a response role master # features/steps/patroni_api.py:98 2502s Nov 11 11:07:48 And I receive a response timeline 1 # features/steps/patroni_api.py:98 2502s Nov 11 11:07:48 And "members/postgres0" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 2503s Nov 11 11:07:49 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 2506s Nov 11 11:07:52 2506s Nov 11 11:07:52 Scenario: check immediate failover when master_start_timeout=0 # features/recovery.feature:20 2506s Nov 11 11:07:52 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"master_start_timeout": 0} # features/steps/patroni_api.py:71 2506s Nov 11 11:07:52 Then I receive a response code 200 # features/steps/patroni_api.py:98 2506s Nov 11 11:07:52 And Response on GET http://127.0.0.1:8008/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 2506s Nov 11 11:07:52 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 2506s Nov 11 11:07:52 waiting for server to shut down.... done 2506s Nov 11 11:07:52 server stopped 2506s Nov 11 11:07:52 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 2508s Nov 11 11:07:54 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2520s Nov 11 11:08:06 2520s Nov 11 11:08:06 Feature: standby cluster # features/standby_cluster.feature:1 2520s Nov 11 11:08:06 2520s Nov 11 11:08:06 Scenario: prepare the cluster with logical slots # features/standby_cluster.feature:2 2520s Nov 11 11:08:06 Given I start postgres1 # features/steps/basic_replication.py:8 2523s Nov 11 11:08:09 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 2523s Nov 11 11:08:09 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2523s Nov 11 11:08:09 When I issue a PATCH request to http://127.0.0.1:8009/config with {"slots": {"pm_1": {"type": "physical"}}, "postgresql": {"parameters": {"wal_level": "logical"}}} # features/steps/patroni_api.py:71 2523s Nov 11 11:08:09 Then I receive a response code 200 # features/steps/patroni_api.py:98 2523s Nov 11 11:08:09 And Response on GET http://127.0.0.1:8009/config contains slots after 10 seconds # features/steps/patroni_api.py:156 2523s Nov 11 11:08:09 And I sleep for 3 seconds # features/steps/patroni_api.py:39 2526s Nov 11 11:08:12 When I issue a PATCH request to http://127.0.0.1:8009/config with {"slots": {"test_logical": {"type": "logical", "database": "postgres", "plugin": "test_decoding"}}} # features/steps/patroni_api.py:71 2526s Nov 11 11:08:12 Then I receive a response code 200 # features/steps/patroni_api.py:98 2526s Nov 11 11:08:12 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 2526s Nov 11 11:08:12 When I start postgres0 # features/steps/basic_replication.py:8 2529s Nov 11 11:08:15 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2529s Nov 11 11:08:15 And replication works from postgres1 to postgres0 after 15 seconds # features/steps/basic_replication.py:112 2530s Nov 11 11:08:16 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 2530s Nov 11 11:08:16 Then I receive a response code 200 # features/steps/patroni_api.py:98 2530s Nov 11 11:08:16 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 2530s Nov 11 11:08:16 And "members/postgres0" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 2531s Nov 11 11:08:17 2531s Nov 11 11:08:17 @slot-advance 2531s Nov 11 11:08:17 Scenario: check permanent logical slots are synced to the replica # features/standby_cluster.feature:22 2531s Nov 11 11:08:17 Given I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 2534s Nov 11 11:08:20 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2539s Nov 11 11:08:25 2539s Nov 11 11:08:25 Scenario: Detach exiting node from the cluster # features/standby_cluster.feature:26 2539s Nov 11 11:08:25 When I shut down postgres1 # features/steps/basic_replication.py:29 2541s Nov 11 11:08:27 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2541s Nov 11 11:08:27 And "members/postgres0" key in DCS has role=master after 5 seconds # features/steps/cascading_replication.py:23 2542s Nov 11 11:08:28 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 2542s Nov 11 11:08:28 Then I receive a response code 200 # features/steps/patroni_api.py:98 2542s Nov 11 11:08:28 2542s Nov 11 11:08:28 Scenario: check replication of a single table in a standby cluster # features/standby_cluster.feature:33 2542s Nov 11 11:08:28 Given I start postgres1 in a standby cluster batman1 as a clone of postgres0 # features/steps/standby_cluster.py:23 2544s Nov 11 11:08:30 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 2547s Nov 11 11:08:33 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 2547s Nov 11 11:08:33 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 2547s Nov 11 11:08:33 When I issue a GET request to http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:61 2547s Nov 11 11:08:33 Then I receive a response code 200 # features/steps/patroni_api.py:98 2547s Nov 11 11:08:33 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 2547s Nov 11 11:08:33 And I sleep for 3 seconds # features/steps/patroni_api.py:39 2550s Nov 11 11:08:36 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 2550s Nov 11 11:08:36 Then I receive a response code 503 # features/steps/patroni_api.py:98 2550s Nov 11 11:08:36 When I issue a GET request to http://127.0.0.1:8009/standby_leader # features/steps/patroni_api.py:61 2550s Nov 11 11:08:36 Then I receive a response code 200 # features/steps/patroni_api.py:98 2550s Nov 11 11:08:36 And I receive a response role standby_leader # features/steps/patroni_api.py:98 2550s Nov 11 11:08:36 And there is a postgres1_cb.log with "on_role_change standby_leader batman1" in postgres1 data directory # features/steps/cascading_replication.py:12 2550s Nov 11 11:08:36 When I start postgres2 in a cluster batman1 # features/steps/standby_cluster.py:12 2553s Nov 11 11:08:39 Then postgres2 role is the replica after 24 seconds # features/steps/basic_replication.py:105 2553s Nov 11 11:08:39 And postgres2 is replicating from postgres1 after 10 seconds # features/steps/standby_cluster.py:52 2553s Nov 11 11:08:39 And table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 2553s Nov 11 11:08:39 When I issue a GET request to http://127.0.0.1:8010/patroni # features/steps/patroni_api.py:61 2553s Nov 11 11:08:39 Then I receive a response code 200 # features/steps/patroni_api.py:98 2553s Nov 11 11:08:39 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 2553s Nov 11 11:08:39 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 2553s Nov 11 11:08:39 2553s Nov 11 11:08:39 Scenario: check switchover # features/standby_cluster.feature:57 2553s Nov 11 11:08:39 Given I run patronictl.py switchover batman1 --force # features/steps/patroni_api.py:86 2557s Nov 11 11:08:43 Then Status code on GET http://127.0.0.1:8010/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 2557s Nov 11 11:08:43 And postgres1 is replicating from postgres2 after 32 seconds # features/steps/standby_cluster.py:52 2559s Nov 11 11:08:45 And there is a postgres2_cb.log with "on_start replica batman1\non_role_change standby_leader batman1" in postgres2 data directory # features/steps/cascading_replication.py:12 2559s Nov 11 11:08:45 2559s Nov 11 11:08:45 Scenario: check failover # features/standby_cluster.feature:63 2559s Nov 11 11:08:45 When I kill postgres2 # features/steps/basic_replication.py:34 2560s Nov 11 11:08:46 And I kill postmaster on postgres2 # features/steps/basic_replication.py:44 2560s Nov 11 11:08:46 waiting for server to shut down.... done 2560s Nov 11 11:08:46 server stopped 2560s Nov 11 11:08:46 Then postgres1 is replicating from postgres0 after 32 seconds # features/steps/standby_cluster.py:52 2579s Nov 11 11:09:05 And Status code on GET http://127.0.0.1:8009/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 2579s Nov 11 11:09:05 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 2579s Nov 11 11:09:05 Then I receive a response code 503 # features/steps/patroni_api.py:98 2579s Nov 11 11:09:05 And I receive a response role standby_leader # features/steps/patroni_api.py:98 2579s Nov 11 11:09:05 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 2580s Nov 11 11:09:06 And there is a postgres1_cb.log with "on_role_change replica batman1\non_role_change standby_leader batman1" in postgres1 data directory # features/steps/cascading_replication.py:12 2596s Nov 11 11:09:22 2596s Nov 11 11:09:22 Feature: watchdog # features/watchdog.feature:1 2596s Nov 11 11:09:22 Verify that watchdog gets pinged and triggered under appropriate circumstances. 2596s Nov 11 11:09:22 Scenario: watchdog is opened and pinged # features/watchdog.feature:4 2596s Nov 11 11:09:22 Given I start postgres0 with watchdog # features/steps/watchdog.py:16 2599s Nov 11 11:09:25 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2599s Nov 11 11:09:25 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2599s Nov 11 11:09:25 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 2599s Nov 11 11:09:25 And postgres0 watchdog has a 15 second timeout # features/steps/watchdog.py:34 2599s Nov 11 11:09:25 2599s Nov 11 11:09:25 Scenario: watchdog is reconfigured after global ttl changed # features/watchdog.feature:11 2599s Nov 11 11:09:25 Given I run patronictl.py edit-config batman -s ttl=30 --force # features/steps/patroni_api.py:86 2601s Nov 11 11:09:27 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2601s Nov 11 11:09:27 And I receive a response output "+ttl: 30" # features/steps/patroni_api.py:98 2601s Nov 11 11:09:27 When I sleep for 4 seconds # features/steps/patroni_api.py:39 2605s Nov 11 11:09:31 Then postgres0 watchdog has a 25 second timeout # features/steps/watchdog.py:34 2605s Nov 11 11:09:31 2605s Nov 11 11:09:31 Scenario: watchdog is disabled during pause # features/watchdog.feature:18 2605s Nov 11 11:09:31 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 2606s Nov 11 11:09:32 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2606s Nov 11 11:09:32 When I sleep for 2 seconds # features/steps/patroni_api.py:39 2608s Nov 11 11:09:34 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 2608s Nov 11 11:09:34 2608s Nov 11 11:09:34 Scenario: watchdog is opened and pinged after resume # features/watchdog.feature:24 2608s Nov 11 11:09:34 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 2608s Nov 11 11:09:34 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 2609s Nov 11 11:09:35 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2609s Nov 11 11:09:35 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 2610s Nov 11 11:09:36 2610s Nov 11 11:09:36 Scenario: watchdog is disabled when shutting down # features/watchdog.feature:30 2610s Nov 11 11:09:36 Given I shut down postgres0 # features/steps/basic_replication.py:29 2612s Nov 11 11:09:38 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 2612s Nov 11 11:09:38 2612s Nov 11 11:09:38 Scenario: watchdog is triggered if patroni stops responding # features/watchdog.feature:34 2612s Nov 11 11:09:38 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 2612s Nov 11 11:09:38 And I start postgres0 with watchdog # features/steps/watchdog.py:16 2614s Nov 11 11:09:40 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2616s Nov 11 11:09:42 When postgres0 hangs for 30 seconds # features/steps/watchdog.py:52 2616s Nov 11 11:09:42 Then postgres0 watchdog is triggered after 30 seconds # features/steps/watchdog.py:44 2645s Nov 11 11:10:11 2647s Nov 11 11:10:13 Combined data file .coverage.autopkgtest.4457.XIPtxVtx 2647s Nov 11 11:10:13 Combined data file .coverage.autopkgtest.4460.XXBSExHx 2647s Nov 11 11:10:13 Combined data file .coverage.autopkgtest.4504.XmhPVEBx 2647s Nov 11 11:10:13 Combined data file .coverage.autopkgtest.4552.XsDTESCx 2647s Nov 11 11:10:13 Combined data file .coverage.autopkgtest.4600.XQvvgcmx 2647s Nov 11 11:10:13 Combined data file .coverage.autopkgtest.4645.XQxPyySx 2647s Nov 11 11:10:13 Combined data file .coverage.autopkgtest.4715.XYsgYoRx 2647s Nov 11 11:10:13 Combined data file .coverage.autopkgtest.4763.XsBENOIx 2647s Nov 11 11:10:13 Combined data file .coverage.autopkgtest.4767.XisZadYx 2647s Nov 11 11:10:13 Combined data file .coverage.autopkgtest.4858.XiDNPTsx 2647s Nov 11 11:10:13 Combined data file .coverage.autopkgtest.4956.XufckEGx 2647s Nov 11 11:10:13 Combined data file .coverage.autopkgtest.4959.XblaCaFx 2647s Nov 11 11:10:13 Combined data file .coverage.autopkgtest.5008.XqRChPfx 2647s Nov 11 11:10:13 Combined data file .coverage.autopkgtest.5072.XJPpOkRx 2647s Nov 11 11:10:13 Combined data file .coverage.autopkgtest.5218.XUSZntex 2647s Nov 11 11:10:13 Skipping duplicate data .coverage.autopkgtest.5222.XMSHCwDx 2647s Nov 11 11:10:13 Combined data file .coverage.autopkgtest.5225.XRahltCx 2647s Nov 11 11:10:13 Combined data file .coverage.autopkgtest.5270.Xaycvglx 2647s Nov 11 11:10:13 Combined data file .coverage.autopkgtest.5325.Xlgczjnx 2647s Nov 11 11:10:13 Combined data file .coverage.autopkgtest.5409.XKZSNaKx 2647s Nov 11 11:10:13 Combined data file .coverage.autopkgtest.5412.XEehyaCx 2647s Nov 11 11:10:13 Combined data file .coverage.autopkgtest.5728.XVAGMTLx 2647s Nov 11 11:10:13 Combined data file .coverage.autopkgtest.5803.XiGwKKux 2647s Nov 11 11:10:13 Combined data file .coverage.autopkgtest.5858.XfBBWWtx 2647s Nov 11 11:10:13 Skipping duplicate data .coverage.autopkgtest.6136.XEjyYyUx 2647s Nov 11 11:10:13 Combined data file .coverage.autopkgtest.6139.XIfhUhbx 2647s Nov 11 11:10:13 Combined data file .coverage.autopkgtest.6191.XolGrWFx 2647s Nov 11 11:10:13 Combined data file .coverage.autopkgtest.6252.XlsZQNsx 2647s Nov 11 11:10:13 Combined data file .coverage.autopkgtest.6342.XsVeIfxx 2647s Nov 11 11:10:13 Combined data file .coverage.autopkgtest.6439.XmJabugx 2647s Nov 11 11:10:13 Combined data file .coverage.autopkgtest.6442.XZzEIzMx 2647s Nov 11 11:10:13 Combined data file .coverage.autopkgtest.6477.XKiUFzIx 2647s Nov 11 11:10:13 Combined data file .coverage.autopkgtest.6554.XkXhIgnx 2647s Nov 11 11:10:13 Combined data file .coverage.autopkgtest.6587.XMoxXIKx 2647s Nov 11 11:10:13 Skipping duplicate data .coverage.autopkgtest.6709.XNivyPQx 2647s Nov 11 11:10:13 Combined data file .coverage.autopkgtest.6712.XQTKayUx 2647s Nov 11 11:10:13 Combined data file .coverage.autopkgtest.6761.XtMUCJcx 2647s Nov 11 11:10:13 Combined data file .coverage.autopkgtest.6777.XwazDqLx 2647s Nov 11 11:10:13 Combined data file .coverage.autopkgtest.6818.XXtHziKx 2647s Nov 11 11:10:13 Combined data file .coverage.autopkgtest.6867.XxCKxALx 2647s Nov 11 11:10:13 Combined data file .coverage.autopkgtest.6901.XktTEHDx 2647s Nov 11 11:10:13 Combined data file .coverage.autopkgtest.6937.XgaXmMMx 2647s Nov 11 11:10:13 Combined data file .coverage.autopkgtest.6980.XTFohHNx 2647s Nov 11 11:10:13 Combined data file .coverage.autopkgtest.7145.XJEikgsx 2647s Nov 11 11:10:13 Combined data file .coverage.autopkgtest.7148.XaYlTUOx 2647s Nov 11 11:10:13 Combined data file .coverage.autopkgtest.7155.XiZcIvOx 2647s Nov 11 11:10:13 Skipping duplicate data .coverage.autopkgtest.7265.XKfNOsEx 2647s Nov 11 11:10:13 Combined data file .coverage.autopkgtest.7268.XKZaFqnx 2647s Nov 11 11:10:13 Combined data file .coverage.autopkgtest.7316.XiGYaSbx 2647s Nov 11 11:10:13 Combined data file .coverage.autopkgtest.7364.XnxuNUQx 2647s Nov 11 11:10:13 Combined data file .coverage.autopkgtest.7417.XoElLgLx 2647s Nov 11 11:10:13 Combined data file .coverage.autopkgtest.7470.XSASumtx 2647s Nov 11 11:10:13 Skipping duplicate data .coverage.autopkgtest.7636.XbZxLGix 2647s Nov 11 11:10:13 Combined data file .coverage.autopkgtest.7640.XXIcwenx 2647s Nov 11 11:10:13 Combined data file .coverage.autopkgtest.7683.XdEUfrEx 2647s Nov 11 11:10:13 Combined data file .coverage.autopkgtest.7765.XVMPumHx 2647s Nov 11 11:10:13 Combined data file .coverage.autopkgtest.7839.XulMZWrx 2647s Nov 11 11:10:13 Combined data file .coverage.autopkgtest.7916.XWNQzYKx 2647s Nov 11 11:10:13 Skipping duplicate data .coverage.autopkgtest.8262.XSBKxfyx 2647s Nov 11 11:10:13 Combined data file .coverage.autopkgtest.8265.XThvYxtx 2647s Nov 11 11:10:13 Combined data file .coverage.autopkgtest.8308.XEHtpNOx 2647s Nov 11 11:10:13 Combined data file .coverage.autopkgtest.8446.XxJOwFRx 2647s Nov 11 11:10:13 Combined data file .coverage.autopkgtest.8449.XlrWXZvx 2647s Nov 11 11:10:13 Combined data file .coverage.autopkgtest.8511.XYPTccCx 2647s Nov 11 11:10:13 Combined data file .coverage.autopkgtest.8580.XmCFkHyx 2647s Nov 11 11:10:13 Combined data file .coverage.autopkgtest.8680.XbOeOUfx 2647s Nov 11 11:10:13 Combined data file .coverage.autopkgtest.8800.XxLvKhix 2647s Nov 11 11:10:13 Skipping duplicate data .coverage.autopkgtest.8980.XNcbMOux 2647s Nov 11 11:10:13 Combined data file .coverage.autopkgtest.8984.XetamkZx 2647s Nov 11 11:10:13 Combined data file .coverage.autopkgtest.9027.XwIRCOxx 2647s Nov 11 11:10:13 Skipping duplicate data .coverage.autopkgtest.9030.XwlOFhkx 2647s Nov 11 11:10:13 Combined data file .coverage.autopkgtest.9034.XnNfQHnx 2647s Nov 11 11:10:13 Combined data file .coverage.autopkgtest.9047.XAKfBIax 2647s Nov 11 11:10:13 Skipping duplicate data .coverage.autopkgtest.9119.XwXpESQx 2648s Nov 11 11:10:14 Name Stmts Miss Cover 2648s Nov 11 11:10:14 ------------------------------------------------------------------------------------------------------------- 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 101 96 5% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/cryptography/__about__.py 5 0 100% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/cryptography/__init__.py 3 0 100% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/cryptography/exceptions.py 26 5 81% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/cryptography/fernet.py 137 54 61% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/cryptography/hazmat/__init__.py 2 0 100% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/cryptography/hazmat/_oid.py 126 0 100% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/__init__.py 5 0 100% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/__init__.py 3 0 100% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/aead.py 114 96 16% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/backend.py 397 257 35% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/ciphers.py 125 50 60% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/__init__.py 0 0 100% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/__init__.py 0 0 100% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/_conditional.py 50 23 54% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/binding.py 62 12 81% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/__init__.py 0 0 100% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_asymmetric.py 6 0 100% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_cipheralgorithm.py 17 0 100% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_serialization.py 79 35 56% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/__init__.py 0 0 100% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dh.py 47 0 100% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dsa.py 55 5 91% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ec.py 164 17 90% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed448.py 45 12 73% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed25519.py 43 12 72% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/padding.py 55 23 58% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/rsa.py 90 38 58% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/types.py 19 0 100% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/utils.py 14 5 64% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x448.py 43 12 72% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x25519.py 41 12 71% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/__init__.py 4 0 100% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/algorithms.py 129 30 77% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/base.py 140 59 58% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/modes.py 139 50 64% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/constant_time.py 6 3 50% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hashes.py 127 20 84% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hmac.py 6 0 100% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/kdf/__init__.py 7 0 100% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/kdf/pbkdf2.py 27 5 81% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/padding.py 117 27 77% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/__init__.py 5 0 100% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/base.py 7 0 100% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/pkcs12.py 82 49 40% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/ssh.py 758 602 21% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/cryptography/utils.py 77 23 70% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/cryptography/x509/__init__.py 70 0 100% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/cryptography/x509/base.py 487 229 53% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/cryptography/x509/certificate_transparency.py 42 0 100% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/cryptography/x509/extensions.py 1038 569 45% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/cryptography/x509/general_name.py 166 94 43% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/cryptography/x509/name.py 232 141 39% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/cryptography/x509/oid.py 3 0 100% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/cryptography/x509/verification.py 10 0 100% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/dateutil/__init__.py 13 4 69% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/dateutil/_version.py 11 2 82% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 813 436 46% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 185 150 19% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 241 206 15% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 161 121 25% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 800 626 22% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/dateutil/tz/win.py 153 149 3% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/patroni/__main__.py 199 65 67% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/patroni/api.py 770 288 63% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 15 84% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/patroni/collections.py 56 6 89% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/patroni/config.py 371 98 74% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/patroni/config_generator.py 212 159 25% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/patroni/daemon.py 76 3 96% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 646 83 87% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/patroni/dcs/raft.py 319 39 88% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/patroni/dynamic_loader.py 35 7 80% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/patroni/file_perm.py 43 8 81% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/patroni/global_config.py 81 0 100% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/patroni/ha.py 1244 308 75% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/patroni/log.py 219 69 68% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 821 171 79% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/patroni/postgresql/available_parameters/__init__.py 21 1 95% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 252 62 75% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 813 215 74% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 1 99% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 41 8 80% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/patroni/postgresql/mpp/__init__.py 89 11 88% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 85 50% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 416 163 61% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 334 31 91% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 130 19 85% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 157 23 85% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/patroni/psycopg.py 42 16 62% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/patroni/request.py 62 6 90% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/patroni/tags.py 38 0 100% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/patroni/utils.py 350 123 65% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/patroni/validator.py 301 208 31% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 42 79% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 35 74% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/psutil/__init__.py 951 629 34% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/psutil/_common.py 424 212 50% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/psutil/_compat.py 302 263 13% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1251 924 26% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/psutil/_psposix.py 96 38 60% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/pysyncobj/__init__.py 2 0 100% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/pysyncobj/atomic_replace.py 4 0 100% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/pysyncobj/config.py 80 1 99% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/pysyncobj/dns_resolver.py 51 10 80% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/pysyncobj/encryptor.py 17 2 88% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/pysyncobj/fast_queue.py 21 1 95% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/pysyncobj/journal.py 193 37 81% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/pysyncobj/monotonic.py 77 70 9% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/pysyncobj/node.py 49 10 80% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/pysyncobj/pickle.py 52 32 38% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/pysyncobj/pipe_notifier.py 24 2 92% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/pysyncobj/poller.py 87 39 55% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/pysyncobj/serializer.py 166 132 20% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/pysyncobj/syncobj.py 1045 377 64% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/pysyncobj/tcp_connection.py 250 33 87% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/pysyncobj/tcp_server.py 56 12 79% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/pysyncobj/transport.py 266 57 79% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/pysyncobj/utility.py 59 7 88% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/pysyncobj/version.py 1 0 100% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/pysyncobj/win_inet_pton.py 44 31 30% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/six.py 504 250 50% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/urllib3/__init__.py 50 14 72% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 70 52 26% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/urllib3/_collections.py 234 108 54% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 53 15 72% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/urllib3/_version.py 2 0 100% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/urllib3/connection.py 324 104 68% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 347 136 61% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/urllib3/exceptions.py 115 37 68% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 88 62% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/urllib3/response.py 562 336 40% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 9 86% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 49 53% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 17 47% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/urllib3/util/retry.py 173 49 72% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 177 75 58% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 160 112 30% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 19 73% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/urllib3/util/url.py 205 78 62% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 9 65% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 38 22% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/yaml/parser.py 352 180 49% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/yaml/reader.py 122 30 75% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/yaml/scanner.py 758 415 45% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 2648s Nov 11 11:10:14 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 2648s Nov 11 11:10:14 patroni/__init__.py 13 2 85% 2648s Nov 11 11:10:14 patroni/__main__.py 199 199 0% 2648s Nov 11 11:10:14 patroni/api.py 770 770 0% 2648s Nov 11 11:10:14 patroni/async_executor.py 96 69 28% 2648s Nov 11 11:10:14 patroni/collections.py 56 15 73% 2648s Nov 11 11:10:14 patroni/config.py 371 189 49% 2648s Nov 11 11:10:14 patroni/config_generator.py 212 212 0% 2648s Nov 11 11:10:14 patroni/ctl.py 936 411 56% 2648s Nov 11 11:10:14 patroni/daemon.py 76 6 92% 2648s Nov 11 11:10:14 patroni/dcs/__init__.py 646 268 59% 2648s Nov 11 11:10:14 patroni/dcs/consul.py 485 485 0% 2648s Nov 11 11:10:14 patroni/dcs/etcd3.py 679 679 0% 2648s Nov 11 11:10:14 patroni/dcs/etcd.py 603 603 0% 2648s Nov 11 11:10:14 patroni/dcs/exhibitor.py 61 61 0% 2648s Nov 11 11:10:14 patroni/dcs/kubernetes.py 938 938 0% 2648s Nov 11 11:10:14 patroni/dcs/raft.py 319 73 77% 2648s Nov 11 11:10:14 patroni/dcs/zookeeper.py 288 288 0% 2648s Nov 11 11:10:14 patroni/dynamic_loader.py 35 7 80% 2648s Nov 11 11:10:14 patroni/exceptions.py 16 1 94% 2648s Nov 11 11:10:14 patroni/file_perm.py 43 15 65% 2648s Nov 11 11:10:14 patroni/global_config.py 81 18 78% 2648s Nov 11 11:10:14 patroni/ha.py 1244 1244 0% 2648s Nov 11 11:10:14 patroni/log.py 219 93 58% 2648s Nov 11 11:10:14 patroni/postgresql/__init__.py 821 651 21% 2648s Nov 11 11:10:14 patroni/postgresql/available_parameters/__init__.py 21 1 95% 2648s Nov 11 11:10:14 patroni/postgresql/bootstrap.py 252 222 12% 2648s Nov 11 11:10:14 patroni/postgresql/callback_executor.py 55 34 38% 2648s Nov 11 11:10:14 patroni/postgresql/cancellable.py 104 84 19% 2648s Nov 11 11:10:14 patroni/postgresql/config.py 813 698 14% 2648s Nov 11 11:10:14 patroni/postgresql/connection.py 75 50 33% 2648s Nov 11 11:10:14 patroni/postgresql/misc.py 41 29 29% 2648s Nov 11 11:10:14 patroni/postgresql/mpp/__init__.py 89 21 76% 2648s Nov 11 11:10:14 patroni/postgresql/mpp/citus.py 259 259 0% 2648s Nov 11 11:10:14 patroni/postgresql/postmaster.py 170 139 18% 2648s Nov 11 11:10:14 patroni/postgresql/rewind.py 416 416 0% 2648s Nov 11 11:10:14 patroni/postgresql/slots.py 334 285 15% 2648s Nov 11 11:10:14 patroni/postgresql/sync.py 130 96 26% 2648s Nov 11 11:10:14 patroni/postgresql/validator.py 157 52 67% 2648s Nov 11 11:10:14 patroni/psycopg.py 42 28 33% 2648s Nov 11 11:10:14 patroni/raft_controller.py 22 1 95% 2648s Nov 11 11:10:14 patroni/request.py 62 6 90% 2648s Nov 11 11:10:14 patroni/scripts/__init__.py 0 0 100% 2648s Nov 11 11:10:14 patroni/scripts/aws.py 59 59 0% 2648s Nov 11 11:10:14 patroni/scripts/barman/__init__.py 0 0 100% 2648s Nov 11 11:10:14 patroni/scripts/barman/cli.py 51 51 0% 2648s Nov 11 11:10:14 patroni/scripts/barman/config_switch.py 51 51 0% 2648s Nov 11 11:10:14 patroni/scripts/barman/recover.py 37 37 0% 2648s Nov 11 11:10:14 patroni/scripts/barman/utils.py 94 94 0% 2648s Nov 11 11:10:14 patroni/scripts/wale_restore.py 207 207 0% 2648s Nov 11 11:10:14 patroni/tags.py 38 11 71% 2648s Nov 11 11:10:14 patroni/utils.py 350 215 39% 2648s Nov 11 11:10:14 patroni/validator.py 301 215 29% 2648s Nov 11 11:10:14 patroni/version.py 1 0 100% 2648s Nov 11 11:10:14 patroni/watchdog/__init__.py 2 2 0% 2648s Nov 11 11:10:14 patroni/watchdog/base.py 203 203 0% 2648s Nov 11 11:10:14 patroni/watchdog/linux.py 135 135 0% 2648s Nov 11 11:10:14 ------------------------------------------------------------------------------------------------------------- 2648s Nov 11 11:10:14 TOTAL 44230 24966 44% 2648s Nov 11 11:10:14 12 features passed, 0 failed, 1 skipped 2648s Nov 11 11:10:14 54 scenarios passed, 0 failed, 6 skipped 2648s Nov 11 11:10:14 522 steps passed, 0 failed, 63 skipped, 0 undefined 2648s Nov 11 11:10:14 Took 8m57.187s 2648s ### End 16 acceptance-raft ### 2648s + echo '### End 16 acceptance-raft ###' 2648s + rm -f '/tmp/pgpass?' 2648s ++ id -u 2648s + '[' 1000 -eq 0 ']' 2649s autopkgtest [11:10:15]: test acceptance-raft: -----------------------] 2649s acceptance-raft PASS 2649s autopkgtest [11:10:15]: test acceptance-raft: - - - - - - - - - - results - - - - - - - - - - 2650s autopkgtest [11:10:16]: test test: preparing testbed 2705s autopkgtest [11:11:11]: testbed dpkg architecture: amd64 2705s autopkgtest [11:11:11]: testbed apt version: 2.9.8 2705s autopkgtest [11:11:11]: @@@@@@@@@@@@@@@@@@@@ test bed setup 2706s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB] 2706s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [7016 B] 2707s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [913 kB] 2707s Get:4 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [15.3 kB] 2707s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [91.3 kB] 2707s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/main i386 Packages [78.4 kB] 2707s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/main amd64 Packages [132 kB] 2707s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/restricted amd64 Packages [32.6 kB] 2707s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/universe i386 Packages [293 kB] 2707s Get:10 http://ftpmaster.internal/ubuntu plucky-proposed/universe amd64 Packages [696 kB] 2707s Get:11 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse amd64 Packages [37.7 kB] 2707s Get:12 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse i386 Packages [13.0 kB] 2707s Fetched 2383 kB in 1s (2880 kB/s) 2707s Reading package lists... 2709s Reading package lists... 2709s Building dependency tree... 2709s Reading state information... 2709s Calculating upgrade... 2710s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2710s Reading package lists... 2710s Building dependency tree... 2710s Reading state information... 2710s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2710s Hit:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease 2710s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 2711s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 2711s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 2711s Reading package lists... 2711s Reading package lists... 2712s Building dependency tree... 2712s Reading state information... 2712s Calculating upgrade... 2712s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2712s Reading package lists... 2712s Building dependency tree... 2712s Reading state information... 2713s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2716s Reading package lists... 2717s Building dependency tree... 2717s Reading state information... 2717s Starting pkgProblemResolver with broken count: 1 2717s Starting 2 pkgProblemResolver with broken count: 1 2717s Investigating (0) python3-flake8:amd64 < none -> 7.1.1-2 @un puN Ib > 2717s Broken python3-flake8:amd64 Depends on python3-mccabe:amd64 < none | 0.7.0-1 @un uH > (< 0.8) 2717s Considering python3-mccabe:amd64 0 as a solution to python3-flake8:amd64 0 2717s Re-Instated python3-mccabe:amd64 2717s Broken python3-flake8:amd64 Depends on python3-pycodestyle:amd64 < none | 2.11.1-1 @un uH > (< 2.13) 2717s Considering python3-pycodestyle:amd64 0 as a solution to python3-flake8:amd64 0 2717s Re-Instated python3-pycodestyle:amd64 2717s Broken python3-flake8:amd64 Depends on python3-pycodestyle:amd64 < none -> 2.11.1-1 @un uN > (>= 2.12) 2717s Considering python3-pycodestyle:amd64 0 as a solution to python3-flake8:amd64 0 2717s Broken python3-flake8:amd64 Depends on python3-pyflakes:amd64 < none | 3.2.0-1 @un uH > (< 3.3) 2717s Considering python3-pyflakes:amd64 0 as a solution to python3-flake8:amd64 0 2717s Re-Instated python3-pyflakes:amd64 2717s Done 2717s Some packages could not be installed. This may mean that you have 2717s requested an impossible situation or if you are using the unstable 2717s distribution that some required packages have not yet been created 2717s or been moved out of Incoming. 2717s The following information may help to resolve the situation: 2717s 2717s The following packages have unmet dependencies: 2717s python3-flake8 : Depends: python3-pycodestyle (>= 2.12) but 2.11.1-1 is to be installed 2717s E: Unable to correct problems, you have held broken packages. 2717s autopkgtest: WARNING: Test dependencies are unsatisfiable with using apt pinning. Retrying with using all packages from plucky-proposed 2718s Reading package lists... 2718s Building dependency tree... 2718s Reading state information... 2718s Starting pkgProblemResolver with broken count: 0 2718s Starting 2 pkgProblemResolver with broken count: 0 2718s Done 2718s The following additional packages will be installed: 2718s fonts-font-awesome fonts-lato libcares2 libev4t64 libjs-jquery 2718s libjs-jquery-hotkeys libjs-jquery-isonscreen libjs-jquery-metadata 2718s libjs-jquery-tablesorter libjs-jquery-throttle-debounce libjs-sphinxdoc 2718s libjs-underscore libpq5 patroni patroni-doc python3-aiohappyeyeballs 2718s python3-aiohttp python3-aiosignal python3-async-timeout python3-boto3 2718s python3-botocore python3-cachetools python3-cdiff python3-click 2718s python3-colorama python3-consul python3-coverage python3-dateutil 2718s python3-dnspython python3-etcd python3-eventlet python3-flake8 2718s python3-frozenlist python3-gevent python3-google-auth python3-greenlet 2718s python3-iniconfig python3-jmespath python3-kazoo python3-kerberos 2718s python3-kubernetes python3-mccabe python3-mock python3-multidict 2718s python3-packaging python3-pluggy python3-prettytable python3-psutil 2718s python3-psycopg2 python3-pure-sasl python3-pyasn1 python3-pyasn1-modules 2718s python3-pycodestyle python3-pyflakes python3-pysyncobj python3-pytest 2718s python3-pytest-cov python3-pyu2f python3-requests-oauthlib python3-responses 2718s python3-rsa python3-s3transfer python3-six python3-wcwidth python3-websocket 2718s python3-yarl python3-ydiff python3-zope.event python3-zope.interface 2718s sphinx-rtd-theme-common 2718s Suggested packages: 2718s postgresql etcd-server | consul | zookeeperd vip-manager haproxy 2718s python3-tornado python3-twisted python-coverage-doc python3-trio 2718s python3-aioquic python3-h2 python3-httpx python3-httpcore etcd 2718s python-eventlet-doc python-gevent-doc python-greenlet-dev 2718s python-greenlet-doc python-kazoo-doc python-mock-doc python-psycopg2-doc 2718s Recommended packages: 2718s javascript-common python3-aiodns pyflakes3 2718s The following NEW packages will be installed: 2718s autopkgtest-satdep fonts-font-awesome fonts-lato libcares2 libev4t64 2718s libjs-jquery libjs-jquery-hotkeys libjs-jquery-isonscreen 2718s libjs-jquery-metadata libjs-jquery-tablesorter 2718s libjs-jquery-throttle-debounce libjs-sphinxdoc libjs-underscore libpq5 2718s patroni patroni-doc python3-aiohappyeyeballs python3-aiohttp 2718s python3-aiosignal python3-async-timeout python3-boto3 python3-botocore 2718s python3-cachetools python3-cdiff python3-click python3-colorama 2718s python3-consul python3-coverage python3-dateutil python3-dnspython 2718s python3-etcd python3-eventlet python3-flake8 python3-frozenlist 2718s python3-gevent python3-google-auth python3-greenlet python3-iniconfig 2718s python3-jmespath python3-kazoo python3-kerberos python3-kubernetes 2718s python3-mccabe python3-mock python3-multidict python3-packaging 2718s python3-pluggy python3-prettytable python3-psutil python3-psycopg2 2718s python3-pure-sasl python3-pyasn1 python3-pyasn1-modules python3-pycodestyle 2718s python3-pyflakes python3-pysyncobj python3-pytest python3-pytest-cov 2718s python3-pyu2f python3-requests-oauthlib python3-responses python3-rsa 2718s python3-s3transfer python3-six python3-wcwidth python3-websocket 2718s python3-yarl python3-ydiff python3-zope.event python3-zope.interface 2718s sphinx-rtd-theme-common 2718s 0 upgraded, 71 newly installed, 0 to remove and 73 not upgraded. 2718s Need to get 17.0 MB/17.0 MB of archives. 2718s After this operation, 158 MB of additional disk space will be used. 2718s Get:1 /tmp/autopkgtest.WZS0fA/6-autopkgtest-satdep.deb autopkgtest-satdep amd64 0 [792 B] 2719s Get:2 http://ftpmaster.internal/ubuntu plucky/main amd64 fonts-lato all 2.015-1 [2781 kB] 2719s Get:3 http://ftpmaster.internal/ubuntu plucky/main amd64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 2719s Get:4 http://ftpmaster.internal/ubuntu plucky/universe amd64 libjs-jquery-hotkeys all 0~20130707+git2d51e3a9+dfsg-2.1 [11.5 kB] 2719s Get:5 http://ftpmaster.internal/ubuntu plucky/main amd64 fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 2719s Get:6 http://ftpmaster.internal/ubuntu plucky/main amd64 libcares2 amd64 1.34.2-1 [104 kB] 2719s Get:7 http://ftpmaster.internal/ubuntu plucky/universe amd64 libev4t64 amd64 1:4.33-2.1build1 [31.0 kB] 2719s Get:8 http://ftpmaster.internal/ubuntu plucky/universe amd64 libjs-jquery-metadata all 12-4 [6582 B] 2719s Get:9 http://ftpmaster.internal/ubuntu plucky/universe amd64 libjs-jquery-tablesorter all 1:2.31.3+dfsg1-4 [192 kB] 2719s Get:10 http://ftpmaster.internal/ubuntu plucky/universe amd64 libjs-jquery-throttle-debounce all 1.1+dfsg.1-2 [12.5 kB] 2719s Get:11 http://ftpmaster.internal/ubuntu plucky/main amd64 libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 2719s Get:12 http://ftpmaster.internal/ubuntu plucky/main amd64 libjs-sphinxdoc all 7.4.7-4 [158 kB] 2719s Get:13 http://ftpmaster.internal/ubuntu plucky/main amd64 libpq5 amd64 17.0-1 [249 kB] 2719s Get:14 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-ydiff all 1.3-1 [18.4 kB] 2719s Get:15 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-cdiff all 1.3-1 [1770 B] 2719s Get:16 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-colorama all 0.4.6-4 [32.1 kB] 2719s Get:17 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-click all 8.1.7-2 [79.5 kB] 2719s Get:18 http://ftpmaster.internal/ubuntu plucky-proposed/main amd64 python3-dateutil all 2.9.0-3 [80.2 kB] 2719s Get:19 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 2719s Get:20 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-prettytable all 3.10.1-1 [34.0 kB] 2719s Get:21 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-psutil amd64 5.9.8-2build2 [195 kB] 2719s Get:22 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-psycopg2 amd64 2.9.9-2 [132 kB] 2719s Get:23 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-dnspython all 2.6.1-1ubuntu1 [163 kB] 2719s Get:24 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-etcd all 0.4.5-4 [31.9 kB] 2719s Get:25 http://ftpmaster.internal/ubuntu plucky-proposed/universe amd64 python3-consul all 1.5.1+dfsg-1 [21.7 kB] 2719s Get:26 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-greenlet amd64 3.0.3-0ubuntu6 [155 kB] 2719s Get:27 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-eventlet all 0.36.1-0ubuntu1 [274 kB] 2719s Get:28 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-zope.event all 5.0-0.1 [7512 B] 2719s Get:29 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-zope.interface amd64 7.1.1-1 [141 kB] 2719s Get:30 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-gevent amd64 24.2.1-1 [805 kB] 2719s Get:31 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-kerberos amd64 1.1.14-3.1build9 [21.2 kB] 2719s Get:32 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-pure-sasl all 0.5.1+dfsg1-4 [11.4 kB] 2719s Get:33 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-six all 1.16.0-7 [13.1 kB] 2719s Get:34 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-kazoo all 2.9.0-2 [103 kB] 2719s Get:35 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-multidict amd64 6.1.0-1 [34.3 kB] 2719s Get:36 http://ftpmaster.internal/ubuntu plucky-proposed/universe amd64 python3-yarl amd64 1.13.1-1 [99.8 kB] 2719s Get:37 http://ftpmaster.internal/ubuntu plucky-proposed/universe amd64 python3-async-timeout all 5.0.1-1 [6830 B] 2719s Get:38 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-aiohappyeyeballs all 2.4.3-1 [10.5 kB] 2719s Get:39 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-frozenlist amd64 1.5.0-1 [53.2 kB] 2719s Get:40 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-aiosignal all 1.3.1-1 [5172 B] 2720s Get:41 http://ftpmaster.internal/ubuntu plucky-proposed/universe amd64 python3-aiohttp amd64 3.10.10-1 [314 kB] 2720s Get:42 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-cachetools all 5.3.3-1 [10.3 kB] 2720s Get:43 http://ftpmaster.internal/ubuntu plucky-proposed/main amd64 python3-pyasn1 all 0.6.0-1 [57.8 kB] 2720s Get:44 http://ftpmaster.internal/ubuntu plucky-proposed/main amd64 python3-pyasn1-modules all 0.4.1-1 [80.2 kB] 2720s Get:45 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-pyu2f all 0.1.5-3 [22.9 kB] 2720s Get:46 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-responses all 0.25.3-1 [54.3 kB] 2720s Get:47 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-rsa all 4.9-2 [28.2 kB] 2720s Get:48 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-google-auth all 2.28.2-3 [91.0 kB] 2720s Get:49 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-requests-oauthlib all 1.3.1-1 [18.8 kB] 2720s Get:50 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-websocket all 1.8.0-2 [38.5 kB] 2720s Get:51 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-kubernetes all 30.1.0-1 [386 kB] 2720s Get:52 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-pysyncobj all 0.3.12-1 [38.9 kB] 2720s Get:53 http://ftpmaster.internal/ubuntu plucky-proposed/universe amd64 patroni all 3.3.2-1 [265 kB] 2720s Get:54 http://ftpmaster.internal/ubuntu plucky/main amd64 sphinx-rtd-theme-common all 3.0.1+dfsg-1 [1012 kB] 2720s Get:55 http://ftpmaster.internal/ubuntu plucky-proposed/universe amd64 patroni-doc all 3.3.2-1 [497 kB] 2720s Get:56 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-jmespath all 1.0.1-1 [21.3 kB] 2720s Get:57 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-botocore all 1.34.46+repack-1ubuntu1 [6211 kB] 2720s Get:58 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-s3transfer all 0.10.1-1ubuntu2 [54.3 kB] 2720s Get:59 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-boto3 all 1.34.46+dfsg-1ubuntu1 [72.5 kB] 2720s Get:60 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-coverage amd64 7.4.4+dfsg1-0ubuntu2 [147 kB] 2720s Get:61 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-mccabe all 0.7.0-1 [8678 B] 2720s Get:62 http://ftpmaster.internal/ubuntu plucky-proposed/universe amd64 python3-pycodestyle all 2.12.1-1 [30.1 kB] 2720s Get:63 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-pyflakes all 3.2.0-1 [52.8 kB] 2720s Get:64 http://ftpmaster.internal/ubuntu plucky-proposed/universe amd64 python3-flake8 all 7.1.1-2 [44.1 kB] 2720s Get:65 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-iniconfig all 1.1.1-2 [6024 B] 2720s Get:66 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-packaging all 24.1-1 [41.4 kB] 2720s Get:67 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-pluggy all 1.5.0-1 [21.0 kB] 2720s Get:68 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-pytest all 8.3.3-1 [251 kB] 2720s Get:69 http://ftpmaster.internal/ubuntu plucky/universe amd64 libjs-jquery-isonscreen all 1.2.0-1.1 [3244 B] 2720s Get:70 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-pytest-cov all 5.0.0-1 [21.3 kB] 2720s Get:71 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-mock all 5.1.0-1 [64.1 kB] 2720s Fetched 17.0 MB in 2s (9945 kB/s) 2720s Selecting previously unselected package fonts-lato. 2721s (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 ... 75552 files and directories currently installed.) 2721s Preparing to unpack .../00-fonts-lato_2.015-1_all.deb ... 2721s Unpacking fonts-lato (2.015-1) ... 2721s Selecting previously unselected package libjs-jquery. 2721s Preparing to unpack .../01-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 2721s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 2721s Selecting previously unselected package libjs-jquery-hotkeys. 2721s Preparing to unpack .../02-libjs-jquery-hotkeys_0~20130707+git2d51e3a9+dfsg-2.1_all.deb ... 2721s Unpacking libjs-jquery-hotkeys (0~20130707+git2d51e3a9+dfsg-2.1) ... 2721s Selecting previously unselected package fonts-font-awesome. 2721s Preparing to unpack .../03-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 2721s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 2721s Selecting previously unselected package libcares2:amd64. 2721s Preparing to unpack .../04-libcares2_1.34.2-1_amd64.deb ... 2721s Unpacking libcares2:amd64 (1.34.2-1) ... 2721s Selecting previously unselected package libev4t64:amd64. 2721s Preparing to unpack .../05-libev4t64_1%3a4.33-2.1build1_amd64.deb ... 2721s Unpacking libev4t64:amd64 (1:4.33-2.1build1) ... 2721s Selecting previously unselected package libjs-jquery-metadata. 2721s Preparing to unpack .../06-libjs-jquery-metadata_12-4_all.deb ... 2721s Unpacking libjs-jquery-metadata (12-4) ... 2721s Selecting previously unselected package libjs-jquery-tablesorter. 2721s Preparing to unpack .../07-libjs-jquery-tablesorter_1%3a2.31.3+dfsg1-4_all.deb ... 2721s Unpacking libjs-jquery-tablesorter (1:2.31.3+dfsg1-4) ... 2721s Selecting previously unselected package libjs-jquery-throttle-debounce. 2721s Preparing to unpack .../08-libjs-jquery-throttle-debounce_1.1+dfsg.1-2_all.deb ... 2721s Unpacking libjs-jquery-throttle-debounce (1.1+dfsg.1-2) ... 2721s Selecting previously unselected package libjs-underscore. 2721s Preparing to unpack .../09-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 2721s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 2721s Selecting previously unselected package libjs-sphinxdoc. 2721s Preparing to unpack .../10-libjs-sphinxdoc_7.4.7-4_all.deb ... 2721s Unpacking libjs-sphinxdoc (7.4.7-4) ... 2721s Selecting previously unselected package libpq5:amd64. 2721s Preparing to unpack .../11-libpq5_17.0-1_amd64.deb ... 2721s Unpacking libpq5:amd64 (17.0-1) ... 2721s Selecting previously unselected package python3-ydiff. 2721s Preparing to unpack .../12-python3-ydiff_1.3-1_all.deb ... 2721s Unpacking python3-ydiff (1.3-1) ... 2721s Selecting previously unselected package python3-cdiff. 2721s Preparing to unpack .../13-python3-cdiff_1.3-1_all.deb ... 2721s Unpacking python3-cdiff (1.3-1) ... 2721s Selecting previously unselected package python3-colorama. 2721s Preparing to unpack .../14-python3-colorama_0.4.6-4_all.deb ... 2721s Unpacking python3-colorama (0.4.6-4) ... 2721s Selecting previously unselected package python3-click. 2721s Preparing to unpack .../15-python3-click_8.1.7-2_all.deb ... 2721s Unpacking python3-click (8.1.7-2) ... 2721s Selecting previously unselected package python3-dateutil. 2721s Preparing to unpack .../16-python3-dateutil_2.9.0-3_all.deb ... 2721s Unpacking python3-dateutil (2.9.0-3) ... 2721s Selecting previously unselected package python3-wcwidth. 2721s Preparing to unpack .../17-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 2721s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 2721s Selecting previously unselected package python3-prettytable. 2721s Preparing to unpack .../18-python3-prettytable_3.10.1-1_all.deb ... 2721s Unpacking python3-prettytable (3.10.1-1) ... 2721s Selecting previously unselected package python3-psutil. 2721s Preparing to unpack .../19-python3-psutil_5.9.8-2build2_amd64.deb ... 2721s Unpacking python3-psutil (5.9.8-2build2) ... 2721s Selecting previously unselected package python3-psycopg2. 2721s Preparing to unpack .../20-python3-psycopg2_2.9.9-2_amd64.deb ... 2721s Unpacking python3-psycopg2 (2.9.9-2) ... 2721s Selecting previously unselected package python3-dnspython. 2721s Preparing to unpack .../21-python3-dnspython_2.6.1-1ubuntu1_all.deb ... 2721s Unpacking python3-dnspython (2.6.1-1ubuntu1) ... 2721s Selecting previously unselected package python3-etcd. 2721s Preparing to unpack .../22-python3-etcd_0.4.5-4_all.deb ... 2721s Unpacking python3-etcd (0.4.5-4) ... 2721s Selecting previously unselected package python3-consul. 2721s Preparing to unpack .../23-python3-consul_1.5.1+dfsg-1_all.deb ... 2721s Unpacking python3-consul (1.5.1+dfsg-1) ... 2721s Selecting previously unselected package python3-greenlet. 2721s Preparing to unpack .../24-python3-greenlet_3.0.3-0ubuntu6_amd64.deb ... 2721s Unpacking python3-greenlet (3.0.3-0ubuntu6) ... 2721s Selecting previously unselected package python3-eventlet. 2721s Preparing to unpack .../25-python3-eventlet_0.36.1-0ubuntu1_all.deb ... 2721s Unpacking python3-eventlet (0.36.1-0ubuntu1) ... 2722s Selecting previously unselected package python3-zope.event. 2722s Preparing to unpack .../26-python3-zope.event_5.0-0.1_all.deb ... 2722s Unpacking python3-zope.event (5.0-0.1) ... 2722s Selecting previously unselected package python3-zope.interface. 2722s Preparing to unpack .../27-python3-zope.interface_7.1.1-1_amd64.deb ... 2722s Unpacking python3-zope.interface (7.1.1-1) ... 2722s Selecting previously unselected package python3-gevent. 2722s Preparing to unpack .../28-python3-gevent_24.2.1-1_amd64.deb ... 2722s Unpacking python3-gevent (24.2.1-1) ... 2722s Selecting previously unselected package python3-kerberos. 2722s Preparing to unpack .../29-python3-kerberos_1.1.14-3.1build9_amd64.deb ... 2722s Unpacking python3-kerberos (1.1.14-3.1build9) ... 2722s Selecting previously unselected package python3-pure-sasl. 2722s Preparing to unpack .../30-python3-pure-sasl_0.5.1+dfsg1-4_all.deb ... 2722s Unpacking python3-pure-sasl (0.5.1+dfsg1-4) ... 2722s Selecting previously unselected package python3-six. 2722s Preparing to unpack .../31-python3-six_1.16.0-7_all.deb ... 2722s Unpacking python3-six (1.16.0-7) ... 2722s Selecting previously unselected package python3-kazoo. 2722s Preparing to unpack .../32-python3-kazoo_2.9.0-2_all.deb ... 2722s Unpacking python3-kazoo (2.9.0-2) ... 2722s Selecting previously unselected package python3-multidict. 2722s Preparing to unpack .../33-python3-multidict_6.1.0-1_amd64.deb ... 2722s Unpacking python3-multidict (6.1.0-1) ... 2722s Selecting previously unselected package python3-yarl. 2722s Preparing to unpack .../34-python3-yarl_1.13.1-1_amd64.deb ... 2722s Unpacking python3-yarl (1.13.1-1) ... 2722s Selecting previously unselected package python3-async-timeout. 2722s Preparing to unpack .../35-python3-async-timeout_5.0.1-1_all.deb ... 2722s Unpacking python3-async-timeout (5.0.1-1) ... 2722s Selecting previously unselected package python3-aiohappyeyeballs. 2722s Preparing to unpack .../36-python3-aiohappyeyeballs_2.4.3-1_all.deb ... 2722s Unpacking python3-aiohappyeyeballs (2.4.3-1) ... 2722s Selecting previously unselected package python3-frozenlist. 2722s Preparing to unpack .../37-python3-frozenlist_1.5.0-1_amd64.deb ... 2722s Unpacking python3-frozenlist (1.5.0-1) ... 2722s Selecting previously unselected package python3-aiosignal. 2722s Preparing to unpack .../38-python3-aiosignal_1.3.1-1_all.deb ... 2722s Unpacking python3-aiosignal (1.3.1-1) ... 2722s Selecting previously unselected package python3-aiohttp. 2722s Preparing to unpack .../39-python3-aiohttp_3.10.10-1_amd64.deb ... 2722s Unpacking python3-aiohttp (3.10.10-1) ... 2722s Selecting previously unselected package python3-cachetools. 2722s Preparing to unpack .../40-python3-cachetools_5.3.3-1_all.deb ... 2722s Unpacking python3-cachetools (5.3.3-1) ... 2722s Selecting previously unselected package python3-pyasn1. 2722s Preparing to unpack .../41-python3-pyasn1_0.6.0-1_all.deb ... 2722s Unpacking python3-pyasn1 (0.6.0-1) ... 2722s Selecting previously unselected package python3-pyasn1-modules. 2722s Preparing to unpack .../42-python3-pyasn1-modules_0.4.1-1_all.deb ... 2722s Unpacking python3-pyasn1-modules (0.4.1-1) ... 2722s Selecting previously unselected package python3-pyu2f. 2722s Preparing to unpack .../43-python3-pyu2f_0.1.5-3_all.deb ... 2722s Unpacking python3-pyu2f (0.1.5-3) ... 2722s Selecting previously unselected package python3-responses. 2722s Preparing to unpack .../44-python3-responses_0.25.3-1_all.deb ... 2722s Unpacking python3-responses (0.25.3-1) ... 2722s Selecting previously unselected package python3-rsa. 2722s Preparing to unpack .../45-python3-rsa_4.9-2_all.deb ... 2722s Unpacking python3-rsa (4.9-2) ... 2722s Selecting previously unselected package python3-google-auth. 2722s Preparing to unpack .../46-python3-google-auth_2.28.2-3_all.deb ... 2722s Unpacking python3-google-auth (2.28.2-3) ... 2722s Selecting previously unselected package python3-requests-oauthlib. 2722s Preparing to unpack .../47-python3-requests-oauthlib_1.3.1-1_all.deb ... 2722s Unpacking python3-requests-oauthlib (1.3.1-1) ... 2722s Selecting previously unselected package python3-websocket. 2722s Preparing to unpack .../48-python3-websocket_1.8.0-2_all.deb ... 2722s Unpacking python3-websocket (1.8.0-2) ... 2722s Selecting previously unselected package python3-kubernetes. 2722s Preparing to unpack .../49-python3-kubernetes_30.1.0-1_all.deb ... 2722s Unpacking python3-kubernetes (30.1.0-1) ... 2722s Selecting previously unselected package python3-pysyncobj. 2722s Preparing to unpack .../50-python3-pysyncobj_0.3.12-1_all.deb ... 2722s Unpacking python3-pysyncobj (0.3.12-1) ... 2722s Selecting previously unselected package patroni. 2722s Preparing to unpack .../51-patroni_3.3.2-1_all.deb ... 2722s Unpacking patroni (3.3.2-1) ... 2722s Selecting previously unselected package sphinx-rtd-theme-common. 2722s Preparing to unpack .../52-sphinx-rtd-theme-common_3.0.1+dfsg-1_all.deb ... 2722s Unpacking sphinx-rtd-theme-common (3.0.1+dfsg-1) ... 2722s Selecting previously unselected package patroni-doc. 2722s Preparing to unpack .../53-patroni-doc_3.3.2-1_all.deb ... 2722s Unpacking patroni-doc (3.3.2-1) ... 2723s Selecting previously unselected package python3-jmespath. 2723s Preparing to unpack .../54-python3-jmespath_1.0.1-1_all.deb ... 2723s Unpacking python3-jmespath (1.0.1-1) ... 2723s Selecting previously unselected package python3-botocore. 2723s Preparing to unpack .../55-python3-botocore_1.34.46+repack-1ubuntu1_all.deb ... 2723s Unpacking python3-botocore (1.34.46+repack-1ubuntu1) ... 2723s Selecting previously unselected package python3-s3transfer. 2723s Preparing to unpack .../56-python3-s3transfer_0.10.1-1ubuntu2_all.deb ... 2723s Unpacking python3-s3transfer (0.10.1-1ubuntu2) ... 2723s Selecting previously unselected package python3-boto3. 2723s Preparing to unpack .../57-python3-boto3_1.34.46+dfsg-1ubuntu1_all.deb ... 2723s Unpacking python3-boto3 (1.34.46+dfsg-1ubuntu1) ... 2723s Selecting previously unselected package python3-coverage. 2723s Preparing to unpack .../58-python3-coverage_7.4.4+dfsg1-0ubuntu2_amd64.deb ... 2723s Unpacking python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 2723s Selecting previously unselected package python3-mccabe. 2723s Preparing to unpack .../59-python3-mccabe_0.7.0-1_all.deb ... 2723s Unpacking python3-mccabe (0.7.0-1) ... 2723s Selecting previously unselected package python3-pycodestyle. 2723s Preparing to unpack .../60-python3-pycodestyle_2.12.1-1_all.deb ... 2723s Unpacking python3-pycodestyle (2.12.1-1) ... 2723s Selecting previously unselected package python3-pyflakes. 2723s Preparing to unpack .../61-python3-pyflakes_3.2.0-1_all.deb ... 2723s Unpacking python3-pyflakes (3.2.0-1) ... 2723s Selecting previously unselected package python3-flake8. 2723s Preparing to unpack .../62-python3-flake8_7.1.1-2_all.deb ... 2723s Unpacking python3-flake8 (7.1.1-2) ... 2723s Selecting previously unselected package python3-iniconfig. 2723s Preparing to unpack .../63-python3-iniconfig_1.1.1-2_all.deb ... 2723s Unpacking python3-iniconfig (1.1.1-2) ... 2723s Selecting previously unselected package python3-packaging. 2723s Preparing to unpack .../64-python3-packaging_24.1-1_all.deb ... 2723s Unpacking python3-packaging (24.1-1) ... 2723s Selecting previously unselected package python3-pluggy. 2723s Preparing to unpack .../65-python3-pluggy_1.5.0-1_all.deb ... 2723s Unpacking python3-pluggy (1.5.0-1) ... 2723s Selecting previously unselected package python3-pytest. 2723s Preparing to unpack .../66-python3-pytest_8.3.3-1_all.deb ... 2723s Unpacking python3-pytest (8.3.3-1) ... 2723s Selecting previously unselected package libjs-jquery-isonscreen. 2723s Preparing to unpack .../67-libjs-jquery-isonscreen_1.2.0-1.1_all.deb ... 2723s Unpacking libjs-jquery-isonscreen (1.2.0-1.1) ... 2723s Selecting previously unselected package python3-pytest-cov. 2723s Preparing to unpack .../68-python3-pytest-cov_5.0.0-1_all.deb ... 2723s Unpacking python3-pytest-cov (5.0.0-1) ... 2723s Selecting previously unselected package python3-mock. 2723s Preparing to unpack .../69-python3-mock_5.1.0-1_all.deb ... 2723s Unpacking python3-mock (5.1.0-1) ... 2723s Selecting previously unselected package autopkgtest-satdep. 2723s Preparing to unpack .../70-6-autopkgtest-satdep.deb ... 2723s Unpacking autopkgtest-satdep (0) ... 2723s Setting up python3-iniconfig (1.1.1-2) ... 2724s Setting up libev4t64:amd64 (1:4.33-2.1build1) ... 2724s Setting up fonts-lato (2.015-1) ... 2724s Setting up python3-pysyncobj (0.3.12-1) ... 2724s Setting up python3-cachetools (5.3.3-1) ... 2724s Setting up python3-colorama (0.4.6-4) ... 2724s Setting up python3-zope.event (5.0-0.1) ... 2724s Setting up python3-zope.interface (7.1.1-1) ... 2724s Setting up python3-pyflakes (3.2.0-1) ... 2724s Setting up python3-ydiff (1.3-1) ... 2724s Setting up libpq5:amd64 (17.0-1) ... 2724s Setting up python3-kerberos (1.1.14-3.1build9) ... 2724s Setting up python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 2725s Setting up libjs-jquery-throttle-debounce (1.1+dfsg.1-2) ... 2725s Setting up python3-click (8.1.7-2) ... 2725s Setting up python3-psutil (5.9.8-2build2) ... 2725s Setting up python3-multidict (6.1.0-1) ... 2725s Setting up python3-frozenlist (1.5.0-1) ... 2725s Setting up python3-aiosignal (1.3.1-1) ... 2725s Setting up python3-mock (5.1.0-1) ... 2725s Setting up python3-async-timeout (5.0.1-1) ... 2725s Setting up python3-six (1.16.0-7) ... 2726s Setting up python3-responses (0.25.3-1) ... 2726s Setting up python3-pycodestyle (2.12.1-1) ... 2726s Setting up python3-packaging (24.1-1) ... 2726s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 2726s Setting up python3-pyu2f (0.1.5-3) ... 2726s Setting up python3-jmespath (1.0.1-1) ... 2726s Setting up python3-greenlet (3.0.3-0ubuntu6) ... 2726s Setting up libcares2:amd64 (1.34.2-1) ... 2726s Setting up python3-psycopg2 (2.9.9-2) ... 2726s Setting up python3-aiohappyeyeballs (2.4.3-1) ... 2726s Setting up python3-pluggy (1.5.0-1) ... 2727s Setting up python3-dnspython (2.6.1-1ubuntu1) ... 2727s Setting up python3-pyasn1 (0.6.0-1) ... 2727s Setting up python3-dateutil (2.9.0-3) ... 2727s Setting up python3-mccabe (0.7.0-1) ... 2727s Setting up python3-consul (1.5.1+dfsg-1) ... 2727s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 2727s Setting up libjs-jquery-hotkeys (0~20130707+git2d51e3a9+dfsg-2.1) ... 2727s Setting up python3-prettytable (3.10.1-1) ... 2727s Setting up python3-yarl (1.13.1-1) ... 2728s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 2728s Setting up sphinx-rtd-theme-common (3.0.1+dfsg-1) ... 2728s Setting up python3-websocket (1.8.0-2) ... 2728s Setting up python3-requests-oauthlib (1.3.1-1) ... 2728s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 2728s Setting up python3-pure-sasl (0.5.1+dfsg1-4) ... 2728s Setting up python3-etcd (0.4.5-4) ... 2728s Setting up python3-pytest (8.3.3-1) ... 2728s Setting up python3-cdiff (1.3-1) ... 2728s Setting up python3-aiohttp (3.10.10-1) ... 2728s Setting up python3-gevent (24.2.1-1) ... 2729s Setting up python3-flake8 (7.1.1-2) ... 2729s Setting up python3-eventlet (0.36.1-0ubuntu1) ... 2729s Setting up python3-kazoo (2.9.0-2) ... 2729s Setting up python3-pyasn1-modules (0.4.1-1) ... 2729s Setting up libjs-jquery-metadata (12-4) ... 2729s Setting up python3-botocore (1.34.46+repack-1ubuntu1) ... 2730s Setting up libjs-jquery-isonscreen (1.2.0-1.1) ... 2730s Setting up libjs-sphinxdoc (7.4.7-4) ... 2730s Setting up libjs-jquery-tablesorter (1:2.31.3+dfsg1-4) ... 2730s Setting up python3-rsa (4.9-2) ... 2730s Setting up patroni (3.3.2-1) ... 2730s Created symlink '/etc/systemd/system/multi-user.target.wants/patroni.service' → '/usr/lib/systemd/system/patroni.service'. 2730s Setting up patroni-doc (3.3.2-1) ... 2730s Setting up python3-s3transfer (0.10.1-1ubuntu2) ... 2730s Setting up python3-pytest-cov (5.0.0-1) ... 2731s Setting up python3-google-auth (2.28.2-3) ... 2731s Setting up python3-boto3 (1.34.46+dfsg-1ubuntu1) ... 2731s Setting up python3-kubernetes (30.1.0-1) ... 2732s Setting up autopkgtest-satdep (0) ... 2732s Processing triggers for man-db (2.12.1-3) ... 2732s Processing triggers for libc-bin (2.40-1ubuntu3) ... 2736s (Reading database ... 81690 files and directories currently installed.) 2736s Removing autopkgtest-satdep (0) ... 2737s autopkgtest [11:11:43]: test test: [----------------------- 2738s running test 2738s ============================= test session starts ============================== 2738s platform linux -- Python 3.12.7, pytest-8.3.3, pluggy-1.5.0 -- /usr/bin/python3 2738s cachedir: .pytest_cache 2738s rootdir: /tmp/autopkgtest.WZS0fA/build.PTK/src 2738s plugins: typeguard-4.4.1, cov-5.0.0 2745s collecting ... collected 623 items / 2 errors 2745s 2745s ==================================== ERRORS ==================================== 2745s ____________________ ERROR collecting tests/test_consul.py _____________________ 2745s tests/test_consul.py:88: in 2745s @patch.object(consul.Consul.KV, 'get', kv_get) 2745s E AttributeError: type object 'Consul' has no attribute 'KV' 2745s ____________________ ERROR collecting tests/test_consul.py _____________________ 2745s tests/test_consul.py:88: in 2745s @patch.object(consul.Consul.KV, 'get', kv_get) 2745s E AttributeError: type object 'Consul' has no attribute 'KV' 2745s 2745s ---------- coverage: platform linux, python 3.12.7-final-0 ----------- 2745s Name Stmts Miss Cover Missing 2745s ----------------------------------------------------------------------------------- 2745s patroni/__init__.py 13 2 85% 46-47 2745s patroni/__main__.py 199 171 14% 52-77, 91-106, 110-126, 133, 149-160, 165, 173-183, 190-192, 201-210, 217-224, 232, 251-280, 291-319, 333-391, 395 2745s patroni/api.py 770 669 13% 72-73, 105-108, 128-130, 148-157, 167, 195-221, 291-375, 383, 391, 409-418, 433-440, 448-449, 457-461, 479-480, 491-495, 532-646, 667-678, 693-704, 716-723, 731-732, 744-748, 760-767, 778-780, 802-818, 859-920, 933-939, 953-963, 978-991, 1010-1025, 1038-1058, 1087-1146, 1153, 1162, 1173-1181, 1200-1209, 1220-1222, 1271-1339, 1347-1348, 1358-1359, 1379-1391, 1409-1422, 1435-1438, 1450, 1459-1463, 1474-1478, 1488-1500, 1518-1531, 1539-1550, 1561-1576, 1604-1644, 1658-1664, 1675-1682, 1689-1697, 1705-1710, 1720-1729, 1739-1762, 1773-1775 2745s patroni/async_executor.py 96 69 28% 34-36, 44-45, 55-58, 66, 70-71, 76, 94-101, 106, 121-127, 132-133, 141-142, 157-177, 187, 199-202, 210-221, 225-226, 235 2745s patroni/collections.py 56 15 73% 38, 50, 61, 68, 80, 99, 107, 163, 182, 189, 210, 225, 237, 244, 251 2745s patroni/config.py 371 318 14% 53-55, 126-149, 154, 159, 167, 175, 190-204, 213-215, 219-224, 233-255, 271-275, 301-314, 326-342, 353-365, 401-415, 444-460, 469-697, 711-771, 783, 794, 808, 815, 829-837 2745s patroni/config_generator.py 212 159 25% 57-64, 80-84, 93-143, 161, 174-177, 184-206, 213, 217-224, 239, 248-250, 254-273, 293-296, 307-310, 318, 333-346, 355-362, 376-405, 412-425, 441-457, 474-484, 491-497, 507-517 2745s patroni/ctl.py 936 718 23% 99-102, 114-115, 127-132, 139, 146, 159-166, 210-230, 246-261, 269, 313-321, 329, 345-357, 371-375, 404-437, 461-476, 494-514, 531-540, 551-556, 582-614, 669-695, 716-727, 755-761, 819-844, 877-900, 925-948, 962-969, 996-1006, 1026-1041, 1083-1136, 1161-1190, 1226-1347, 1378-1384, 1413, 1450-1459, 1480-1489, 1502-1512, 1550-1622, 1649-1664, 1686, 1696, 1719-1748, 1759-1778, 1795-1818, 1834, 1850, 1863-1870, 1892-1933, 1944, 1963-2003, 2014-2024, 2046-2066, 2104-2144, 2158-2160, 2179-2197, 2220-2229, 2250-2253 2745s patroni/daemon.py 76 51 33% 26-34, 55-61, 68, 77-82, 89-90, 101-106, 111-112, 121-122, 137-143, 154-157, 166-178 2745s patroni/dcs/__init__.py 646 378 41% 49-54, 77-80, 108, 130-141, 197-206, 211-221, 236-262, 267, 272, 277, 282, 287, 299-305, 310, 337, 347, 367, 376, 381, 386, 391, 405-409, 467-486, 507, 537-543, 587-593, 603, 608, 618, 623, 661-665, 672, 714-719, 739, 749-775, 819, 824, 829, 836, 861, 866, 873, 882, 892, 904-906, 916, 928, 935-952, 957, 962, 979-992, 1010-1040, 1062-1069, 1095-1118, 1129-1134, 1144-1150, 1163-1164, 1179-1190, 1206-1217, 1246-1254, 1259, 1275-1278, 1371-1384, 1389, 1398-1402, 1407, 1412, 1417, 1422, 1427, 1432, 1437, 1442, 1447, 1452, 1457, 1477, 1486-1488, 1493, 1498, 1544-1549, 1556, 1566-1571, 1579-1584, 1597-1612, 1617-1618, 1622-1624, 1646, 1667-1673, 1689-1691, 1696, 1728-1738, 1777-1786, 1859-1861, 1886, 1901-1905, 1943-1945 2745s patroni/dcs/consul.py 485 369 24% 56-72, 75, 79, 82-84, 88-98, 102, 107-139, 175-178, 181-188, 191, 194-196, 201-204, 210-214, 226-231, 237-286, 289, 292-297, 300-313, 316-319, 323, 326-327, 330-336, 340-360, 363-367, 371, 375-417, 421, 430-438, 448-455, 460-464, 468-497, 500-502, 506-507, 511-514, 517-557, 561-575, 578-592, 596-605, 608, 612, 616, 620, 624, 628, 632-638, 642-656, 660-661, 665, 669, 673, 677, 681-689, 693, 696-715 2745s patroni/dcs/etcd3.py 679 479 29% 67-70, 73, 79, 152-170, 174, 178-183, 187, 191, 195-198, 203, 212-221, 224-227, 231-234, 237-247, 250-274, 277-279, 282-285, 288-289, 292-309, 313-347, 352-354, 357, 361, 364, 369-373, 378-388, 393-397, 400, 406-413, 418, 424-439, 442-448, 451-456, 459-460, 463-464, 467-488, 491-496, 500-503, 506-524, 527-546, 549-554, 557-571, 575, 581-582, 585, 588-589, 592-593, 596-597, 600-605, 608-619, 622-647, 651-657, 663-672, 678, 684, 687-690, 693-704, 707-711, 714-719, 727, 731, 735-779, 788-791, 800-806, 811-821, 825-842, 846, 849-866, 870-883, 887, 891, 895, 899, 903, 907-928, 932, 936-938, 942, 946, 950, 954, 959, 962-973 2745s patroni/dcs/etcd.py 603 459 24% 50-56, 59-67, 70-78, 81, 84, 88-92, 100-115, 124-142, 145-146, 149-150, 153-162, 165, 177-178, 186-201, 217, 220, 226-258, 267-307, 311-314, 321-344, 348-352, 355-367, 371-375, 383-400, 413-435, 438-440, 448, 451-454, 457, 460-462, 466-469, 476-482, 490-491, 494-496, 500-508, 511-519, 522-531, 535-537, 541-623, 626-630, 634, 637-638, 643, 650-651, 657, 660-661, 665, 669-711, 720-725, 734-744, 749-757, 761-762, 766, 769-773, 777, 781, 785, 789, 793, 796-800, 804, 808, 812, 816, 820, 824, 828, 832, 836, 839-869 2745s patroni/dcs/exhibitor.py 61 40 34% 23-32, 35-51, 54-61, 65, 71-73, 78-80 2745s patroni/dcs/kubernetes.py 938 733 22% 47-52, 56-63, 68-70, 85, 90, 93-100, 104-118, 122-124, 127-131, 134-159, 163, 167-172, 178, 181, 184, 188-197, 200, 203, 227-232, 239-249, 252, 255, 258-261, 266-268, 272-274, 278-279, 282-305, 308-330, 333-334, 337-339, 347-365, 369-389, 395-436, 441-448, 453, 457-481, 486, 506-508, 512-515, 524-527, 534-537, 540, 543, 554-564, 568, 572-581, 586-589, 597-611, 614-618, 621, 625-630, 633-638, 641-642, 645-646, 649-676, 680-683, 686-699, 702-717, 720-734, 737-741, 745, 751-799, 802-804, 807, 811, 814-817, 821, 824, 831-844, 848-851, 854-858, 861-936, 945, 954-965, 973-985, 990-991, 1001-1007, 1011, 1035-1047, 1051-1056, 1060-1076, 1102-1124, 1129-1136, 1141-1144, 1147-1156, 1179, 1183-1225, 1230-1249, 1252-1281, 1284, 1292-1295, 1299-1300, 1303, 1307-1337, 1340-1343, 1350-1358, 1361, 1365, 1369, 1384-1387, 1396, 1399-1410 2745s patroni/dcs/raft.py 319 232 27% 33-34, 37-41, 45, 54-56, 59-63, 66-69, 76-90, 93, 98-104, 111-140, 144, 149, 152-176, 180-191, 195-208, 211-213, 217-225, 228-233, 237, 241-243, 246-254, 257-259, 262-267, 270-272, 275-277, 280-283, 289-301, 304-309, 312-313, 316, 320, 323, 326-327, 331, 335-376, 385-389, 398-404, 409, 412, 415, 418, 421-425, 428, 432, 435, 438-439, 442, 445, 448, 451, 454, 457, 460-463, 466, 469-472 2745s patroni/dcs/zookeeper.py 288 221 23% 49-56, 68-71, 82-85, 91-126, 140-141, 144-145, 148-164, 170-174, 178, 181-182, 187-191, 194-197, 201, 204-207, 210-215, 224-265, 274-278, 283-287, 290-298, 301-311, 315-332, 335, 338, 341-342, 346-381, 384, 387, 390, 393, 396-416, 419-420, 423-425, 428-433, 436-439, 442, 445, 448, 451-457 2745s patroni/dynamic_loader.py 35 18 49% 33-42, 62-63, 86-95 2745s patroni/exceptions.py 16 0 100% 2745s patroni/file_perm.py 43 15 65% 53-54, 64-66, 73-82, 87, 92 2745s patroni/global_config.py 81 32 60% 46, 58-61, 77-82, 91, 101, 106, 111, 116, 123, 128-129, 141-142, 147, 155, 163, 171, 182-183, 195-196, 205, 213, 218, 223 2745s patroni/ha.py 1244 1122 10% 54-58, 63, 68, 73, 78, 82-88, 94-96, 99-104, 107-111, 115-117, 123-128, 141-142, 145-148, 154-189, 193-194, 198, 202, 206, 210-211, 221-222, 229, 238-240, 243-257, 260-268, 271-275, 295-316, 319-322, 326-330, 337-351, 355-417, 420-431, 435-468, 475-483, 486-489, 492-509, 535-604, 614-639, 642-694, 698, 702, 713-765, 769, 784-807, 810-828, 831-832, 839-890, 897-904, 907-913, 916-918, 921, 924-931, 954-978, 987-988, 993-1032, 1042-1065, 1073-1126, 1135-1202, 1205-1207, 1210-1212, 1227-1293, 1297-1328, 1336-1368, 1373-1409, 1413-1461, 1466-1489, 1492-1508, 1511-1517, 1520-1526, 1529, 1532, 1536-1581, 1584-1591, 1594-1613, 1617-1649, 1655-1656, 1659-1667, 1670-1674, 1677-1708, 1714-1746, 1753, 1756-1931, 1934-1950, 1960-1975, 1978-1986, 1989-2032, 2037-2042, 2048, 2056-2068, 2083-2097 2745s patroni/log.py 219 173 21% 39-44, 61-62, 71, 82-84, 91-95, 103-111, 122-126, 131, 149-150, 159-160, 203-217, 238-252, 261-289, 303-307, 324-378, 387-401, 411-450, 460-468, 476-506, 510-517, 522, 527 2745s patroni/postgresql/__init__.py 821 651 21% 51, 67-145, 149, 153, 157, 161, 165, 169, 173, 178, 182, 187, 192, 212-240, 245-247, 250, 256-262, 275, 282-283, 293-294, 301-317, 320-321, 331, 339, 343-346, 349-354, 358, 361, 378-383, 401-406, 409, 412-414, 417, 420, 427-429, 433, 437-441, 452-466, 469-489, 492, 495, 498, 501, 504, 507, 511, 515, 519, 537-542, 552, 557-561, 564, 567, 570-572, 575-579, 583-590, 600-619, 630-632, 637-646, 650, 654-667, 671-672, 675-676, 680-681, 684-686, 689, 692, 696-712, 728-794, 798-815, 830-845, 850-907, 911-921, 926-927, 930-935, 938-941, 945, 954-980, 986-995, 1008-1015, 1018-1021, 1024-1031, 1036-1046, 1049-1059, 1064-1068, 1071-1077, 1080-1083, 1087, 1090-1103, 1120-1150, 1153-1157, 1165-1172, 1177-1179, 1182-1187, 1191-1218, 1223, 1228-1239, 1242-1246, 1249, 1253-1254, 1261-1263, 1267-1273, 1277-1285, 1288-1319, 1322-1347, 1356-1359, 1366-1367 2745s patroni/postgresql/available_parameters/__init__.py 21 1 95% 59 2745s patroni/postgresql/bootstrap.py 252 222 12% 24-25, 29, 33, 86-114, 117-142, 145-153, 189-210, 216-235, 244-322, 330-357, 367-370, 374-383, 387-414, 417-478 2745s patroni/postgresql/callback_executor.py 55 34 38% 22, 31-36, 42-48, 57-66, 69-81 2745s patroni/postgresql/cancellable.py 104 84 19% 20-23, 28-34, 37-55, 58-68, 74-75, 78-109, 112-113, 117-118, 121-136 2745s patroni/postgresql/config.py 813 698 14% 33-63, 67-83, 87-110, 137-154, 158-161, 185-218, 222-225, 231-232, 235-237, 241-242, 245-247, 250-252, 256, 259, 263, 267, 271, 288-289, 334-360, 364-381, 384-385, 388-390, 393-400, 405, 409-416, 426-428, 438-440, 448-458, 462-475, 479-511, 514-518, 530-546, 556-559, 562-575, 588-596, 599-617, 620-649, 652-654, 658, 662, 666-668, 688-719, 722-744, 751-763, 769-793, 800-866, 870-871, 883-891, 900-908, 911-931, 934-937, 940-963, 967-974, 977-1010, 1014-1018, 1021-1026, 1054-1084, 1087, 1094-1109, 1112-1226, 1231-1239, 1252-1301, 1305, 1309, 1313, 1318-1319, 1323-1324, 1328, 1332, 1335, 1338 2745s patroni/postgresql/connection.py 75 50 33% 32-36, 41, 51-56, 70-84, 93-100, 111-113, 118-119, 127-128, 142-145, 149-152, 157-160 2745s patroni/postgresql/misc.py 41 29 29% 35-47, 57, 61-62, 66-72, 76-77, 81-90 2745s patroni/postgresql/mpp/__init__.py 89 28 69% 35, 46, 74-77, 85, 93, 101, 108-110, 122-124, 136-137, 202, 210, 218, 226, 238, 289, 304, 314-317 2745s patroni/postgresql/mpp/citus.py 259 211 19% 27-46, 49, 52, 55, 59, 62, 66, 81, 88, 93, 105-117, 124-125, 128-132, 135-144, 149-162, 173-186, 189-191, 205-227, 230-234, 255-271, 274-299, 302-320, 323-354, 358-366, 369-380, 387-421, 429-443, 457-460 2745s patroni/postgresql/postmaster.py 170 139 18% 33-41, 47-52, 60-65, 68-83, 87-95, 99-103, 107-110, 117-146, 153-166, 169-176, 180-207, 223-254 2745s patroni/postgresql/rewind.py 416 346 17% 35-37, 41, 45, 53-63, 67, 71, 74-75, 79-87, 91-102, 125-150, 153-176, 179-188, 192-207, 210-218, 221-283, 286-288, 291-298, 304-315, 318, 325-346, 349-352, 356-365, 373-401, 406-413, 428-473, 476-522, 525-527, 531, 535, 539, 543-553, 558-563, 566-578, 581-594 2745s patroni/postgresql/slots.py 334 285 15% 45, 62-73, 83-101, 109-114, 118-127, 136-141, 152-160, 164-167, 182-189, 199, 209, 233-251, 264-285, 296-305, 316-322, 337-358, 368-389, 403-405, 419-440, 449-451, 469-494, 510-532, 546-549, 564-586, 600-611, 626-642, 651-699, 707-709, 719-723 2745s patroni/postgresql/sync.py 130 96 26% 35, 111-154, 195-220, 232-237, 245-269, 277-284, 302-321, 328-350 2745s patroni/postgresql/validator.py 157 52 67% 34, 38, 53-55, 69, 73, 77, 85-96, 104, 111, 123, 126-128, 134-136, 142, 216-217, 220, 230-231, 251-252, 275-276, 391-393, 439-447, 471-477, 503 2745s patroni/psycopg.py 42 28 33% 19, 25-26, 40-82, 100-106, 118-120 2745s patroni/raft_controller.py 22 12 45% 13-17, 20-23, 26, 30-33 2745s patroni/request.py 62 39 37% 23-24, 44-46, 57, 68, 77-80, 95-97, 116-137, 150-152, 167-171, 185-186 2745s patroni/scripts/__init__.py 0 0 100% 2745s patroni/scripts/aws.py 59 41 31% 21-41, 44, 47, 51-55, 59-60, 63-74, 78-82, 86 2745s patroni/scripts/barman/__init__.py 0 0 100% 2745s patroni/scripts/barman/cli.py 51 38 25% 53-236, 240 2745s patroni/scripts/barman/config_switch.py 51 35 31% 58-62, 85-122, 136-146 2745s patroni/scripts/barman/recover.py 37 24 35% 69-106, 120 2745s patroni/scripts/barman/utils.py 94 56 40% 43-60, 71, 131-137, 146, 156, 166, 179-188, 202-218, 226-234, 247-252, 269-279, 296-308 2745s patroni/scripts/wale_restore.py 207 174 16% 54-61, 71-77, 85-91, 104-126, 140-155, 160-296, 300-314, 318-331, 335-370, 374 2745s patroni/tags.py 38 15 61% 36, 53, 62-67, 76-79, 84, 89, 94, 99 2745s patroni/utils.py 350 282 19% 60-79, 110-119, 137-156, 182-186, 234-240, 269-274, 308-320, 355-364, 396-408, 443-453, 510-521, 545-552, 602-614, 623, 633-635, 671-681, 685-687, 691, 701, 711, 716, 730-734, 757-779, 793-799, 835-840, 872-879, 889-910, 945-992, 1007-1009, 1032-1047, 1061-1063, 1075, 1102-1121, 1140-1146, 1174-1179, 1201-1212 2745s patroni/validator.py 301 215 29% 29-33, 50-60, 70-72, 87-93, 119-148, 160-161, 173, 186, 201, 214-218, 231-235, 247, 272-293, 321-328, 355-363, 367, 505-507, 517-528, 552-553, 659-663, 681-710, 719-740, 752-770, 783-800, 811-838, 848-850, 861, 901-908, 937-941, 949-950 2745s patroni/version.py 1 0 100% 2745s patroni/watchdog/__init__.py 2 0 100% 2745s patroni/watchdog/base.py 203 131 35% 22-32, 37-38, 45-52, 56, 61, 67-71, 75-78, 82, 91-102, 106-119, 128-129, 132-173, 176-189, 193-194, 197-205, 209-229, 234, 239-241, 252, 257, 264, 289, 295, 299, 303, 311, 314, 317, 321 2745s patroni/watchdog/linux.py 135 66 51% 36, 118-121, 128-130, 134-135, 139, 143, 146-149, 152-158, 162, 169-173, 176-185, 188-198, 201-206, 210, 213-219, 222-227 2745s ----------------------------------------------------------------------------------- 2745s TOTAL 13778 10525 24% 2745s Coverage XML written to file coverage.xml 2745s 2745s =========================== short test summary info ============================ 2745s ERROR tests/test_consul.py - AttributeError: type object 'Consul' has no attr... 2745s ERROR tests/test_consul.py - AttributeError: type object 'Consul' has no attr... 2745s !!!!!!!!!!!!!!!!!!! Interrupted: 2 errors during collection !!!!!!!!!!!!!!!!!!!! 2745s ============================== 2 errors in 6.71s =============================== 2745s autopkgtest [11:11:51]: test test: -----------------------] 2745s test FAIL non-zero exit status 2 2745s autopkgtest [11:11:51]: test test: - - - - - - - - - - results - - - - - - - - - - 2746s autopkgtest [11:11:52]: @@@@@@@@@@@@@@@@@@@@ summary 2746s acceptance-etcd3 PASS 2746s acceptance-etcd-basic PASS 2746s acceptance-etcd PASS 2746s acceptance-zookeeper PASS 2746s acceptance-raft PASS 2746s test FAIL non-zero exit status 2 2757s nova [W] Skipping flock for amd64 2757s Creating nova instance adt-plucky-amd64-patroni-20241111-102606-juju-7f2275-prod-proposed-migration-environment-15-76853db8-c880-4ef1-b08b-db8877d57c66 from image adt/ubuntu-plucky-amd64-server-20241111.img (UUID 26095e4c-07f6-404e-b69f-183f750334aa)... 2757s nova [W] Skipping flock for amd64 2757s Creating nova instance adt-plucky-amd64-patroni-20241111-102606-juju-7f2275-prod-proposed-migration-environment-15-76853db8-c880-4ef1-b08b-db8877d57c66 from image adt/ubuntu-plucky-amd64-server-20241111.img (UUID 26095e4c-07f6-404e-b69f-183f750334aa)... 2757s nova [W] Skipping flock for amd64 2757s Creating nova instance adt-plucky-amd64-patroni-20241111-102606-juju-7f2275-prod-proposed-migration-environment-15-76853db8-c880-4ef1-b08b-db8877d57c66 from image adt/ubuntu-plucky-amd64-server-20241111.img (UUID 26095e4c-07f6-404e-b69f-183f750334aa)... 2757s nova [W] Skipping flock for amd64 2757s Creating nova instance adt-plucky-amd64-patroni-20241111-102606-juju-7f2275-prod-proposed-migration-environment-15-76853db8-c880-4ef1-b08b-db8877d57c66 from image adt/ubuntu-plucky-amd64-server-20241111.img (UUID 26095e4c-07f6-404e-b69f-183f750334aa)... 2757s nova [W] Skipping flock for amd64 2757s Creating nova instance adt-plucky-amd64-patroni-20241111-102606-juju-7f2275-prod-proposed-migration-environment-15-76853db8-c880-4ef1-b08b-db8877d57c66 from image adt/ubuntu-plucky-amd64-server-20241111.img (UUID 26095e4c-07f6-404e-b69f-183f750334aa)...