{"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":1768184070,"idle_time_limit":0.5,"title":"pgsql","env":{"SHELL":"/bin/bash"}}
[0.014, "o", "\u001b[?2004h\u001b]0;vonng@vonng-aimax: ~/pigsty\u0007\u001b[01;32mvonng@vonng-aimax\u001b[00m:\u001b[01;34m~/pigsty\u001b[00m$ "]
[0.617, "o", "v"]
[0.067, "o", "i"]
[0.118, "o", " "]
[0.091, "o", "p"]
[0.021, "o", "i"]
[0.104, "o", "gsty.yml "]
[0.105, "o", "\r\n\u001b[?2004l\r"]
[0.009, "o", "\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"]
[0.001, "o", "\u001b[27m\u001b[23m\u001b[29m\u001b[m\u001b[H\u001b[2J\u001b[?25l\u001b[30;1H\"pigsty.yml\" [noeol] 179L, 9683B"]
[0.001, "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.007, "o", "\u001b[1;9H\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\r\n      \u001b[36mvars\u001b[m\u001b[35m:\u001b[m\u001b[2;12H\u001b[K\u001b[3;1H        \u001b[36metcd_cluster\u001b[m\u001b[35m:\u001b[m etcd\u001b[3;27H\u001b[K\u001b[5;4H\u001b[34m # minio (single node, used as backup repo)\u001b[m\r\n    \u001b[36mminio\u001b[m\u001b[35m:\u001b[m\u001b[7;7H\u001b[36mhosts\u001b[m\u001b[35m:\u001b[m\u001b[8;9H\u001b[36m10.10.10.10\u001b[m\u001b[35m:\u001b[m \u001b[35m{\u001b[m \u001b[36mminio_seq\u001b[m\u001b[35m:\u001b[m \u001b[31m1\u001b[m \u001b[35m}\u001b[m\u001b[9;7H\u001b[36mvars\u001b[m\u001b[35m:\u001b[m\u001b[10;9H\u001b[36mminio_cluster\u001b[m\u001b[35m:\u001b[m minio\u001b[11;9H\u001b[36mminio_users\u001b[m\u001b[35m:\u001b[m\u001b[21C\u001b[34m # list of minio user to be created\u001b[m\u001b[12;11H\u001b[38;5;130m- \u001b[m\u001b[35m{\u001b[m \u001b[36maccess_key\u001b[m\u001b[35m:\u001b[m pgbackrest  ,\u001b[36msecret_key\u001b[m\u001b[35m:\u001b[m S3User.Backup ,\u001b[36mpolicy\u001b[m\u001b[35m:\u001b[m pgsql \u001b[35m}\u001b[m\u001b[13;11H\u001b[38;5;130m- \u001b[m\u001b[35m{\u001b[m \u001b[36maccess_key\u001b[m\u001b[35m:\u001b[m s3user_meta ,\u001b[36msecret_key\u001b[m\u001b[35m:\u001b[m S3User.Meta   ,\u001b[36mpolicy\u001b[m\u001b[35m:\u001b[m meta  \u001b[35m}\u001b[m\u001b[14;11H\u001b[38;5;130m- \u001b[m\u001b[35m{\u001b[m \u001b[36maccess_key\u001b[m\u001b[35m:\u001b[m s3user_data ,\u001b[36msecret_key\u001b[m\u001b[35m:\u001b[m S3User.Data   ,\u001b[36mpolicy\u001b[m\u001b[35m:\u001b[m data  \u001b[35m}\u001b[m\u001b[16;4H\u001b[34m # postgres cluster: pg-meta\u001b[m\r\n    \u001b[36mpg-meta\u001b[m\u001b[35m:\u001b[m\u001b[18;7H\u001b[36mhosts\u001b[m\u001b[35m:\u001b[m\u001b[19;9H\u001b[36m10.10.10.10\u001b[m\u001b[35m:\u001b[m \u001b[35m{\u001b[m \u001b[36mpg_seq\u001b[m\u001b[35m:\u001b[m \u001b[31m1\u001b[m, \u001b[36mpg_role\u001b[m\u001b[35m:\u001b[m primary \u001b[35m}\u001b[m\u001b[20;7H\u001b[36mvars\u001b[m\u001b[35m:\u001b[m\u001b[21;9H\u001b[36mpg_cluster\u001b[m\u001b[35m:\u001b[m pg-meta\u001b[22;9H\u001b[36mpg_users\u001b[m\u001b[35m:\u001b[m\u001b[23;11H\u001b[38;5;130m- \u001b[m\u001b[35m{\u001b[m \u001b[36mname\u001b[m\u001b[35m:\u001b[m dbuser_meta ,\u001b[36mpassword\u001b[m\u001b[35m:\u001b[m DBUser.Meta     ,\u001b[36mpgbouncer\u001b[m\u001b[35m:\u001b[m \u001b[31mtrue\u001b[m ,\u001b[36mroles\u001b[m\u001b[35m:\u001b[m \u001b[35m[\u001b[m dbrole_admin \u001b[35m]\u001b[m    ,\u001b[36mcomment\u001b[m\u001b[35m:\u001b[m pigstyy\u001b[24;1H admin user \u001b[35m}\u001b[m\u001b[25;11H\u001b[38;5;130m- \u001b[m\u001b[35m{\u001b[m \u001b[36mname\u001b[m\u001b[35m:\u001b[m dbuser_view ,\u001b[36mpassword\u001b[m\u001b[35m:\u001b[m DBUser.Viewer   ,\u001b[36mpgbouncer\u001b[m\u001b[35m:\u001b[m \u001b[31mtrue\u001b[m ,\u001b[36mroles\u001b[m\u001b[35m:\u001b[m \u001b[35m[\u001b[m dbrole_readonly \u001b[35m]\u001b[m ,\u001b[36mcomment\u001b[m\u001b[35m:\u001b[m read-oo\u001b[26;1Hnly viewer for meta database \u001b[35m}\u001b[m\u001b[27;9H\u001b[36mpg_databases\u001b[m\u001b[35m:\u001b[m\u001b[28;11H\u001b[38;5;130m- \u001b[m\u001b[35m{"]
[0.000, "o", "\u001b[m \u001b[36mname\u001b[m\u001b[35m:\u001b[m meta ,\u001b[36mbaseline\u001b[m\u001b[35m:\u001b[m cmdb.sql ,\u001b[36mcomment\u001b[m\u001b[35m:\u001b[m pigsty meta database ,\u001b[36mschemas\u001b[m\u001b[35m:\u001b[m \u001b[35m[\u001b[m pigsty \u001b[35m]\u001b[m \u001b[35m}\u001b[m\u001b[29;9H\u001b[36mpg_hba_rules\u001b[m\u001b[35m:\u001b[m\u001b[30;103H45,0-1\u001b[8C19%\u001b[15;1H\u001b[?25h\u001b[?4m"]
[0.067, "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\\\u001bP$q q\u001b\\\u001b[?12$p"]
[0.022, "o", "\u001bP+q6b32\u001b\\\u001bP+q6b33\u001b\\\u001bP+q6b34\u001b\\\u001b[?25l\u001b[30;93H7\u001b[15;1H\u001b[30;94H2\u001b[15;1H\u001b[30;95H=\u001b[15;1H\u001b[30;96H1\u001b[15;1H\u001b[30;97HB\u001b[15;1H\u001b[30;98H4\u001b[15;1H\u001b[30;99HF\u001b[15;1H\u001b[30;100H4\u001b[15;1H\u001b[30;101H3\u001b[15;1H\u001b[30;93H2=1B4F43^[\u001b[15;1H\u001b[30;93H          \u001b[15;1H\u001bP+q6b35\u001b\\\u001bP+q6b36\u001b\\\u001bP+q6b37\u001b\\"]
[0.000, "o", "\u001b[30;93H^[\u001b[15;1H\u001b[30;95HP\u001b[15;1H\u001b[30;96H1\u001b[15;1H\u001b[30;97H+\u001b[15;1H"]
[0.000, "o", "\u001b[30;93H     \u001b[15;1H\u001bP+q6b38\u001b\\"]
[0.000, "o", "\u001bP+q6b39\u001b\\"]
[0.000, "o", "\u001b[30;93H1\u001b[15;1H\u001b[30;94H+\u001b[15;1H\u001b[30;95Hr\u001b[15;1H\u001b[30;96H2\u001b[15;1H\u001b[30;97HA\u001b[15;1H\u001b[30;98H3\u001b[15;1H\u001b[30;99H7\u001b[15;1H\u001b[30;100H=\u001b[15;1H\u001b[30;101H1\u001b[15;1H\u001b[30;102HB\u001b[15;1H\u001b[30;93H          \u001b[15;1H\u001bP+q6b3b\u001b\\\u001bP+q4631\u001b\\\u001b[?25h"]
[0.035, "o", "\u001bP+q4632\u001b\\\u001bP+q2531\u001b\\\u001bP+q2638\u001b\\\u001b[?25l\u001b[30;93H^[\u001b[15;1H\u001b[30;95HP\u001b[15;1H\u001b[30;96H1\u001b[15;1H\u001b[30;97H+\u001b[15;1H\u001b[30;98Hr\u001b[15;1H\u001b[30;93H      \u001b[15;1H\u001bP+q6b62\u001b\\\u001bP+q6b49\u001b\\"]
[0.000, "o", "\u001bP+q6b44\u001b\\"]
[0.000, "o", "\u001b[30;93H^[\u001b[15;1H\u001b[30;95HP\u001b[15;1H\u001b[30;96H1\u001b[15;1H\u001b[30;97H+\u001b[15;1H\u001b[30;98Hr\u001b[15;1H\u001b[30;99H6\u001b[15;1H\u001b[30;100HB\u001b[15;1H\u001b[30;101H3\u001b[15;1H\u001b[30;93H         \u001b[15;1H\u001bP+q6b68\u001b\\\u001bP+q4037\u001b\\\u001bP+q6b50\u001b\\"]
[0.000, "o", "\u001b[30;93H^[\u001b[15;1H\u001b[30;95HP\u001b[15;1H\u001b[30;96H1\u001b[15;1H\u001b[30;97H+\u001b[15;1H\u001b[30;98Hr\u001b[15;1H\u001b[30;99H4\u001b[15;1H\u001b[30;100H6\u001b[15;1H\u001b[30;101H3\u001b[15;1H\u001b[30;102H1\u001b[15;1H\u001b[30;93H[P1+r4631=\u001b[15;1H"]
[0.000, "o", "\u001b[30;93H          \u001b[15;1H\u001bP+q6b4e\u001b\\\u001b[?25h"]
[0.014, "o", "\u001bP+q4b31\u001b\\\u001bP+q4b33\u001b\\\u001bP+q4b34\u001b\\\u001bP+q4b35\u001b\\\u001bP+q6b42\u001b\\"]
[0.021, "o", "\u001bP+q5053\u001b\\\u001bP+q5045\u001b\\\u001b[?25l\u001b[30;93H+\u001b[15;1H\u001b[30;94Hr\u001b[15;1H\u001b[30;95H6\u001b[15;1H\u001b[30;96HB\u001b[15;1H\u001b[30;97H5\u001b[15;1H\u001b[30;98H0\u001b[15;1H\u001b[30;99H=\u001b[15;1H\u001b[30;100H1\u001b[15;1H\u001b[30;101HB\u001b[15;1H\u001b[30;102H5\u001b[15;1H\u001b[30;93H          \u001b[15;1H\u001b[?25h"]
[0.866, "o", "\u001b[?25l\u001b[30;93Hj\u001b[15;1H"]
[0.000, "o", "\u001b[30;93H \u001b[16;1H\u001b[30;104H6,1  \u001b[16;1H\u001b[?25h"]
[0.268, "o", "\u001b[?25l\u001b[30;93Hj\u001b[16;1H"]
[0.000, "o", "\u001b[30;93H \u001b[17;1H\u001b[30;104H7\u001b[17;1H\u001b[?25h"]
[0.020, "o", "\u001b[?25l\u001b[30;93Hj\u001b[17;1H"]
[0.000, "o", "\u001b[30;93H \u001b[18;1H\u001b[30;104H8\u001b[18;1H\u001b[?25h"]
[0.051, "o", "\u001b[?25l\u001b[30;93Hj\u001b[18;1H"]
[0.001, "o", "\u001b[30;93H \u001b[19;1H\u001b[30;104H9\u001b[19;1H\u001b[?25h"]
[0.046, "o", "\u001b[?25l\u001b[30;103H50\u001b[20;1H\u001b[?25h\u001b[?25l\u001b[30;93Hj\u001b[20;1H"]
[0.000, "o", "\u001b[30;93H \u001b[21;1H\u001b[30;104H1\u001b[21;1H\u001b[?25h"]
[0.042, "o", "\u001b[?25l\u001b[30;93Hj\u001b[21;1H"]
[0.000, "o", "\u001b[30;93H \u001b[22;1H\u001b[30;104H2\u001b[22;1H\u001b[?25h"]
[0.049, "o", "\u001b[?25l\u001b[30;93Hj\u001b[22;1H"]
[0.000, "o", "\u001b[30;93H \u001b[23;1H\u001b[30;104H3\u001b[23;1H\u001b[?25h"]
[0.024, "o", "\u001b[?25l\u001b[30;93Hj\u001b[23;1H"]
[0.001, "o", "\u001b[30;93H \u001b[23;1H\u001b[1;29r\u001b[1;1H\u001b[2M\u001b[1;30r\u001b[28;11H\u001b[38;5;130m- \u001b[m\u001b[35m{\u001b[m \u001b[36muser\u001b[m\u001b[35m:\u001b[m dbuser_view , \u001b[36mdb\u001b[m\u001b[35m:\u001b[m all ,\u001b[36maddr\u001b[m\u001b[35m:\u001b[m infra ,\u001b[36mauth\u001b[m\u001b[35m:\u001b[m pwd ,\u001b[36mtitle\u001b[m\u001b[35m:\u001b[m \u001b[31m'allow grafana dashboard access cmdb from infrr\u001b[29;1Ha nodes'\u001b[m \u001b[35m}\u001b[m\u001b[30;1H\u001b[K\u001b[30;103H54,1\u001b[10C20%\u001b[23;1H\u001b[?25h"]
[0.020, "o", "\u001b[?25l\u001b[30;93Hj\u001b[23;1H"]
[0.000, "o", "\u001b[30;93H \u001b[24;1H\u001b[1;29r\u001b[29;1H\r\n\u001b[1;30r\u001b[29;9H\u001b[36mpg_vip_enabled\u001b[m\u001b[35m:\u001b[m \u001b[31mtrue\u001b[m\u001b[30;103H\u001b[K\u001b[30;103H55,1\u001b[10C21%\u001b[24;1H\u001b[?25h"]
[0.047, "o", "\u001b[?25l\u001b[30;93Hj\u001b[24;1H"]
[0.001, "o", "\u001b[30;93H \u001b[24;1H\u001b[1;29r\u001b[29;1H\r\n\u001b[1;30r\u001b[29;9H\u001b[36mpg_vip_address\u001b[m\u001b[35m:\u001b[m 10.10.10.2/24\u001b[30;103H\u001b[K\u001b[30;103H56,1\u001b[10C22%\u001b[24;1H\u001b[?25h"]
[0.022, "o", "\u001b[?25l\u001b[30;93Hj\u001b[24;1H"]
[0.000, "o", "\u001b[30;93H \u001b[24;1H\u001b[1;29r\u001b[29;1H\r\n\u001b[1;30r\u001b[29;9H\u001b[36mpg_vip_interface\u001b[m\u001b[35m:\u001b[m eth1\u001b[30;103H\u001b[K\u001b[30;103H57,1\u001b[10C22%\u001b[24;1H\u001b[?25h"]
[0.045, "o", "\u001b[?25l\u001b[30;93Hj\u001b[24;1H"]
[0.001, "o", "\u001b[30;93H \u001b[23;1H\u001b[1;29r\u001b[1;1H\u001b[2M\u001b[1;30r\u001b[28;9H\u001b[36mnode_crontab\u001b[m\u001b[35m:\u001b[m \u001b[34m # make a full backup 1 am everyday\u001b[m\u001b[29;11H\u001b[38;5;130m- \u001b[m\u001b[31m'00 01 * * * postgres /pg/bin/pg-backup full'\u001b[m\u001b[30;103H\u001b[K\u001b[30;103H58,1\u001b[10C24%\u001b[23;1H\u001b[?25h"]
[0.021, "o", "\u001b[?25l\u001b[30;93Hj\u001b[23;1H"]
[0.000, "o", "\u001b[30;93H \u001b[24;1H\u001b[1;29r\u001b[29;1H\r\n\u001b[1;30r\u001b[30;103H\u001b[K\u001b[30;103H59,1\u001b[10C24%\u001b[24;1H\u001b[?25h"]
[0.050, "o", "\u001b[?25l\u001b[30;93Hj\u001b[24;1H"]
[0.000, "o", "\u001b[30;93H \u001b[24;1H\u001b[1;29r\u001b[29;1H\r\n\u001b[1;30r\u001b[29;4H\u001b[34m # pgsql 3 node ha cluster: pg-test\u001b[m\u001b[30;103H\u001b[K\u001b[30;103H60,1\u001b[10C25%\u001b[24;1H\u001b[?25h"]
[0.024, "o", "\u001b[?25l\u001b[30;93Hj\u001b[24;1H"]
[0.000, "o", "\u001b[30;93H \u001b[24;1H\u001b[1;29r\u001b[29;1H\r\n\u001b[1;30r\u001b[29;5H\u001b[36mpg-test\u001b[m\u001b[35m:\u001b[m\u001b[30;103H\u001b[K\u001b[30;103H61,1\u001b[10C26%\u001b[24;1H\u001b[?25h"]
[0.020, "o", "\u001b[?25l\u001b[30;93Hj\u001b[24;1H"]
[0.000, "o", "\u001b[30;93H \u001b[24;1H\u001b[1;29r\u001b[29;1H\r\n\u001b[1;30r\u001b[29;7H\u001b[36mhosts\u001b[m\u001b[35m:\u001b[m\u001b[30;103H\u001b[K\u001b[30;103H62,1\u001b[10C26%\u001b[24;1H\u001b[?25h"]
[0.043, "o", "\u001b[?25l\u001b[30;93Hj\u001b[24;1H"]
[0.002, "o", "\u001b[30;93H \u001b[24;1H\u001b[1;29r\u001b[29;1H\r\n\u001b[1;30r\u001b[29;9H\u001b[36m10.10.10.11\u001b[m\u001b[35m:\u001b[m \u001b[35m{\u001b[m \u001b[36mpg_seq\u001b[m\u001b[35m:\u001b[m \u001b[31m1\u001b[m, \u001b[36mpg_role\u001b[m\u001b[35m:\u001b[m primary \u001b[35m}\u001b[m  \u001b[34m # primary instance, leader of cluster\u001b[m\u001b[30;103H\u001b[K\u001b[30;103H63,1\u001b[10C27%\u001b[24;1H\u001b[?25h"]
[0.022, "o", "\u001b[?25l\u001b[30;93Hj\u001b[24;1H"]
[0.001, "o", "\u001b[30;93H \u001b[24;1H\u001b[1;29r\u001b[29;1H\r\n\u001b[1;30r\u001b[29;9H\u001b[36m10.10.10.12\u001b[m\u001b[35m:\u001b[m \u001b[35m{\u001b[m \u001b[36mpg_seq\u001b[m\u001b[35m:\u001b[m \u001b[31m2\u001b[m, \u001b[36mpg_role\u001b[m\u001b[35m:\u001b[m replica \u001b[35m}\u001b[m  \u001b[34m # replica instance, follower of leader\u001b[m\u001b[30;103H\u001b[K\u001b[30;103H64,0-1\u001b[8C28%\u001b[24;1H\u001b[?25h"]
[0.046, "o", "\u001b[?25l\u001b[30;93Hj\u001b[24;1H"]
[0.001, "o", "\u001b[30;93H \u001b[24;1H\u001b[1;29r\u001b[29;1H\r\n\u001b[1;30r\u001b[29;9H\u001b[36m10.10.10.13\u001b[m\u001b[35m:\u001b[m \u001b[35m{\u001b[m \u001b[36mpg_seq\u001b[m\u001b[35m:\u001b[m \u001b[31m3\u001b[m, \u001b[36mpg_role\u001b[m\u001b[35m:\u001b[m replica, \u001b[36mpg_offline_query\u001b[m\u001b[35m:\u001b[m \u001b[31mtrue\u001b[m \u001b[35m}\u001b[m\u001b[34m # replica with offline access\u001b[m\u001b[30;103H\u001b[K\u001b[30;103H65,1\u001b[10C28%\u001b[24;1H\u001b[?25h"]
[0.020, "o", "\u001b[?25l\u001b[30;93Hj\u001b[24;1H"]
[0.000, "o", "\u001b[30;93H \u001b[24;1H\u001b[1;29r\u001b[29;1H\r\n\u001b[1;30r\u001b[29;7H\u001b[36mvars\u001b[m\u001b[35m:\u001b[m\u001b[30;103H\u001b[K\u001b[30;103H66,1\u001b[10C29%\u001b[24;1H\u001b[?25h"]
[0.045, "o", "\u001b[?25l\u001b[30;93Hj\u001b[24;1H"]
[0.001, "o", "\u001b[30;93H \u001b[24;1H\u001b[1;29r\u001b[29;1H\r\n\u001b[1;30r\u001b[29;9H\u001b[36mpg_cluster\u001b[m\u001b[35m:\u001b[m pg-test\u001b[10C\u001b[34m # define pgsql cluster name\u001b[m\u001b[30;103H\u001b[K\u001b[30;103H67,1\u001b[10C30%\u001b[24;1H\u001b[?25h"]
[0.020, "o", "\u001b[?25l\u001b[30;93Hj\u001b[24;1H"]
[0.001, "o", "\u001b[30;93H \u001b[24;1H\u001b[1;29r\u001b[29;1H\r\n\u001b[1;30r\u001b[29;9H\u001b[36mpg_users\u001b[m\u001b[35m:\u001b[m  \u001b[35m[{\u001b[m \u001b[36mname\u001b[m\u001b[35m:\u001b[m test , \u001b[36mpassword\u001b[m\u001b[35m:\u001b[m test , \u001b[36mpgbouncer\u001b[m\u001b[35m:\u001b[m \u001b[31mtrue\u001b[m , \u001b[36mroles\u001b[m\u001b[35m:\u001b[m \u001b[35m[\u001b[m dbrole_admin \u001b[35m]\u001b[m \u001b[35m}]\u001b[m\u001b[30;103H\u001b[K\u001b[30;103H68,1\u001b[10C30%\u001b[24;1H\u001b[?25h"]
[0.045, "o", "\u001b[?25l\u001b[30;93Hj\u001b[24;1H"]
[0.000, "o", "\u001b[30;93H \u001b[24;1H\u001b[1;29r\u001b[29;1H\r\n\u001b[1;30r\u001b[29;9H\u001b[36mpg_databases\u001b[m\u001b[35m:\u001b[m \u001b[35m[{\u001b[m \u001b[36mname\u001b[m\u001b[35m:\u001b[m test \u001b[35m}]\u001b[m\u001b[30;103H\u001b[K\u001b[30;103H69,1\u001b[10C31%\u001b[24;1H\u001b[?25h"]
[0.020, "o", "\u001b[?25l\u001b[30;93Hj\u001b[24;1H"]
[0.000, "o", "\u001b[30;93H \u001b[24;1H\u001b[1;29r\u001b[29;1H\r\n\u001b[1;30r\u001b[29;9H\u001b[36mpg_vip_enabled\u001b[m\u001b[35m:\u001b[m \u001b[31mtrue\u001b[m\u001b[30;103H\u001b[K\u001b[30;103H70,1\u001b[10C32%\u001b[24;1H\u001b[?25h"]
[0.044, "o", "\u001b[?25l\u001b[30;93Hj\u001b[24;1H"]
[0.001, "o", "\u001b[30;93H \u001b[24;1H\u001b[1;29r\u001b[29;1H\r\n\u001b[1;30r\u001b[29;9H\u001b[36mpg_vip_address\u001b[m\u001b[35m:\u001b[m 10.10.10.3/24\u001b[30;103H\u001b[K\u001b[30;103H71,1\u001b[10C32%\u001b[24;1H\u001b[?25h"]
[0.044, "o", "\u001b[?25l\u001b[30;93Hj\u001b[24;1H"]
[0.000, "o", "\u001b[30;93H \u001b[24;1H\u001b[1;29r\u001b[29;1H\r\n\u001b[1;30r\u001b[29;9H\u001b[36mpg_vip_interface\u001b[m\u001b[35m:\u001b[m eth1\u001b[30;103H\u001b[K\u001b[30;103H72,1\u001b[10C33%\u001b[24;1H\u001b[?25h"]
[0.021, "o", "\u001b[?25l\u001b[30;93Hj\u001b[24;1H"]
[0.001, "o", "\u001b[30;93H \u001b[24;1H\u001b[1;29r\u001b[29;1H\r\n\u001b[1;30r\u001b[29;9H\u001b[36mnode_crontab\u001b[m\u001b[35m:\u001b[m \u001b[34m # make a full backup on monday 1am, and an incremental backup during weekdays\u001b[m\u001b[30;103H\u001b[K\u001b[30;103H73,1\u001b[10C33%\u001b[24;1H\u001b[?25h"]
[0.332, "o", "\u001b[?25l\u001b[30;93Hj\u001b[24;1H"]
[0.000, "o", "\u001b[30;93H \u001b[23;1H\u001b[1;29r\u001b[1;1H\u001b[2M\u001b[1;30r\u001b[28;11H\u001b[38;5;130m- \u001b[m\u001b[31m'00 01 * * 1 postgres /pg/bin/pg-backup full'\u001b[m\u001b[29;11H\u001b[38;5;130m- \u001b[m\u001b[31m'00 01 * * 2,3,4,5,6,7 postgres /pg/bin/pg-backup'\u001b[m\u001b[30;103H\u001b[K\u001b[30;103H74,1\u001b[10C34%\u001b[23;1H\u001b[?25h"]
[0.940, "o", "\u001b[?25l\u001b[30;93H:\u001b[23;1H\u001b[30;93H\u001b[K\u001b[30;1H:\u001b[?25h"]
[0.214, "o", "q"]
[0.117, "o", "\r"]
[0.000, "o", "\u001b[?25l\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.001, "o", "\u001b[?2004h\u001b]0;vonng@vonng-aimax: ~/pigsty\u0007\u001b[01;32mvonng@vonng-aimax\u001b[00m:\u001b[01;34m~/pigsty\u001b[00m$ "]
[0.533, "o", "\u001b[7m./pgsql.yml \u001b[27m"]
[0.417, "o", "\b\b\b\b\b\b\b\b\b\b\b\b./pgsql.yml "]
[1.203, "o", "\r\n\u001b[?2004l\r"]
[0.265, "o", "\r\nPLAY [PGSQL] ***********************************************************************************************************\r\n"]
[0.020, "o", "\r\nTASK [node_id : get node fact] *****************************************************************************************\r\n"]
[0.200, "o", "\u001b[0;33mchanged: [10.10.10.11]\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.13]\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.12]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [node_id : set node fact] *****************************************************************************************\r\n"]
[0.019, "o", "\u001b[0;32mok: [10.10.10.11]\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[0.003, "o", "\u001b[0;32mok: [10.10.10.12]\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;32mok: [10.10.10.13]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [node_id : fill empty nodename with hostname] *********************************************************************\r\n"]
[0.016, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n\u001b[0;36mskipping: [10.10.10.11]\u001b[0m\r\n"]
[0.002, "o", "\u001b[0;36mskipping: [10.10.10.12]\u001b[0m\r\n"]
[0.003, "o", "\u001b[0;36mskipping: [10.10.10.13]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [node_id : build node identity] ***********************************************************************************\r\n"]
[0.022, "o", "\u001b[0;32mok: [10.10.10.11]\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[0.003, "o", "\u001b[0;32mok: [10.10.10.12]\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;32mok: [10.10.10.13]\u001b[0m\r\n"]
[0.002, "o", "\r\nTASK [node_id : load roles/node_id/vars/u24.x86_64.yml] ****************************************************************\r\n"]
[0.015, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[0.003, "o", "\u001b[0;32mok: [10.10.10.11]\u001b[0m\r\n"]
[0.002, "o", "\u001b[0;32mok: [10.10.10.12]\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;32mok: [10.10.10.13]\u001b[0m\r\n"]
[0.002, "o", "\r\nTASK [node_id : fallback to u24.x86_64.yml if u24.x86_64.yml not exists] ***********************************************\r\n"]
[0.008, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;36mskipping: [10.10.10.11]\u001b[0m\r\n"]
[0.002, "o", "\u001b[0;36mskipping: [10.10.10.12]\u001b[0m\r\n"]
[0.002, "o", "\u001b[0;36mskipping: [10.10.10.13]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [node_id : print node identity] ***********************************************************************************\r\n"]
[0.018, "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: c8m16, os: ubuntu.24.x86_64 u24: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.000, "o", "\u001b[0;32mok: [10.10.10.11] => {\u001b[0m\r\n\u001b[0;32m    \"msg\": \"nodename: pg-test-1, node_cluster: pg-test, spec: c4m8, os: ubuntu.24.x86_64 u24:deb,   [PGSQL: pg-test] [REDIS: redis-meta]    \"\u001b[0m\r\n\u001b[0;32m}\u001b[0m\r\n"]
[0.003, "o", "\u001b[0;32mok: [10.10.10.12] => {\u001b[0m\r\n\u001b[0;32m    \"msg\": \"nodename: pg-test-2, node_cluster: pg-test, spec: c4m8, os: ubuntu.24.x86_64 u24:deb,   [PGSQL: pg-test] [REDIS: redis-test]    \"\u001b[0m\r\n\u001b[0;32m}\u001b[0m\r\n"]
[0.003, "o", "\u001b[0;32mok: [10.10.10.13] => {\u001b[0m\r\n\u001b[0;32m    \"msg\": \"nodename: pg-test-3, node_cluster: pg-test, spec: c4m8, os: ubuntu.24.x86_64 u24:deb,   [PGSQL: pg-test] [REDIS: redis-test]    \"\u001b[0m\r\n\u001b[0;32m}\u001b[0m\r\n"]
[0.002, "o", "\r\nTASK [pg_id : get pgsql identity] **************************************************************************************\r\n"]
[0.100, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[0.027, "o", "\u001b[0;32mok: [10.10.10.12]\u001b[0m\r\n"]
[0.006, "o", "\u001b[0;32mok: [10.10.10.13]\u001b[0m\r\n"]
[0.005, "o", "\u001b[0;32mok: [10.10.10.11]\u001b[0m\r\n"]
[0.000, "o", "\r\nTASK [pg_id : build pgsql identity] ************************************************************************************\r\n"]
[0.097, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[0.013, "o", "\u001b[0;32mok: [10.10.10.11]\u001b[0m\r\n\u001b[0;32mok: [10.10.10.13]\u001b[0m\r\n\u001b[0;32mok: [10.10.10.12]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [pg_id : print pgsql identity] ************************************************************************************\r\n"]
[0.081, "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.001, "o", "\u001b[0;32mok: [10.10.10.13] => {\u001b[0m\r\n\u001b[0;32m    \"msg\": \"  [replica] pg-test-3 @ 10.10.10.13 , ins = pg-test-3 , cls = pg-test , REPLICATE PRIMARY pg-test-1 @ 10.10.10.11 -> pg-test-3  [OFFLINE]  , postgres://10.10.10.13:5432/postgres\"\u001b[0m\r\n\u001b[0;32m}\u001b[0m\r\n\u001b[0;32mok: [10.10.10.12] => {\u001b[0m\r\n\u001b[0;32m    \"msg\": \"  [replica] pg-test-2 @ 10.10.10.12 , ins = pg-test-2 , cls = pg-test , REPLICATE PRIMARY pg-test-1 @ 10.10.10.11 -> pg-test-2   , postgres://10.10.10.12:5432/postgres\"\u001b[0m\r\n\u001b[0;32m}\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;32mok: [10.10.10.11] => {\u001b[0m\r\n\u001b[0;32m    \"msg\": \"  [primary] pg-test-1 @ 10.10.10.11 , ins = pg-test-1 , cls = pg-test ,  CLUSTER LEADER @ pg-test-1    , postgres://10.10.10.11:5432/postgres\"\u001b[0m\r\n\u001b[0;32m}\u001b[0m\r\n"]
[0.003, "o", "\r\nTASK [pgsql : use another default pg_dbsu_uid for deb system] **********************************************************\r\n"]
[0.010, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;32mok: [10.10.10.11]\u001b[0m\r\n"]
[0.003, "o", "\u001b[0;32mok: [10.10.10.12]\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;32mok: [10.10.10.13]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [pgsql : create os group postgres] ********************************************************************************\r\n"]
[0.159, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[1.025, "o", "\u001b[0;33mchanged: [10.10.10.13]\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.11]\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.12]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [pgsql : create postgres dbsu] ************************************************************************************\r\n"]
[0.200, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[1.210, "o", "\u001b[0;33mchanged: [10.10.10.11]\u001b[0m\r\n"]
[0.040, "o", "\u001b[0;33mchanged: [10.10.10.12]\u001b[0m\r\n"]
[0.047, "o", "\u001b[0;33mchanged: [10.10.10.13]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [pgsql : grant postgres dbsu sudo privilege] **********************************************************************\r\n"]
[0.370, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[1.984, "o", "\u001b[0;33mchanged: [10.10.10.12]\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.11]\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.13]\u001b[0m\r\n"]
[0.002, "o", "\r\nTASK [pgsql : config postgres dbsu ssh no host checking] ***************************************************************\r\n"]
[0.151, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[1.005, "o", "\u001b[0;33mchanged: [10.10.10.11]\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.12]\u001b[0m\r\n"]
[0.002, "o", "\u001b[0;33mchanged: [10.10.10.13]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [pgsql : fetch postgres dbsu public keys] *************************************************************************\r\n"]
[0.115, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[1.012, "o", "\u001b[0;33mchanged: [10.10.10.11]\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.13]\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.12]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [pgsql : exchange postgres dbsu ssh keys] *************************************************************************\r\n"]
[0.246, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=['ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCeRWG6SED93VDcarS9Lb3hocnbu5MKb0meJbvXwII6Z5K7T7z+87catsKW9sm6Bq6bzg+qolMbm6V5aligwGwRx2rBhf+GK+4aKlV6EIyv+7xDno76BupCE1Gdu2tF3Pw/jcsjyS6iCW8LYBRCt5CTNtwO1i8d29WJjwjFl8OMoQLA6Hc5z/nQAccsBmOKHjjvg93qjlpAfK7H2AXRDFK/ENfij/eHZKEhA8AMCgz9rf/U+7nNhRIiJ9p+ZIBN08AUcyaQgYLE9vrEhyAwBAuST3IpbrkMex+qpdm+E/DBmresJvTRteSS5nhhUjp98GKLDyxjTblWW+6ayoeqCtZ0FEyecrgOUVDkbaIuow76+anSvznq4xtyXzp67mGz5PY1emPa+fybCO4FeRPpjuk/EczilUv0LnRpZI83zMw2FTZj0x/6gD8HSZ00f0yg4+e6S+njCR9Ri69EVum8UI5InYaWsMutURfMeH6vCCzUEXWwcznud52kWhM0O8EJmZ8= ansible-generated on pg-meta-1', '10.10.10.10'])\u001b[0m\r\n"]
[1.005, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item=['ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCZiY2pGebqVtdER2JcgHWVELydBayxWUG+qSyVLHj8qBZAc2KLuYrx7wGuF0+voErGrLZbQWJ7PIOSQkwSor9yM9qrI8zrbD0/DDrWayNlZDybYXjQU61WP+3atQW865c3LBO6xC8nr+0Yc1+/3YZZAK6GKucr+TzVze0wSFHyrskclCDMQYD5XntubnWSiGuSKE/hLHNkDwFnp6UGD6a3N9FqDGc7sVIe1nb3kkO1R92obMAgmackGEDSjRBiaxtDea4BKwzi926KCaizZq8WjmUZTMHr0cUKhMDltooRo30R6jKbvBPEwEFfktW/f6s7MZOVilof7jwkjXuA8IhVs7ncnuRcxvYXR1jFvhjLFr0Gdi9sQJMUiBqtnssc6MuFiYuf38qtYOKdy4HEQtIhZCcqTTGd/GXX/mZiUot1AZVdUaPt7ARzyfuf1RZq/qvVU0kn+m/FngNQMYajAz/dx4F94sPw46S3ubLV8wT0SgXWo+8YfolfJkIxtpDimiE= ansible-generated on pg-test-1', '10.10.10.11'])\u001b[0m\r\n"]
[0.004, "o", "\u001b[0;33mchanged: [10.10.10.12 -> 10.10.10.11] => (item=['ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDmnD/Qu1Dyf/ZlZcd07J6+M7zMiAQux24xg5YOtlmfLYKU//WyUtLnxr1jHdbXa6proKYr94BXxg1MgNNTPLNzXBPdoFuAZ78UB997Y2NM8TnhptkZ5MigvxLP+kpaM8ktk/iwOFePbBKQOiHfjKYKVbW0rIBRwD1MNdmvfP4FM5Y9SJnGuIag1C2/+tdqI5RjU3zDMIzryKuWn91EgpNhj1GwQcfSDbORmokqCX4xLuHISOaaBWjIdgfRCShE1i3G28XcsGW6wG3uG58Diu1DmrLkR4uDAsKDlFTiraqt9HhBv0hZDb3jGIceUgjbLmSitjPZgBqfDNGodFe7Dvearj5Q6KQbV/bSKZixJ8xCQgHcjRlOmntWcsyp7Ow1MutuCpmiNP8m5mylz6b3Y1yr2EdzXQqGoCnHTKTFp31pkNDENQXS+fIBFkbXyFm+5cWe2CQNafIB0wDGbGuZLis0H5/xOjxCmQ15baLo7XZCAivzgR4bmPb6u9n0ct6DzvE= ansible-generated on pg-test-2', '10.10.10.11'])\u001b[0m\r\n"]
[0.004, "o", "\u001b[0;33mchanged: [10.10.10.13 -> 10.10.10.11] => (item=['ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC8o38K+In0FjNEQfFBQRg7x66ojL2HjG5LY/UM6SkYv+Imlu+wFxZsdo3UX6HMMcZDOVCKFV9qbG2Yy6ie478tGSXv4HnKxaMu2QeMH/Ntz2KVm1WsTqC7ToFbSCMUiLwrEONT23Xb3BqlphxUWid2wne3Xj0vtrBzZKvTG2Lf73lZDhoXTGqJdcOdioZJnyfPnFCQa3xVCiFc70EMhzj0EqbPw0KNw393mpCCroPcF5lSbkZPsUr8Acacwc2DUS4Xeg1EwzkkvdThCmc+lcMkyop10Wgu/GlUfHVnukU58p+wyUlzrsk40qS8rkzq/GlYUlYQv43JseXhkl/jx+4pr/cUyu88tvM3CUzn6X6m3eANVbPYd+YXfVdUpOZCK03Jxb6pV8fz+c/6SODpk7uUNP9VB5rgA+O4WItkI098An/rt2Kis5YtiNxxWKfmIJ3ffWQXzO9qbWqf1cCdHAXvVmqrYP8ZsFAn4cATuDzYnUp89LbJdgwp+wNcgG4wVBk= ansible-generated on pg-test-3', '10.10.10.11'])\u001b[0m\r\n"]
[1.162, "o", "\u001b[0;33mchanged: [10.10.10.13 -> 10.10.10.12] => (item=['ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC8o38K+In0FjNEQfFBQRg7x66ojL2HjG5LY/UM6SkYv+Imlu+wFxZsdo3UX6HMMcZDOVCKFV9qbG2Yy6ie478tGSXv4HnKxaMu2QeMH/Ntz2KVm1WsTqC7ToFbSCMUiLwrEONT23Xb3BqlphxUWid2wne3Xj0vtrBzZKvTG2Lf73lZDhoXTGqJdcOdioZJnyfPnFCQa3xVCiFc70EMhzj0EqbPw0KNw393mpCCroPcF5lSbkZPsUr8Acacwc2DUS4Xeg1EwzkkvdThCmc+lcMkyop10Wgu/GlUfHVnukU58p+wyUlzrsk40qS8rkzq/GlYUlYQv43JseXhkl/jx+4pr/cUyu88tvM3CUzn6X6m3eANVbPYd+YXfVdUpOZCK03Jxb6pV8fz+c/6SODpk7uUNP9VB5rgA+O4WItkI098An/rt2Kis5YtiNxxWKfmIJ3ffWQXzO9qbWqf1cCdHAXvVmqrYP8ZsFAn4cATuDzYnUp89LbJdgwp+wNcgG4wVBk= ansible-generated on pg-test-3', '10.10.10.12'])\u001b[0m\r\n\u001b[0;33mchanged: [10.10.10.12] => (item=['ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDmnD/Qu1Dyf/ZlZcd07J6+M7zMiAQux24xg5YOtlmfLYKU//WyUtLnxr1jHdbXa6proKYr94BXxg1MgNNTPLNzXBPdoFuAZ78UB997Y2NM8TnhptkZ5MigvxLP+kpaM8ktk/iwOFePbBKQOiHfjKYKVbW0rIBRwD1MNdmvfP4FM5Y9SJnGuIag1C2/+tdqI5RjU3zDMIzryKuWn91EgpNhj1GwQcfSDbORmokqCX4xLuHISOaaBWjIdgfRCShE1i3G28XcsGW6wG3uG58Diu1DmrLkR4uDAsKDlFTiraqt9HhBv0hZDb3jGIceUgjbLmSitjPZgBqfDNGodFe7Dvearj5Q6KQbV/bSKZixJ8xCQgHcjRlOmntWcsyp7Ow1MutuCpmiNP8m5mylz6b3Y1yr2EdzXQqGoCnHTKTFp31pkNDENQXS+fIBFkbXyFm+5cWe2CQNafIB0wDGbGuZLis0H5/xOjxCmQ15baLo7XZCAivzgR4bmPb6u9n0ct6DzvE= ansible-generated on pg-test-2', '10.10.10.12'])\u001b[0m\r\n"]
[0.002, "o", "\u001b[0;33mchanged: [10.10.10.11 -> 10.10.10.12] => (item=['ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCZiY2pGebqVtdER2JcgHWVELydBayxWUG+qSyVLHj8qBZAc2KLuYrx7wGuF0+voErGrLZbQWJ7PIOSQkwSor9yM9qrI8zrbD0/DDrWayNlZDybYXjQU61WP+3atQW865c3LBO6xC8nr+0Yc1+/3YZZAK6GKucr+TzVze0wSFHyrskclCDMQYD5XntubnWSiGuSKE/hLHNkDwFnp6UGD6a3N9FqDGc7sVIe1nb3kkO1R92obMAgmackGEDSjRBiaxtDea4BKwzi926KCaizZq8WjmUZTMHr0cUKhMDltooRo30R6jKbvBPEwEFfktW/f6s7MZOVilof7jwkjXuA8IhVs7ncnuRcxvYXR1jFvhjLFr0Gdi9sQJMUiBqtnssc6MuFiYuf38qtYOKdy4HEQtIhZCcqTTGd/GXX/mZiUot1AZVdUaPt7ARzyfuf1RZq/qvVU0kn+m/FngNQMYajAz/dx4F94sPw46S3ubLV8wT0SgXWo+8YfolfJkIxtpDimiE= ansible-generated on pg-test-1', '10.10.10.12'])\u001b[0m\r\n"]
[1.166, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item=['ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC8o38K+In0FjNEQfFBQRg7x66ojL2HjG5LY/UM6SkYv+Imlu+wFxZsdo3UX6HMMcZDOVCKFV9qbG2Yy6ie478tGSXv4HnKxaMu2QeMH/Ntz2KVm1WsTqC7ToFbSCMUiLwrEONT23Xb3BqlphxUWid2wne3Xj0vtrBzZKvTG2Lf73lZDhoXTGqJdcOdioZJnyfPnFCQa3xVCiFc70EMhzj0EqbPw0KNw393mpCCroPcF5lSbkZPsUr8Acacwc2DUS4Xeg1EwzkkvdThCmc+lcMkyop10Wgu/GlUfHVnukU58p+wyUlzrsk40qS8rkzq/GlYUlYQv43JseXhkl/jx+4pr/cUyu88tvM3CUzn6X6m3eANVbPYd+YXfVdUpOZCK03Jxb6pV8fz+c/6SODpk7uUNP9VB5rgA+O4WItkI098An/rt2Kis5YtiNxxWKfmIJ3ffWQXzO9qbWqf1cCdHAXvVmqrYP8ZsFAn4cATuDzYnUp89LbJdgwp+wNcgG4wVBk= ansible-generated on pg-test-3', '10.10.10.13'])\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.11 -> 10.10.10.13] => (item=['ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCZiY2pGebqVtdER2JcgHWVELydBayxWUG+qSyVLHj8qBZAc2KLuYrx7wGuF0+voErGrLZbQWJ7PIOSQkwSor9yM9qrI8zrbD0/DDrWayNlZDybYXjQU61WP+3atQW865c3LBO6xC8nr+0Yc1+/3YZZAK6GKucr+TzVze0wSFHyrskclCDMQYD5XntubnWSiGuSKE/hLHNkDwFnp6UGD6a3N9FqDGc7sVIe1nb3kkO1R92obMAgmackGEDSjRBiaxtDea4BKwzi926KCaizZq8WjmUZTMHr0cUKhMDltooRo30R6jKbvBPEwEFfktW/f6s7MZOVilof7jwkjXuA8IhVs7ncnuRcxvYXR1jFvhjLFr0Gdi9sQJMUiBqtnssc6MuFiYuf38qtYOKdy4HEQtIhZCcqTTGd/GXX/mZiUot1AZVdUaPt7ARzyfuf1RZq/qvVU0kn+m/FngNQMYajAz/dx4F94sPw46S3ubLV8wT0SgXWo+8YfolfJkIxtpDimiE= ansible-generated on pg-test-1', '10.10.10.13'])\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.12 -> 10.10.10.13] => (item=['ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDmnD/Qu1Dyf/ZlZcd07J6+M7zMiAQux24xg5YOtlmfLYKU//WyUtLnxr1jHdbXa6proKYr94BXxg1MgNNTPLNzXBPdoFuAZ78UB997Y2NM8TnhptkZ5MigvxLP+kpaM8ktk/iwOFePbBKQOiHfjKYKVbW0rIBRwD1MNdmvfP4FM5Y9SJnGuIag1C2/+tdqI5RjU3zDMIzryKuWn91EgpNhj1GwQcfSDbORmokqCX4xLuHISOaaBWjIdgfRCShE1i3G28XcsGW6wG3uG58Diu1DmrLkR4uDAsKDlFTiraqt9HhBv0hZDb3jGIceUgjbLmSitjPZgBqfDNGodFe7Dvearj5Q6KQbV/bSKZixJ8xCQgHcjRlOmntWcsyp7Ow1MutuCpmiNP8m5mylz6b3Y1yr2EdzXQqGoCnHTKTFp31pkNDENQXS+fIBFkbXyFm+5cWe2CQNafIB0wDGbGuZLis0H5/xOjxCmQ15baLo7XZCAivzgR4bmPb6u9n0ct6DzvE= ansible-generated on pg-test-2', '10.10.10.13'])\u001b[0m\r\n"]
[0.003, "o", "\r\nTASK [pgsql : lookup pg packages & extensions names] *******************************************************************\r\n"]
[0.022, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;32mok: [10.10.10.11]\u001b[0m\r\n"]
[0.003, "o", "\u001b[0;32mok: [10.10.10.12]\u001b[0m\r\n"]
[0.002, "o", "\u001b[0;32mok: [10.10.10.13]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [pgsql : postgres pre-install setup] ******************************************************************************\r\n"]
[0.015, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n\u001b[0;36mskipping: [10.10.10.11]\u001b[0m\r\n"]
[0.004, "o", "\u001b[0;36mskipping: [10.10.10.12]\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;36mskipping: [10.10.10.13]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [pgsql : install postgres packages] *******************************************************************************\r\n"]
[9.955, "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,patroni,python3-etcd,pgbouncer,pgbackrest,pg-exporter,pgbackrest-exporter,vip-manager)\u001b[0m\r\n"]
[4.488, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item=postgresql-18,postgresql-client-18,postgresql-plpython3-18,postgresql-plperl-18,postgresql-pltcl-18,postgresql-18-repack,postgresql-18-wal2json,postgresql-18-pgvector,patroni,python3-etcd,pgbouncer,pgbackrest,pg-exporter,pgbackrest-exporter,vip-manager)\u001b[0m\r\n"]
[0.023, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item=postgresql-18,postgresql-client-18,postgresql-plpython3-18,postgresql-plperl-18,postgresql-pltcl-18,postgresql-18-repack,postgresql-18-wal2json,postgresql-18-pgvector,patroni,python3-etcd,pgbouncer,pgbackrest,pg-exporter,pgbackrest-exporter,vip-manager)\u001b[0m\r\n"]
[0.002, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item=postgresql-18,postgresql-client-18,postgresql-plpython3-18,postgresql-plperl-18,postgresql-pltcl-18,postgresql-18-repack,postgresql-18-wal2json,postgresql-18-pgvector,patroni,python3-etcd,pgbouncer,pgbackrest,pg-exporter,pgbackrest-exporter,vip-manager)\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [pgsql : install postgres extensions] *****************************************************************************\r\n"]
[0.015, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.003, "o", "\u001b[0;36mskipping: [10.10.10.11]\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;36mskipping: [10.10.10.12]\u001b[0m\r\n"]
[0.002, "o", "\u001b[0;36mskipping: [10.10.10.13]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [pgsql : postgres post-install cleanup] ***************************************************************************\r\n"]
[0.922, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[1.041, "o", "\u001b[0;33mchanged: [10.10.10.12]\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.13]\u001b[0m\r\n"]
[0.003, "o", "\u001b[0;33mchanged: [10.10.10.11]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [pgsql : link postgres home] **************************************************************************************\r\n"]
[0.133, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[1.004, "o", "\u001b[0;33mchanged: [10.10.10.13]\u001b[0m\r\n"]
[0.003, "o", "\u001b[0;33mchanged: [10.10.10.12]\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.11]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [pgsql : setup pgsql path] ****************************************************************************************\r\n"]
[0.279, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[2.009, "o", "\u001b[0;33mchanged: [10.10.10.12]\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.11]\u001b[0m\r\n"]
[0.006, "o", "\u001b[0;33mchanged: [10.10.10.13]\u001b[0m\r\n"]
[0.002, "o", "\r\nTASK [pgsql : create pgsql directories] ********************************************************************************\r\n"]
[0.132, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'path': '/data/postgres', 'mode': '0700'})\u001b[0m\r\n"]
[0.118, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'path': '/data/backups', 'mode': '0700'})\u001b[0m\r\n"]
[0.113, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'path': '/data/postgres/pg-meta-18', 'mode': '0700'})\u001b[0m\r\n"]
[0.111, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'path': '/data/postgres/pg-meta-18/bin', 'mode': '0700'})\u001b[0m\r\n"]
[0.116, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'path': '/data/postgres/pg-meta-18/log', 'mode': '0750'})\u001b[0m\r\n"]
[0.111, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'path': '/data/postgres/pg-meta-18/tmp', 'mode': '0700'})\u001b[0m\r\n"]
[0.112, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'path': '/data/postgres/pg-meta-18/cert', 'mode': '0700'})\u001b[0m\r\n"]
[0.112, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'path': '/data/postgres/pg-meta-18/conf', 'mode': '0700'})\u001b[0m\r\n"]
[0.111, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'path': '/data/postgres/pg-meta-18/data', 'mode': '0700'})\u001b[0m\r\n"]
[0.105, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item={'path': '/data/postgres', 'mode': '0700'})\u001b[0m\r\n"]
[0.004, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item={'path': '/data/postgres', 'mode': '0700'})\u001b[0m\r\n"]
[0.008, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'path': '/data/postgres/pg-meta-18/spool', 'mode': '0700'})\u001b[0m\r\n"]
[0.002, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item={'path': '/data/postgres', 'mode': '0700'})\u001b[0m\r\n"]
[0.106, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'path': '/data/backups/pg-meta-18/backup', 'mode': '0700'})\u001b[0m\r\n"]
[0.110, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'path': '/var/run/postgresql', 'mode': '0755'})\u001b[0m\r\n"]
[0.111, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'path': '/etc/patroni', 'mode': '0700'})\u001b[0m\r\n"]
[0.114, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'path': '/etc/pgbackrest', 'mode': '0700'})\u001b[0m\r\n"]
[0.110, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'path': '/etc/pgbouncer', 'mode': '0700'})\u001b[0m\r\n"]
[0.110, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'path': '/etc/pg_exporter', 'mode': '0700'})\u001b[0m\r\n"]
[0.447, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item={'path': '/data/backups', 'mode': '0700'})\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item={'path': '/data/backups', 'mode': '0700'})\u001b[0m\r\n"]
[0.014, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item={'path': '/data/backups', 'mode': '0700'})\u001b[0m\r\n"]
[1.105, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item={'path': '/data/postgres/pg-test-18', 'mode': '0700'})\u001b[0m\r\n\u001b[0;33mchanged: [10.10.10.11] => (item={'path': '/data/postgres/pg-test-18', 'mode': '0700'})\u001b[0m\r\n"]
[0.014, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item={'path': '/data/postgres/pg-test-18', 'mode': '0700'})\u001b[0m\r\n"]
[1.109, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item={'path': '/data/postgres/pg-test-18/bin', 'mode': '0700'})\u001b[0m\r\n"]
[0.002, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item={'path': '/data/postgres/pg-test-18/bin', 'mode': '0700'})\u001b[0m\r\n"]
[0.006, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item={'path': '/data/postgres/pg-test-18/bin', 'mode': '0700'})\u001b[0m\r\n"]
[1.115, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item={'path': '/data/postgres/pg-test-18/log', 'mode': '0750'})\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item={'path': '/data/postgres/pg-test-18/log', 'mode': '0750'})\u001b[0m\r\n"]
[0.003, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item={'path': '/data/postgres/pg-test-18/log', 'mode': '0750'})\u001b[0m\r\n"]
[1.119, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item={'path': '/data/postgres/pg-test-18/tmp', 'mode': '0700'})\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item={'path': '/data/postgres/pg-test-18/tmp', 'mode': '0700'})\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item={'path': '/data/postgres/pg-test-18/tmp', 'mode': '0700'})\u001b[0m\r\n"]
[1.117, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item={'path': '/data/postgres/pg-test-18/cert', 'mode': '0700'})\u001b[0m\r\n"]
[0.002, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item={'path': '/data/postgres/pg-test-18/cert', 'mode': '0700'})\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item={'path': '/data/postgres/pg-test-18/cert', 'mode': '0700'})\u001b[0m\r\n"]
[1.119, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item={'path': '/data/postgres/pg-test-18/conf', 'mode': '0700'})\u001b[0m\r\n"]
[0.002, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item={'path': '/data/postgres/pg-test-18/conf', 'mode': '0700'})\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item={'path': '/data/postgres/pg-test-18/conf', 'mode': '0700'})\u001b[0m\r\n"]
[1.118, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item={'path': '/data/postgres/pg-test-18/data', 'mode': '0700'})\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item={'path': '/data/postgres/pg-test-18/data', 'mode': '0700'})\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item={'path': '/data/postgres/pg-test-18/data', 'mode': '0700'})\u001b[0m\r\n"]
[1.118, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item={'path': '/data/postgres/pg-test-18/spool', 'mode': '0700'})\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item={'path': '/data/postgres/pg-test-18/spool', 'mode': '0700'})\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item={'path': '/data/postgres/pg-test-18/spool', 'mode': '0700'})\u001b[0m\r\n"]
[1.118, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item={'path': '/data/backups/pg-test-18/backup', 'mode': '0700'})\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item={'path': '/data/backups/pg-test-18/backup', 'mode': '0700'})\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item={'path': '/data/backups/pg-test-18/backup', 'mode': '0700'})\u001b[0m\r\n"]
[1.120, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item={'path': '/var/run/postgresql', 'mode': '0755'})\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item={'path': '/var/run/postgresql', 'mode': '0755'})\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item={'path': '/var/run/postgresql', 'mode': '0755'})\u001b[0m\r\n"]
[1.117, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item={'path': '/etc/patroni', 'mode': '0700'})\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item={'path': '/etc/patroni', 'mode': '0700'})\u001b[0m\r\n"]
[0.002, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item={'path': '/etc/patroni', 'mode': '0700'})\u001b[0m\r\n"]
[1.117, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item={'path': '/etc/pgbackrest', 'mode': '0700'})\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item={'path': '/etc/pgbackrest', 'mode': '0700'})\u001b[0m\r\n"]
[0.002, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item={'path': '/etc/pgbackrest', 'mode': '0700'})\u001b[0m\r\n"]
[1.115, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item={'path': '/etc/pgbouncer', 'mode': '0700'})\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item={'path': '/etc/pgbouncer', 'mode': '0700'})\u001b[0m\r\n"]
[0.003, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item={'path': '/etc/pgbouncer', 'mode': '0700'})\u001b[0m\r\n"]
[1.115, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item={'path': '/etc/pg_exporter', 'mode': '0700'})\u001b[0m\r\n"]
[0.005, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item={'path': '/etc/pg_exporter', 'mode': '0700'})\u001b[0m\r\n"]
[0.005, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item={'path': '/etc/pg_exporter', 'mode': '0700'})\u001b[0m\r\n"]
[0.003, "o", "\r\nTASK [pgsql : link pgsql directories] **********************************************************************************\r\n"]
[0.123, "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.114, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'src': '/data/postgres/pg-meta-18', 'dest': '/pg'})\u001b[0m\r\n"]
[0.892, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item={'src': '/data/backups/pg-test-18/backup', 'dest': '/data/postgres/pg-test-18/backup'})\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item={'src': '/data/backups/pg-test-18/backup', 'dest': '/data/postgres/pg-test-18/backup'})\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item={'src': '/data/backups/pg-test-18/backup', 'dest': '/data/postgres/pg-test-18/backup'})\u001b[0m\r\n"]
[1.117, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item={'src': '/data/postgres/pg-test-18', 'dest': '/pg'})\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item={'src': '/data/postgres/pg-test-18', 'dest': '/pg'})\u001b[0m\r\n"]
[0.002, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item={'src': '/data/postgres/pg-test-18', 'dest': '/pg'})\u001b[0m\r\n"]
[0.003, "o", "\r\nTASK [pgsql : create log directories] **********************************************************************************\r\n"]
[0.120, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=/pg/log/postgres)\u001b[0m\r\n"]
[0.111, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=/pg/log/patroni)\u001b[0m\r\n"]
[0.112, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=/pg/log/pgbouncer)\u001b[0m\r\n"]
[0.110, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=/pg/log/pgbackrest)\u001b[0m\r\n"]
[0.675, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item=/pg/log/postgres)\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item=/pg/log/postgres)\u001b[0m\r\n"]
[0.004, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item=/pg/log/postgres)\u001b[0m\r\n"]
[1.116, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item=/pg/log/patroni)\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item=/pg/log/patroni)\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item=/pg/log/patroni)\u001b[0m\r\n"]
[1.115, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item=/pg/log/pgbouncer)\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item=/pg/log/pgbouncer)\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item=/pg/log/pgbouncer)\u001b[0m\r\n"]
[1.117, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item=/pg/log/pgbackrest)\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item=/pg/log/pgbackrest)\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item=/pg/log/pgbackrest)\u001b[0m\r\n"]
[0.019, "o", "\r\nTASK [pgsql : create tmpfiles.d for /var/run/postgresql] ***************************************************************\r\n"]
[0.266, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[2.019, "o", "\u001b[0;33mchanged: [10.10.10.11]\u001b[0m\r\n"]
[0.004, "o", "\u001b[0;33mchanged: [10.10.10.13]\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.12]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [pgsql : copy /pg/bin scripts] ************************************************************************************\r\n"]
[3.732, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[32.169, "o", "\u001b[0;33mchanged: [10.10.10.12]\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.13]\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.11]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [pgsql : copy pgsql/psql alias] ***********************************************************************************\r\n"]
[0.285, "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.258, "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"]
[1.750, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item={'src': 'pg-alias', 'dest': '/etc/profile.d/pg-alias.sh', 'owner': 'root', 'group': 'root', 'mode': '0644'})\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item={'src': 'pg-alias', 'dest': '/etc/profile.d/pg-alias.sh', 'owner': 'root', 'group': 'root', 'mode': '0644'})\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item={'src': 'pg-alias', 'dest': '/etc/profile.d/pg-alias.sh', 'owner': 'root', 'group': 'root', 'mode': '0644'})\u001b[0m\r\n"]
[2.269, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item={'src': 'psqlrc', 'dest': '/var/lib/pgsql/.psqlrc', 'owner': 'postgres', 'group': 'postgres', 'mode': '0600'})\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item={'src': 'psqlrc', 'dest': '/var/lib/pgsql/.psqlrc', 'owner': 'postgres', 'group': 'postgres', 'mode': '0600'})\u001b[0m\r\n"]
[0.002, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item={'src': 'psqlrc', 'dest': '/var/lib/pgsql/.psqlrc', 'owner': 'postgres', 'group': 'postgres', 'mode': '0600'})\u001b[0m\r\n"]
[0.002, "o", "\r\nTASK [pgsql : create pgsql dummy file] *********************************************************************************\r\n"]
[0.128, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[1.011, "o", "\u001b[0;33mchanged: [10.10.10.13]\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.12]\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.11]\u001b[0m\r\n"]
[0.002, "o", "\r\nTASK [pgsql : create etcd user for pg cluster] *************************************************************************\r\n"]
[0.021, "o", "\u001b[0;36mskipping: [10.10.10.12]\u001b[0m\r\n"]
[0.002, "o", "\u001b[0;36mskipping: [10.10.10.13]\u001b[0m\r\n"]
[0.543, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.046, "o", "\u001b[0;33mchanged: [10.10.10.11 -> 10.10.10.10]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [pgsql : get pgsql fs size] ***************************************************************************************\r\n"]
[0.135, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[1.005, "o", "\u001b[0;33mchanged: [10.10.10.11]\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.13]\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.12]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [pgsql : print postgres node spec] ********************************************************************************\r\n"]
[0.020, "o", "\u001b[0;32mok: [10.10.10.10] => {\u001b[0m\r\n\u001b[0;32m    \"msg\": \"Node=8c16g oltp, Memory=3900MB of 15992MB , Disk=128GB SSD @ /data/postgres, PG Conf=oltp.yml\"\u001b[0m\r\n\u001b[0;32m}\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;32mok: [10.10.10.11] => {\u001b[0m\r\n\u001b[0;32m    \"msg\": \"Node=4c8g oltp, Memory=1900MB of 7942MB , Disk=128GB SSD @ /data/postgres, PG Conf=oltp.yml\"\u001b[0m\r\n\u001b[0;32m}\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;32mok: [10.10.10.12] => {\u001b[0m\r\n\u001b[0;32m    \"msg\": \"Node=4c8g oltp, Memory=1900MB of 7942MB , Disk=128GB SSD @ /data/postgres, PG Conf=oltp.yml\"\u001b[0m\r\n\u001b[0;32m}\u001b[0m\r\n"]
[0.005, "o", "\u001b[0;32mok: [10.10.10.13] => {\u001b[0m\r\n\u001b[0;32m    \"msg\": \"Node=4c8g oltp, Memory=1900MB of 7942MB , Disk=128GB SSD @ /data/postgres, PG Conf=oltp.yml\"\u001b[0m\r\n\u001b[0;32m}\u001b[0m\r\n"]
[0.000, "o", "\r\nTASK [pgsql : config patroni] ******************************************************************************************\r\n"]
[0.311, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'src': 'oltp.yml', 'dest': '/pg/conf/pg-meta-1.yml', 'owner': 'postgres', 'group': 'postgres', 'mode': '0640'})\u001b[0m\r\n"]
[0.271, "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.257, "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"]
[1.481, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item={'src': 'oltp.yml', 'dest': '/pg/conf/pg-test-1.yml', 'owner': 'postgres', 'group': 'postgres', 'mode': '0640'})\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item={'src': 'oltp.yml', 'dest': '/pg/conf/pg-test-2.yml', 'owner': 'postgres', 'group': 'postgres', 'mode': '0640'})\u001b[0m\r\n"]
[0.003, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item={'src': 'oltp.yml', 'dest': '/pg/conf/pg-test-3.yml', 'owner': 'postgres', 'group': 'postgres', 'mode': '0640'})\u001b[0m\r\n"]
[2.281, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item={'src': 'patroni.svc', 'dest': '/lib/systemd/system/patroni.service', 'owner': 'root', 'group': 'root', 'mode': '0644'})\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item={'src': 'patroni.svc', 'dest': '/lib/systemd/system/patroni.service', 'owner': 'root', 'group': 'root', 'mode': '0644'})\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item={'src': 'patroni.svc', 'dest': '/lib/systemd/system/patroni.service', 'owner': 'root', 'group': 'root', 'mode': '0644'})\u001b[0m\r\n"]
[2.268, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item={'src': 'postgres.svc', 'dest': '/lib/systemd/system/postgres.service', 'owner': 'root', 'group': 'root', 'mode': '0644'})\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item={'src': 'postgres.svc', 'dest': '/lib/systemd/system/postgres.service', 'owner': 'root', 'group': 'root', 'mode': '0644'})\u001b[0m\r\n"]
[0.003, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item={'src': 'postgres.svc', 'dest': '/lib/systemd/system/postgres.service', 'owner': 'root', 'group': 'root', 'mode': '0644'})\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [pgsql : config pgbackrest for patroni] ***************************************************************************\r\n"]
[0.281, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[2.015, "o", "\u001b[0;33mchanged: [10.10.10.11]\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.12]\u001b[0m\r\n"]
[0.006, "o", "\u001b[0;33mchanged: [10.10.10.13]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [pgsql : link patroni config] *************************************************************************************\r\n"]
[0.127, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[1.007, "o", "\u001b[0;33mchanged: [10.10.10.12]\u001b[0m\r\n"]
[0.002, "o", "\u001b[0;33mchanged: [10.10.10.11]\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.13]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [pgsql : create pgsodium.key] *************************************************************************************\r\n"]
[0.280, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[2.007, "o", "\u001b[0;33mchanged: [10.10.10.12]\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.13]\u001b[0m\r\n"]
[0.003, "o", "\u001b[0;33mchanged: [10.10.10.11]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [pgsql : create pgsodium.getkey_script] ***************************************************************************\r\n"]
[0.279, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[2.009, "o", "\u001b[0;33mchanged: [10.10.10.11]\u001b[0m\r\n"]
[0.002, "o", "\u001b[0;33mchanged: [10.10.10.12]\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.13]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [pgsql : generate pg private key] *********************************************************************************\r\n"]
[0.815, "o", "\u001b[0;32mok: [10.10.10.11]\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;32mok: [10.10.10.12]\u001b[0m\r\n"]
[0.005, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[0.002, "o", "\u001b[0;32mok: [10.10.10.13]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [pgsql : generate pg server signing request] **********************************************************************\r\n"]
[0.371, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;32mok: [10.10.10.12]\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;32mok: [10.10.10.11]\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;32mok: [10.10.10.13]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [pgsql : issue pg server certificate] *****************************************************************************\r\n"]
[0.419, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;32mok: [10.10.10.11]\u001b[0m\r\n"]
[0.007, "o", "\u001b[0;32mok: [10.10.10.12]\u001b[0m\r\n"]
[0.007, "o", "\u001b[0;32mok: [10.10.10.13]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [pgsql : copy pg server certificates] *****************************************************************************\r\n"]
[0.278, "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.261, "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.259, "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"]
[1.489, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item={'src': 'files/pki/ca/ca.crt', 'dest': '/pg/cert/ca.crt', 'owner': 'postgres', 'mode': '0644'})\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item={'src': 'files/pki/ca/ca.crt', 'dest': '/pg/cert/ca.crt', 'owner': 'postgres', 'mode': '0644'})\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item={'src': 'files/pki/ca/ca.crt', 'dest': '/pg/cert/ca.crt', 'owner': 'postgres', 'mode': '0644'})\u001b[0m\r\n"]
[2.269, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item={'src': 'files/pki/pgsql/pg-test-2.crt', 'dest': '/pg/cert/server.crt', 'owner': 'postgres', 'group': 'postgres', 'mode': '0644'})\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item={'src': 'files/pki/pgsql/pg-test-3.crt', 'dest': '/pg/cert/server.crt', 'owner': 'postgres', 'group': 'postgres', 'mode': '0644'})\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item={'src': 'files/pki/pgsql/pg-test-1.crt', 'dest': '/pg/cert/server.crt', 'owner': 'postgres', 'group': 'postgres', 'mode': '0644'})\u001b[0m\r\n"]
[2.265, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item={'src': 'files/pki/pgsql/pg-test.key', 'dest': '/pg/cert/server.key', 'owner': 'postgres', 'group': 'postgres', 'mode': '0600'})\u001b[0m\r\n"]
[0.002, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item={'src': 'files/pki/pgsql/pg-test.key', 'dest': '/pg/cert/server.key', 'owner': 'postgres', 'group': 'postgres', 'mode': '0600'})\u001b[0m\r\n"]
[0.002, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item={'src': 'files/pki/pgsql/pg-test.key', 'dest': '/pg/cert/server.key', 'owner': 'postgres', 'group': 'postgres', 'mode': '0600'})\u001b[0m\r\n"]
[0.002, "o", "\r\nTASK [pgsql : grant postgres dbsu watchdog owner] **********************************************************************\r\n"]
[0.125, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[1.005, "o", "\u001b[0;33mchanged: [10.10.10.11]\u001b[0m\r\n"]
[0.004, "o", "\u001b[0;33mchanged: [10.10.10.13]\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.12]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [pgsql : launch patroni primary] **********************************************************************************\r\n"]
[0.019, "o", "\u001b[0;36mskipping: [10.10.10.12]\u001b[0m\r\n"]
[0.002, "o", "\u001b[0;36mskipping: [10.10.10.13]\u001b[0m\r\n"]
[0.449, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.992, "o", "\u001b[0;33mchanged: [10.10.10.11]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [pgsql : wait for patroni primary] ********************************************************************************\r\n"]
[0.018, "o", "\u001b[0;36mskipping: [10.10.10.12]\u001b[0m\r\n"]
[0.004, "o", "\u001b[0;36mskipping: [10.10.10.13]\u001b[0m\r\n"]
[0.153, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[5.003, "o", "\u001b[0;32mok: [10.10.10.11]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [pgsql : check postgres primary ready] ****************************************************************************\r\n"]
[0.019, "o", "\u001b[0;36mskipping: [10.10.10.12]\u001b[0m\r\n"]
[0.003, "o", "\u001b[0;36mskipping: [10.10.10.13]\u001b[0m\r\n"]
[0.119, "o", "\u001b[1;35m[WARNING]: Module remote_tmp /var/lib/pgsql/.ansible/tmp did not exist and was created with a mode of 0700, this may\u001b[0m\r\n\u001b[1;35mcause issues when running as another user. To avoid this, create the remote_tmp dir with the correct permissions\u001b[0m\r\n\u001b[1;35mmanually\u001b[0m\r\n\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.997, "o", "\u001b[0;33mchanged: [10.10.10.11]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [pgsql : remove postgres backup conf] *****************************************************************************\r\n"]
[0.019, "o", "\u001b[0;36mskipping: [10.10.10.12] => (item=/pg/data/postgresql.conf.backup) \u001b[0m\r\n"]
[0.002, "o", "\u001b[0;36mskipping: [10.10.10.12] => (item=/pg/data/postgresql.base.conf.backup) \u001b[0m\r\n"]
[0.001, "o", "\u001b[0;36mskipping: [10.10.10.12] => (item=/pg/data/pg_hba.conf.backup) \u001b[0m\r\n"]
[0.000, "o", "\u001b[0;36mskipping: [10.10.10.13] => (item=/pg/data/postgresql.conf.backup) \u001b[0m\r\n"]
[0.001, "o", "\u001b[0;36mskipping: [10.10.10.12] => (item=/pg/data/pg_ident.conf.backup) \u001b[0m\r\n"]
[0.001, "o", "\u001b[0;36mskipping: [10.10.10.12]\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;36mskipping: [10.10.10.13] => (item=/pg/data/postgresql.base.conf.backup) \u001b[0m\r\n"]
[0.001, "o", "\u001b[0;36mskipping: [10.10.10.13] => (item=/pg/data/pg_hba.conf.backup) \u001b[0m\r\n"]
[0.002, "o", "\u001b[0;36mskipping: [10.10.10.13] => (item=/pg/data/pg_ident.conf.backup) \u001b[0m\r\n"]
[0.000, "o", "\u001b[0;36mskipping: [10.10.10.13]\u001b[0m\r\n"]
[0.105, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=/pg/data/postgresql.conf.backup)\u001b[0m\r\n"]
[0.114, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=/pg/data/postgresql.base.conf.backup)\u001b[0m\r\n"]
[0.115, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=/pg/data/pg_hba.conf.backup)\u001b[0m\r\n"]
[0.114, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=/pg/data/pg_ident.conf.backup)\u001b[0m\r\n"]
[0.653, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item=/pg/data/postgresql.conf.backup)\u001b[0m\r\n"]
[1.116, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item=/pg/data/postgresql.base.conf.backup)\u001b[0m\r\n"]
[1.111, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item=/pg/data/pg_hba.conf.backup)\u001b[0m\r\n"]
[1.116, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item=/pg/data/pg_ident.conf.backup)\u001b[0m\r\n"]
[0.003, "o", "\r\nTASK [pgsql : render postgres hba rules] *******************************************************************************\r\n"]
[0.018, "o", "\u001b[0;36mskipping: [10.10.10.12]\u001b[0m\r\n"]
[0.002, "o", "\u001b[0;36mskipping: [10.10.10.13]\u001b[0m\r\n"]
[0.294, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[2.006, "o", "\u001b[0;33mchanged: [10.10.10.11]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [pgsql : copy extra files to postgres primary] ********************************************************************\r\n"]
[0.008, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.003, "o", "\u001b[0;36mskipping: [10.10.10.11]\u001b[0m\r\n"]
[0.002, "o", "\u001b[0;36mskipping: [10.10.10.12]\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;36mskipping: [10.10.10.13]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [pgsql : overwrite postgres primary parameters] *******************************************************************\r\n"]
[0.017, "o", "\u001b[0;36mskipping: [10.10.10.12]\u001b[0m\r\n"]
[0.003, "o", "\u001b[0;36mskipping: [10.10.10.13]\u001b[0m\r\n"]
[0.274, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[2.001, "o", "\u001b[0;33mchanged: [10.10.10.11]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [pgsql : restart postgres via patroni] ****************************************************************************\r\n"]
[0.019, "o", "\u001b[0;36mskipping: [10.10.10.12]\u001b[0m\r\n"]
[0.003, "o", "\u001b[0;36mskipping: [10.10.10.13]\u001b[0m\r\n"]
[6.538, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.955, "o", "\u001b[0;33mchanged: [10.10.10.11]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [pgsql : wait for postgres primary] *******************************************************************************\r\n"]
[0.020, "o", "\u001b[0;36mskipping: [10.10.10.12]\u001b[0m\r\n"]
[0.004, "o", "\u001b[0;36mskipping: [10.10.10.13]\u001b[0m\r\n"]
[0.107, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[1.003, "o", "\u001b[0;32mok: [10.10.10.11]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [pgsql : check postgres primary ready] ****************************************************************************\r\n"]
[0.019, "o", "\u001b[0;36mskipping: [10.10.10.12]\u001b[0m\r\n"]
[0.002, "o", "\u001b[0;36mskipping: [10.10.10.13]\u001b[0m\r\n"]
[0.118, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.998, "o", "\u001b[0;33mchanged: [10.10.10.11]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [pgsql : render init sql and scripts] *****************************************************************************\r\n"]
[0.021, "o", "\u001b[0;36mskipping: [10.10.10.12] => (item={'src': 'pg-init-roles.sql', 'dest': '/pg/tmp/pg-init-roles.sql', 'mode': '0640'}) \u001b[0m\r\n"]
[0.001, "o", "\u001b[0;36mskipping: [10.10.10.12] => (item={'src': 'pg-init-template.sql', 'dest': '/pg/tmp/pg-init-template.sql', 'mode': '0640'}) \u001b[0m\r\n"]
[0.001, "o", "\u001b[0;36mskipping: [10.10.10.13] => (item={'src': 'pg-init-roles.sql', 'dest': '/pg/tmp/pg-init-roles.sql', 'mode': '0640'}) \u001b[0m\r\n"]
[0.000, "o", "\u001b[0;36mskipping: [10.10.10.12] => (item={'src': 'pg-init', 'dest': '/pg/bin/pg-init', 'owner': 'root', 'mode': '0740'}) \u001b[0m\r\n"]
[0.001, "o", "\u001b[0;36mskipping: [10.10.10.12]\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;36mskipping: [10.10.10.13] => (item={'src': 'pg-init-template.sql', 'dest': '/pg/tmp/pg-init-template.sql', 'mode': '0640'}) \u001b[0m\r\n"]
[0.002, "o", "\u001b[0;36mskipping: [10.10.10.13] => (item={'src': 'pg-init', 'dest': '/pg/bin/pg-init', 'owner': 'root', 'mode': '0740'}) \u001b[0m\r\n"]
[0.001, "o", "\u001b[0;36mskipping: [10.10.10.13]\u001b[0m\r\n"]
[0.264, "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.268, "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.254, "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"]
[1.488, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item={'src': 'pg-init-roles.sql', 'dest': '/pg/tmp/pg-init-roles.sql', 'mode': '0640'})\u001b[0m\r\n"]
[2.268, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item={'src': 'pg-init-template.sql', 'dest': '/pg/tmp/pg-init-template.sql', 'mode': '0640'})\u001b[0m\r\n"]
[2.266, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item={'src': 'pg-init', 'dest': '/pg/bin/pg-init', 'owner': 'root', 'mode': '0740'})\u001b[0m\r\n"]
[0.002, "o", "\r\nTASK [pgsql : init postgres cluster] ***********************************************************************************\r\n"]
[0.019, "o", "\u001b[0;36mskipping: [10.10.10.12]\u001b[0m\r\n"]
[0.002, "o", "\u001b[0;36mskipping: [10.10.10.13]\u001b[0m\r\n"]
[0.515, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.973, "o", "\u001b[0;33mchanged: [10.10.10.11]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [pgsql : check postgres primary inited] ***************************************************************************\r\n"]
[0.019, "o", "\u001b[0;36mskipping: [10.10.10.12]\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;36mskipping: [10.10.10.13]\u001b[0m\r\n"]
[0.120, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.997, "o", "\u001b[0;33mchanged: [10.10.10.11]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [pgsql : add dbsu password to pgpass if exists] *******************************************************************\r\n"]
[0.017, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;36mskipping: [10.10.10.11]\u001b[0m\r\n"]
[0.004, "o", "\u001b[0;36mskipping: [10.10.10.12]\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;36mskipping: [10.10.10.13]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [pgsql : add system user to pgpass] *******************************************************************************\r\n"]
[0.135, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=None)\u001b[0m\r\n"]
[0.120, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=None)\u001b[0m\r\n"]
[0.121, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=None)\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.768, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item=None)\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item=None)\u001b[0m\r\n"]
[0.002, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item=None)\u001b[0m\r\n"]
[1.127, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item=None)\u001b[0m\r\n"]
[0.003, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item=None)\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item=None)\u001b[0m\r\n"]
[1.127, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item=None)\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item=None)\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.13]\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item=None)\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.12]\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.11]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [pgsql : check replication connectivity] **************************************************************************\r\n"]
[0.015, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.002, "o", "\u001b[0;36mskipping: [10.10.10.11]\u001b[0m\r\n"]
[1.141, "o", "\u001b[0;33mchanged: [10.10.10.13]\u001b[0m\r\n\u001b[0;33mchanged: [10.10.10.12]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [pgsql : launch patroni replica] **********************************************************************************\r\n"]
[0.015, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;36mskipping: [10.10.10.11]\u001b[0m\r\n"]
[1.368, "o", "\u001b[0;33mchanged: [10.10.10.12]\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.13]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [pgsql : wait for patroni replica] ********************************************************************************\r\n"]
[0.016, "o", "\u001b[0;36mskipping: [10.10.10.11]\u001b[0m\r\n\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[5.129, "o", "\u001b[0;32mok: [10.10.10.13]\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;32mok: [10.10.10.12]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [pgsql : wait for postgres replica] *******************************************************************************\r\n"]
[0.018, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.003, "o", "\u001b[0;36mskipping: [10.10.10.11]\u001b[0m\r\n"]
[1.122, "o", "\u001b[0;32mok: [10.10.10.13]\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;32mok: [10.10.10.12]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [pgsql : check postgres replica ready] ****************************************************************************\r\n"]
[0.015, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;36mskipping: [10.10.10.11]\u001b[0m\r\n"]
[1.127, "o", "\u001b[0;33mchanged: [10.10.10.12]\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.13]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [pgsql : copy extra files to pgdata] ******************************************************************************\r\n"]
[0.007, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.002, "o", "\u001b[0;36mskipping: [10.10.10.11]\u001b[0m\r\n"]
[0.002, "o", "\u001b[0;36mskipping: [10.10.10.12]\u001b[0m\r\n"]
[0.002, "o", "\u001b[0;36mskipping: [10.10.10.13]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [pgsql : render postgres hba rules] *******************************************************************************\r\n"]
[0.324, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[2.006, "o", "\u001b[0;33mchanged: [10.10.10.12]\u001b[0m\r\n"]
[0.002, "o", "\u001b[0;33mchanged: [10.10.10.11]\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.13]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [pgsql : overwrite postgres parameters] ***************************************************************************\r\n"]
[0.280, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[2.007, "o", "\u001b[0;32mok: [10.10.10.12]\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;32mok: [10.10.10.13]\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;32mok: [10.10.10.11]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [pgsql : reload postgres config] **********************************************************************************\r\n"]
[0.128, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[1.011, "o", "\u001b[0;33mchanged: [10.10.10.11]\u001b[0m\r\n"]
[0.005, "o", "\u001b[0;33mchanged: [10.10.10.12]\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.13]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [pgsql : reload patroni config] ***********************************************************************************\r\n"]
[0.377, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[1.019, "o", "\u001b[0;33mchanged: [10.10.10.12]\u001b[0m\r\n"]
[0.002, "o", "\u001b[0;33mchanged: [10.10.10.11]\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.13]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [pgsql : pause patroni] *******************************************************************************************\r\n"]
[0.015, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.002, "o", "\u001b[0;36mskipping: [10.10.10.11]\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;36mskipping: [10.10.10.12]\u001b[0m\r\n"]
[0.002, "o", "\u001b[0;36mskipping: [10.10.10.13]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [pgsql : stop patroni replicas] ***********************************************************************************\r\n"]
[0.015, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;36mskipping: [10.10.10.11]\u001b[0m\r\n"]
[0.002, "o", "\u001b[0;36mskipping: [10.10.10.12]\u001b[0m\r\n"]
[0.003, "o", "\u001b[0;36mskipping: [10.10.10.13]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [pgsql : stop patroni primary] ************************************************************************************\r\n"]
[0.014, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;36mskipping: [10.10.10.11]\u001b[0m\r\n"]
[0.003, "o", "\u001b[0;36mskipping: [10.10.10.12]\u001b[0m\r\n"]
[0.003, "o", "\u001b[0;36mskipping: [10.10.10.13]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [pgsql : launch raw postgres primary] *****************************************************************************\r\n"]
[0.013, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.003, "o", "\u001b[0;36mskipping: [10.10.10.11]\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;36mskipping: [10.10.10.12]\u001b[0m\r\n"]
[0.003, "o", "\u001b[0;36mskipping: [10.10.10.13]\u001b[0m\r\n"]
[0.000, "o", "\r\nTASK [pgsql : launch raw postgres replicas] ****************************************************************************\r\n"]
[0.014, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.002, "o", "\u001b[0;36mskipping: [10.10.10.11]\u001b[0m\r\n"]
[0.003, "o", "\u001b[0;36mskipping: [10.10.10.12]\u001b[0m\r\n"]
[0.002, "o", "\u001b[0;36mskipping: [10.10.10.13]\u001b[0m\r\n"]
[0.000, "o", "\r\nTASK [pgsql : wait for raw postgres] ***********************************************************************************\r\n"]
[0.014, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;36mskipping: [10.10.10.11]\u001b[0m\r\n"]
[0.002, "o", "\u001b[0;36mskipping: [10.10.10.12]\u001b[0m\r\n"]
[0.002, "o", "\u001b[0;36mskipping: [10.10.10.13]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [pgsql : include_tasks] *******************************************************************************************\r\n"]
[0.025, "o", "\u001b[0;36mincluded: /data/pgsty/pigsty/roles/pgsql/tasks/user.yml for 10.10.10.11, 10.10.10.12, 10.10.10.13 => (item={'name': 'test', 'password': 'test', 'pgbouncer': True, 'roles': ['dbrole_admin']})\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;36mincluded: /data/pgsty/pigsty/roles/pgsql/tasks/user.yml for 10.10.10.10 => (item={'name': 'dbuser_meta', 'password': 'DBUser.Meta', 'pgbouncer': True, 'roles': ['dbrole_admin'], 'comment': 'pigsty admin user'})\u001b[0m\r\n"]
[0.002, "o", "\u001b[0;36mincluded: /data/pgsty/pigsty/roles/pgsql/tasks/user.yml for 10.10.10.10 => (item={'name': 'dbuser_view', 'password': 'DBUser.Viewer', 'pgbouncer': True, 'roles': ['dbrole_readonly'], 'comment': 'read-only viewer for meta database'})\u001b[0m\r\n"]
[0.034, "o", "\r\nTASK [pgsql : validate user name test] *********************************************************************************\r\n"]
[0.013, "o", "\u001b[0;32mok: [10.10.10.11] => {\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.000, "o", "\u001b[0;32mok: [10.10.10.12] => {\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.004, "o", "\u001b[0;32mok: [10.10.10.13] => {\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.002, "o", "\r\nTASK [pgsql : drop user test] ******************************************************************************************\r\n"]
[0.015, "o", "\u001b[0;36mskipping: [10.10.10.12]\u001b[0m\r\n"]
[0.002, "o", "\u001b[0;36mskipping: [10.10.10.11]\u001b[0m\r\n"]
[0.002, "o", "\u001b[0;36mskipping: [10.10.10.13]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [pgsql : prepare sql for user test] *******************************************************************************\r\n"]
[0.012, "o", "\u001b[0;36mskipping: [10.10.10.12]\u001b[0m\r\n"]
[0.002, "o", "\u001b[0;36mskipping: [10.10.10.13]\u001b[0m\r\n"]
[2.283, "o", "\u001b[0;33mchanged: [10.10.10.11]\u001b[0m\r\n"]
[0.003, "o", "\r\nTASK [pgsql : create postgres user test] *******************************************************************************\r\n"]
[0.017, "o", "\u001b[0;36mskipping: [10.10.10.12]\u001b[0m\r\n"]
[0.002, "o", "\u001b[0;36mskipping: [10.10.10.13]\u001b[0m\r\n"]
[1.140, "o", "\u001b[0;33mchanged: [10.10.10.11]\u001b[0m\r\n"]
[0.002, "o", "\r\nTASK [pgsql : write plain biz user password to pgpass for citus cluster] ***********************************************\r\n"]
[0.014, "o", "\u001b[0;36mskipping: [10.10.10.11]\u001b[0m\r\n"]
[0.003, "o", "\u001b[0;36mskipping: [10.10.10.12]\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;36mskipping: [10.10.10.13]\u001b[0m\r\n"]
[0.002, "o", "\r\nTASK [pgsql : validate user name dbuser_meta] **************************************************************************\r\n"]
[0.009, "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.002, "o", "\r\nTASK [pgsql : drop user dbuser_meta] ***********************************************************************************\r\n"]
[0.016, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.002, "o", "\r\nTASK [pgsql : prepare sql for user dbuser_meta] ************************************************************************\r\n"]
[0.294, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.002, "o", "\r\nTASK [pgsql : create postgres user dbuser_meta] ************************************************************************\r\n"]
[0.162, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [pgsql : write plain biz user password to pgpass for citus cluster] ***********************************************\r\n"]
[0.016, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.002, "o", "\r\nTASK [pgsql : validate user name dbuser_view] **************************************************************************\r\n"]
[0.010, "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.001, "o", "\r\nTASK [pgsql : drop user dbuser_view] ***********************************************************************************\r\n"]
[0.016, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [pgsql : prepare sql for user dbuser_view] ************************************************************************\r\n"]
[0.302, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.002, "o", "\r\nTASK [pgsql : create postgres user dbuser_view] ************************************************************************\r\n"]
[0.158, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [pgsql : write plain biz user password to pgpass for citus cluster] ***********************************************\r\n"]
[0.015, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.000, "o", "\r\nTASK [pgsql : include_tasks] *******************************************************************************************\r\n"]
[0.028, "o", "\u001b[0;36mincluded: /data/pgsty/pigsty/roles/pgsql/tasks/database.yml for 10.10.10.10 => (item={'name': 'meta', 'baseline': 'cmdb.sql', 'comment': 'pigsty meta database', 'schemas': ['pigsty']})\u001b[0m\r\n"]
[0.003, "o", "\u001b[0;36mincluded: /data/pgsty/pigsty/roles/pgsql/tasks/database.yml for 10.10.10.11, 10.10.10.12, 10.10.10.13 => (item={'name': 'test'})\u001b[0m\r\n"]
[0.039, "o", "\r\nTASK [pgsql : drop database meta] **************************************************************************************\r\n"]
[0.020, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.002, "o", "\r\nTASK [pgsql : render sql for database meta] ****************************************************************************\r\n"]
[0.308, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.002, "o", "\r\nTASK [pgsql : copy baseline for database meta] *************************************************************************\r\n"]
[0.280, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.002, "o", "\r\nTASK [pgsql : create database meta] ************************************************************************************\r\n"]
[0.197, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.002, "o", "\r\nTASK [pgsql : provision database meta] *********************************************************************************\r\n"]
[0.145, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.002, "o", "\r\nTASK [pgsql : load database meta baseline] *****************************************************************************\r\n"]
[0.251, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.002, "o", "\r\nTASK [pgsql : drop database test] **************************************************************************************\r\n"]
[0.018, "o", "\u001b[0;36mskipping: [10.10.10.12]\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;36mskipping: [10.10.10.13]\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;36mskipping: [10.10.10.11]\u001b[0m\r\n"]
[0.002, "o", "\r\nTASK [pgsql : render sql for database test] ****************************************************************************\r\n"]
[0.011, "o", "\u001b[0;36mskipping: [10.10.10.12]\u001b[0m\r\n"]
[0.003, "o", "\u001b[0;36mskipping: [10.10.10.13]\u001b[0m\r\n"]
[2.295, "o", "\u001b[0;33mchanged: [10.10.10.11]\u001b[0m\r\n"]
[0.002, "o", "\r\nTASK [pgsql : copy baseline for database test] *************************************************************************\r\n"]
[0.010, "o", "\u001b[0;36mskipping: [10.10.10.11]\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;36mskipping: [10.10.10.12]\u001b[0m\r\n"]
[0.004, "o", "\u001b[0;36mskipping: [10.10.10.13]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [pgsql : create database test] ************************************************************************************\r\n"]
[0.018, "o", "\u001b[0;36mskipping: [10.10.10.12]\u001b[0m\r\n"]
[0.002, "o", "\u001b[0;36mskipping: [10.10.10.13]\u001b[0m\r\n"]
[1.191, "o", "\u001b[0;33mchanged: [10.10.10.11]\u001b[0m\r\n"]
[0.002, "o", "\r\nTASK [pgsql : provision database test] *********************************************************************************\r\n"]
[0.020, "o", "\u001b[0;36mskipping: [10.10.10.12]\u001b[0m\r\n\u001b[0;36mskipping: [10.10.10.13]\u001b[0m\r\n"]
[1.130, "o", "\u001b[0;33mchanged: [10.10.10.11]\u001b[0m\r\n"]
[0.003, "o", "\r\nTASK [pgsql : load database test baseline] *****************************************************************************\r\n"]
[0.017, "o", "\u001b[0;36mskipping: [10.10.10.11]\u001b[0m\r\n"]
[0.003, "o", "\u001b[0;36mskipping: [10.10.10.13]\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;36mskipping: [10.10.10.12]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [pgsql : create pgbackrest dir] ***********************************************************************************\r\n"]
[0.123, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[1.011, "o", "\u001b[0;33mchanged: [10.10.10.11]\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.12]\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.13]\u001b[0m\r\n"]
[0.002, "o", "\r\nTASK [pgsql : config pgbackrest] ***************************************************************************************\r\n"]
[0.292, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[2.018, "o", "\u001b[0;33mchanged: [10.10.10.12]\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.11]\u001b[0m\r\n"]
[0.005, "o", "\u001b[0;33mchanged: [10.10.10.13]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [pgsql : create pgbackrest repo stanza] ***************************************************************************\r\n"]
[0.021, "o", "\u001b[0;36mskipping: [10.10.10.12]\u001b[0m\r\n"]
[0.002, "o", "\u001b[0;36mskipping: [10.10.10.13]\u001b[0m\r\n"]
[0.140, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[1.002, "o", "\u001b[0;33mchanged: [10.10.10.11]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [pgsql : create pgbackrest initial backup] ************************************************************************\r\n"]
[0.021, "o", "\u001b[0;36mskipping: [10.10.10.12]\u001b[0m\r\n"]
[0.003, "o", "\u001b[0;36mskipping: [10.10.10.13]\u001b[0m\r\n"]
[1.017, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[1.006, "o", "\u001b[0;33mchanged: [10.10.10.11]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [pgsql : create pgbouncer dir] ************************************************************************************\r\n"]
[0.132, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=/etc/pgbouncer)\u001b[0m\r\n"]
[0.118, "o", "\u001b[0;32mok: [10.10.10.10] => (item=/pg/log/pgbouncer)\u001b[0m\r\n"]
[0.887, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item=/etc/pgbouncer)\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item=/etc/pgbouncer)\u001b[0m\r\n"]
[0.002, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item=/etc/pgbouncer)\u001b[0m\r\n"]
[1.114, "o", "\u001b[0;32mok: [10.10.10.12] => (item=/pg/log/pgbouncer)\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;32mok: [10.10.10.11] => (item=/pg/log/pgbouncer)\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;32mok: [10.10.10.13] => (item=/pg/log/pgbouncer)\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [pgsql : config pgbouncer] ****************************************************************************************\r\n"]
[0.293, "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.273, "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.263, "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.265, "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"]
[1.214, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item={'src': 'pgbouncer.svc', 'dest': '/lib/systemd/system/pgbouncer.service', 'owner': 'root', 'group': 'root', 'mode': '0644'})\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item={'src': 'pgbouncer.svc', 'dest': '/lib/systemd/system/pgbouncer.service', 'owner': 'root', 'group': 'root', 'mode': '0644'})\u001b[0m\r\n"]
[0.002, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item={'src': 'pgbouncer.svc', 'dest': '/lib/systemd/system/pgbouncer.service', 'owner': 'root', 'group': 'root', 'mode': '0644'})\u001b[0m\r\n"]
[2.283, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item={'src': 'pgbouncer.ini', 'dest': '/etc/pgbouncer/pgbouncer.ini', 'owner': 'postgres', 'group': 'postgres', 'mode': '0640'})\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item={'src': 'pgbouncer.ini', 'dest': '/etc/pgbouncer/pgbouncer.ini', 'owner': 'postgres', 'group': 'postgres', 'mode': '0640'})\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item={'src': 'pgbouncer.ini', 'dest': '/etc/pgbouncer/pgbouncer.ini', 'owner': 'postgres', 'group': 'postgres', 'mode': '0640'})\u001b[0m\r\n"]
[2.275, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item={'src': 'pgbouncer.database', 'dest': '/etc/pgbouncer/database.txt', 'owner': 'postgres', 'group': 'postgres', 'mode': '0600'})\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item={'src': 'pgbouncer.database', 'dest': '/etc/pgbouncer/database.txt', 'owner': 'postgres', 'group': 'postgres', 'mode': '0600'})\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item={'src': 'pgbouncer.database', 'dest': '/etc/pgbouncer/database.txt', 'owner': 'postgres', 'group': 'postgres', 'mode': '0600'})\u001b[0m\r\n"]
[2.279, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item={'src': 'pgbouncer.useropts', 'dest': '/etc/pgbouncer/useropts.txt', 'owner': 'postgres', 'group': 'postgres', 'mode': '0600'})\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item={'src': 'pgbouncer.useropts', 'dest': '/etc/pgbouncer/useropts.txt', 'owner': 'postgres', 'group': 'postgres', 'mode': '0600'})\u001b[0m\r\n"]
[0.002, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item={'src': 'pgbouncer.useropts', 'dest': '/etc/pgbouncer/useropts.txt', 'owner': 'postgres', 'group': 'postgres', 'mode': '0600'})\u001b[0m\r\n"]
[0.003, "o", "\r\nTASK [pgsql : config pgbouncer hba rules] ******************************************************************************\r\n"]
[0.295, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[2.014, "o", "\u001b[0;33mchanged: [10.10.10.13]\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.12]\u001b[0m\r\n"]
[0.002, "o", "\u001b[0;33mchanged: [10.10.10.11]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [pgsql : create pgbouncer userlist] *******************************************************************************\r\n"]
[0.201, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.999, "o", "\u001b[0;33mchanged: [10.10.10.12]\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.11]\u001b[0m\r\n"]
[0.004, "o", "\u001b[0;33mchanged: [10.10.10.13]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [pgsql : launch pgbouncer systemd service] ************************************************************************\r\n"]
[0.617, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.978, "o", "\u001b[0;33mchanged: [10.10.10.12]\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.11]\u001b[0m\r\n"]
[0.995, "o", "\u001b[0;33mchanged: [10.10.10.13]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [pgsql : wait for pgbouncer service online] ***********************************************************************\r\n"]
[0.130, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[1.010, "o", "\u001b[0;32mok: [10.10.10.13]\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;32mok: [10.10.10.12]\u001b[0m\r\n"]
[0.003, "o", "\u001b[0;32mok: [10.10.10.11]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [pgsql : reload pgbouncer] ****************************************************************************************\r\n"]
[0.381, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[1.015, "o", "\u001b[0;33mchanged: [10.10.10.13]\u001b[0m\r\n"]
[0.006, "o", "\u001b[0;33mchanged: [10.10.10.11]\u001b[0m\r\n"]
[0.004, "o", "\u001b[0;33mchanged: [10.10.10.12]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [pgsql : check pgbouncer ready] ***********************************************************************************\r\n"]
[0.133, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[1.009, "o", "\u001b[0;33mchanged: [10.10.10.11]\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.12]\u001b[0m\r\n"]
[0.002, "o", "\u001b[0;33mchanged: [10.10.10.13]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [pgsql : config vip-manager] **************************************************************************************\r\n"]
[0.293, "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.267, "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"]
[1.749, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item={'src': 'vip-manager.yml', 'dest': '/etc/default/vip-manager.yml', 'owner': 'root', 'group': 'postgres', 'mode': '0600'})\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item={'src': 'vip-manager.yml', 'dest': '/etc/default/vip-manager.yml', 'owner': 'root', 'group': 'postgres', 'mode': '0600'})\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item={'src': 'vip-manager.yml', 'dest': '/etc/default/vip-manager.yml', 'owner': 'root', 'group': 'postgres', 'mode': '0600'})\u001b[0m\r\n"]
[2.282, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item={'src': 'vip-manager.svc', 'dest': '/lib/systemd/system/vip-manager.service', 'owner': 'root', 'group': 'root', 'mode': '0644'})\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item={'src': 'vip-manager.svc', 'dest': '/lib/systemd/system/vip-manager.service', 'owner': 'root', 'group': 'root', 'mode': '0644'})\u001b[0m\r\n"]
[0.003, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item={'src': 'vip-manager.svc', 'dest': '/lib/systemd/system/vip-manager.service', 'owner': 'root', 'group': 'root', 'mode': '0644'})\u001b[0m\r\n"]
[0.002, "o", "\r\nTASK [pgsql : launch vip-manager] **************************************************************************************\r\n"]
[0.530, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[1.016, "o", "\u001b[0;33mchanged: [10.10.10.11]\u001b[0m\r\n"]
[0.003, "o", "\u001b[0;33mchanged: [10.10.10.12]\u001b[0m\r\n"]
[0.012, "o", "\u001b[0;33mchanged: [10.10.10.13]\u001b[0m\r\n"]
[0.002, "o", "\r\nTASK [pgsql : render postgres instance dns] ****************************************************************************\r\n"]
[0.291, "o", "\u001b[0;33mchanged: [10.10.10.12 -> 10.10.10.10] => (item=10.10.10.10)\u001b[0m\r\n"]
[0.008, "o", "\u001b[0;33mchanged: [10.10.10.13 -> 10.10.10.10] => (item=10.10.10.10)\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.11 -> 10.10.10.10] => (item=10.10.10.10)\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=10.10.10.10)\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [pgsql : activate postgres instance dns] **************************************************************************\r\n"]
[0.135, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=10.10.10.10)\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.13 -> 10.10.10.10] => (item=10.10.10.10)\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.12 -> 10.10.10.10] => (item=10.10.10.10)\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.11 -> 10.10.10.10] => (item=10.10.10.10)\u001b[0m\r\n"]
[0.002, "o", "\r\nTASK [pgsql : render postgres cluster dns] *****************************************************************************\r\n"]
[0.287, "o", "\u001b[0;32mok: [10.10.10.12 -> 10.10.10.10] => (item=10.10.10.10)\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;32mok: [10.10.10.13 -> 10.10.10.10] => (item=10.10.10.10)\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.11 -> 10.10.10.10] => (item=10.10.10.10)\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=10.10.10.10)\u001b[0m\r\n"]
[0.002, "o", "\r\nTASK [pgsql : activate postgres cluster dns] ***************************************************************************\r\n"]
[0.135, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=10.10.10.10)\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.11 -> 10.10.10.10] => (item=10.10.10.10)\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.12 -> 10.10.10.10] => (item=10.10.10.10)\u001b[0m\r\n"]
[0.002, "o", "\u001b[0;33mchanged: [10.10.10.13 -> 10.10.10.10] => (item=10.10.10.10)\u001b[0m\r\n"]
[0.002, "o", "\r\nTASK [pgsql : wipe existing postgres haproxy service from local haproxy] ***********************************************\r\n"]
[0.123, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.005, "o", "\u001b[0;33mchanged: [10.10.10.11]\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.12]\u001b[0m\r\n"]
[0.002, "o", "\u001b[0;33mchanged: [10.10.10.13]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [pgsql : render haproxy service config on local haproxy] **********************************************************\r\n"]
[0.377, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item={'name': 'primary', 'port': 5433, 'dest': 'default', 'check': '/primary', 'selector': '[]'})\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'name': 'primary', 'port': 5433, 'dest': 'default', 'check': '/primary', 'selector': '[]'})\u001b[0m\r\n"]
[0.002, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item={'name': 'primary', 'port': 5433, 'dest': 'default', 'check': '/primary', 'selector': '[]'})\u001b[0m\r\n"]
[0.003, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item={'name': 'primary', 'port': 5433, 'dest': 'default', 'check': '/primary', 'selector': '[]'})\u001b[0m\r\n"]
[0.280, "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.000, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item={'name': 'replica', 'port': 5434, 'dest': 'default', 'check': '/read-only', 'selector': '[]', 'backup': '[? pg_role == `primary` || pg_role == `offline` ]'})\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item={'name': 'replica', 'port': 5434, 'dest': 'default', 'check': '/read-only', 'selector': '[]', 'backup': '[? pg_role == `primary` || pg_role == `offline` ]'})\u001b[0m\r\n"]
[0.002, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item={'name': 'replica', 'port': 5434, 'dest': 'default', 'check': '/read-only', 'selector': '[]', 'backup': '[? pg_role == `primary` || pg_role == `offline` ]'})\u001b[0m\r\n"]
[0.278, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item={'name': 'default', 'port': 5436, 'dest': 'postgres', 'check': '/primary', 'selector': '[]'})\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item={'name': 'default', 'port': 5436, 'dest': 'postgres', 'check': '/primary', 'selector': '[]'})\u001b[0m\r\n"]
[0.003, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item={'name': 'default', 'port': 5436, 'dest': 'postgres', 'check': '/primary', 'selector': '[]'})\u001b[0m\r\n"]
[0.003, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item={'name': 'default', 'port': 5436, 'dest': 'postgres', 'check': '/primary', 'selector': '[]'})\u001b[0m\r\n"]
[0.283, "o", "\u001b[0;33mchanged: [10.10.10.12] => (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.000, "o", "\u001b[0;33mchanged: [10.10.10.11] => (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.001, "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.001, "o", "\u001b[0;33mchanged: [10.10.10.13] => (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.002, "o", "\r\nTASK [pgsql : check local haproxy config before reload] ****************************************************************\r\n"]
[0.167, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.002, "o", "\u001b[0;33mchanged: [10.10.10.12]\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.11]\u001b[0m\r\n"]
[0.005, "o", "\u001b[0;33mchanged: [10.10.10.13]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [pgsql : reload local haproxy] ************************************************************************************\r\n"]
[0.488, "o", "\u001b[0;33mchanged: [10.10.10.12]\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.11]\u001b[0m\r\n"]
[0.014, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.002, "o", "\u001b[0;33mchanged: [10.10.10.13]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [pgsql : wipe existing postgres service from remote haproxy] ******************************************************\r\n"]
[0.008, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.003, "o", "\u001b[0;36mskipping: [10.10.10.11]\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;36mskipping: [10.10.10.12]\u001b[0m\r\n"]
[0.004, "o", "\u001b[0;36mskipping: [10.10.10.13]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [pgsql : render haproxy service on remote haproxy] ****************************************************************\r\n"]
[0.008, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.003, "o", "\u001b[0;36mskipping: [10.10.10.11]\u001b[0m\r\n"]
[0.002, "o", "\u001b[0;36mskipping: [10.10.10.12]\u001b[0m\r\n"]
[0.002, "o", "\u001b[0;36mskipping: [10.10.10.13]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [pgsql : check remote haproxy config before reload] ***************************************************************\r\n"]
[0.006, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.004, "o", "\u001b[0;36mskipping: [10.10.10.11]\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;36mskipping: [10.10.10.12]\u001b[0m\r\n"]
[0.002, "o", "\u001b[0;36mskipping: [10.10.10.13]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [pgsql : reload remote haproxy] ***********************************************************************************\r\n"]
[0.008, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.003, "o", "\u001b[0;36mskipping: [10.10.10.11]\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;36mskipping: [10.10.10.12]\u001b[0m\r\n"]
[0.003, "o", "\u001b[0;36mskipping: [10.10.10.13]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [pgsql : pgsql init done] *****************************************************************************************\r\n"]
[0.018, "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.001, "o", "\u001b[0;32mok: [10.10.10.11] => {\u001b[0m\r\n\u001b[0;32m    \"msg\": \"postgres://10.10.10.11/postgres | test  | test \"\u001b[0m\r\n\u001b[0;32m}\u001b[0m\r\n"]
[0.002, "o", "\u001b[0;32mok: [10.10.10.12] => {\u001b[0m\r\n\u001b[0;32m    \"msg\": \"postgres://10.10.10.12/postgres | test  | test \"\u001b[0m\r\n\u001b[0;32m}\u001b[0m\r\n"]
[0.002, "o", "\u001b[0;32mok: [10.10.10.13] => {\u001b[0m\r\n\u001b[0;32m    \"msg\": \"postgres://10.10.10.13/postgres | test  | test \"\u001b[0m\r\n\u001b[0;32m}\u001b[0m\r\n"]
[0.002, "o", "\r\nTASK [pg_monitor : config pg_exporter] *********************************************************************************\r\n"]
[0.326, "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.001, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item={'src': 'pg_exporter.yml', 'dest': '/etc/pg_exporter.yml', 'owner': 'postgres', 'group': 'postgres', 'mode': '0644'})\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item={'src': 'pg_exporter.yml', 'dest': '/etc/pg_exporter.yml', 'owner': 'postgres', 'group': 'postgres', 'mode': '0644'})\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item={'src': 'pg_exporter.yml', 'dest': '/etc/pg_exporter.yml', 'owner': 'postgres', 'group': 'postgres', 'mode': '0644'})\u001b[0m\r\n"]
[0.284, "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.003, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item={'src': 'pg_exporter.env', 'dest': '/etc/default/pg_exporter', 'owner': 'postgres', 'group': 'postgres', 'mode': '0600'})\u001b[0m\r\n"]
[0.009, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item={'src': 'pg_exporter.env', 'dest': '/etc/default/pg_exporter', 'owner': 'postgres', 'group': 'postgres', 'mode': '0600'})\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item={'src': 'pg_exporter.env', 'dest': '/etc/default/pg_exporter', 'owner': 'postgres', 'group': 'postgres', 'mode': '0600'})\u001b[0m\r\n"]
[0.279, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item={'src': 'pg_exporter.svc', 'dest': '/lib/systemd/system/pg_exporter.service', 'owner': 'root', 'group': 'root', 'mode': '0644'})\u001b[0m\r\n"]
[0.001, "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.009, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item={'src': 'pg_exporter.svc', 'dest': '/lib/systemd/system/pg_exporter.service', 'owner': 'root', 'group': 'root', 'mode': '0644'})\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item={'src': 'pg_exporter.svc', 'dest': '/lib/systemd/system/pg_exporter.service', 'owner': 'root', 'group': 'root', 'mode': '0644'})\u001b[0m\r\n"]
[0.003, "o", "\r\nTASK [pg_monitor : launch pg_exporter systemd unit] ********************************************************************\r\n"]
[0.551, "o", "\u001b[0;33mchanged: [10.10.10.12]\u001b[0m\r\n"]
[0.002, "o", "\u001b[0;33mchanged: [10.10.10.11]\u001b[0m\r\n"]
[0.013, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.982, "o", "\u001b[0;33mchanged: [10.10.10.13]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [pg_monitor : wait for pg_exporter online] ************************************************************************\r\n"]
[0.147, "o", "\u001b[0;32mok: [10.10.10.12]\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;32mok: [10.10.10.11]\u001b[0m\r\n"]
[0.005, "o", "\u001b[0;32mok: [10.10.10.13]\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [pg_monitor : config pgbouncer_exporter] **************************************************************************\r\n"]
[0.300, "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.000, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item={'src': 'pgbouncer_exporter.yml', 'dest': '/etc/pgbouncer_exporter.yml', 'owner': 'postgres', 'group': 'postgres', 'mode': '0644'})\u001b[0m\r\n"]
[0.003, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item={'src': 'pgbouncer_exporter.yml', 'dest': '/etc/pgbouncer_exporter.yml', 'owner': 'postgres', 'group': 'postgres', 'mode': '0644'})\u001b[0m\r\n"]
[0.005, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item={'src': 'pgbouncer_exporter.yml', 'dest': '/etc/pgbouncer_exporter.yml', 'owner': 'postgres', 'group': 'postgres', 'mode': '0644'})\u001b[0m\r\n"]
[0.277, "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.000, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item={'src': 'pgbouncer_exporter.env', 'dest': '/etc/default/pgbouncer_exporter', 'owner': 'postgres', 'group': 'postgres', 'mode': '0600'})\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item={'src': 'pgbouncer_exporter.env', 'dest': '/etc/default/pgbouncer_exporter', 'owner': 'postgres', 'group': 'postgres', 'mode': '0600'})\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item={'src': 'pgbouncer_exporter.env', 'dest': '/etc/default/pgbouncer_exporter', 'owner': 'postgres', 'group': 'postgres', 'mode': '0600'})\u001b[0m\r\n"]
[0.276, "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.002, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item={'src': 'pgbouncer_exporter.svc', 'dest': '/lib/systemd/system/pgbouncer_exporter.service', 'owner': 'root', 'group': 'root', 'mode': '0644'})\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item={'src': 'pgbouncer_exporter.svc', 'dest': '/lib/systemd/system/pgbouncer_exporter.service', 'owner': 'root', 'group': 'root', 'mode': '0644'})\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item={'src': 'pgbouncer_exporter.svc', 'dest': '/lib/systemd/system/pgbouncer_exporter.service', 'owner': 'root', 'group': 'root', 'mode': '0644'})\u001b[0m\r\n"]
[0.002, "o", "\r\nTASK [pg_monitor : launch pgbouncer_exporter systemd unit] *************************************************************\r\n"]
[0.560, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.008, "o", "\u001b[0;33mchanged: [10.10.10.11]\u001b[0m\r\n"]
[0.006, "o", "\u001b[0;33mchanged: [10.10.10.13]\u001b[0m\r\n"]
[0.006, "o", "\u001b[0;33mchanged: [10.10.10.12]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [pg_monitor : wait for pgbouncer_exporter online] *****************************************************************\r\n"]
[0.140, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;32mok: [10.10.10.12]\u001b[0m\r\n"]
[0.003, "o", "\u001b[0;32mok: [10.10.10.13]\u001b[0m\r\n"]
[0.004, "o", "\u001b[0;32mok: [10.10.10.11]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [pg_monitor : config pgbackrest_exporter] *************************************************************************\r\n"]
[0.309, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item={'src': 'pgbackrest_exporter.env', 'dest': '/etc/default/pgbackrest_exporter', 'owner': 'postgres', 'group': 'postgres', 'mode': '0600'})\u001b[0m\r\n"]
[0.000, "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.001, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item={'src': 'pgbackrest_exporter.env', 'dest': '/etc/default/pgbackrest_exporter', 'owner': 'postgres', 'group': 'postgres', 'mode': '0600'})\u001b[0m\r\n"]
[0.004, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item={'src': 'pgbackrest_exporter.env', 'dest': '/etc/default/pgbackrest_exporter', 'owner': 'postgres', 'group': 'postgres', 'mode': '0600'})\u001b[0m\r\n"]
[0.284, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item={'src': 'pgbackrest_exporter.svc', 'dest': '/lib/systemd/system/pgbackrest_exporter.service', 'owner': 'root', 'group': 'root', 'mode': '0644'})\u001b[0m\r\n"]
[0.004, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item={'src': 'pgbackrest_exporter.svc', 'dest': '/lib/systemd/system/pgbackrest_exporter.service', 'owner': 'root', 'group': 'root', 'mode': '0644'})\u001b[0m\r\n"]
[0.001, "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.000, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item={'src': 'pgbackrest_exporter.svc', 'dest': '/lib/systemd/system/pgbackrest_exporter.service', 'owner': 'root', 'group': 'root', 'mode': '0644'})\u001b[0m\r\n"]
[0.002, "o", "\r\nTASK [pg_monitor : launch pgbackrest_exporter systemd unit] ************************************************************\r\n"]
[0.572, "o", "\u001b[0;33mchanged: [10.10.10.12]\u001b[0m\r\n"]
[0.002, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.004, "o", "\u001b[0;33mchanged: [10.10.10.13]\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.11]\u001b[0m\r\n"]
[0.002, "o", "\r\nTASK [pg_monitor : wait for pg_exporter online] ************************************************************************\r\n"]
[0.143, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[0.005, "o", "\u001b[0;32mok: [10.10.10.12]\u001b[0m\r\n"]
[0.002, "o", "\u001b[0;32mok: [10.10.10.11]\u001b[0m\r\n"]
[0.002, "o", "\u001b[0;32mok: [10.10.10.13]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [pg_monitor : register postgres to victoria] **********************************************************************\r\n"]
[0.289, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=10.10.10.10)\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.12 -> 10.10.10.10] => (item=10.10.10.10)\u001b[0m\r\n"]
[0.003, "o", "\u001b[0;33mchanged: [10.10.10.11 -> 10.10.10.10] => (item=10.10.10.10)\u001b[0m\r\n"]
[0.011, "o", "\u001b[0;33mchanged: [10.10.10.13 -> 10.10.10.10] => (item=10.10.10.10)\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [pg_monitor : register ssl patroni to victoria] *******************************************************************\r\n"]
[0.017, "o", "\u001b[0;36mskipping: [10.10.10.10] => (item=10.10.10.10) \u001b[0m\r\n"]
[0.000, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;36mskipping: [10.10.10.11] => (item=10.10.10.10) \u001b[0m\r\n"]
[0.000, "o", "\u001b[0;36mskipping: [10.10.10.11]\u001b[0m\r\n"]
[0.004, "o", "\u001b[0;36mskipping: [10.10.10.12] => (item=10.10.10.10) \u001b[0m\r\n"]
[0.001, "o", "\u001b[0;36mskipping: [10.10.10.12]\u001b[0m\r\n"]
[0.002, "o", "\u001b[0;36mskipping: [10.10.10.13] => (item=10.10.10.10) \u001b[0m\r\n"]
[0.000, "o", "\u001b[0;36mskipping: [10.10.10.13]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [pg_monitor : register pg vip ping target to victoria] ************************************************************\r\n"]
[0.288, "o", "\u001b[0;33mchanged: [10.10.10.13 -> 10.10.10.10] => (item=10.10.10.10)\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=10.10.10.10)\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.11 -> 10.10.10.10] => (item=10.10.10.10)\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.12 -> 10.10.10.10] => (item=10.10.10.10)\u001b[0m\r\n"]
[0.002, "o", "\r\nTASK [pg_monitor : render pgsql vector logging config] *****************************************************************\r\n"]
[0.302, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item=postgres)\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=postgres)\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item=postgres)\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item=postgres)\u001b[0m\r\n"]
[0.277, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item=pgbackrest)\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=pgbackrest)\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item=pgbackrest)\u001b[0m\r\n"]
[0.003, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item=pgbackrest)\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [pg_monitor : reload vector to consume pgsql log] *****************************************************************\r\n"]
[0.411, "o", "\u001b[0;33mchanged: [10.10.10.13]\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.003, "o", "\u001b[0;33mchanged: [10.10.10.11]\u001b[0m\r\n"]
[0.005, "o", "\u001b[0;33mchanged: [10.10.10.12]\u001b[0m\r\n"]
[0.002, "o", "\r\nTASK [pg_monitor : include_tasks] **************************************************************************************\r\n"]
[0.032, "o", "\u001b[0;36mincluded: /data/pgsty/pigsty/roles/pg_monitor/tasks/register_grafana.yml for 10.10.10.10, 10.10.10.11, 10.10.10.12, 10.10.10.13 => (item={'name': 'postgres'})\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;36mincluded: /data/pgsty/pigsty/roles/pg_monitor/tasks/register_grafana.yml for 10.10.10.10 => (item={'name': 'meta', 'baseline': 'cmdb.sql', 'comment': 'pigsty meta database', 'schemas': ['pigsty']})\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;36mincluded: /data/pgsty/pigsty/roles/pg_monitor/tasks/register_grafana.yml for 10.10.10.11, 10.10.10.12, 10.10.10.13 => (item={'name': 'test'})\u001b[0m\r\n"]
[0.015, "o", "\r\nTASK [pg_monitor : render grafana datasource for postgres] *************************************************************\r\n"]
[0.318, "o", "\u001b[0;33mchanged: [10.10.10.13 -> 10.10.10.10] => (item=10.10.10.10)\u001b[0m\r\n"]
[0.026, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=10.10.10.10)\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.12 -> 10.10.10.10] => (item=10.10.10.10)\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.11 -> 10.10.10.10] => (item=10.10.10.10)\u001b[0m\r\n"]
[0.002, "o", "\r\nTASK [pg_monitor : load grafana datasource postgres] *******************************************************************\r\n"]
[0.165, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=10.10.10.10)\u001b[0m\r\n"]
[0.006, "o", "\u001b[0;33mchanged: [10.10.10.11 -> 10.10.10.10] => (item=10.10.10.10)\u001b[0m\r\n"]
[0.010, "o", "\u001b[0;33mchanged: [10.10.10.13 -> 10.10.10.10] => (item=10.10.10.10)\u001b[0m\r\n"]
[0.012, "o", "\u001b[0;33mchanged: [10.10.10.12 -> 10.10.10.10] => (item=10.10.10.10)\u001b[0m\r\n"]
[0.003, "o", "\r\nTASK [pg_monitor : render grafana datasource for meta] *****************************************************************\r\n"]
[0.273, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=10.10.10.10)\u001b[0m\r\n"]
[0.004, "o", "\r\nTASK [pg_monitor : load grafana datasource meta] ***********************************************************************\r\n"]
[0.156, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=10.10.10.10)\u001b[0m\r\n"]
[0.004, "o", "\r\nTASK [pg_monitor : render grafana datasource for test] *****************************************************************\r\n"]
[0.274, "o", "\u001b[0;33mchanged: [10.10.10.11 -> 10.10.10.10] => (item=10.10.10.10)\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.13 -> 10.10.10.10] => (item=10.10.10.10)\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.12 -> 10.10.10.10] => (item=10.10.10.10)\u001b[0m\r\n"]
[0.004, "o", "\r\nTASK [pg_monitor : load grafana datasource test] ***********************************************************************\r\n"]
[0.158, "o", "\u001b[0;33mchanged: [10.10.10.13 -> 10.10.10.10] => (item=10.10.10.10)\u001b[0m\r\n"]
[0.015, "o", "\u001b[0;33mchanged: [10.10.10.11 -> 10.10.10.10] => (item=10.10.10.10)\u001b[0m\r\n"]
[0.025, "o", "\u001b[0;33mchanged: [10.10.10.12 -> 10.10.10.10] => (item=10.10.10.10)\u001b[0m\r\n"]
[0.007, "o", "\r\nPLAY RECAP *************************************************************************************************************\r\n"]
[0.000, "o", "\u001b[0;33m10.10.10.10\u001b[0m                : \u001b[0;32mok=113 \u001b[0m \u001b[0;33mchanged=82  \u001b[0m unreachable=0    failed=0    \u001b[0;36mskipped=28  \u001b[0m rescued=0    ignored=0   \r\n"]
[0.000, "o", "\u001b[0;33m10.10.10.11\u001b[0m                : \u001b[0;32mok=107 \u001b[0m \u001b[0;33mchanged=81  \u001b[0m unreachable=0    failed=0    \u001b[0;36mskipped=28  \u001b[0m rescued=0    ignored=0   \r\n"]
[0.000, "o", "\u001b[0;33m10.10.10.12\u001b[0m                : \u001b[0;32mok=92  \u001b[0m \u001b[0;33mchanged=65  \u001b[0m unreachable=0    failed=0    \u001b[0;36mskipped=43  \u001b[0m rescued=0    ignored=0   \r\n"]
[0.000, "o", "\u001b[0;33m10.10.10.13\u001b[0m                : \u001b[0;32mok=92  \u001b[0m \u001b[0;33mchanged=65  \u001b[0m unreachable=0    failed=0    \u001b[0;36mskipped=43  \u001b[0m rescued=0    ignored=0   \r\n\r\n"]
[0.070, "o", "\u001b[?2004h\u001b]0;vonng@vonng-aimax: ~/pigsty\u0007\u001b[01;32mvonng@vonng-aimax\u001b[00m:\u001b[01;34m~/pigsty\u001b[00m$ "]
[9.501, "o", "\u001b[?2004l\r\r\n"]
[0.000, "o", "exit\r\n"]
[0.001, "x", "0"]
