)]}'
{"ansible/group_vars/all.yml":[{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"dd32b7c94563c45146ff010ae6776c9d0431c056","unresolved":true,"context_lines":[{"line_number":625,"context_line":"enable_iscsid: \"{{ (enable_cinder | bool and enable_cinder_backend_iscsi | bool) or enable_ironic | bool }}\""},{"line_number":626,"context_line":"enable_kafka: \"{{ enable_monasca | bool }}\""},{"line_number":627,"context_line":"enable_kuryr: \"no\""},{"line_number":628,"context_line":"enable_loadbalancer: \"{{ enable_haproxy | bool }}\""},{"line_number":629,"context_line":"enable_magnum: \"no\""},{"line_number":630,"context_line":"enable_manila: \"no\""},{"line_number":631,"context_line":"enable_manila_backend_generic: \"no\""}],"source_content_type":"text/x-yaml","patch_set":2,"id":"b3c39097_8f206584","line":628,"updated":"2021-01-13 18:43:32.000000000","message":"This should go much higher above (near haproxy). Also, we likely want to default it to an OR of haproxy and keepalived as that is when it should run.","commit_id":"777db1d7ef2dd0475c024b674010f37f479f53c0"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"3c20b0e8a480dc8687db25a4d8d47da39cf3f9de","unresolved":false,"context_lines":[{"line_number":625,"context_line":"enable_iscsid: \"{{ (enable_cinder | bool and enable_cinder_backend_iscsi | bool) or enable_ironic | bool }}\""},{"line_number":626,"context_line":"enable_kafka: \"{{ enable_monasca | bool }}\""},{"line_number":627,"context_line":"enable_kuryr: \"no\""},{"line_number":628,"context_line":"enable_loadbalancer: \"{{ enable_haproxy | bool }}\""},{"line_number":629,"context_line":"enable_magnum: \"no\""},{"line_number":630,"context_line":"enable_manila: \"no\""},{"line_number":631,"context_line":"enable_manila_backend_generic: \"no\""}],"source_content_type":"text/x-yaml","patch_set":2,"id":"04e8296f_6bf29786","line":628,"in_reply_to":"b3c39097_8f206584","updated":"2021-01-13 22:39:52.000000000","message":"Done","commit_id":"777db1d7ef2dd0475c024b674010f37f479f53c0"}],"ansible/inventory/all-in-one":[{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"dd32b7c94563c45146ff010ae6776c9d0431c056","unresolved":true,"context_lines":[{"line_number":77,"context_line":""},{"line_number":78,"context_line":"[haproxy:children]"},{"line_number":79,"context_line":"loadbalancer"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"[mariadb:children]"},{"line_number":82,"context_line":"control"},{"line_number":83,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":2,"id":"64260e2d_402aec9d","line":80,"updated":"2021-01-13 18:43:32.000000000","message":"I like the fact you have two different groups here, however in most of the code you seem to have replaced their occurences with \u0027loadbalancer\u0027. I guess we should use the best fit instead, even though we know our logic enforces all of them to be on the same host, but it is already true with other services anyway.","commit_id":"777db1d7ef2dd0475c024b674010f37f479f53c0"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"3c20b0e8a480dc8687db25a4d8d47da39cf3f9de","unresolved":false,"context_lines":[{"line_number":77,"context_line":""},{"line_number":78,"context_line":"[haproxy:children]"},{"line_number":79,"context_line":"loadbalancer"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"[mariadb:children]"},{"line_number":82,"context_line":"control"},{"line_number":83,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":2,"id":"fcd6c530_9869242e","line":80,"in_reply_to":"64260e2d_402aec9d","updated":"2021-01-13 22:39:52.000000000","message":"Done","commit_id":"777db1d7ef2dd0475c024b674010f37f479f53c0"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"030cdf726ba592a090f6ab1a06c7816e612c08fc","unresolved":true,"context_lines":[{"line_number":72,"context_line":"[loadbalancer:children]"},{"line_number":73,"context_line":"network"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"[keepalived:children]"},{"line_number":76,"context_line":"loadbalancer"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"[haproxy:children]"},{"line_number":79,"context_line":"loadbalancer"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"[mariadb:children]"},{"line_number":82,"context_line":"control"},{"line_number":83,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":8,"id":"8e2ef57c_8083a9e9","line":80,"range":{"start_line":75,"start_character":0,"end_line":80,"end_character":0},"updated":"2021-01-26 11:49:41.000000000","message":"Typically these per-service groups go below L242.","commit_id":"3002a3a5267565ba164ee1883ea07dbe1af0afc8"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"4311635f92a1c91bc0d58bbb8ac90253d79b3fe9","unresolved":true,"context_lines":[{"line_number":72,"context_line":"[loadbalancer:children]"},{"line_number":73,"context_line":"network"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"[keepalived:children]"},{"line_number":76,"context_line":"loadbalancer"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"[haproxy:children]"},{"line_number":79,"context_line":"loadbalancer"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"[mariadb:children]"},{"line_number":82,"context_line":"control"},{"line_number":83,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":8,"id":"0efa1cfd_4372a571","line":80,"range":{"start_line":75,"start_character":0,"end_line":80,"end_character":0},"in_reply_to":"8e2ef57c_8083a9e9","updated":"2021-01-26 19:34:26.000000000","message":"seconded","commit_id":"3002a3a5267565ba164ee1883ea07dbe1af0afc8"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"556b053fa215bce4ad751a1ee1bd081d65c052c5","unresolved":true,"context_lines":[{"line_number":72,"context_line":"[loadbalancer:children]"},{"line_number":73,"context_line":"network"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"[keepalived:children]"},{"line_number":76,"context_line":"loadbalancer"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"[haproxy:children]"},{"line_number":79,"context_line":"loadbalancer"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"[mariadb:children]"},{"line_number":82,"context_line":"control"}],"source_content_type":"application/octet-stream","patch_set":20,"id":"3d3afba2_588f53e7","line":79,"range":{"start_line":75,"start_character":0,"end_line":79,"end_character":12},"updated":"2021-03-18 10:10:49.000000000","message":"These two still need to go below L242","commit_id":"6a4f4822560154deda631e684af1d95dcee51c12"}],"ansible/roles/loadbalancer/defaults/main.yml":[{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"dd32b7c94563c45146ff010ae6776c9d0431c056","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"project_name: \"haproxy\""},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"loadbalancer_services:"},{"line_number":5,"context_line":"  haproxy:"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"2a4c5495_7716cede","line":2,"range":{"start_line":2,"start_character":15,"end_line":2,"end_character":22},"updated":"2021-01-13 18:43:32.000000000","message":"loadbalancer","commit_id":"777db1d7ef2dd0475c024b674010f37f479f53c0"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"3c20b0e8a480dc8687db25a4d8d47da39cf3f9de","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"project_name: \"haproxy\""},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"loadbalancer_services:"},{"line_number":5,"context_line":"  haproxy:"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"b25fe4ae_9ec629cf","line":2,"range":{"start_line":2,"start_character":15,"end_line":2,"end_character":22},"in_reply_to":"2a4c5495_7716cede","updated":"2021-01-13 22:39:52.000000000","message":"Done","commit_id":"777db1d7ef2dd0475c024b674010f37f479f53c0"}],"ansible/roles/loadbalancer/tasks/main.yml":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"556b053fa215bce4ad751a1ee1bd081d65c052c5","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"- include_tasks: \"{{ kolla_action }}.yml\""},{"line_number":3,"context_line":"  when: inventory_hostname in groups[\u0027loadbalancer\u0027]"}],"source_content_type":"text/x-yaml","patch_set":20,"id":"925edf16_f134649c","line":3,"range":{"start_line":3,"start_character":38,"end_line":3,"end_character":50},"updated":"2021-03-18 10:10:49.000000000","message":"We don\u0027t typically reference these intermediate groups directly.","commit_id":"6a4f4822560154deda631e684af1d95dcee51c12"}],"ansible/roles/loadbalancer/tasks/precheck.yml":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"556b053fa215bce4ad751a1ee1bd081d65c052c5","unresolved":true,"context_lines":[{"line_number":34,"context_line":"    # NOTE(mgoddard): We can only reliably run this precheck if all hosts in"},{"line_number":35,"context_line":"    # the haproxy group are included in the batch. This may not be the case if"},{"line_number":36,"context_line":"    # using --limit or --serial."},{"line_number":37,"context_line":"    all_hosts_in_batch: \"{{ groups[\u0027loadbalancer\u0027] | difference(ansible_play_batch) | list | length \u003d\u003d 0 }}\""},{"line_number":38,"context_line":"  set_fact:"},{"line_number":39,"context_line":"    keepalived_vip_prechecks: \"{{ all_hosts_in_batch and groups[\u0027keepalived_running_True\u0027] is not defined }}\""},{"line_number":40,"context_line":"    haproxy_vip_prechecks: \"{{ all_hosts_in_batch and groups[\u0027haproxy_running_True\u0027] is not defined }}\""}],"source_content_type":"text/x-yaml","patch_set":20,"id":"8ef2b976_9cc4f048","line":37,"range":{"start_line":37,"start_character":36,"end_line":37,"end_character":48},"updated":"2021-03-18 10:10:49.000000000","message":"We don\u0027t typically reference intermediate groups directly.","commit_id":"6a4f4822560154deda631e684af1d95dcee51c12"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"556b053fa215bce4ad751a1ee1bd081d65c052c5","unresolved":true,"context_lines":[{"line_number":150,"context_line":"    - enable_haproxy | bool"},{"line_number":151,"context_line":"    - enable_keepalived | bool"},{"line_number":152,"context_line":"    - container_facts[\u0027keepalived\u0027] is not defined"},{"line_number":153,"context_line":"    - inventory_hostname in groups[\u0027loadbalancer\u0027]"},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"- name: Getting haproxy stat"},{"line_number":156,"context_line":"  shell: echo \"show stat\" | docker exec -i haproxy socat unix-connect:/var/lib/kolla/haproxy/haproxy.sock stdio  # noqa 306"}],"source_content_type":"text/x-yaml","patch_set":20,"id":"a1c13543_c4a57323","line":153,"range":{"start_line":153,"start_character":36,"end_line":153,"end_character":48},"updated":"2021-03-18 10:10:49.000000000","message":"We don\u0027t typically reference intermediate groups directly.","commit_id":"6a4f4822560154deda631e684af1d95dcee51c12"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"16400a8bebca0411ed63a21b94087c1bb50ef0c4","unresolved":true,"context_lines":[{"line_number":34,"context_line":"    # NOTE(mgoddard): We can only reliably run this precheck if all hosts in"},{"line_number":35,"context_line":"    # the haproxy group are included in the batch. This may not be the case if"},{"line_number":36,"context_line":"    # using --limit or --serial."},{"line_number":37,"context_line":"    all_hosts_in_batch: \"{{ groups[\u0027loadbalancer\u0027] | difference(ansible_play_batch) | list | length \u003d\u003d 0 }}\""},{"line_number":38,"context_line":"  set_fact:"},{"line_number":39,"context_line":"    keepalived_vip_prechecks: \"{{ all_hosts_in_batch and groups[\u0027keepalived_running_True\u0027] is not defined }}\""},{"line_number":40,"context_line":"    haproxy_vip_prechecks: \"{{ all_hosts_in_batch and groups[\u0027haproxy_running_True\u0027] is not defined }}\""}],"source_content_type":"text/x-yaml","patch_set":47,"id":"d6c0d471_de1d0494","line":37,"range":{"start_line":37,"start_character":36,"end_line":37,"end_character":48},"updated":"2021-09-03 08:06:44.000000000","message":"Generally we do not reference intermediate groups directly - they are just used to add structure to the inventory.","commit_id":"ffd53512af0bd7ea0927f9d5dc0e7254caeb320a"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"933adb6bdfa3ab604159893d9c627b377bceb11a","unresolved":true,"context_lines":[{"line_number":34,"context_line":"    # NOTE(mgoddard): We can only reliably run this precheck if all hosts in"},{"line_number":35,"context_line":"    # the haproxy group are included in the batch. This may not be the case if"},{"line_number":36,"context_line":"    # using --limit or --serial."},{"line_number":37,"context_line":"    all_hosts_in_batch: \"{{ groups[\u0027loadbalancer\u0027] | difference(ansible_play_batch) | list | length \u003d\u003d 0 }}\""},{"line_number":38,"context_line":"  set_fact:"},{"line_number":39,"context_line":"    keepalived_vip_prechecks: \"{{ all_hosts_in_batch and groups[\u0027keepalived_running_True\u0027] is not defined }}\""},{"line_number":40,"context_line":"    haproxy_vip_prechecks: \"{{ all_hosts_in_batch and groups[\u0027haproxy_running_True\u0027] is not defined }}\""}],"source_content_type":"text/x-yaml","patch_set":47,"id":"d17a1fcb_5e119612","line":37,"range":{"start_line":37,"start_character":36,"end_line":37,"end_character":48},"in_reply_to":"1de293b0_692cac84","updated":"2021-09-03 14:42:50.000000000","message":"One group loadbalancer -\u003e https://review.opendev.org/c/openstack/kolla-ansible/+/807344","commit_id":"ffd53512af0bd7ea0927f9d5dc0e7254caeb320a"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"3e5ebc00deb22a8a706f4e725bc77b4656d55ccd","unresolved":true,"context_lines":[{"line_number":34,"context_line":"    # NOTE(mgoddard): We can only reliably run this precheck if all hosts in"},{"line_number":35,"context_line":"    # the haproxy group are included in the batch. This may not be the case if"},{"line_number":36,"context_line":"    # using --limit or --serial."},{"line_number":37,"context_line":"    all_hosts_in_batch: \"{{ groups[\u0027loadbalancer\u0027] | difference(ansible_play_batch) | list | length \u003d\u003d 0 }}\""},{"line_number":38,"context_line":"  set_fact:"},{"line_number":39,"context_line":"    keepalived_vip_prechecks: \"{{ all_hosts_in_batch and groups[\u0027keepalived_running_True\u0027] is not defined }}\""},{"line_number":40,"context_line":"    haproxy_vip_prechecks: \"{{ all_hosts_in_batch and groups[\u0027haproxy_running_True\u0027] is not defined }}\""}],"source_content_type":"text/x-yaml","patch_set":47,"id":"5fe9fe8a_41a8e71a","line":37,"range":{"start_line":37,"start_character":36,"end_line":37,"end_character":48},"in_reply_to":"46a5c6fc_48dc1435","updated":"2021-09-03 08:31:27.000000000","message":"So why bother having separate groups? Why not just have a single loadbalancer group (as we did before)?","commit_id":"ffd53512af0bd7ea0927f9d5dc0e7254caeb320a"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"2ad90e5b668609e347701d3b25de44bdedfdbe8b","unresolved":true,"context_lines":[{"line_number":34,"context_line":"    # NOTE(mgoddard): We can only reliably run this precheck if all hosts in"},{"line_number":35,"context_line":"    # the haproxy group are included in the batch. This may not be the case if"},{"line_number":36,"context_line":"    # using --limit or --serial."},{"line_number":37,"context_line":"    all_hosts_in_batch: \"{{ groups[\u0027loadbalancer\u0027] | difference(ansible_play_batch) | list | length \u003d\u003d 0 }}\""},{"line_number":38,"context_line":"  set_fact:"},{"line_number":39,"context_line":"    keepalived_vip_prechecks: \"{{ all_hosts_in_batch and groups[\u0027keepalived_running_True\u0027] is not defined }}\""},{"line_number":40,"context_line":"    haproxy_vip_prechecks: \"{{ all_hosts_in_batch and groups[\u0027haproxy_running_True\u0027] is not defined }}\""}],"source_content_type":"text/x-yaml","patch_set":47,"id":"fcf61c27_1d2897bc","line":37,"range":{"start_line":37,"start_character":36,"end_line":37,"end_character":48},"in_reply_to":"5fe9fe8a_41a8e71a","updated":"2021-09-03 09:21:41.000000000","message":"For semantics ? To add structure to inventory ?\n\nWill you like it more if there will be one group loadbalancer where keepalived,haproxy,proxysql,or-another-lb-software containers will be running ?\n\nFrom my perspective of view this is definitely better descriptive .. loadbalancer group is common group for all subgroups of \"loadbalancer\" components.\n\nWhat are the opinions of others?","commit_id":"ffd53512af0bd7ea0927f9d5dc0e7254caeb320a"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"9848ea23844610ad8698a7aed3d00f1908daee39","unresolved":true,"context_lines":[{"line_number":34,"context_line":"    # NOTE(mgoddard): We can only reliably run this precheck if all hosts in"},{"line_number":35,"context_line":"    # the haproxy group are included in the batch. This may not be the case if"},{"line_number":36,"context_line":"    # using --limit or --serial."},{"line_number":37,"context_line":"    all_hosts_in_batch: \"{{ groups[\u0027loadbalancer\u0027] | difference(ansible_play_batch) | list | length \u003d\u003d 0 }}\""},{"line_number":38,"context_line":"  set_fact:"},{"line_number":39,"context_line":"    keepalived_vip_prechecks: \"{{ all_hosts_in_batch and groups[\u0027keepalived_running_True\u0027] is not defined }}\""},{"line_number":40,"context_line":"    haproxy_vip_prechecks: \"{{ all_hosts_in_batch and groups[\u0027haproxy_running_True\u0027] is not defined }}\""}],"source_content_type":"text/x-yaml","patch_set":47,"id":"1de293b0_692cac84","line":37,"range":{"start_line":37,"start_character":36,"end_line":37,"end_character":48},"in_reply_to":"a46ed27e_b4135e93","updated":"2021-09-03 14:27:22.000000000","message":"Is not it better to remove this early to minimise the changes in the stack?","commit_id":"ffd53512af0bd7ea0927f9d5dc0e7254caeb320a"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"1fecd09428a59c122a98435cdaa0e11a82014be4","unresolved":true,"context_lines":[{"line_number":34,"context_line":"    # NOTE(mgoddard): We can only reliably run this precheck if all hosts in"},{"line_number":35,"context_line":"    # the haproxy group are included in the batch. This may not be the case if"},{"line_number":36,"context_line":"    # using --limit or --serial."},{"line_number":37,"context_line":"    all_hosts_in_batch: \"{{ groups[\u0027loadbalancer\u0027] | difference(ansible_play_batch) | list | length \u003d\u003d 0 }}\""},{"line_number":38,"context_line":"  set_fact:"},{"line_number":39,"context_line":"    keepalived_vip_prechecks: \"{{ all_hosts_in_batch and groups[\u0027keepalived_running_True\u0027] is not defined }}\""},{"line_number":40,"context_line":"    haproxy_vip_prechecks: \"{{ all_hosts_in_batch and groups[\u0027haproxy_running_True\u0027] is not defined }}\""}],"source_content_type":"text/x-yaml","patch_set":47,"id":"46a5c6fc_48dc1435","line":37,"range":{"start_line":37,"start_character":36,"end_line":37,"end_character":48},"in_reply_to":"d6c0d471_de1d0494","updated":"2021-09-03 08:27:32.000000000","message":"It\u0027s not intermediate group, it is main group - loadbalancer sounds better and is more descriptive. Moreover, task is saying \"can run HAProxy and keepalived VIP prechecks\" - so it\u0027s logically test against loadbalancer group because in that group there are both keepalived and haproxy groups (and proxysql in near future I hope).","commit_id":"ffd53512af0bd7ea0927f9d5dc0e7254caeb320a"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"cf92b2e43ddb7c4147e4db2c3142dedb4a121e00","unresolved":true,"context_lines":[{"line_number":34,"context_line":"    # NOTE(mgoddard): We can only reliably run this precheck if all hosts in"},{"line_number":35,"context_line":"    # the haproxy group are included in the batch. This may not be the case if"},{"line_number":36,"context_line":"    # using --limit or --serial."},{"line_number":37,"context_line":"    all_hosts_in_batch: \"{{ groups[\u0027loadbalancer\u0027] | difference(ansible_play_batch) | list | length \u003d\u003d 0 }}\""},{"line_number":38,"context_line":"  set_fact:"},{"line_number":39,"context_line":"    keepalived_vip_prechecks: \"{{ all_hosts_in_batch and groups[\u0027keepalived_running_True\u0027] is not defined }}\""},{"line_number":40,"context_line":"    haproxy_vip_prechecks: \"{{ all_hosts_in_batch and groups[\u0027haproxy_running_True\u0027] is not defined }}\""}],"source_content_type":"text/x-yaml","patch_set":47,"id":"a46ed27e_b4135e93","line":37,"range":{"start_line":37,"start_character":36,"end_line":37,"end_character":48},"in_reply_to":"f07365d4_fc729910","updated":"2021-09-03 14:24:09.000000000","message":"Well, incompatible inventory should test prechecks (if i remember correctly). But yeah, totally agree, one group is enough and simpler. I can add patch on top of proxysql patches, what do you think ?","commit_id":"ffd53512af0bd7ea0927f9d5dc0e7254caeb320a"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"d4d1dc60cc4defc83ffd4d2dda5d3eadb0c69480","unresolved":true,"context_lines":[{"line_number":34,"context_line":"    # NOTE(mgoddard): We can only reliably run this precheck if all hosts in"},{"line_number":35,"context_line":"    # the haproxy group are included in the batch. This may not be the case if"},{"line_number":36,"context_line":"    # using --limit or --serial."},{"line_number":37,"context_line":"    all_hosts_in_batch: \"{{ groups[\u0027loadbalancer\u0027] | difference(ansible_play_batch) | list | length \u003d\u003d 0 }}\""},{"line_number":38,"context_line":"  set_fact:"},{"line_number":39,"context_line":"    keepalived_vip_prechecks: \"{{ all_hosts_in_batch and groups[\u0027keepalived_running_True\u0027] is not defined }}\""},{"line_number":40,"context_line":"    haproxy_vip_prechecks: \"{{ all_hosts_in_batch and groups[\u0027haproxy_running_True\u0027] is not defined }}\""}],"source_content_type":"text/x-yaml","patch_set":47,"id":"f07365d4_fc729910","line":37,"range":{"start_line":37,"start_character":36,"end_line":37,"end_character":48},"in_reply_to":"fcf61c27_1d2897bc","updated":"2021-09-03 14:20:31.000000000","message":"Yeah, I\u0027m all in for a single role-group semantics. I think I might have written such a comment earlier but might have forgotten to. Either way, we can drop the extra layer as it\u0027s never going to work when modified...","commit_id":"ffd53512af0bd7ea0927f9d5dc0e7254caeb320a"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"16400a8bebca0411ed63a21b94087c1bb50ef0c4","unresolved":true,"context_lines":[{"line_number":156,"context_line":"    - enable_haproxy | bool"},{"line_number":157,"context_line":"    - enable_keepalived | bool"},{"line_number":158,"context_line":"    - container_facts[\u0027keepalived\u0027] is not defined"},{"line_number":159,"context_line":"    - inventory_hostname in groups[\u0027loadbalancer\u0027]"},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"- name: Getting haproxy stat"},{"line_number":162,"context_line":"  shell: echo \"show stat\" | docker exec -i haproxy socat unix-connect:/var/lib/kolla/haproxy/haproxy.sock stdio  # noqa 306"}],"source_content_type":"text/x-yaml","patch_set":47,"id":"6786a5b9_cea0a39a","line":159,"range":{"start_line":159,"start_character":36,"end_line":159,"end_character":48},"updated":"2021-09-03 08:06:44.000000000","message":"ditto","commit_id":"ffd53512af0bd7ea0927f9d5dc0e7254caeb320a"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"1fecd09428a59c122a98435cdaa0e11a82014be4","unresolved":true,"context_lines":[{"line_number":156,"context_line":"    - enable_haproxy | bool"},{"line_number":157,"context_line":"    - enable_keepalived | bool"},{"line_number":158,"context_line":"    - container_facts[\u0027keepalived\u0027] is not defined"},{"line_number":159,"context_line":"    - inventory_hostname in groups[\u0027loadbalancer\u0027]"},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"- name: Getting haproxy stat"},{"line_number":162,"context_line":"  shell: echo \"show stat\" | docker exec -i haproxy socat unix-connect:/var/lib/kolla/haproxy/haproxy.sock stdio  # noqa 306"}],"source_content_type":"text/x-yaml","patch_set":47,"id":"f4f09b11_d223336f","line":159,"range":{"start_line":159,"start_character":36,"end_line":159,"end_character":48},"in_reply_to":"6786a5b9_cea0a39a","updated":"2021-09-03 08:27:32.000000000","message":"Same as commented above.","commit_id":"ffd53512af0bd7ea0927f9d5dc0e7254caeb320a"}],"ansible/roles/loadbalancer/templates/keepalived/keepalived.conf.j2":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"030cdf726ba592a090f6ab1a06c7816e612c08fc","unresolved":true,"context_lines":[{"line_number":10,"context_line":"    nopreempt"},{"line_number":11,"context_line":"    interface {{ api_interface }}"},{"line_number":12,"context_line":"    virtual_router_id {{ keepalived_virtual_router_id }}"},{"line_number":13,"context_line":"    priority {{ groups[\u0027loadbalancer\u0027].index(inventory_hostname) + 1 }}"},{"line_number":14,"context_line":"    advert_int 1"},{"line_number":15,"context_line":"{% if keepalived_traffic_mode \u003d\u003d \u0027unicast\u0027 %}"},{"line_number":16,"context_line":"    unicast_src_ip {{ api_interface_address }}"}],"source_content_type":"text/x-jinja2","patch_set":8,"id":"7e1bbaa5_2bf40325","line":13,"range":{"start_line":13,"start_character":24,"end_line":13,"end_character":36},"updated":"2021-01-26 11:49:41.000000000","message":"keepalived?","commit_id":"3002a3a5267565ba164ee1883ea07dbe1af0afc8"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"4311635f92a1c91bc0d58bbb8ac90253d79b3fe9","unresolved":true,"context_lines":[{"line_number":10,"context_line":"    nopreempt"},{"line_number":11,"context_line":"    interface {{ api_interface }}"},{"line_number":12,"context_line":"    virtual_router_id {{ keepalived_virtual_router_id }}"},{"line_number":13,"context_line":"    priority {{ groups[\u0027loadbalancer\u0027].index(inventory_hostname) + 1 }}"},{"line_number":14,"context_line":"    advert_int 1"},{"line_number":15,"context_line":"{% if keepalived_traffic_mode \u003d\u003d \u0027unicast\u0027 %}"},{"line_number":16,"context_line":"    unicast_src_ip {{ api_interface_address }}"}],"source_content_type":"text/x-jinja2","patch_set":8,"id":"e99498fd_faa55a91","line":13,"range":{"start_line":13,"start_character":24,"end_line":13,"end_character":36},"in_reply_to":"7e1bbaa5_2bf40325","updated":"2021-01-26 19:34:26.000000000","message":"seconded","commit_id":"3002a3a5267565ba164ee1883ea07dbe1af0afc8"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"4311635f92a1c91bc0d58bbb8ac90253d79b3fe9","unresolved":true,"context_lines":[{"line_number":14,"context_line":"    advert_int 1"},{"line_number":15,"context_line":"{% if keepalived_traffic_mode \u003d\u003d \u0027unicast\u0027 %}"},{"line_number":16,"context_line":"    unicast_src_ip {{ api_interface_address }}"},{"line_number":17,"context_line":"{% if groups[\u0027loadbalancer\u0027] | length \u003e 1 %}"},{"line_number":18,"context_line":"    unicast_peer {"},{"line_number":19,"context_line":"{% for host in groups[\u0027loadbalancer\u0027] %}"},{"line_number":20,"context_line":"{% set ip_addr \u003d \u0027api\u0027 | kolla_address(host) %}"},{"line_number":21,"context_line":"{% if ip_addr !\u003d api_interface_address %}"},{"line_number":22,"context_line":"        {{ ip_addr }}"}],"source_content_type":"text/x-jinja2","patch_set":8,"id":"5988cc46_12618a74","line":19,"range":{"start_line":17,"start_character":0,"end_line":19,"end_character":40},"updated":"2021-01-26 19:34:26.000000000","message":"ditto","commit_id":"3002a3a5267565ba164ee1883ea07dbe1af0afc8"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"556b053fa215bce4ad751a1ee1bd081d65c052c5","unresolved":true,"context_lines":[{"line_number":10,"context_line":"    nopreempt"},{"line_number":11,"context_line":"    interface {{ api_interface }}"},{"line_number":12,"context_line":"    virtual_router_id {{ keepalived_virtual_router_id }}"},{"line_number":13,"context_line":"    priority {{ groups[\u0027loadbalancer\u0027].index(inventory_hostname) + 1 }}"},{"line_number":14,"context_line":"    advert_int 1"},{"line_number":15,"context_line":"{% if keepalived_traffic_mode \u003d\u003d \u0027unicast\u0027 %}"},{"line_number":16,"context_line":"    unicast_src_ip {{ api_interface_address }}"},{"line_number":17,"context_line":"{% if groups[\u0027loadbalancer\u0027] | length \u003e 1 %}"},{"line_number":18,"context_line":"    unicast_peer {"},{"line_number":19,"context_line":"{% for host in groups[\u0027loadbalancer\u0027] %}"},{"line_number":20,"context_line":"{% set ip_addr \u003d \u0027api\u0027 | kolla_address(host) %}"},{"line_number":21,"context_line":"{% if ip_addr !\u003d api_interface_address %}"},{"line_number":22,"context_line":"        {{ ip_addr }}"}],"source_content_type":"text/x-jinja2","patch_set":20,"id":"123d06e0_aeee053e","line":19,"range":{"start_line":13,"start_character":0,"end_line":19,"end_character":40},"updated":"2021-03-18 10:10:49.000000000","message":"Should reference keepalived group","commit_id":"6a4f4822560154deda631e684af1d95dcee51c12"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"16400a8bebca0411ed63a21b94087c1bb50ef0c4","unresolved":true,"context_lines":[{"line_number":10,"context_line":"    nopreempt"},{"line_number":11,"context_line":"    interface {{ api_interface }}"},{"line_number":12,"context_line":"    virtual_router_id {{ keepalived_virtual_router_id }}"},{"line_number":13,"context_line":"    priority {{ groups[\u0027loadbalancer\u0027].index(inventory_hostname) + 1 }}"},{"line_number":14,"context_line":"    advert_int 1"},{"line_number":15,"context_line":"{% if keepalived_traffic_mode \u003d\u003d \u0027unicast\u0027 %}"},{"line_number":16,"context_line":"    unicast_src_ip {{ api_interface_address }}"}],"source_content_type":"text/x-jinja2","patch_set":47,"id":"5b26b156_f9833a3a","line":13,"range":{"start_line":13,"start_character":24,"end_line":13,"end_character":36},"updated":"2021-09-03 08:06:44.000000000","message":"ditto and below","commit_id":"ffd53512af0bd7ea0927f9d5dc0e7254caeb320a"}],"ansible/roles/prechecks/tasks/database_checks.yml":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"556b053fa215bce4ad751a1ee1bd081d65c052c5","unresolved":true,"context_lines":[{"line_number":8,"context_line":"  when:"},{"line_number":9,"context_line":"    - not enable_mariadb | bool"},{"line_number":10,"context_line":"    - enable_external_mariadb_load_balancer | bool"},{"line_number":11,"context_line":"    - inventory_hostname in groups[\u0027loadbalancer\u0027]"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"- name: \"Check if external database address is reachable from all hosts\""},{"line_number":14,"context_line":"  wait_for:"}],"source_content_type":"text/x-yaml","patch_set":20,"id":"bf36cb6d_d71d4cc8","line":11,"range":{"start_line":11,"start_character":36,"end_line":11,"end_character":48},"updated":"2021-03-18 10:10:49.000000000","message":"We don\u0027t typically reference intermediate groups directly.","commit_id":"6a4f4822560154deda631e684af1d95dcee51c12"}],"ansible/site.yml":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"556b053fa215bce4ad751a1ee1bd081d65c052c5","unresolved":true,"context_lines":[{"line_number":119,"context_line":"- name: Apply role loadbalancer"},{"line_number":120,"context_line":"  gather_facts: false"},{"line_number":121,"context_line":"  hosts:"},{"line_number":122,"context_line":"    - loadbalancer"},{"line_number":123,"context_line":"    - \u0027\u0026enable_loadbalancer_True\u0027"},{"line_number":124,"context_line":"  serial: \u0027{{ kolla_serial|default(\"0\") }}\u0027"},{"line_number":125,"context_line":"  tags:"}],"source_content_type":"text/x-yaml","patch_set":20,"id":"c016187f_6a3d21df","line":122,"range":{"start_line":122,"start_character":6,"end_line":122,"end_character":18},"updated":"2021-03-18 10:10:49.000000000","message":"Should be:\n\n- haproxy\n- keepalived","commit_id":"6a4f4822560154deda631e684af1d95dcee51c12"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"9304d3588148781f7446ca8eb4bc065bcddc5614","unresolved":true,"context_lines":[{"line_number":34,"context_line":"        - enable_glance_{{ enable_glance | bool }}"},{"line_number":35,"context_line":"        - enable_gnocchi_{{ enable_gnocchi | bool }}"},{"line_number":36,"context_line":"        - enable_grafana_{{ enable_grafana | bool }}"},{"line_number":37,"context_line":"        - enable_haproxy_{{ enable_haproxy | bool }}"},{"line_number":38,"context_line":"        - enable_hacluster_{{ enable_hacluster | bool }}"},{"line_number":39,"context_line":"        - enable_heat_{{ enable_heat | bool }}"},{"line_number":40,"context_line":"        - enable_horizon_{{ enable_horizon | bool }}"}],"source_content_type":"text/x-yaml","patch_set":44,"id":"d99d95b7_5b76bbe1","line":37,"range":{"start_line":37,"start_character":0,"end_line":37,"end_character":52},"updated":"2021-08-17 16:03:05.000000000","message":"drop now, replaced","commit_id":"b057f084d01ce415078bdf6f4baafce017a3c43e"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"1c160328bd75501f0a28bfa98f5b20020356a9a0","unresolved":false,"context_lines":[{"line_number":34,"context_line":"        - enable_glance_{{ enable_glance | bool }}"},{"line_number":35,"context_line":"        - enable_gnocchi_{{ enable_gnocchi | bool }}"},{"line_number":36,"context_line":"        - enable_grafana_{{ enable_grafana | bool }}"},{"line_number":37,"context_line":"        - enable_haproxy_{{ enable_haproxy | bool }}"},{"line_number":38,"context_line":"        - enable_hacluster_{{ enable_hacluster | bool }}"},{"line_number":39,"context_line":"        - enable_heat_{{ enable_heat | bool }}"},{"line_number":40,"context_line":"        - enable_horizon_{{ enable_horizon | bool }}"}],"source_content_type":"text/x-yaml","patch_set":44,"id":"39c185df_7029a889","line":37,"range":{"start_line":37,"start_character":0,"end_line":37,"end_character":52},"in_reply_to":"d99d95b7_5b76bbe1","updated":"2021-08-17 21:22:47.000000000","message":"Done","commit_id":"b057f084d01ce415078bdf6f4baafce017a3c43e"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"9304d3588148781f7446ca8eb4bc065bcddc5614","unresolved":true,"context_lines":[{"line_number":121,"context_line":"    - \u0027\u0026enable_loadbalancer_True\u0027"},{"line_number":122,"context_line":"  serial: \u0027{{ kolla_serial|default(\"0\") }}\u0027"},{"line_number":123,"context_line":"  tags:"},{"line_number":124,"context_line":"    - haproxy"},{"line_number":125,"context_line":"    - loadbalancer"},{"line_number":126,"context_line":"  roles:"},{"line_number":127,"context_line":"    - { role: loadbalancer,"}],"source_content_type":"text/x-yaml","patch_set":44,"id":"a6836ba1_9102db88","line":124,"range":{"start_line":124,"start_character":0,"end_line":124,"end_character":13},"updated":"2021-08-17 16:03:05.000000000","message":"drop now, replaced","commit_id":"b057f084d01ce415078bdf6f4baafce017a3c43e"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"1c160328bd75501f0a28bfa98f5b20020356a9a0","unresolved":false,"context_lines":[{"line_number":121,"context_line":"    - \u0027\u0026enable_loadbalancer_True\u0027"},{"line_number":122,"context_line":"  serial: \u0027{{ kolla_serial|default(\"0\") }}\u0027"},{"line_number":123,"context_line":"  tags:"},{"line_number":124,"context_line":"    - haproxy"},{"line_number":125,"context_line":"    - loadbalancer"},{"line_number":126,"context_line":"  roles:"},{"line_number":127,"context_line":"    - { role: loadbalancer,"}],"source_content_type":"text/x-yaml","patch_set":44,"id":"e269f465_f27263ab","line":124,"range":{"start_line":124,"start_character":0,"end_line":124,"end_character":13},"in_reply_to":"a6836ba1_9102db88","updated":"2021-08-17 21:22:47.000000000","message":"Done","commit_id":"b057f084d01ce415078bdf6f4baafce017a3c43e"}]}
