{"version":3,"term":{"cols":120,"rows":30,"type":"xterm-256color","version":"iTerm2 3.5.14","theme":{"fg":"#697a82","bg":"#fcf7e5","palette":"#163540:#cb4238:#89982d:#ae8b2c:#4689cd:#c34380:#519f98:#ede9d7:#0d2a34:#bc5329:#5c6d74:#697a82:#869496:#6d71bf:#96a1a1:#fcf7e5"}},"timestamp":1767257221,"idle_time_limit":0.5,"title":"offline install","env":{"SHELL":"/opt/homebrew/bin/bash"}}
[0.030078, "o", "\u001b[?2004hbash-5.3$ "]
[3.856451, "o", "\u001b[7mls -alh dist/v4.0.0/     # you can get these from github release page!\u001b[27m\r\n\r"]
[0.365682, "o", "\u001b[A\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[Cls -alh dist/v4.0.0/     # you can get these from github release page!\r\n\r\u001b[A\r\n"]
[0.000316, "o", "\u001b[?2004l\r"]
[0.010665, "o", "total 38192344\r\n"]
[0.000404, "o", "drwxr-xr-x@ 18 vonng  staff   576B Jan  1 16:39 .\r\ndrwxr-xr-x@  5 vonng  staff   160B Jan  1 16:39 ..\r\n-rw-r--r--@  1 vonng  staff   999B Jan  1 14:15 checksums\r\n-rw-r--r--@  1 vonng  staff   1.1G Dec 28 16:53 pigsty-pkg-v4.0.0.d12.aarch64.tgz\r\n-rw-r--r--@  1 vonng  staff   1.2G Dec 28 16:29 pigsty-pkg-v4.0.0.d12.x86_64.tgz\r\n-rw-r--r--@  1 vonng  staff   1.2G Dec 28 16:53 pigsty-pkg-v4.0.0.d13.aarch64.tgz\r\n-rw-r--r--@  1 vonng  staff   1.3G Dec 28 16:29 pigsty-pkg-v4.0.0.d13.x86_64.tgz\r\n-rw-r--r--@  1 vonng  staff   1.4G Dec 28 16:53 pigsty-pkg-v4.0.0.el10.aarch64.tgz\r\n-rw-r--r--@  1 vonng  staff   1.5G Dec 28 16:29 pigsty-pkg-v4.0.0.el10.x86_64.tgz\r\n"]
[0.000012, "o", "-rw-r--r--@  1 vonng  staff   1.4G Dec 28 16:55 pigsty-pkg-v4.0.0.el8.aarch64.tgz\r\n-rw-r--r--@  1 vonng  staff   1.5G Dec 28 16:33 pigsty-pkg-v4.0.0.el8.x86_64.tgz\r\n"]
[0.000002, "o", "-rw-r--r--@  1 vonng  staff   1.4G Dec 28 16:54 pigsty-pkg-v4.0.0.el9.aarch64.tgz\r\n-rw-r--r--@  1 vonng  staff   1.5G Dec 28 16:29 pigsty-pkg-v4.0.0.el9.x86_64.tgz\r\n-rw-r--r--@  1 vonng  staff   1.1G Dec 28 16:53 pigsty-pkg-v4.0.0.u22.aarch64.tgz\r\n"]
[0.000008, "o", "-rw-r--r--@  1 vonng  staff   1.2G Dec 28 16:29 pigsty-pkg-v4.0.0.u22.x86_64.tgz\r\n-rw-r--r--@  1 vonng  staff   1.1G Dec 28 16:53 pigsty-pkg-v4.0.0.u24.aarch64.tgz\r\n-rw-r--r--@  1 vonng  staff   1.2G Dec 28 16:29 pigsty-pkg-v4.0.0.u24.x86_64.tgz\r\n"]
[0.000009, "o", "-rw-r--r--@  1 vonng  staff   1.7M Jan  1 12:03 pigsty-v4.0.0.tgz\r\n"]
[0.00051, "o", "\u001b[?2004hbash-5.3$ "]
[3.824156, "o", "\u001b[7mscp dist/v4.0.0/pigsty-v4.0.0.tgz                 meta:~/           # source tarball\u001b[27m"]
[0.726768, "o", "\r\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[Cscp dist/v4.0.0/pigsty-v4.0.0.tgz                 meta:~/           # source tarball"]
[1.037635, "o", "\r\n"]
[0.000103, "o", "\u001b[?2004l\r"]
[0.070754, "o", "Warning: Permanently added '47.100.187.36' (ED25519) to the list of known hosts.\r\r\n"]
[0.313344, "o", "\rpigsty-v4.0.0.tgz                                                                       0%    0     0.0KB/s   --:-- ETA"]
[0.099251, "o", "\rpigsty-v4.0.0.tgz                                                                     100% 1691KB  16.6MB/s   00:00    \r\n"]
[0.028875, "o", "\u001b[?2004hbash-5.3$ "]
[4.65402, "o", "\u001b[7mscp dist/v4.0.0/pigsty-pkg-v4.0.0.d12.aarch64.tgz meta:/tmp/pkg.tgz # offline package (put it to here)\u001b[27m"]
[0.611532, "o", "\r\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[Cscp dist/v4.0.0/pigsty-pkg-v4.0.0.d12.aarch64.tgz meta:/tmp/pkg.tgz # offline package (put it to here)"]
[1.321465, "o", "\r\n"]
[0.000099, "o", "\u001b[?2004l\r"]
[0.065645, "o", "Warning: Permanently added '47.100.187.36' (ED25519) to the list of known hosts.\r\r\n"]
[0.195606, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                       0%    0     0.0KB/s   --:-- ETA"]
[1.001297, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                       0% 7650KB   7.5MB/s   02:29 ETA"]
[1.004483, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                       1%   19MB   7.9MB/s   02:20 ETA"]
[1.004266, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                       2%   31MB   8.3MB/s   02:11 ETA"]
[1.003517, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                       3%   43MB   8.6MB/s   02:04 ETA"]
[1.042426, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                       4%   56MB   9.0MB/s   01:58 ETA"]
[0.967208, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                       5%   67MB   9.3MB/s   01:54 ETA"]
[1.001728, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                       7%   79MB   9.6MB/s   01:48 ETA"]
[1.004649, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                       8%   91MB   9.8MB/s   01:45 ETA"]
[1.003614, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                       9%  103MB  10.0MB/s   01:41 ETA"]
[1.003172, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                      10%  115MB  10.2MB/s   01:39 ETA"]
[1.00782, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                      11%  127MB  10.4MB/s   01:35 ETA"]
[1.003204, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                      12%  139MB  10.5MB/s   01:33 ETA"]
[1.002487, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                      13%  151MB  10.7MB/s   01:31 ETA"]
[1.002668, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                      14%  163MB  10.8MB/s   01:28 ETA"]
[1.002199, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                      15%  175MB  10.9MB/s   01:26 ETA"]
[1.00449, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                      16%  187MB  11.0MB/s   01:25 ETA"]
[1.003835, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                      17%  199MB  11.1MB/s   01:23 ETA"]
[1.004874, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                      18%  211MB  11.2MB/s   01:21 ETA"]
[1.002892, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                      19%  223MB  11.3MB/s   01:20 ETA"]
[1.005886, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                      20%  235MB  11.3MB/s   01:18 ETA"]
[1.002262, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                      21%  247MB  11.4MB/s   01:17 ETA"]
[1.004524, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                      23%  259MB  11.5MB/s   01:15 ETA"]
[1.006068, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                      24%  270MB  11.4MB/s   01:14 ETA"]
[1.005363, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                      25%  283MB  11.5MB/s   01:13 ETA"]
[1.009318, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                      26%  295MB  11.6MB/s   01:11 ETA"]
[0.995966, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                      27%  307MB  11.6MB/s   01:10 ETA"]
[1.004176, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                      28%  319MB  11.7MB/s   01:08 ETA"]
[1.005268, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                      29%  331MB  11.7MB/s   01:07 ETA"]
[1.002938, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                      30%  343MB  11.7MB/s   01:06 ETA"]
[1.007953, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                      31%  355MB  11.7MB/s   01:05 ETA"]
[1.009833, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                      32%  367MB  11.7MB/s   01:04 ETA"]
[1.00291, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                      33%  379MB  11.8MB/s   01:03 ETA"]
[1.004985, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                      34%  390MB  11.8MB/s   01:02 ETA"]
[1.006279, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                      35%  403MB  11.8MB/s   01:01 ETA"]
[1.002091, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                      36%  415MB  11.9MB/s   00:59 ETA"]
[1.00345, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                      37%  427MB  11.8MB/s   00:58 ETA"]
[1.002866, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                      39%  439MB  11.8MB/s   00:57 ETA"]
[1.004506, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                      40%  451MB  11.9MB/s   00:56 ETA"]
[1.004861, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                      41%  463MB  11.9MB/s   00:55 ETA"]
[1.004604, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                      42%  475MB  11.9MB/s   00:54 ETA"]
[1.003058, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                      42%  482MB  11.4MB/s   00:56 ETA"]
[1.00256, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                      43%  484MB  10.4MB/s   01:01 ETA"]
[1.002741, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                      44%  497MB  10.7MB/s   00:58 ETA"]
[1.024026, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                      45%  509MB  10.8MB/s   00:56 ETA"]
[1.001148, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                      46%  521MB  10.9MB/s   00:55 ETA"]
[1.003917, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                      47%  533MB  11.1MB/s   00:53 ETA"]
[1.007445, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                      48%  545MB  11.1MB/s   00:52 ETA"]
[1.004469, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                      49%  557MB  11.2MB/s   00:50 ETA"]
[1.005182, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                      50%  569MB  11.3MB/s   00:49 ETA"]
[1.00698, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                      51%  581MB  11.4MB/s   00:47 ETA"]
[1.00147, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                      52%  593MB  11.4MB/s   00:46 ETA"]
[1.00037, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                      53%  605MB  11.5MB/s   00:45 ETA"]
[1.002862, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                      54%  617MB  11.5MB/s   00:43 ETA"]
[1.003373, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                      56%  629MB  11.6MB/s   00:42 ETA"]
[1.010726, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                      57%  641MB  11.6MB/s   00:41 ETA"]
[0.999334, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                      58%  653MB  11.6MB/s   00:40 ETA"]
[1.004134, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                      59%  665MB  11.7MB/s   00:39 ETA"]
[1.014427, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                      60%  677MB  11.7MB/s   00:38 ETA"]
[1.004696, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                      61%  689MB  11.7MB/s   00:37 ETA"]
[1.008546, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                      62%  701MB  11.7MB/s   00:36 ETA"]
[1.005017, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                      63%  713MB  11.8MB/s   00:34 ETA"]
[1.004943, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                      64%  725MB  11.8MB/s   00:33 ETA"]
[1.004449, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                      65%  737MB  11.8MB/s   00:32 ETA"]
[1.003064, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                      66%  749MB  11.8MB/s   00:31 ETA"]
[1.004471, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                      67%  761MB  11.8MB/s   00:30 ETA"]
[1.004799, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                      68%  773MB  11.9MB/s   00:29 ETA"]
[1.006732, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                      69%  785MB  11.8MB/s   00:28 ETA"]
[1.00142, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                      70%  797MB  11.8MB/s   00:27 ETA"]
[1.003773, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                      72%  809MB  11.9MB/s   00:26 ETA"]
[1.006098, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                      73%  821MB  11.9MB/s   00:25 ETA"]
[1.005443, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                      74%  833MB  11.9MB/s   00:24 ETA"]
[1.004748, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                      75%  845MB  11.9MB/s   00:23 ETA"]
[1.001195, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                      76%  857MB  11.9MB/s   00:22 ETA"]
[1.004204, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                      77%  869MB  11.9MB/s   00:21 ETA"]
[1.003943, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                      78%  881MB  11.9MB/s   00:20 ETA"]
[1.002685, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                      79%  893MB  11.9MB/s   00:19 ETA"]
[1.009122, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                      80%  904MB  11.9MB/s   00:18 ETA"]
[1.004335, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                      81%  917MB  11.9MB/s   00:17 ETA"]
[1.005443, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                      82%  929MB  11.9MB/s   00:16 ETA"]
[1.002507, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                      83%  941MB  11.9MB/s   00:15 ETA"]
[1.003233, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                      84%  953MB  11.9MB/s   00:14 ETA"]
[1.009419, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                      85%  965MB  11.9MB/s   00:13 ETA"]
[1.00368, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                      86%  977MB  11.9MB/s   00:12 ETA"]
[1.005462, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                      88%  989MB  11.9MB/s   00:11 ETA"]
[1.004161, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                      89% 1001MB  11.9MB/s   00:10 ETA"]
[1.00014, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                      90% 1013MB  12.0MB/s   00:09 ETA"]
[1.002352, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                      91% 1025MB  11.9MB/s   00:08 ETA"]
[1.005707, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                      92% 1036MB  11.9MB/s   00:07 ETA"]
[1.002523, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                      93% 1049MB  11.9MB/s   00:06 ETA"]
[1.006584, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                      94% 1061MB  11.9MB/s   00:05 ETA"]
[1.000823, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                      95% 1073MB  11.9MB/s   00:04 ETA"]
[1.005569, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                      96% 1084MB  11.9MB/s   00:03 ETA"]
[1.004723, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                      97% 1096MB  11.9MB/s   00:02 ETA"]
[1.009491, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                      99% 1123MB  13.3MB/s   00:00 ETA"]
[0.045226, "o", "\rpigsty-pkg-v4.0.0.d12.aarch64.tgz                                                     100% 1123MB  11.9MB/s   01:34    \r\n"]
[0.035881, "o", "\u001b[?2004hbash-5.3$ "]
[16.372385, "o", "ss"]
[0.088817, "o", "h"]
[0.153098, "o", " "]
[0.213767, "o", "m"]
[0.120787, "o", "e"]
[0.036999, "o", "t"]
[0.07846, "o", "a"]
[0.078648, "o", "\r\n"]
[0.000079, "o", "\u001b[?2004l\r"]
[0.072103, "o", "Warning: Permanently added '47.100.187.36' (ED25519) to the list of known hosts.\r\r\n"]
[0.257856, "o", "Linux pg-meta 6.1.0-38-arm64 #1 SMP Debian 6.1.147-1 (2025-08-02) aarch64\r\n\r\nWelcome to Alibaba Cloud Elastic Compute Service !\r\n\r\n"]
[0.014119, "o", "\u001b[?2004hroot@pg-meta:~# "]
[0.115945, "o", "l"]
[0.094252, "o", "s"]
[0.206902, "o", "\r\n\u001b[?2004l\r"]
[0.001192, "o", "pigsty-v4.0.0.tgz\r\n\u001b[?2004h"]
[0.0009, "o", "root@pg-meta:~# "]
[0.601487, "o", "t"]
[0.146514, "o", "a"]
[0.071164, "o", "r"]
[0.089685, "o", " "]
[0.070039, "o", "-"]
[0.151883, "o", "x"]
[0.077843, "o", "f"]
[0.094661, "o", " "]
[0.196117, "o", "p"]
[0.050987, "o", "i"]
[0.132153, "o", "gsty-v4.0.0.tgz "]
[0.390785, "o", "\r\n\u001b[?2004l\r"]
[0.07514, "o", "\u001b[?2004hroot@pg-meta:~# "]
[0.547313, "o", "c"]
[0.072307, "o", "d"]
[0.047438, "o", " "]
[0.068737, "o", "p"]
[0.101502, "o", "i"]
[0.078158, "o", "gsty/"]
[0.291211, "o", "\r\n\u001b[?2004l\r\u001b[?2004hroot@pg-meta:~/pigsty# "]
[0.510911, "o", "."]
[0.074277, "o", "/"]
[0.177699, "o", "b"]
[0.073689, "o", "o"]
[0.091308, "o", "o"]
[0.070726, "o", "tstrap "]
[0.426382, "o", "\r\n\u001b[?2004l\r"]
[0.007264, "o", "\u001b[0;34mbootstrap pigsty v4.0.0 begin\r\n\u001b[0m"]
[1.025683, "o", "[\u001b[0;32m OK \u001b[0m] \u001b[0;32mregion = china\u001b[0m\r\n"]
[0.003344, "o", "[\u001b[0;32m OK \u001b[0m] \u001b[0;32mkernel  = Linux\u001b[0m\r\n[\u001b[0;32m OK \u001b[0m] \u001b[0;32mmachine = aarch64\u001b[0m\r\n"]
[0.002855, "o", "[\u001b[0;32m OK \u001b[0m] \u001b[0;32mpackage = deb,apt\u001b[0m\r\n[\u001b[0;32m OK \u001b[0m] \u001b[0;32mvendor = debian (Debian GNU/Linux)\u001b[0m\r\n"]
[0.00013, "o", "[\u001b[0;32m OK \u001b[0m] \u001b[0;32mversion = 12 (12)\u001b[0m\r\n"]
[0.001406, "o", "[\u001b[0;32m OK \u001b[0m] \u001b[0;32msudo = root ok\u001b[0m\r\n"]
[0.496749, "o", "[\u001b[0;33mWARN\u001b[0m] \u001b[0;33mssh = root@127.0.0.1 fixed\u001b[0m\r\n"]
[0.032001, "o", "[\u001b[0;32m OK \u001b[0m] \u001b[0;32mcache = /tmp/pkg.tgz exists\u001b[0m\r\n[\u001b[0;33mWARN\u001b[0m] \u001b[0;33mrepo = invalid, remove\u001b[0m\r\n"]
[0.00638, "o", "[\u001b[0;32m OK \u001b[0m] \u001b[0;32mrepo = extract from /tmp/pkg.tgz\u001b[0m\r\n"]
[6.364332, "o", "[\u001b[0;33mWARN\u001b[0m] \u001b[0;33mold repos = moved to /etc/apt/backup\u001b[0m\r\n"]
[0.213247, "o", "[\u001b[0;32m OK \u001b[0m] \u001b[0;32mrepo file = use /etc/apt/sources.list.d/pigsty-local.list\u001b[0m\r\n[\u001b[0;33mWARN\u001b[0m] \u001b[0;33mapt cache = updating, may take a while\u001b[0m\r\n"]
[0.182153, "o", "\u001b[33m\r0% [Working]\u001b[0m\r            \rGet:1 file:/www/pigsty ./ InRelease\r\n\u001b[33m\r0% [1 InRelease 0 B]\u001b[0m\r                    \rIgn:1 file:/www/pigsty ./ InRelease\r\n\u001b[33m\r                    \r0% [Working]\u001b[0m\r            \rGet:2 file:/www/pigsty ./ Release\r\n\u001b[33m\r0% [2 Release 0 B]\u001b[0m\r                  \rIgn:2 file:/www/pigsty ./ Release\r\n\u001b[33m\r                  \r8% [Working]\u001b[0m\r            \rGet:3 file:/www/pigsty ./ Packages\r\n\u001b[33m\r8% [3 Packages 0 B]\u001b[0m\r                   \rIgn:3 file:/www/pigsty ./ Packages\r\n\u001b[33m\r                   \r8% [Working]\u001b[0m\r            \rGet:4 file:/www/pigsty ./ Translation-en_US\r\n\u001b[33m\r8% [4 Translation-en_US 0 B]\u001b[0m\r                            \rIgn:4 file:/www/pigsty ./ Translation-en_US\r\n\u001b[33m\r                            \r8% [Working]\u001b[0m"]
[0.000194, "o", "\r            \rGet:5 file:/www/pigsty ./ Translation-en\r\n\u001b[33m\r8% [5 Translation-en 0 B]\u001b[0m\r                         \rIgn:5 file:/www/pigsty ./ Translation-en\r\n\u001b[33m\r                         \r8% [Working]\u001b[0m\r            \rGet:3 file:/www/pigsty ./ Packages\r\n\u001b[33m\r8% [3 Packages 0 B]\u001b[0m\r                   \rIgn:3 file:/www/pigsty ./ Packages\r\n\u001b[33m\r                   \r8% [Working]\u001b[0m\r            \rGet:4 file:/www/pigsty ./ Translation-en_US"]
[0.001308, "o", "\r\n\u001b[33m\r8% [4 Translation-en_US 0 B]\u001b[0m\r                            \rIgn:4 file:/www/pigsty ./ Translation-en_US\r\n\u001b[33m\r                            \r8% [Working]\u001b[0m\r            \rGet:5 file:/www/pigsty ./ Translation-en\r\n\r            \rIgn:5 file:/www/pigsty ./ Translation-en\r\n\u001b[33m\r8% [Working]\u001b[0m\r            \rGet:3 file:/www/pigsty ./ Packages\r\n\u001b[33m\r8% [3 Packages 0 B]\u001b[0m\r                   \rIgn:3 file:/www/pigsty ./ Packages\r\n\u001b[33m\r                   \r8% [Working]\u001b[0m\r            \rGet:4 file:/www/pigsty ./ Translation-en_US\r\n\u001b[33m\r8% [4 Translation-en_US 0 B]\u001b[0m\r                            \rIgn:4 file:/www/pigsty ./ Translation-en_US\r\n\u001b[33m\r                            \r8% [Working]\u001b[0m\r            \rGet:5 file:/www/pigsty ./ Translation-en\r\n\u001b[33m\r8% [5 Translation-en 0 B]\u001b[0m"]
[0.000853, "o", "\r                         \rIgn:5 file:/www/pigsty ./ Translation-en\r\n\u001b[33m\r                         \r8% [Working]\u001b[0m"]
[0.000908, "o", "\r            \rGet:3 file:/www/pigsty ./ Packages [287 kB]"]
[0.004946, "o", "\r\n\u001b[33m\r8% [3 Packages 0 B/287 kB 0%]\u001b[0m"]
[0.002412, "o", "\u001b[33m\r                             \r88% [Working]\u001b[0m\r             \rGet:4 file:/www/pigsty ./ Translation-en_US\r\n"]
[0.00038, "o", "\r             \rIgn:4 file:/www/pigsty ./ Translation-en_US\r\n\u001b[33m\r88% [Working]\u001b[0m\u001b[33m\r88% [3 Packages store 0 B]\u001b[0m"]
[0.000268, "o", "\r                          \rGet:5 file:/www/pigsty ./ Translation-en\r\n\r                          \rIgn:5 file:/www/pigsty ./ Translation-en\r\n\u001b[33m\r88% [3 Packages store 0 B]\u001b[0m\r                          \rGet:4 file:/www/pigsty ./ Translation-en_US\r\n\r                          \rIgn:4 file:/www/pigsty ./ Translation-en_US\r\n\u001b[33m\r88% [3 Packages store 0 B]\u001b[0m"]
[0.000427, "o", "\r                          \rGet:5 file:/www/pigsty ./ Translation-en\r\n\r                          \rIgn:5 file:/www/pigsty ./ Translation-en\r\n\u001b[33m\r88% [3 Packages store 0 B]\u001b[0m\r                          \rGet:4 file:/www/pigsty ./ Translation-en_US\r\n\r                          \rIgn:4 file:/www/pigsty ./ Translation-en_US\r\n\u001b[33m\r88% [3 Packages store 0 B]\u001b[0m"]
[0.000411, "o", "\r                          \rGet:5 file:/www/pigsty ./ Translation-en\r\n\r                          \rIgn:5 file:/www/pigsty ./ Translation-en\r\n\u001b[33m\r88% [3 Packages store 0 B]\u001b[0m\r                          \rGet:4 file:/www/pigsty ./ Translation-en_US\r\n\r                          \rIgn:4 file:/www/pigsty ./ Translation-en_US\r\n\u001b[33m\r92% [3 Packages store 0 B]\u001b[0m\r                          \rGet:5 file:/www/pigsty ./ Translation-en\r\n\r                          \rIgn:5 file:/www/pigsty ./ Translation-en\r\n\u001b[33m\r96% [3 Packages store 0 B]\u001b[0m"]
[0.008204, "o", "\u001b[33m\r                          \r100% [Working]\u001b[0m\r              \r"]
[0.144041, "o", "\rReading package lists... 0%\r"]
[0.003167, "o", "\rReading package lists... 0%\r"]
[0.000934, "o", "\rReading package lists... 7%\r"]
[0.006606, "o", "\rReading package lists... 65%\r"]
[0.000293, "o", "\rReading package lists... 65%\r"]
[0.00434, "o", "\rReading package lists... Done\r\r\n"]
[0.006113, "o", "\rBuilding dependency tree... 0%\r\rBuilding dependency tree... 0%\r\rBuilding dependency tree... 0%\r\rBuilding dependency tree... 50%\r\rBuilding dependency tree... 50%\r\rBuilding dependency tree... Done\r\r\n\rReading state information... 0% \r\rReading state information... 0%\r\rReading state information... Done\r\r\n"]
[0.000662, "o", "47 packages can be upgraded. Run 'apt list --upgradable' to see them.\r\n"]
[0.002362, "o", "[\u001b[0;32m OK \u001b[0m] \u001b[0;32mrepo cache = created\u001b[0m\r\n"]
[0.011167, "o", "\rReading package lists... 0%\r"]
[0.003152, "o", "\rReading package lists... 100%\r\rReading package lists... Done\r\r\n"]
[0.000314, "o", "\rBuilding dependency tree... 0%\r\rBuilding dependency tree... 0%\r"]
[0.000709, "o", "\rBuilding dependency tree... 50%\r\rBuilding dependency tree... 50%\r"]
[0.005974, "o", "\rBuilding dependency tree... Done\r\r\n\rReading state information... 0% \r\rReading state information... 0%\r\rReading state information... Done\r\r\nwget is already the newest version (1.21.3-1+deb12u1).\r\n"]
[0.00036, "o", "Suggested packages:"]
[0.000118, "o", "\r\n  zip"]
[0.000289, "o", "\r\n"]
[0.004755, "o", "The following NEW packages will be installed:\r\n  acl sshpass unzip\r\n"]
[0.000253, "o", "0 upgraded, 3 newly installed, 0 to remove and 47 not upgraded.\r\nNeed to get 0 B/230 kB of archives.\r\nAfter this operation, 872 kB of additional disk space will be used.\r\n"]
[0.003409, "o", "\u001b[33m\r0% [Working]\u001b[0m"]
[0.00077, "o", "\r            \rGet:1 file:/www/pigsty ./ acl 2.3.1-3 [60.1 kB]\r\n"]
[0.000042, "o", "\u001b[33m\r0% [1 acl 0 B/60.1 kB 0%]"]
[0.000203, "o", "\u001b[0m\u001b[33m\r                         \r"]
[0.000183, "o", "28% [Working]\u001b[0m\r             \r"]
[0.000236, "o", "Get:2 file:/www/pigsty ./ sshpass 1.09-1 [12.5 kB]\r\n\u001b[33m\r28% [2 sshpass 0 B/12.5 kB 0%]"]
[0.00016, "o", "\u001b[0m\u001b[33m\r                              \r39% [Working]"]
[0.000719, "o", "\u001b[0m\r             \rGet:3 file:/www/pigsty ./ unzip 6.0-28 [157 kB]\r\n\u001b[33m\r39% [3 unzip 0 B/157 kB 0%]"]
[0.000093, "o", "\u001b[0m\u001b[33m\r                           \r100% [Working]\u001b[0m\r              \r"]
[0.251625, "o", "\n\u001b7\u001b[0;29r\u001b8\u001b[1A"]
[0.022327, "o", "Selecting previously unselected package acl.\r\n(Reading database ... \r"]
[0.00548, "o", "(Reading database ... 5%\r(Reading database ... 10%\r"]
[0.000185, "o", "(Reading database ... 15%\r(Reading database ... 20%\r(Reading database ... 25%\r(Reading database ... 30%\r(Reading database ... 35%\r(Reading database ... 40%\r(Reading database ... 45%\r(Reading database ... 50%\r(Reading database ... 55%\r(Reading database ... 60%\r"]
[0.011777, "o", "(Reading database ... 65%\r"]
[0.020505, "o", "(Reading database ... 70%\r"]
[0.026356, "o", "(Reading database ... 75%\r"]
[0.026491, "o", "(Reading database ... 80%\r"]
[0.019593, "o", "(Reading database ... 85%\r"]
[0.021039, "o", "(Reading database ... 90%\r"]
[0.020868, "o", "(Reading database ... 95%\r"]
[0.018933, "o", "(Reading database ... 100%\r(Reading database ... 47709 files and directories currently installed.)\r\n"]
[0.002034, "o", "Preparing to unpack .../pigsty/./acl_2.3.1-3_arm64.deb ...\r\n\u001b7\u001b[30;0f\u001b[42m\u001b[30mProgress: [  0%]\u001b[49m\u001b[39m"]
[0.000138, "o", " [..................................................................................................] \u001b8\u001b7\u001b[30;0f\u001b[42m\u001b[30mProgress: [  8%]\u001b[49m\u001b[39m [#######...........................................................................................] \u001b8"]
[0.001575, "o", "Unpacking acl (2.3.1-3) ...\r\n"]
[0.017637, "o", "\u001b7\u001b[30;0f\u001b[42m\u001b[30mProgress: [ 15%]\u001b[49m\u001b[39m [###############...................................................................................] \u001b8"]
[0.010541, "o", "Selecting previously unselected package sshpass.\r\n"]
[0.008414, "o", "Preparing to unpack ..././sshpass_1.09-1_arm64.deb ...\r\n\u001b7\u001b[30;0f\u001b[42m\u001b[30mProgress: [ 23%]\u001b[49m\u001b[39m [######################............................................................................] \u001b8"]
[0.000948, "o", "Unpacking sshpass (1.09-1) ...\r\n"]
[0.00759, "o", "\u001b7\u001b[30;0f\u001b[42m\u001b[30mProgress: [ 31%]\u001b[49m\u001b[39m [##############################....................................................................] \u001b8"]
[0.010233, "o", "Selecting previously unselected package unzip.\r\n"]
[0.009418, "o", "Preparing to unpack ..././unzip_6.0-28_arm64.deb ...\r\n\u001b7\u001b[30;0f\u001b[42m\u001b[30mProgress: [ 38%]\u001b[49m\u001b[39m [#####################################.............................................................] \u001b8"]
[0.000483, "o", "Unpacking unzip (6.0-28) ...\r\n"]
[0.015195, "o", "\u001b7\u001b[30;0f\u001b[42m\u001b[30mProgress: [ 46%]\u001b[49m\u001b[39m [#############################################.....................................................] \u001b8"]
[0.020698, "o", "Setting up unzip (6.0-28) ...\r\n\u001b7\u001b[30;0f\u001b[42m\u001b[30mProgress: [ 54%]\u001b[49m\u001b[39m [####################################################..............................................] \u001b8"]
[0.013765, "o", "\u001b7\u001b[30;0f\u001b[42m\u001b[30mProgress: [ 62%]\u001b[49m\u001b[39m [############################################################......................................] \u001b8"]
[0.000759, "o", "Setting up sshpass (1.09-1) ...\r\n"]
[0.001212, "o", "\u001b7\u001b[30;0f\u001b[42m\u001b[30mProgress: [ 69%]\u001b[49m\u001b[39m [###################################################################...............................] \u001b8"]
[0.001164, "o", "\u001b7\u001b[30;0f\u001b[42m\u001b[30mProgress: [ 77%]\u001b[49m\u001b[39m [###########################################################################.......................] \u001b8"]
[0.000911, "o", "Setting up acl (2.3.1-3) ...\r\n"]
[0.000808, "o", "\u001b7\u001b[30;0f\u001b[42m\u001b[30mProgress: [ 85%]\u001b[49m\u001b[39m [##################################################################################................] \u001b8"]
[0.002046, "o", "\u001b7\u001b[30;0f\u001b[42m\u001b[30mProgress: [ 92%]\u001b[49m\u001b[39m [##########################################################################################........] \u001b8"]
[0.001354, "o", "Processing triggers for man-db (2.11.2-2) ...\r\n"]
[0.439333, "o", "Processing triggers for mailcap (3.70+nmu1) ...\r\n"]
[0.026164, "o", "\r\n\u001b7\u001b[0;30r\u001b8\u001b[1A\u001b[J"]
[0.020294, "o", "\rReading package lists... 0%\r"]
[0.003558, "o", "\rReading package lists... 100%\r\rReading package lists... Done\r\r\n\rBuilding dependency tree... 0%\r\rBuilding dependency tree... 0%\r\rBuilding dependency tree... 50%\r\rBuilding dependency tree... 50%\r"]
[0.001134, "o", "\rBuilding dependency tree... Done\r\r\n\rReading state information... 0% \r"]
[0.000127, "o", "\rReading state information... 0%\r"]
[0.000176, "o", "\rReading state information... Done\r\r\n"]
[0.004212, "o", "The following additional packages will be installed:\r\n  ansible-core ieee-data python3-dnspython python3-kerberos python3-netaddr python3-packaging python3-resolvelib\r\nSuggested packages:\r\n  cowsay python3-sniffio python3-trio python3-aioquic ipython3 python-netaddr-docs\r\nRecommended packages:\r\n  python3-argcomplete python3-libcloud python3-selinux python3-winrm python3-xmltodict python3-passlib python3-h2\r\n  python3-httpx python3-requests-toolbelt\r\n"]
[0.004635, "o", "The following NEW packages will be installed:\r\n"]
[0.000053, "o", "  ansible ansible-core ieee-data python3-dnspython python3-jmespath python3-kerberos python3-netaddr python3-packaging"]
[0.000196, "o", "\r\n  python3-resolvelib"]
[0.000292, "o", "\r\n0 upgraded, 9 newly installed, 0 to remove and 47 not upgraded."]
[0.000089, "o", "\r\nNeed to get 0 B/20.8 MB of archives.\r\n"]
[0.000079, "o", "After this operation, 290 MB of additional disk space will be used.\r\n"]
[0.006626, "o", "\u001b[33m\r0% [Working]\u001b[0m\r            \rGet:1 file:/www/pigsty ./ python3-packaging 23.0-1 [32.5 kB]\r\n\u001b[33m\r0% [1 python3-packaging 0 B/32.5 kB 0%]\u001b[0m\u001b[33m\r                                       \r2% [Working]\u001b[0m\r            \rGet:2 file:/www/pigsty ./ python3-resolvelib 0.9.0-2 [27.3 kB]\r\n\u001b[33m\r2% [2 python3-resolvelib 0 B/27.3 kB 0%]\u001b[0m\u001b[33m\r                                        \r5% [Working]\u001b[0m\r            \rGet:3 file:/www/pigsty ./ python3-dnspython 2.3.0-1 [152 kB]\r\n\u001b[33m\r5% [3 python3-dnspython 0 B/152 kB 0%]\u001b[0m\u001b[33m\r                                      \r7% [Working]\u001b[0m"]
[0.005829, "o", "\r            \rGet:4 file:/www/pigsty ./ ieee-data 20220827.1 [2,029 kB]\r\n\u001b[33m\r7% [4 ieee-data 0 B/2,029 kB 0%]\u001b[0m\u001b[33m\r                                \r"]
[0.000024, "o", "18% [Working]\u001b[0m"]
[0.00119, "o", "\r             \r"]
[0.00013, "o", "Get:5 file:/www/pigsty ./ python3-netaddr 0.8.0-2 [295 kB]\r\n\u001b[33m\r18% [5 python3-netaddr 0 B/295 kB 0%]\u001b[0m"]
[0.000093, "o", "\u001b[33m\r                                     \r21% [Working]\u001b[0m"]
[0.004886, "o", "\r             \rGet:6 file:/www/pigsty ./ ansible-core 2.14.18-0+deb12u2 [1,291 kB]\r\n\u001b[33m\r21% [6 ansible-core 0 B/1,291 kB 0%]\u001b[0m\u001b[33m\r                                    \r28% [Working]"]
[0.000544, "o", "\u001b[0m"]
[0.0555, "o", "\r             \r"]
[0.000088, "o", "Get:7 file:/www/pigsty ./ ansible 7.7.0+dfsg-3+deb12u1 [16.9 MB]"]
[0.000111, "o", "\r\n\u001b[33m\r28% [7 ansible 0 B/16.9 MB 0%]\u001b[0m"]
[0.000216, "o", "\u001b[33m\r                              \r95% [Working]\u001b[0m"]
[0.000381, "o", "\r             \rGet:8 file:/www/pigsty ./ python3-jmespath 1.0.1-1 [21.1 kB]\r\n"]
[0.000138, "o", "\u001b[33m\r95% [8 python3-jmespath 0 B/21.1 kB 0%]\u001b[0m\u001b[33m\r                                       \r"]
[0.000372, "o", "98% [Working]\u001b[0m\r             \rGet:9 file:/www/pigsty ./ python3-kerberos 1.1.14-3.1+b7 [21.0 kB]"]
[0.00026, "o", "\r\n\u001b[33m\r98% [9 python3-kerberos 0 B/21.0 kB 0%]\u001b[0m\u001b[33m\r                                       \r100% [Working]\u001b[0m"]
[0.000861, "o", "\r              \r"]
[0.245765, "o", "\n\u001b7\u001b[0;29r\u001b8\u001b[1A"]
[0.015458, "o", "Selecting previously unselected package python3-packaging.\r\n(Reading database ... \r"]
[0.004339, "o", "(Reading database ... 5%\r(Reading database ... 10%\r(Reading database ... 15%\r(Reading database ... 20%\r(Reading database ... 25%\r(Reading database ... 30%\r(Reading database ... 35%\r(Reading database ... 40%\r(Reading database ... 45%\r(Reading database ... 50%\r(Reading database ... 55%\r(Reading database ... 60%\r"]
[0.000113, "o", "(Reading database ... 65%\r"]
[0.000071, "o", "(Reading database ... 70%\r"]
[0.002911, "o", "(Reading database ... 75%\r"]
[0.003101, "o", "(Reading database ... 80%\r"]
[0.000895, "o", "(Reading database ... 85%\r"]
[0.0014, "o", "(Reading database ... 90%\r"]
[0.000901, "o", "(Reading database ... 95%\r"]
[0.000785, "o", "(Reading database ... 100%\r(Reading database ... 47752 files and directories currently installed.)\r\n"]
[0.001393, "o", "Preparing to unpack .../0-python3-packaging_23.0-1_all.deb ...\r\n"]
[0.000236, "o", "\u001b7\u001b[30;0f\u001b[42m\u001b[30mProgress: [  0%]\u001b[49m\u001b[39m [..................................................................................................] \u001b8"]
[0.000162, "o", "\u001b7\u001b[30;0f\u001b[42m\u001b[30mProgress: [  3%]\u001b[49m\u001b[39m [##................................................................................................] \u001b8"]
[0.001358, "o", "Unpacking python3-packaging (23.0-1) ...\r\n"]
[0.008361, "o", "\u001b7\u001b[30;0f\u001b[42m\u001b[30mProgress: [  5%]\u001b[49m\u001b[39m [#####.............................................................................................] \u001b8"]
[0.011257, "o", "Selecting previously unselected package python3-resolvelib.\r\n"]
[0.00933, "o", "Preparing to unpack .../1-python3-resolvelib_0.9.0-2_all.deb ...\r\n\u001b7\u001b[30;0f\u001b[42m\u001b[30mProgress: [  8%]\u001b[49m\u001b[39m [#######...........................................................................................] \u001b8"]
[0.001147, "o", "Unpacking python3-resolvelib (0.9.0-2) ...\r\n"]
[0.011095, "o", "\u001b7\u001b[30;0f\u001b[42m\u001b[30mProgress: [ 11%]\u001b[49m\u001b[39m [##########........................................................................................] \u001b8"]
[0.010467, "o", "Selecting previously unselected package python3-dnspython.\r\n"]
[0.008558, "o", "Preparing to unpack .../2-python3-dnspython_2.3.0-1_all.deb ...\r\n\u001b7\u001b[30;0f\u001b[42m\u001b[30mProgress: [ 14%]\u001b[49m\u001b[39m"]
[0.000081, "o", " [#############.....................................................................................] \u001b8"]
[0.000793, "o", "Unpacking python3-dnspython (2.3.0-1) ...\r\n"]
[0.024207, "o", "\u001b7\u001b[30;0f\u001b[42m\u001b[30mProgress: [ 16%]\u001b[49m\u001b[39m [###############...................................................................................] \u001b8"]
[0.010418, "o", "Selecting previously unselected package ieee-data.\r\n"]
[0.009736, "o", "Preparing to unpack .../3-ieee-data_20220827.1_all.deb ...\r\n\u001b7\u001b[30;0f\u001b[42m\u001b[30mProgress: [ 19%]\u001b[49m\u001b[39m [##################................................................................................] \u001b8"]
[0.006918, "o", "Unpacking ieee-data (20220827.1) ...\r\n"]
[0.116628, "o", "\u001b7\u001b[30;0f\u001b[42m\u001b[30mProgress: [ 22%]\u001b[49m\u001b[39m [#####################.............................................................................] \u001b8"]
[0.010672, "o", "Selecting previously unselected package python3-netaddr.\r\n"]
[0.010217, "o", "Preparing to unpack .../4-python3-netaddr_0.8.0-2_all.deb ...\r\n\u001b7\u001b[30;0f\u001b[42m\u001b[30mProgress: [ 24%]\u001b[49m\u001b[39m [#######################...........................................................................] \u001b8Unpacking python3-netaddr (0.8.0-2) ...\r\n"]
[0.023377, "o", "\u001b7\u001b[30;0f\u001b[42m\u001b[30mProgress: [ 27%]\u001b[49m\u001b[39m [##########################........................................................................] \u001b8"]
[0.012096, "o", "Selecting previously unselected package ansible-core.\r\n"]
[0.008701, "o", "Preparing to unpack .../5-ansible-core_2.14.18-0+deb12u2_all.deb ...\r\n\u001b7\u001b[30;0f\u001b[42m\u001b[30mProgress: [ 30%]\u001b[49m\u001b[39m"]
[0.000159, "o", " [#############################.....................................................................] \u001b8"]
[0.001261, "o", "Unpacking ansible-core (2.14.18-0+deb12u2) ...\r\n"]
[0.106378, "o", "\u001b7\u001b[30;0f\u001b[42m\u001b[30mProgress: [ 32%]\u001b[49m\u001b[39m [###############################...................................................................] \u001b8"]
[0.036027, "o", "Selecting previously unselected package ansible.\r\n"]
[0.011495, "o", "Preparing to unpack .../6-ansible_7.7.0+dfsg-3+deb12u1_all.deb ...\r\n\u001b7\u001b[30;0f\u001b[42m\u001b[30mProgress: [ 35%]\u001b[49m\u001b[39m [##################################................................................................] \u001b8"]
[0.006853, "o", "Unpacking ansible (7.7.0+dfsg-3+deb12u1) ...\r\n"]
[3.666589, "o", "\u001b7\u001b[30;0f\u001b[42m\u001b[30mProgress: [ 38%]\u001b[49m\u001b[39m [#####################################.............................................................] \u001b8"]
[0.045144, "o", "Selecting previously unselected package python3-jmespath.\r\n"]
[0.019363, "o", "Preparing to unpack .../7-python3-jmespath_1.0.1-1_all.deb ...\r\n\u001b7\u001b[30;0f\u001b[42m\u001b[30mProgress: [ 41%]\u001b[49m\u001b[39m"]
[0.000021, "o", " [#######################################...........................................................] "]
[0.000649, "o", "\u001b8"]
[0.000466, "o", "Unpacking python3-jmespath (1.0.1-1) ...\r\n"]
[0.008773, "o", "\u001b7\u001b[30;0f\u001b[42m\u001b[30mProgress: [ 43%]\u001b[49m\u001b[39m [##########################################........................................................] \u001b8"]
[0.011426, "o", "Selecting previously unselected package python3-kerberos.\r\n"]
[0.014414, "o", "Preparing to unpack .../8-python3-kerberos_1.1.14-3.1+b7_arm64.deb ...\r\n"]
[0.000202, "o", "\u001b7\u001b[30;0f\u001b[42m\u001b[30mProgress: [ 46%]\u001b[49m\u001b[39m [#############################################.....................................................] "]
[0.000104, "o", "\u001b8"]
[0.000969, "o", "Unpacking python3-kerberos (1.1.14-3.1+b7) ...\r\n"]
[0.008585, "o", "\u001b7\u001b[30;0f\u001b[42m\u001b[30mProgress: [ 49%]\u001b[49m\u001b[39m [###############################################...................................................] \u001b8"]
[0.021323, "o", "Setting up python3-resolvelib (0.9.0-2) ...\r\n"]
[0.001141, "o", "\u001b7\u001b[30;0f\u001b[42m\u001b[30mProgress: [ 51%]\u001b[49m\u001b[39m [##################################################................................................] \u001b8"]
[0.105938, "o", "\u001b7\u001b[30;0f\u001b[42m\u001b[30mProgress: [ 54%]\u001b[49m\u001b[39m [####################################################..............................................] \u001b8"]
[0.001716, "o", "Setting up python3-kerberos (1.1.14-3.1+b7) ...\r\n"]
[0.000935, "o", "\u001b7\u001b[30;0f\u001b[42m\u001b[30mProgress: [ 57%]\u001b[49m\u001b[39m [#######################################################...........................................] \u001b8"]
[0.000841, "o", "\u001b7\u001b[30;0f\u001b[42m\u001b[30mProgress: [ 59%]\u001b[49m\u001b[39m [##########################################################........................................] \u001b8"]
[0.001948, "o", "Setting up python3-packaging (23.0-1) ...\r\n"]
[0.001901, "o", "\u001b7\u001b[30;0f\u001b[42m\u001b[30mProgress: [ 62%]\u001b[49m\u001b[39m [############################################################......................................] \u001b8"]
[0.11141, "o", "\u001b7\u001b[30;0f\u001b[42m\u001b[30mProgress: [ 65%]\u001b[49m\u001b[39m [###############################################################...................................] \u001b8"]
[0.00297, "o", "Setting up python3-jmespath (1.0.1-1) ...\r\n\u001b7\u001b[30;0f\u001b[42m\u001b[30mProgress: [ 68%]\u001b[49m\u001b[39m [##################################################################................................] \u001b8"]
[0.103621, "o", "\u001b7\u001b[30;0f\u001b[42m\u001b[30mProgress: [ 70%]\u001b[49m\u001b[39m [####################################################################..............................] \u001b8"]
[0.001209, "o", "Setting up ieee-data (20220827.1) ...\r\n"]
[0.000994, "o", "\u001b7\u001b[30;0f\u001b[42m\u001b[30mProgress: [ 73%]\u001b[49m\u001b[39m [#######################################################################...........................] "]
[0.000763, "o", "\u001b8"]
[0.004793, "o", "\u001b7\u001b[30;0f\u001b[42m\u001b[30mProgress: [ 76%]\u001b[49m\u001b[39m [##########################################################################........................] \u001b8"]
[0.004672, "o", "Setting up python3-dnspython (2.3.0-1) ...\r\n\u001b7\u001b[30;0f\u001b[42m\u001b[30mProgress: [ 78%]\u001b[49m\u001b[39m [############################################################################......................] \u001b8"]
[0.206704, "o", "\u001b7\u001b[30;0f\u001b[42m\u001b[30mProgress: [ 81%]\u001b[49m\u001b[39m [###############################################################################...................] \u001b8"]
[0.001306, "o", "Setting up python3-netaddr (0.8.0-2) ...\r\n"]
[0.000856, "o", "\u001b7\u001b[30;0f\u001b[42m\u001b[30mProgress: [ 84%]\u001b[49m\u001b[39m [##################################################################################................] "]
[0.000112, "o", "\u001b8"]
[0.124823, "o", "\u001b7\u001b[30;0f\u001b[42m\u001b[30mProgress: [ 86%]\u001b[49m\u001b[39m [####################################################################################..............] \u001b8"]
[0.002842, "o", "Setting up ansible-core (2.14.18-0+deb12u2) ...\r\n\u001b7\u001b[30;0f\u001b[42m\u001b[30mProgress: [ 89%]\u001b[49m\u001b[39m [#######################################################################################...........] \u001b8"]
[0.784378, "o", "\u001b7\u001b[30;0f\u001b[42m\u001b[30mProgress: [ 92%]\u001b[49m\u001b[39m [##########################################################################################........] \u001b8"]
[0.001927, "o", "Setting up ansible (7.7.0+dfsg-3+deb12u1) ...\r\n"]
[0.000936, "o", "\u001b7\u001b[30;0f\u001b[42m\u001b[30mProgress: [ 95%]\u001b[49m\u001b[39m [############################################################################################......] \u001b8"]
[13.287046, "o", "\u001b7\u001b[30;0f\u001b[42m\u001b[30mProgress: [ 97%]\u001b[49m\u001b[39m [###############################################################################################...] \u001b8"]
[0.004063, "o", "Processing triggers for man-db (2.11.2-2) ...\r\n"]
[0.340282, "o", "\r\n\u001b7\u001b[0;30r\u001b8\u001b[1A\u001b[J"]
[0.383256, "o", "[\u001b[0;32m OK \u001b[0m] \u001b[0;32mansible = ansible [core 2.14.18]\u001b[0m\r\n[\u001b[0;32m OK \u001b[0m] \u001b[0;32mboostrap pigsty complete\u001b[0m\r\n\u001b[0;34mproceed with ./configure\r\n\u001b[0m"]
[0.000568, "o", "\u001b[?2004hroot@pg-meta:~/pigsty# "]
[2.169327, "o", "."]
[0.100676, "o", "/"]
[0.378961, "o", "c"]
[0.04276, "o", "o"]
[0.074906, "o", "n"]
[0.097788, "o", "f"]
[0.018169, "o", "i"]
[0.14511, "o", "g"]
[0.068466, "o", "u"]
[0.149754, "o", "r"]
[0.07158, "o", "e"]
[0.122364, "o", " "]
[0.217238, "o", "-"]
[0.197638, "o", "g"]
[0.135021, "o", " "]
[0.416375, "o", "-"]
[0.093658, "o", "c"]
[0.147619, "o", " "]
[0.145043, "o", "r"]
[0.046951, "o", "i"]
[0.20042, "o", "c"]
[0.103208, "o", "h"]
[0.39531, "o", "\r\n\u001b[?2004l\r"]
[0.004622, "o", "\u001b[0;34mconfigure pigsty v4.0.0 begin\r\n\u001b[0m"]
[1.008537, "o", "[\u001b[0;32m OK \u001b[0m] \u001b[0;32mregion = china\u001b[0m\r\n"]
[0.000943, "o", "[\u001b[0;32m OK \u001b[0m] \u001b[0;32mkernel  = Linux\u001b[0m\r\n"]
[0.001053, "o", "[\u001b[0;32m OK \u001b[0m] \u001b[0;32mmachine = aarch64\u001b[0m\r\n"]
[0.00118, "o", "[\u001b[0;32m OK \u001b[0m] \u001b[0;32mpackage = deb,apt\u001b[0m\r\n[\u001b[0;32m OK \u001b[0m] \u001b[0;32mvendor  = debian (Debian GNU/Linux)\u001b[0m\r\n"]
[0.000769, "o", "[\u001b[0;32m OK \u001b[0m] \u001b[0;32mversion = 12 (12)\u001b[0m\r\n"]
[0.00189, "o", "[\u001b[0;32m OK \u001b[0m] \u001b[0;32msudo = root ok\u001b[0m\r\n"]
[0.21051, "o", "[\u001b[0;32m OK \u001b[0m] \u001b[0;32mssh = root@127.0.0.1 ok\u001b[0m\r\n"]
[0.005545, "o", "[\u001b[0;32m OK \u001b[0m] \u001b[0;32mprimary_ip = 10.10.10.10  (from probe)\u001b[0m\r\n"]
[0.209089, "o", "[\u001b[0;32m OK \u001b[0m] \u001b[0;32madmin = root@10.10.10.10 ok\u001b[0m\r\n[\u001b[0;33mWARN\u001b[0m] \u001b[0;33muser = root is not recommended\u001b[0m\r\n[\u001b[0;32m OK \u001b[0m] \u001b[0;32mmode = rich (manually set)\u001b[0m"]
[0.000857, "o", "\r\n"]
[0.006609, "o", "[\u001b[0;33mWARN\u001b[0m] \u001b[0;33mreplace oltp template with tiny due to cpu < 4\u001b[0m\r\n"]
[0.011782, "o", "[\u001b[0;32m OK \u001b[0m] \u001b[0;32mlocale  = C.UTF-8\u001b[0m\r\n"]
[0.00268, "o", "[\u001b[0;32m OK \u001b[0m] \u001b[0;32mgenerating random passwords...\u001b[0m\r\n"]
[0.004073, "o", "    \u001b[0;32mgrafana_admin_password  \u001b[0m : \u001b[0;36mFmD0P60IsrepPhstbdY5uzjB\u001b[0m\r\n"]
[0.003735, "o", "    \u001b[0;32mpg_admin_password       \u001b[0m : \u001b[0;36meseLmRz2Zi5LXKZZCQs9ruD5\u001b[0m\r\n"]
[0.00373, "o", "    \u001b[0;32mpg_monitor_password     \u001b[0m : \u001b[0;36mn1ezFlHdxnIBrIa5OMKJcfnk\u001b[0m\r\n"]
[0.003468, "o", "    \u001b[0;32mpg_replication_password \u001b[0m : \u001b[0;36mC6NuCxhNefLk7VuVCETve1Wc\u001b[0m\r\n"]
[0.00362, "o", "    \u001b[0;32mpatroni_password        \u001b[0m : \u001b[0;36mnOSpTmLSNLAfRzN7UvTHJHf6\u001b[0m\r\n"]
[0.003798, "o", "    \u001b[0;32mhaproxy_admin_password  \u001b[0m : \u001b[0;36mMq5u6vXweHg7l2Pt6RryJom8\u001b[0m\r\n"]
[0.0043, "o", "    \u001b[0;32mminio_secret_key        \u001b[0m : \u001b[0;36mYJnTBHAwnEfd7fqBmxC7IqnI\u001b[0m\r\n"]
[0.004257, "o", "    \u001b[0;32metcd_root_password      \u001b[0m : \u001b[0;36mGgIvS8Vmc5QEwFZyqZEADymg\u001b[0m\r\n"]
[0.005185, "o", "    \u001b[0;32mDBUser.Meta             \u001b[0m : \u001b[0;36mKoEpMDa2ldbfC7wyUsEv3oBp\u001b[0m\r\n"]
[0.004055, "o", "    \u001b[0;32mDBUser.Viewer           \u001b[0m : \u001b[0;36m5MzBVH24v5cViFJFGoi5WxzA\u001b[0m\r\n"]
[0.003812, "o", "    \u001b[0;32mS3User.Backup           \u001b[0m : \u001b[0;36mdIsX9QNVUIIXVB3JSBkb3Ayz\u001b[0m\r\n"]
[0.003836, "o", "    \u001b[0;32mS3User.Meta             \u001b[0m : \u001b[0;36mEtNE9cuLE0JLKDuFTtY8vkuB\u001b[0m\r\n"]
[0.003334, "o", "    \u001b[0;32mS3User.Data             \u001b[0m : \u001b[0;36myTFeRioBoi81FL8pXtHeHzxM\u001b[0m\r\n"]
[0.001158, "o", "[\u001b[0;32m OK \u001b[0m] \u001b[0;32mrandom passwords generated, check and save them\u001b[0m\r\n"]
[0.000175, "o", "[\u001b[0;32m OK \u001b[0m] \u001b[0;32mansible = ready\u001b[0m\r\n[\u001b[0;32m OK \u001b[0m] \u001b[0;32mpigsty configured\u001b[0m\r\n[\u001b[0;33mWARN\u001b[0m] \u001b[0;33mdon't forget to check it and change passwords!\u001b[0m\r\n\u001b[0;34mproceed with ./deploy.yml\r\n\u001b[0m"]
[0.000515, "o", "\u001b[?2004hroot@pg-meta:~/pigsty# "]
[0.756424, "o", "v"]
[0.070009, "o", "i"]
[0.150457, "o", " "]
[0.820933, "o", "p"]
[0.097648, "o", "i"]
[0.057598, "o", "gsty.yml "]
[0.322803, "o", "\r\n\u001b[?2004l\r"]
[0.042372, "o", "\u001b[?1006;1000h\u001b[?1002h\u001b[?1049h\u001b[22;0;0t\u001b[>4;2m\u001b[?1h\u001b=\u001b[?2004h\u001b[?1004h\u001b[1;30r\u001b[?12h\u001b[?12l\u001b[22;2t\u001b[22;1t\u001b[27m\u001b[23m\u001b[29m\u001b[m\u001b[H\u001b[2J\u001b[?25l\u001b[30;1H\"pigsty.yml\" [noeol] 352L, 24110B"]
[0.004066, "o", "\u001b[2;1H▽\u001b[6n\u001b[2;1H  \u001b[3;1H\u001bPzz\u001b\\\u001b[0%m\u001b[6n\u001b[3;1H           \u001b[1;1H\u001b[>c\u001b]10;?\u0007\u001b]11;?\u0007"]
[0.001594, "o", "\u001b[1;1H\u001b[35m---\u001b[m\r\n\u001b[34m#==============================================================#\u001b[m\u001b[2;65H\u001b[K\u001b[3;1H\u001b[34m# File      :   rich.yml\u001b[m\u001b[3;25H\u001b[K\u001b[4;1H\u001b[34m# Desc      :   Pigsty feature-rich 1-node online install config\r\n# Ctime     :   2020-05-22\r\n# Mtime     :   2025-12-12\r\n# Docs      :   https://doc.pgsty.com/config\r\n# License   :   Apache-2.0 @ https://pigsty.io/docs/about/license/\r\n# Copyright :   2018-2026  Ruohang Feng / Vonng (rh@vonng.com)\r\n#==============================================================#\r\n\r\n# This is the enhanced version of default meta.yml, which has:\r\n# - almost all available postgres extensions\r\n# - build local software repo for entire env\r\n# - 1 node minio used as central backup repo\r\n# - cluster stub for 3-node pg-test / ferret / redis\r\n# - stub for nginx, certs, and website self-hosting config\r\n# - detailed comments for database / user / service\r\n#\r\n# Usage:\r\n#   curl https://repo.pigsty.io/get | bash\r\n#   ./configure -c rich\r\n#   ./deploy.yml\u001b[m\r\n\r\n\u001b[36mall\u001b[m\u001b[35m:\u001b[m\r\n"]
[0.000014, "o", "\r\n \u001b[34m #==============================================================#\r\n\u001b[m \u001b[34m # Clusters, Nodes, and Modules\r\n\u001b[m \u001b[34m #==============================================================#\u001b[m\u001b[30;103H1,1\u001b[11CTop\u001b[1;1H\u001b[?25h\u001b[?4m"]
[0.063183, "o", "\u001bP+q436f\u001b\\\u001bP+q6b75\u001b\\\u001bP+q6b64\u001b\\\u001bP+q6b72\u001b\\\u001bP+q6b6c\u001b\\\u001bP+q2332\u001b\\\u001bP+q2334\u001b\\\u001bP+q2569\u001b\\\u001bP+q2a37\u001b\\\u001bP+q6b31\u001b\\"]
[0.000035, "o", "\u001bP$q q\u001b\\\u001b[?12$p\u001b[?25l\u001b[30;93Hf\u001b[1;1H\u001b[30;94H7\u001b[1;1H\u001b[30;95H3\u001b[1;1H\u001b[30;96H2\u001b[1;1H\u001b[30;97H/\u001b[1;1H\u001b[30;98He\u001b[1;1H\u001b[30;99H5\u001b[1;1H\u001b[30;100Hd\u001b[1;1H\u001b[30;101H0\u001b[1;1H\u001b[30;93H732/e5d0^[\u001b[1;1H"]
[0.000603, "o", "\u001b[30;93H          \u001b[1;1H\u001b[?25h"]
[0.021087, "o", "\u001bP+q6b32\u001b\\\u001bP+q6b33\u001b\\\u001bP+q6b34\u001b\\\u001b[?25l\u001b[30;93H7\u001b[1;1H\u001b[30;94H2\u001b[1;1H\u001b[30;95H=\u001b[1;1H\u001b[30;96H1\u001b[1;1H\u001b[30;97HB\u001b[1;1H\u001b[30;98H4\u001b[1;1H\u001b[30;99HF\u001b[1;1H\u001b[30;100H4\u001b[1;1H\u001b[30;101H3\u001b[1;1H\u001b[30;93H2=1B4F43^[\u001b[1;1H"]
[0.000219, "o", "\u001b[30;93H          \u001b[1;1H\u001bP+q6b35\u001b\\\u001bP+q6b36\u001b\\\u001bP+q6b37\u001b\\\u001b[30;93H^[\u001b[1;1H\u001b[30;95HP\u001b[1;1H\u001b[30;96H1\u001b[1;1H\u001b[30;97H+\u001b[1;1H\u001b[30;93H     \u001b[1;1H\u001bP+q6b38\u001b\\\u001bP+q6b39\u001b\\\u001b[30;93H1\u001b[1;1H\u001b[30;94H+\u001b[1;1H\u001b[30;95Hr\u001b[1;1H\u001b[30;96H2\u001b[1;1H\u001b[30;97HA\u001b[1;1H\u001b[30;98H3\u001b[1;1H\u001b[30;99H7\u001b[1;1H\u001b[30;100H=\u001b[1;1H\u001b[30;101H1\u001b[1;1H\u001b[30;102HB\u001b[1;1H"]
[0.000536, "o", "\u001b[30;93H          \u001b[1;1H\u001bP+q6b3b\u001b\\\u001bP+q4631\u001b\\\u001b[?25h"]
[0.021421, "o", "\u001bP+q4632\u001b\\\u001bP+q2531\u001b\\"]
[0.00015, "o", "\u001bP+q2638\u001b\\\u001b[?25l\u001b[30;93H^[\u001b[1;1H\u001b[30;95HP\u001b[1;1H\u001b[30;96H1\u001b[1;1H\u001b[30;97H+\u001b[1;1H\u001b[30;98Hr\u001b[1;1H\u001b[30;93H      \u001b[1;1H\u001bP+q6b62\u001b\\\u001bP+q6b49\u001b\\\u001bP+q6b44\u001b\\\u001b[30;93H^[\u001b[1;1H\u001b[30;95HP\u001b[1;1H\u001b[30;96H1\u001b[1;1H\u001b[30;97H+\u001b[1;1H\u001b[30;98Hr\u001b[1;1H\u001b[30;99H6\u001b[1;1H\u001b[30;100HB\u001b[1;1H\u001b[30;101H3\u001b[1;1H"]
[0.00008, "o", "\u001b[30;93H         \u001b[1;1H\u001bP+q6b68\u001b\\\u001bP+q4037\u001b\\\u001bP+q6b50\u001b\\\u001b[30;93H^[\u001b[1;1H\u001b[30;95HP\u001b[1;1H\u001b[30;96H1\u001b[1;1H\u001b[30;97H+\u001b[1;1H\u001b[30;98Hr\u001b[1;1H\u001b[30;99H4\u001b[1;1H\u001b[30;100H6\u001b[1;1H\u001b[30;101H3\u001b[1;1H\u001b[30;102H1\u001b[1;1H\u001b[30;93H[P1+r4631=\u001b[1;1H"]
[0.000577, "o", "\u001b[30;93H          \u001b[1;1H\u001bP+q6b4e\u001b\\\u001b[?25h"]
[0.019247, "o", "\u001bP+q4b31\u001b\\\u001bP+q4b33\u001b\\\u001bP+q4b34\u001b\\\u001bP+q4b35\u001b\\\u001bP+q6b42\u001b\\\u001b[?25l\u001b[30;93H^[\u001b[1;1H\u001b[30;95HP\u001b[1;1H\u001b[30;96H1\u001b[1;1H\u001b[30;97H+\u001b[1;1H\u001b[30;98Hr\u001b[1;1H\u001b[30;99H6\u001b[1;1H\u001b[30;100HB\u001b[1;1H\u001b[30;93H        \u001b[1;1H\u001bP+q5053\u001b\\\u001bP+q5045\u001b\\\u001b[30;93H5\u001b[1;1H\u001b[30;94H0\u001b[1;1H\u001b[30;95H=\u001b[1;1H\u001b[30;96H1\u001b[1;1H\u001b[30;97HB\u001b[1;1H\u001b[30;98H5\u001b[1;1H\u001b[30;99HB\u001b[1;1H\u001b[30;100H3\u001b[1;1H\u001b[30;101H5\u001b[1;1H\u001b[30;102H7\u001b[1;1H"]
[0.002523, "o", "\u001b[30;93H          \u001b[1;1H\u001b[?25h"]
[0.626752, "o", "\u001b[?25l\u001b[30;93H/\u001b[1;1H\u001b[30;1H\u001b[K\u001b[30;1H/\u001b[?25h"]
[0.155421, "o", "r\u001b[?25l"]
[0.000411, "o", "\u001b[3;17H\u001b[7m\u001b[34mr\u001b[m\u001b[30;103H3,17\u001b[10CTop\u001b[30;103H\u001b[K\u001b[30;3H\u001b[?25h"]
[0.068262, "o", "e\u001b[?25l"]
[0.001811, "o", "\u001b[3;17H\u001b[34mr\u001b[m\u001b[4;29H\u001b[7m\u001b[34mre\u001b[m\u001b[30;103H4,29\u001b[10CTop\u001b[30;103H\u001b[K\u001b[30;4H\u001b[?25h"]
[0.01594, "o", "p\u001b[?25l"]
[0.000715, "o", "\u001b[4;29H\u001b[34mre\u001b[m\u001b[14;26H\u001b[7m\u001b[34mrep\u001b[m\u001b[30;103H14,26\u001b[9CTop\u001b[30;103H\u001b[K\u001b[30;5H\u001b[?25h"]
[0.061125, "o", "o\u001b[?25l"]
[0.00063, "o", "\u001b[14;29H\u001b[7m\u001b[34mo\u001b[m\u001b[30;103H14,26\u001b[9CTop\u001b[30;103H\u001b[K\u001b[30;6H\u001b[?25h"]
[0.20897, "o", "_\u001b[?25l"]
[0.011859, "o", "\u001b[1;1H   \u001b[34m #    pg_vip_enabled: true\u001b[m\r\n   \u001b[34m #    pg_vip_address: 10.10.10.3/24\u001b[m\u001b[2;39H\u001b[K\u001b[3;1H   \u001b[34m #    pg_vip_interface: eth1\u001b[m\r\n   \u001b[34m #    node_crontab:  # make a full backup on monday 1am, and an incremental backup during weekdays\u001b[m\r\n   \u001b[34m #      - '00 01 * * 1 postgres /pg/bin/pg-backup full'\u001b[m\r\n   \u001b[34m #      - '00 01 * * 2,3,4,5,6,7 postgres /pg/bin/pg-backup'\u001b[m\u001b[7;1H\u001b[K\u001b[8;1H   \u001b[34m #----------------------------------------------#\u001b[m\u001b[8;53H\u001b[K\u001b[9;1H   \u001b[34m # INFRA : https://doc.pgsty.com/infra\u001b[m\u001b[9;42H\u001b[K\u001b[10;1H   \u001b[34m #----------------------------------------------#\u001b[m\u001b[10;53H\u001b[K\u001b[11;5H\u001b[36minfra\u001b[m\u001b[35m:\u001b[m\r\n      \u001b[36mhosts\u001b[m\u001b[35m:\u001b[m\u001b[12;13H\u001b[K\u001b[13;1H        \u001b[36m10.10.10.10\u001b[m\u001b[35m:\u001b[m \u001b[35m{\u001b[m \u001b[36minfra_seq\u001b[m\u001b[35m:\u001b[m \u001b[31m1\u001b[m \u001b[35m}\u001b[m\u001b[13;38H\u001b[K\u001b[14;1H      \u001b[36mvars\u001b[m\u001b[35m:\u001b[m\u001b[14;12H\u001b[K\u001b[15;1H        \u001b[7m\u001b[36mrepo_\u001b[m\u001b[36menabled\u001b[m\u001b[35m:\u001b[m \u001b[31mtrue\u001b[m   \u001b[34m # build local repo, and install everything from it:  https://doc.pgsty.com/admin/repo\u001b[m\r\n    "]
[0.000022, "o", "   \u001b[34m # and download all extensions into local repo\u001b[m\r\n        \u001b[36mrepo_extra_packages\u001b[m\u001b[35m:\u001b[m \u001b[35m[\u001b[m pg18-main ,pg18-time ,pg18-gis ,pg18-rag ,pg18-fts ,pg18-olap ,pg18-feat ,pg18-lang ,pg188\u001b[18;1H-type ,pg18-util ,pg18-func ,pg18-admin ,pg18-stat ,pg18-sec ,pg18-fdw ,pg18-sim ,pg18-etl\u001b[35m]\u001b[m\u001b[19;1H\u001b[K\u001b[20;1H   \u001b[34m #----------------------------------------------#\u001b[m\r\n   \u001b[1C\u001b[34m# ETCD : https://doc.pgsty.com/etcd\u001b[m\u001b[21;40H\u001b[K\u001b[22;1H   \u001b[1C\u001b[34m#----------------------------------------------#\u001b[m\r\n    \u001b[36metcd\u001b[m\u001b[35m:\u001b[m\u001b[23;10H\u001b[K\u001b[24;7H\u001b[36mhosts\u001b[m\u001b[35m:\u001b[m\r\n        \u001b[36m10.10.10.10\u001b[m\u001b[35m:\u001b[m \u001b[35m{\u001b[m \u001b[36metcd_seq\u001b[m\u001b[35m:\u001b[m \u001b[31m1\u001b[m \u001b[35m}\u001b[m\u001b[26;7H\u001b[36mvars\u001b[m\u001b[35m:\u001b[m\r\n        \u001b[36metcd_cluster\u001b[m\u001b[35m:\u001b[m etcd\u001b[27;27H\u001b[K\u001b[28;2H       \u001b[36metcd_safeguard\u001b[m\u001b[35m:\u001b[m \u001b[31mfalse\u001b[m   \u001b[9C\u001b[34m # prevent purging running etcd instance?\u001b[m\u001b[29;2H\u001b[K\u001b[30;103H168,9\u001b[9C47%\u001b[30;103H\u001b[K\u001b[30;7H\u001b[?25h"]
[0.141934, "o", "e\u001b[?25l"]
[0.011825, "o", "\u001b[15;14H\u001b[7m\u001b[36me\u001b[m\u001b[30;103H168,9\u001b[9C47%\u001b[30;103H\u001b[K\u001b[30;8H\u001b[?25h"]
[0.055033, "o", "n\u001b[?25l"]
[0.011982, "o", "\u001b[15;15H\u001b[7m\u001b[36mn\u001b[m\u001b[30;103H168,9\u001b[9C47%\u001b[30;103H\u001b[K\u001b[30;9H\u001b[?25h"]
[0.095003, "o", "a\u001b[?25l"]
[0.017541, "o", "\u001b[15;16H\u001b[7m\u001b[36ma\u001b[m\u001b[30;103H168,9\u001b[9C47%\u001b[30;103H\u001b[K\u001b[30;10H\u001b[?25h"]
[0.258562, "o", "\r\u001b[?25l"]
[0.012869, "o", "\u001b[15;9H\u001b[36mrepo_ena\u001b[m\u001b[30;103H168,9\u001b[9C47%\u001b[15;9H\u001b[?25h"]
[0.578574, "o", "\u001b[?25l\u001b[30;93Hl\u001b[15;9H\u001b[30;93H \u001b[15;10H\u001b[30;107H10\u001b[15;10H\u001b[?25h"]
[0.157378, "o", "\u001b[?25l\u001b[30;93Hl\u001b[15;10H"]
[0.000316, "o", "\u001b[30;93H \u001b[15;11H\u001b[30;108H1\u001b[15;11H\u001b[?25h"]
[0.299713, "o", "\u001b[?25l\u001b[30;93Hh\u001b[15;11H"]
[0.000028, "o", "\u001b[30;93H \u001b[15;10H\u001b[30;108H0\u001b[15;10H\u001b[?25h"]
[0.150867, "o", "\u001b[?25l\u001b[30;93Hh\u001b[15;10H"]
[0.000076, "o", "\u001b[30;93H \u001b[15;9H\u001b[30;107H9 \u001b[15;9H\u001b[?25h"]
[0.180556, "o", "\u001b[?25l\u001b[30;93Hl\u001b[15;9H\u001b[30;93H \u001b[15;10H\u001b[30;107H10\u001b[15;10H\u001b[?25h"]
[0.220831, "o", "\u001b[?25l\u001b[30;93Hl\u001b[15;10H"]
[0.000095, "o", "\u001b[30;93H \u001b[15;11H\u001b[30;108H1\u001b[15;11H\u001b[?25h"]
[0.039967, "o", "\u001b[?25l\u001b[30;93Hl\u001b[15;11H\u001b[30;93H \u001b[15;12H\u001b[30;108H2\u001b[15;12H\u001b[?25h"]
[0.046356, "o", "\u001b[?25l\u001b[30;93Hl\u001b[15;12H\u001b[30;93H \u001b[15;13H\u001b[30;108H3\u001b[15;13H\u001b[?25h"]
[0.01922, "o", "\u001b[?25l\u001b[30;93Hl\u001b[15;13H\u001b[30;93H \u001b[15;14H\u001b[30;108H4\u001b[15;14H\u001b[?25h"]
[0.044481, "o", "\u001b[?25l\u001b[30;93Hl\u001b[15;14H"]
[0.000041, "o", "\u001b[30;93H \u001b[15;15H\u001b[30;108H5\u001b[15;15H\u001b[?25h"]
[0.022942, "o", "\u001b[?25l\u001b[30;93Hl\u001b[15;15H\u001b[30;93H \u001b[15;16H\u001b[30;108H6\u001b[15;16H\u001b[?25h"]
[0.043032, "o", "\u001b[?25l\u001b[30;93Hl\u001b[15;16H\u001b[30;93H \u001b[15;17H\u001b[30;108H7\u001b[15;17H\u001b[?25h"]
[0.01763, "o", "\u001b[?25l\u001b[30;93Hl\u001b[15;17H\u001b[30;93H \u001b[15;18H\u001b[30;108H8\u001b[15;18H\u001b[?25h"]
[0.046983, "o", "\u001b[?25l\u001b[30;93Hl\u001b[15;18H\u001b[30;93H \u001b[15;19H\u001b[30;108H9\u001b[15;19H\u001b[?25h"]
[0.020841, "o", "\u001b[?25l\u001b[30;93Hl\u001b[15;19H"]
[0.000033, "o", "\u001b[30;93H \u001b[15;20H\u001b[30;107H20\u001b[15;20H\u001b[?25h"]
[0.042702, "o", "\u001b[?25l\u001b[30;93Hl\u001b[15;20H"]
[0.000101, "o", "\u001b[30;93H \u001b[15;21H\u001b[30;108H1\u001b[15;21H\u001b[?25h"]
[0.040952, "o", "\u001b[?25l\u001b[30;93Hl\u001b[15;21H\u001b[30;93H \u001b[15;22H\u001b[30;108H2\u001b[15;22H\u001b[?25h"]
[0.020092, "o", "\u001b[?25l\u001b[30;93Hl\u001b[15;22H"]
[0.000176, "o", "\u001b[30;93H \u001b[15;23H\u001b[30;108H3\u001b[15;23H\u001b[?25h"]
[0.04465, "o", "\u001b[?25l\u001b[30;93Hl\u001b[15;23H\u001b[30;93H \u001b[15;24H\u001b[30;108H4\u001b[15;24H\u001b[?25h"]
[0.017592, "o", "\u001b[?25l\u001b[30;93Hl\u001b[15;24H\u001b[30;93H \u001b[15;25H\u001b[30;108H5\u001b[15;25H\u001b[?25h"]
[0.043205, "o", "\u001b[?25l\u001b[30;93Hl\u001b[15;25H\u001b[30;93H \u001b[15;26H\u001b[30;108H6\u001b[15;26H\u001b[?25h"]
[0.560829, "o", "\u001b[?25l\u001b[30;93Hj\u001b[15;26H\u001b[30;93H \u001b[16;26H\u001b[30;105H9\u001b[16;26H\u001b[?25h"]
[0.276584, "o", "\u001b[?25l\u001b[30;93Hh\u001b[16;26H\u001b[30;93H \u001b[16;25H\u001b[30;108H5\u001b[16;25H\u001b[?25h"]
[0.222534, "o", "\u001b[?25l\u001b[30;93Hh\u001b[16;25H\u001b[30;93H \u001b[16;24H\u001b[30;108H4\u001b[16;24H\u001b[?25h"]
[0.043226, "o", "\u001b[?25l\u001b[30;93Hh\u001b[16;24H"]
[0.000058, "o", "\u001b[30;93H \u001b[16;23H\u001b[30;108H3\u001b[16;23H\u001b[?25h"]
[0.044543, "o", "\u001b[?25l\u001b[30;93Hh\u001b[16;23H"]
[0.000061, "o", "\u001b[30;93H \u001b[16;22H\u001b[30;108H2\u001b[16;22H\u001b[?25h"]
[0.020788, "o", "\u001b[?25l\u001b[30;93Hh\u001b[16;22H"]
[0.000083, "o", "\u001b[30;93H \u001b[16;21H\u001b[30;108H1\u001b[16;21H\u001b[?25h"]
[0.044201, "o", "\u001b[?25l\u001b[30;93Hh\u001b[16;21H\u001b[30;93H \u001b[16;20H\u001b[30;108H0\u001b[16;20H\u001b[?25h"]
[0.018915, "o", "\u001b[?25l\u001b[30;93Hh\u001b[16;20H\u001b[30;93H \u001b[16;19H\u001b[30;107H19\u001b[16;19H\u001b[?25h"]
[0.042459, "o", "\u001b[?25l\u001b[30;93Hh\u001b[16;19H"]
[0.000561, "o", "\u001b[30;93H \u001b[16;18H\u001b[30;108H8\u001b[16;18H\u001b[?25h"]
[0.044933, "o", "\u001b[?25l\u001b[30;93Hh\u001b[16;18H\u001b[30;93H \u001b[16;17H\u001b[30;108H7\u001b[16;17H\u001b[?25h"]
[0.018602, "o", "\u001b[?25l\u001b[30;93Hh\u001b[16;17H"]
[0.000033, "o", "\u001b[30;93H \u001b[16;16H\u001b[30;108H6\u001b[16;16H\u001b[?25h"]
[0.084085, "o", "\u001b[?25l\u001b[30;93Hj\u001b[16;16H"]
[0.000038, "o", "\u001b[30;93H \u001b[17;16H\u001b[30;104H70\u001b[17;16H\u001b[?25h"]
[0.192811, "o", "\u001b[?25l\u001b[30;93Hl\u001b[17;16H"]
[0.000086, "o", "\u001b[30;93H \u001b[17;17H\u001b[30;108H7\u001b[17;17H\u001b[?25h"]
[0.224274, "o", "\u001b[?25l\u001b[30;93Hl\u001b[17;17H"]
[0.000163, "o", "\u001b[30;93H \u001b[17;18H\u001b[30;108H8\u001b[17;18H\u001b[?25h"]
[0.041834, "o", "\u001b[?25l\u001b[30;93Hl\u001b[17;18H"]
[0.000215, "o", "\u001b[30;93H \u001b[17;19H\u001b[30;108H9\u001b[17;19H\u001b[?25h"]
[0.043278, "o", "\u001b[?25l\u001b[30;93Hl\u001b[17;19H"]
[0.000131, "o", "\u001b[30;93H \u001b[17;20H\u001b[30;107H20\u001b[17;20H\u001b[?25h"]
[0.018838, "o", "\u001b[?25l\u001b[30;93Hl\u001b[17;20H\u001b[30;93H \u001b[17;21H\u001b[30;108H1\u001b[17;21H\u001b[?25h"]
[0.043376, "o", "\u001b[?25l\u001b[30;93Hl\u001b[17;21H\u001b[30;93H \u001b[17;22H\u001b[30;108H2\u001b[17;22H\u001b[?25h"]
[0.045729, "o", "\u001b[?25l\u001b[30;93Hl\u001b[17;22H"]
[0.000221, "o", "\u001b[30;93H \u001b[17;23H\u001b[30;108H3\u001b[17;23H\u001b[?25h"]
[0.020566, "o", "\u001b[?25l\u001b[30;93Hl\u001b[17;23H\u001b[30;93H \u001b[17;24H\u001b[30;108H4\u001b[17;24H\u001b[?25h"]
[0.046113, "o", "\u001b[?25l\u001b[30;93Hl\u001b[17;24H"]
[0.000132, "o", "\u001b[30;93H \u001b[17;25H\u001b[30;108H5\u001b[17;25H\u001b[?25h"]
[0.022092, "o", "\u001b[?25l\u001b[30;93Hl\u001b[17;25H\u001b[30;93H \u001b[17;26H\u001b[30;108H6\u001b[17;26H\u001b[?25h"]
[0.110021, "o", "\u001b[?25l\u001b[30;93H^[\u001b[17;26H"]
[0.100127, "o", "\u001b[30;93H  \u001b[17;26H\u001b[30;93H^[\u001b[17;26H\u0007\u001b[30;93H  \u001b[17;26H\u001b[?25h"]
[0.286403, "o", "\u001b[?25l\u001b[30;93Hk\u001b[17;26H"]
[0.000112, "o", "\u001b[30;93H \u001b[16;26H\u001b[30;104H69\u001b[16;26H\u001b[?25h"]
[0.111979, "o", "\u001b[?25l\u001b[30;93Hk\u001b[16;26H"]
[0.00014, "o", "\u001b[30;93H \u001b[15;26H\u001b[30;105H8\u001b[15;26H\u001b[?25h"]
[0.212001, "o", "\u001b[?25l\u001b[30;93Hh\u001b[15;26H"]
[0.000019, "o", "\u001b[30;93H \u001b[15;25H\u001b[30;108H5\u001b[15;25H\u001b[?25h"]
[0.250789, "o", "\u001b[?25l\u001b[30;93Hh\u001b[15;25H"]
[0.000178, "o", "\u001b[30;93H \u001b[15;24H\u001b[30;108H4\u001b[15;24H\u001b[?25h"]
[0.021756, "o", "\u001b[?25l\u001b[30;93Hh\u001b[15;24H\u001b[30;93H \u001b[15;23H\u001b[30;108H3\u001b[15;23H\u001b[?25h"]
[0.046291, "o", "\u001b[?25l\u001b[30;93Hh\u001b[15;23H\u001b[30;93H \u001b[15;22H\u001b[30;108H2\u001b[15;22H\u001b[?25h"]
[0.015394, "o", "\u001b[?25l\u001b[30;93Hh\u001b[15;22H"]
[0.000137, "o", "\u001b[30;93H \u001b[15;21H\u001b[30;108H1\u001b[15;21H\u001b[?25h"]
[0.041611, "o", "\u001b[?25l\u001b[30;93Hh\u001b[15;21H\u001b[30;93H \u001b[15;20H\u001b[30;108H0\u001b[15;20H\u001b[?25h"]
[0.043049, "o", "\u001b[?25l\u001b[30;93Hh\u001b[15;20H"]
[0.000116, "o", "\u001b[30;93H \u001b[15;19H\u001b[30;107H19\u001b[15;19H\u001b[?25h"]
[0.019645, "o", "\u001b[?25l\u001b[30;93Hh\u001b[15;19H\u001b[30;93H \u001b[15;18H\u001b[30;108H8\u001b[15;18H\u001b[?25h"]
[0.049598, "o", "\u001b[?25l\u001b[30;93Hh\u001b[15;18H\u001b[30;93H \u001b[15;17H\u001b[30;108H7\u001b[15;17H\u001b[?25h"]
[0.019153, "o", "\u001b[?25l\u001b[30;93Hh\u001b[15;17H\u001b[30;93H \u001b[15;16H\u001b[30;108H6\u001b[15;16H\u001b[?25h"]
[0.043058, "o", "\u001b[?25l\u001b[30;93Hh\u001b[15;16H\u001b[30;93H \u001b[15;15H\u001b[30;108H5\u001b[15;15H\u001b[?25h"]
[0.021367, "o", "\u001b[?25l\u001b[30;93Hh\u001b[15;15H"]
[0.000071, "o", "\u001b[30;93H \u001b[15;14H\u001b[30;108H4\u001b[15;14H\u001b[?25h"]
[0.137436, "o", "\u001b[?25l\u001b[30;93H:\u001b[15;14H\u001b[30;1H\u001b[K\u001b[30;1H:\u001b[?25h"]
[0.244496, "o", "q"]
[0.11205, "o", "\r"]
[0.00044, "o", "\u001b[?25l\u001b[?1006;1000l\u001b[?1002l\u001b[?2004l\u001b[>4;m\u001b[23;2t\u001b[23;1t\u001b[30;1H\u001b[K\u001b[30;1H\u001b[?1004l\u001b[?2004l\u001b[?1l\u001b>\u001b[?1049l\u001b[23;0;0t\u001b[?25h\u001b[>4;m"]
[0.001166, "o", "\u001b[?2004hroot@pg-meta:~/pigsty# "]
[0.375683, "o", "."]
[0.072184, "o", "/"]
[0.134311, "o", "d"]
[0.163479, "o", "e"]
[0.138108, "o", "ploy.yml "]
[0.421778, "o", "\r\n\u001b[?2004l\r"]
[0.657236, "o", "\r\nPLAY [IDENTITY] ********************************************************************************************************\r\n"]
[0.010445, "o", "\r\nTASK [node_id : get node fact] *****************************************************************************************\r\n"]
[0.488814, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.00432, "o", "\r\nTASK [node_id : set node fact] *****************************************************************************************\r\n"]
[0.039081, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[0.003815, "o", "\r\nTASK [node_id : fill empty nodename with hostname] *********************************************************************\r\n"]
[0.034749, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.00417, "o", "\r\nTASK [node_id : build node identity] ***********************************************************************************\r\n"]
[0.050176, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[0.003166, "o", "\r\nTASK [node_id : load roles/node_id/vars/d12.aarch64.yml] ***************************************************************\r\n"]
[0.041488, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[0.007173, "o", "\r\nTASK [node_id : fallback to d12.aarch64.yml if d12.aarch64.yml not exists] *********************************************\r\n"]
[0.029041, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.002688, "o", "\r\nTASK [node_id : print node identity] ***********************************************************************************\r\n"]
[0.039184, "o", "\u001b[0;32mok: [10.10.10.10] => {\u001b[0m\r\n\u001b[0;32m    \"msg\": \"nodename: pg-meta-1, node_cluster: pg-meta, spec: c2m4, os: debian.12.aarch64 d12:deb, [ADMIN] [INFRA] [PGSQL: pg-meta] [REDIS: redis-ms] [ETCD: etcd] [MINIO: minio]  \"\u001b[0m\r\n\u001b[0;32m}\u001b[0m\r\n"]
[0.005851, "o", "\r\nTASK [pg_id : get pgsql identity] **************************************************************************************\r\n"]
[0.096902, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[0.003179, "o", "\r\nTASK [pg_id : build pgsql identity] ************************************************************************************\r\n"]
[0.070169, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[0.004106, "o", "\r\nTASK [pg_id : print pgsql identity] ************************************************************************************\r\n"]
[0.051378, "o", "\u001b[0;32mok: [10.10.10.10] => {\u001b[0m\r\n\u001b[0;32m    \"msg\": \"  [primary] pg-meta-1 @ 10.10.10.10 , ins = pg-meta-1 , cls = pg-meta ,  CLUSTER LEADER @ pg-meta-1    , postgres://10.10.10.10:5432/postgres\"\u001b[0m\r\n\u001b[0;32m}\u001b[0m\r\n"]
[0.01669, "o", "\r\nPLAY [CA] **************************************************************************************************************\r\n"]
[0.012821, "o", "\r\nTASK [ca : create ca directory on local files/pki/ca] ******************************************************************\r\n"]
[0.273211, "o", "\u001b[0;32mok: [localhost] => (item={'path': 'files/pki', 'mode': '0755'})\u001b[0m\r\n"]
[0.129972, "o", "\u001b[0;33mchanged: [localhost] => (item={'path': 'files/pki/ca', 'mode': '0700'})\u001b[0m\r\n"]
[0.132255, "o", "\u001b[0;32mok: [localhost] => (item={'path': 'files/pki/csr', 'mode': '0755'})\u001b[0m\r\n"]
[0.130231, "o", "\u001b[0;32mok: [localhost] => (item={'path': 'files/pki/misc', 'mode': '0755'})\u001b[0m\r\n"]
[0.13426, "o", "\u001b[0;32mok: [localhost] => (item={'path': 'files/pki/etcd', 'mode': '0755'})\u001b[0m\r\n"]
[0.134214, "o", "\u001b[0;32mok: [localhost] => (item={'path': 'files/pki/nginx', 'mode': '0755'})\u001b[0m\r\n"]
[0.132434, "o", "\u001b[0;32mok: [localhost] => (item={'path': 'files/pki/infra', 'mode': '0755'})\u001b[0m\r\n"]
[0.130975, "o", "\u001b[0;32mok: [localhost] => (item={'path': 'files/pki/pgsql', 'mode': '0755'})\u001b[0m\r\n"]
[0.133472, "o", "\u001b[0;32mok: [localhost] => (item={'path': 'files/pki/minio', 'mode': '0755'})\u001b[0m"]
[0.000043, "o", "\r\n"]
[0.143039, "o", "\u001b[0;32mok: [localhost] => (item={'path': 'files/pki/mongo', 'mode': '0755'})\u001b[0m\r\n"]
[0.131871, "o", "\u001b[0;32mok: [localhost] => (item={'path': 'files/pki/mysql', 'mode': '0755'})\u001b[0m\r\n"]
[0.005502, "o", "\r\nTASK [ca : check files/pki/ca/ca.key exists] ***************************************************************************\r\n"]
[0.253996, "o", "\u001b[0;32mok: [localhost]\u001b[0m\r\n"]
[0.004791, "o", "\r\nTASK [ca : ABORT if ca key not exists] *********************************************************************************\r\n"]
[0.030703, "o", "\u001b[0;36mskipping: [localhost]\u001b[0m\r\n"]
[0.003234, "o", "\r\nTASK [ca : generate ca private key] ************************************************************************************\r\n"]
[2.938241, "o", "\u001b[0;33mchanged: [localhost]\u001b[0m\r\n"]
[0.003793, "o", "\r\nTASK [ca : check files/pki/ca/ca.crt exists] ***************************************************************************\r\n"]
[0.141631, "o", "\u001b[0;32mok: [localhost]\u001b[0m\r\n"]
[0.005541, "o", "\r\nTASK [ca : generate ca signing request] ********************************************************************************\r\n"]
[0.77731, "o", "\u001b[0;33mchanged: [localhost]\u001b[0m\r\n"]
[0.004223, "o", "\r\nTASK [ca : generate self-signed ca.crt] ********************************************************************************\r\n"]
[0.869947, "o", "\u001b[0;33mchanged: [localhost]\u001b[0m\r\n"]
[0.012146, "o", "\r\nPLAY [REPO] ************************************************************************************************************\r\n"]
[0.012797, "o", "\r\nTASK [repo : check local repo exists] **********************************************************************************\r\n"]
[0.200689, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[0.004017, "o", "\r\nTASK [repo : set repo_exists flag] *************************************************************************************\r\n"]
[0.020301, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[0.004501, "o", "\r\nTASK [repo : setup local repo if exists] *******************************************************************************\r\n"]
[1.193948, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.003658, "o", "\r\nTASK [repo : create repo directories] **********************************************************************************\r\n"]
[0.032188, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.004654, "o", "\r\nTASK [repo : remove existing repo before build] ************************************************************************\r\n"]
[0.031664, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.005838, "o", "\r\nTASK [repo : add upstream repo to infra nodes] *************************************************************************\r\n"]
[0.036932, "o", "\u001b[0;36mskipping: [10.10.10.10] => (item=infra) \u001b[0m\r\n"]
[0.002655, "o", "\u001b[0;36mskipping: [10.10.10.10] => (item=node) \u001b[0m\r\n"]
[0.004942, "o", "\u001b[0;36mskipping: [10.10.10.10] => (item=pgsql) \u001b[0m\r\n\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.003759, "o", "\r\nTASK [repo : download repo url packages] *******************************************************************************\r\n"]
[0.019592, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.002271, "o", "\r\nTASK [repo : remake repo cache] ****************************************************************************************\r\n"]
[0.032617, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.005583, "o", "\r\nTASK [repo : install repo boot packages] *******************************************************************************\r\n"]
[0.038963, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.002409, "o", "\r\nTASK [repo : calculate repo packages] **********************************************************************************\r\n"]
[0.031501, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.004634, "o", "\r\nTASK [repo : download repo packages] ***********************************************************************************\r\n"]
[0.037318, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.003245, "o", "\r\nTASK [repo : create local repo] ****************************************************************************************\r\n"]
[0.033574, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.003035, "o", "\r\nTASK [repo : use built local repo] *************************************************************************************\r\n"]
[0.033148, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.005119, "o", "\r\nTASK [repo : check nginx exists by port] *******************************************************************************\r\n"]
[0.208584, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.003841, "o", "\r\nTASK [repo : set nginx_exists flag] ************************************************************************************\r\n"]
[0.042142, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n\r\nTASK [repo : make sure nginx installed] ********************************************************************************\r\n"]
[0.94959, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n\r\nTASK [repo : nginx pre-launch adjustment] ******************************************************************************\r\n"]
[0.2017, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.009106, "o", "\r\nTASK [repo : render repo nginx files] **********************************************************************************\r\n"]
[0.539972, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'src': 'nginx.conf.j2', 'dest': '/etc/nginx/nginx.conf'})\u001b[0m\r\n"]
[0.37041, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'src': 'default.conf.j2', 'dest': '/etc/nginx/conf.d/default.conf'})\u001b[0m\r\n"]
[0.352438, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'src': 'index.html.j2', 'dest': '/www/index.html'})\u001b[0m\r\n"]
[0.004653, "o", "\r\nTASK [repo : launch repo nginx server] *********************************************************************************\r\n"]
[0.782449, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.007264, "o", "\r\nTASK [repo : wait repo nginx server online] ****************************************************************************\r\n"]
[0.313282, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[0.013287, "o", "\r\nPLAY [NODE INIT] *******************************************************************************************************\r\n"]
[0.029417, "o", "\r\nTASK [node : set hostname to nodename] *********************************************************************************\r\n"]
[0.027813, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.004189, "o", "\r\nTASK [node : wipe pigsty dns entries] **********************************************************************************\r\n"]
[0.293296, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[0.013862, "o", "\r\nTASK [node : write static etc hosts entry] *****************************************************************************\r\n"]
[0.196134, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=${admin_ip} i.pigsty)\u001b[0m\r\n"]
[0.143958, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=${admin_ip} i.pigsty sss.pigsty)\u001b[0m\r\n"]
[0.150268, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=${admin_ip} adm.pigsty ddl.pigsty repo.pigsty supa.pigsty)\u001b[0m\r\n"]
[0.017535, "o", "\r\nTASK [node : exchange nodename between nodes] **************************************************************************\r\n"]
[0.024101, "o", "\u001b[0;36mskipping: [10.10.10.10] => (item=['pg-meta-1', '10.10.10.10']) \u001b[0m\r\n"]
[0.001265, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.004464, "o", "\r\nTASK [node : get existing etc resolv] **********************************************************************************\r\n"]
[0.187829, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.001905, "o", "\r\nTASK [node : generate etc resolv conf] *********************************************************************************\r\n"]
[0.399983, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.003906, "o", "\r\nTASK [node : set node selinux mode] ************************************************************************************\r\n"]
[0.19298, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.004327, "o", "\r\nTASK [node : setup node firewall] **************************************************************************************\r\n"]
[0.191742, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.004021, "o", "\r\nTASK [node : create node pki dir] **************************************************************************************\r\n"]
[0.168995, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.006579, "o", "\r\nTASK [node : add ca.crt to node] ***************************************************************************************"]
[0.000727, "o", "\r\n"]
[0.373004, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.004683, "o", "\r\nTASK [node : trust ca.crt on node] *************************************************************************************\r\n"]
[0.974591, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.00464, "o", "\r\nTASK [node : remove and backup existing repo file] *********************************************************************\r\n"]
[0.192656, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.004417, "o", "\r\nTASK [node : add upstream repo file to nodes] **************************************************************************\r\n"]
[0.417008, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=local)\u001b[0m\r\n"]
[0.007134, "o", "\r\nTASK [node : make node local repo cache] *******************************************************************************\r\n"]
[0.26881, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.004337, "o", "\r\nTASK [node : supress deb auto start with policy-rc.d] ******************************************************************\r\n"]
[0.388437, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.004162, "o", "\r\nTASK [node : install default node packages] ****************************************************************************\r\n"]
[6.631576, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=lz4,unzip,bzip2,pv,jq,git,ncdu,make,patch,bash,lsof,wget,uuid,tuned,nvme-cli,numactl,sysstat,iotop,htop,rsync,tcpdump)\u001b[0m\r\n"]
[3.789528, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=python3,socat,lrzsz,net-tools,ipvsadm,telnet,ca-certificates,openssl,keepalived,etcd,haproxy,chrony,pig)\u001b[0m\r\n"]
[3.687533, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=zlib1g,acl,dnsutils,libreadline-dev,vim-tiny,node-exporter,openssh-server,openssh-client,vector)\u001b[0m\r\n"]
[0.004183, "o", "\r\nTASK [node : install node packages (latest)] ***************************************************************************\r\n"]
[0.612248, "o", "\u001b[0;32mok: [10.10.10.10] => (item=openssh-server)\u001b[0m\r\n"]
[0.00579, "o", "\r\nTASK [node : install keepalived if enabled] ****************************************************************************\r\n"]
[0.036384, "o", "\u001b[0;36mskipping: [10.10.10.10] => (item=keepalived) \u001b[0m\r\n"]
[0.000388, "o", "\u001b[0;36mskipping: [10.10.10.10] => (item=keepalived-exporter) \u001b[0m\r\n"]
[0.000873, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.0053, "o", "\r\nTASK [node : disable node numa] ****************************************************************************************\r\n"]
[0.018222, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.005563, "o", "\r\nTASK [node : disable node swap] ****************************************************************************************\r\n"]
[0.035486, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.001617, "o", "\r\nTASK [node : unmount node swap fs] *************************************************************************************\r\n"]
[0.038046, "o", "\u001b[0;36mskipping: [10.10.10.10] => (item=swap) \u001b[0m\r\n"]
[0.000509, "o", "\u001b[0;36mskipping: [10.10.10.10] => (item=none) \u001b[0m"]
[0.000189, "o", "\r\n"]
[0.006702, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n\r\nTASK [node : setup node static network] ********************************************************************************\r\n"]
[0.119202, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.0075, "o", "\r\nTASK [node : configure disk prefetch] **********************************************************************************\r\n"]
[0.031337, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.004875, "o", "\r\nTASK [node : enable kernel module] *************************************************************************************\r\n"]
[0.308572, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=softdog)\u001b[0m\r\n"]
[0.175995, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=ip_vs)\u001b[0m\r\n"]
[0.161143, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=ip_vs_rr)\u001b[0m\r\n"]
[0.162785, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=ip_vs_wrr)\u001b[0m\r\n"]
[0.160993, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=ip_vs_sh)\u001b[0m\r\n"]
[0.001906, "o", "\r\nTASK [node : enable kernel module on system boot] **********************************************************************\r\n"]
[0.37447, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=softdog)\u001b[0m\r\n"]
[0.349596, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=ip_vs)\u001b[0m\r\n"]
[0.344061, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=ip_vs_rr)\u001b[0m\r\n"]
[0.343835, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=ip_vs_wrr)\u001b[0m\r\n"]
[0.349895, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=ip_vs_sh)\u001b[0m\r\n"]
[0.004432, "o", "\r\nTASK [node : create tuned profile dir] *********************************************************************************\r\n"]
[0.18339, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=oltp)\u001b[0m\r\n"]
[0.155426, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=olap)\u001b[0m\r\n"]
[0.190345, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=crit)\u001b[0m\r\n"]
[0.156481, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=tiny)\u001b[0m\r\n"]
[0.001117, "o", "\r\nTASK [node : render tuned profiles] ************************************************************************************\r\n"]
[0.409443, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=oltp)\u001b[0m\r\n"]
[0.346554, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=olap)\u001b[0m\r\n"]
[0.359251, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=crit)\u001b[0m\r\n"]
[0.351723, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=tiny)\u001b[0m\r\n"]
[0.009788, "o", "\r\nTASK [node : render hugepage sysctl parameter] *************************************************************************\r\n"]
[0.377582, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.01075, "o", "\r\nTASK [node : activate tuned profile] ***********************************************************************************\r\n"]
[1.292951, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.012308, "o", "\r\nTASK [node : change sysctl parameter] **********************************************************************************\r\n"]
[0.009136, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.005678, "o", "\r\nTASK [node : write node etc profile] ***********************************************************************************\r\n"]
[0.370011, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.004501, "o", "\r\nTASK [node : write node aliases] ***************************************************************************************\r\n"]
[0.037407, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.004483, "o", "\r\nTASK [node : write node pip config] ************************************************************************************\r\n"]
[0.372045, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.007407, "o", "\r\nTASK [node : set pam ulimit] *******************************************************************************************\r\n"]
[0.36608, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.002329, "o", "\r\nTASK [node : assure node data dir exists] ******************************************************************************\r\n"]
[0.173617, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[0.00629, "o", "\r\nTASK [node : create os user group admin] *******************************************************************************\r\n"]
[0.304904, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.005927, "o", "\r\nTASK [node : create os user admin] *************************************************************************************\r\n"]
[0.68318, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.00108, "o", "\r\nTASK [node : grant current admin user admin group] *********************************************************************\r\n"]
[0.028372, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.004502, "o", "\r\nTASK [node : grant admin user sudo privilege] **************************************************************************\r\n"]
[0.379745, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.005386, "o", "\r\nTASK [node : touch admin user ssh config] ******************************************************************************\r\n"]
[0.374084, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.011555, "o", "\r\nTASK [node : set ssh config no host checking] **************************************************************************\r\n"]
[0.16446, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[0.004668, "o", "\r\nTASK [node : fetch admin public keys] **********************************************************************************\r\n"]
[0.192257, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.006279, "o", "\r\nTASK [node : exchange all admin ssh keys] ******************************************************************************\r\n"]
[0.375988, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=['ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDvGXpBTYEauqzoNdh/ZdgS4/fvZkNPfcdmPGbRFEtF7UBE9nhUrNkDKH4uUR0HxxfGV5iMH1o3NHZbhSaCP0DyVjMEClKbXBIGrdl8sKh/WwWU31gnVFVngFHJ9nfK1OWM2+W7r62S3pGNIjuPgdJxVXVynbQIhWtOyWzRrljsSW9ct8HZsYn4HIEEeNPtuSBxoYO0tLg4HMTKh0OYqOcOcfEeT/EcmSrZYx3TJ3KFnFy/Zb76kwXpK/w+jwYWm/ET/FRX+2nAZwHrY79TUZQJepG6B/RwFWE3ZHXBdQz9FMkZMBqfF6Sf3AWTjrKNIUXYWON9fEraAfhZYJ/rkYzPlqrcOT056ZlqRPHQO3bGH2PiwkfrmAbF5wZ6iRfenOpFoXxfUjbNFR1IqFY9qTrgFbshGZOyHIetXc/MzHW5BdO1W8ziKuNcH0BE3adO7V0cuVoE1h11lrfPXAP8XKlCGBq4E4XYu6QUKaMhA3ZtSeXa4O8tm+RAb0hyFM0Hy30= ansible-generated on pg-meta', '10.10.10.10'])\u001b[0m\r\n"]
[0.007041, "o", "\r\nTASK [node : add admin public keys] ************************************************************************************\r\n"]
[0.017984, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.004412, "o", "\r\nTASK [node : add current user public keys] *****************************************************************************\r\n"]
[0.252228, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=/root/.ssh/id_rsa.pub)\u001b[0m\r\n"]
[0.005109, "o", "\r\nTASK [node : setup node timezone] **************************************************************************************\r\n"]
[0.025232, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.009415, "o", "\r\nTASK [node : install chrony package] ***********************************************************************************\r\n"]
[0.594182, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[0.004569, "o", "\r\nTASK [node : generate etc chrony conf] *********************************************************************************\r\n"]
[0.395661, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.004146, "o", "\r\nTASK [node : launch ntpd service] **************************************************************************************\r\n"]
[0.383439, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.001996, "o", "\r\nTASK [node : append etc crontab] ***************************************************************************************\r\n"]
[0.037857, "o", "\u001b[0;36mskipping: [10.10.10.10] => (item=00 01 * * * postgres /pg/bin/pg-backup full) \u001b[0m\r\n"]
[0.001183, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.005191, "o", "\r\nTASK [node : overwrite etc crontab] ************************************************************************************\r\n"]
[0.405503, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.004497, "o", "\r\nTASK [node : check vip identity] ***************************************************************************************\r\n"]
[0.032505, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.004766, "o", "\r\nTASK [node : render node vip conf keepalived.conf] *********************************************************************\r\n"]
[0.032494, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.005432, "o", "\r\nTASK [node : launch keepalived service unit] ***************************************************************************\r\n"]
[0.035349, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.004856, "o", "\r\nTASK [node : reload keepalived service unit] ***************************************************************************\r\n"]
[0.034346, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.006172, "o", "\r\nTASK [haproxy : install haproxy] ***************************************************************************************\r\n"]
[0.601834, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[0.003942, "o", "\r\nTASK [haproxy : create haproxy config dir] *****************************************************************************\r\n"]
[0.182658, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.005223, "o", "\r\nTASK [haproxy : create haproxy environment file] ***********************************************************************\r\n"]
[0.184124, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.007184, "o", "\r\nTASK [haproxy : create haproxy systemd service] ************************************************************************\r\n"]
[0.403683, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.002071, "o", "\r\nTASK [haproxy : wipe haproxy config dir] *******************************************************************************\r\n"]
[0.032617, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.004265, "o", "\r\nTASK [haproxy : render haproxy default config] *************************************************************************\r\n"]
[0.400795, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.001156, "o", "\r\nTASK [haproxy : render haproxy service config] *************************************************************************\r\n"]
[0.023373, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n\r\nTASK [haproxy : setup selinux for haproxy] *****************************************************************************\r\n"]
[0.19326, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.006349, "o", "\r\nTASK [haproxy : launch haproxy systemd service] ************************************************************************\r\n"]
[0.672405, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.005269, "o", "\r\nTASK [haproxy : wait for haproxy service online] ***********************************************************************\r\n"]
[0.184207, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[0.003988, "o", "\r\nTASK [haproxy : check haproxy config before reload] ********************************************************************\r\n"]
[0.245647, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.004383, "o", "\r\nTASK [haproxy : reload haproxy] ****************************************************************************************\r\n"]
[0.686344, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.018047, "o", "\r\nPLAY [INFRA INIT] ******************************************************************************************************\r\n"]
[0.031315, "o", "\r\nTASK [infra : create infra users and groups] ***************************************************************************\r\n"]
[0.39401, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.00442, "o", "\r\nTASK [infra : create infra data directories] ***************************************************************************\r\n"]
[0.189158, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.002526, "o", "\r\nTASK [infra : create infra soft link] **********************************************************************************"]
[0.000704, "o", "\r\n"]
[0.185274, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.005037, "o", "\r\nTASK [infra : create infra data directories] ***************************************************************************\r\n"]
[0.199993, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'path': '/infra/pgadmin', 'owner': 5050, 'group': 5050, 'mode': '0700'})\u001b[0m\r\n"]
[0.147144, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'path': '/infra/alertmgr', 'owner': 'prometheus', 'mode': '0700'})\u001b[0m\r\n"]
[0.160818, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'path': '/infra/conf', 'owner': 'root'})\u001b[0m\r\n"]
[0.157774, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'path': '/infra/tmp', 'owner': 'root'})\u001b[0m\r\n"]
[0.153775, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'path': '/infra/datasources', 'owner': 'root'})\u001b[0m\r\n"]
[0.154116, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'path': '/infra/dashboards', 'owner': 'grafana'})\u001b[0m\r\n"]
[0.150548, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'path': '/infra/metrics', 'owner': 'victoria'})\u001b[0m\r\n"]
[0.156493, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'path': '/infra/logs', 'owner': 'victoria'})\u001b[0m\r\n"]
[0.154898, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'path': '/infra/traces', 'owner': 'victoria'})\u001b[0m\r\n"]
[0.149956, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'path': '/infra/rules', 'owner': 'victoria'})\u001b[0m\r\n"]
[0.156655, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'path': '/infra/bin', 'owner': 'victoria'})\u001b[0m\r\n"]
[0.15441, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'path': '/infra/targets/', 'owner': 'victoria'})\u001b[0m\r\n"]
[0.154221, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'path': '/infra/targets/node', 'owner': 'victoria'})\u001b[0m\r\n"]
[0.151263, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'path': '/infra/targets/ping', 'owner': 'victoria'})\u001b[0m\r\n"]
[0.156987, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'path': '/infra/targets/etcd', 'owner': 'victoria'})\u001b[0m\r\n"]
[0.148811, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'path': '/infra/targets/infra', 'owner': 'victoria'})\u001b[0m\r\n"]
[0.154912, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'path': '/infra/targets/pgsql', 'owner': 'victoria'})\u001b[0m\r\n"]
[0.161253, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'path': '/infra/targets/pgrds', 'owner': 'victoria'})\u001b[0m\r\n"]
[0.154959, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'path': '/infra/targets/redis', 'owner': 'victoria'})\u001b[0m\r\n"]
[0.154965, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'path': '/infra/targets/minio', 'owner': 'victoria'})\u001b[0m\r\n"]
[0.152195, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'path': '/infra/targets/mongo', 'owner': 'victoria'})\u001b[0m\r\n"]
[0.157464, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'path': '/infra/targets/mysql', 'owner': 'victoria'})\u001b[0m\r\n"]
[0.152697, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'path': '/infra/targets/kafka', 'owner': 'victoria'})\u001b[0m\r\n"]
[0.147822, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'path': '/infra/targets/docker', 'owner': 'victoria'})\u001b[0m\r\n"]
[0.150615, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'path': '/infra/targets/patroni', 'owner': 'victoria'})\u001b[0m\r\n"]
[0.01269, "o", "\r\nTASK [infra : write admin patronictl conf] *****************************************************************************\r\n"]
[0.391403, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.007457, "o", "\r\nTASK [infra : write postgres user credential to pgpass] ****************************************************************\r\n"]
[0.164067, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=None)\u001b[0m\r\n"]
[0.140858, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=None)\u001b[0m\r\n"]
[0.138387, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=None)\u001b[0m\r\n"]
[0.000567, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.004596, "o", "\r\nTASK [infra : write pg_service conf] ***********************************************************************************\r\n"]
[0.397819, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.00583, "o", "\r\nTASK [infra : write pg list servers.json] ******************************************************************************\r\n"]
[0.408039, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.003134, "o", "\r\nTASK [infra : write pgadmin pgpass file] *******************************************************************************\r\n"]
[0.364402, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.00692, "o", "\r\nTASK [infra : write etcd environment profile] **************************************************************************\r\n"]
[0.384591, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.004986, "o", "\r\nTASK [infra : write pglog environment profile] *************************************************************************\r\n"]
[0.372124, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.005923, "o", "\r\nTASK [infra : write environment file] **********************************************************************************\r\n"]
[0.375048, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.005481, "o", "\r\nTASK [infra : load environment vars] ***********************************************************************************"]
[0.00074, "o", "\r\n"]
[0.153513, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.004534, "o", "\r\nTASK [infra : install infra node packages] *****************************************************************************\r\n"]
[12.708936, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=grafana,grafana-plugins,grafana-victorialogs-ds,grafana-victoriametrics-ds,victoria-metrics,victoria-logs,victoria-traces,vmutils,vlogscli,alertmanager,uv)\u001b[0m\r\n"]
[5.434884, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=node-exporter,blackbox-exporter,nginx-exporter,pg-exporter,pev2,nginx,dnsmasq,ansible,etcd,python3-requests,redis,mcli,restic,certbot,python3-certbot-nginx)\u001b[0m\r\n"]
[0.011544, "o", "\r\nTASK [infra : create uv config directory] ******************************************************************************\r\n"]
[0.182045, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[0.001525, "o", "\r\nTASK [infra : render uv config for china region] ***********************************************************************\r\n"]
[0.440681, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.01893, "o", "\r\nTASK [infra : generate private key for infra nodes] ********************************************************************\r\n"]
[1.555972, "o", "\u001b[0;33mchanged: [10.10.10.10 -> localhost]\u001b[0m\r\n"]
[0.00602, "o", "\r\nTASK [infra : generate signing request for infra nodes] ****************************************************************\r\n"]
[0.618369, "o", "\u001b[0;33mchanged: [10.10.10.10 -> localhost]\u001b[0m\r\n"]
[0.018468, "o", "\r\nTASK [infra : signing infra node cert] *********************************************************************************\r\n"]
[0.676857, "o", "\u001b[0;33mchanged: [10.10.10.10 -> localhost]\u001b[0m\r\n"]
[0.003864, "o", "\r\nTASK [infra : copy infra certs] ****************************************************************************************\r\n"]
[0.386156, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'src': 'files/pki/infra/infra-1.crt', 'dest': '/etc/pki/infra.crt', 'mode': '0644'})\u001b[0m\r\n"]
[0.347088, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'src': 'files/pki/infra/infra-1.key', 'dest': '/etc/pki/infra.key', 'mode': '0640'})\u001b[0m\r\n"]
[0.006187, "o", "\r\nTASK [infra : create dns records dir] **********************************************************************************\r\n"]
[0.180409, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.004852, "o", "\r\nTASK [infra : copy dnsmasq systemd service] ****************************************************************************\r\n"]
[0.417646, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'src': 'dnsmasq.svc', 'dest': '/lib/systemd/system/dnsmasq.service'})\u001b[0m\r\n"]
[0.416766, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'src': 'dnsmasq.conf', 'dest': '/etc/dnsmasq.conf'})\u001b[0m\r\n"]
[0.004865, "o", "\r\nTASK [infra : render default dns records] ******************************************************************************\r\n"]
[0.390305, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.00529, "o", "\r\nTASK [infra : activate default dns records] ****************************************************************************\r\n"]
[0.182327, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.012981, "o", "\r\nTASK [infra : setup selinux for dnsmasq] *******************************************************************************\r\n"]
[0.177629, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.004751, "o", "\r\nTASK [infra : launch dnsmasq systemd service] **************************************************************************\r\n"]
[0.52287, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.011639, "o", "\r\nTASK [infra : wait for dnsmasq service online] *************************************************************************\r\n"]
[0.188887, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[0.000817, "o", "\r\nTASK [infra : create nginx dir] ****************************************************************************************\r\n"]
[0.193072, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'path': '/www', 'owner': 'nginx'})\u001b[0m\r\n"]
[0.15406, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'path': '/www/acme', 'owner': 'nginx'})\u001b[0m\r\n"]
[0.154495, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'path': '/www/pigsty', 'owner': 'nginx'})\u001b[0m\r\n"]
[0.005276, "o", "\r\nTASK [infra : clean nginx config dir] **********************************************************************************\r\n"]
[0.034457, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.004895, "o", "\r\nTASK [infra : create nginx config dir] *********************************************************************************\r\n"]
[0.208378, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'path': '/etc/nginx/conf.d'})\u001b[0m\r\n"]
[0.146399, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'path': '/etc/nginx/conf.d/cert'})\u001b[0m\r\n"]
[0.162631, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'path': '/etc/nginx/conf.d/haproxy'})\u001b[0m\r\n"]
[0.152099, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'path': '/etc/nginx/conf.d/default.conf', 'state': 'absent'})\u001b[0m\r\n"]
[0.007678, "o", "\r\nTASK [infra : render nginx config] *************************************************************************************\r\n"]
[0.391008, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'src': 'nginx.conf.j2', 'dest': '/etc/nginx/nginx.conf', 'mode': '0644'})\u001b[0m\r\n"]
[0.377572, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'src': 'link-cert.j2', 'dest': '/etc/nginx/link-cert', 'mode': '0750'})\u001b[0m\r\n"]
[0.363078, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'src': 'sign-cert.j2', 'dest': '/etc/nginx/sign-cert', 'mode': '0750'})\u001b[0m\r\n"]
[0.357698, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'src': 'htpasswd.j2', 'dest': '/etc/nginx/.htpasswd', 'mode': '0640'})\u001b[0m\r\n"]
[0.009442, "o", "\r\nTASK [infra : render nginx server conf] ********************************************************************************\r\n"]
[0.417798, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'key': 'home', 'value': {'domain': 'i.pigsty'}})\u001b[0m\r\n"]
[0.370443, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'key': 'pgadmin', 'value': {'domain': 'adm.pigsty', 'endpoint': '${admin_ip}:8885'}})\u001b[0m\r\n"]
[0.373867, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'key': 'bytebase', 'value': {'domain': 'ddl.pigsty', 'endpoint': '${admin_ip}:8887'}})\u001b[0m\r\n"]
[0.372814, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'key': 'minio', 'value': {'domain': 'm.pigsty', 'endpoint': '${admin_ip}:9001', 'scheme': 'https', 'websocket': True}})\u001b[0m\r\n"]
[0.007792, "o", "\r\nTASK [infra : nginx pre-launch adjustment] *****************************************************************************\r\n"]
[0.206228, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.00376, "o", "\r\nTASK [infra : check files/pki/nginx/pigsty.key exists] *****************************************************************\r\n"]
[0.161073, "o", "\u001b[0;32mok: [10.10.10.10 -> localhost]\u001b[0m\r\n"]
[0.006981, "o", "\r\nTASK [infra : check files/pki/nginx/pigsty.crt exists] *****************************************************************\r\n"]
[0.165863, "o", "\u001b[0;32mok: [10.10.10.10 -> localhost]\u001b[0m\r\n"]
[0.00744, "o", "\r\nTASK [infra : set nginx_cert_exists] ***********************************************************************************\r\n"]
[0.035249, "o", "\u001b[0;32mok: [10.10.10.10 -> localhost]\u001b[0m\r\n"]
[0.008092, "o", "\r\nTASK [infra : generate private key for nginx server] *******************************************************************\r\n"]
[2.267853, "o", "\u001b[0;33mchanged: [10.10.10.10 -> localhost]\u001b[0m\r\n"]
[0.005024, "o", "\r\nTASK [infra : generate signing request for nginx] **********************************************************************\r\n"]
[0.638647, "o", "\u001b[0;33mchanged: [10.10.10.10 -> localhost]\u001b[0m\r\n"]
[0.006013, "o", "\r\nTASK [infra : signing nginx cert] **************************************************************************************\r\n"]
[0.689722, "o", "\u001b[0;33mchanged: [10.10.10.10 -> localhost]\u001b[0m\r\n"]
[0.003949, "o", "\r\nTASK [infra : copy nginx ssl certs] ************************************************************************************\r\n"]
[0.396911, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'name': 'pigsty.crt', 'mode': '0644'})\u001b[0m\r\n"]
[0.343483, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'name': 'pigsty.key', 'mode': '0640'})\u001b[0m\r\n"]
[0.008381, "o", "\r\nTASK [infra : link nginx certs] ****************************************************************************************\r\n"]
[0.20092, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.003146, "o", "\r\nTASK [infra : create nginx content dir] ********************************************************************************\r\n"]
[0.198631, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'path': '/www/logs', 'owner': 'nginx'})\u001b[0m\r\n"]
[0.157771, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'path': '/www/repos', 'owner': 'nginx'})\u001b[0m\r\n"]
[0.156935, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'path': '/www/schema', 'owner': 'nginx'})\u001b[0m\r\n"]
[0.153626, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'path': '/www/report', 'owner': 'nginx'})\u001b[0m"]
[0.000603, "o", "\r\n"]
[0.005424, "o", "\r\nTASK [infra : copy pigsty ca cert] *************************************************************************************\r\n"]
[0.394685, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n\r\nTASK [infra : render nginx home page] **********************************************************************************\r\n"]
[0.44308, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'src': 'nginx/index.html.j2', 'dest': '/www/index.html'})\u001b[0m\r\n"]
[0.380919, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'src': 'nginx/index.zh.html.j2', 'dest': '/www/zh.html'})\u001b[0m\r\n"]
[0.347415, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'src': 'nginx/404.html.j2', 'dest': '/www/404.html'})\u001b[0m\r\n"]
[0.004602, "o", "\r\nTASK [infra : copy pev html to nginx home] *****************************************************************************\r\n"]
[0.199626, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.004837, "o", "\r\nTASK [infra : restart nginx service] ***********************************************************************************\r\n"]
[0.598557, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.001805, "o", "\r\nTASK [infra : wait for nginx service] **********************************************************************************\r\n"]
[0.183707, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[0.005455, "o", "\r\nTASK [infra : sign nginx certs with certbot] ***************************************************************************\r\n"]
[0.041144, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.004953, "o", "\r\nTASK [infra : reload nginx service] ************************************************************************************\r\n"]
[0.517448, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.005477, "o", "\r\nTASK [infra : copy nginx_exporter systemd service] *********************************************************************\r\n"]
[0.47252, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.001574, "o", "\r\nTASK [infra : config nginx_exporter] ***********************************************************************************\r\n"]
[0.419003, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.009479, "o", "\r\nTASK [infra : launch nginx_exporter service] ***************************************************************************\r\n"]
[0.503606, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.004892, "o", "\r\nTASK [infra : wait for nginx exporter] *********************************************************************************\r\n"]
[0.18552, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[0.005042, "o", "\r\nTASK [infra : stop victoria-metrics service] ***************************************************************************\r\n"]
[0.037158, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.005963, "o", "\r\nTASK [infra : remove victoria-metrics data] ****************************************************************************\r\n"]
[0.037915, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n\r\nTASK [infra : render vmetrics config] **********************************************************************************\r\n"]
[0.397596, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'src': 'victoria/vmetrics.svc', 'dest': '/lib/systemd/system/vmetrics.service', 'owner': 'root', 'group': 'root', 'mode': '0644'})\u001b[0m\r\n"]
[0.356726, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'src': 'victoria/vmetrics.env', 'dest': '/etc/default/vmetrics', 'owner': 'victoria', 'group': 'infra', 'mode': '0644'})\u001b[0m\r\n"]
[0.370242, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'src': 'victoria/prometheus.yml', 'dest': '/infra/prometheus.yml', 'owner': 'victoria', 'group': 'infra', 'mode': '0644'})\u001b[0m\r\n"]
[0.353313, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'src': 'victoria/agent.yml', 'dest': '/infra/rules/agent.yml', 'owner': 'victoria', 'group': 'infra', 'mode': '0644'})\u001b[0m\r\n"]
[0.006718, "o", "\r\nTASK [infra : copy vmetrics rules and scripts] *************************************************************************\r\n"]
[1.320217, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'src': 'victoria/bin/', 'dest': '/infra/bin/', 'owner': 'root', 'group': 'infra', 'mode': '0755'})\u001b[0m\r\n"]
[2.52742, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'src': 'victoria/rules/', 'dest': '/infra/rules/', 'owner': 'victoria', 'group': 'infra', 'mode': '0644'})\u001b[0m\r\n"]
[0.006625, "o", "\r\nTASK [infra : launch vmetrics systemd service] *************************************************************************\r\n"]
[0.663173, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.00713, "o", "\r\nTASK [infra : wait for vmetrics service online] ************************************************************************\r\n"]
[0.188986, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[0.005577, "o", "\r\nTASK [infra : stop victoria-logs service] ******************************************************************************\r\n"]
[0.032324, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.004682, "o", "\r\nTASK [infra : remove victoria-logs data] *******************************************************************************\r\n"]
[0.035722, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.004335, "o", "\r\nTASK [infra : config victoria-logs] ************************************************************************************\r\n"]
[0.402652, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'src': 'victoria/vlogs.svc', 'dest': '/lib/systemd/system/vlogs.service', 'owner': 'root', 'group': 'root', 'mode': '0644'})\u001b[0m\r\n"]
[0.341647, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'src': 'victoria/vlogs.env', 'dest': '/etc/default/vlogs', 'owner': 'victoria', 'group': 'infra', 'mode': '0644'})\u001b[0m\r\n"]
[0.005341, "o", "\r\nTASK [infra : launch vlogs systemd service] ****************************************************************************\r\n"]
[0.679889, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.007518, "o", "\r\nTASK [infra : wait for vlogs service online] ***************************************************************************\r\n"]
[0.191675, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[0.007543, "o", "\r\nTASK [infra : stop victoria-traces service] ****************************************************************************\r\n"]
[0.033414, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.004205, "o", "\r\nTASK [infra : remove victoria-traces data] *****************************************************************************\r\n"]
[0.03321, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.00468, "o", "\r\nTASK [infra : config victoria-traces] **********************************************************************************\r\n"]
[0.402137, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'src': 'victoria/vtraces.svc', 'dest': '/lib/systemd/system/vtraces.service', 'owner': 'root', 'group': 'root', 'mode': '0644'})\u001b[0m\r\n"]
[0.365604, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'src': 'victoria/vtraces.env', 'dest': '/etc/default/vtraces', 'owner': 'victoria', 'group': 'infra', 'mode': '0644'})\u001b[0m"]
[0.000215, "o", "\r\n"]
[0.005315, "o", "\r\nTASK [infra : launch vtraces systemd service] **************************************************************************\r\n"]
[0.694825, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.004556, "o", "\r\nTASK [infra : wait for vtraces service online] *************************************************************************\r\n"]
[0.185301, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[0.004893, "o", "\r\nTASK [infra : config vmalert] ******************************************************************************************\r\n"]
[0.400586, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'src': 'victoria/vmalert.svc', 'dest': '/lib/systemd/system/vmalert.service', 'owner': 'root', 'group': 'root', 'mode': '0644'})\u001b[0m\r\n"]
[0.350501, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'src': 'victoria/vmalert.env', 'dest': '/etc/default/vmalert', 'owner': 'victoria', 'group': 'infra', 'mode': '0644'})\u001b[0m\r\n"]
[0.00602, "o", "\r\nTASK [infra : launch vmalert systemd service] **************************************************************************\r\n"]
[0.688533, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.004402, "o", "\r\nTASK [infra : wait for vmalert service online] *************************************************************************"]
[0.000774, "o", "\r\n"]
[0.192797, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[0.005359, "o", "\r\nTASK [infra : config alertmanager] *************************************************************************************\r\n"]
[0.435597, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'src': 'prometheus/alertmanager.svc', 'dest': '/lib/systemd/system/alertmanager.service', 'owner': 'root', 'group': 'root', 'mode': '0644'})\u001b[0m\r\n"]
[0.37393, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'src': 'prometheus/alertmanager.yml', 'dest': '/etc/alertmanager.yml', 'owner': 'prometheus', 'group': 'infra', 'mode': '0644'})\u001b[0m\r\n"]
[0.372537, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'src': 'prometheus/alertmanager.env', 'dest': '/etc/default/alertmanager', 'owner': 'prometheus', 'group': 'infra', 'mode': '0640'})\u001b[0m\r\n"]
[0.004937, "o", "\r\nTASK [infra : launch alertmanager systemd service] *********************************************************************\r\n"]
[0.540611, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.000822, "o", "\r\nTASK [infra : wait for alertmanager service online] ********************************************************************\r\n"]
[0.194757, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[0.006737, "o", "\r\nTASK [infra : config blackbox] *****************************************************************************************\r\n"]
[0.424057, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'src': 'prometheus/blackbox_exporter.svc', 'dest': '/lib/systemd/system/blackbox_exporter.service', 'owner': 'root', 'group': 'root', 'mode': '0644'})\u001b[0m\r\n"]
[0.373994, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'src': 'prometheus/blackbox.yml', 'dest': '/etc/blackbox.yml', 'owner': 'prometheus', 'group': 'infra', 'mode': '0644'})\u001b[0m\r\n"]
[0.389544, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'src': 'prometheus/blackbox.env', 'dest': '/etc/default/blackbox_exporter', 'owner': 'prometheus', 'group': 'infra', 'mode': '0644'})\u001b[0m\r\n"]
[0.00953, "o", "\r\nTASK [infra : grant icmp socket permissions to blackbox_exporter] ******************************************************\r\n"]
[0.210576, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.005227, "o", "\r\nTASK [infra : launch blackbox systemd service] *************************************************************************\r\n"]
[0.558879, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.003493, "o", "\r\nTASK [infra : wait for blackbox service online] ************************************************************************"]
[0.000825, "o", "\r\n"]
[0.195988, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[0.015033, "o", "\r\nTASK [infra : Stop grafana service] ************************************************************************************\r\n"]
[0.028664, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.005569, "o", "\r\nTASK [infra : remove grafana config] ***********************************************************************************"]
[0.000913, "o", "\r\n"]
[0.034567, "o", "\u001b[0;36mskipping: [10.10.10.10] => (item=/etc/grafana/provisioning/dashboards/pigsty.yml) \u001b[0m\r\n"]
[0.001018, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.009391, "o", "\r\nTASK [infra : remove grafana data] *************************************************************************************\r\n"]
[0.031875, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.017848, "o", "\r\nTASK [infra : make grafana directories] ********************************************************************************\r\n"]
[0.166162, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=/etc/grafana/)\u001b[0m\r\n"]
[0.178228, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=/etc/dashboards)\u001b[0m\r\n"]
[0.133155, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=/etc/grafana/provisioning/dashboards)\u001b[0m\r\n"]
[0.155984, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=/etc/grafana/provisioning/datasources)\u001b[0m\r\n"]
[0.152343, "o", "\u001b[0;32mok: [10.10.10.10] => (item=/var/lib/grafana/plugins)\u001b[0m\r\n"]
[0.0039, "o", "\r\nTASK [infra : render provisioning datasources] *************************************************************************\r\n"]
[0.465974, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'src': 'grafana/grafana.ini.j2', 'dest': '/etc/grafana/grafana.ini'})\u001b[0m\r\n"]
[0.373862, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'src': 'grafana/datasource.yml.j2', 'dest': '/etc/grafana/provisioning/datasources/pigsty.yml'})\u001b[0m\r\n"]
[0.363237, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'src': 'grafana/dashboard.yml.j2', 'dest': '/etc/grafana/provisioning/dashboards/pigsty.yml'})\u001b[0m\r\n"]
[0.014626, "o", "\r\nTASK [infra : launch grafana systemd service] **************************************************************************\r\n"]
[1.058692, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.006906, "o", "\r\nTASK [infra : wait for grafana service online] *************************************************************************\r\n"]
[4.195297, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[0.003498, "o", "\r\nTASK [infra : sync grafana dashboards] *********************************************************************************\r\n"]
[20.665023, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.004053, "o", "\r\nTASK [infra : provisioning grafana with grafana.py] ********************************************************************\r\n"]
[5.269028, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.026055, "o", "\r\nTASK [infra : render infra targets to victoria] ************************************************************************\r\n"]
[0.388959, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=10.10.10.10)\u001b[0m\r\n"]
[0.010541, "o", "\r\nTASK [infra : render infra vector logging config] **********************************************************************\r\n"]
[0.373811, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.004337, "o", "\r\nTASK [infra : reload vector to consume infra log] **********************************************************************\r\n"]
[0.854706, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.010723, "o", "\r\nTASK [infra : render vmetrics datasource to grafana] *******************************************************************\r\n"]
[0.38572, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=10.10.10.10)\u001b[0m\r\n"]
[0.017193, "o", "\r\nTASK [infra : render vlogs datasource to grafana] **********************************************************************\r\n"]
[0.388436, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=10.10.10.10)\u001b[0m\r\n"]
[0.01381, "o", "\r\nTASK [infra : render vtraces datasource to grafana] ********************************************************************\r\n"]
[0.373816, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=10.10.10.10)\u001b[0m\r\n"]
[0.012135, "o", "\r\nTASK [infra : load victoria datasources to grafana] ********************************************************************\r\n"]
[0.325103, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=10.10.10.10)\u001b[0m\r\n"]
[0.019728, "o", "\r\nPLAY [NODE MONITOR] ****************************************************************************************************\r\n"]
[0.014006, "o", "\r\nTASK [node_monitor : create nginx config dir for haproxy] **************************************************************\r\n"]
[0.188264, "o", "\u001b[0;32mok: [10.10.10.10] => (item=10.10.10.10)\u001b[0m\r\n"]
[0.007213, "o", "\r\nTASK [node_monitor : register haproxy upstream to nginx] ***************************************************************\r\n"]
[0.378635, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=10.10.10.10)\u001b[0m\r\n"]
[0.013907, "o", "\r\nTASK [node_monitor : register haproxy url location to nginx] ***********************************************************\r\n"]
[0.39063, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=10.10.10.10)\u001b[0m\r\n"]
[0.010823, "o", "\r\nTASK [node_monitor : reload nginx to finish haproxy register] **********************************************************\r\n"]
[0.51524, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=10.10.10.10)\u001b[0m\r\n"]
[0.008583, "o", "\r\nTASK [node_monitor : render node vip dns name] *************************************************************************\r\n"]
[0.021868, "o", "\u001b[0;36mskipping: [10.10.10.10] => (item=10.10.10.10) \u001b[0m\r\n"]
[0.001175, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m"]
[0.000299, "o", "\r\n"]
[0.010763, "o", "\r\nTASK [node_monitor : activate node vip dns name] ***********************************************************************\r\n"]
[0.025959, "o", "\u001b[0;36mskipping: [10.10.10.10] => (item=10.10.10.10) \u001b[0m\r\n\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.0055, "o", "\r\nTASK [node_monitor : config node_exporter systemd unit] ****************************************************************\r\n"]
[0.409425, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.000634, "o", "\r\nTASK [node_monitor : config default node_exporter options] *************************************************************\r\n"]
[0.404615, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.005949, "o", "\r\nTASK [node_monitor : launch node_exporter systemd service] *************************************************************\r\n"]
[0.547702, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.00646, "o", "\r\nTASK [node_monitor : wait for node_exporter service online] ************************************************************\r\n"]
[0.200796, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[0.00709, "o", "\r\nTASK [node_monitor : config keepalived_exporter systemd unit] **********************************************************\r\n"]
[0.019173, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.00468, "o", "\r\nTASK [node_monitor : config default keepalived_exporter options] *******************************************************\r\n"]
[0.021034, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.004554, "o", "\r\nTASK [node_monitor : launch keepalived_exporter systemd service] *******************************************************\r\n"]
[0.017781, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.004838, "o", "\r\nTASK [node_monitor : wait for keepalived_exporter service online] ******************************************************\r\n"]
[0.018406, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.010337, "o", "\r\nTASK [node_monitor : register node as victoria target] *****************************************************************\r\n"]
[0.389094, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=10.10.10.10)\u001b[0m\r\n"]
[0.011489, "o", "\r\nTASK [node_monitor : register node as ping target] *********************************************************************\r\n"]
[0.398282, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=10.10.10.10)\u001b[0m\r\n"]
[0.017213, "o", "\r\nTASK [node_monitor : register node vip as ping target] *****************************************************************\r\n"]
[0.028564, "o", "\u001b[0;36mskipping: [10.10.10.10] => (item=10.10.10.10) \u001b[0m\r\n\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.000048, "o", "\r\nTASK [node_monitor : install vector package] ***************************************************************************\r\n"]
[0.607515, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[0.002888, "o", "\r\nTASK [node_monitor : stop vector service] ******************************************************************************\r\n"]
[0.020126, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.005487, "o", "\r\nTASK [node_monitor : remove vector data] *******************************************************************************\r\n"]
[0.030981, "o", "\u001b[0;36mskipping: [10.10.10.10] => (item=/data/vector) \u001b[0m\r\n\u001b[0;36mskipping: [10.10.10.10] => (item=/etc/vector) \u001b[0m"]
[0.000532, "o", "\r\n"]
[0.000336, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.004956, "o", "\r\nTASK [node_monitor : create vector data directories] *******************************************************************\r\n"]
[0.181642, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'path': '/etc/vector', 'state': 'directory'})\u001b[0m\r\n"]
[0.163332, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'path': '/etc/vector/examples', 'state': 'absent'})\u001b[0m\r\n"]
[0.153741, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'path': '/data/vector', 'state': 'directory'})\u001b[0m\r\n"]
[0.005361, "o", "\r\nTASK [node_monitor : create vector config files] ***********************************************************************\r\n"]
[0.4234, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'src': 'vector.svc', 'dest': '/lib/systemd/system/vector.service'})\u001b[0m\r\n"]
[0.393933, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'src': 'vector.env', 'dest': '/etc/default/vector'})\u001b[0m\r\n"]
[0.396288, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'src': 'vector.yaml', 'dest': '/etc/vector/vector.yaml'})\u001b[0m\r\n"]
[0.005661, "o", "\r\nTASK [node_monitor : register node syslog to vector] *******************************************************************\r\n"]
[0.390326, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.00454, "o", "\r\nTASK [node_monitor : restart vector systemd service] *******************************************************************\r\n"]
[0.585115, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.004053, "o", "\r\nTASK [node_monitor : wait for vector service online] *******************************************************************\r\n"]
[0.224525, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[0.019335, "o", "\r\nPLAY [ETCD INIT] *******************************************************************************************************\r\n"]
[0.01826, "o", "\r\nTASK [etcd : assert etcd identity] *************************************************************************************\r\n"]
[0.040958, "o", "\u001b[0;32mok: [10.10.10.10] => {\u001b[0m"]
[0.000033, "o", "\r\n\u001b[0;32m    \"changed\": false,\u001b[0m\r\n\u001b[0;32m    \"msg\": \"All assertions passed\"\u001b[0m"]
[0.000058, "o", "\r\n\u001b[0;32m}\u001b[0m\r\n"]
[0.004328, "o", "\r\nTASK [etcd : install etcd] *********************************************************************************************"]
[0.000686, "o", "\r\n"]
[0.683739, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n\r\nTASK [etcd : ensure node_data directory exists] ************************************************************************\r\n"]
[0.201094, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[0.00011, "o", "\r\nTASK [etcd : ensure etcd data directory exists] ************************************************************************\r\n"]
[0.177197, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'path': '/etc/etcd', 'state': 'directory', 'mode': '0750', 'owner': 'etcd', 'group': 'etcd'})\u001b[0m\r\n"]
[0.155577, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'path': '/var/lib/etcd', 'state': 'directory', 'mode': '0770', 'owner': 'etcd', 'group': 'etcd'})\u001b[0m\r\n"]
[0.153545, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'path': '/data/etcd', 'state': 'directory', 'mode': '0700', 'owner': 'etcd', 'group': 'etcd'})\u001b[0m\r\n"]
[0.005339, "o", "\r\nTASK [etcd : print etcd configuration info] ****************************************************************************\r\n"]
[0.023282, "o", "\u001b[0;32mok: [10.10.10.10] => {\u001b[0m\r\n\u001b[0;32m    \"msg\": \"ETCDCTL_ENDPOINTS=https://10.10.10.10:2379\"\u001b[0m\r\n\u001b[0;32m}\u001b[0m\r\n"]
[0.004384, "o", "\r\nTASK [etcd : generate etcd config] *************************************************************************************\r\n"]
[0.407601, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'src': 'etcd.conf', 'dest': '/etc/etcd/etcd.conf', 'owner': 'etcd', 'group': 'etcd', 'mode': '0644'})\u001b[0m\r\n"]
[0.373486, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'src': 'etcd.pass', 'dest': '/etc/etcd/etcd.pass', 'owner': 'root', 'group': 'etcd', 'mode': '0640'})\u001b[0m\r\n"]
[0.363927, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'src': 'etcd.svc', 'dest': '/lib/systemd/system/etcd.service', 'owner': 'root', 'group': 'root', 'mode': '0644'})\u001b[0m\r\n"]
[0.396309, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'src': 'etcdctl.sh', 'dest': '/etc/profile.d/etcdctl.sh', 'owner': 'root', 'group': 'root', 'mode': '0755'})\u001b[0m\r\n\r\nTASK [etcd : generate etcd private key] ********************************************************************************\r\n"]
[4.119592, "o", "\u001b[0;33mchanged: [10.10.10.10 -> localhost]\u001b[0m\r\n"]
[0.003301, "o", "\r\nTASK [etcd : generate etcd signing request] ****************************************************************************\r\n"]
[0.624532, "o", "\u001b[0;33mchanged: [10.10.10.10 -> localhost]\u001b[0m\r\n"]
[0.007504, "o", "\r\nTASK [etcd : issue etcd server certificate] ****************************************************************************\r\n"]
[0.674013, "o", "\u001b[0;33mchanged: [10.10.10.10 -> localhost]\u001b[0m\r\n"]
[0.00514, "o", "\r\nTASK [etcd : copy etcd certs] ******************************************************************************************\r\n"]
[0.394161, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'src': 'files/pki/ca/ca.crt', 'dest': '/etc/etcd/ca.crt', 'owner': 'etcd', 'group': 'etcd', 'mode': '0644'})\u001b[0m\r\n"]
[0.354857, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'src': 'files/pki/etcd/etcd-1.crt', 'dest': '/etc/etcd/server.crt', 'owner': 'etcd', 'group': 'etcd', 'mode': '0644'})\u001b[0m\r\n"]
[0.357072, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'src': 'files/pki/etcd/etcd-1.key', 'dest': '/etc/etcd/server.key', 'owner': 'etcd', 'group': 'etcd', 'mode': '0600'})\u001b[0m\r\n"]
[0.009106, "o", "\r\nTASK [etcd : add new member to etcd cluster] ***************************************************************************\r\n"]
[0.015615, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.00599, "o", "\r\nTASK [etcd : display member add result] ********************************************************************************\r\n"]
[0.023685, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.002074, "o", "\r\nTASK [etcd : launch etcd server service] *******************************************************************************\r\n"]
[1.443502, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.002415, "o", "\r\nTASK [etcd : wait for etcd server online] ******************************************************************************"]
[0.000285, "o", "\r\n"]
[0.204416, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[0.007313, "o", "\r\nTASK [etcd : enable etcd authentication] *******************************************************************************\r\n"]
[0.432256, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.008632, "o", "\r\nTASK [etcd : register etcd as victoria target] *************************************************************************\r\n"]
[0.394828, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=10.10.10.10)\u001b[0m\r\n"]
[0.014867, "o", "\r\nPLAY [MINIO INIT] ******************************************************************************************************\r\n"]
[0.016649, "o", "\r\nTASK [minio : assert minio identity] ***********************************************************************************\r\n"]
[0.031652, "o", "\u001b[0;32mok: [10.10.10.10] => {\u001b[0m\r\n\u001b[0;32m    \"changed\": false,\u001b[0m\r\n\u001b[0;32m    \"msg\": \"All assertions passed\"\u001b[0m\r\n\u001b[0;32m}\u001b[0m\r\n"]
[0.002758, "o", "\r\nTASK [minio : get minio cluster info] **********************************************************************************\r\n"]
[0.239421, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[0.001184, "o", "\r\nTASK [minio : building minio params] ***********************************************************************************\r\n"]
[0.072797, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[0.006736, "o", "\r\nTASK [minio : calculate or use minio volumes] **************************************************************************\r\n"]
[0.029995, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[0.003591, "o", "\r\nTASK [minio : print minio identity] ************************************************************************************\r\n"]
[0.021472, "o", "\u001b[0;32mok: [10.10.10.10] => {\u001b[0m\r\n\u001b[0;32m    \"msg\": \"INIT MINIO: minio-1.pigsty: /data/minio\"\u001b[0m\r\n\u001b[0;32m}\u001b[0m\r\n"]
[0.007468, "o", "\r\nTASK [minio : create minio os group] ***********************************************************************************\r\n"]
[0.18629, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.005276, "o", "\r\nTASK [minio : create minio os user] ************************************************************************************\r\n"]
[0.23375, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.004074, "o", "\r\nTASK [minio : install minio package] ***********************************************************************************\r\n"]
[1.886124, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=minio)\u001b[0m\r\n"]
[0.578838, "o", "\u001b[0;32mok: [10.10.10.10] => (item=mcli)\u001b[0m\r\n"]
[0.0049, "o", "\r\nTASK [minio : create minio data directories] ***************************************************************************\r\n"]
[0.184745, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=/data/minio)\u001b[0m\r\n"]
[0.005455, "o", "\r\nTASK [minio : create minio conf dir and log file] **********************************************************************\r\n"]
[0.189908, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'path': '/home/minio/.minio', 'state': 'directory', 'owner': 'minio', 'mode': '0750'})\u001b[0m\r\n"]
[0.149914, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'path': '/var/log/minio.log', 'state': 'touch', 'owner': 'minio', 'mode': '0640'})\u001b[0m\r\n"]
[0.007725, "o", "\r\nTASK [minio : render minio config] *************************************************************************************\r\n"]
[0.405546, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'src': 'minio.env', 'dest': '/etc/default/minio', 'owner': 'root', 'group': 'minio', 'mode': '0640'})\u001b[0m\r\n"]
[0.394315, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'src': 'minio.svc', 'dest': '/lib/systemd/system/minio.service', 'owner': 'root', 'group': 'root', 'mode': '0644'})\u001b[0m\r\n"]
[0.004558, "o", "\r\nTASK [minio : generate minio private key] ******************************************************************************\r\n"]
[3.168367, "o", "\u001b[0;33mchanged: [10.10.10.10 -> localhost]\u001b[0m\r\n"]
[0.00275, "o", "\r\nTASK [minio : generate minio server signing request] *******************************************************************\r\n"]
[0.650373, "o", "\u001b[0;33mchanged: [10.10.10.10 -> localhost]\u001b[0m\r\n"]
[0.003755, "o", "\r\nTASK [minio : issue minio server certificate] **************************************************************************\r\n"]
[0.699535, "o", "\u001b[0;33mchanged: [10.10.10.10 -> localhost]\u001b[0m\r\n"]
[0.00509, "o", "\r\nTASK [minio : create minio cert dir] ***********************************************************************************\r\n"]
[0.177658, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.004889, "o", "\r\nTASK [minio : copy minio certificates] *********************************************************************************\r\n"]
[0.394264, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'src': 'files/pki/ca/ca.crt', 'dest': '/home/minio/.minio/certs/CAs/ca.crt', 'owner': 'minio', 'group': 'minio', 'mode': '0644'})\u001b[0m\r\n"]
[0.375532, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'src': 'files/pki/minio/minio-1.crt', 'dest': '/home/minio/.minio/certs/public.crt', 'owner': 'minio', 'group': 'minio', 'mode': '0644'})\u001b[0m\r\n"]
[0.37068, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'src': 'files/pki/minio/minio-1.key', 'dest': '/home/minio/.minio/certs/private.key', 'owner': 'minio', 'group': 'minio', 'mode': '0600'})\u001b[0m\r\n"]
[0.005483, "o", "\r\nTASK [minio : disable minio https by removing certs] *******************************************************************\r\n"]
[0.020752, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.003357, "o", "\r\nTASK [minio : wipe minio dns entries] **********************************************************************************\r\n"]
[0.185803, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[0.001865, "o", "\r\nTASK [minio : write static etc hosts entry] ****************************************************************************\r\n"]
[0.18345, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=10.10.10.10 minio-1.pigsty)\u001b[0m\r\n"]
[0.015532, "o", "\r\nTASK [minio : render minio instance dns to infra nameserver] ***********************************************************\r\n"]
[0.380191, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=10.10.10.10)\u001b[0m\r\n"]
[0.009874, "o", "\r\nTASK [minio : activate minio instance dns on infra nameserver] *********************************************************\r\n"]
[0.186691, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=10.10.10.10)\u001b[0m\r\n"]
[0.004954, "o", "\r\nTASK [minio : launch minio server service] *****************************************************************************\r\n"]
[0.724924, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.007945, "o", "\r\nTASK [minio : wait for minio server online] ****************************************************************************\r\n"]
[1.200572, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[0.011565, "o", "\r\nTASK [minio : register minio as victoria target] ***********************************************************************\r\n"]
[0.382577, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=10.10.10.10)\u001b[0m\r\n"]
[0.003104, "o", "\r\nTASK [minio : check minio health status] *******************************************************************************\r\n"]
[0.507695, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[0.014297, "o", "\r\nTASK [minio : write minio alias to infra nodes] ************************************************************************\r\n"]
[0.220601, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=None)\u001b[0m\r\n"]
[0.015626, "o", "\u001b[0;33mchanged: [10.10.10.10 -> {{ item }}]\u001b[0m\r\n"]
[0.000093, "o", "\r\nTASK [minio : write minio alias to minio cluster nodes] ****************************************************************\r\n"]
[0.020105, "o", "\u001b[0;36mskipping: [10.10.10.10] => (item=None) \u001b[0m\r\n"]
[0.001314, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.012727, "o", "\r\nTASK [minio : render minio bucket policies] ****************************************************************************\r\n"]
[0.379316, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'name': 'pgsql'})\u001b[0m\r\n"]
[0.352285, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'name': 'meta', 'versioning': True})\u001b[0m\r\n"]
[0.348123, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'name': 'data'})\u001b[0m\r\n"]
[0.012647, "o", "\r\nTASK [minio : create minio buckets] ************************************************************************************\r\n"]
[0.238104, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'name': 'pgsql'})\u001b[0m\r\n"]
[0.204803, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'name': 'meta', 'versioning': True})\u001b[0m\r\n"]
[0.200028, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'name': 'data'})\u001b[0m\r\n"]
[0.01071, "o", "\r\nTASK [minio : create minio bucket policies] ****************************************************************************"]
[0.000684, "o", "\r\n"]
[0.273087, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'name': 'pgsql'})\u001b[0m\r\n"]
[0.202973, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'name': 'meta', 'versioning': True})\u001b[0m\r\n"]
[0.1971, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'name': 'data'})\u001b[0m\r\n"]
[0.014551, "o", "\r\nTASK [minio : create minio users] **************************************************************************************\r\n"]
[0.803799, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=None)\u001b[0m\r\n"]
[0.793247, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=None)\u001b[0m\r\n"]
[0.640318, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=None)\u001b[0m\r\n\u001b[0;33mchanged: [10.10.10.10 -> {{ minio_cluster_members[0] }}]\u001b[0m\r\n"]
[0.020407, "o", "\r\nPLAY [PGSQL INIT] ******************************************************************************************************\r\n"]
[0.039237, "o", "\r\nTASK [pgsql : use another default pg_dbsu_uid for deb system] **********************************************************\r\n"]
[0.025098, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[0.005291, "o", "\r\nTASK [pgsql : create os group postgres] ********************************************************************************\r\n"]
[0.197567, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.004316, "o", "\r\nTASK [pgsql : create postgres dbsu] ************************************************************************************\r\n"]
[1.096307, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.004976, "o", "\r\nTASK [pgsql : grant postgres dbsu sudo privilege] **********************************************************************\r\n"]
[0.399849, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.008036, "o", "\r\nTASK [pgsql : config postgres dbsu ssh no host checking] ***************************************************************\r\n"]
[0.173664, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.004552, "o", "\r\nTASK [pgsql : fetch postgres dbsu public keys] *************************************************************************\r\n"]
[0.184147, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.011988, "o", "\r\nTASK [pgsql : exchange postgres dbsu ssh keys] *************************************************************************\r\n"]
[0.260541, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=['ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDEV9+Urr8iFDdmqKulC6//Uua20m6cZj9ywITb/GYk+4ucBHkwDlwS/8ca55goqWy86V2zhIKhyDx1SEHQLcKfgajZK48SiZS3/Abo6rKDrkXudNLJK9g5vuXZoYGHnoaeiJ0gc/17yO2q+5x4mp3PxZo5Ks75ee7MgS6uj2MFEKqIw33uTab0AFMkqVGaH9t7j2704ehQGB1oK9c6DZX1Qy6a5NELa9++muFpkv9kjwWu0DkiCujo1Y29h7R7hEOLkfkNFAIyAvwuDxZkDkotRs2bKQ+Kapq4KLCKj5i/qNpbe7orlWjXge0sVqSTCqWh6hpMIOySFonCsPFnCbsXo+l9AsTl3OiWadH67MfPLQMt0jyoZizdbW2FRZwGe02Fa6T/h8UTbnHQA7ASVEbk9bJazsn2eL6FQ9HIU61syYYmDJxV5FQcBkHztfUBfbryZgHILr3bkJgCyGdvld4Sm/YigsKiFfiFdnmvLPXuoqskwqSuuFtXybDlQwZl9Yc= ansible-generated on pg-meta', '10.10.10.10'])\u001b[0m\r\n"]
[0.011849, "o", "\r\nTASK [pgsql : lookup pg packages & extensions names] *******************************************************************\r\n"]
[0.041435, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[0.005347, "o", "\r\nTASK [pgsql : postgres pre-install setup] ******************************************************************************\r\n"]
[0.030492, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.006556, "o", "\r\nTASK [pgsql : install postgres packages] *******************************************************************************\r\n"]
[8.798253, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=postgresql-18,postgresql-client-18,postgresql-plpython3-18,postgresql-plperl-18,postgresql-pltcl-18,postgresql-18-repack,postgresql-18-wal2json,postgresql-18-pgvector)\u001b[0m\r\n"]
[4.891137, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=patroni,python3-etcd,pgbouncer,pgbackrest,pg-exporter,pgbackrest-exporter,vip-manager)\u001b[0m\r\n"]
[0.005298, "o", "\r\nTASK [pgsql : install postgres extensions] *****************************************************************************\r\n"]
[5.970694, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=postgresql-18-postgis-3)\u001b[0m\r\n"]
[1.29214, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=postgresql-18-timescaledb-tsl)\u001b[0m\r\n"]
[0.594252, "o", "\u001b[0;32mok: [10.10.10.10] => (item=postgresql-18-pgvector)\u001b[0m\r\n"]
[1.119029, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=postgresql-18-pg-wait-sampling)\u001b[0m\r\n"]
[0.0044, "o", "\r\nTASK [pgsql : postgres post-install cleanup] ***************************************************************************\r\n"]
[1.178586, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.006026, "o", "\r\nTASK [pgsql : link postgres home] **************************************************************************************\r\n"]
[0.198166, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.003364, "o", "\r\nTASK [pgsql : setup pgsql path] ****************************************************************************************\r\n"]
[0.397968, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.004389, "o", "\r\nTASK [pgsql : create pgsql directories] ********************************************************************************\r\n"]
[0.202716, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'path': '/data/postgres', 'mode': '0700'})\u001b[0m\r\n"]
[0.176962, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'path': '/data/backups', 'mode': '0700'})\u001b[0m\r\n"]
[0.169612, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'path': '/data/postgres/pg-meta-18', 'mode': '0700'})\u001b[0m\r\n"]
[0.162523, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'path': '/data/postgres/pg-meta-18/bin', 'mode': '0700'})\u001b[0m\r\n"]
[0.147628, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'path': '/data/postgres/pg-meta-18/log', 'mode': '0750'})\u001b[0m\r\n"]
[0.156648, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'path': '/data/postgres/pg-meta-18/tmp', 'mode': '0700'})\u001b[0m\r\n"]
[0.1606, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'path': '/data/postgres/pg-meta-18/cert', 'mode': '0700'})\u001b[0m\r\n"]
[0.16216, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'path': '/data/postgres/pg-meta-18/conf', 'mode': '0700'})\u001b[0m\r\n"]
[0.16196, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'path': '/data/postgres/pg-meta-18/data', 'mode': '0700'})\u001b[0m\r\n"]
[0.154785, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'path': '/data/postgres/pg-meta-18/spool', 'mode': '0700'})\u001b[0m\r\n"]
[0.164203, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'path': '/data/backups/pg-meta-18/backup', 'mode': '0700'})\u001b[0m\r\n"]
[0.158796, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'path': '/var/run/postgresql', 'mode': '0755'})\u001b[0m\r\n"]
[0.163315, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'path': '/etc/patroni', 'mode': '0700'})\u001b[0m\r\n"]
[0.162419, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'path': '/etc/pgbackrest', 'mode': '0700'})\u001b[0m\r\n"]
[0.162435, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'path': '/etc/pgbouncer', 'mode': '0700'})\u001b[0m\r\n"]
[0.167507, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'path': '/etc/pg_exporter', 'mode': '0700'})\u001b[0m\r\n"]
[0.009667, "o", "\r\nTASK [pgsql : link pgsql directories] **********************************************************************************\r\n"]
[0.203142, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'src': '/data/backups/pg-meta-18/backup', 'dest': '/data/postgres/pg-meta-18/backup'})\u001b[0m\r\n"]
[0.158136, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'src': '/data/postgres/pg-meta-18', 'dest': '/pg'})\u001b[0m\r\n"]
[0.004894, "o", "\r\nTASK [pgsql : create log directories] **********************************************************************************\r\n"]
[0.190944, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=/pg/log/postgres)\u001b[0m\r\n"]
[0.162395, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=/pg/log/patroni)\u001b[0m\r\n"]
[0.154606, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=/pg/log/pgbouncer)\u001b[0m\r\n"]
[0.178559, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=/pg/log/pgbackrest)\u001b[0m\r\n"]
[0.005639, "o", "\r\nTASK [pgsql : create tmpfiles.d for /var/run/postgresql] ***************************************************************\r\n"]
[0.388733, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.004224, "o", "\r\nTASK [pgsql : copy /pg/bin scripts] ************************************************************************************\r\n"]
[5.684996, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.009133, "o", "\r\nTASK [pgsql : copy pgsql/psql alias] ***********************************************************************************\r\n"]
[0.402267, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'src': 'pg-alias', 'dest': '/etc/profile.d/pg-alias.sh', 'owner': 'root', 'group': 'root', 'mode': '0644'})\u001b[0m\r\n"]
[0.365321, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'src': 'psqlrc', 'dest': '/var/lib/pgsql/.psqlrc', 'owner': 'postgres', 'group': 'postgres', 'mode': '0600'})\u001b[0m\r\n"]
[0.006259, "o", "\r\nTASK [pgsql : create pgsql dummy file] *********************************************************************************\r\n"]
[0.195715, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.008708, "o", "\r\nTASK [pgsql : create etcd user for pg cluster] *************************************************************************\r\n"]
[0.786627, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.005572, "o", "\r\nTASK [pgsql : get pgsql fs size] ***************************************************************************************\r\n"]
[0.191005, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.009845, "o", "\r\nTASK [pgsql : print postgres node spec] ********************************************************************************\r\n"]
[0.032058, "o", "\u001b[0;32mok: [10.10.10.10] => {\u001b[0m\r\n\u001b[0;32m    \"msg\": \"Node=2c4g tiny, Memory=900MB of 3816MB , Disk=40GB SSD @ /data/postgres, PG Conf=tiny.yml\"\u001b[0m\r\n\u001b[0;32m}\u001b[0m\r\n"]
[0.003933, "o", "\r\nTASK [pgsql : config patroni] ******************************************************************************************\r\n"]
[0.461902, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'src': 'tiny.yml', 'dest': '/pg/conf/pg-meta-1.yml', 'owner': 'postgres', 'group': 'postgres', 'mode': '0640'})\u001b[0m\r\n"]
[0.423366, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'src': 'patroni.svc', 'dest': '/lib/systemd/system/patroni.service', 'owner': 'root', 'group': 'root', 'mode': '0644'})\u001b[0m\r\n"]
[0.385602, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'src': 'postgres.svc', 'dest': '/lib/systemd/system/postgres.service', 'owner': 'root', 'group': 'root', 'mode': '0644'})\u001b[0m\r\n"]
[0.006367, "o", "\r\nTASK [pgsql : config pgbackrest for patroni] ***************************************************************************\r\n"]
[0.40371, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.005254, "o", "\r\nTASK [pgsql : link patroni config] *************************************************************************************\r\n"]
[0.195887, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.00442, "o", "\r\nTASK [pgsql : create pgsodium.key] *************************************************************************************\r\n"]
[0.396897, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.005344, "o", "\r\nTASK [pgsql : create pgsodium.getkey_script] ***************************************************************************"]
[0.000784, "o", "\r\n"]
[0.405917, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.012989, "o", "\r\nTASK [pgsql : generate pg private key] *********************************************************************************\r\n"]
[2.884304, "o", "\u001b[0;33mchanged: [10.10.10.10 -> localhost]\u001b[0m\r\n"]
[0.011745, "o", "\r\nTASK [pgsql : generate pg server signing request] **********************************************************************\r\n"]
[0.638332, "o", "\u001b[0;33mchanged: [10.10.10.10 -> localhost]\u001b[0m\r\n"]
[0.006851, "o", "\r\nTASK [pgsql : issue pg server certificate] *****************************************************************************\r\n"]
[0.70579, "o", "\u001b[0;33mchanged: [10.10.10.10 -> localhost]\u001b[0m\r\n"]
[0.006969, "o", "\r\nTASK [pgsql : copy pg server certificates] *****************************************************************************\r\n"]
[0.39851, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'src': 'files/pki/ca/ca.crt', 'dest': '/pg/cert/ca.crt', 'owner': 'postgres', 'mode': '0644'})\u001b[0m\r\n"]
[0.360254, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'src': 'files/pki/pgsql/pg-meta-1.crt', 'dest': '/pg/cert/server.crt', 'owner': 'postgres', 'group': 'postgres', 'mode': '0644'})\u001b[0m\r\n"]
[0.357793, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'src': 'files/pki/pgsql/pg-meta.key', 'dest': '/pg/cert/server.key', 'owner': 'postgres', 'group': 'postgres', 'mode': '0600'})\u001b[0m\r\n"]
[0.003671, "o", "\r\nTASK [pgsql : grant postgres dbsu watchdog owner] **********************************************************************\r\n"]
[0.194407, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n\r\nTASK [pgsql : launch patroni primary] **********************************************************************************\r\n"]
[0.520256, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n\r\nTASK [pgsql : wait for patroni primary] ********************************************************************************\r\n"]
[1.236073, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n\r\nTASK [pgsql : check postgres primary ready] ****************************************************************************\r\n"]
[0.217749, "o", "\u001b[1;30mFAILED - RETRYING: [10.10.10.10]: check postgres primary ready (6 retries left).\u001b[0m\r\n"]
[5.164118, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.004076, "o", "\r\nTASK [pgsql : remove postgres backup conf] *****************************************************************************\r\n"]
[0.196493, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=/pg/data/postgresql.conf.backup)\u001b[0m\r\n"]
[0.163208, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=/pg/data/postgresql.base.conf.backup)\u001b[0m\r\n"]
[0.156738, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=/pg/data/pg_hba.conf.backup)\u001b[0m\r\n"]
[0.177955, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=/pg/data/pg_ident.conf.backup)\u001b[0m\r\n"]
[0.006815, "o", "\r\nTASK [pgsql : render postgres hba rules] *******************************************************************************\r\n"]
[0.479683, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.004781, "o", "\r\nTASK [pgsql : copy extra files to postgres primary] ********************************************************************\r\n"]
[0.018384, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.005469, "o", "\r\nTASK [pgsql : overwrite postgres primary parameters] *******************************************************************\r\n"]
[0.433139, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.004682, "o", "\r\nTASK [pgsql : restart postgres via patroni] ****************************************************************************\r\n"]
[7.000982, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n\r\nTASK [pgsql : wait for postgres primary] *******************************************************************************\r\n"]
[0.211112, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[0.003527, "o", "\r\nTASK [pgsql : check postgres primary ready] ****************************************************************************\r\n"]
[0.204183, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.009872, "o", "\r\nTASK [pgsql : render init sql and scripts] *****************************************************************************\r\n"]
[0.475322, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'src': 'pg-init-roles.sql', 'dest': '/pg/tmp/pg-init-roles.sql', 'mode': '0640'})\u001b[0m\r\n"]
[0.410793, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'src': 'pg-init-template.sql', 'dest': '/pg/tmp/pg-init-template.sql', 'mode': '0640'})\u001b[0m\r\n"]
[0.386419, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'src': 'pg-init', 'dest': '/pg/bin/pg-init', 'owner': 'root', 'mode': '0740'})\u001b[0m\r\n"]
[0.000473, "o", "\r\nTASK [pgsql : init postgres cluster] ***********************************************************************************\r\n"]
[0.592075, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.004615, "o", "\r\nTASK [pgsql : check postgres primary inited] ***************************************************************************\r\n"]
[0.197492, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.003042, "o", "\r\nTASK [pgsql : add dbsu password to pgpass if exists] *******************************************************************\r\n"]
[0.027566, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.004925, "o", "\r\nTASK [pgsql : add system user to pgpass] *******************************************************************************\r\n"]
[0.214174, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=None)\u001b[0m\r\n"]
[0.187266, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=None)\u001b[0m\r\n"]
[0.180394, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=None)\u001b[0m\r\n"]
[0.000358, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.004782, "o", "\r\nTASK [pgsql : check replication connectivity] **************************************************************************\r\n"]
[0.028692, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.005567, "o", "\r\nTASK [pgsql : launch patroni replica] **********************************************************************************\r\n"]
[0.030099, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.003802, "o", "\r\nTASK [pgsql : wait for patroni replica] ********************************************************************************\r\n"]
[0.028634, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.004906, "o", "\r\nTASK [pgsql : wait for postgres replica] *******************************************************************************\r\n"]
[0.027512, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.004484, "o", "\r\nTASK [pgsql : check postgres replica ready] ****************************************************************************\r\n"]
[0.033664, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.000519, "o", "\r\nTASK [pgsql : copy extra files to pgdata] ******************************************************************************\r\n"]
[0.02075, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.001953, "o", "\r\nTASK [pgsql : render postgres hba rules] *******************************************************************************\r\n"]
[0.43777, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[0.005428, "o", "\r\nTASK [pgsql : overwrite postgres parameters] ***************************************************************************"]
[0.000881, "o", "\r\n"]
[0.390555, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[0.005066, "o", "\r\nTASK [pgsql : reload postgres config] **********************************************************************************\r\n"]
[0.201828, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.006557, "o", "\r\nTASK [pgsql : reload patroni config] ***********************************************************************************\r\n"]
[0.527339, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.005353, "o", "\r\nTASK [pgsql : pause patroni] *******************************************************************************************\r\n"]
[0.027402, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.005512, "o", "\r\nTASK [pgsql : stop patroni replicas] ***********************************************************************************\r\n"]
[0.028019, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.006945, "o", "\r\nTASK [pgsql : stop patroni primary] ************************************************************************************\r\n"]
[0.028451, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.005485, "o", "\r\nTASK [pgsql : launch raw postgres primary] *****************************************************************************\r\n"]
[0.026981, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.004915, "o", "\r\nTASK [pgsql : launch raw postgres replicas] ****************************************************************************\r\n"]
[0.02803, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.005182, "o", "\r\nTASK [pgsql : wait for raw postgres] ***********************************************************************************\r\n"]
[0.03047, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.004649, "o", "\r\nTASK [pgsql : include_tasks] *******************************************************************************************\r\n"]
[0.044147, "o", "\u001b[0;36mincluded: /root/pigsty/roles/pgsql/tasks/user.yml for 10.10.10.10 => (item={'name': 'dbuser_meta', 'password': 'KoEpMDa2ldbfC7wyUsEv3oBp'})\u001b[0m\r\n"]
[0.003362, "o", "\u001b[0;36mincluded: /root/pigsty/roles/pgsql/tasks/user.yml for 10.10.10.10 => (item={'name': 'dbuser_view', 'password': '5MzBVH24v5cViFJFGoi5WxzA', 'pgbouncer': True, 'roles': ['dbrole_readonly'], 'comment': 'read-only viewer for meta database'})\u001b[0m\r\n"]
[0.024589, "o", "\r\nTASK [pgsql : validate user name dbuser_meta] **************************************************************************\r\n"]
[0.035397, "o", "\u001b[0;32mok: [10.10.10.10] => {\u001b[0m\r\n\u001b[0;32m    \"changed\": false,\u001b[0m\r\n\u001b[0;32m    \"msg\": \"All assertions passed\"\u001b[0m\r\n\u001b[0;32m}\u001b[0m\r\n"]
[0.012136, "o", "\r\nTASK [pgsql : drop user dbuser_meta] ***********************************************************************************\r\n"]
[0.027054, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.00718, "o", "\r\nTASK [pgsql : prepare sql for user dbuser_meta] ************************************************************************\r\n"]
[0.431851, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.007699, "o", "\r\nTASK [pgsql : create postgres user dbuser_meta] ************************************************************************\r\n"]
[0.233884, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.007048, "o", "\r\nTASK [pgsql : write plain biz user password to pgpass for citus cluster] ***********************************************\r\n"]
[0.033379, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.007131, "o", "\r\nTASK [pgsql : validate user name dbuser_view] **************************************************************************\r\n"]
[0.033279, "o", "\u001b[0;32mok: [10.10.10.10] => {\u001b[0m\r\n\u001b[0;32m    \"changed\": false,\u001b[0m\r\n\u001b[0;32m    \"msg\": \"All assertions passed\"\u001b[0m\r\n\u001b[0;32m}\u001b[0m\r\n"]
[0.007024, "o", "\r\nTASK [pgsql : drop user dbuser_view] ***********************************************************************************"]
[0.000809, "o", "\r\n"]
[0.029054, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.007195, "o", "\r\nTASK [pgsql : prepare sql for user dbuser_view] ************************************************************************\r\n"]
[0.433176, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.007268, "o", "\r\nTASK [pgsql : create postgres user dbuser_view] ************************************************************************\r\n"]
[0.246685, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.004913, "o", "\r\nTASK [pgsql : write plain biz user password to pgpass for citus cluster] ***********************************************\r\n"]
[0.035839, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.01202, "o", "\r\nTASK [pgsql : include_tasks] *******************************************************************************************\r\n"]
[0.053741, "o", "\u001b[0;36mincluded: /root/pigsty/roles/pgsql/tasks/database.yml for 10.10.10.10 => (item={'name': 'meta', 'baseline': 'cmdb.sql', 'schemas': ['pigsty'], 'extensions': ['vector', 'postgis', 'timescaledb', {'name': 'pg_wait_sampling', 'schema': 'monitor'}], 'comment': 'pigsty meta database'})\u001b[0m\r\n"]
[0.026637, "o", "\r\nTASK [pgsql : drop database meta] **************************************************************************************\r\n"]
[0.029635, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.00653, "o", "\r\nTASK [pgsql : render sql for database meta] ****************************************************************************\r\n"]
[0.44558, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.00636, "o", "\r\nTASK [pgsql : copy baseline for database meta] *************************************************************************\r\n"]
[0.41834, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.006465, "o", "\r\nTASK [pgsql : create database meta] ************************************************************************************\r\n"]
[0.284246, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.012743, "o", "\r\nTASK [pgsql : provision database meta] *********************************************************************************\r\n"]
[0.698401, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.004946, "o", "\r\nTASK [pgsql : load database meta baseline] *****************************************************************************"]
[0.000669, "o", "\r\n"]
[0.316403, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.004155, "o", "\r\nTASK [pgsql : create pgbackrest dir] ***********************************************************************************\r\n"]
[0.181933, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.006285, "o", "\r\nTASK [pgsql : config pgbackrest] ***************************************************************************************\r\n"]
[0.493459, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.008196, "o", "\r\nTASK [pgsql : create pgbackrest repo stanza] ***************************************************************************\r\n"]
[0.284715, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.004093, "o", "\r\nTASK [pgsql : create pgbackrest initial backup] ************************************************************************\r\n"]
[61.367778, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n\r\nTASK [pgsql : create pgbouncer dir] ************************************************************************************\r\n"]
[0.198804, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=/etc/pgbouncer)\u001b[0m\r\n"]
[0.155606, "o", "\u001b[0;32mok: [10.10.10.10] => (item=/pg/log/pgbouncer)\u001b[0m\r\n"]
[0.019534, "o", "\r\nTASK [pgsql : config pgbouncer] ****************************************************************************************\r\n"]
[0.424408, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'src': 'pgbouncer.svc', 'dest': '/lib/systemd/system/pgbouncer.service', 'owner': 'root', 'group': 'root', 'mode': '0644'})\u001b[0m\r\n"]
[0.400251, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'src': 'pgbouncer.ini', 'dest': '/etc/pgbouncer/pgbouncer.ini', 'owner': 'postgres', 'group': 'postgres', 'mode': '0640'})\u001b[0m\r\n"]
[0.3731, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'src': 'pgbouncer.database', 'dest': '/etc/pgbouncer/database.txt', 'owner': 'postgres', 'group': 'postgres', 'mode': '0600'})\u001b[0m\r\n"]
[0.373036, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'src': 'pgbouncer.useropts', 'dest': '/etc/pgbouncer/useropts.txt', 'owner': 'postgres', 'group': 'postgres', 'mode': '0600'})\u001b[0m\r\n"]
[0.004298, "o", "\r\nTASK [pgsql : config pgbouncer hba rules] ******************************************************************************\r\n"]
[0.443422, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.011244, "o", "\r\nTASK [pgsql : create pgbouncer userlist] *******************************************************************************\r\n"]
[0.300308, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n\r\nTASK [pgsql : launch pgbouncer systemd service] ************************************************************************\r\n"]
[0.601418, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.006263, "o", "\r\nTASK [pgsql : wait for pgbouncer service online] ***********************************************************************\r\n"]
[0.196585, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[0.004953, "o", "\r\nTASK [pgsql : reload pgbouncer] ****************************************************************************************\r\n"]
[0.556802, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.004077, "o", "\r\nTASK [pgsql : check pgbouncer ready] ***********************************************************************************\r\n"]
[0.206908, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.004601, "o", "\r\nTASK [pgsql : config vip-manager] **************************************************************************************\r\n"]
[0.453441, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'src': 'vip-manager.yml', 'dest': '/etc/default/vip-manager.yml', 'owner': 'root', 'group': 'postgres', 'mode': '0600'})\u001b[0m\r\n"]
[0.365244, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'src': 'vip-manager.svc', 'dest': '/lib/systemd/system/vip-manager.service', 'owner': 'root', 'group': 'root', 'mode': '0644'})\u001b[0m\r\n"]
[0.006378, "o", "\r\nTASK [pgsql : launch vip-manager] **************************************************************************************\r\n"]
[0.02978, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.013068, "o", "\r\nTASK [pgsql : render postgres instance dns] ****************************************************************************\r\n"]
[0.422258, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=10.10.10.10)\u001b[0m\r\n"]
[0.014999, "o", "\r\nTASK [pgsql : activate postgres instance dns] **************************************************************************\r\n"]
[0.195363, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=10.10.10.10)\u001b[0m\r\n"]
[0.010022, "o", "\r\nTASK [pgsql : render postgres cluster dns] *****************************************************************************\r\n"]
[0.409955, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=10.10.10.10)\u001b[0m\r\n"]
[0.013853, "o", "\r\nTASK [pgsql : activate postgres cluster dns] ***************************************************************************\r\n"]
[0.199329, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=10.10.10.10)\u001b[0m\r\n"]
[0.006001, "o", "\r\nTASK [pgsql : wipe existing postgres haproxy service from local haproxy] ***********************************************\r\n"]
[0.191924, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.00629, "o", "\r\nTASK [pgsql : render haproxy service config on local haproxy] **********************************************************\r\n"]
[0.436158, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'name': 'primary', 'port': 5433, 'dest': 'default', 'check': '/primary', 'selector': '[]'})\u001b[0m\r\n"]
[0.390065, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'name': 'replica', 'port': 5434, 'dest': 'default', 'check': '/read-only', 'selector': '[]', 'backup': '[? pg_role == `primary` || pg_role == `offline` ]'})\u001b[0m\r\n"]
[0.383452, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'name': 'default', 'port': 5436, 'dest': 'postgres', 'check': '/primary', 'selector': '[]'})\u001b[0m\r\n"]
[0.377035, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'name': 'offline', 'port': 5438, 'dest': 'postgres', 'check': '/replica', 'selector': '[? pg_role == `offline` || pg_offline_query ]', 'backup': '[? pg_role == `replica` && !pg_offline_query]'})\u001b[0m\r\n"]
[0.005188, "o", "\r\nTASK [pgsql : check local haproxy config before reload] ****************************************************************\r\n"]
[0.270766, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n\r\nTASK [pgsql : reload local haproxy] ************************************************************************************\r\n"]
[0.697457, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.007156, "o", "\r\nTASK [pgsql : wipe existing postgres service from remote haproxy] ******************************************************\r\n"]
[0.018618, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.010348, "o", "\r\nTASK [pgsql : render haproxy service on remote haproxy] ****************************************************************\r\n"]
[0.020782, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.011927, "o", "\r\nTASK [pgsql : check remote haproxy config before reload] ***************************************************************\r\n"]
[0.016015, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.008211, "o", "\r\nTASK [pgsql : reload remote haproxy] ***********************************************************************************\r\n"]
[0.020764, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.005267, "o", "\r\nTASK [pgsql : pgsql init done] *****************************************************************************************\r\n"]
[0.032796, "o", "\u001b[0;32mok: [10.10.10.10] => {\u001b[0m\r\n\u001b[0;32m    \"msg\": \"postgres://10.10.10.10/postgres | meta  | dbuser_meta dbuser_view \"\u001b[0m\r\n\u001b[0;32m}\u001b[0m\r\n"]
[0.007897, "o", "\r\nTASK [pg_monitor : config pg_exporter] *********************************************************************************\r\n"]
[0.473944, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'src': 'pg_exporter.yml', 'dest': '/etc/pg_exporter.yml', 'owner': 'postgres', 'group': 'postgres', 'mode': '0644'})\u001b[0m\r\n"]
[0.397678, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'src': 'pg_exporter.env', 'dest': '/etc/default/pg_exporter', 'owner': 'postgres', 'group': 'postgres', 'mode': '0600'})\u001b[0m\r\n"]
[0.405284, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'src': 'pg_exporter.svc', 'dest': '/lib/systemd/system/pg_exporter.service', 'owner': 'root', 'group': 'root', 'mode': '0644'})\u001b[0m\r\n"]
[0.007707, "o", "\r\nTASK [pg_monitor : launch pg_exporter systemd unit] ********************************************************************\r\n"]
[0.742012, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.006825, "o", "\r\nTASK [pg_monitor : wait for pg_exporter online] ************************************************************************"]
[0.000912, "o", "\r\n"]
[0.198703, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[0.001756, "o", "\r\nTASK [pg_monitor : config pgbouncer_exporter] **************************************************************************\r\n"]
[0.417238, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'src': 'pgbouncer_exporter.yml', 'dest': '/etc/pgbouncer_exporter.yml', 'owner': 'postgres', 'group': 'postgres', 'mode': '0644'})\u001b[0m\r\n"]
[0.376317, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'src': 'pgbouncer_exporter.env', 'dest': '/etc/default/pgbouncer_exporter', 'owner': 'postgres', 'group': 'postgres', 'mode': '0600'})\u001b[0m\r\n"]
[0.386076, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'src': 'pgbouncer_exporter.svc', 'dest': '/lib/systemd/system/pgbouncer_exporter.service', 'owner': 'root', 'group': 'root', 'mode': '0644'})\u001b[0m\r\n"]
[0.000243, "o", "\r\nTASK [pg_monitor : launch pgbouncer_exporter systemd unit] *************************************************************\r\n"]
[0.782242, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n\r\nTASK [pg_monitor : wait for pgbouncer_exporter online] *****************************************************************\r\n"]
[0.193138, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[0.004524, "o", "\r\nTASK [pg_monitor : config pgbackrest_exporter] *************************************************************************\r\n"]
[0.43209, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'src': 'pgbackrest_exporter.env', 'dest': '/etc/default/pgbackrest_exporter', 'owner': 'postgres', 'group': 'postgres', 'mode': '0600'})\u001b[0m\r\n"]
[0.391762, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'src': 'pgbackrest_exporter.svc', 'dest': '/lib/systemd/system/pgbackrest_exporter.service', 'owner': 'root', 'group': 'root', 'mode': '0644'})\u001b[0m\r\n"]
[0.008462, "o", "\r\nTASK [pg_monitor : launch pgbackrest_exporter systemd unit] ************************************************************\r\n"]
[0.745659, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.009383, "o", "\r\nTASK [pg_monitor : wait for pg_exporter online] ************************************************************************\r\n"]
[0.213742, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[0.014454, "o", "\r\nTASK [pg_monitor : register postgres to victoria] **********************************************************************\r\n"]
[0.396863, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=10.10.10.10)\u001b[0m\r\n"]
[0.01201, "o", "\r\nTASK [pg_monitor : register ssl patroni to victoria] *******************************************************************\r\n"]
[0.029722, "o", "\u001b[0;36mskipping: [10.10.10.10] => (item=10.10.10.10) \u001b[0m\r\n"]
[0.000965, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.009585, "o", "\r\nTASK [pg_monitor : register pg vip ping target to victoria] ************************************************************\r\n"]
[0.031083, "o", "\u001b[0;36mskipping: [10.10.10.10] => (item=10.10.10.10) \u001b[0m\r\n"]
[0.001952, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.003063, "o", "\r\nTASK [pg_monitor : render pgsql vector logging config] *****************************************************************\r\n"]
[0.400607, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=postgres)\u001b[0m\r\n"]
[0.372816, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=pgbackrest)\u001b[0m\r\n"]
[0.006407, "o", "\r\nTASK [pg_monitor : reload vector to consume pgsql log] *****************************************************************\r\n"]
[0.567303, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.005038, "o", "\r\nTASK [pg_monitor : include_tasks] **************************************************************************************\r\n"]
[0.056273, "o", "\u001b[0;36mincluded: /root/pigsty/roles/pg_monitor/tasks/register_grafana.yml for 10.10.10.10 => (item={'name': 'postgres'})\u001b[0m\r\n"]
[0.00196, "o", "\u001b[0;36mincluded: /root/pigsty/roles/pg_monitor/tasks/register_grafana.yml for 10.10.10.10 => (item={'name': 'meta', 'baseline': 'cmdb.sql', 'schemas': ['pigsty'], 'extensions': ['vector', 'postgis', 'timescaledb', {'name': 'pg_wait_sampling', 'schema': 'monitor'}], 'comment': 'pigsty meta database'})\u001b[0m\r\n"]
[0.017315, "o", "\r\nTASK [pg_monitor : render grafana datasource for postgres] *************************************************************\r\n"]
[0.418618, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=10.10.10.10)\u001b[0m\r\n"]
[0.007024, "o", "\r\nTASK [pg_monitor : load grafana datasource postgres] *******************************************************************\r\n"]
[0.262046, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=10.10.10.10)\u001b[0m\r\n"]
[0.012586, "o", "\r\nTASK [pg_monitor : render grafana datasource for meta] *****************************************************************"]
[0.000733, "o", "\r\n"]
[0.430735, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=10.10.10.10)\u001b[0m\r\n"]
[0.013857, "o", "\r\nTASK [pg_monitor : load grafana datasource meta] ***********************************************************************\r\n"]
[0.270249, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=10.10.10.10)\u001b[0m\r\n"]
[0.016908, "o", "\r\nPLAY RECAP *************************************************************************************************************\r\n\u001b[0;33m10.10.10.10\u001b[0m                : \u001b[0;32mok=313 \u001b[0m \u001b[0;33mchanged=244 \u001b[0m unreachable=0    failed=0    \u001b[0;36mskipped=82  \u001b[0m rescued=0    ignored=0   \r\n\u001b[0;33mlocalhost\u001b[0m                  : \u001b[0;32mok=6   \u001b[0m \u001b[0;33mchanged=4   \u001b[0m unreachable=0    failed=0    \u001b[0;36mskipped=1   \u001b[0m rescued=0    ignored=0   \r\n\r\n"]
[0.135263, "o", "\u001b[?2004hroot@pg-meta:~/pigsty# "]
[267.406112, "o", "\u001b[?2004l\r\r\nlogout\r\n"]
[0.000668, "o", "Connection to 47.100.187.36 closed.\r\r\n"]
[0.004204, "o", "\u001b[?2004hbash-5.3$ "]
[0.999024, "o", "\u001b[?2004l\r\r\n"]
[0.00005, "o", "exit\r\n"]
[0.00282, "x", "0"]
