{"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":1768183884,"idle_time_limit":0.5,"title":"node","env":{"SHELL":"/bin/bash"}}
[0.013, "o", "\u001b[?2004h\u001b]0;vonng@vonng-aimax: ~/pigsty\u0007\u001b[01;32mvonng@vonng-aimax\u001b[00m:\u001b[01;34m~/pigsty\u001b[00m$ "]
[0.355, "o", "v"]
[0.024, "o", "i"]
[0.266, "o", " "]
[0.069, "o", "p"]
[0.047, "o", "i"]
[0.127, "o", "gsty.yml "]
[0.126, "o", "\r\n\u001b[?2004l\r"]
[0.010, "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\u001b[27m\u001b[23m\u001b[29m\u001b[m\u001b[H\u001b[2J\u001b[?25l\u001b[30;1H\"pigsty.yml\" [noeol] 179L, 9683B"]
[0.002, "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[2;1H   \u001b[34m # pgsql 3 node ha cluster: pg-test\u001b[m\u001b[2;39H\u001b[K\u001b[3;1H    \u001b[36mpg-test\u001b[m\u001b[35m:\u001b[m\u001b[3;13H\u001b[K\u001b[4;7H\u001b[36mhosts\u001b[m\u001b[35m:\u001b[m\u001b[5;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[6;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[7;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[8;7H\u001b[36mvars\u001b[m\u001b[35m:\u001b[m\u001b[9;9H\u001b[36mpg_cluster\u001b[m\u001b[35m:\u001b[m pg-test\u001b[10C\u001b[34m # define pgsql cluster name\u001b[m\u001b[10;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[11;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[12;9H\u001b[36mpg_vip_enabled\u001b[m\u001b[35m:\u001b[m \u001b[31mtrue\u001b[m\u001b[13;9H\u001b[36mpg_vip_address\u001b[m\u001b[35m:\u001b[m 10.10.10.3/24\u001b[14;9H\u001b[36mpg_vip_interface\u001b[m\u001b[35m:\u001b[m eth1\u001b[15;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[16;11H\u001b[38;5;130m- \u001b[m\u001b[31m'00 01 * * 1 postgres /pg/bin/pg-backup full'\u001b[m\u001b[17;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[19;4H\u001b[34m #----------------------------------#\r\n\u001b[m   \u001b[34m # redis ms, sentinel, native cluster\r\n\u001b[m   \u001b[34m #----------------------------------#\u001b[m\r\n    \u001b[36mredis-ms\u001b[m\u001b[35m:\u001b[m\u001b[34m # redis classic primary & replica\u001b[m\u001b[23;7H\u001b[36mhosts\u001b[m\u001b[35m:\u001b[m \u001b[35m{\u001b[m \u001b[36m10.10.10.10\u001b[m\u001b[35m:\u001b[m \u001b[35m{\u001b[m \u001b[36mredis_node\u001b[m\u001b[35m:\u001b[m \u001b[31m1\u001b[m , \u001b[36mredis_instances\u001b[m\u001b[35m:\u001b[m \u001b[35m{\u001b[m \u001b[36m6379\u001b[m\u001b[35m:\u001b[m \u001b[35m{\u001b[m \u001b[35m}\u001b[m, \u001b[36m6380\u001b[m\u001b[35m:"]
[0.002, "o", "\u001b[m \u001b[35m{\u001b[m \u001b[36mreplica_of\u001b[m\u001b[35m:\u001b[m \u001b[31m'10.10.10.10 6379'\u001b[m \u001b[35m}\u001b[m \u001b[35m}\u001b[m \u001b[35m}}\u001b[m\u001b[24;1H \u001b[35m}\u001b[m\u001b[25;7H\u001b[36mvars\u001b[m\u001b[35m:\u001b[m \u001b[35m{\u001b[m \u001b[36mredis_cluster\u001b[m\u001b[35m:\u001b[m redis-ms ,\u001b[36mredis_password\u001b[m\u001b[35m:\u001b[m \u001b[31m'redis.ms'\u001b[m ,\u001b[36mredis_max_memory\u001b[m\u001b[35m:\u001b[m 64MB \u001b[35m}\u001b[m\u001b[27;5H\u001b[36mredis-meta\u001b[m\u001b[35m:\u001b[m\u001b[34m # redis sentinel x 3\u001b[m\u001b[28;7H\u001b[36mhosts\u001b[m\u001b[35m:\u001b[m \u001b[35m{\u001b[m \u001b[36m10.10.10.11\u001b[m\u001b[35m:\u001b[m \u001b[35m{\u001b[m \u001b[36mredis_node\u001b[m\u001b[35m:\u001b[m \u001b[31m1\u001b[m , \u001b[36mredis_instances\u001b[m\u001b[35m:\u001b[m \u001b[35m{\u001b[m \u001b[36m26379\u001b[m\u001b[35m:\u001b[m \u001b[35m{\u001b[m \u001b[35m}\u001b[m ,\u001b[36m26380\u001b[m\u001b[35m:\u001b[m \u001b[35m{\u001b[m \u001b[35m}\u001b[m ,\u001b[36m26381\u001b[m\u001b[35m:\u001b[m \u001b[35m{\u001b[m \u001b[35m}\u001b[m \u001b[35m}\u001b[m \u001b[35m}\u001b[m \u001b[35m}\u001b[m\u001b[29;7H\u001b[36mvars\u001b[m\u001b[35m:\u001b[m\u001b[30;103H78,7\u001b[10C41%\u001b[15;7H\u001b[?25h\u001b[?4m"]
[0.066, "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.013, "o", "\u001bP+q6b32\u001b\\\u001bP+q6b33\u001b\\\u001bP+q6b34\u001b\\"]
[0.000, "o", "\u001b[?25l\u001b[30;93H7\u001b[15;7H\u001b[30;94H2\u001b[15;7H\u001b[30;95H=\u001b[15;7H\u001b[30;96H1\u001b[15;7H\u001b[30;97HB\u001b[15;7H\u001b[30;98H4\u001b[15;7H\u001b[30;99HF\u001b[15;7H\u001b[30;100H4\u001b[15;7H\u001b[30;101H3\u001b[15;7H\u001b[30;93H2=1B4F43^[\u001b[15;7H\u001b[30;93H          \u001b[15;7H\u001bP+q6b35\u001b\\\u001bP+q6b36\u001b\\\u001bP+q6b37\u001b\\\u001b[30;93H^[\u001b[15;7H\u001b[30;95HP\u001b[15;7H\u001b[30;96H1\u001b[15;7H\u001b[30;97H+\u001b[15;7H\u001b[30;93H     \u001b[15;7H\u001bP+q6b38\u001b\\"]
[0.000, "o", "\u001bP+q6b39\u001b\\"]
[0.000, "o", "\u001b[30;93H1\u001b[15;7H\u001b[30;94H+\u001b[15;7H\u001b[30;95Hr\u001b[15;7H\u001b[30;96H2\u001b[15;7H\u001b[30;97HA\u001b[15;7H\u001b[30;98H3\u001b[15;7H\u001b[30;99H7\u001b[15;7H\u001b[30;100H=\u001b[15;7H\u001b[30;101H1\u001b[15;7H\u001b[30;102HB\u001b[15;7H\u001b[30;93H          \u001b[15;7H\u001bP+q6b3b\u001b\\\u001bP+q4631\u001b\\\u001b[?25h"]
[0.017, "o", "\u001bP+q4632\u001b\\\u001bP+q2531\u001b\\\u001bP+q2638\u001b\\\u001b[?25l\u001b[30;93H^[\u001b[15;7H\u001b[30;95HP\u001b[15;7H\u001b[30;96H1\u001b[15;7H\u001b[30;97H+\u001b[15;7H\u001b[30;98Hr\u001b[15;7H\u001b[30;93H      \u001b[15;7H\u001bP+q6b62\u001b\\\u001bP+q6b49\u001b\\\u001bP+q6b44\u001b\\\u001b[30;93H^[\u001b[15;7H\u001b[30;95HP\u001b[15;7H\u001b[30;96H1\u001b[15;7H\u001b[30;97H+\u001b[15;7H\u001b[30;98Hr\u001b[15;7H\u001b[30;99H6\u001b[15;7H\u001b[30;100HB\u001b[15;7H\u001b[30;101H3\u001b[15;7H\u001b[30;93H         \u001b[15;7H\u001bP+q6b68\u001b\\\u001bP+q4037\u001b\\\u001bP+q6b50\u001b\\"]
[0.000, "o", "\u001b[30;93H^[\u001b[15;7H\u001b[30;95HP\u001b[15;7H\u001b[30;96H1\u001b[15;7H\u001b[30;97H+\u001b[15;7H\u001b[30;98Hr\u001b[15;7H\u001b[30;99H4\u001b[15;7H\u001b[30;100H6\u001b[15;7H\u001b[30;101H3\u001b[15;7H\u001b[30;102H1\u001b[15;7H\u001b[30;93H[P1+r4631=\u001b[15;7H\u001b[30;93H          \u001b[15;7H\u001bP+q6b4e\u001b\\\u001b[?25h"]
[0.016, "o", "\u001bP+q4b31\u001b\\\u001bP+q4b33\u001b\\\u001bP+q4b34\u001b\\\u001bP+q4b35\u001b\\\u001bP+q6b42\u001b\\"]
[0.020, "o", "\u001bP+q5053\u001b\\\u001bP+q5045\u001b\\\u001b[?25l\u001b[30;93H+\u001b[15;7H\u001b[30;94Hr\u001b[15;7H\u001b[30;95H6\u001b[15;7H\u001b[30;96HB\u001b[15;7H\u001b[30;97H5\u001b[15;7H\u001b[30;98H0\u001b[15;7H\u001b[30;99H=\u001b[15;7H\u001b[30;100H1\u001b[15;7H\u001b[30;101HB\u001b[15;7H\u001b[30;102H5\u001b[15;7H\u001b[30;93H          \u001b[15;7H\u001b[?25h"]
[0.613, "o", "\u001b[?25l\u001b[30;93Hk\u001b[15;7H"]
[0.001, "o", "\u001b[30;93H \u001b[14;7H\u001b[30;104H7\u001b[14;7H\u001b[?25h"]
[0.226, "o", "\u001b[?25l\u001b[30;93Hk\u001b[14;7H"]
[0.000, "o", "\u001b[30;93H \u001b[13;7H\u001b[30;104H6\u001b[13;7H\u001b[?25h"]
[0.043, "o", "\u001b[?25l\u001b[30;93Hk\u001b[13;7H"]
[0.001, "o", "\u001b[30;93H \u001b[12;7H\u001b[30;104H5\u001b[12;7H\u001b[?25h"]
[0.042, "o", "\u001b[?25l\u001b[30;93Hk\u001b[12;7H"]
[0.000, "o", "\u001b[30;93H \u001b[11;7H\u001b[30;104H4\u001b[11;7H\u001b[?25h"]
[0.021, "o", "\u001b[?25l\u001b[30;93Hk\u001b[11;7H"]
[0.000, "o", "\u001b[30;93H \u001b[10;7H\u001b[30;104H3\u001b[10;7H\u001b[?25h"]
[0.054, "o", "\u001b[?25l\u001b[30;93Hk\u001b[10;7H"]
[0.000, "o", "\u001b[30;93H \u001b[9;7H\u001b[30;104H2\u001b[9;7H\u001b[?25h"]
[0.022, "o", "\u001b[?25l\u001b[30;93Hk\u001b[9;7H"]
[0.001, "o", "\u001b[30;93H \u001b[8;7H\u001b[30;104H1\u001b[8;7H\u001b[?25h"]
[0.020, "o", "\u001b[?25l\u001b[30;93Hk\u001b[8;7H"]
[0.000, "o", "\u001b[30;93H \u001b[7;7H\u001b[30;104H0\u001b[7;7H\u001b[?25h"]
[0.046, "o", "\u001b[?25l\u001b[30;93Hk\u001b[7;7H"]
[0.001, "o", "\u001b[30;93H \u001b[6;7H\u001b[30;103H69\u001b[6;7H\u001b[?25h"]
[0.043, "o", "\u001b[?25l\u001b[30;93Hk\u001b[6;7H"]
[0.000, "o", "\u001b[30;93H \u001b[6;7H\u001b[1;29r\u001b[1;1H\u001b[L\u001b[1;30r\u001b[1;11H\u001b[38;5;130m- \u001b[m\u001b[31m'00 01 * * * postgres /pg/bin/pg-backup full'\u001b[m\u001b[30;1H\u001b[K\u001b[30;103H68,7\u001b[10C41%\u001b[6;7H\u001b[?25h"]
[0.019, "o", "\u001b[?25l\u001b[30;93Hk\u001b[6;7H"]
[0.000, "o", "\u001b[30;93H \u001b[6;7H\u001b[1;29r\u001b[1;1H\u001b[L\u001b[1;30r\u001b[1;9H\u001b[36mnode_crontab\u001b[m\u001b[35m:\u001b[m \u001b[34m # make a full backup 1 am everyday\u001b[m\u001b[30;103H\u001b[K\u001b[30;103H67,7\u001b[10C40%\u001b[6;7H\u001b[?25h"]
[0.045, "o", "\u001b[?25l\u001b[30;93Hk\u001b[6;7H"]
[0.000, "o", "\u001b[30;93H \u001b[6;7H\u001b[1;29r\u001b[1;1H\u001b[L\u001b[1;30r\u001b[1;9H\u001b[36mpg_vip_interface\u001b[m\u001b[35m:\u001b[m eth1\u001b[30;103H\u001b[K\u001b[30;103H66,7\u001b[10C39%\u001b[6;7H\u001b[?25h"]
[0.022, "o", "\u001b[?25l\u001b[30;93Hk\u001b[6;7H"]
[0.001, "o", "\u001b[30;93H \u001b[6;7H\u001b[1;29r\u001b[1;1H\u001b[L\u001b[1;30r\u001b[1;9H\u001b[36mpg_vip_address\u001b[m\u001b[35m:\u001b[m 10.10.10.2/24\u001b[30;103H\u001b[K\u001b[30;103H65,7\u001b[10C39%\u001b[6;7H\u001b[?25h"]
[0.048, "o", "\u001b[?25l\u001b[30;93Hk\u001b[6;7H"]
[0.000, "o", "\u001b[30;93H \u001b[6;1H\u001b[1;29r\u001b[1;1H\u001b[L\u001b[1;30r\u001b[1;9H\u001b[36mpg_vip_enabled\u001b[m\u001b[35m:\u001b[m \u001b[31mtrue\u001b[m\u001b[30;103H\u001b[K\u001b[30;103H64,0-1\u001b[8C38%\u001b[6;1H\u001b[?25h"]
[0.022, "o", "\u001b[?25l\u001b[30;93Hk\u001b[6;1H"]
[0.002, "o", "\u001b[30;93H \u001b[7;7H\u001b[1;29r\u001b[1;1H\u001b[2L\u001b[1;30r\u001b[1;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[2;1Ha nodes'\u001b[m \u001b[35m}\u001b[m\u001b[30;103H\u001b[K\u001b[30;103H63,7\u001b[10C37%\u001b[7;7H\u001b[?25h"]
[0.022, "o", "\u001b[?25l\u001b[30;93Hk\u001b[7;7H"]
[0.000, "o", "\u001b[30;93H \u001b[6;7H\u001b[30;104H2\u001b[6;7H\u001b[?25h"]
[0.037, "o", "\u001b[?25l\u001b[30;93Hk\u001b[6;7H"]
[0.001, "o", "\u001b[30;93H \u001b[6;7H\u001b[1;29r\u001b[1;1H\u001b[L\u001b[1;30r\u001b[1;9H\u001b[36mpg_hba_rules\u001b[m\u001b[35m:\u001b[m\u001b[30;103H\u001b[K\u001b[30;103H61,7\u001b[10C37%\u001b[6;7H\u001b[?25h"]
[0.041, "o", "\u001b[?25l\u001b[30;93Hk\u001b[6;7H"]
[0.001, "o", "\u001b[30;93H \u001b[6;7H\u001b[1;29r\u001b[1;1H\u001b[L\u001b[1;30r\u001b[1;11H\u001b[38;5;130m- \u001b[m\u001b[35m{\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[30;103H\u001b[K\u001b[30;103H60,7\u001b[10C36%\u001b[6;7H\u001b[?25h"]
[0.017, "o", "\u001b[?25l\u001b[30;93Hk\u001b[6;7H"]
[0.001, "o", "\u001b[30;93H \u001b[6;7H\u001b[1;29r\u001b[1;1H\u001b[L\u001b[1;30r\u001b[1;9H\u001b[36mpg_databases\u001b[m\u001b[35m:\u001b[m\u001b[30;103H\u001b[K\u001b[30;103H59,7\u001b[10C35%\u001b[6;7H\u001b[?25h"]
[0.046, "o", "\u001b[?25l\u001b[30;93Hk\u001b[6;7H"]
[0.001, "o", "\u001b[30;93H \u001b[6;7H\u001b[1;29r\u001b[1;1H\u001b[2L\u001b[1;30r\u001b[1;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[2;1Hnly viewer for meta database \u001b[35m}\u001b[m\u001b[30;103H\u001b[K\u001b[30;103H58,7\u001b[10C34%\u001b[6;7H\u001b[?25h"]
[0.019, "o", "\u001b[?25l\u001b[30;93Hk\u001b[6;7H"]
[0.001, "o", "\u001b[30;93H \u001b[7;7H\u001b[1;29r\u001b[1;1H\u001b[2L\u001b[1;30r\u001b[1;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[2;1H admin user \u001b[35m}\u001b[m\u001b[30;103H\u001b[K\u001b[30;103H57,7\u001b[10C33%\u001b[7;7H\u001b[?25h"]
[0.043, "o", "\u001b[?25l\u001b[30;93Hk\u001b[7;7H"]
[0.000, "o", "\u001b[30;93H \u001b[6;7H\u001b[30;104H6\u001b[6;7H\u001b[?25h"]
[0.020, "o", "\u001b[?25l\u001b[30;93Hk\u001b[6;7H"]
[0.001, "o", "\u001b[30;93H \u001b[6;7H\u001b[1;29r\u001b[1;1H\u001b[L\u001b[1;30r\u001b[1;9H\u001b[36mpg_users\u001b[m\u001b[35m:\u001b[m\u001b[30;103H\u001b[K\u001b[30;103H55,7\u001b[10C33%\u001b[6;7H\u001b[?25h"]
[0.039, "o", "\u001b[?25l\u001b[30;93Hk\u001b[6;7H"]
[0.000, "o", "\u001b[30;93H \u001b[6;7H\u001b[1;29r\u001b[1;1H\u001b[2L\u001b[1;30r\u001b[1;7H\u001b[36mvars\u001b[m\u001b[35m:\u001b[m\u001b[2;9H\u001b[36mpg_cluster\u001b[m\u001b[35m:\u001b[m pg-meta\u001b[30;103H\u001b[K\u001b[30;103H54,7\u001b[10C32%\u001b[6;7H\u001b[?25h"]
[0.044, "o", "\u001b[?25l\u001b[30;93Hk\u001b[6;7H"]
[0.001, "o", "\u001b[30;93H \u001b[6;7H\u001b[1;29r\u001b[1;1H\u001b[2L\u001b[1;30r\u001b[1;7H\u001b[36mhosts\u001b[m\u001b[35m:\u001b[m\u001b[2;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[30;103H\u001b[K\u001b[30;103H53,7\u001b[10C30%\u001b[6;7H\u001b[?25h"]
[0.020, "o", "\u001b[?25l\u001b[30;93Hk\u001b[6;7H"]
[0.000, "o", "\u001b[30;93H \u001b[6;7H\u001b[1;29r\u001b[1;1H\u001b[L\u001b[1;30r\u001b[1;5H\u001b[36mpg-meta\u001b[m\u001b[35m:\u001b[m\u001b[30;103H\u001b[K\u001b[30;103H52,7\u001b[10C30%\u001b[6;7H\u001b[?25h"]
[0.045, "o", "\u001b[?25l\u001b[30;93Hk\u001b[6;7H"]
[0.000, "o", "\u001b[30;93H \u001b[6;7H\u001b[1;29r\u001b[1;1H\u001b[L\u001b[1;30r\u001b[1;4H\u001b[34m # postgres cluster: pg-meta\u001b[m\u001b[30;103H\u001b[K\u001b[30;103H51,7\u001b[10C29%\u001b[6;7H\u001b[?25h"]
[0.020, "o", "\u001b[?25l\u001b[30;93Hk\u001b[6;7H"]
[0.000, "o", "\u001b[30;93H \u001b[6;7H\u001b[1;29r\u001b[1;1H\u001b[L\u001b[1;30r\u001b[30;103H\u001b[K\u001b[30;103H50,7\u001b[10C28%\u001b[6;7H\u001b[?25h"]
[0.041, "o", "\u001b[?25l\u001b[30;93Hk\u001b[6;7H"]
[0.001, "o", "\u001b[30;93H \u001b[6;7H\u001b[1;29r\u001b[1;1H\u001b[L\u001b[1;30r\u001b[1;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[30;103H\u001b[K\u001b[30;103H49,7\u001b[10C28%\u001b[6;7H\u001b[?25h"]
[0.022, "o", "\u001b[?25l\u001b[30;93Hk\u001b[6;7H"]
[0.001, "o", "\u001b[30;93H \u001b[6;7H\u001b[1;29r\u001b[1;1H\u001b[L\u001b[1;30r\u001b[1;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[30;103H\u001b[K\u001b[30;103H48,7\u001b[10C27%\u001b[6;7H\u001b[?25h"]
[0.042, "o", "\u001b[?25l\u001b[30;93Hk\u001b[6;7H"]
[0.001, "o", "\u001b[30;93H \u001b[6;7H\u001b[1;29r\u001b[1;1H\u001b[L\u001b[1;30r\u001b[1;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[30;103H\u001b[K\u001b[30;103H47,7\u001b[10C26%\u001b[6;7H\u001b[?25h"]
[0.043, "o", "\u001b[?25l\u001b[30;93Hk\u001b[6;7H"]
[0.001, "o", "\u001b[30;93H \u001b[6;7H\u001b[1;29r\u001b[1;1H\u001b[L\u001b[1;30r\u001b[1;9H\u001b[36mminio_users\u001b[m\u001b[35m:\u001b[m\u001b[21C\u001b[34m # list of minio user to be created\u001b[m\u001b[30;103H\u001b[K\u001b[30;103H46,7\u001b[10C26%\u001b[6;7H\u001b[?25h"]
[0.018, "o", "\u001b[?25l\u001b[30;93Hk\u001b[6;7H"]
[0.000, "o", "\u001b[30;93H \u001b[6;1H\u001b[1;29r\u001b[1;1H\u001b[L\u001b[1;30r\u001b[1;9H\u001b[36mminio_cluster\u001b[m\u001b[35m:\u001b[m minio\u001b[30;103H\u001b[K\u001b[30;103H45,0-1\u001b[8C25%\u001b[6;1H\u001b[?25h"]
[0.384, "o", "\u001b[?25l\u001b[30;93H:\u001b[6;1H\u001b[30;93H\u001b[K\u001b[30;1H:\u001b[?25h"]
[0.183, "o", "q"]
[0.113, "o", "\r"]
[0.001, "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.358, "o", "."]
[0.069, "o", "/"]
[0.189, "o", "n"]
[0.042, "o", "o"]
[0.068, "o", "d"]
[0.172, "o", "e"]
[0.085, "o", "."]
[0.113, "o", "yml "]
[0.326, "o", "\r\n\u001b[?2004l\r"]
[0.269, "o", "\r\nPLAY [NODE] ************************************************************************************************************\r\n"]
[0.014, "o", "\r\nTASK [node_id : get node fact] *****************************************************************************************\r\n"]
[0.197, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.615, "o", "\u001b[0;33mchanged: [10.10.10.13]\u001b[0m\r\n"]
[0.004, "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", "\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.002, "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.000, "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"]
[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.001, "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.002, "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.002, "o", "\r\nTASK [node_id : load roles/node_id/vars/u24.x86_64.yml] ****************************************************************\r\n"]
[0.017, "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.001, "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.009, "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.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.000, "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.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.001, "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 [node : set hostname to nodename] *********************************************************************************\r\n"]
[0.132, "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.004, "o", "\u001b[0;33mchanged: [10.10.10.13]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [node : wipe pigsty dns entries] **********************************************************************************\r\n"]
[0.184, "o", "\u001b[0;33mchanged: [10.10.10.10]\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.12]\u001b[0m\r\n"]
[0.005, "o", "\u001b[0;32mok: [10.10.10.13]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [node : write static etc hosts entry] *****************************************************************************\r\n"]
[0.131, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item=${admin_ip} i.pigsty)\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item=${admin_ip} i.pigsty)\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=${admin_ip} i.pigsty)\u001b[0m\r\n"]
[0.002, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item=${admin_ip} i.pigsty)\u001b[0m\r\n"]
[0.113, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item=${admin_ip} i.pigsty sss.pigsty)\u001b[0m\r\n"]
[0.000, "o", "\u001b[1;35m[WARNING]: Module remote_tmp /root/.ansible/tmp did not exist and was created with a mode of 0700, this may cause\u001b[0m\r\n\u001b[1;35missues when running as another user. To avoid this, create the remote_tmp dir with the correct permissions manually\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item=${admin_ip} i.pigsty sss.pigsty)\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item=${admin_ip} i.pigsty sss.pigsty)\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=${admin_ip} i.pigsty sss.pigsty)\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [node : exchange nodename between nodes] **************************************************************************\r\n"]
[0.017, "o", "\u001b[0;36mskipping: [10.10.10.10] => (item=['pg-meta-1', '10.10.10.10']) \u001b[0m\r\n"]
[0.001, "o", "\u001b[0;36mskipping: [10.10.10.11] => (item=['pg-test-1', '10.10.10.10']) \u001b[0m\r\n"]
[0.002, "o", "\u001b[0;36mskipping: [10.10.10.10] => (item=['pg-meta-1', '10.10.10.11']) \u001b[0m\r\n"]
[0.000, "o", "\u001b[0;36mskipping: [10.10.10.11] => (item=['pg-test-1', '10.10.10.11']) \u001b[0m\r\n"]
[0.001, "o", "\u001b[0;36mskipping: [10.10.10.12] => (item=['pg-test-2', '10.10.10.10']) \u001b[0m\r\n"]
[0.001, "o", "\u001b[0;36mskipping: [10.10.10.10] => (item=['pg-meta-1', '10.10.10.12']) \u001b[0m\r\n"]
[0.000, "o", "\u001b[0;36mskipping: [10.10.10.11] => (item=['pg-test-1', '10.10.10.12']) \u001b[0m\r\n"]
[0.002, "o", "\u001b[0;36mskipping: [10.10.10.13] => (item=['pg-test-3', '10.10.10.10']) \u001b[0m\r\n"]
[0.000, "o", "\u001b[0;36mskipping: [10.10.10.12] => (item=['pg-test-2', '10.10.10.11']) \u001b[0m\r\n"]
[0.000, "o", "\u001b[0;36mskipping: [10.10.10.10] => (item=['pg-meta-1', '10.10.10.13']) \u001b[0m\r\n"]
[0.000, "o", "\u001b[0;36mskipping: [10.10.10.11] => (item=['pg-test-1', '10.10.10.13']) \u001b[0m\r\n"]
[0.001, "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.001, "o", "\u001b[0;36mskipping: [10.10.10.13] => (item=['pg-test-3', '10.10.10.11']) \u001b[0m\r\n"]
[0.000, "o", "\u001b[0;36mskipping: [10.10.10.12] => (item=['pg-test-2', '10.10.10.12']) \u001b[0m\r\n"]
[0.001, "o", "\u001b[0;36mskipping: [10.10.10.12] => (item=['pg-test-2', '10.10.10.13']) \u001b[0m\r\n"]
[0.000, "o", "\u001b[0;36mskipping: [10.10.10.13] => (item=['pg-test-3', '10.10.10.12']) \u001b[0m\r\n"]
[0.002, "o", "\u001b[0;36mskipping: [10.10.10.12]\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;36mskipping: [10.10.10.13] => (item=['pg-test-3', '10.10.10.13']) \u001b[0m\r\n"]
[0.001, "o", "\u001b[0;36mskipping: [10.10.10.13]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [node : get existing etc resolv] **********************************************************************************\r\n"]
[0.131, "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.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 [node : generate etc resolv conf] *********************************************************************************\r\n"]
[0.411, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[0.042, "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.000, "o", "\u001b[0;33mchanged: [10.10.10.13]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [node : set node selinux mode] ************************************************************************************\r\n"]
[0.155, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[1.006, "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.005, "o", "\u001b[0;33mchanged: [10.10.10.11]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [node : setup node firewall] **************************************************************************************\r\n"]
[0.964, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[1.207, "o", "\u001b[0;33mchanged: [10.10.10.13]\u001b[0m\r\n"]
[0.044, "o", "\u001b[0;33mchanged: [10.10.10.12]\u001b[0m\r\n"]
[0.005, "o", "\u001b[0;33mchanged: [10.10.10.11]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [node : create node pki dir] **************************************************************************************\r\n"]
[0.123, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[1.001, "o", "\u001b[0;32mok: [10.10.10.11]\u001b[0m\r\n"]
[0.001, "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 [node : add ca.crt to node] ***************************************************************************************\r\n"]
[0.260, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[2.017, "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", "\u001b[0;33mchanged: [10.10.10.13]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [node : trust ca.crt on node] *************************************************************************************\r\n"]
[0.591, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[1.299, "o", "\u001b[0;33mchanged: [10.10.10.11]\u001b[0m\r\n"]
[0.008, "o", "\u001b[0;33mchanged: [10.10.10.13]\u001b[0m\r\n"]
[0.012, "o", "\u001b[0;33mchanged: [10.10.10.12]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [node : remove and backup existing repo file] *********************************************************************\r\n"]
[0.163, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[1.005, "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.002, "o", "\u001b[0;33mchanged: [10.10.10.13]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [node : add upstream repo file to nodes] **************************************************************************\r\n"]
[0.299, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=local)\u001b[0m\r\n"]
[2.018, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item=local)\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item=local)\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item=local)\u001b[0m\r\n"]
[0.002, "o", "\r\nTASK [node : make node local repo cache] *******************************************************************************\r\n"]
[0.195, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[1.078, "o", "\u001b[0;33mchanged: [10.10.10.13]\u001b[0m\r\n"]
[0.017, "o", "\u001b[0;33mchanged: [10.10.10.12]\u001b[0m\r\n"]
[0.010, "o", "\u001b[0;33mchanged: [10.10.10.11]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [node : supress deb auto start with policy-rc.d] ******************************************************************\r\n"]
[0.257, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[2.025, "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.008, "o", "\u001b[0;33mchanged: [10.10.10.11]\u001b[0m\r\n"]
[0.002, "o", "\r\nTASK [node : install default node packages] ****************************************************************************\r\n"]
[0.543, "o", "\u001b[0;32mok: [10.10.10.10] => (item=lz4,unzip,bzip2,pv,jq,git,ncdu,make,patch,bash,lsof,wget,uuid,tuned,nvme-cli,numactl,sysstat,iotop,htop,rsync)\u001b[0m\r\n"]
[0.398, "o", "\u001b[0;32mok: [10.10.10.10] => (item=python3,socat,lrzsz,net-tools,ipvsadm,telnet,ca-certificates,openssl,keepalived,etcd,haproxy,chrony,pig)\u001b[0m\r\n"]
[0.419, "o", "\u001b[0;32mok: [10.10.10.10] => (item=zlib1g,acl,dnsutils,libreadline-dev,vim-tiny,node-exporter,openssh-server,openssh-client,vector)\u001b[0m\r\n"]
[5.297, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item=lz4,unzip,bzip2,pv,jq,git,ncdu,make,patch,bash,lsof,wget,uuid,tuned,nvme-cli,numactl,sysstat,iotop,htop,rsync)\u001b[0m\r\n"]
[0.106, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item=lz4,unzip,bzip2,pv,jq,git,ncdu,make,patch,bash,lsof,wget,uuid,tuned,nvme-cli,numactl,sysstat,iotop,htop,rsync)\u001b[0m\r\n"]
[0.086, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item=lz4,unzip,bzip2,pv,jq,git,ncdu,make,patch,bash,lsof,wget,uuid,tuned,nvme-cli,numactl,sysstat,iotop,htop,rsync)\u001b[0m\r\n"]
[9.124, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item=python3,socat,lrzsz,net-tools,ipvsadm,telnet,ca-certificates,openssl,keepalived,etcd,haproxy,chrony,pig)\u001b[0m\r\n"]
[0.170, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item=python3,socat,lrzsz,net-tools,ipvsadm,telnet,ca-certificates,openssl,keepalived,etcd,haproxy,chrony,pig)\u001b[0m\r\n"]
[0.042, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item=python3,socat,lrzsz,net-tools,ipvsadm,telnet,ca-certificates,openssl,keepalived,etcd,haproxy,chrony,pig)\u001b[0m\r\n"]
[6.045, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item=zlib1g,acl,dnsutils,libreadline-dev,vim-tiny,node-exporter,openssh-server,openssh-client,vector)\u001b[0m\r\n"]
[0.052, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item=zlib1g,acl,dnsutils,libreadline-dev,vim-tiny,node-exporter,openssh-server,openssh-client,vector)\u001b[0m\r\n"]
[0.101, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item=zlib1g,acl,dnsutils,libreadline-dev,vim-tiny,node-exporter,openssh-server,openssh-client,vector)\u001b[0m\r\n"]
[0.002, "o", "\r\nTASK [node : install node packages (latest)] ***************************************************************************\r\n"]
[0.415, "o", "\u001b[0;32mok: [10.10.10.10] => (item=openssh-server)\u001b[0m\r\n"]
[4.964, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item=openssh-server)\u001b[0m\r\n"]
[0.018, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item=openssh-server)\u001b[0m\r\n"]
[0.009, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item=openssh-server)\u001b[0m\r\n"]
[0.002, "o", "\r\nTASK [node : install keepalived if enabled] ****************************************************************************\r\n"]
[0.017, "o", "\u001b[0;36mskipping: [10.10.10.10] => (item=keepalived) \u001b[0m\r\n"]
[0.000, "o", "\u001b[0;36mskipping: [10.10.10.11] => (item=keepalived) \u001b[0m\r\n"]
[0.000, "o", "\u001b[0;36mskipping: [10.10.10.11] => (item=keepalived-exporter) \u001b[0m\r\n"]
[0.000, "o", "\u001b[0;36mskipping: [10.10.10.10] => (item=keepalived-exporter) \u001b[0m\r\n"]
[0.001, "o", "\u001b[0;36mskipping: [10.10.10.11]\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;36mskipping: [10.10.10.12] => (item=keepalived) \u001b[0m\r\n"]
[0.001, "o", "\u001b[0;36mskipping: [10.10.10.12] => (item=keepalived-exporter) \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=keepalived) \u001b[0m\r\n"]
[0.001, "o", "\u001b[0;36mskipping: [10.10.10.13] => (item=keepalived-exporter) \u001b[0m\r\n"]
[0.001, "o", "\u001b[0;36mskipping: [10.10.10.13]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [node : disable node numa] ****************************************************************************************\r\n"]
[0.007, "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 [node : disable node swap] ****************************************************************************************\r\n"]
[0.013, "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.003, "o", "\u001b[0;36mskipping: [10.10.10.13]\u001b[0m\r\n"]
[0.000, "o", "\r\nTASK [node : unmount node swap fs] *************************************************************************************\r\n"]
[0.014, "o", "\u001b[0;36mskipping: [10.10.10.10] => (item=swap) \u001b[0m\r\n"]
[0.001, "o", "\u001b[0;36mskipping: [10.10.10.10] => (item=none) \u001b[0m\r\n"]
[0.001, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;36mskipping: [10.10.10.11] => (item=swap) \u001b[0m\r\n"]
[0.001, "o", "\u001b[0;36mskipping: [10.10.10.11] => (item=none) \u001b[0m\r\n"]
[0.000, "o", "\u001b[0;36mskipping: [10.10.10.11]\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;36mskipping: [10.10.10.12] => (item=swap) \u001b[0m\r\n"]
[0.001, "o", "\u001b[0;36mskipping: [10.10.10.12] => (item=none) \u001b[0m\r\n"]
[0.000, "o", "\u001b[0;36mskipping: [10.10.10.12]\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;36mskipping: [10.10.10.13] => (item=swap) \u001b[0m\r\n"]
[0.001, "o", "\u001b[0;36mskipping: [10.10.10.13] => (item=none) \u001b[0m\r\n"]
[0.001, "o", "\u001b[0;36mskipping: [10.10.10.13]\u001b[0m\r\n"]
[0.000, "o", "\r\nTASK [node : setup node static network] ********************************************************************************\r\n"]
[0.077, "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.000, "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", "\r\nTASK [node : configure disk prefetch] **********************************************************************************\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.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 : enable kernel module] *************************************************************************************\r\n"]
[0.153, "o", "\u001b[0;32mok: [10.10.10.10] => (item=softdog)\u001b[0m\r\n"]
[0.106, "o", "\u001b[0;32mok: [10.10.10.10] => (item=ip_vs)\u001b[0m\r\n"]
[0.108, "o", "\u001b[0;32mok: [10.10.10.10] => (item=ip_vs_rr)\u001b[0m\r\n"]
[0.108, "o", "\u001b[0;32mok: [10.10.10.10] => (item=ip_vs_wrr)\u001b[0m\r\n"]
[0.108, "o", "\u001b[0;32mok: [10.10.10.10] => (item=ip_vs_sh)\u001b[0m\r\n"]
[0.583, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item=softdog)\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item=softdog)\u001b[0m\r\n"]
[0.002, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item=softdog)\u001b[0m\r\n"]
[1.122, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item=ip_vs)\u001b[0m\r\n"]
[0.002, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item=ip_vs)\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item=ip_vs)\u001b[0m\r\n"]
[1.119, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item=ip_vs_rr)\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item=ip_vs_rr)\u001b[0m\r\n"]
[0.003, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item=ip_vs_rr)\u001b[0m\r\n"]
[1.118, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item=ip_vs_wrr)\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item=ip_vs_wrr)\u001b[0m\r\n"]
[0.002, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item=ip_vs_wrr)\u001b[0m\r\n"]
[1.117, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item=ip_vs_sh)\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item=ip_vs_sh)\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item=ip_vs_sh)\u001b[0m\r\n"]
[0.002, "o", "\r\nTASK [node : enable kernel module on system boot] **********************************************************************\r\n"]
[0.260, "o", "\u001b[0;32mok: [10.10.10.10] => (item=softdog)\u001b[0m\r\n"]
[0.241, "o", "\u001b[0;32mok: [10.10.10.10] => (item=ip_vs)\u001b[0m\r\n"]
[0.245, "o", "\u001b[0;32mok: [10.10.10.10] => (item=ip_vs_rr)\u001b[0m\r\n"]
[0.244, "o", "\u001b[0;32mok: [10.10.10.10] => (item=ip_vs_wrr)\u001b[0m\r\n"]
[0.268, "o", "\u001b[0;32mok: [10.10.10.10] => (item=ip_vs_sh)\u001b[0m\r\n"]
[1.023, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item=softdog)\u001b[0m\r\n"]
[0.006, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item=softdog)\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item=softdog)\u001b[0m\r\n"]
[2.265, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item=ip_vs)\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item=ip_vs)\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item=ip_vs)\u001b[0m\r\n"]
[2.266, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item=ip_vs_rr)\u001b[0m\r\n"]
[0.005, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item=ip_vs_rr)\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item=ip_vs_rr)\u001b[0m\r\n"]
[2.262, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item=ip_vs_wrr)\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item=ip_vs_wrr)\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item=ip_vs_wrr)\u001b[0m\r\n"]
[2.263, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item=ip_vs_sh)\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item=ip_vs_sh)\u001b[0m\r\n"]
[0.002, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item=ip_vs_sh)\u001b[0m\r\n"]
[0.002, "o", "\r\nTASK [node : create tuned profile dir] *********************************************************************************\r\n"]
[0.121, "o", "\u001b[0;32mok: [10.10.10.10] => (item=oltp)\u001b[0m\r\n"]
[0.109, "o", "\u001b[0;32mok: [10.10.10.10] => (item=olap)\u001b[0m\r\n"]
[0.112, "o", "\u001b[0;32mok: [10.10.10.10] => (item=crit)\u001b[0m\r\n"]
[0.115, "o", "\u001b[0;32mok: [10.10.10.10] => (item=tiny)\u001b[0m\r\n"]
[0.673, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item=oltp)\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item=oltp)\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item=oltp)\u001b[0m\r\n"]
[1.116, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item=olap)\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item=olap)\u001b[0m\r\n"]
[0.002, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item=olap)\u001b[0m\r\n"]
[1.116, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item=crit)\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item=crit)\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item=crit)\u001b[0m\r\n"]
[1.116, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item=tiny)\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item=tiny)\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item=tiny)\u001b[0m\r\n"]
[0.003, "o", "\r\nTASK [node : render tuned profiles] ************************************************************************************\r\n"]
[0.292, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=oltp)\u001b[0m\r\n"]
[0.274, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=olap)\u001b[0m\r\n"]
[0.275, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=crit)\u001b[0m\r\n"]
[0.277, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=tiny)\u001b[0m\r\n"]
[1.176, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item=oltp)\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item=oltp)\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item=oltp)\u001b[0m\r\n"]
[2.273, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item=olap)\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item=olap)\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item=olap)\u001b[0m\r\n"]
[2.269, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item=crit)\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item=crit)\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item=crit)\u001b[0m\r\n"]
[2.270, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item=tiny)\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item=tiny)\u001b[0m\r\n"]
[0.005, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item=tiny)\u001b[0m\r\n"]
[0.002, "o", "\r\nTASK [node : render hugepage sysctl parameter] *************************************************************************\r\n"]
[0.264, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[2.027, "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 [node : activate tuned profile] ***********************************************************************************\r\n"]
[1.211, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[0.993, "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.000, "o", "\u001b[0;33mchanged: [10.10.10.12]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [node : change sysctl parameter] **********************************************************************************\r\n"]
[0.007, "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 [node : write node etc profile] ***********************************************************************************\r\n"]
[0.255, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[2.022, "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 [node : write node aliases] ***************************************************************************************\r\n"]
[0.016, "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.003, "o", "\u001b[0;36mskipping: [10.10.10.13]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [node : write node pip config] ************************************************************************************\r\n"]
[0.262, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[2.017, "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.001, "o", "\r\nTASK [node : set pam ulimit] *******************************************************************************************\r\n"]
[0.262, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[2.015, "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.000, "o", "\u001b[0;33mchanged: [10.10.10.13]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [node : assure node data dir exists] ******************************************************************************\r\n"]
[0.120, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[1.008, "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.003, "o", "\u001b[0;32mok: [10.10.10.13]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [node : create os user group admin] *******************************************************************************\r\n"]
[0.152, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[1.028, "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 [node : create os user admin] *************************************************************************************\r\n"]
[0.235, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[1.422, "o", "\u001b[0;33mchanged: [10.10.10.12]\u001b[0m\r\n"]
[0.007, "o", "\u001b[0;33mchanged: [10.10.10.13]\u001b[0m\r\n"]
[0.102, "o", "\u001b[0;33mchanged: [10.10.10.11]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [node : grant current admin user admin group] *********************************************************************\r\n"]
[0.146, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[1.012, "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.003, "o", "\u001b[0;33mchanged: [10.10.10.13]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [node : grant admin user sudo privilege] **************************************************************************\r\n"]
[0.262, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[2.019, "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", "\u001b[0;33mchanged: [10.10.10.13]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [node : touch admin user ssh config] ******************************************************************************\r\n"]
[0.262, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[2.014, "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 [node : set ssh config no host checking] **************************************************************************\r\n"]
[0.121, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[1.004, "o", "\u001b[0;32mok: [10.10.10.11]\u001b[0m\r\n"]
[0.001, "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 : fetch admin public keys] **********************************************************************************\r\n"]
[0.116, "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.002, "o", "\u001b[0;33mchanged: [10.10.10.12]\u001b[0m\r\n"]
[0.004, "o", "\u001b[0;33mchanged: [10.10.10.13]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [node : exchange all admin ssh keys] ******************************************************************************\r\n"]
[0.228, "o", "\u001b[0;33mchanged: [10.10.10.13 -> 10.10.10.10] => (item=['ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDY5sdLFxr54u3k/o9gWyQd/UCQvS+ZYXbp0EVg2L9b+JDGG52C86hRKv50LyutMZMFgpAHkgp3G5q3mLE7rYoFiS/IvjHQbXV9axgLFWX1LDTAc89wEzJJNsoERIwMWi4+PiNInQa3U1ECdrpk/k1YLqb1LD+cw1z/tIB3badwuU3rHfXhQF1nmQZmAoEMlNzcil1b+jGaqR0t4pRi4/MMawNew1K3bLJSI/n8yBeD+tw6W28wX9Ai2nc5gYNyBgxzucDtdMI93KJiRxgVt8kSW5fOBha9I3PkJRoQusWfJZN8reqXop+h7DCfURKXzee4pe9VtlQSUrvfgX6/2fWBLH9ALgTWs2j/PvJPMjkq2N2yV4HhLOYsz2g5C+dvj2K703z+k1g6T4QZRHVNHh38ew1San+A++NSBJVjkoU0f6xNhTzBAjXehLj1ZeMiSbV0r6JapuUBQXUDH2BImlRX6iEkawIYQEu00Xsfk7qMFYMj9AhZV4To+EornqO/Aa8= ansible-generated on pg-test-3', '10.10.10.10'])\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.12 -> 10.10.10.10] => (item=['ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDA0f4gdaAU6C7s4Cl7R9+jfEzq3gcfXR7zbyPfeFPAAH/kNEb2IzDSsIsWFKeQKx4vV8xyoXDVU5aQ6GD6HQIy6O2K7eMvqN05g6EDu4PPFqa398NvHpOE998rQqV+jdRpb//2z+FbK26kwqN5bqaIiUUOlBaibbJzzuZ+l6aA7F5qH4NvVObyVS5sScHqV+xb3uhW8zcwIu7fl+9pZdyYBNkXQIpFfKnC/TQrtitOLsQueDKC7UFW36GI6rrnraNMwI+d9mVaETodrIQawk8tKcq+3GVz33It+752UdMVN22a1hiHE7G9CxYgfm/9869+4bn7mB2aBcXXAS5bZCcDDLqqpBxTx32mXLCwBEKGEgyoO8yJtkqu5khpayKuHJ8Cq1p6Oevq73K9y9mduwZh0fbeYouQ1SejVObk8VdTgq2roleDMYzeL6GsxyL10UNILPzLj6atvGFo1DFdqakq40L/pL2+LKxMOrXw9OWrcJbWWMUIH8keX1Ez26z5OJk= ansible-generated on pg-test-2', '10.10.10.10'])\u001b[0m\r\n"]
[0.002, "o", "\u001b[0;33mchanged: [10.10.10.11 -> 10.10.10.10] => (item=['ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCRbQwS2n9XBd8RDQZYioxVEHaaSYdCYij0V3svEBqx528sx8zG/+iyjJgQXknrFfbKNr1Z5+G/PHzhvKOp5BJ34+Lt/dhp8A/bUr+0omOggqYA1rTeXBumfSeKoWjGcvKEcyxIQJhrgE+kX84e6Ae/QCMCCwaatwfZFRENN1adkIfifAsSQjWiPIBRUOuudPokm30ELdHqMK89RbS2aAfWup8BgyctcwZVbYQ5CTRprcDZ1nXFzGQ+pq3DIRlZHXuErijgmaIOlgO92PisY0UrAu1QikTqhk9XM0yVExk+BUt6cRFSFB+NwdUUkC5X6PoZzjOQqIegPyMezpbetfUUMpqOWbQxezqeEIeU349NsB7gCYI6UaGoZ6JJY9zBi6I6rvp+UiZyrTLmeUWD6UPwaym1JcpEckVAevx4IqQw/TV9sivRxW8l+Af9w0QdxOadJruxKuweflkCAZ8flvPhayB3+QjeaKC0qiQEQIgahJ5joNAaoLcaP3idx7svbks= ansible-generated on pg-test-1', '10.10.10.10'])\u001b[0m\r\n"]
[0.002, "o", "\u001b[0;32mok: [10.10.10.10] => (item=['ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDOFE4L0HqV52EpB5hxnVcEQXnnveQLUCeG4fv1/V+tfX0O6Cj5tjNBZcDNyF/MxLqTRMYQXhCqm8K3Fqc+vzAKXmSX0zq9xQ1gYk2qBeZm9iVvHFN7cEPGQRsA4gOwVnJ9UsfPE7Hu/IRtJkHuPIH8SLgTr3gFO3LL3u/og2FBGVCJVp1WfdsID1e41k7cZTgyGMDFAgdcbyt2N3CyZaduIXHJ9m4ATdIysA7GQFWolezKU8CkxCdwkL5N5T5rL2y2PC/iWpta66k8FTVKGW8ntSxPbdhlMuWXACoSYhRwOpoWv2vL4/zaR+Eeoa67RfEh4vwCi1gjeQdofzCC5ld03Kva92A2nBwJmTiffnxwtGscpdLWv6rzBDbijNK8ibwQudIR1LsNl3pkATqaSsFLd5/oP7YIflnERUXbb4d7CFRBUjhQW6NIHMBEUqwvlT1M8jNgNwn7BdBpfxws2Y5RcUdjea0SyugwpBr30Y9odJPtHeTTueK3Y58NQbk3cmE= ansible-generated on pg-meta-1', '10.10.10.10'])\u001b[0m\r\n"]
[1.169, "o", "\u001b[0;33mchanged: [10.10.10.12 -> 10.10.10.11] => (item=['ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDA0f4gdaAU6C7s4Cl7R9+jfEzq3gcfXR7zbyPfeFPAAH/kNEb2IzDSsIsWFKeQKx4vV8xyoXDVU5aQ6GD6HQIy6O2K7eMvqN05g6EDu4PPFqa398NvHpOE998rQqV+jdRpb//2z+FbK26kwqN5bqaIiUUOlBaibbJzzuZ+l6aA7F5qH4NvVObyVS5sScHqV+xb3uhW8zcwIu7fl+9pZdyYBNkXQIpFfKnC/TQrtitOLsQueDKC7UFW36GI6rrnraNMwI+d9mVaETodrIQawk8tKcq+3GVz33It+752UdMVN22a1hiHE7G9CxYgfm/9869+4bn7mB2aBcXXAS5bZCcDDLqqpBxTx32mXLCwBEKGEgyoO8yJtkqu5khpayKuHJ8Cq1p6Oevq73K9y9mduwZh0fbeYouQ1SejVObk8VdTgq2roleDMYzeL6GsxyL10UNILPzLj6atvGFo1DFdqakq40L/pL2+LKxMOrXw9OWrcJbWWMUIH8keX1Ez26z5OJk= ansible-generated on pg-test-2', '10.10.10.11'])\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item=['ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCRbQwS2n9XBd8RDQZYioxVEHaaSYdCYij0V3svEBqx528sx8zG/+iyjJgQXknrFfbKNr1Z5+G/PHzhvKOp5BJ34+Lt/dhp8A/bUr+0omOggqYA1rTeXBumfSeKoWjGcvKEcyxIQJhrgE+kX84e6Ae/QCMCCwaatwfZFRENN1adkIfifAsSQjWiPIBRUOuudPokm30ELdHqMK89RbS2aAfWup8BgyctcwZVbYQ5CTRprcDZ1nXFzGQ+pq3DIRlZHXuErijgmaIOlgO92PisY0UrAu1QikTqhk9XM0yVExk+BUt6cRFSFB+NwdUUkC5X6PoZzjOQqIegPyMezpbetfUUMpqOWbQxezqeEIeU349NsB7gCYI6UaGoZ6JJY9zBi6I6rvp+UiZyrTLmeUWD6UPwaym1JcpEckVAevx4IqQw/TV9sivRxW8l+Af9w0QdxOadJruxKuweflkCAZ8flvPhayB3+QjeaKC0qiQEQIgahJ5joNAaoLcaP3idx7svbks= ansible-generated on pg-test-1', '10.10.10.11'])\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.10 -> 10.10.10.11] => (item=['ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDOFE4L0HqV52EpB5hxnVcEQXnnveQLUCeG4fv1/V+tfX0O6Cj5tjNBZcDNyF/MxLqTRMYQXhCqm8K3Fqc+vzAKXmSX0zq9xQ1gYk2qBeZm9iVvHFN7cEPGQRsA4gOwVnJ9UsfPE7Hu/IRtJkHuPIH8SLgTr3gFO3LL3u/og2FBGVCJVp1WfdsID1e41k7cZTgyGMDFAgdcbyt2N3CyZaduIXHJ9m4ATdIysA7GQFWolezKU8CkxCdwkL5N5T5rL2y2PC/iWpta66k8FTVKGW8ntSxPbdhlMuWXACoSYhRwOpoWv2vL4/zaR+Eeoa67RfEh4vwCi1gjeQdofzCC5ld03Kva92A2nBwJmTiffnxwtGscpdLWv6rzBDbijNK8ibwQudIR1LsNl3pkATqaSsFLd5/oP7YIflnERUXbb4d7CFRBUjhQW6NIHMBEUqwvlT1M8jNgNwn7BdBpfxws2Y5RcUdjea0SyugwpBr30Y9odJPtHeTTueK3Y58NQbk3cmE= ansible-generated on pg-meta-1', '10.10.10.11'])\u001b[0m\r\n"]
[0.003, "o", "\u001b[0;33mchanged: [10.10.10.13 -> 10.10.10.11] => (item=['ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDY5sdLFxr54u3k/o9gWyQd/UCQvS+ZYXbp0EVg2L9b+JDGG52C86hRKv50LyutMZMFgpAHkgp3G5q3mLE7rYoFiS/IvjHQbXV9axgLFWX1LDTAc89wEzJJNsoERIwMWi4+PiNInQa3U1ECdrpk/k1YLqb1LD+cw1z/tIB3badwuU3rHfXhQF1nmQZmAoEMlNzcil1b+jGaqR0t4pRi4/MMawNew1K3bLJSI/n8yBeD+tw6W28wX9Ai2nc5gYNyBgxzucDtdMI93KJiRxgVt8kSW5fOBha9I3PkJRoQusWfJZN8reqXop+h7DCfURKXzee4pe9VtlQSUrvfgX6/2fWBLH9ALgTWs2j/PvJPMjkq2N2yV4HhLOYsz2g5C+dvj2K703z+k1g6T4QZRHVNHh38ew1San+A++NSBJVjkoU0f6xNhTzBAjXehLj1ZeMiSbV0r6JapuUBQXUDH2BImlRX6iEkawIYQEu00Xsfk7qMFYMj9AhZV4To+EornqO/Aa8= ansible-generated on pg-test-3', '10.10.10.11'])\u001b[0m\r\n"]
[1.173, "o", "\u001b[0;33mchanged: [10.10.10.10 -> 10.10.10.12] => (item=['ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDOFE4L0HqV52EpB5hxnVcEQXnnveQLUCeG4fv1/V+tfX0O6Cj5tjNBZcDNyF/MxLqTRMYQXhCqm8K3Fqc+vzAKXmSX0zq9xQ1gYk2qBeZm9iVvHFN7cEPGQRsA4gOwVnJ9UsfPE7Hu/IRtJkHuPIH8SLgTr3gFO3LL3u/og2FBGVCJVp1WfdsID1e41k7cZTgyGMDFAgdcbyt2N3CyZaduIXHJ9m4ATdIysA7GQFWolezKU8CkxCdwkL5N5T5rL2y2PC/iWpta66k8FTVKGW8ntSxPbdhlMuWXACoSYhRwOpoWv2vL4/zaR+Eeoa67RfEh4vwCi1gjeQdofzCC5ld03Kva92A2nBwJmTiffnxwtGscpdLWv6rzBDbijNK8ibwQudIR1LsNl3pkATqaSsFLd5/oP7YIflnERUXbb4d7CFRBUjhQW6NIHMBEUqwvlT1M8jNgNwn7BdBpfxws2Y5RcUdjea0SyugwpBr30Y9odJPtHeTTueK3Y58NQbk3cmE= ansible-generated on pg-meta-1', '10.10.10.12'])\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.13 -> 10.10.10.12] => (item=['ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDY5sdLFxr54u3k/o9gWyQd/UCQvS+ZYXbp0EVg2L9b+JDGG52C86hRKv50LyutMZMFgpAHkgp3G5q3mLE7rYoFiS/IvjHQbXV9axgLFWX1LDTAc89wEzJJNsoERIwMWi4+PiNInQa3U1ECdrpk/k1YLqb1LD+cw1z/tIB3badwuU3rHfXhQF1nmQZmAoEMlNzcil1b+jGaqR0t4pRi4/MMawNew1K3bLJSI/n8yBeD+tw6W28wX9Ai2nc5gYNyBgxzucDtdMI93KJiRxgVt8kSW5fOBha9I3PkJRoQusWfJZN8reqXop+h7DCfURKXzee4pe9VtlQSUrvfgX6/2fWBLH9ALgTWs2j/PvJPMjkq2N2yV4HhLOYsz2g5C+dvj2K703z+k1g6T4QZRHVNHh38ew1San+A++NSBJVjkoU0f6xNhTzBAjXehLj1ZeMiSbV0r6JapuUBQXUDH2BImlRX6iEkawIYQEu00Xsfk7qMFYMj9AhZV4To+EornqO/Aa8= ansible-generated on pg-test-3', '10.10.10.12'])\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.11 -> 10.10.10.12] => (item=['ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCRbQwS2n9XBd8RDQZYioxVEHaaSYdCYij0V3svEBqx528sx8zG/+iyjJgQXknrFfbKNr1Z5+G/PHzhvKOp5BJ34+Lt/dhp8A/bUr+0omOggqYA1rTeXBumfSeKoWjGcvKEcyxIQJhrgE+kX84e6Ae/QCMCCwaatwfZFRENN1adkIfifAsSQjWiPIBRUOuudPokm30ELdHqMK89RbS2aAfWup8BgyctcwZVbYQ5CTRprcDZ1nXFzGQ+pq3DIRlZHXuErijgmaIOlgO92PisY0UrAu1QikTqhk9XM0yVExk+BUt6cRFSFB+NwdUUkC5X6PoZzjOQqIegPyMezpbetfUUMpqOWbQxezqeEIeU349NsB7gCYI6UaGoZ6JJY9zBi6I6rvp+UiZyrTLmeUWD6UPwaym1JcpEckVAevx4IqQw/TV9sivRxW8l+Af9w0QdxOadJruxKuweflkCAZ8flvPhayB3+QjeaKC0qiQEQIgahJ5joNAaoLcaP3idx7svbks= ansible-generated on pg-test-1', '10.10.10.12'])\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item=['ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDA0f4gdaAU6C7s4Cl7R9+jfEzq3gcfXR7zbyPfeFPAAH/kNEb2IzDSsIsWFKeQKx4vV8xyoXDVU5aQ6GD6HQIy6O2K7eMvqN05g6EDu4PPFqa398NvHpOE998rQqV+jdRpb//2z+FbK26kwqN5bqaIiUUOlBaibbJzzuZ+l6aA7F5qH4NvVObyVS5sScHqV+xb3uhW8zcwIu7fl+9pZdyYBNkXQIpFfKnC/TQrtitOLsQueDKC7UFW36GI6rrnraNMwI+d9mVaETodrIQawk8tKcq+3GVz33It+752UdMVN22a1hiHE7G9CxYgfm/9869+4bn7mB2aBcXXAS5bZCcDDLqqpBxTx32mXLCwBEKGEgyoO8yJtkqu5khpayKuHJ8Cq1p6Oevq73K9y9mduwZh0fbeYouQ1SejVObk8VdTgq2roleDMYzeL6GsxyL10UNILPzLj6atvGFo1DFdqakq40L/pL2+LKxMOrXw9OWrcJbWWMUIH8keX1Ez26z5OJk= ansible-generated on pg-test-2', '10.10.10.12'])\u001b[0m\r\n"]
[1.169, "o", "\u001b[0;33mchanged: [10.10.10.11 -> 10.10.10.13] => (item=['ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCRbQwS2n9XBd8RDQZYioxVEHaaSYdCYij0V3svEBqx528sx8zG/+iyjJgQXknrFfbKNr1Z5+G/PHzhvKOp5BJ34+Lt/dhp8A/bUr+0omOggqYA1rTeXBumfSeKoWjGcvKEcyxIQJhrgE+kX84e6Ae/QCMCCwaatwfZFRENN1adkIfifAsSQjWiPIBRUOuudPokm30ELdHqMK89RbS2aAfWup8BgyctcwZVbYQ5CTRprcDZ1nXFzGQ+pq3DIRlZHXuErijgmaIOlgO92PisY0UrAu1QikTqhk9XM0yVExk+BUt6cRFSFB+NwdUUkC5X6PoZzjOQqIegPyMezpbetfUUMpqOWbQxezqeEIeU349NsB7gCYI6UaGoZ6JJY9zBi6I6rvp+UiZyrTLmeUWD6UPwaym1JcpEckVAevx4IqQw/TV9sivRxW8l+Af9w0QdxOadJruxKuweflkCAZ8flvPhayB3+QjeaKC0qiQEQIgahJ5joNAaoLcaP3idx7svbks= ansible-generated on pg-test-1', '10.10.10.13'])\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item=['ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDY5sdLFxr54u3k/o9gWyQd/UCQvS+ZYXbp0EVg2L9b+JDGG52C86hRKv50LyutMZMFgpAHkgp3G5q3mLE7rYoFiS/IvjHQbXV9axgLFWX1LDTAc89wEzJJNsoERIwMWi4+PiNInQa3U1ECdrpk/k1YLqb1LD+cw1z/tIB3badwuU3rHfXhQF1nmQZmAoEMlNzcil1b+jGaqR0t4pRi4/MMawNew1K3bLJSI/n8yBeD+tw6W28wX9Ai2nc5gYNyBgxzucDtdMI93KJiRxgVt8kSW5fOBha9I3PkJRoQusWfJZN8reqXop+h7DCfURKXzee4pe9VtlQSUrvfgX6/2fWBLH9ALgTWs2j/PvJPMjkq2N2yV4HhLOYsz2g5C+dvj2K703z+k1g6T4QZRHVNHh38ew1San+A++NSBJVjkoU0f6xNhTzBAjXehLj1ZeMiSbV0r6JapuUBQXUDH2BImlRX6iEkawIYQEu00Xsfk7qMFYMj9AhZV4To+EornqO/Aa8= ansible-generated on pg-test-3', '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 AAAAB3NzaC1yc2EAAAADAQABAAABgQDA0f4gdaAU6C7s4Cl7R9+jfEzq3gcfXR7zbyPfeFPAAH/kNEb2IzDSsIsWFKeQKx4vV8xyoXDVU5aQ6GD6HQIy6O2K7eMvqN05g6EDu4PPFqa398NvHpOE998rQqV+jdRpb//2z+FbK26kwqN5bqaIiUUOlBaibbJzzuZ+l6aA7F5qH4NvVObyVS5sScHqV+xb3uhW8zcwIu7fl+9pZdyYBNkXQIpFfKnC/TQrtitOLsQueDKC7UFW36GI6rrnraNMwI+d9mVaETodrIQawk8tKcq+3GVz33It+752UdMVN22a1hiHE7G9CxYgfm/9869+4bn7mB2aBcXXAS5bZCcDDLqqpBxTx32mXLCwBEKGEgyoO8yJtkqu5khpayKuHJ8Cq1p6Oevq73K9y9mduwZh0fbeYouQ1SejVObk8VdTgq2roleDMYzeL6GsxyL10UNILPzLj6atvGFo1DFdqakq40L/pL2+LKxMOrXw9OWrcJbWWMUIH8keX1Ez26z5OJk= ansible-generated on pg-test-2', '10.10.10.13'])\u001b[0m\r\n"]
[0.003, "o", "\u001b[0;33mchanged: [10.10.10.10 -> 10.10.10.13] => (item=['ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDOFE4L0HqV52EpB5hxnVcEQXnnveQLUCeG4fv1/V+tfX0O6Cj5tjNBZcDNyF/MxLqTRMYQXhCqm8K3Fqc+vzAKXmSX0zq9xQ1gYk2qBeZm9iVvHFN7cEPGQRsA4gOwVnJ9UsfPE7Hu/IRtJkHuPIH8SLgTr3gFO3LL3u/og2FBGVCJVp1WfdsID1e41k7cZTgyGMDFAgdcbyt2N3CyZaduIXHJ9m4ATdIysA7GQFWolezKU8CkxCdwkL5N5T5rL2y2PC/iWpta66k8FTVKGW8ntSxPbdhlMuWXACoSYhRwOpoWv2vL4/zaR+Eeoa67RfEh4vwCi1gjeQdofzCC5ld03Kva92A2nBwJmTiffnxwtGscpdLWv6rzBDbijNK8ibwQudIR1LsNl3pkATqaSsFLd5/oP7YIflnERUXbb4d7CFRBUjhQW6NIHMBEUqwvlT1M8jNgNwn7BdBpfxws2Y5RcUdjea0SyugwpBr30Y9odJPtHeTTueK3Y58NQbk3cmE= ansible-generated on pg-meta-1', '10.10.10.13'])\u001b[0m\r\n"]
[0.002, "o", "\r\nTASK [node : add admin public keys] ************************************************************************************\r\n"]
[0.009, "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.000, "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 : add current user public keys] *****************************************************************************\r\n"]
[0.165, "o", "\u001b[0;32mok: [10.10.10.10] => (item=/home/vonng/.ssh/id_rsa.pub)\u001b[0m\r\n"]
[1.017, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item=/home/vonng/.ssh/id_rsa.pub)\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item=/home/vonng/.ssh/id_rsa.pub)\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item=/home/vonng/.ssh/id_rsa.pub)\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [node : setup node timezone] **************************************************************************************\r\n"]
[0.013, "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.001, "o", "\u001b[0;36mskipping: [10.10.10.13]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [node : install chrony package] ***********************************************************************************\r\n"]
[0.411, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[3.021, "o", "\u001b[0;32mok: [10.10.10.11]\u001b[0m\r\n"]
[0.003, "o", "\u001b[0;32mok: [10.10.10.13]\u001b[0m\r\n"]
[0.007, "o", "\u001b[0;32mok: [10.10.10.12]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [node : generate etc chrony conf] *********************************************************************************\r\n"]
[0.270, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[2.018, "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.003, "o", "\u001b[0;33mchanged: [10.10.10.11]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [node : launch ntpd service] **************************************************************************************\r\n"]
[0.342, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[1.003, "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.006, "o", "\u001b[0;33mchanged: [10.10.10.13]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [node : append etc crontab] ***************************************************************************************\r\n"]
[0.016, "o", "\u001b[0;36mskipping: [10.10.10.11] => (item=00 01 * * 1 postgres /pg/bin/pg-backup full) \u001b[0m\r\n"]
[0.001, "o", "\u001b[0;36mskipping: [10.10.10.10] => (item=00 01 * * * postgres /pg/bin/pg-backup full) \u001b[0m\r\n"]
[0.001, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;36mskipping: [10.10.10.11] => (item=00 01 * * 2,3,4,5,6,7 postgres /pg/bin/pg-backup) \u001b[0m\r\n"]
[0.001, "o", "\u001b[0;36mskipping: [10.10.10.11]\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;36mskipping: [10.10.10.12] => (item=00 01 * * 1 postgres /pg/bin/pg-backup full) \u001b[0m\r\n"]
[0.002, "o", "\u001b[0;36mskipping: [10.10.10.12] => (item=00 01 * * 2,3,4,5,6,7 postgres /pg/bin/pg-backup) \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=00 01 * * 1 postgres /pg/bin/pg-backup full) \u001b[0m\r\n"]
[0.002, "o", "\u001b[0;36mskipping: [10.10.10.13] => (item=00 01 * * 2,3,4,5,6,7 postgres /pg/bin/pg-backup) \u001b[0m\r\n"]
[0.000, "o", "\u001b[0;36mskipping: [10.10.10.13]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [node : overwrite etc crontab] ************************************************************************************\r\n"]
[0.266, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[2.031, "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 [node : check vip identity] ***************************************************************************************\r\n"]
[0.013, "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.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 : render node vip conf keepalived.conf] *********************************************************************\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.001, "o", "\u001b[0;36mskipping: [10.10.10.13]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [node : launch keepalived service unit] ***************************************************************************\r\n"]
[0.013, "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\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 : reload keepalived service unit] ***************************************************************************\r\n"]
[0.013, "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.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.002, "o", "\r\nTASK [haproxy : install haproxy] ***************************************************************************************\r\n"]
[0.426, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[3.011, "o", "\u001b[0;32mok: [10.10.10.11]\u001b[0m\r\n"]
[0.005, "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.001, "o", "\r\nTASK [haproxy : create haproxy config dir] *****************************************************************************\r\n"]
[0.125, "o", "\u001b[0;32mok: [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.13]\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.11]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [haproxy : create haproxy environment file] ***********************************************************************\r\n"]
[0.128, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[1.003, "o", "\u001b[0;33mchanged: [10.10.10.11]\u001b[0m\r\n"]
[0.003, "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 [haproxy : create haproxy systemd service] ************************************************************************\r\n"]
[0.270, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[2.025, "o", "\u001b[0;33mchanged: [10.10.10.12]\u001b[0m\r\n"]
[0.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.002, "o", "\r\nTASK [haproxy : wipe haproxy config dir] *******************************************************************************\r\n"]
[0.013, "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 [haproxy : render haproxy default config] *************************************************************************\r\n"]
[0.268, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[2.029, "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", "\u001b[0;33mchanged: [10.10.10.12]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [haproxy : render haproxy service config] *************************************************************************\r\n"]
[0.006, "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.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.000, "o", "\r\nTASK [haproxy : setup selinux for haproxy] *****************************************************************************\r\n"]
[0.124, "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.000, "o", "\u001b[0;33mchanged: [10.10.10.13]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [haproxy : launch haproxy systemd service] ************************************************************************\r\n"]
[0.465, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[1.014, "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.003, "o", "\u001b[0;33mchanged: [10.10.10.12]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [haproxy : wait for haproxy service online] ***********************************************************************\r\n"]
[0.162, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[1.004, "o", "\u001b[0;32mok: [10.10.10.11]\u001b[0m\r\n"]
[0.001, "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 [haproxy : check haproxy config before reload] ********************************************************************\r\n"]
[0.160, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[1.007, "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.003, "o", "\u001b[0;33mchanged: [10.10.10.13]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [haproxy : reload haproxy] ****************************************************************************************\r\n"]
[0.462, "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.005, "o", "\u001b[0;33mchanged: [10.10.10.13]\u001b[0m\r\n"]
[0.020, "o", "\u001b[0;33mchanged: [10.10.10.11]\u001b[0m\r\n"]
[0.002, "o", "\r\nTASK [node_monitor : create nginx config dir for haproxy] **************************************************************\r\n"]
[0.125, "o", "\u001b[0;32mok: [10.10.10.10] => (item=10.10.10.10)\u001b[0m\r\n"]
[0.003, "o", "\r\nTASK [node_monitor : register haproxy upstream to nginx] ***************************************************************\r\n"]
[0.281, "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;32mok: [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.001, "o", "\r\nTASK [node_monitor : register haproxy url location to nginx] ***********************************************************\r\n"]
[0.280, "o", "\u001b[0;33mchanged: [10.10.10.13 -> 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;32mok: [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 [node_monitor : reload nginx to finish haproxy register] **********************************************************\r\n"]
[0.384, "o", "\u001b[0;33mchanged: [10.10.10.10] => (item=10.10.10.10)\u001b[0m\r\n"]
[0.002, "o", "\r\nTASK [node_monitor : render node vip dns name] *************************************************************************\r\n"]
[0.018, "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.10] => (item=10.10.10.10) \u001b[0m\r\n"]
[0.000, "o", "\u001b[0;36mskipping: [10.10.10.11]\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.002, "o", "\u001b[0;36mskipping: [10.10.10.12] => (item=10.10.10.10) \u001b[0m\r\n"]
[0.000, "o", "\u001b[0;36mskipping: [10.10.10.12]\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;36mskipping: [10.10.10.13] => (item=10.10.10.10) \u001b[0m\r\n"]
[0.001, "o", "\u001b[0;36mskipping: [10.10.10.13]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [node_monitor : activate node vip dns name] ***********************************************************************\r\n"]
[0.016, "o", "\u001b[0;36mskipping: [10.10.10.10] => (item=10.10.10.10) \u001b[0m\r\n"]
[0.001, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;36mskipping: [10.10.10.11] => (item=10.10.10.10) \u001b[0m\r\n"]
[0.001, "o", "\u001b[0;36mskipping: [10.10.10.11]\u001b[0m\r\n"]
[0.000, "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.002, "o", "\u001b[0;36mskipping: [10.10.10.13]\u001b[0m\r\n"]
[0.000, "o", "\r\nTASK [node_monitor : config node_exporter systemd unit] ****************************************************************\r\n"]
[0.264, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[2.035, "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 [node_monitor : config default node_exporter options] *************************************************************\r\n"]
[0.266, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[2.024, "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.000, "o", "\u001b[0;33mchanged: [10.10.10.12]\u001b[0m\r\n"]
[0.002, "o", "\r\nTASK [node_monitor : launch node_exporter systemd service] *************************************************************\r\n"]
[0.394, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[1.012, "o", "\u001b[0;33mchanged: [10.10.10.12]\u001b[0m\r\n"]
[0.012, "o", "\u001b[0;33mchanged: [10.10.10.11]\u001b[0m\r\n"]
[0.002, "o", "\u001b[0;33mchanged: [10.10.10.13]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [node_monitor : wait for node_exporter service online] ************************************************************\r\n"]
[0.126, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[1.006, "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.001, "o", "\u001b[0;32mok: [10.10.10.13]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [node_monitor : config keepalived_exporter systemd unit] **********************************************************\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"]
[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.001, "o", "\r\nTASK [node_monitor : config default keepalived_exporter options] *******************************************************\r\n"]
[0.013, "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.000, "o", "\r\nTASK [node_monitor : launch keepalived_exporter systemd service] *******************************************************\r\n"]
[0.013, "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 [node_monitor : wait for keepalived_exporter service online] ******************************************************\r\n"]
[0.013, "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.002, "o", "\r\nTASK [node_monitor : register node as victoria target] *****************************************************************\r\n"]
[0.282, "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.12 -> 10.10.10.10] => (item=10.10.10.10)\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;32mok: [10.10.10.10] => (item=10.10.10.10)\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [node_monitor : register node as ping target] *********************************************************************\r\n"]
[0.277, "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;32mok: [10.10.10.10] => (item=10.10.10.10)\u001b[0m\r\n"]
[0.002, "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.13 -> 10.10.10.10] => (item=10.10.10.10)\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [node_monitor : register node vip as ping target] *****************************************************************\r\n"]
[0.018, "o", "\u001b[0;36mskipping: [10.10.10.10] => (item=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.10]\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;36mskipping: [10.10.10.11]\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;36mskipping: [10.10.10.12] => (item=10.10.10.10) \u001b[0m\r\n"]
[0.000, "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.001, "o", "\u001b[0;36mskipping: [10.10.10.13]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [node_monitor : install vector package] ***************************************************************************\r\n"]
[0.407, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[3.026, "o", "\u001b[0;32mok: [10.10.10.11]\u001b[0m\r\n"]
[0.001, "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.001, "o", "\r\nTASK [node_monitor : stop vector service] ******************************************************************************\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 [node_monitor : remove vector data] *******************************************************************************\r\n"]
[0.015, "o", "\u001b[0;36mskipping: [10.10.10.10] => (item=/data/vector) \u001b[0m\r\n"]
[0.000, "o", "\u001b[0;36mskipping: [10.10.10.11] => (item=/data/vector) \u001b[0m\r\n"]
[0.001, "o", "\u001b[0;36mskipping: [10.10.10.10] => (item=/etc/vector) \u001b[0m\r\n"]
[0.000, "o", "\u001b[0;36mskipping: [10.10.10.10]\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;36mskipping: [10.10.10.11] => (item=/etc/vector) \u001b[0m\r\n"]
[0.001, "o", "\u001b[0;36mskipping: [10.10.10.11]\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;36mskipping: [10.10.10.12] => (item=/data/vector) \u001b[0m\r\n"]
[0.002, "o", "\u001b[0;36mskipping: [10.10.10.12] => (item=/etc/vector) \u001b[0m\r\n"]
[0.000, "o", "\u001b[0;36mskipping: [10.10.10.12]\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;36mskipping: [10.10.10.13] => (item=/data/vector) \u001b[0m\r\n"]
[0.002, "o", "\u001b[0;36mskipping: [10.10.10.13] => (item=/etc/vector) \u001b[0m\r\n"]
[0.000, "o", "\u001b[0;36mskipping: [10.10.10.13]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [node_monitor : create vector data directories] *******************************************************************\r\n"]
[0.130, "o", "\u001b[0;32mok: [10.10.10.10] => (item={'path': '/etc/vector', 'state': 'directory'})\u001b[0m\r\n"]
[0.109, "o", "\u001b[0;32mok: [10.10.10.10] => (item={'path': '/etc/vector/examples', 'state': 'absent'})\u001b[0m\r\n"]
[0.111, "o", "\u001b[0;32mok: [10.10.10.10] => (item={'path': '/data/vector', 'state': 'directory'})\u001b[0m\r\n"]
[0.789, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item={'path': '/etc/vector', 'state': 'directory'})\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item={'path': '/etc/vector', 'state': 'directory'})\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item={'path': '/etc/vector', 'state': 'directory'})\u001b[0m\r\n"]
[1.119, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item={'path': '/etc/vector/examples', 'state': 'absent'})\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item={'path': '/etc/vector/examples', 'state': 'absent'})\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item={'path': '/etc/vector/examples', 'state': 'absent'})\u001b[0m\r\n"]
[1.118, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item={'path': '/data/vector', 'state': 'directory'})\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item={'path': '/data/vector', 'state': 'directory'})\u001b[0m\r\n"]
[0.001, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item={'path': '/data/vector', 'state': 'directory'})\u001b[0m\r\n"]
[0.002, "o", "\r\nTASK [node_monitor : create vector config files] ***********************************************************************\r\n"]
[0.272, "o", "\u001b[0;32mok: [10.10.10.10] => (item={'src': 'vector.svc', 'dest': '/lib/systemd/system/vector.service'})\u001b[0m\r\n"]
[0.256, "o", "\u001b[0;32mok: [10.10.10.10] => (item={'src': 'vector.env', 'dest': '/etc/default/vector'})\u001b[0m\r\n"]
[0.265, "o", "\u001b[0;32mok: [10.10.10.10] => (item={'src': 'vector.yaml', 'dest': '/etc/vector/vector.yaml'})\u001b[0m\r\n"]
[1.512, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item={'src': 'vector.svc', 'dest': '/lib/systemd/system/vector.service'})\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item={'src': 'vector.svc', 'dest': '/lib/systemd/system/vector.service'})\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item={'src': 'vector.svc', 'dest': '/lib/systemd/system/vector.service'})\u001b[0m\r\n"]
[2.281, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item={'src': 'vector.env', 'dest': '/etc/default/vector'})\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item={'src': 'vector.env', 'dest': '/etc/default/vector'})\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item={'src': 'vector.env', 'dest': '/etc/default/vector'})\u001b[0m\r\n"]
[2.288, "o", "\u001b[0;33mchanged: [10.10.10.12] => (item={'src': 'vector.yaml', 'dest': '/etc/vector/vector.yaml'})\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.11] => (item={'src': 'vector.yaml', 'dest': '/etc/vector/vector.yaml'})\u001b[0m\r\n"]
[0.000, "o", "\u001b[0;33mchanged: [10.10.10.13] => (item={'src': 'vector.yaml', 'dest': '/etc/vector/vector.yaml'})\u001b[0m\r\n"]
[0.002, "o", "\r\nTASK [node_monitor : register node syslog to vector] *******************************************************************\r\n"]
[0.272, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[2.016, "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.001, "o", "\r\nTASK [node_monitor : restart vector systemd service] *******************************************************************\r\n"]
[0.403, "o", "\u001b[0;33mchanged: [10.10.10.10]\u001b[0m\r\n"]
[1.137, "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.011, "o", "\u001b[0;33mchanged: [10.10.10.12]\u001b[0m\r\n"]
[0.001, "o", "\r\nTASK [node_monitor : wait for vector service online] *******************************************************************\r\n"]
[0.132, "o", "\u001b[0;32mok: [10.10.10.10]\u001b[0m\r\n"]
[1.005, "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.003, "o", "\u001b[0;32mok: [10.10.10.13]\u001b[0m\r\n"]
[0.005, "o", "\r\nPLAY RECAP *************************************************************************************************************\r\n"]
[0.000, "o", "\u001b[0;33m10.10.10.10\u001b[0m                : \u001b[0;32mok=71  \u001b[0m \u001b[0;33mchanged=27  \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=69  \u001b[0m \u001b[0;33mchanged=55  \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=69  \u001b[0m \u001b[0;33mchanged=55  \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.13\u001b[0m                : \u001b[0;32mok=69  \u001b[0m \u001b[0;33mchanged=55  \u001b[0m unreachable=0    failed=0    \u001b[0;36mskipped=28  \u001b[0m rescued=0    ignored=0   \r\n"]
[0.000, "o", "\r\n"]
[0.052, "o", "\u001b[?2004h\u001b]0;vonng@vonng-aimax: ~/pigsty\u0007\u001b[01;32mvonng@vonng-aimax\u001b[00m:\u001b[01;34m~/pigsty\u001b[00m$ "]
[7.822, "o", "\u001b[?2004l\r\r\n"]
[0.000, "o", "exit\r\n"]
[0.001, "x", "0"]
