)]}'
{"/COMMIT_MSG":[{"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":"f3d738e6e52b92a662d25c05189ba250ab3973d7","unresolved":true,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add proxysql support for database"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Kolla environment currently using haproxy"},{"line_number":10,"context_line":"to fullfill HA in mariadb. This patch"},{"line_number":11,"context_line":"is switching haproxy to proxysql if enabled."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":78,"id":"2d572df9_baef95f8","line":9,"range":{"start_line":9,"start_character":28,"end_line":9,"end_character":34},"updated":"2022-04-21 10:47:56.000000000","message":"uses","commit_id":"916e44822f3125fde576876ed99f79bf2b8faece"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"f12e69a3c26b89f045d7325f0b7938faed0d3225","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add proxysql support for database"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Kolla environment currently using haproxy"},{"line_number":10,"context_line":"to fullfill HA in mariadb. This patch"},{"line_number":11,"context_line":"is switching haproxy to proxysql if enabled."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":78,"id":"09db09bf_4f6a69c3","line":9,"range":{"start_line":9,"start_character":28,"end_line":9,"end_character":34},"in_reply_to":"2d572df9_baef95f8","updated":"2022-04-21 12:25:14.000000000","message":"Done","commit_id":"916e44822f3125fde576876ed99f79bf2b8faece"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"f7cc11c9ba99c5f5a723fd5b7060a7c7d3c446ca","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":70,"id":"a5b597f9_956942b3","updated":"2022-01-20 17:09:31.000000000","message":"recheck","commit_id":"58325b59e6b5041d839d7f69b165c279af6e1300"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"e530f8984d21ac89eb656e514de83502c69a59ff","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":75,"id":"fbdc4486_c64c01a6","updated":"2022-03-11 09:56:10.000000000","message":"Done - all","commit_id":"1a8fd91a3c0b3e474b1be899dd60c2e1641d9d7d"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"03e7314b21f553572182f5a78ea14afd77c273e6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":75,"id":"243c3894_015d7265","updated":"2022-03-11 12:58:53.000000000","message":"recheck","commit_id":"1a8fd91a3c0b3e474b1be899dd60c2e1641d9d7d"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"29fd0974a04f05cf245eef52faf4d53eddee0939","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":78,"id":"b2e83e5f_30e493fa","updated":"2022-04-05 13:35:17.000000000","message":"I think this is prepared for next round of reviews ? :/ ","commit_id":"916e44822f3125fde576876ed99f79bf2b8faece"},{"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":"eff3eece93c91e345fa9cc439c27917ffc30df98","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":78,"id":"20cbad61_939c5ada","updated":"2022-04-21 10:47:23.000000000","message":"ok, let\u0027s do it early in Zed\n\nplease fix merge conflicts first","commit_id":"916e44822f3125fde576876ed99f79bf2b8faece"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"f12e69a3c26b89f045d7325f0b7938faed0d3225","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":78,"id":"6297420b_fd1e6cba","in_reply_to":"20cbad61_939c5ada","updated":"2022-04-21 12:25:14.000000000","message":"Done","commit_id":"916e44822f3125fde576876ed99f79bf2b8faece"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"83a68bca3bcc680741a5ec5568520a3c32b065ae","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":82,"id":"657fe6ff_fe0bcd14","updated":"2022-04-21 17:14:34.000000000","message":"recheck","commit_id":"d9734b5dacc2019d7af4ca377b074affc355eeef"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"57c819014ead036ca812acb66ce9bf7a03b0e4d9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":83,"id":"62424f8f_2a624e25","updated":"2022-04-21 19:54:03.000000000","message":"recheck","commit_id":"6c260213956e4fbfb683060a03c0dfe40c988d39"},{"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":"963a8e62c4024c782fc368e5344b2b81bd1add45","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":84,"id":"42affd96_2b38f515","updated":"2022-05-02 11:07:26.000000000","message":"1) Why no healthchecks?\n\n2) Where does this deconfigure haproxy from serving mariadb port?","commit_id":"9cf3308e4891b81f6def109c247d680c0ccea420"},{"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":"86c0ace7e1f6751ea94706e92ff580bcdbe3ecf0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":88,"id":"6b07e668_01950105","updated":"2022-05-31 09:32:26.000000000","message":"only handlers reviewed","commit_id":"17c19d7dd4a3375528bde4b7502437272338aaed"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"89ff65dec87c2d4418f61413eb71718c3c157cd4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":89,"id":"f53cd8ab_faf74e03","updated":"2022-05-31 11:00:59.000000000","message":"Reverted to patchset 87. could you please check this ? As this patchset I have tested and it\u0027s  working, do you have any reservations ?","commit_id":"f9d95c42e382a96cdde2631565f4cafa2cc81e27"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"8c03ef908e383b6c0485d5bb60b9d62ab1270f1e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":90,"id":"0b99888d_1c404722","updated":"2022-05-31 12:51:44.000000000","message":"Ok, now I got it, changed.","commit_id":"7b4ed15b343cd8b600d891ee091b68ed6161781b"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"0063b2213e89927f90596336e3eb8afbb9569423","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":91,"id":"0415ebcc_b058b7fb","updated":"2022-06-01 11:50:33.000000000","message":"Tested scenarios: \n\n\n\nRestart haproxy container: \n\n\nRUNNING HANDLER [loadbalancer : Check IP addresses on the API interface] \nok: [controller1]\nok: [controller0]\n\nRUNNING HANDLER [loadbalancer : Group HA nodes by status] \nok: [controller0]\nok: [controller1]\n\nRUNNING HANDLER [loadbalancer : Stop backup haproxy container] \nskipping: [controller1]\nchanged: [controller0]\n\nRUNNING HANDLER [loadbalancer : Stop backup proxysql container] \nskipping: [controller1]\nchanged: [controller0]\n\nRUNNING HANDLER [loadbalancer : Start backup haproxy container] \nskipping: [controller1]\nchanged: [controller0]\n\nRUNNING HANDLER [loadbalancer : Wait for backup haproxy to start] \nok: [controller0]\n\nRUNNING HANDLER [loadbalancer : Start backup proxysql container] \nskipping: [controller1]\nchanged: [controller0]\n\nRUNNING HANDLER [loadbalancer : Wait for backup proxysql to start] \nok: [controller0]\n\nRUNNING HANDLER [loadbalancer : Stop master haproxy container] \nskipping: [controller0]\nchanged: [controller1]\n\nRUNNING HANDLER [loadbalancer : Stop master proxysql container] \nskipping: [controller0]\nchanged: [controller1]\n\nRUNNING HANDLER [loadbalancer : Start master haproxy container] \nskipping: [controller0]\nchanged: [controller1]\n\nRUNNING HANDLER [loadbalancer : Wait for master haproxy to start] \nok: [controller1]\n\nRUNNING HANDLER [loadbalancer : Start master proxysql container] \nskipping: [controller0]\nchanged: [controller1]\n\nRUNNING HANDLER [loadbalancer : Wait for master proxysql to start] \nok: [controller1]\n\n\n\nRestart proxysql container : \n\n\n\nRUNNING HANDLER [loadbalancer : Check IP addresses on the API interface] \nok: [controller0]\nok: [controller1]\n\nRUNNING HANDLER [loadbalancer : Group HA nodes by status] \nok: [controller1]\nok: [controller0]\n\nRUNNING HANDLER [loadbalancer : Stop backup haproxy container] \nskipping: [controller0]\nchanged: [controller1]\n\nRUNNING HANDLER [loadbalancer : Stop backup proxysql container] \nskipping: [controller0]\nchanged: [controller1]\n\nRUNNING HANDLER [loadbalancer : Start backup haproxy container] \nskipping: [controller0]\nchanged: [controller1]\n\nRUNNING HANDLER [loadbalancer : Wait for backup haproxy to start] \nok: [controller1]\n\nRUNNING HANDLER [loadbalancer : Start backup proxysql container] \nskipping: [controller0]\nchanged: [controller1]\n\nRUNNING HANDLER [loadbalancer : Wait for backup proxysql to start] \nok: [controller1]\n\nRUNNING HANDLER [loadbalancer : Stop master haproxy container] \nskipping: [controller1]\nchanged: [controller0]\n\nRUNNING HANDLER [loadbalancer : Stop master proxysql container] \nskipping: [controller1]\nchanged: [controller0]\n\nRUNNING HANDLER [loadbalancer : Start master haproxy container] \nskipping: [controller1]\nchanged: [controller0]\n\nRUNNING HANDLER [loadbalancer : Wait for master haproxy to start] \nok: [controller0]\n\nRUNNING HANDLER [loadbalancer : Start master proxysql container] \nskipping: [controller1]\nchanged: [controller0]\n\nRUNNING HANDLER [loadbalancer : Wait for master proxysql to start] \nok: [controller0]\n\n\n\n\nRestart keepalived container : \n\n\n\nRUNNING HANDLER [loadbalancer : Check IP addresses on the API interface] \nok: [controller0]\nok: [controller1]\n\nRUNNING HANDLER [loadbalancer : Group HA nodes by status] \nok: [controller0]\nok: [controller1]\n\nRUNNING HANDLER [loadbalancer : Stop backup keepalived container] \nskipping: [controller1]\nchanged: [controller0]\n\nRUNNING HANDLER [loadbalancer : Stop backup haproxy container] \nskipping: [controller1]\nchanged: [controller0]\n\nRUNNING HANDLER [loadbalancer : Stop backup proxysql container] \nskipping: [controller1]\nchanged: [controller0]\n\nRUNNING HANDLER [loadbalancer : Start backup haproxy container] \nskipping: [controller1]\nchanged: [controller0]\n\nRUNNING HANDLER [loadbalancer : Wait for backup haproxy to start] \nok: [controller0]\n\nRUNNING HANDLER [loadbalancer : Start backup proxysql container] \nskipping: [controller1]\nchanged: [controller0]\n\nRUNNING HANDLER [loadbalancer : Wait for backup proxysql to start] \nok: [controller0]\n\nRUNNING HANDLER [loadbalancer : Start backup keepalived container] \nskipping: [controller1]\nchanged: [controller0]\n\nRUNNING HANDLER [loadbalancer : Stop master haproxy container] \nskipping: [controller0]\nchanged: [controller1]\n\nRUNNING HANDLER [loadbalancer : Stop master proxysql container] \nskipping: [controller0]\nchanged: [controller1]\n\nRUNNING HANDLER [loadbalancer : Stop master keepalived container] \nskipping: [controller0]\nchanged: [controller1]\n\nRUNNING HANDLER [loadbalancer : Start master haproxy container] \nskipping: [controller0]\nchanged: [controller1]\n\nRUNNING HANDLER [loadbalancer : Wait for master haproxy to start] \nok: [controller1]\n\nRUNNING HANDLER [loadbalancer : Start master proxysql container] \nskipping: [controller0]\nchanged: [controller1]\n\nRUNNING HANDLER [loadbalancer : Wait for master proxysql to start] \nok: [controller1]\n\nRUNNING HANDLER [loadbalancer : Start master keepalived container] \nskipping: [controller0]\nchanged: [controller1]\n\nRUNNING HANDLER [loadbalancer : Wait for virtual IP to appear] \nok: [controller0] \u003d\u003e (item\u003dhaproxy)\nok: [controller1] \u003d\u003e (item\u003dhaproxy)\nok: [controller0] \u003d\u003e (item\u003dproxysql)\nok: [controller1] \u003d\u003e (item\u003dproxysql)\n\n\n\n\n\nSwitch enable_proxysql: yes -\u003e no \n\n\n\nRUNNING HANDLER [loadbalancer : Check IP addresses on the API interface] \nok: [controller0]\nok: [controller1]\n\nRUNNING HANDLER [loadbalancer : Group HA nodes by status] \nok: [controller0]\nok: [controller1]\n\nRUNNING HANDLER [loadbalancer : Stop backup keepalived container] \nskipping: [controller0]\nchanged: [controller1]\n\nRUNNING HANDLER [loadbalancer : Stop backup haproxy container] \nskipping: [controller0]\nchanged: [controller1]\n\nRUNNING HANDLER [loadbalancer : Stop backup proxysql container] \nskipping: [controller0]\nchanged: [controller1]\n\nRUNNING HANDLER [loadbalancer : Start backup haproxy container] \nskipping: [controller0]\nchanged: [controller1]\n\nRUNNING HANDLER [loadbalancer : Wait for backup haproxy to start] \nok: [controller1]\n\nRUNNING HANDLER [loadbalancer : Start backup proxysql container] \nskipping: [controller0]\nskipping: [controller1]\n\nRUNNING HANDLER [loadbalancer : Start backup keepalived container] \nskipping: [controller0]\nchanged: [controller1]\n\nRUNNING HANDLER [loadbalancer : Stop master haproxy container] \nskipping: [controller1]\nchanged: [controller0]\n\nRUNNING HANDLER [loadbalancer : Stop master proxysql container] \nskipping: [controller1]\nchanged: [controller0]\n\nRUNNING HANDLER [loadbalancer : Stop master keepalived container] \nskipping: [controller1]\nchanged: [controller0]\n\nRUNNING HANDLER [loadbalancer : Start master haproxy container] \nskipping: [controller1]\nchanged: [controller0]\n\nRUNNING HANDLER [loadbalancer : Wait for master haproxy to start] \nok: [controller0]\n\nRUNNING HANDLER [loadbalancer : Start master proxysql container] \nskipping: [controller1]\nskipping: [controller0]\n\nRUNNING HANDLER [loadbalancer : Start master keepalived container] \nskipping: [controller1]\nchanged: [controller0]\n\nRUNNING HANDLER [loadbalancer : Wait for virtual IP to appear] \nok: [controller1] \u003d\u003e (item\u003dhaproxy)\nok: [controller0] \u003d\u003e (item\u003dhaproxy)\nskipping: [controller1] \u003d\u003e (item\u003dproxysql) \nskipping: [controller0] \u003d\u003e (item\u003dproxysql) \n\n\n\n\n\nSwitch enable_proxysql: no -\u003e yes\n\n\nRUNNING HANDLER [loadbalancer : Check IP addresses on the API interface] \nok: [controller1]\nok: [controller0]\n\nRUNNING HANDLER [loadbalancer : Group HA nodes by status] \nok: [controller0]\nok: [controller1]\n\nRUNNING HANDLER [loadbalancer : Stop backup keepalived container] \nskipping: [controller1]\nchanged: [controller0]\n\nRUNNING HANDLER [loadbalancer : Stop backup haproxy container] \nskipping: [controller1]\nchanged: [controller0]\n\nRUNNING HANDLER [loadbalancer : Stop backup proxysql container] \nskipping: [controller1]\nok: [controller0]\n\nRUNNING HANDLER [loadbalancer : Start backup haproxy container] \nskipping: [controller1]\nchanged: [controller0]\n\nRUNNING HANDLER [loadbalancer : Wait for backup haproxy to start] \nok: [controller0]\n\nRUNNING HANDLER [loadbalancer : Start backup proxysql container] \nskipping: [controller1]\nchanged: [controller0]\n\nRUNNING HANDLER [loadbalancer : Wait for backup proxysql to start] \nok: [controller0]\n\nRUNNING HANDLER [loadbalancer : Start backup keepalived container] \nskipping: [controller1]\nchanged: [controller0]\n\nRUNNING HANDLER [loadbalancer : Stop master haproxy container] \nskipping: [controller0]\nchanged: [controller1]\n\nRUNNING HANDLER [loadbalancer : Stop master proxysql container] \nskipping: [controller0]\nok: [controller1]\n\nRUNNING HANDLER [loadbalancer : Stop master keepalived container] \nskipping: [controller0]\nchanged: [controller1]\n\nRUNNING HANDLER [loadbalancer : Start master haproxy container] \nskipping: [controller0]\nchanged: [controller1]\n\nRUNNING HANDLER [loadbalancer : Wait for master haproxy to start] \nok: [controller1]\n\nRUNNING HANDLER [loadbalancer : Start master proxysql container] \nskipping: [controller0]\nchanged: [controller1]\n\nRUNNING HANDLER [loadbalancer : Wait for master proxysql to start] \nok: [controller1]\n\nRUNNING HANDLER [loadbalancer : Start master keepalived container] \nskipping: [controller0]\nchanged: [controller1]\n\nRUNNING HANDLER [loadbalancer : Wait for virtual IP to appear] \nok: [controller0] \u003d\u003e (item\u003dhaproxy)\nok: [controller1] \u003d\u003e (item\u003dhaproxy)\nok: [controller0] \u003d\u003e (item\u003dproxysql)\nok: [controller1] \u003d\u003e (item\u003dproxysql)\n","commit_id":"5320d74439c7c6dc23f6d2244886668bb1bb5091"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"5603aa9927a1a5f06550cdfcff48feda98bb5fd2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":93,"id":"fa222665_916c90b0","updated":"2022-06-09 10:51:47.000000000","message":"I think this is done, or do you have more comments ? ","commit_id":"842637a29b06f06acfd7d15055bc17b150c36e6b"},{"author":{"_account_id":32398,"name":"Gaël THEROND","display_name":"Fl1nt","email":"gael.therond@bitswalk.com","username":"Fl1nt"},"change_message_id":"e22a5c2c662b9b8e63c1656f7ff3588065e91fec","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":93,"id":"dafec55d_6e579f79","updated":"2022-06-13 10:29:43.000000000","message":"LGTM, didn\u0027t see anything that jumped on my out the two following remarks, but I would argue they\u0027re not blocking.\n\nSomeone else from core should have a second review as this patch is pretty large.","commit_id":"842637a29b06f06acfd7d15055bc17b150c36e6b"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"753b3bbdecab1d4533d84424f08b4aba191daf0d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":93,"id":"5f854e7e_cc185da3","updated":"2022-06-10 12:46:42.000000000","message":"What about this ? \n\nThere is also user question regarding this in openstack-discuss mailing list [1].\n\n[1] http://lists.openstack.org/pipermail/openstack-discuss/2022-June/028827.html\n","commit_id":"842637a29b06f06acfd7d15055bc17b150c36e6b"},{"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":"e541a55aee3fa40aa0b7b66c19586e624aad7701","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":95,"id":"ccf8a86f_28938d1a","updated":"2022-07-01 19:50:41.000000000","message":"One of my most thorough reviews. Please enjoy cold. 😊","commit_id":"0d207bbaed13053855e14f19600752361842fa03"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"b0fd10561e49a22e7221a3595795c8ca61efef56","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":95,"id":"e8271a73_731fdbfc","updated":"2022-06-20 11:00:57.000000000","message":"recheck","commit_id":"0d207bbaed13053855e14f19600752361842fa03"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"d94557c96c795a8c6d435407ea45af73331540d4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":96,"id":"e676c2b5_a1f5eb0a","updated":"2022-07-04 18:08:44.000000000","message":"CI Fail as : \n\nkolla-ansible-debian-source-upgrade SUCCESS in 1h 02m 08s\nkolla-ansible-ubuntu-source-upgrade FAILURE in 41m 55s\n\nAnd moreover, I didn\u0027t change anything from patchset 95..96, only task names and some nits.","commit_id":"63108cc84ba720632a7c4ce744e9b4ee2691c281"},{"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":"e972e389aaa8b41b653f0ee647c07d9c4412e227","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":101,"id":"286be6f0_09f473b2","updated":"2022-07-09 14:32:58.000000000","message":"It\u0027s getting better and better. The number of unresolved comments decreases.","commit_id":"b2a04f09a61d9ca975850f193021b80d1889a735"},{"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":"dcc85235c9e929aff0cf02d6ec4f02f52d3ae07f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":104,"id":"55f13da9_357f2019","updated":"2022-07-13 09:16:05.000000000","message":"Well done, kevko. It\u0027s really nice for your first time. 😊 Let me know if you feel up to the task of fixing the little issues I mentioned. If not, I offer to help you.","commit_id":"ac3aaea3bb996c2012652dd60a50f579e692929b"},{"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":"ad47ed8bc327fdd7e3415a8a0d4579dfd5197293","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":108,"id":"aa5cec2d_fbb0b2a8","updated":"2022-07-13 17:06:48.000000000","message":"quick comment: awesome, but please use f-strings ( https://realpython.com/python-f-strings/#f-strings-a-new-and-improved-way-to-format-strings-in-python ) instead of .format","commit_id":"adcbfcd161a7e8c67b2fe20b9d62e272b0153eff"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"e22353d641025a63985dedb28e2ca1bcc5f23301","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":108,"id":"844f5e37_a6f49304","in_reply_to":"aa5cec2d_fbb0b2a8","updated":"2022-07-13 19:29:59.000000000","message":"Done","commit_id":"adcbfcd161a7e8c67b2fe20b9d62e272b0153eff"},{"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":"ab16c3df9b8c0da412322552b0703e5c91c89171","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":109,"id":"d425d701_6611fe79","updated":"2022-07-16 14:29:59.000000000","message":"Thanks, kevko. And I see it still passes CI, awesome!\n\nThere are 2 outstanding unresolved comments waiting to be addressed.","commit_id":"52768d7cbfda53b7cf013ead7b702ed3ffe8f773"},{"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":"90ffde4dad6bc5a493c0779be8bc318d066de7b4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":111,"id":"e4ea3942_8b3ca1b3","updated":"2022-07-22 07:58:45.000000000","message":"recheck\n\nmirrors fixed","commit_id":"dfab2e2b5d5ff0312a650b6a296af900cbfb0c99"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"d4dc198dded45bca0f5f839bf41ae6db12419a7b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":112,"id":"07a8fe93_be1cea84","updated":"2022-07-28 09:56:16.000000000","message":"unit tests for new filter missing","commit_id":"2399451ad8894abbe4035fb70c08ac0b6833dcab"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"0e6361d0afffaac8f918ce105e7468e410de370c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":112,"id":"94e4c42f_4637103b","in_reply_to":"07a8fe93_be1cea84","updated":"2022-07-28 14:01:58.000000000","message":"Done","commit_id":"2399451ad8894abbe4035fb70c08ac0b6833dcab"},{"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":"e2b83acfa2af7020cb38804734a85ae37c32911d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":113,"id":"e69c5f32_c12df766","updated":"2022-07-28 14:21:52.000000000","message":"A hint has been given. Please enjoy.","commit_id":"faf70253d795e964700c98c04405dd7266818449"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"40772464222a7ac3da5ef7b2372fa5f460c26148","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":113,"id":"88f97c61_5b5c4ea3","updated":"2022-07-28 14:01:44.000000000","message":"Unit tests uploaded.","commit_id":"faf70253d795e964700c98c04405dd7266818449"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"b63a184c40f44de7912d8bbf1ad2f85df09f4875","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":117,"id":"48c168df_0d421f35","updated":"2022-08-01 09:48:10.000000000","message":"Nice to see this merged.","commit_id":"de973b81fae3f74bc624f22166f8d2ec9a4a5e38"},{"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":"646db9b6f7047adaedbd658bdea19b003abc4bdc","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":117,"id":"e9bfcdef_6a3562e5","updated":"2022-07-29 15:26:53.000000000","message":"recheck\n\nhmm, oddly libvirtd tried to open /dev/kvm\n\n2022-07-29 13:37:18.441+0000: 71662: error : virHostCPUGetCPUID:1320 : Unable to open /dev/kvm: No such file or directory","commit_id":"de973b81fae3f74bc624f22166f8d2ec9a4a5e38"}],"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":"e541a55aee3fa40aa0b7b66c19586e624aad7701","unresolved":true,"context_lines":[{"line_number":378,"context_line":"mariadb_shard_name: \"shard_{{ mariadb_shard_id }}\""},{"line_number":379,"context_line":"mariadb_shard_group: \"mariadb_{{ mariadb_shard_name }}\""},{"line_number":380,"context_line":"mariadb_loadbalancer: \"{{ \u0027proxysql\u0027 if enable_proxysql | bool else \u0027haproxy\u0027 }}\""},{"line_number":381,"context_line":"mariadb_backends_info: \"{% set backends_info \u003d [] %}{% for host in groups[\u0027mariadb\u0027] %}{{ backends_info.append({\u0027shard_id\u0027: hostvars[host][\u0027mariadb_shard_id\u0027] | default(mariadb_default_database_shard_id) | int, \u0027hostname\u0027: host }) }}{% endfor %}{{ backends_info }}\""},{"line_number":382,"context_line":""},{"line_number":383,"context_line":"masakari_api_port: \"15868\""},{"line_number":384,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":95,"id":"d5a62cd7_055a8c7e","line":381,"range":{"start_line":381,"start_character":223,"end_line":381,"end_character":228},"updated":"2022-07-01 19:50:41.000000000","message":"that could be something else than a hostname - if we really need a hostname here, we should use the relevant variable","commit_id":"0d207bbaed13053855e14f19600752361842fa03"},{"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":"16acfd55b80facca1c4aa657447d9decbee20fa6","unresolved":true,"context_lines":[{"line_number":378,"context_line":"mariadb_shard_name: \"shard_{{ mariadb_shard_id }}\""},{"line_number":379,"context_line":"mariadb_shard_group: \"mariadb_{{ mariadb_shard_name }}\""},{"line_number":380,"context_line":"mariadb_loadbalancer: \"{{ \u0027proxysql\u0027 if enable_proxysql | bool else \u0027haproxy\u0027 }}\""},{"line_number":381,"context_line":"mariadb_backends_info: \"{% set backends_info \u003d [] %}{% for host in groups[\u0027mariadb\u0027] %}{{ backends_info.append({\u0027shard_id\u0027: hostvars[host][\u0027mariadb_shard_id\u0027] | default(mariadb_default_database_shard_id) | int, \u0027hostname\u0027: host }) }}{% endfor %}{{ backends_info }}\""},{"line_number":382,"context_line":""},{"line_number":383,"context_line":"masakari_api_port: \"15868\""},{"line_number":384,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":95,"id":"bddf612b_0c885ee0","line":381,"range":{"start_line":381,"start_character":223,"end_line":381,"end_character":228},"in_reply_to":"b6abcf1a_8a96b27a","updated":"2022-07-05 08:40:46.000000000","message":"Ok, I guess renaming it to \"host\" would avoid the confusion I had. Let\u0027s do it.","commit_id":"0d207bbaed13053855e14f19600752361842fa03"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"facbbe44b744d153787ac04d58c5f516b343ee0c","unresolved":false,"context_lines":[{"line_number":378,"context_line":"mariadb_shard_name: \"shard_{{ mariadb_shard_id }}\""},{"line_number":379,"context_line":"mariadb_shard_group: \"mariadb_{{ mariadb_shard_name }}\""},{"line_number":380,"context_line":"mariadb_loadbalancer: \"{{ \u0027proxysql\u0027 if enable_proxysql | bool else \u0027haproxy\u0027 }}\""},{"line_number":381,"context_line":"mariadb_backends_info: \"{% set backends_info \u003d [] %}{% for host in groups[\u0027mariadb\u0027] %}{{ backends_info.append({\u0027shard_id\u0027: hostvars[host][\u0027mariadb_shard_id\u0027] | default(mariadb_default_database_shard_id) | int, \u0027hostname\u0027: host }) }}{% endfor %}{{ backends_info }}\""},{"line_number":382,"context_line":""},{"line_number":383,"context_line":"masakari_api_port: \"15868\""},{"line_number":384,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":95,"id":"4270aa4c_ed134f64","line":381,"range":{"start_line":381,"start_character":223,"end_line":381,"end_character":228},"in_reply_to":"bddf612b_0c885ee0","updated":"2022-07-06 14:59:55.000000000","message":"Reworked, now another variable is used.","commit_id":"0d207bbaed13053855e14f19600752361842fa03"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"2399f5f659281f44c760136b53735490d4a584cc","unresolved":true,"context_lines":[{"line_number":378,"context_line":"mariadb_shard_name: \"shard_{{ mariadb_shard_id }}\""},{"line_number":379,"context_line":"mariadb_shard_group: \"mariadb_{{ mariadb_shard_name }}\""},{"line_number":380,"context_line":"mariadb_loadbalancer: \"{{ \u0027proxysql\u0027 if enable_proxysql | bool else \u0027haproxy\u0027 }}\""},{"line_number":381,"context_line":"mariadb_backends_info: \"{% set backends_info \u003d [] %}{% for host in groups[\u0027mariadb\u0027] %}{{ backends_info.append({\u0027shard_id\u0027: hostvars[host][\u0027mariadb_shard_id\u0027] | default(mariadb_default_database_shard_id) | int, \u0027hostname\u0027: host }) }}{% endfor %}{{ backends_info }}\""},{"line_number":382,"context_line":""},{"line_number":383,"context_line":"masakari_api_port: \"15868\""},{"line_number":384,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":95,"id":"b6abcf1a_8a96b27a","line":381,"range":{"start_line":381,"start_character":223,"end_line":381,"end_character":228},"in_reply_to":"d5a62cd7_055a8c7e","updated":"2022-07-04 15:51:25.000000000","message":"I don\u0027t agree, mariadb_backends_info is a map which is used to generate proper config for proxysql.\n\nHostname has two meanings: \n1. It\u0027s a key in a map which can be easily identified against inventory\n2. It\u0027s also used in proxysql as a comment for that hosts.\n\nMoreover, there is a certainty that host is unique, because it is \"parsed\" from inventory.\n\nIf your comment is about renaming | \u0027hostname\u0027 : host | -\u003e | \u0027host\u0027 : host | , i am OK with it.","commit_id":"0d207bbaed13053855e14f19600752361842fa03"},{"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":"e972e389aaa8b41b653f0ee647c07d9c4412e227","unresolved":true,"context_lines":[{"line_number":382,"context_line":"mariadb_shard_backup_user_prefix: \"backup_shard_\""},{"line_number":383,"context_line":"# As there can be several mariadb clusters deployed and"},{"line_number":384,"context_line":"# loadbalancer role can run on different hosts, we need"},{"line_number":385,"context_line":"# to know some facts about that clusters to be able"},{"line_number":386,"context_line":"# generate configs for proxysql and create monitor user"},{"line_number":387,"context_line":"# while switching to proxysql."},{"line_number":388,"context_line":"mariadb_shards_info: \"{% set shards \u003d {\u0027shards\u0027: {}, \u0027users\u0027: []} %}{% for host in groups[\u0027mariadb\u0027] %}{{ shards.shards.update({hostvars[host][\u0027mariadb_shard_id\u0027]: {\u0027hosts\u0027:[]}} ) }}{% endfor %}{% for k,v in shards.shards.items() %}{{ shards.users.append({\u0027user\u0027: mariadb_shard_root_user_prefix + k | string, \u0027password\u0027: database_password, \u0027shard_id\u0027: k | string }) }}{% if enable_mariabackup | bool %}{{ shards.users.append({\u0027user\u0027: mariadb_shard_backup_user_prefix + k | string, \u0027password\u0027: database_password, \u0027shard_id\u0027: k | string }) }}{% endif %}{% for host in groups[\u0027mariadb\u0027] %}{% if hostvars[host][\u0027mariadb_shard_id\u0027] | int \u003d\u003d k | int %}{{ v.hosts.append(host) }}{% endif %}{% endfor %}{% endfor %}{{ shards }}\""}],"source_content_type":"text/x-yaml","patch_set":101,"id":"05ee0cd5_e75f09f0","line":385,"range":{"start_line":385,"start_character":27,"end_line":385,"end_character":32},"updated":"2022-07-09 14:32:58.000000000","message":"those","commit_id":"b2a04f09a61d9ca975850f193021b80d1889a735"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"b354cd5e83e825bd6294f14dda24dd1a28f6513a","unresolved":false,"context_lines":[{"line_number":382,"context_line":"mariadb_shard_backup_user_prefix: \"backup_shard_\""},{"line_number":383,"context_line":"# As there can be several mariadb clusters deployed and"},{"line_number":384,"context_line":"# loadbalancer role can run on different hosts, we need"},{"line_number":385,"context_line":"# to know some facts about that clusters to be able"},{"line_number":386,"context_line":"# generate configs for proxysql and create monitor user"},{"line_number":387,"context_line":"# while switching to proxysql."},{"line_number":388,"context_line":"mariadb_shards_info: \"{% set shards \u003d {\u0027shards\u0027: {}, \u0027users\u0027: []} %}{% for host in groups[\u0027mariadb\u0027] %}{{ shards.shards.update({hostvars[host][\u0027mariadb_shard_id\u0027]: {\u0027hosts\u0027:[]}} ) }}{% endfor %}{% for k,v in shards.shards.items() %}{{ shards.users.append({\u0027user\u0027: mariadb_shard_root_user_prefix + k | string, \u0027password\u0027: database_password, \u0027shard_id\u0027: k | string }) }}{% if enable_mariabackup | bool %}{{ shards.users.append({\u0027user\u0027: mariadb_shard_backup_user_prefix + k | string, \u0027password\u0027: database_password, \u0027shard_id\u0027: k | string }) }}{% endif %}{% for host in groups[\u0027mariadb\u0027] %}{% if hostvars[host][\u0027mariadb_shard_id\u0027] | int \u003d\u003d k | int %}{{ v.hosts.append(host) }}{% endif %}{% endfor %}{% endfor %}{{ shards }}\""}],"source_content_type":"text/x-yaml","patch_set":101,"id":"5fb0f087_1d42a867","line":385,"range":{"start_line":385,"start_character":27,"end_line":385,"end_character":32},"in_reply_to":"05ee0cd5_e75f09f0","updated":"2022-07-12 16:32:43.000000000","message":"Done","commit_id":"b2a04f09a61d9ca975850f193021b80d1889a735"},{"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":"e972e389aaa8b41b653f0ee647c07d9c4412e227","unresolved":true,"context_lines":[{"line_number":385,"context_line":"# to know some facts about that clusters to be able"},{"line_number":386,"context_line":"# generate configs for proxysql and create monitor user"},{"line_number":387,"context_line":"# while switching to proxysql."},{"line_number":388,"context_line":"mariadb_shards_info: \"{% set shards \u003d {\u0027shards\u0027: {}, \u0027users\u0027: []} %}{% for host in groups[\u0027mariadb\u0027] %}{{ shards.shards.update({hostvars[host][\u0027mariadb_shard_id\u0027]: {\u0027hosts\u0027:[]}} ) }}{% endfor %}{% for k,v in shards.shards.items() %}{{ shards.users.append({\u0027user\u0027: mariadb_shard_root_user_prefix + k | string, \u0027password\u0027: database_password, \u0027shard_id\u0027: k | string }) }}{% if enable_mariabackup | bool %}{{ shards.users.append({\u0027user\u0027: mariadb_shard_backup_user_prefix + k | string, \u0027password\u0027: database_password, \u0027shard_id\u0027: k | string }) }}{% endif %}{% for host in groups[\u0027mariadb\u0027] %}{% if hostvars[host][\u0027mariadb_shard_id\u0027] | int \u003d\u003d k | int %}{{ v.hosts.append(host) }}{% endif %}{% endfor %}{% endfor %}{{ shards }}\""},{"line_number":389,"context_line":""},{"line_number":390,"context_line":"masakari_api_port: \"15868\""},{"line_number":391,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":101,"id":"9aa407b7_480a84a7","line":388,"updated":"2022-07-09 14:32:58.000000000","message":"It\u0027s pure hell at the moment. Please move the logic to Python and invoke a function here instead.","commit_id":"b2a04f09a61d9ca975850f193021b80d1889a735"},{"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":"dcc85235c9e929aff0cf02d6ec4f02f52d3ae07f","unresolved":false,"context_lines":[{"line_number":385,"context_line":"# to know some facts about that clusters to be able"},{"line_number":386,"context_line":"# generate configs for proxysql and create monitor user"},{"line_number":387,"context_line":"# while switching to proxysql."},{"line_number":388,"context_line":"mariadb_shards_info: \"{% set shards \u003d {\u0027shards\u0027: {}, \u0027users\u0027: []} %}{% for host in groups[\u0027mariadb\u0027] %}{{ shards.shards.update({hostvars[host][\u0027mariadb_shard_id\u0027]: {\u0027hosts\u0027:[]}} ) }}{% endfor %}{% for k,v in shards.shards.items() %}{{ shards.users.append({\u0027user\u0027: mariadb_shard_root_user_prefix + k | string, \u0027password\u0027: database_password, \u0027shard_id\u0027: k | string }) }}{% if enable_mariabackup | bool %}{{ shards.users.append({\u0027user\u0027: mariadb_shard_backup_user_prefix + k | string, \u0027password\u0027: database_password, \u0027shard_id\u0027: k | string }) }}{% endif %}{% for host in groups[\u0027mariadb\u0027] %}{% if hostvars[host][\u0027mariadb_shard_id\u0027] | int \u003d\u003d k | int %}{{ v.hosts.append(host) }}{% endif %}{% endfor %}{% endfor %}{{ shards }}\""},{"line_number":389,"context_line":""},{"line_number":390,"context_line":"masakari_api_port: \"15868\""},{"line_number":391,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":101,"id":"8c641f9b_03938b15","line":388,"in_reply_to":"3ada8a97_fb0bb141","updated":"2022-07-13 09:16:05.000000000","message":"It\u0027s ok. This one can be closed. ;-)","commit_id":"b2a04f09a61d9ca975850f193021b80d1889a735"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"b354cd5e83e825bd6294f14dda24dd1a28f6513a","unresolved":false,"context_lines":[{"line_number":385,"context_line":"# to know some facts about that clusters to be able"},{"line_number":386,"context_line":"# generate configs for proxysql and create monitor user"},{"line_number":387,"context_line":"# while switching to proxysql."},{"line_number":388,"context_line":"mariadb_shards_info: \"{% set shards \u003d {\u0027shards\u0027: {}, \u0027users\u0027: []} %}{% for host in groups[\u0027mariadb\u0027] %}{{ shards.shards.update({hostvars[host][\u0027mariadb_shard_id\u0027]: {\u0027hosts\u0027:[]}} ) }}{% endfor %}{% for k,v in shards.shards.items() %}{{ shards.users.append({\u0027user\u0027: mariadb_shard_root_user_prefix + k | string, \u0027password\u0027: database_password, \u0027shard_id\u0027: k | string }) }}{% if enable_mariabackup | bool %}{{ shards.users.append({\u0027user\u0027: mariadb_shard_backup_user_prefix + k | string, \u0027password\u0027: database_password, \u0027shard_id\u0027: k | string }) }}{% endif %}{% for host in groups[\u0027mariadb\u0027] %}{% if hostvars[host][\u0027mariadb_shard_id\u0027] | int \u003d\u003d k | int %}{{ v.hosts.append(host) }}{% endif %}{% endfor %}{% endfor %}{{ shards }}\""},{"line_number":389,"context_line":""},{"line_number":390,"context_line":"masakari_api_port: \"15868\""},{"line_number":391,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":101,"id":"3ada8a97_fb0bb141","line":388,"in_reply_to":"5a1ec8b4_87c073cf","updated":"2022-07-12 16:32:43.000000000","message":"For now I am closing this comment as resolved, even though I know that there will be some comments regarding filter :/.","commit_id":"b2a04f09a61d9ca975850f193021b80d1889a735"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"271dcbdedca50f051a5d1972a61543e0216b238b","unresolved":true,"context_lines":[{"line_number":385,"context_line":"# to know some facts about that clusters to be able"},{"line_number":386,"context_line":"# generate configs for proxysql and create monitor user"},{"line_number":387,"context_line":"# while switching to proxysql."},{"line_number":388,"context_line":"mariadb_shards_info: \"{% set shards \u003d {\u0027shards\u0027: {}, \u0027users\u0027: []} %}{% for host in groups[\u0027mariadb\u0027] %}{{ shards.shards.update({hostvars[host][\u0027mariadb_shard_id\u0027]: {\u0027hosts\u0027:[]}} ) }}{% endfor %}{% for k,v in shards.shards.items() %}{{ shards.users.append({\u0027user\u0027: mariadb_shard_root_user_prefix + k | string, \u0027password\u0027: database_password, \u0027shard_id\u0027: k | string }) }}{% if enable_mariabackup | bool %}{{ shards.users.append({\u0027user\u0027: mariadb_shard_backup_user_prefix + k | string, \u0027password\u0027: database_password, \u0027shard_id\u0027: k | string }) }}{% endif %}{% for host in groups[\u0027mariadb\u0027] %}{% if hostvars[host][\u0027mariadb_shard_id\u0027] | int \u003d\u003d k | int %}{{ v.hosts.append(host) }}{% endif %}{% endfor %}{% endfor %}{{ shards }}\""},{"line_number":389,"context_line":""},{"line_number":390,"context_line":"masakari_api_port: \"15868\""},{"line_number":391,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":101,"id":"5a1ec8b4_87c073cf","line":388,"in_reply_to":"9aa407b7_480a84a7","updated":"2022-07-11 12:12:48.000000000","message":"I always provided pure ansible - so please, could you point me to some example/inspiration to start with ?","commit_id":"b2a04f09a61d9ca975850f193021b80d1889a735"}],"ansible/roles/loadbalancer/defaults/main.yml":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"32357e29d46f9442b36533a7a3728c3b5eb331cf","unresolved":true,"context_lines":[{"line_number":17,"context_line":"    group: proxysql"},{"line_number":18,"context_line":"    enabled: \"{{ enable_proxysql | bool }}\""},{"line_number":19,"context_line":"    image: \"{{ proxysql_image_full }}\""},{"line_number":20,"context_line":"    privileged: True"},{"line_number":21,"context_line":"    volumes: \"{{ proxysql_default_volumes + proxysql_extra_volumes }}\""},{"line_number":22,"context_line":"    dimensions: \"{{ proxysql_dimensions }}\""},{"line_number":23,"context_line":"    vip: \"{{ kolla_internal_vip_address }}\""}],"source_content_type":"text/x-yaml","patch_set":19,"id":"4216362d_65b50a1e","line":20,"range":{"start_line":20,"start_character":4,"end_line":20,"end_character":20},"updated":"2021-01-26 12:01:05.000000000","message":"Is it necessary?","commit_id":"36904743d2ea4d8f7282da107019ce018e27d5e6"},{"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":"d2f97b217cf1b098000cb1b8da68f02ce6de4c0d","unresolved":true,"context_lines":[{"line_number":17,"context_line":"    group: proxysql"},{"line_number":18,"context_line":"    enabled: \"{{ enable_proxysql | bool }}\""},{"line_number":19,"context_line":"    image: \"{{ proxysql_image_full }}\""},{"line_number":20,"context_line":"    privileged: True"},{"line_number":21,"context_line":"    volumes: \"{{ proxysql_default_volumes + proxysql_extra_volumes }}\""},{"line_number":22,"context_line":"    dimensions: \"{{ proxysql_dimensions }}\""},{"line_number":23,"context_line":"    vip: \"{{ kolla_internal_vip_address }}\""}],"source_content_type":"text/x-yaml","patch_set":19,"id":"54abfe2e_894118b4","line":20,"range":{"start_line":20,"start_character":4,"end_line":20,"end_character":20},"in_reply_to":"4216362d_65b50a1e","updated":"2021-01-26 19:36:45.000000000","message":"curious too (hopefully not!)","commit_id":"36904743d2ea4d8f7282da107019ce018e27d5e6"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"20a234157f3235257ffe23591552aa49b08a1fd2","unresolved":true,"context_lines":[{"line_number":17,"context_line":"    group: proxysql"},{"line_number":18,"context_line":"    enabled: \"{{ enable_proxysql | bool }}\""},{"line_number":19,"context_line":"    image: \"{{ proxysql_image_full }}\""},{"line_number":20,"context_line":"    privileged: True"},{"line_number":21,"context_line":"    volumes: \"{{ proxysql_default_volumes + proxysql_extra_volumes }}\""},{"line_number":22,"context_line":"    dimensions: \"{{ proxysql_dimensions }}\""},{"line_number":23,"context_line":"    vip: \"{{ kolla_internal_vip_address }}\""}],"source_content_type":"text/x-yaml","patch_set":19,"id":"9fbc9dac_dda3e931","line":20,"range":{"start_line":20,"start_character":4,"end_line":20,"end_character":20},"in_reply_to":"54abfe2e_894118b4","updated":"2022-01-31 12:46:54.000000000","message":"Well, I was inspired by haproxy, why haproxy is privileged ? So, shouldn\u0027t we then change also haproxy privileged to false ?","commit_id":"36904743d2ea4d8f7282da107019ce018e27d5e6"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"e530f8984d21ac89eb656e514de83502c69a59ff","unresolved":false,"context_lines":[{"line_number":17,"context_line":"    group: proxysql"},{"line_number":18,"context_line":"    enabled: \"{{ enable_proxysql | bool }}\""},{"line_number":19,"context_line":"    image: \"{{ proxysql_image_full }}\""},{"line_number":20,"context_line":"    privileged: True"},{"line_number":21,"context_line":"    volumes: \"{{ proxysql_default_volumes + proxysql_extra_volumes }}\""},{"line_number":22,"context_line":"    dimensions: \"{{ proxysql_dimensions }}\""},{"line_number":23,"context_line":"    vip: \"{{ kolla_internal_vip_address }}\""}],"source_content_type":"text/x-yaml","patch_set":19,"id":"133ad503_85d15e75","line":20,"range":{"start_line":20,"start_character":4,"end_line":20,"end_character":20},"in_reply_to":"9fbc9dac_dda3e931","updated":"2022-03-11 09:56:10.000000000","message":"Done","commit_id":"36904743d2ea4d8f7282da107019ce018e27d5e6"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"32357e29d46f9442b36533a7a3728c3b5eb331cf","unresolved":true,"context_lines":[{"line_number":74,"context_line":""},{"line_number":75,"context_line":"syslog_server: \"{{ api_interface_address }}\""},{"line_number":76,"context_line":"syslog_haproxy_facility: \"local1\""},{"line_number":77,"context_line":"syslog_proxysql_facility: \"local1\""},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"# Traffic mode. Valid options are [ multicast, unicast ]"},{"line_number":80,"context_line":"keepalived_traffic_mode: \"multicast\""}],"source_content_type":"text/x-yaml","patch_set":19,"id":"b42d5c18_6745a483","line":77,"range":{"start_line":77,"start_character":0,"end_line":77,"end_character":34},"updated":"2021-01-26 12:01:05.000000000","message":"Can it not write to a log file?","commit_id":"36904743d2ea4d8f7282da107019ce018e27d5e6"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"20a234157f3235257ffe23591552aa49b08a1fd2","unresolved":true,"context_lines":[{"line_number":74,"context_line":""},{"line_number":75,"context_line":"syslog_server: \"{{ api_interface_address }}\""},{"line_number":76,"context_line":"syslog_haproxy_facility: \"local1\""},{"line_number":77,"context_line":"syslog_proxysql_facility: \"local1\""},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"# Traffic mode. Valid options are [ multicast, unicast ]"},{"line_number":80,"context_line":"keepalived_traffic_mode: \"multicast\""}],"source_content_type":"text/x-yaml","patch_set":19,"id":"89862397_91e0a4da","line":77,"range":{"start_line":77,"start_character":0,"end_line":77,"end_character":34},"in_reply_to":"22ddba96_a7b446d6","updated":"2022-01-31 12:46:54.000000000","message":"It writes to log file, I can remove it .","commit_id":"36904743d2ea4d8f7282da107019ce018e27d5e6"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"e530f8984d21ac89eb656e514de83502c69a59ff","unresolved":false,"context_lines":[{"line_number":74,"context_line":""},{"line_number":75,"context_line":"syslog_server: \"{{ api_interface_address }}\""},{"line_number":76,"context_line":"syslog_haproxy_facility: \"local1\""},{"line_number":77,"context_line":"syslog_proxysql_facility: \"local1\""},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"# Traffic mode. Valid options are [ multicast, unicast ]"},{"line_number":80,"context_line":"keepalived_traffic_mode: \"multicast\""}],"source_content_type":"text/x-yaml","patch_set":19,"id":"47319608_da044c0f","line":77,"range":{"start_line":77,"start_character":0,"end_line":77,"end_character":34},"in_reply_to":"89862397_91e0a4da","updated":"2022-03-11 09:56:10.000000000","message":"Done","commit_id":"36904743d2ea4d8f7282da107019ce018e27d5e6"},{"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":"d2f97b217cf1b098000cb1b8da68f02ce6de4c0d","unresolved":true,"context_lines":[{"line_number":74,"context_line":""},{"line_number":75,"context_line":"syslog_server: \"{{ api_interface_address }}\""},{"line_number":76,"context_line":"syslog_haproxy_facility: \"local1\""},{"line_number":77,"context_line":"syslog_proxysql_facility: \"local1\""},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"# Traffic mode. Valid options are [ multicast, unicast ]"},{"line_number":80,"context_line":"keepalived_traffic_mode: \"multicast\""}],"source_content_type":"text/x-yaml","patch_set":19,"id":"22ddba96_a7b446d6","line":77,"range":{"start_line":77,"start_character":0,"end_line":77,"end_character":34},"in_reply_to":"b42d5c18_6745a483","updated":"2021-01-26 19:36:45.000000000","message":"curious too","commit_id":"36904743d2ea4d8f7282da107019ce018e27d5e6"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"32357e29d46f9442b36533a7a3728c3b5eb331cf","unresolved":true,"context_lines":[{"line_number":107,"context_line":"  - \"{{ \u0027/etc/timezone:/etc/timezone:ro\u0027 if ansible_os_family \u003d\u003d \u0027Debian\u0027 else \u0027\u0027 }}\""},{"line_number":108,"context_line":"  - \"/lib/modules:/lib/modules:ro\""},{"line_number":109,"context_line":"  - \"haproxy_socket:/var/lib/kolla/haproxy/\""},{"line_number":110,"context_line":"  - \"proxysql:/var/lib/kolla/proxysql/\""},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"haproxy_extra_volumes: \"{{ default_extra_volumes }}\""},{"line_number":113,"context_line":"proxysql_extra_volumes: \"{{ default_extra_volumes }}\""}],"source_content_type":"text/x-yaml","patch_set":19,"id":"4e97a67d_9873ef1d","line":110,"range":{"start_line":110,"start_character":4,"end_line":110,"end_character":38},"updated":"2021-01-26 12:01:05.000000000","message":"wrap in if enable_proxysql | bool","commit_id":"36904743d2ea4d8f7282da107019ce018e27d5e6"},{"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":"d2f97b217cf1b098000cb1b8da68f02ce6de4c0d","unresolved":true,"context_lines":[{"line_number":107,"context_line":"  - \"{{ \u0027/etc/timezone:/etc/timezone:ro\u0027 if ansible_os_family \u003d\u003d \u0027Debian\u0027 else \u0027\u0027 }}\""},{"line_number":108,"context_line":"  - \"/lib/modules:/lib/modules:ro\""},{"line_number":109,"context_line":"  - \"haproxy_socket:/var/lib/kolla/haproxy/\""},{"line_number":110,"context_line":"  - \"proxysql:/var/lib/kolla/proxysql/\""},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"haproxy_extra_volumes: \"{{ default_extra_volumes }}\""},{"line_number":113,"context_line":"proxysql_extra_volumes: \"{{ default_extra_volumes }}\""}],"source_content_type":"text/x-yaml","patch_set":19,"id":"e581238f_56926582","line":110,"range":{"start_line":110,"start_character":4,"end_line":110,"end_character":38},"in_reply_to":"4e97a67d_9873ef1d","updated":"2021-01-26 19:36:45.000000000","message":"seconded","commit_id":"36904743d2ea4d8f7282da107019ce018e27d5e6"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"20a234157f3235257ffe23591552aa49b08a1fd2","unresolved":false,"context_lines":[{"line_number":107,"context_line":"  - \"{{ \u0027/etc/timezone:/etc/timezone:ro\u0027 if ansible_os_family \u003d\u003d \u0027Debian\u0027 else \u0027\u0027 }}\""},{"line_number":108,"context_line":"  - \"/lib/modules:/lib/modules:ro\""},{"line_number":109,"context_line":"  - \"haproxy_socket:/var/lib/kolla/haproxy/\""},{"line_number":110,"context_line":"  - \"proxysql:/var/lib/kolla/proxysql/\""},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"haproxy_extra_volumes: \"{{ default_extra_volumes }}\""},{"line_number":113,"context_line":"proxysql_extra_volumes: \"{{ default_extra_volumes }}\""}],"source_content_type":"text/x-yaml","patch_set":19,"id":"4d95c6a1_56e2ff69","line":110,"range":{"start_line":110,"start_character":4,"end_line":110,"end_character":38},"in_reply_to":"e581238f_56926582","updated":"2022-01-31 12:46:54.000000000","message":"Done","commit_id":"36904743d2ea4d8f7282da107019ce018e27d5e6"},{"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":"e541a55aee3fa40aa0b7b66c19586e624aad7701","unresolved":true,"context_lines":[{"line_number":103,"context_line":"  - \"{{ \u0027/etc/timezone:/etc/timezone:ro\u0027 if ansible_facts.os_family \u003d\u003d \u0027Debian\u0027 else \u0027\u0027 }}\""},{"line_number":104,"context_line":"  - \"/lib/modules:/lib/modules:ro\""},{"line_number":105,"context_line":"  - \"{{ \u0027haproxy_socket:/var/lib/kolla/haproxy/\u0027 if enable_haproxy | bool else \u0027\u0027 }}\""},{"line_number":106,"context_line":"  - \"{{ \u0027proxysql:/var/lib/kolla/proxysql/\u0027 if enable_proxysql | bool else \u0027\u0027 }}\""},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"haproxy_extra_volumes: \"{{ default_extra_volumes }}\""},{"line_number":109,"context_line":"proxysql_extra_volumes: \"{{ default_extra_volumes }}\""}],"source_content_type":"text/x-yaml","patch_set":95,"id":"d87380f7_171c861c","line":106,"range":{"start_line":106,"start_character":19,"end_line":106,"end_character":32},"updated":"2022-07-01 19:50:41.000000000","message":"it\u0027s confusing it\u0027s mounted under /var/lib/kolla/proxysql in keepalived, yet just /var/lib/proxysql in proxysql - please use the same in both","commit_id":"0d207bbaed13053855e14f19600752361842fa03"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"facbbe44b744d153787ac04d58c5f516b343ee0c","unresolved":true,"context_lines":[{"line_number":103,"context_line":"  - \"{{ \u0027/etc/timezone:/etc/timezone:ro\u0027 if ansible_facts.os_family \u003d\u003d \u0027Debian\u0027 else \u0027\u0027 }}\""},{"line_number":104,"context_line":"  - \"/lib/modules:/lib/modules:ro\""},{"line_number":105,"context_line":"  - \"{{ \u0027haproxy_socket:/var/lib/kolla/haproxy/\u0027 if enable_haproxy | bool else \u0027\u0027 }}\""},{"line_number":106,"context_line":"  - \"{{ \u0027proxysql:/var/lib/kolla/proxysql/\u0027 if enable_proxysql | bool else \u0027\u0027 }}\""},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"haproxy_extra_volumes: \"{{ default_extra_volumes }}\""},{"line_number":109,"context_line":"proxysql_extra_volumes: \"{{ default_extra_volumes }}\""}],"source_content_type":"text/x-yaml","patch_set":95,"id":"6e0d69cb_b3969b95","line":106,"range":{"start_line":106,"start_character":19,"end_line":106,"end_character":32},"in_reply_to":"07844846_242ef174","updated":"2022-07-06 14:59:55.000000000","message":"Hmm, this path is little bit hardcoded in /usr/local/bin/.... in proxysql image, let\u0027s solve this on the end.","commit_id":"0d207bbaed13053855e14f19600752361842fa03"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"47d3024b4c492b5a2870621c8f5dcd4f9d4eb91d","unresolved":false,"context_lines":[{"line_number":103,"context_line":"  - \"{{ \u0027/etc/timezone:/etc/timezone:ro\u0027 if ansible_facts.os_family \u003d\u003d \u0027Debian\u0027 else \u0027\u0027 }}\""},{"line_number":104,"context_line":"  - \"/lib/modules:/lib/modules:ro\""},{"line_number":105,"context_line":"  - \"{{ \u0027haproxy_socket:/var/lib/kolla/haproxy/\u0027 if enable_haproxy | bool else \u0027\u0027 }}\""},{"line_number":106,"context_line":"  - \"{{ \u0027proxysql:/var/lib/kolla/proxysql/\u0027 if enable_proxysql | bool else \u0027\u0027 }}\""},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"haproxy_extra_volumes: \"{{ default_extra_volumes }}\""},{"line_number":109,"context_line":"proxysql_extra_volumes: \"{{ default_extra_volumes }}\""}],"source_content_type":"text/x-yaml","patch_set":95,"id":"6dfde9da_b246d4fa","line":106,"range":{"start_line":106,"start_character":19,"end_line":106,"end_character":32},"in_reply_to":"6e0d69cb_b3969b95","updated":"2022-07-21 14:29:20.000000000","message":"Ok\n\nI\u0027ve splitted proxysql volume to : \n\nproxysql volume - ProxySQL Certs, DBs - Stats, Config\nproxysql_socket - One which is mounted to keepalived to check availability\n\nNow depending on  https://review.opendev.org/c/openstack/kolla/+/850656","commit_id":"0d207bbaed13053855e14f19600752361842fa03"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"f037654bb5cfcb713fe91f131f373d44eb02f5fc","unresolved":true,"context_lines":[{"line_number":103,"context_line":"  - \"{{ \u0027/etc/timezone:/etc/timezone:ro\u0027 if ansible_facts.os_family \u003d\u003d \u0027Debian\u0027 else \u0027\u0027 }}\""},{"line_number":104,"context_line":"  - \"/lib/modules:/lib/modules:ro\""},{"line_number":105,"context_line":"  - \"{{ \u0027haproxy_socket:/var/lib/kolla/haproxy/\u0027 if enable_haproxy | bool else \u0027\u0027 }}\""},{"line_number":106,"context_line":"  - \"{{ \u0027proxysql:/var/lib/kolla/proxysql/\u0027 if enable_proxysql | bool else \u0027\u0027 }}\""},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"haproxy_extra_volumes: \"{{ default_extra_volumes }}\""},{"line_number":109,"context_line":"proxysql_extra_volumes: \"{{ default_extra_volumes }}\""}],"source_content_type":"text/x-yaml","patch_set":95,"id":"07844846_242ef174","line":106,"range":{"start_line":106,"start_character":19,"end_line":106,"end_character":32},"in_reply_to":"d87380f7_171c861c","updated":"2022-07-04 16:01:48.000000000","message":"ok, will rework","commit_id":"0d207bbaed13053855e14f19600752361842fa03"},{"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":"e541a55aee3fa40aa0b7b66c19586e624aad7701","unresolved":true,"context_lines":[{"line_number":111,"context_line":""},{"line_number":112,"context_line":"# Default proxysql values"},{"line_number":113,"context_line":"proxysql_workers: \"{{ openstack_service_workers }}\""},{"line_number":114,"context_line":"proxysql_max_connections: 40000"},{"line_number":115,"context_line":"proxysql_backend_max_connections: 10000"},{"line_number":116,"context_line":"proxysql_admin_user: \"kolla-admin\""},{"line_number":117,"context_line":"proxysql_stats_user: \"kolla-stats\""},{"line_number":118,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":95,"id":"4623aebc_09b4631b","line":115,"range":{"start_line":114,"start_character":0,"end_line":115,"end_character":39},"updated":"2022-07-01 19:50:41.000000000","message":"any guidance on these? why are they the defaults?","commit_id":"0d207bbaed13053855e14f19600752361842fa03"},{"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":"16acfd55b80facca1c4aa657447d9decbee20fa6","unresolved":true,"context_lines":[{"line_number":111,"context_line":""},{"line_number":112,"context_line":"# Default proxysql values"},{"line_number":113,"context_line":"proxysql_workers: \"{{ openstack_service_workers }}\""},{"line_number":114,"context_line":"proxysql_max_connections: 40000"},{"line_number":115,"context_line":"proxysql_backend_max_connections: 10000"},{"line_number":116,"context_line":"proxysql_admin_user: \"kolla-admin\""},{"line_number":117,"context_line":"proxysql_stats_user: \"kolla-stats\""},{"line_number":118,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":95,"id":"467f05cb_17ef140a","line":115,"range":{"start_line":114,"start_character":0,"end_line":115,"end_character":39},"in_reply_to":"44c6cc71_eafbb675","updated":"2022-07-05 08:40:46.000000000","message":"Please add this info as a comment (that 10000 refers to the hardcoded value and the other is just 4x the previous - we could actually just compute it with jinja2 - it would be clearer).","commit_id":"0d207bbaed13053855e14f19600752361842fa03"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"f037654bb5cfcb713fe91f131f373d44eb02f5fc","unresolved":true,"context_lines":[{"line_number":111,"context_line":""},{"line_number":112,"context_line":"# Default proxysql values"},{"line_number":113,"context_line":"proxysql_workers: \"{{ openstack_service_workers }}\""},{"line_number":114,"context_line":"proxysql_max_connections: 40000"},{"line_number":115,"context_line":"proxysql_backend_max_connections: 10000"},{"line_number":116,"context_line":"proxysql_admin_user: \"kolla-admin\""},{"line_number":117,"context_line":"proxysql_stats_user: \"kolla-stats\""},{"line_number":118,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":95,"id":"763ef40e_8135ba7b","line":115,"range":{"start_line":114,"start_character":0,"end_line":115,"end_character":39},"in_reply_to":"4623aebc_09b4631b","updated":"2022-07-04 16:01:48.000000000","message":"proxysql_backend_max_connections \u003e\u003e\n\nWell, your question is same as if I will ask you why mariadb has default max_connections \u003d 10000 [0].\n\nMoreover, mariadb has this hardcoded in it\u0027s template.\n\n\n[0] https://github.com/openstack/kolla-ansible/blob/3f8683ccccaa44b836b5a158efe7183a4c572610/ansible/roles/mariadb/templates/galera.cnf.j2#L45\n\nproxysql_max_connections \u003e\u003e\n\nThis is an hypotetical assumption that proxysql can be used with several mariadb shards/clusters which will have approx same load, so it\u0027s set to 40000 which means 4 * 10000.\n\n\n\nproxysql_max_connections  -\u003e   User -\u003e ProxySQL VIP\nproxysql_backend_max_connections -\u003e   ProxySQL - Mariadb backend","commit_id":"0d207bbaed13053855e14f19600752361842fa03"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"facbbe44b744d153787ac04d58c5f516b343ee0c","unresolved":false,"context_lines":[{"line_number":111,"context_line":""},{"line_number":112,"context_line":"# Default proxysql values"},{"line_number":113,"context_line":"proxysql_workers: \"{{ openstack_service_workers }}\""},{"line_number":114,"context_line":"proxysql_max_connections: 40000"},{"line_number":115,"context_line":"proxysql_backend_max_connections: 10000"},{"line_number":116,"context_line":"proxysql_admin_user: \"kolla-admin\""},{"line_number":117,"context_line":"proxysql_stats_user: \"kolla-stats\""},{"line_number":118,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":95,"id":"4cf31256_e568642c","line":115,"range":{"start_line":114,"start_character":0,"end_line":115,"end_character":39},"in_reply_to":"467f05cb_17ef140a","updated":"2022-07-06 14:59:55.000000000","message":"Done","commit_id":"0d207bbaed13053855e14f19600752361842fa03"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"a8d70762760fb90ec5422c2627ba5b500e545ded","unresolved":false,"context_lines":[{"line_number":111,"context_line":""},{"line_number":112,"context_line":"# Default proxysql values"},{"line_number":113,"context_line":"proxysql_workers: \"{{ openstack_service_workers }}\""},{"line_number":114,"context_line":"proxysql_max_connections: 40000"},{"line_number":115,"context_line":"proxysql_backend_max_connections: 10000"},{"line_number":116,"context_line":"proxysql_admin_user: \"kolla-admin\""},{"line_number":117,"context_line":"proxysql_stats_user: \"kolla-stats\""},{"line_number":118,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":95,"id":"44c6cc71_eafbb675","line":115,"range":{"start_line":114,"start_character":0,"end_line":115,"end_character":39},"in_reply_to":"609294e8_468fe830","updated":"2022-07-04 16:49:42.000000000","message":"Done","commit_id":"0d207bbaed13053855e14f19600752361842fa03"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"3f0ab1976767aede0b4140ae1a220a943493bb0c","unresolved":true,"context_lines":[{"line_number":111,"context_line":""},{"line_number":112,"context_line":"# Default proxysql values"},{"line_number":113,"context_line":"proxysql_workers: \"{{ openstack_service_workers }}\""},{"line_number":114,"context_line":"proxysql_max_connections: 40000"},{"line_number":115,"context_line":"proxysql_backend_max_connections: 10000"},{"line_number":116,"context_line":"proxysql_admin_user: \"kolla-admin\""},{"line_number":117,"context_line":"proxysql_stats_user: \"kolla-stats\""},{"line_number":118,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":95,"id":"609294e8_468fe830","line":115,"range":{"start_line":114,"start_character":0,"end_line":115,"end_character":39},"in_reply_to":"763ef40e_8135ba7b","updated":"2022-07-04 16:42:51.000000000","message":"And, it\u0027s also based on real deployment which we already have.\n\n( shard1 - neutron\n  shard2 - nova\n  shard3 - everything else\n)","commit_id":"0d207bbaed13053855e14f19600752361842fa03"}],"ansible/roles/loadbalancer/handlers/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":"2d577247db95a5a3d62d989ca99b4507d879a548","unresolved":true,"context_lines":[{"line_number":46,"context_line":"  listen:"},{"line_number":47,"context_line":"    - Restart keepalived container"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"- name: Restart backup haproxy container"},{"line_number":50,"context_line":"  vars:"},{"line_number":51,"context_line":"    service_name: \"haproxy\""},{"line_number":52,"context_line":"    service: \"{{ loadbalancer_services[service_name] }}\""}],"source_content_type":"text/x-yaml","patch_set":80,"id":"ebf97f51_51686747","side":"PARENT","line":49,"updated":"2022-04-21 15:51:22.000000000","message":"why do you split it into stop and start?","commit_id":"aabf295b9506619f805f0d2db6d5e8cc30bd512b"},{"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":"eda57f551b23d6a9ca1874f723e4d7d81e52e039","unresolved":true,"context_lines":[{"line_number":46,"context_line":"  listen:"},{"line_number":47,"context_line":"    - Restart keepalived container"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"- name: Restart backup haproxy container"},{"line_number":50,"context_line":"  vars:"},{"line_number":51,"context_line":"    service_name: \"haproxy\""},{"line_number":52,"context_line":"    service: \"{{ loadbalancer_services[service_name] }}\""}],"source_content_type":"text/x-yaml","patch_set":80,"id":"78e8dbf2_445f533a","side":"PARENT","line":49,"in_reply_to":"5d834288_eaba5538","updated":"2022-04-21 16:16:59.000000000","message":"I mean: split the restart into stop/start just for haproxy in this file, in a parent change.","commit_id":"aabf295b9506619f805f0d2db6d5e8cc30bd512b"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"0934198bb6a8f0cba9ecfa3c086c47907211ed64","unresolved":true,"context_lines":[{"line_number":46,"context_line":"  listen:"},{"line_number":47,"context_line":"    - Restart keepalived container"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"- name: Restart backup haproxy container"},{"line_number":50,"context_line":"  vars:"},{"line_number":51,"context_line":"    service_name: \"haproxy\""},{"line_number":52,"context_line":"    service: \"{{ loadbalancer_services[service_name] }}\""}],"source_content_type":"text/x-yaml","patch_set":80,"id":"e44ab7f6_8860dbd7","side":"PARENT","line":49,"in_reply_to":"78e8dbf2_445f533a","updated":"2022-04-21 16:20:27.000000000","message":"Aaa, maybe I understand : \n\n1. Current : \n\n* da91547e2 (HEAD -\u003e proxysql) [DNM] Trigger cells job (Michal Arbet, 8 minutes ago - 2022-04-21 18:10:45 +0200)\n* b9a95ce10 [CI] Test ProxySQL with shards in the nova cells scenario (Michal Arbet, 8 minutes ago - 2022-04-21 18:10:45 +0200)\n* 00bc23874 Edit services roles to support database sharding (Michal Arbet, 8 minutes ago - 2022-04-21 18:10:45 +0200)\n* 4e0d5cacb Add proxysql support for database (Michal Arbet, 8 minutes ago - 2022-04-21 18:10:44 +0200)\n\n\n2. What do you want : \n\n* da91547e2 (HEAD -\u003e proxysql) [DNM] Trigger cells job (Michal Arbet, 8 minutes ago - 2022-04-21 18:10:45 +0200)\n* b9a95ce10 [CI] Test ProxySQL with shards in the nova cells scenario (Michal Arbet, 8 minutes ago - 2022-04-21 18:10:45 +0200)\n* 00bc23874 Edit services roles to support database sharding (Michal Arbet, 8 minutes ago - 2022-04-21 18:10:45 +0200)\n* 4e0d5cacb Add proxysql support for database (Michal Arbet, 8 minutes ago - 2022-04-21 18:10:44 +0200)\n\n* HERE ADD One more commit which is spliting restart to stop start just for haproxy ...right ?","commit_id":"aabf295b9506619f805f0d2db6d5e8cc30bd512b"},{"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":"608f5c569ba7d3c474f48d45a5b6929d5d795524","unresolved":true,"context_lines":[{"line_number":46,"context_line":"  listen:"},{"line_number":47,"context_line":"    - Restart keepalived container"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"- name: Restart backup haproxy container"},{"line_number":50,"context_line":"  vars:"},{"line_number":51,"context_line":"    service_name: \"haproxy\""},{"line_number":52,"context_line":"    service: \"{{ loadbalancer_services[service_name] }}\""}],"source_content_type":"text/x-yaml","patch_set":80,"id":"af998113_8c43204c","side":"PARENT","line":49,"in_reply_to":"7928c323_140b887e","updated":"2022-04-21 16:07:42.000000000","message":"Thanks. Could you then please refactor the split for haproxy first? And then this change on top of it.","commit_id":"aabf295b9506619f805f0d2db6d5e8cc30bd512b"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"f76ee3dee2ef1ec0458bc66e0b3073e77aa4f2e1","unresolved":true,"context_lines":[{"line_number":46,"context_line":"  listen:"},{"line_number":47,"context_line":"    - Restart keepalived container"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"- name: Restart backup haproxy container"},{"line_number":50,"context_line":"  vars:"},{"line_number":51,"context_line":"    service_name: \"haproxy\""},{"line_number":52,"context_line":"    service: \"{{ loadbalancer_services[service_name] }}\""}],"source_content_type":"text/x-yaml","patch_set":80,"id":"5d834288_eaba5538","side":"PARENT","line":49,"in_reply_to":"af998113_8c43204c","updated":"2022-04-21 16:12:24.000000000","message":"I am not sure if i understand .. do you mean that snippet in loadbalancer.yml ?","commit_id":"aabf295b9506619f805f0d2db6d5e8cc30bd512b"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"f04debe4deb84bf2dd98bb5ce5e76061fb7991e5","unresolved":false,"context_lines":[{"line_number":46,"context_line":"  listen:"},{"line_number":47,"context_line":"    - Restart keepalived container"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"- name: Restart backup haproxy container"},{"line_number":50,"context_line":"  vars:"},{"line_number":51,"context_line":"    service_name: \"haproxy\""},{"line_number":52,"context_line":"    service: \"{{ loadbalancer_services[service_name] }}\""}],"source_content_type":"text/x-yaml","patch_set":80,"id":"8c9b5966_5955b276","side":"PARENT","line":49,"in_reply_to":"e2592503_364dce69","updated":"2022-04-21 16:59:32.000000000","message":"Done","commit_id":"aabf295b9506619f805f0d2db6d5e8cc30bd512b"},{"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":"2fb83ed13de613e39663b02208c7f36afd35f29e","unresolved":true,"context_lines":[{"line_number":46,"context_line":"  listen:"},{"line_number":47,"context_line":"    - Restart keepalived container"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"- name: Restart backup haproxy container"},{"line_number":50,"context_line":"  vars:"},{"line_number":51,"context_line":"    service_name: \"haproxy\""},{"line_number":52,"context_line":"    service: \"{{ loadbalancer_services[service_name] }}\""}],"source_content_type":"text/x-yaml","patch_set":80,"id":"e2592503_364dce69","side":"PARENT","line":49,"in_reply_to":"e44ab7f6_8860dbd7","updated":"2022-04-21 16:21:37.000000000","message":"yes","commit_id":"aabf295b9506619f805f0d2db6d5e8cc30bd512b"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"13c04eaf98d928d92163cf2f01add9e495275983","unresolved":true,"context_lines":[{"line_number":46,"context_line":"  listen:"},{"line_number":47,"context_line":"    - Restart keepalived container"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"- name: Restart backup haproxy container"},{"line_number":50,"context_line":"  vars:"},{"line_number":51,"context_line":"    service_name: \"haproxy\""},{"line_number":52,"context_line":"    service: \"{{ loadbalancer_services[service_name] }}\""}],"source_content_type":"text/x-yaml","patch_set":80,"id":"7928c323_140b887e","side":"PARENT","line":49,"in_reply_to":"ebf97f51_51686747","updated":"2022-04-21 16:02:08.000000000","message":"This has two reasons: \n\n1. While user is switching from haproxy to proxysql there is 3306 port running on haproxy while proxysql is starting on same port , so there is need to stop/start \n\n2. There can be very tiny time period while keepalived check doesn\u0027t notice that one service is restarted - especially proxysql is very fast ... So it is more safe regularly stop service and start \n\nThis approach can guarantee that keepalived will switch IP to another host and restart was not very fast.\nHope I remember correctly.","commit_id":"aabf295b9506619f805f0d2db6d5e8cc30bd512b"},{"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":"2d577247db95a5a3d62d989ca99b4507d879a548","unresolved":true,"context_lines":[{"line_number":52,"context_line":"  become: true"},{"line_number":53,"context_line":"  kolla_docker:"},{"line_number":54,"context_line":"    action: \"stop_container\""},{"line_number":55,"context_line":"    # NOTE(kevko): backup node might not have keepalived yet - ignore"},{"line_number":56,"context_line":"    ignore_missing: true"},{"line_number":57,"context_line":"    common_options: \"{{ docker_common_options }}\""},{"line_number":58,"context_line":"    name: \"haproxy\""}],"source_content_type":"text/x-yaml","patch_set":80,"id":"9947330c_567dd9e2","line":55,"range":{"start_line":55,"start_character":46,"end_line":55,"end_character":57},"updated":"2022-04-21 15:51:22.000000000","message":"haproxy","commit_id":"0137a6edbaab06fbd19250ffc7527355f76b7626"},{"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":"efdff4e9b299f3f7435e4363fc3ac3b70f3e1326","unresolved":false,"context_lines":[{"line_number":52,"context_line":"  become: true"},{"line_number":53,"context_line":"  kolla_docker:"},{"line_number":54,"context_line":"    action: \"stop_container\""},{"line_number":55,"context_line":"    # NOTE(kevko): backup node might not have keepalived yet - ignore"},{"line_number":56,"context_line":"    ignore_missing: true"},{"line_number":57,"context_line":"    common_options: \"{{ docker_common_options }}\""},{"line_number":58,"context_line":"    name: \"haproxy\""}],"source_content_type":"text/x-yaml","patch_set":80,"id":"270bd860_88bbd643","line":55,"range":{"start_line":55,"start_character":46,"end_line":55,"end_character":57},"in_reply_to":"9947330c_567dd9e2","updated":"2022-05-02 11:05:37.000000000","message":"Done","commit_id":"0137a6edbaab06fbd19250ffc7527355f76b7626"},{"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":"2d577247db95a5a3d62d989ca99b4507d879a548","unresolved":true,"context_lines":[{"line_number":69,"context_line":"  become: true"},{"line_number":70,"context_line":"  kolla_docker:"},{"line_number":71,"context_line":"    action: \"stop_container\""},{"line_number":72,"context_line":"    # NOTE(kevko): backup node might not have keepalived yet - ignore"},{"line_number":73,"context_line":"    ignore_missing: true"},{"line_number":74,"context_line":"    common_options: \"{{ docker_common_options }}\""},{"line_number":75,"context_line":"    name: \"proxysql\""}],"source_content_type":"text/x-yaml","patch_set":80,"id":"942c462f_8ee922c2","line":72,"range":{"start_line":72,"start_character":46,"end_line":72,"end_character":57},"updated":"2022-04-21 15:51:22.000000000","message":"proxysql","commit_id":"0137a6edbaab06fbd19250ffc7527355f76b7626"},{"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":"efdff4e9b299f3f7435e4363fc3ac3b70f3e1326","unresolved":false,"context_lines":[{"line_number":69,"context_line":"  become: true"},{"line_number":70,"context_line":"  kolla_docker:"},{"line_number":71,"context_line":"    action: \"stop_container\""},{"line_number":72,"context_line":"    # NOTE(kevko): backup node might not have keepalived yet - ignore"},{"line_number":73,"context_line":"    ignore_missing: true"},{"line_number":74,"context_line":"    common_options: \"{{ docker_common_options }}\""},{"line_number":75,"context_line":"    name: \"proxysql\""}],"source_content_type":"text/x-yaml","patch_set":80,"id":"f3e6ba8b_e4d828cf","line":72,"range":{"start_line":72,"start_character":46,"end_line":72,"end_character":57},"in_reply_to":"942c462f_8ee922c2","updated":"2022-05-02 11:05:37.000000000","message":"Done","commit_id":"0137a6edbaab06fbd19250ffc7527355f76b7626"},{"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":"963a8e62c4024c782fc368e5344b2b81bd1add45","unresolved":true,"context_lines":[{"line_number":139,"context_line":""},{"line_number":140,"context_line":"- name: Wait for backup proxysql to start"},{"line_number":141,"context_line":"  wait_for:"},{"line_number":142,"context_line":"    host: \"127.0.0.1\""},{"line_number":143,"context_line":"    port: \"{{ proxysql_admin_port }}\""},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"- name: Start backup keepalived container"}],"source_content_type":"text/x-yaml","patch_set":84,"id":"551c3055_da8dc2dc","line":142,"range":{"start_line":142,"start_character":11,"end_line":142,"end_character":20},"updated":"2022-05-02 11:07:26.000000000","message":"why not api address?","commit_id":"9cf3308e4891b81f6def109c247d680c0ccea420"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"7ac21f54f5fc1fe5cdd15c60bed0c0fd309dcb9f","unresolved":false,"context_lines":[{"line_number":139,"context_line":""},{"line_number":140,"context_line":"- name: Wait for backup proxysql to start"},{"line_number":141,"context_line":"  wait_for:"},{"line_number":142,"context_line":"    host: \"127.0.0.1\""},{"line_number":143,"context_line":"    port: \"{{ proxysql_admin_port }}\""},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"- name: Start backup keepalived container"}],"source_content_type":"text/x-yaml","patch_set":84,"id":"7b85b409_bb2f1911","line":142,"range":{"start_line":142,"start_character":11,"end_line":142,"end_character":20},"in_reply_to":"551c3055_da8dc2dc","updated":"2022-06-02 12:57:58.000000000","message":"Well, proxysql has two restricted users who can connect to proxysql internal DB, it\u0027s admin and stats.\n\nSo, i didn\u0027t want to change name of these users, so endpoint for Proxysql internal DB was 127.0.0.1. \n\nBut there is no need to preserve these names, I replaced admin and stats by one user, user \"kolla\" witch different password to admin and different to stats db.\n\nSo now it\u0027s fixed.\n\nExample: \n\n(proxysql)[root@controller0 /]# mysql -h 192.168.205.10 -u stats -p -P6032 stats\nERROR 1040 (42000): User \u0027stats\u0027 can only connect locally","commit_id":"9cf3308e4891b81f6def109c247d680c0ccea420"},{"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":"963a8e62c4024c782fc368e5344b2b81bd1add45","unresolved":true,"context_lines":[{"line_number":269,"context_line":""},{"line_number":270,"context_line":"- name: Wait for master proxysql to start"},{"line_number":271,"context_line":"  wait_for:"},{"line_number":272,"context_line":"    host: \"127.0.0.1\""},{"line_number":273,"context_line":"    port: \"{{ proxysql_admin_port }}\""},{"line_number":274,"context_line":""},{"line_number":275,"context_line":"- name: Start master keepalived container"}],"source_content_type":"text/x-yaml","patch_set":84,"id":"8a922560_42fb4284","line":272,"range":{"start_line":272,"start_character":11,"end_line":272,"end_character":20},"updated":"2022-05-02 11:07:26.000000000","message":"why not api address?","commit_id":"9cf3308e4891b81f6def109c247d680c0ccea420"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"7ac21f54f5fc1fe5cdd15c60bed0c0fd309dcb9f","unresolved":false,"context_lines":[{"line_number":269,"context_line":""},{"line_number":270,"context_line":"- name: Wait for master proxysql to start"},{"line_number":271,"context_line":"  wait_for:"},{"line_number":272,"context_line":"    host: \"127.0.0.1\""},{"line_number":273,"context_line":"    port: \"{{ proxysql_admin_port }}\""},{"line_number":274,"context_line":""},{"line_number":275,"context_line":"- name: Start master keepalived container"}],"source_content_type":"text/x-yaml","patch_set":84,"id":"1796bdcb_3b58c9e6","line":272,"range":{"start_line":272,"start_character":11,"end_line":272,"end_character":20},"in_reply_to":"1f6817a1_78898848","updated":"2022-06-02 12:57:58.000000000","message":"Done","commit_id":"9cf3308e4891b81f6def109c247d680c0ccea420"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"42f3a63b7c5a1370cfc3c41cfeda7e9d306a43f0","unresolved":true,"context_lines":[{"line_number":269,"context_line":""},{"line_number":270,"context_line":"- name: Wait for master proxysql to start"},{"line_number":271,"context_line":"  wait_for:"},{"line_number":272,"context_line":"    host: \"127.0.0.1\""},{"line_number":273,"context_line":"    port: \"{{ proxysql_admin_port }}\""},{"line_number":274,"context_line":""},{"line_number":275,"context_line":"- name: Start master keepalived container"}],"source_content_type":"text/x-yaml","patch_set":84,"id":"1f6817a1_78898848","line":272,"range":{"start_line":272,"start_character":11,"end_line":272,"end_character":20},"in_reply_to":"8a922560_42fb4284","updated":"2022-05-31 10:37:31.000000000","message":"If i remember correctly 127.0.1 is for read only (i will check)","commit_id":"9cf3308e4891b81f6def109c247d680c0ccea420"},{"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":"86c0ace7e1f6751ea94706e92ff580bcdbe3ecf0","unresolved":true,"context_lines":[{"line_number":184,"context_line":"    - groups.kolla_ha_is_master_True is defined"},{"line_number":185,"context_line":"    - inventory_hostname in groups.kolla_ha_is_master_True"},{"line_number":186,"context_line":"  listen:"},{"line_number":187,"context_line":"    - Restart keepalived container"},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"- name: Stop master proxysql container"},{"line_number":190,"context_line":"  become: true"}],"source_content_type":"text/x-yaml","patch_set":88,"id":"d1195aa5_89161ebe","line":187,"updated":"2022-05-31 09:32:26.000000000","message":"need to listen for proxysql restart (as it might conflict)","commit_id":"17c19d7dd4a3375528bde4b7502437272338aaed"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"8c03ef908e383b6c0485d5bb60b9d62ab1270f1e","unresolved":false,"context_lines":[{"line_number":184,"context_line":"    - groups.kolla_ha_is_master_True is defined"},{"line_number":185,"context_line":"    - inventory_hostname in groups.kolla_ha_is_master_True"},{"line_number":186,"context_line":"  listen:"},{"line_number":187,"context_line":"    - Restart keepalived container"},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"- name: Stop master proxysql container"},{"line_number":190,"context_line":"  become: true"}],"source_content_type":"text/x-yaml","patch_set":88,"id":"4d6ffe01_d8c68948","line":187,"in_reply_to":"6c6bdba8_05eda036","updated":"2022-05-31 12:51:44.000000000","message":"Done","commit_id":"17c19d7dd4a3375528bde4b7502437272338aaed"},{"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":"b8141b6f4433647d771877189d54a63646ca4829","unresolved":true,"context_lines":[{"line_number":184,"context_line":"    - groups.kolla_ha_is_master_True is defined"},{"line_number":185,"context_line":"    - inventory_hostname in groups.kolla_ha_is_master_True"},{"line_number":186,"context_line":"  listen:"},{"line_number":187,"context_line":"    - Restart keepalived container"},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"- name: Stop master proxysql container"},{"line_number":190,"context_line":"  become: true"}],"source_content_type":"text/x-yaml","patch_set":88,"id":"6c6bdba8_05eda036","line":187,"in_reply_to":"a8065353_feb0e28e","updated":"2022-05-31 10:40:06.000000000","message":"It does not need to listen on the service itself, but it has to cross-listen to, e.g., free the necessary ports.","commit_id":"17c19d7dd4a3375528bde4b7502437272338aaed"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"42f3a63b7c5a1370cfc3c41cfeda7e9d306a43f0","unresolved":true,"context_lines":[{"line_number":184,"context_line":"    - groups.kolla_ha_is_master_True is defined"},{"line_number":185,"context_line":"    - inventory_hostname in groups.kolla_ha_is_master_True"},{"line_number":186,"context_line":"  listen:"},{"line_number":187,"context_line":"    - Restart keepalived container"},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"- name: Stop master proxysql container"},{"line_number":190,"context_line":"  become: true"}],"source_content_type":"text/x-yaml","patch_set":88,"id":"a8065353_feb0e28e","line":187,"in_reply_to":"d1195aa5_89161ebe","updated":"2022-05-31 10:37:31.000000000","message":"Well, it\u0027s same task as we discussed on irc [1] and agreed that it shouldn\u0027t listen for haproxy,proxysql restarts.\n\n[1] https://review.opendev.org/c/openstack/kolla-ansible/+/838930/3..6","commit_id":"17c19d7dd4a3375528bde4b7502437272338aaed"},{"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":"86c0ace7e1f6751ea94706e92ff580bcdbe3ecf0","unresolved":true,"context_lines":[{"line_number":198,"context_line":"    - groups.kolla_ha_is_master_True is defined"},{"line_number":199,"context_line":"    - inventory_hostname in groups.kolla_ha_is_master_True"},{"line_number":200,"context_line":"  listen:"},{"line_number":201,"context_line":"    - Restart keepalived container"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"- name: Stop master keepalived container"},{"line_number":204,"context_line":"  become: true"}],"source_content_type":"text/x-yaml","patch_set":88,"id":"1f88adea_d6e9e115","line":201,"updated":"2022-05-31 09:32:26.000000000","message":"need to listen for haproxy restart (as it might conflict)","commit_id":"17c19d7dd4a3375528bde4b7502437272338aaed"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"42f3a63b7c5a1370cfc3c41cfeda7e9d306a43f0","unresolved":true,"context_lines":[{"line_number":198,"context_line":"    - groups.kolla_ha_is_master_True is defined"},{"line_number":199,"context_line":"    - inventory_hostname in groups.kolla_ha_is_master_True"},{"line_number":200,"context_line":"  listen:"},{"line_number":201,"context_line":"    - Restart keepalived container"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"- name: Stop master keepalived container"},{"line_number":204,"context_line":"  become: true"}],"source_content_type":"text/x-yaml","patch_set":88,"id":"6b84c8f4_d4e88ada","line":201,"in_reply_to":"1f88adea_d6e9e115","updated":"2022-05-31 10:37:31.000000000","message":"Same as above.","commit_id":"17c19d7dd4a3375528bde4b7502437272338aaed"},{"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":"b8141b6f4433647d771877189d54a63646ca4829","unresolved":true,"context_lines":[{"line_number":198,"context_line":"    - groups.kolla_ha_is_master_True is defined"},{"line_number":199,"context_line":"    - inventory_hostname in groups.kolla_ha_is_master_True"},{"line_number":200,"context_line":"  listen:"},{"line_number":201,"context_line":"    - Restart keepalived container"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"- name: Stop master keepalived container"},{"line_number":204,"context_line":"  become: true"}],"source_content_type":"text/x-yaml","patch_set":88,"id":"c6ee51a8_91dae7d8","line":201,"in_reply_to":"6b84c8f4_d4e88ada","updated":"2022-05-31 10:40:06.000000000","message":"ditto","commit_id":"17c19d7dd4a3375528bde4b7502437272338aaed"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"8c03ef908e383b6c0485d5bb60b9d62ab1270f1e","unresolved":false,"context_lines":[{"line_number":198,"context_line":"    - groups.kolla_ha_is_master_True is defined"},{"line_number":199,"context_line":"    - inventory_hostname in groups.kolla_ha_is_master_True"},{"line_number":200,"context_line":"  listen:"},{"line_number":201,"context_line":"    - Restart keepalived container"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"- name: Stop master keepalived container"},{"line_number":204,"context_line":"  become: true"}],"source_content_type":"text/x-yaml","patch_set":88,"id":"1eead00a_19ac914a","line":201,"in_reply_to":"c6ee51a8_91dae7d8","updated":"2022-05-31 12:51:44.000000000","message":"Done","commit_id":"17c19d7dd4a3375528bde4b7502437272338aaed"},{"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":"86c0ace7e1f6751ea94706e92ff580bcdbe3ecf0","unresolved":true,"context_lines":[{"line_number":297,"context_line":"  notify:"},{"line_number":298,"context_line":"    - Wait for virtual IP to appear"},{"line_number":299,"context_line":""},{"line_number":300,"context_line":"- name: Wait for virtual IP to appear"},{"line_number":301,"context_line":"  vars:"},{"line_number":302,"context_line":"    service_name: \"{{ item }}\""},{"line_number":303,"context_line":"    service: \"{{ loadbalancer_services[service_name] }}\""},{"line_number":304,"context_line":"  wait_for:"},{"line_number":305,"context_line":"    host: \"{{ service.vip }}\""},{"line_number":306,"context_line":"    port: \"{{ service.port }}\""},{"line_number":307,"context_line":"  with_items:"},{"line_number":308,"context_line":"    - haproxy"},{"line_number":309,"context_line":"    - proxysql"},{"line_number":310,"context_line":"  when:"},{"line_number":311,"context_line":"    - service.enabled | bool"}],"source_content_type":"text/x-yaml","patch_set":88,"id":"c8149f28_c57a7181","line":311,"range":{"start_line":300,"start_character":0,"end_line":311,"end_character":28},"updated":"2022-05-31 09:32:26.000000000","message":"I specifically don\u0027t want to introduce .vip and .port in here - let\u0027s have a separate task as for everything else.","commit_id":"17c19d7dd4a3375528bde4b7502437272338aaed"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"f1541b50567edc10a82c34fba524d160da6d476b","unresolved":false,"context_lines":[{"line_number":297,"context_line":"  notify:"},{"line_number":298,"context_line":"    - Wait for virtual IP to appear"},{"line_number":299,"context_line":""},{"line_number":300,"context_line":"- name: Wait for virtual IP to appear"},{"line_number":301,"context_line":"  vars:"},{"line_number":302,"context_line":"    service_name: \"{{ item }}\""},{"line_number":303,"context_line":"    service: \"{{ loadbalancer_services[service_name] }}\""},{"line_number":304,"context_line":"  wait_for:"},{"line_number":305,"context_line":"    host: \"{{ service.vip }}\""},{"line_number":306,"context_line":"    port: \"{{ service.port }}\""},{"line_number":307,"context_line":"  with_items:"},{"line_number":308,"context_line":"    - haproxy"},{"line_number":309,"context_line":"    - proxysql"},{"line_number":310,"context_line":"  when:"},{"line_number":311,"context_line":"    - service.enabled | bool"}],"source_content_type":"text/x-yaml","patch_set":88,"id":"494beef7_7b5dc720","line":311,"range":{"start_line":300,"start_character":0,"end_line":311,"end_character":28},"in_reply_to":"166bb6f7_003be0be","updated":"2022-06-02 12:53:04.000000000","message":"Done","commit_id":"17c19d7dd4a3375528bde4b7502437272338aaed"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"42f3a63b7c5a1370cfc3c41cfeda7e9d306a43f0","unresolved":true,"context_lines":[{"line_number":297,"context_line":"  notify:"},{"line_number":298,"context_line":"    - Wait for virtual IP to appear"},{"line_number":299,"context_line":""},{"line_number":300,"context_line":"- name: Wait for virtual IP to appear"},{"line_number":301,"context_line":"  vars:"},{"line_number":302,"context_line":"    service_name: \"{{ item }}\""},{"line_number":303,"context_line":"    service: \"{{ loadbalancer_services[service_name] }}\""},{"line_number":304,"context_line":"  wait_for:"},{"line_number":305,"context_line":"    host: \"{{ service.vip }}\""},{"line_number":306,"context_line":"    port: \"{{ service.port }}\""},{"line_number":307,"context_line":"  with_items:"},{"line_number":308,"context_line":"    - haproxy"},{"line_number":309,"context_line":"    - proxysql"},{"line_number":310,"context_line":"  when:"},{"line_number":311,"context_line":"    - service.enabled | bool"}],"source_content_type":"text/x-yaml","patch_set":88,"id":"166bb6f7_003be0be","line":311,"range":{"start_line":300,"start_character":0,"end_line":311,"end_character":28},"in_reply_to":"c8149f28_c57a7181","updated":"2022-05-31 10:37:31.000000000","message":"OK","commit_id":"17c19d7dd4a3375528bde4b7502437272338aaed"},{"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":"e541a55aee3fa40aa0b7b66c19586e624aad7701","unresolved":true,"context_lines":[{"line_number":65,"context_line":"    - inventory_hostname in groups.kolla_ha_is_master_False"},{"line_number":66,"context_line":"  listen:"},{"line_number":67,"context_line":"    - Restart haproxy container"},{"line_number":68,"context_line":"    - Restart proxysql container"},{"line_number":69,"context_line":"    - Restart keepalived container"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"- name: Stop backup proxysql container"}],"source_content_type":"text/x-yaml","patch_set":95,"id":"696f68c3_58ed981d","line":68,"range":{"start_line":68,"start_character":6,"end_line":68,"end_character":32},"updated":"2022-07-01 19:50:41.000000000","message":"we should not need it because check-containers should notice that haproxy had mariadb deconfigured and trigger \"Restart haproxy container\" - if it\u0027s not the case, then we have a bug to fix","commit_id":"0d207bbaed13053855e14f19600752361842fa03"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"e321fa6beea79d4182ecb24224965c7aabacce5e","unresolved":false,"context_lines":[{"line_number":65,"context_line":"    - inventory_hostname in groups.kolla_ha_is_master_False"},{"line_number":66,"context_line":"  listen:"},{"line_number":67,"context_line":"    - Restart haproxy container"},{"line_number":68,"context_line":"    - Restart proxysql container"},{"line_number":69,"context_line":"    - Restart keepalived container"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"- name: Stop backup proxysql container"}],"source_content_type":"text/x-yaml","patch_set":95,"id":"5f11e25a_06fa1a40","line":68,"range":{"start_line":68,"start_character":6,"end_line":68,"end_character":32},"in_reply_to":"696f68c3_58ed981d","updated":"2022-07-04 18:28:12.000000000","message":"Done","commit_id":"0d207bbaed13053855e14f19600752361842fa03"},{"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":"e541a55aee3fa40aa0b7b66c19586e624aad7701","unresolved":true,"context_lines":[{"line_number":81,"context_line":"    - groups.kolla_ha_is_master_False is defined"},{"line_number":82,"context_line":"    - inventory_hostname in groups.kolla_ha_is_master_False"},{"line_number":83,"context_line":"  listen:"},{"line_number":84,"context_line":"    - Restart haproxy container"},{"line_number":85,"context_line":"    - Restart proxysql container"},{"line_number":86,"context_line":"    - Restart keepalived container"},{"line_number":87,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":95,"id":"265c69a5_e7fc4390","line":84,"range":{"start_line":84,"start_character":6,"end_line":84,"end_character":31},"updated":"2022-07-01 19:50:41.000000000","message":"regarding the note above, that one is unlike this one; in here, we need it because there is nothing to trigger \"Restart proxysql container\" when proxysql is deconfigured, sadly; let\u0027s put a relevant comment here","commit_id":"0d207bbaed13053855e14f19600752361842fa03"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"e321fa6beea79d4182ecb24224965c7aabacce5e","unresolved":false,"context_lines":[{"line_number":81,"context_line":"    - groups.kolla_ha_is_master_False is defined"},{"line_number":82,"context_line":"    - inventory_hostname in groups.kolla_ha_is_master_False"},{"line_number":83,"context_line":"  listen:"},{"line_number":84,"context_line":"    - Restart haproxy container"},{"line_number":85,"context_line":"    - Restart proxysql container"},{"line_number":86,"context_line":"    - Restart keepalived container"},{"line_number":87,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":95,"id":"270701c2_8b93a537","line":84,"range":{"start_line":84,"start_character":6,"end_line":84,"end_character":31},"in_reply_to":"265c69a5_e7fc4390","updated":"2022-07-04 18:28:12.000000000","message":"Done","commit_id":"0d207bbaed13053855e14f19600752361842fa03"},{"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":"e541a55aee3fa40aa0b7b66c19586e624aad7701","unresolved":true,"context_lines":[{"line_number":106,"context_line":"    - service.enabled | bool"},{"line_number":107,"context_line":"  listen:"},{"line_number":108,"context_line":"    - Restart haproxy container"},{"line_number":109,"context_line":"    - Restart proxysql container"},{"line_number":110,"context_line":"    - Restart keepalived container"},{"line_number":111,"context_line":"  notify:"},{"line_number":112,"context_line":"    - Wait for backup haproxy to start"}],"source_content_type":"text/x-yaml","patch_set":95,"id":"33e4d227_1db37636","line":109,"updated":"2022-07-01 19:50:41.000000000","message":"ditto about not being needed","commit_id":"0d207bbaed13053855e14f19600752361842fa03"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"e321fa6beea79d4182ecb24224965c7aabacce5e","unresolved":false,"context_lines":[{"line_number":106,"context_line":"    - service.enabled | bool"},{"line_number":107,"context_line":"  listen:"},{"line_number":108,"context_line":"    - Restart haproxy container"},{"line_number":109,"context_line":"    - Restart proxysql container"},{"line_number":110,"context_line":"    - Restart keepalived container"},{"line_number":111,"context_line":"  notify:"},{"line_number":112,"context_line":"    - Wait for backup haproxy to start"}],"source_content_type":"text/x-yaml","patch_set":95,"id":"dc3807d0_bc2a5dfb","line":109,"in_reply_to":"33e4d227_1db37636","updated":"2022-07-04 18:28:12.000000000","message":"Done","commit_id":"0d207bbaed13053855e14f19600752361842fa03"},{"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":"e541a55aee3fa40aa0b7b66c19586e624aad7701","unresolved":true,"context_lines":[{"line_number":136,"context_line":"    - inventory_hostname in groups.kolla_ha_is_master_False"},{"line_number":137,"context_line":"    - service.enabled | bool"},{"line_number":138,"context_line":"  listen:"},{"line_number":139,"context_line":"    - Restart haproxy container"},{"line_number":140,"context_line":"    - Restart proxysql container"},{"line_number":141,"context_line":"    - Restart keepalived container"},{"line_number":142,"context_line":"  notify:"}],"source_content_type":"text/x-yaml","patch_set":95,"id":"24bc1d3e_15b15013","line":139,"updated":"2022-07-01 19:50:41.000000000","message":"ditto about being needed (comment)","commit_id":"0d207bbaed13053855e14f19600752361842fa03"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"e321fa6beea79d4182ecb24224965c7aabacce5e","unresolved":false,"context_lines":[{"line_number":136,"context_line":"    - inventory_hostname in groups.kolla_ha_is_master_False"},{"line_number":137,"context_line":"    - service.enabled | bool"},{"line_number":138,"context_line":"  listen:"},{"line_number":139,"context_line":"    - Restart haproxy container"},{"line_number":140,"context_line":"    - Restart proxysql container"},{"line_number":141,"context_line":"    - Restart keepalived container"},{"line_number":142,"context_line":"  notify:"}],"source_content_type":"text/x-yaml","patch_set":95,"id":"bf5d5e90_475b5650","line":139,"in_reply_to":"24bc1d3e_15b15013","updated":"2022-07-04 18:28:12.000000000","message":"Done","commit_id":"0d207bbaed13053855e14f19600752361842fa03"},{"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":"e541a55aee3fa40aa0b7b66c19586e624aad7701","unresolved":true,"context_lines":[{"line_number":186,"context_line":"    - inventory_hostname in groups.kolla_ha_is_master_True"},{"line_number":187,"context_line":"  listen:"},{"line_number":188,"context_line":"    - Restart haproxy container"},{"line_number":189,"context_line":"    - Restart proxysql container"},{"line_number":190,"context_line":"    - Restart keepalived container"},{"line_number":191,"context_line":""},{"line_number":192,"context_line":"- name: Stop master proxysql container"}],"source_content_type":"text/x-yaml","patch_set":95,"id":"d1fdc81d_83fb2143","line":189,"updated":"2022-07-01 19:50:41.000000000","message":"ditto not needed (but \"Restart haproxy container\" is needed)","commit_id":"0d207bbaed13053855e14f19600752361842fa03"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"e321fa6beea79d4182ecb24224965c7aabacce5e","unresolved":false,"context_lines":[{"line_number":186,"context_line":"    - inventory_hostname in groups.kolla_ha_is_master_True"},{"line_number":187,"context_line":"  listen:"},{"line_number":188,"context_line":"    - Restart haproxy container"},{"line_number":189,"context_line":"    - Restart proxysql container"},{"line_number":190,"context_line":"    - Restart keepalived container"},{"line_number":191,"context_line":""},{"line_number":192,"context_line":"- name: Stop master proxysql container"}],"source_content_type":"text/x-yaml","patch_set":95,"id":"63e7969c_01fdda80","line":189,"in_reply_to":"d1fdc81d_83fb2143","updated":"2022-07-04 18:28:12.000000000","message":"Done","commit_id":"0d207bbaed13053855e14f19600752361842fa03"},{"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":"e541a55aee3fa40aa0b7b66c19586e624aad7701","unresolved":true,"context_lines":[{"line_number":201,"context_line":"    - groups.kolla_ha_is_master_True is defined"},{"line_number":202,"context_line":"    - inventory_hostname in groups.kolla_ha_is_master_True"},{"line_number":203,"context_line":"  listen:"},{"line_number":204,"context_line":"    - Restart haproxy container"},{"line_number":205,"context_line":"    - Restart proxysql container"},{"line_number":206,"context_line":"    - Restart keepalived container"},{"line_number":207,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":95,"id":"2865c60a_c4753ef8","line":204,"updated":"2022-07-01 19:50:41.000000000","message":"not needed (proxysql will be triggered on check-containers)","commit_id":"0d207bbaed13053855e14f19600752361842fa03"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"e321fa6beea79d4182ecb24224965c7aabacce5e","unresolved":false,"context_lines":[{"line_number":201,"context_line":"    - groups.kolla_ha_is_master_True is defined"},{"line_number":202,"context_line":"    - inventory_hostname in groups.kolla_ha_is_master_True"},{"line_number":203,"context_line":"  listen:"},{"line_number":204,"context_line":"    - Restart haproxy container"},{"line_number":205,"context_line":"    - Restart proxysql container"},{"line_number":206,"context_line":"    - Restart keepalived container"},{"line_number":207,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":95,"id":"e4862790_c8167c03","line":204,"in_reply_to":"2865c60a_c4753ef8","updated":"2022-07-04 18:28:12.000000000","message":"Done","commit_id":"0d207bbaed13053855e14f19600752361842fa03"},{"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":"e541a55aee3fa40aa0b7b66c19586e624aad7701","unresolved":true,"context_lines":[{"line_number":239,"context_line":"    - service.enabled | bool"},{"line_number":240,"context_line":"  listen:"},{"line_number":241,"context_line":"    - Restart haproxy container"},{"line_number":242,"context_line":"    - Restart proxysql container"},{"line_number":243,"context_line":"    - Restart keepalived container"},{"line_number":244,"context_line":"  notify:"},{"line_number":245,"context_line":"    - Wait for master haproxy to start"}],"source_content_type":"text/x-yaml","patch_set":95,"id":"8177a500_bf210717","line":242,"updated":"2022-07-01 19:50:41.000000000","message":"ditto not needed","commit_id":"0d207bbaed13053855e14f19600752361842fa03"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"e321fa6beea79d4182ecb24224965c7aabacce5e","unresolved":false,"context_lines":[{"line_number":239,"context_line":"    - service.enabled | bool"},{"line_number":240,"context_line":"  listen:"},{"line_number":241,"context_line":"    - Restart haproxy container"},{"line_number":242,"context_line":"    - Restart proxysql container"},{"line_number":243,"context_line":"    - Restart keepalived container"},{"line_number":244,"context_line":"  notify:"},{"line_number":245,"context_line":"    - Wait for master haproxy to start"}],"source_content_type":"text/x-yaml","patch_set":95,"id":"458d29b6_a4beb8b4","line":242,"in_reply_to":"8177a500_bf210717","updated":"2022-07-04 18:28:12.000000000","message":"Done","commit_id":"0d207bbaed13053855e14f19600752361842fa03"},{"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":"e541a55aee3fa40aa0b7b66c19586e624aad7701","unresolved":true,"context_lines":[{"line_number":269,"context_line":"    - inventory_hostname in groups.kolla_ha_is_master_True"},{"line_number":270,"context_line":"    - service.enabled | bool"},{"line_number":271,"context_line":"  listen:"},{"line_number":272,"context_line":"    - Restart haproxy container"},{"line_number":273,"context_line":"    - Restart proxysql container"},{"line_number":274,"context_line":"    - Restart keepalived container"},{"line_number":275,"context_line":"  notify:"}],"source_content_type":"text/x-yaml","patch_set":95,"id":"8036e3b2_c2a37542","line":272,"updated":"2022-07-01 19:50:41.000000000","message":"not needed (proxysql will be triggered on check-containers)","commit_id":"0d207bbaed13053855e14f19600752361842fa03"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"e321fa6beea79d4182ecb24224965c7aabacce5e","unresolved":false,"context_lines":[{"line_number":269,"context_line":"    - inventory_hostname in groups.kolla_ha_is_master_True"},{"line_number":270,"context_line":"    - service.enabled | bool"},{"line_number":271,"context_line":"  listen:"},{"line_number":272,"context_line":"    - Restart haproxy container"},{"line_number":273,"context_line":"    - Restart proxysql container"},{"line_number":274,"context_line":"    - Restart keepalived container"},{"line_number":275,"context_line":"  notify:"}],"source_content_type":"text/x-yaml","patch_set":95,"id":"2cb6702d_ba9898f4","line":272,"in_reply_to":"8036e3b2_c2a37542","updated":"2022-07-04 18:28:12.000000000","message":"Done","commit_id":"0d207bbaed13053855e14f19600752361842fa03"},{"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":"e541a55aee3fa40aa0b7b66c19586e624aad7701","unresolved":true,"context_lines":[{"line_number":303,"context_line":"  notify:"},{"line_number":304,"context_line":"    - Wait for virtual IP to appear"},{"line_number":305,"context_line":""},{"line_number":306,"context_line":"- name: Wait for virtual IP to appear for haproxy"},{"line_number":307,"context_line":"  vars:"},{"line_number":308,"context_line":"    service_name: \"haproxy\""},{"line_number":309,"context_line":"    service: \"{{ loadbalancer_services[service_name] }}\""}],"source_content_type":"text/x-yaml","patch_set":95,"id":"92647105_21cacf91","line":306,"updated":"2022-07-01 19:50:41.000000000","message":"let\u0027s not change the name","commit_id":"0d207bbaed13053855e14f19600752361842fa03"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"3f0ab1976767aede0b4140ae1a220a943493bb0c","unresolved":false,"context_lines":[{"line_number":303,"context_line":"  notify:"},{"line_number":304,"context_line":"    - Wait for virtual IP to appear"},{"line_number":305,"context_line":""},{"line_number":306,"context_line":"- name: Wait for virtual IP to appear for haproxy"},{"line_number":307,"context_line":"  vars:"},{"line_number":308,"context_line":"    service_name: \"haproxy\""},{"line_number":309,"context_line":"    service: \"{{ loadbalancer_services[service_name] }}\""}],"source_content_type":"text/x-yaml","patch_set":95,"id":"6da1743c_30a8365a","line":306,"in_reply_to":"92647105_21cacf91","updated":"2022-07-04 16:42:51.000000000","message":"OK","commit_id":"0d207bbaed13053855e14f19600752361842fa03"},{"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":"e541a55aee3fa40aa0b7b66c19586e624aad7701","unresolved":true,"context_lines":[{"line_number":313,"context_line":"  listen:"},{"line_number":314,"context_line":"    - Wait for virtual IP to appear"},{"line_number":315,"context_line":"  when:"},{"line_number":316,"context_line":"    - service.enabled | bool"},{"line_number":317,"context_line":""},{"line_number":318,"context_line":"- name: Wait for virtual IP to appear for proxysql"},{"line_number":319,"context_line":"  vars:"}],"source_content_type":"text/x-yaml","patch_set":95,"id":"64f0b61e_a2750951","line":316,"updated":"2022-07-01 19:50:41.000000000","message":"let\u0027s not change the order","commit_id":"0d207bbaed13053855e14f19600752361842fa03"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"3f0ab1976767aede0b4140ae1a220a943493bb0c","unresolved":false,"context_lines":[{"line_number":313,"context_line":"  listen:"},{"line_number":314,"context_line":"    - Wait for virtual IP to appear"},{"line_number":315,"context_line":"  when:"},{"line_number":316,"context_line":"    - service.enabled | bool"},{"line_number":317,"context_line":""},{"line_number":318,"context_line":"- name: Wait for virtual IP to appear for proxysql"},{"line_number":319,"context_line":"  vars:"}],"source_content_type":"text/x-yaml","patch_set":95,"id":"b17ae65b_22543643","line":316,"in_reply_to":"64f0b61e_a2750951","updated":"2022-07-04 16:42:51.000000000","message":"OK","commit_id":"0d207bbaed13053855e14f19600752361842fa03"},{"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":"e541a55aee3fa40aa0b7b66c19586e624aad7701","unresolved":true,"context_lines":[{"line_number":315,"context_line":"  when:"},{"line_number":316,"context_line":"    - service.enabled | bool"},{"line_number":317,"context_line":""},{"line_number":318,"context_line":"- name: Wait for virtual IP to appear for proxysql"},{"line_number":319,"context_line":"  vars:"},{"line_number":320,"context_line":"    service_name: \"proxysql\""},{"line_number":321,"context_line":"    service: \"{{ loadbalancer_services[service_name] }}\""}],"source_content_type":"text/x-yaml","patch_set":95,"id":"dfefff3b_d43271c4","line":318,"updated":"2022-07-01 19:50:41.000000000","message":"after the 2 above, please fix the name and order for this one to follow haproxy","commit_id":"0d207bbaed13053855e14f19600752361842fa03"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"3f0ab1976767aede0b4140ae1a220a943493bb0c","unresolved":false,"context_lines":[{"line_number":315,"context_line":"  when:"},{"line_number":316,"context_line":"    - service.enabled | bool"},{"line_number":317,"context_line":""},{"line_number":318,"context_line":"- name: Wait for virtual IP to appear for proxysql"},{"line_number":319,"context_line":"  vars:"},{"line_number":320,"context_line":"    service_name: \"proxysql\""},{"line_number":321,"context_line":"    service: \"{{ loadbalancer_services[service_name] }}\""}],"source_content_type":"text/x-yaml","patch_set":95,"id":"18792304_781d9c6b","line":318,"in_reply_to":"dfefff3b_d43271c4","updated":"2022-07-04 16:42:51.000000000","message":"OK","commit_id":"0d207bbaed13053855e14f19600752361842fa03"}],"ansible/roles/loadbalancer/tasks/config.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":"e541a55aee3fa40aa0b7b66c19586e624aad7701","unresolved":true,"context_lines":[{"line_number":26,"context_line":"    - inventory_hostname in groups[service.group]"},{"line_number":27,"context_line":"    - service.enabled | bool"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"- name: Ensuring proxysql service config subdirectories exists"},{"line_number":30,"context_line":"  vars:"},{"line_number":31,"context_line":"    service: \"{{ loadbalancer_services[\u0027proxysql\u0027] }}\""},{"line_number":32,"context_line":"  file:"}],"source_content_type":"text/x-yaml","patch_set":95,"id":"aff366ea_46e90d1c","line":29,"range":{"start_line":29,"start_character":56,"end_line":29,"end_character":62},"updated":"2022-07-01 19:50:41.000000000","message":"nit: exist","commit_id":"0d207bbaed13053855e14f19600752361842fa03"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"3f0ab1976767aede0b4140ae1a220a943493bb0c","unresolved":false,"context_lines":[{"line_number":26,"context_line":"    - inventory_hostname in groups[service.group]"},{"line_number":27,"context_line":"    - service.enabled | bool"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"- name: Ensuring proxysql service config subdirectories exists"},{"line_number":30,"context_line":"  vars:"},{"line_number":31,"context_line":"    service: \"{{ loadbalancer_services[\u0027proxysql\u0027] }}\""},{"line_number":32,"context_line":"  file:"}],"source_content_type":"text/x-yaml","patch_set":95,"id":"7b20b490_f1b3651f","line":29,"range":{"start_line":29,"start_character":56,"end_line":29,"end_character":62},"in_reply_to":"aff366ea_46e90d1c","updated":"2022-07-04 16:42:51.000000000","message":"OK","commit_id":"0d207bbaed13053855e14f19600752361842fa03"},{"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":"e541a55aee3fa40aa0b7b66c19586e624aad7701","unresolved":true,"context_lines":[{"line_number":81,"context_line":"  with_dict: \"{{ loadbalancer_services }}\""},{"line_number":82,"context_line":"  when:"},{"line_number":83,"context_line":"    - inventory_hostname in groups[service.group]"},{"line_number":84,"context_line":"    - inventory_hostname in groups[item.value.group]"},{"line_number":85,"context_line":"    - item.key !\u003d \u0027keepalived\u0027"},{"line_number":86,"context_line":"    - not item.value.enabled | bool"},{"line_number":87,"context_line":"    - service.enabled | bool"}],"source_content_type":"text/x-yaml","patch_set":95,"id":"8debaf44_2b53cd68","line":84,"range":{"start_line":84,"start_character":6,"end_line":84,"end_character":52},"updated":"2022-07-01 19:50:41.000000000","message":"remove this","commit_id":"0d207bbaed13053855e14f19600752361842fa03"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"facbbe44b744d153787ac04d58c5f516b343ee0c","unresolved":false,"context_lines":[{"line_number":81,"context_line":"  with_dict: \"{{ loadbalancer_services }}\""},{"line_number":82,"context_line":"  when:"},{"line_number":83,"context_line":"    - inventory_hostname in groups[service.group]"},{"line_number":84,"context_line":"    - inventory_hostname in groups[item.value.group]"},{"line_number":85,"context_line":"    - item.key !\u003d \u0027keepalived\u0027"},{"line_number":86,"context_line":"    - not item.value.enabled | bool"},{"line_number":87,"context_line":"    - service.enabled | bool"}],"source_content_type":"text/x-yaml","patch_set":95,"id":"3fdba803_7cc74c27","line":84,"range":{"start_line":84,"start_character":6,"end_line":84,"end_character":52},"in_reply_to":"8debaf44_2b53cd68","updated":"2022-07-06 14:59:55.000000000","message":"Done","commit_id":"0d207bbaed13053855e14f19600752361842fa03"},{"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":"e541a55aee3fa40aa0b7b66c19586e624aad7701","unresolved":true,"context_lines":[{"line_number":83,"context_line":"    - inventory_hostname in groups[service.group]"},{"line_number":84,"context_line":"    - inventory_hostname in groups[item.value.group]"},{"line_number":85,"context_line":"    - item.key !\u003d \u0027keepalived\u0027"},{"line_number":86,"context_line":"    - not item.value.enabled | bool"},{"line_number":87,"context_line":"    - service.enabled | bool"},{"line_number":88,"context_line":"  notify:"},{"line_number":89,"context_line":"    - Restart keepalived container"}],"source_content_type":"text/x-yaml","patch_set":95,"id":"72762040_aa53b14f","line":86,"updated":"2022-07-01 19:50:41.000000000","message":"or not inventory_hostname in groups[item.value.group]","commit_id":"0d207bbaed13053855e14f19600752361842fa03"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"47d3024b4c492b5a2870621c8f5dcd4f9d4eb91d","unresolved":false,"context_lines":[{"line_number":83,"context_line":"    - inventory_hostname in groups[service.group]"},{"line_number":84,"context_line":"    - inventory_hostname in groups[item.value.group]"},{"line_number":85,"context_line":"    - item.key !\u003d \u0027keepalived\u0027"},{"line_number":86,"context_line":"    - not item.value.enabled | bool"},{"line_number":87,"context_line":"    - service.enabled | bool"},{"line_number":88,"context_line":"  notify:"},{"line_number":89,"context_line":"    - Restart keepalived container"}],"source_content_type":"text/x-yaml","patch_set":95,"id":"29e1004d_2fc7ab2b","line":86,"in_reply_to":"586136d1_7e1a2929","updated":"2022-07-21 14:29:20.000000000","message":"Done","commit_id":"0d207bbaed13053855e14f19600752361842fa03"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"facbbe44b744d153787ac04d58c5f516b343ee0c","unresolved":false,"context_lines":[{"line_number":83,"context_line":"    - inventory_hostname in groups[service.group]"},{"line_number":84,"context_line":"    - inventory_hostname in groups[item.value.group]"},{"line_number":85,"context_line":"    - item.key !\u003d \u0027keepalived\u0027"},{"line_number":86,"context_line":"    - not item.value.enabled | bool"},{"line_number":87,"context_line":"    - service.enabled | bool"},{"line_number":88,"context_line":"  notify:"},{"line_number":89,"context_line":"    - Restart keepalived container"}],"source_content_type":"text/x-yaml","patch_set":95,"id":"c5c01735_43f3a0ef","line":86,"in_reply_to":"72762040_aa53b14f","updated":"2022-07-06 14:59:55.000000000","message":"I think this is not needed...","commit_id":"0d207bbaed13053855e14f19600752361842fa03"},{"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":"e972e389aaa8b41b653f0ee647c07d9c4412e227","unresolved":true,"context_lines":[{"line_number":83,"context_line":"    - inventory_hostname in groups[service.group]"},{"line_number":84,"context_line":"    - inventory_hostname in groups[item.value.group]"},{"line_number":85,"context_line":"    - item.key !\u003d \u0027keepalived\u0027"},{"line_number":86,"context_line":"    - not item.value.enabled | bool"},{"line_number":87,"context_line":"    - service.enabled | bool"},{"line_number":88,"context_line":"  notify:"},{"line_number":89,"context_line":"    - Restart keepalived container"}],"source_content_type":"text/x-yaml","patch_set":95,"id":"586136d1_7e1a2929","line":86,"in_reply_to":"c5c01735_43f3a0ef","updated":"2022-07-09 14:32:58.000000000","message":"Well, it allows for cleanup.","commit_id":"0d207bbaed13053855e14f19600752361842fa03"}],"ansible/roles/loadbalancer/tasks/precheck.yml":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"b63a184c40f44de7912d8bbf1ad2f85df09f4875","unresolved":true,"context_lines":[{"line_number":516,"context_line":"    - enable_mariadb | bool"},{"line_number":517,"context_line":"    - inventory_hostname in groups[\u0027loadbalancer\u0027]"},{"line_number":518,"context_line":"    - haproxy_stat.find(\u0027mariadb\u0027) \u003d\u003d -1"},{"line_number":519,"context_line":"    - haproxy_vip_prechecks or proxysql_vip_prechecks"},{"line_number":520,"context_line":""},{"line_number":521,"context_line":"- name: Checking free port for Masakari API HAProxy"},{"line_number":522,"context_line":"  wait_for:"}],"source_content_type":"text/x-yaml","patch_set":117,"id":"0d0ea052_6d8208b1","line":519,"range":{"start_line":519,"start_character":31,"end_line":519,"end_character":53},"updated":"2022-08-01 09:48:10.000000000","message":"Won\u0027t this be true when proxysql is disabled?","commit_id":"de973b81fae3f74bc624f22166f8d2ec9a4a5e38"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"7b3ccc877f3c7259d0f84bb7aacaf6a09ccc1906","unresolved":false,"context_lines":[{"line_number":516,"context_line":"    - enable_mariadb | bool"},{"line_number":517,"context_line":"    - inventory_hostname in groups[\u0027loadbalancer\u0027]"},{"line_number":518,"context_line":"    - haproxy_stat.find(\u0027mariadb\u0027) \u003d\u003d -1"},{"line_number":519,"context_line":"    - haproxy_vip_prechecks or proxysql_vip_prechecks"},{"line_number":520,"context_line":""},{"line_number":521,"context_line":"- name: Checking free port for Masakari API HAProxy"},{"line_number":522,"context_line":"  wait_for:"}],"source_content_type":"text/x-yaml","patch_set":117,"id":"7ab21b16_209fc57b","line":519,"range":{"start_line":519,"start_character":31,"end_line":519,"end_character":53},"in_reply_to":"0d0ea052_6d8208b1","updated":"2022-08-01 16:19:48.000000000","message":"Hmm, yeah it will - but from my perspective of view it is OK.\n\nFrom my understanding it just means that check should be executed because proxysql not running and port needs to be check   *BUT* ansible will not reach this line because line before haproxy_stat.find(\u0027mariadb\u0027) \u003d\u003d -1 will find mariadb configured in haproxy_stat which means haproxy already running and mariadb proxied through it.\n\nSo conditional befoe this line will solve everything.","commit_id":"de973b81fae3f74bc624f22166f8d2ec9a4a5e38"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"d112f663d548ad247fc58af98dd0547cbf020736","unresolved":true,"context_lines":[{"line_number":516,"context_line":"    - enable_mariadb | bool"},{"line_number":517,"context_line":"    - inventory_hostname in groups[\u0027loadbalancer\u0027]"},{"line_number":518,"context_line":"    - haproxy_stat.find(\u0027mariadb\u0027) \u003d\u003d -1"},{"line_number":519,"context_line":"    - haproxy_vip_prechecks or proxysql_vip_prechecks"},{"line_number":520,"context_line":""},{"line_number":521,"context_line":"- name: Checking free port for Masakari API HAProxy"},{"line_number":522,"context_line":"  wait_for:"}],"source_content_type":"text/x-yaml","patch_set":117,"id":"a7e0d268_aa136c94","line":519,"range":{"start_line":519,"start_character":31,"end_line":519,"end_character":53},"in_reply_to":"7ab21b16_209fc57b","updated":"2022-08-02 09:08:09.000000000","message":"Ok, that does help. There is a case where it could fail though. HAProxy is not running, but proxysql is running. Unusual but not impossible.\n\nHow about:\n\n  - haproxy_vip_prechecks\n  - not enable_proxysql | bool or proxysql_vip_prechecks","commit_id":"de973b81fae3f74bc624f22166f8d2ec9a4a5e38"}],"ansible/roles/loadbalancer/templates/keepalived/keepalived.conf.j2":[{"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":"e541a55aee3fa40aa0b7b66c19586e624aad7701","unresolved":true,"context_lines":[{"line_number":1,"context_line":""},{"line_number":2,"context_line":"vrrp_script check_alive {"},{"line_number":3,"context_line":"    script \"/check_alive.sh\""},{"line_number":4,"context_line":"    interval 2"}],"source_content_type":"text/x-jinja2","patch_set":95,"id":"5aff3e6a_6556c5bc","line":1,"updated":"2022-07-01 19:50:41.000000000","message":"empty line","commit_id":"0d207bbaed13053855e14f19600752361842fa03"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"3f0ab1976767aede0b4140ae1a220a943493bb0c","unresolved":false,"context_lines":[{"line_number":1,"context_line":""},{"line_number":2,"context_line":"vrrp_script check_alive {"},{"line_number":3,"context_line":"    script \"/check_alive.sh\""},{"line_number":4,"context_line":"    interval 2"}],"source_content_type":"text/x-jinja2","patch_set":95,"id":"a41e196d_37dd84ff","line":1,"in_reply_to":"5aff3e6a_6556c5bc","updated":"2022-07-04 16:42:51.000000000","message":"Done","commit_id":"0d207bbaed13053855e14f19600752361842fa03"}],"ansible/roles/loadbalancer/templates/proxysql/proxysql.json.j2":[{"author":{"_account_id":32398,"name":"Gaël THEROND","display_name":"Fl1nt","email":"gael.therond@bitswalk.com","username":"Fl1nt"},"change_message_id":"e22a5c2c662b9b8e63c1656f7ff3588065e91fec","unresolved":true,"context_lines":[{"line_number":1,"context_line":"{"},{"line_number":2,"context_line":"    \"command\": \"kolla_proxysql_start\","},{"line_number":3,"context_line":"    \"config_files\": ["},{"line_number":4,"context_line":"        {"},{"line_number":5,"context_line":"            \"source\": \"{{ container_config_directory }}/proxysql.yaml\","}],"source_content_type":"text/x-jinja2","patch_set":93,"id":"de120e17_65d07cfb","line":2,"updated":"2022-06-13 10:29:43.000000000","message":"I think we should avoid having to rely on a script rather than a plain command as it help a lot of operators to be able to quickly edit the command file and just restart the container to test/debug things quickly when your prod environment hit a wall. (MySQL new_wsrep_cluster operation is a good exemple).","commit_id":"842637a29b06f06acfd7d15055bc17b150c36e6b"},{"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":"f3229a57dfe95c2e2f804fac03ee750d402947fc","unresolved":false,"context_lines":[{"line_number":1,"context_line":"{"},{"line_number":2,"context_line":"    \"command\": \"kolla_proxysql_start\","},{"line_number":3,"context_line":"    \"config_files\": ["},{"line_number":4,"context_line":"        {"},{"line_number":5,"context_line":"            \"source\": \"{{ container_config_directory }}/proxysql.yaml\","}],"source_content_type":"text/x-jinja2","patch_set":93,"id":"d6759927_111510a7","line":2,"in_reply_to":"99071ef3_484a5621","updated":"2022-07-09 14:33:26.000000000","message":"(resolving)","commit_id":"842637a29b06f06acfd7d15055bc17b150c36e6b"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"9633cafe16b402b9118af90232308ee329013b45","unresolved":true,"context_lines":[{"line_number":1,"context_line":"{"},{"line_number":2,"context_line":"    \"command\": \"kolla_proxysql_start\","},{"line_number":3,"context_line":"    \"config_files\": ["},{"line_number":4,"context_line":"        {"},{"line_number":5,"context_line":"            \"source\": \"{{ container_config_directory }}/proxysql.yaml\","}],"source_content_type":"text/x-jinja2","patch_set":93,"id":"99071ef3_484a5621","line":2,"in_reply_to":"de120e17_65d07cfb","updated":"2022-06-13 10:41:50.000000000","message":"understand, script has below code inside : \n\n#!/bin/bash\n\nPROXYSQL_LOG_FILE\u003d\"/var/log/kolla/proxysql/proxysql.log\"\n\nproxysql \\\n    --exit-on-error \\\n    --idle-threads \\\n    --no-version-check \\\n    -f -D /var/lib/proxysql -c /etc/proxysql.cnf \u003e\u003e ${PROXYSQL_LOG_FILE} 2\u003e\u00261\n\n\nI didn\u0027t want to include this long command inside config.json. And I also followed haproxy - as haproxy has it implemented in same way.\n\n\nroot@controller0:/home/ubuntu# cat /etc/kolla/haproxy/config.json \n{\n    \"command\": \"/etc/haproxy/haproxy_run.sh\",\n    \"config_files\": [\n\n\n\n\n(haproxy)[root@controller0 /]# cat /etc/haproxy/haproxy_run.sh\n#!/bin/bash -x\n\n# We need to run haproxy with one `-f` for each service, because including an\n# entire config directory was not a feature until version 1.7 of HAProxy.\n# So, append \"-f $cfg\" to the haproxy command for each service file.\n# This will run haproxy_cmd *exactly once*.\nfind /etc/haproxy/services.d/ -mindepth 1 -print0 | \\\n    xargs -0 -Icfg echo -f cfg | \\\n    xargs /usr/sbin/haproxy -W -db -p /run/haproxy.pid -f /etc/haproxy/haproxy.cfg","commit_id":"842637a29b06f06acfd7d15055bc17b150c36e6b"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"b63a184c40f44de7912d8bbf1ad2f85df09f4875","unresolved":true,"context_lines":[{"line_number":17,"context_line":"            \"source\": \"{{ container_config_directory }}/users/\","},{"line_number":18,"context_line":"            \"dest\": \"/etc/proxysql/users\","},{"line_number":19,"context_line":"            \"owner\": \"proxysql\","},{"line_number":20,"context_line":"            \"perm\": \"0700\""},{"line_number":21,"context_line":"        },"},{"line_number":22,"context_line":"        {"},{"line_number":23,"context_line":"            \"source\": \"{{ container_config_directory }}/rules/\","}],"source_content_type":"text/x-jinja2","patch_set":117,"id":"108895c9_a6cc16f0","line":20,"range":{"start_line":20,"start_character":21,"end_line":20,"end_character":25},"updated":"2022-08-01 09:48:10.000000000","message":"I think this will make the files executable. If you use 0600 kolla will add the executable bit to the dirs.","commit_id":"de973b81fae3f74bc624f22166f8d2ec9a4a5e38"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"7b3ccc877f3c7259d0f84bb7aacaf6a09ccc1906","unresolved":true,"context_lines":[{"line_number":17,"context_line":"            \"source\": \"{{ container_config_directory }}/users/\","},{"line_number":18,"context_line":"            \"dest\": \"/etc/proxysql/users\","},{"line_number":19,"context_line":"            \"owner\": \"proxysql\","},{"line_number":20,"context_line":"            \"perm\": \"0700\""},{"line_number":21,"context_line":"        },"},{"line_number":22,"context_line":"        {"},{"line_number":23,"context_line":"            \"source\": \"{{ container_config_directory }}/rules/\","}],"source_content_type":"text/x-jinja2","patch_set":117,"id":"dcd672b0_5ea22331","line":20,"range":{"start_line":20,"start_character":21,"end_line":20,"end_character":25},"in_reply_to":"108895c9_a6cc16f0","updated":"2022-08-01 16:19:48.000000000","message":"Will add note for follow-up patches.","commit_id":"de973b81fae3f74bc624f22166f8d2ec9a4a5e38"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"d112f663d548ad247fc58af98dd0547cbf020736","unresolved":false,"context_lines":[{"line_number":17,"context_line":"            \"source\": \"{{ container_config_directory }}/users/\","},{"line_number":18,"context_line":"            \"dest\": \"/etc/proxysql/users\","},{"line_number":19,"context_line":"            \"owner\": \"proxysql\","},{"line_number":20,"context_line":"            \"perm\": \"0700\""},{"line_number":21,"context_line":"        },"},{"line_number":22,"context_line":"        {"},{"line_number":23,"context_line":"            \"source\": \"{{ container_config_directory }}/rules/\","}],"source_content_type":"text/x-jinja2","patch_set":117,"id":"9e4885cd_5d0ef5f2","line":20,"range":{"start_line":20,"start_character":21,"end_line":20,"end_character":25},"in_reply_to":"dcd672b0_5ea22331","updated":"2022-08-02 09:08:09.000000000","message":"Ack","commit_id":"de973b81fae3f74bc624f22166f8d2ec9a4a5e38"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"b63a184c40f44de7912d8bbf1ad2f85df09f4875","unresolved":true,"context_lines":[{"line_number":23,"context_line":"            \"source\": \"{{ container_config_directory }}/rules/\","},{"line_number":24,"context_line":"            \"dest\": \"/etc/proxysql/rules\","},{"line_number":25,"context_line":"            \"owner\": \"proxysql\","},{"line_number":26,"context_line":"            \"perm\": \"0700\""},{"line_number":27,"context_line":"        }"},{"line_number":28,"context_line":"    ]"},{"line_number":29,"context_line":"}"}],"source_content_type":"text/x-jinja2","patch_set":117,"id":"93432f78_23fa0f15","line":26,"range":{"start_line":26,"start_character":21,"end_line":26,"end_character":25},"updated":"2022-08-01 09:48:10.000000000","message":"ditto","commit_id":"de973b81fae3f74bc624f22166f8d2ec9a4a5e38"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"7b3ccc877f3c7259d0f84bb7aacaf6a09ccc1906","unresolved":true,"context_lines":[{"line_number":23,"context_line":"            \"source\": \"{{ container_config_directory }}/rules/\","},{"line_number":24,"context_line":"            \"dest\": \"/etc/proxysql/rules\","},{"line_number":25,"context_line":"            \"owner\": \"proxysql\","},{"line_number":26,"context_line":"            \"perm\": \"0700\""},{"line_number":27,"context_line":"        }"},{"line_number":28,"context_line":"    ]"},{"line_number":29,"context_line":"}"}],"source_content_type":"text/x-jinja2","patch_set":117,"id":"e02f1d1e_6e61b984","line":26,"range":{"start_line":26,"start_character":21,"end_line":26,"end_character":25},"in_reply_to":"93432f78_23fa0f15","updated":"2022-08-01 16:19:48.000000000","message":"ditto","commit_id":"de973b81fae3f74bc624f22166f8d2ec9a4a5e38"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"d112f663d548ad247fc58af98dd0547cbf020736","unresolved":false,"context_lines":[{"line_number":23,"context_line":"            \"source\": \"{{ container_config_directory }}/rules/\","},{"line_number":24,"context_line":"            \"dest\": \"/etc/proxysql/rules\","},{"line_number":25,"context_line":"            \"owner\": \"proxysql\","},{"line_number":26,"context_line":"            \"perm\": \"0700\""},{"line_number":27,"context_line":"        }"},{"line_number":28,"context_line":"    ]"},{"line_number":29,"context_line":"}"}],"source_content_type":"text/x-jinja2","patch_set":117,"id":"9e8429a9_5520ab8f","line":26,"range":{"start_line":26,"start_character":21,"end_line":26,"end_character":25},"in_reply_to":"e02f1d1e_6e61b984","updated":"2022-08-02 09:08:09.000000000","message":"Ack","commit_id":"de973b81fae3f74bc624f22166f8d2ec9a4a5e38"}],"ansible/roles/loadbalancer/templates/proxysql/proxysql.yaml.j2":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"32357e29d46f9442b36533a7a3728c3b5eb331cf","unresolved":true,"context_lines":[{"line_number":16,"context_line":"mysql_servers:"},{"line_number":17,"context_line":"{% for shard, hosts in mariadb_backends_info|groupby(\"shard\") %}"},{"line_number":18,"context_line":"{% set WRITER_GROUP \u003d shard | int * 10 %}"},{"line_number":19,"context_line":"{% set BACKUP_WRITER_GROUP \u003d WRITER_GROUP | int + 1 %}"},{"line_number":20,"context_line":"{% set READER_GROUP \u003d BACKUP_WRITER_GROUP | int + 1 %}"},{"line_number":21,"context_line":"{% set OFFLINE_GROUP \u003d READER_GROUP | int + 1 %}"},{"line_number":22,"context_line":"{% for host in hosts %}"},{"line_number":23,"context_line":"{% if loop.first %}"},{"line_number":24,"context_line":"{% set WEIGHT \u003d 100 %}"}],"source_content_type":"text/x-jinja2","patch_set":19,"id":"82527604_8d9704bd","line":21,"range":{"start_line":19,"start_character":0,"end_line":21,"end_character":48},"updated":"2021-01-26 12:01:05.000000000","message":"Not used","commit_id":"36904743d2ea4d8f7282da107019ce018e27d5e6"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"20a234157f3235257ffe23591552aa49b08a1fd2","unresolved":true,"context_lines":[{"line_number":16,"context_line":"mysql_servers:"},{"line_number":17,"context_line":"{% for shard, hosts in mariadb_backends_info|groupby(\"shard\") %}"},{"line_number":18,"context_line":"{% set WRITER_GROUP \u003d shard | int * 10 %}"},{"line_number":19,"context_line":"{% set BACKUP_WRITER_GROUP \u003d WRITER_GROUP | int + 1 %}"},{"line_number":20,"context_line":"{% set READER_GROUP \u003d BACKUP_WRITER_GROUP | int + 1 %}"},{"line_number":21,"context_line":"{% set OFFLINE_GROUP \u003d READER_GROUP | int + 1 %}"},{"line_number":22,"context_line":"{% for host in hosts %}"},{"line_number":23,"context_line":"{% if loop.first %}"},{"line_number":24,"context_line":"{% set WEIGHT \u003d 100 %}"}],"source_content_type":"text/x-jinja2","patch_set":19,"id":"eaaa2b10_d4ac3185","line":21,"range":{"start_line":19,"start_character":0,"end_line":21,"end_character":48},"in_reply_to":"1e5b47f8_28d134dd","updated":"2022-01-31 12:46:54.000000000","message":"I will check, probably you are right.","commit_id":"36904743d2ea4d8f7282da107019ce018e27d5e6"},{"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":"d2f97b217cf1b098000cb1b8da68f02ce6de4c0d","unresolved":true,"context_lines":[{"line_number":16,"context_line":"mysql_servers:"},{"line_number":17,"context_line":"{% for shard, hosts in mariadb_backends_info|groupby(\"shard\") %}"},{"line_number":18,"context_line":"{% set WRITER_GROUP \u003d shard | int * 10 %}"},{"line_number":19,"context_line":"{% set BACKUP_WRITER_GROUP \u003d WRITER_GROUP | int + 1 %}"},{"line_number":20,"context_line":"{% set READER_GROUP \u003d BACKUP_WRITER_GROUP | int + 1 %}"},{"line_number":21,"context_line":"{% set OFFLINE_GROUP \u003d READER_GROUP | int + 1 %}"},{"line_number":22,"context_line":"{% for host in hosts %}"},{"line_number":23,"context_line":"{% if loop.first %}"},{"line_number":24,"context_line":"{% set WEIGHT \u003d 100 %}"}],"source_content_type":"text/x-jinja2","patch_set":19,"id":"1e5b47f8_28d134dd","line":21,"range":{"start_line":19,"start_character":0,"end_line":21,"end_character":48},"in_reply_to":"82527604_8d9704bd","updated":"2021-01-26 19:36:45.000000000","message":"seconded","commit_id":"36904743d2ea4d8f7282da107019ce018e27d5e6"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"e530f8984d21ac89eb656e514de83502c69a59ff","unresolved":false,"context_lines":[{"line_number":16,"context_line":"mysql_servers:"},{"line_number":17,"context_line":"{% for shard, hosts in mariadb_backends_info|groupby(\"shard\") %}"},{"line_number":18,"context_line":"{% set WRITER_GROUP \u003d shard | int * 10 %}"},{"line_number":19,"context_line":"{% set BACKUP_WRITER_GROUP \u003d WRITER_GROUP | int + 1 %}"},{"line_number":20,"context_line":"{% set READER_GROUP \u003d BACKUP_WRITER_GROUP | int + 1 %}"},{"line_number":21,"context_line":"{% set OFFLINE_GROUP \u003d READER_GROUP | int + 1 %}"},{"line_number":22,"context_line":"{% for host in hosts %}"},{"line_number":23,"context_line":"{% if loop.first %}"},{"line_number":24,"context_line":"{% set WEIGHT \u003d 100 %}"}],"source_content_type":"text/x-jinja2","patch_set":19,"id":"053e9b38_da228f16","line":21,"range":{"start_line":19,"start_character":0,"end_line":21,"end_character":48},"in_reply_to":"eaaa2b10_d4ac3185","updated":"2022-03-11 09:56:10.000000000","message":"Done","commit_id":"36904743d2ea4d8f7282da107019ce018e27d5e6"},{"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":"e541a55aee3fa40aa0b7b66c19586e624aad7701","unresolved":true,"context_lines":[{"line_number":1,"context_line":"datadir: \"/var/lib/proxysql\""},{"line_number":2,"context_line":"errorlog: \"/var/log/kolla/proxysql/proxysql.log\""},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"admin_variables:"}],"source_content_type":"text/x-jinja2","patch_set":95,"id":"63592f7c_4e633c41","line":1,"updated":"2022-07-01 19:50:41.000000000","message":"please include a comment what this file does; also please explain what each directive does and why defaults are not used (and what they are)","commit_id":"0d207bbaed13053855e14f19600752361842fa03"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"facbbe44b744d153787ac04d58c5f516b343ee0c","unresolved":false,"context_lines":[{"line_number":1,"context_line":"datadir: \"/var/lib/proxysql\""},{"line_number":2,"context_line":"errorlog: \"/var/log/kolla/proxysql/proxysql.log\""},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"admin_variables:"}],"source_content_type":"text/x-jinja2","patch_set":95,"id":"d2d00d8f_d285e2f1","line":1,"in_reply_to":"63592f7c_4e633c41","updated":"2022-07-06 14:59:55.000000000","message":"Done","commit_id":"0d207bbaed13053855e14f19600752361842fa03"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"b63a184c40f44de7912d8bbf1ad2f85df09f4875","unresolved":true,"context_lines":[{"line_number":45,"context_line":"{% set READER_GROUP \u003d BACKUP_WRITER_GROUP | int + 1 %}"},{"line_number":46,"context_line":"{% set OFFLINE_GROUP \u003d READER_GROUP | int + 1 %}"},{"line_number":47,"context_line":"  - writer_hostgroup: {{ WRITER_GROUP }}"},{"line_number":48,"context_line":"    backup_writer_hostgroup: {{ BACKUP_WRITER_GROUP }}"},{"line_number":49,"context_line":"    reader_hostgroup: {{ READER_GROUP }}"},{"line_number":50,"context_line":"    offline_hostgroup: {{ OFFLINE_GROUP }}"},{"line_number":51,"context_line":"    max_connections: {{ proxysql_backend_max_connections }}"},{"line_number":52,"context_line":"    max_writers: 1"},{"line_number":53,"context_line":"    writer_is_also_reader: 0"}],"source_content_type":"text/x-jinja2","patch_set":117,"id":"7fe8dce4_fb3c4fe4","line":50,"range":{"start_line":48,"start_character":0,"end_line":50,"end_character":42},"updated":"2022-08-01 09:48:10.000000000","message":"These aren\u0027t used, are they?","commit_id":"de973b81fae3f74bc624f22166f8d2ec9a4a5e38"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"7b3ccc877f3c7259d0f84bb7aacaf6a09ccc1906","unresolved":false,"context_lines":[{"line_number":45,"context_line":"{% set READER_GROUP \u003d BACKUP_WRITER_GROUP | int + 1 %}"},{"line_number":46,"context_line":"{% set OFFLINE_GROUP \u003d READER_GROUP | int + 1 %}"},{"line_number":47,"context_line":"  - writer_hostgroup: {{ WRITER_GROUP }}"},{"line_number":48,"context_line":"    backup_writer_hostgroup: {{ BACKUP_WRITER_GROUP }}"},{"line_number":49,"context_line":"    reader_hostgroup: {{ READER_GROUP }}"},{"line_number":50,"context_line":"    offline_hostgroup: {{ OFFLINE_GROUP }}"},{"line_number":51,"context_line":"    max_connections: {{ proxysql_backend_max_connections }}"},{"line_number":52,"context_line":"    max_writers: 1"},{"line_number":53,"context_line":"    writer_is_also_reader: 0"}],"source_content_type":"text/x-jinja2","patch_set":117,"id":"a5f71503_5dc1f009","line":50,"range":{"start_line":48,"start_character":0,"end_line":50,"end_character":42},"in_reply_to":"7fe8dce4_fb3c4fe4","updated":"2022-08-01 16:19:48.000000000","message":"Yeah, sure they are.","commit_id":"de973b81fae3f74bc624f22166f8d2ec9a4a5e38"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"d112f663d548ad247fc58af98dd0547cbf020736","unresolved":true,"context_lines":[{"line_number":45,"context_line":"{% set READER_GROUP \u003d BACKUP_WRITER_GROUP | int + 1 %}"},{"line_number":46,"context_line":"{% set OFFLINE_GROUP \u003d READER_GROUP | int + 1 %}"},{"line_number":47,"context_line":"  - writer_hostgroup: {{ WRITER_GROUP }}"},{"line_number":48,"context_line":"    backup_writer_hostgroup: {{ BACKUP_WRITER_GROUP }}"},{"line_number":49,"context_line":"    reader_hostgroup: {{ READER_GROUP }}"},{"line_number":50,"context_line":"    offline_hostgroup: {{ OFFLINE_GROUP }}"},{"line_number":51,"context_line":"    max_connections: {{ proxysql_backend_max_connections }}"},{"line_number":52,"context_line":"    max_writers: 1"},{"line_number":53,"context_line":"    writer_is_also_reader: 0"}],"source_content_type":"text/x-jinja2","patch_set":117,"id":"cd725139_aa4cb27b","line":50,"range":{"start_line":48,"start_character":0,"end_line":50,"end_character":42},"in_reply_to":"a5f71503_5dc1f009","updated":"2022-08-02 09:08:09.000000000","message":"Looking for a bit more detail here. Only the writer group is referenced in mysql_servers.","commit_id":"de973b81fae3f74bc624f22166f8d2ec9a4a5e38"}],"ansible/roles/mariadb/defaults/main.yml":[{"author":{"_account_id":32398,"name":"Gaël THEROND","display_name":"Fl1nt","email":"gael.therond@bitswalk.com","username":"Fl1nt"},"change_message_id":"e22a5c2c662b9b8e63c1656f7ff3588065e91fec","unresolved":true,"context_lines":[{"line_number":42,"context_line":"    dimensions: \"{{ mariadb_clustercheck_dimensions }}\""},{"line_number":43,"context_line":"    environment:"},{"line_number":44,"context_line":"      MYSQL_USERNAME: \"{{ mariadb_monitor_user }}\""},{"line_number":45,"context_line":"      MYSQL_PASSWORD: \"{% if enable_proxysql | bool %}{{ mariadb_monitor_password }}{% endif %}\""},{"line_number":46,"context_line":"      MYSQL_HOST: \"{{ api_interface_address }}\""},{"line_number":47,"context_line":"      AVAILABLE_WHEN_DONOR: \"1\""},{"line_number":48,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":93,"id":"8b6a41b3_0147dc81","line":45,"updated":"2022-06-13 10:29:43.000000000","message":"Shouldn\u0027t we also have a default password when we\u0027re not using proxysql but haproxy?\n\nHaving an empty password for HAPROXY monitor user isn\u0027t really secure.\n\nNot blocking for this review as it was already like that on previous k-a release.","commit_id":"842637a29b06f06acfd7d15055bc17b150c36e6b"},{"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":"e972e389aaa8b41b653f0ee647c07d9c4412e227","unresolved":false,"context_lines":[{"line_number":42,"context_line":"    dimensions: \"{{ mariadb_clustercheck_dimensions }}\""},{"line_number":43,"context_line":"    environment:"},{"line_number":44,"context_line":"      MYSQL_USERNAME: \"{{ mariadb_monitor_user }}\""},{"line_number":45,"context_line":"      MYSQL_PASSWORD: \"{% if enable_proxysql | bool %}{{ mariadb_monitor_password }}{% endif %}\""},{"line_number":46,"context_line":"      MYSQL_HOST: \"{{ api_interface_address }}\""},{"line_number":47,"context_line":"      AVAILABLE_WHEN_DONOR: \"1\""},{"line_number":48,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":93,"id":"edccf7ff_e46e0ecd","line":45,"in_reply_to":"1b66d69f_c26322c2","updated":"2022-07-09 14:32:58.000000000","message":"(resolving)","commit_id":"842637a29b06f06acfd7d15055bc17b150c36e6b"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"9633cafe16b402b9118af90232308ee329013b45","unresolved":true,"context_lines":[{"line_number":42,"context_line":"    dimensions: \"{{ mariadb_clustercheck_dimensions }}\""},{"line_number":43,"context_line":"    environment:"},{"line_number":44,"context_line":"      MYSQL_USERNAME: \"{{ mariadb_monitor_user }}\""},{"line_number":45,"context_line":"      MYSQL_PASSWORD: \"{% if enable_proxysql | bool %}{{ mariadb_monitor_password }}{% endif %}\""},{"line_number":46,"context_line":"      MYSQL_HOST: \"{{ api_interface_address }}\""},{"line_number":47,"context_line":"      AVAILABLE_WHEN_DONOR: \"1\""},{"line_number":48,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":93,"id":"1b66d69f_c26322c2","line":45,"in_reply_to":"8b6a41b3_0147dc81","updated":"2022-06-13 10:41:50.000000000","message":"This is historical implementation because of old way of mariadb check via  \n\"option  mysql-check user haproxy post-41\" , for haproxy is now clustercheck used and this patch is fixing this when proxysql is used.","commit_id":"842637a29b06f06acfd7d15055bc17b150c36e6b"},{"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":"e972e389aaa8b41b653f0ee647c07d9c4412e227","unresolved":true,"context_lines":[{"line_number":107,"context_line":""},{"line_number":108,"context_line":"mariadb_backup_host: \"{{ groups[mariadb_shard_group][0] }}\""},{"line_number":109,"context_line":"mariadb_backup_database_schema: \"PERCONA_SCHEMA\""},{"line_number":110,"context_line":"mariadb_backup_database_user: \"{% if mariadb_loadbalancer \u003d\u003d \u0027haproxy\u0027 %}backup{% else %}{{ mariadb_shard_backup_user_prefix }}{{ mariadb_shard_id | string }}{% endif %}\""},{"line_number":111,"context_line":"mariadb_backup_type: \"full\""},{"line_number":112,"context_line":"mariadb_backup_possible: \"{{ mariadb_loadbalancer !\u003d \u0027haproxy\u0027 or inventory_hostname in mariadb_default_database_shard_hosts }}\""},{"line_number":113,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":101,"id":"82ba8880_eb2ad68b","line":110,"updated":"2022-07-09 14:32:58.000000000","message":"why change the way it was constructed?","commit_id":"b2a04f09a61d9ca975850f193021b80d1889a735"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"d1a76b3fc315b7c1b89e81f232eb91b77b0747fe","unresolved":false,"context_lines":[{"line_number":107,"context_line":""},{"line_number":108,"context_line":"mariadb_backup_host: \"{{ groups[mariadb_shard_group][0] }}\""},{"line_number":109,"context_line":"mariadb_backup_database_schema: \"PERCONA_SCHEMA\""},{"line_number":110,"context_line":"mariadb_backup_database_user: \"{% if mariadb_loadbalancer \u003d\u003d \u0027haproxy\u0027 %}backup{% else %}{{ mariadb_shard_backup_user_prefix }}{{ mariadb_shard_id | string }}{% endif %}\""},{"line_number":111,"context_line":"mariadb_backup_type: \"full\""},{"line_number":112,"context_line":"mariadb_backup_possible: \"{{ mariadb_loadbalancer !\u003d \u0027haproxy\u0027 or inventory_hostname in mariadb_default_database_shard_hosts }}\""},{"line_number":113,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":101,"id":"eef41407_23f9fe87","line":110,"in_reply_to":"7d6b2533_9913753c","updated":"2022-07-13 16:21:31.000000000","message":"Aaah understand, in following patch where I am proposing proxysql usage for services - there were lot of occurences of \u0027root_shard_\u0027 , so for me it seamed reasonable to not define or let\u0027s say hardcode but just use variable... \n\nNothing changed ..just moved to variable.","commit_id":"b2a04f09a61d9ca975850f193021b80d1889a735"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"5dc4951b875369c88c03f62eceffa8b32d4a37f3","unresolved":true,"context_lines":[{"line_number":107,"context_line":""},{"line_number":108,"context_line":"mariadb_backup_host: \"{{ groups[mariadb_shard_group][0] }}\""},{"line_number":109,"context_line":"mariadb_backup_database_schema: \"PERCONA_SCHEMA\""},{"line_number":110,"context_line":"mariadb_backup_database_user: \"{% if mariadb_loadbalancer \u003d\u003d \u0027haproxy\u0027 %}backup{% else %}{{ mariadb_shard_backup_user_prefix }}{{ mariadb_shard_id | string }}{% endif %}\""},{"line_number":111,"context_line":"mariadb_backup_type: \"full\""},{"line_number":112,"context_line":"mariadb_backup_possible: \"{{ mariadb_loadbalancer !\u003d \u0027haproxy\u0027 or inventory_hostname in mariadb_default_database_shard_hosts }}\""},{"line_number":113,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":101,"id":"eff9fe23_8b72311e","line":110,"in_reply_to":"82ba8880_eb2ad68b","updated":"2022-07-11 12:10:06.000000000","message":"Sorry, don\u0027t understand.\n\nPoint is that if you have several clusters and you are going through proxysql, proxysql will match user root_shard_{0,1,2} etc and will send a  query to right shard/cluster.\n\nIn my original patchsets if I remember correctly I did not distinguish root users, I\u0027ve just created root_shad_X in mariadb role and that\u0027s it. For existing mariadb clusters user was added and for new cluster only root_shard_X is added.\n\nI think you or Mark wanted to have it separately. Original was : \n\n1. Shard 0 -\u003e root_shard_0\n2. Shard 1 -\u003e root_shard_1\n3. Shard 2 -\u003e root_shard_2\n\n\\o/ -\u003e root_shard_0 -\u003e ProxySQL -\u003e Shard 0\n\\o/ -\u003e root_shard_1 -\u003e ProxySQL -\u003e Shard 1\n\\o/ -\u003e root_shard_2 -\u003e ProxySQL -\u003e Shard 2","commit_id":"b2a04f09a61d9ca975850f193021b80d1889a735"},{"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":"dcc85235c9e929aff0cf02d6ec4f02f52d3ae07f","unresolved":true,"context_lines":[{"line_number":107,"context_line":""},{"line_number":108,"context_line":"mariadb_backup_host: \"{{ groups[mariadb_shard_group][0] }}\""},{"line_number":109,"context_line":"mariadb_backup_database_schema: \"PERCONA_SCHEMA\""},{"line_number":110,"context_line":"mariadb_backup_database_user: \"{% if mariadb_loadbalancer \u003d\u003d \u0027haproxy\u0027 %}backup{% else %}{{ mariadb_shard_backup_user_prefix }}{{ mariadb_shard_id | string }}{% endif %}\""},{"line_number":111,"context_line":"mariadb_backup_type: \"full\""},{"line_number":112,"context_line":"mariadb_backup_possible: \"{{ mariadb_loadbalancer !\u003d \u0027haproxy\u0027 or inventory_hostname in mariadb_default_database_shard_hosts }}\""},{"line_number":113,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":101,"id":"7d6b2533_9913753c","line":110,"in_reply_to":"eff9fe23_8b72311e","updated":"2022-07-13 09:16:05.000000000","message":"I meant that in the previous commit you had the same end effect but a different way to achieve this and thus I was wondering what was the reasoning to change it.","commit_id":"b2a04f09a61d9ca975850f193021b80d1889a735"},{"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":"e972e389aaa8b41b653f0ee647c07d9c4412e227","unresolved":true,"context_lines":[{"line_number":119,"context_line":"####################"},{"line_number":120,"context_line":"# Sharding"},{"line_number":121,"context_line":"####################"},{"line_number":122,"context_line":"mariadb_shard_database_user: \"{% if mariadb_loadbalancer \u003d\u003d \u0027haproxy\u0027 %}{{ database_user }}{% else %}{{ mariadb_shard_root_user_prefix }}{{ mariadb_shard_id | string }}{% endif %}\""}],"source_content_type":"text/x-yaml","patch_set":101,"id":"0d5ed813_969e247c","line":122,"updated":"2022-07-09 14:32:58.000000000","message":"why change the way it was constructed?","commit_id":"b2a04f09a61d9ca975850f193021b80d1889a735"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"5dc4951b875369c88c03f62eceffa8b32d4a37f3","unresolved":true,"context_lines":[{"line_number":119,"context_line":"####################"},{"line_number":120,"context_line":"# Sharding"},{"line_number":121,"context_line":"####################"},{"line_number":122,"context_line":"mariadb_shard_database_user: \"{% if mariadb_loadbalancer \u003d\u003d \u0027haproxy\u0027 %}{{ database_user }}{% else %}{{ mariadb_shard_root_user_prefix }}{{ mariadb_shard_id | string }}{% endif %}\""}],"source_content_type":"text/x-yaml","patch_set":101,"id":"634c6b45_58a8f7f1","line":122,"in_reply_to":"0d5ed813_969e247c","updated":"2022-07-11 12:10:06.000000000","message":"Check below.","commit_id":"b2a04f09a61d9ca975850f193021b80d1889a735"},{"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":"dcc85235c9e929aff0cf02d6ec4f02f52d3ae07f","unresolved":true,"context_lines":[{"line_number":119,"context_line":"####################"},{"line_number":120,"context_line":"# Sharding"},{"line_number":121,"context_line":"####################"},{"line_number":122,"context_line":"mariadb_shard_database_user: \"{% if mariadb_loadbalancer \u003d\u003d \u0027haproxy\u0027 %}{{ database_user }}{% else %}{{ mariadb_shard_root_user_prefix }}{{ mariadb_shard_id | string }}{% endif %}\""}],"source_content_type":"text/x-yaml","patch_set":101,"id":"8b517ad8_d9ee3ce3","line":122,"in_reply_to":"634c6b45_58a8f7f1","updated":"2022-07-13 09:16:05.000000000","message":"ditto","commit_id":"b2a04f09a61d9ca975850f193021b80d1889a735"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"d1a76b3fc315b7c1b89e81f232eb91b77b0747fe","unresolved":false,"context_lines":[{"line_number":119,"context_line":"####################"},{"line_number":120,"context_line":"# Sharding"},{"line_number":121,"context_line":"####################"},{"line_number":122,"context_line":"mariadb_shard_database_user: \"{% if mariadb_loadbalancer \u003d\u003d \u0027haproxy\u0027 %}{{ database_user }}{% else %}{{ mariadb_shard_root_user_prefix }}{{ mariadb_shard_id | string }}{% endif %}\""}],"source_content_type":"text/x-yaml","patch_set":101,"id":"8a30ab16_f8f73a7a","line":122,"in_reply_to":"8b517ad8_d9ee3ce3","updated":"2022-07-13 16:21:31.000000000","message":"replied below","commit_id":"b2a04f09a61d9ca975850f193021b80d1889a735"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"d112f663d548ad247fc58af98dd0547cbf020736","unresolved":true,"context_lines":[{"line_number":42,"context_line":"    dimensions: \"{{ mariadb_clustercheck_dimensions }}\""},{"line_number":43,"context_line":"    environment:"},{"line_number":44,"context_line":"      MYSQL_USERNAME: \"{{ mariadb_monitor_user }}\""},{"line_number":45,"context_line":"      MYSQL_PASSWORD: \"{% if enable_proxysql | bool %}{{ mariadb_monitor_password }}{% endif %}\""},{"line_number":46,"context_line":"      MYSQL_HOST: \"{{ api_interface_address }}\""},{"line_number":47,"context_line":"      AVAILABLE_WHEN_DONOR: \"1\""},{"line_number":48,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":117,"id":"a6c15535_d75c123c","line":45,"range":{"start_line":45,"start_character":6,"end_line":45,"end_character":96},"updated":"2022-08-02 09:08:09.000000000","message":"HERE","commit_id":"de973b81fae3f74bc624f22166f8d2ec9a4a5e38"}],"ansible/roles/mariadb/tasks/check-containers.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":"e541a55aee3fa40aa0b7b66c19586e624aad7701","unresolved":true,"context_lines":[{"line_number":8,"context_line":"    image: \"{{ item.value.image }}\""},{"line_number":9,"context_line":"    volumes: \"{{ item.value.volumes }}\""},{"line_number":10,"context_line":"    dimensions: \"{{ item.value.dimensions }}\""},{"line_number":11,"context_line":"    environment: \"{{ item.value.environment | default(omit) }}\""},{"line_number":12,"context_line":"  when:"},{"line_number":13,"context_line":"    - inventory_hostname in groups[item.value.group]"},{"line_number":14,"context_line":"    - item.value.enabled | bool"}],"source_content_type":"text/x-yaml","patch_set":95,"id":"fcfeb6e3_a317120f","line":11,"updated":"2022-07-01 19:50:41.000000000","message":"looks like a bugfix to me - please propose independently","commit_id":"0d207bbaed13053855e14f19600752361842fa03"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"facbbe44b744d153787ac04d58c5f516b343ee0c","unresolved":false,"context_lines":[{"line_number":8,"context_line":"    image: \"{{ item.value.image }}\""},{"line_number":9,"context_line":"    volumes: \"{{ item.value.volumes }}\""},{"line_number":10,"context_line":"    dimensions: \"{{ item.value.dimensions }}\""},{"line_number":11,"context_line":"    environment: \"{{ item.value.environment | default(omit) }}\""},{"line_number":12,"context_line":"  when:"},{"line_number":13,"context_line":"    - inventory_hostname in groups[item.value.group]"},{"line_number":14,"context_line":"    - item.value.enabled | bool"}],"source_content_type":"text/x-yaml","patch_set":95,"id":"1fd5a981_e0efcfed","line":11,"in_reply_to":"fcfeb6e3_a317120f","updated":"2022-07-06 14:59:55.000000000","message":"You are right, this is line from mariadb healthcheck :)","commit_id":"0d207bbaed13053855e14f19600752361842fa03"}],"ansible/roles/mariadb/tasks/loadbalancer.yml":[{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"d969f3f83af92f92fd58e0f428ab98c105318a8f","unresolved":true,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":"- name: Gather info about MariaDB shards"},{"line_number":19,"context_line":"  vars:"},{"line_number":20,"context_line":"    shard_id: \"{{ hostvars[item][\u0027mariadb_shard_id\u0027] | default(0) }}\""},{"line_number":21,"context_line":"    # FIXME: the below should really read it from the role variables"},{"line_number":22,"context_line":"    # perhaps each host should just produce its"},{"line_number":23,"context_line":"    shard_name: \"shard_{{ shard_id }}\""}],"source_content_type":"text/x-yaml","patch_set":20,"id":"1598b0ef_2ba49308","line":20,"updated":"2021-01-27 09:30:40.000000000","message":"I didn\u0027t know how to implement as role\u0027s variable ( and don\u0027t know if it is possible, because it is dynamic group\u0027s variable in fact)\n\nI simply had to ensure that I am gathering always all shards (even if i ran playbook with --tags loadbalancer --limit host)\n\nI had a problem when i was running with limit - I was not able to gather all facts.\n\nThat\u0027s the reason why I am collecting facts from hosts (even if running with limit) in loop and set as fact, then pass dict to proxysql-config in format which proxysql-config expect.\n\nBut I will glad to learn something new 😊","commit_id":"1694a2b1c9573edbd226a6bce909105007639523"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"e530f8984d21ac89eb656e514de83502c69a59ff","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":"- name: Gather info about MariaDB shards"},{"line_number":19,"context_line":"  vars:"},{"line_number":20,"context_line":"    shard_id: \"{{ hostvars[item][\u0027mariadb_shard_id\u0027] | default(0) }}\""},{"line_number":21,"context_line":"    # FIXME: the below should really read it from the role variables"},{"line_number":22,"context_line":"    # perhaps each host should just produce its"},{"line_number":23,"context_line":"    shard_name: \"shard_{{ shard_id }}\""}],"source_content_type":"text/x-yaml","patch_set":20,"id":"d066d04e_60644935","line":20,"in_reply_to":"1598b0ef_2ba49308","updated":"2022-03-11 09:56:10.000000000","message":"Done","commit_id":"1694a2b1c9573edbd226a6bce909105007639523"},{"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":"e541a55aee3fa40aa0b7b66c19586e624aad7701","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"# NOTE(kevko): We have to ignore errors"},{"line_number":3,"context_line":"# as new deployments has no galera"},{"line_number":4,"context_line":"# running. In that case, user will be created"},{"line_number":5,"context_line":"# in mariadb role."},{"line_number":6,"context_line":"#"}],"source_content_type":"text/x-yaml","patch_set":95,"id":"d6644c94_96c430d0","line":3,"range":{"start_line":3,"start_character":21,"end_line":3,"end_character":25},"updated":"2022-07-01 19:50:41.000000000","message":"nit: have","commit_id":"0d207bbaed13053855e14f19600752361842fa03"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"3f0ab1976767aede0b4140ae1a220a943493bb0c","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"# NOTE(kevko): We have to ignore errors"},{"line_number":3,"context_line":"# as new deployments has no galera"},{"line_number":4,"context_line":"# running. In that case, user will be created"},{"line_number":5,"context_line":"# in mariadb role."},{"line_number":6,"context_line":"#"}],"source_content_type":"text/x-yaml","patch_set":95,"id":"2c628c5c_3ce4f7bd","line":3,"range":{"start_line":3,"start_character":21,"end_line":3,"end_character":25},"in_reply_to":"d6644c94_96c430d0","updated":"2022-07-04 16:42:51.000000000","message":"Done","commit_id":"0d207bbaed13053855e14f19600752361842fa03"},{"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":"e541a55aee3fa40aa0b7b66c19586e624aad7701","unresolved":true,"context_lines":[{"line_number":13,"context_line":"# mariadb backends are down, because no monitor"},{"line_number":14,"context_line":"# user (only old haproxy user without pass)."},{"line_number":15,"context_line":"#"},{"line_number":16,"context_line":"# Creating monitor user in mariadb role is too late."},{"line_number":17,"context_line":"- name: Creating mysql monitor user"},{"line_number":18,"context_line":"  become: true"},{"line_number":19,"context_line":"  kolla_toolbox:"}],"source_content_type":"text/x-yaml","patch_set":95,"id":"26c53062_60e213b3","line":16,"updated":"2022-07-01 19:50:41.000000000","message":"this is the mariadb role; you probably mean the register tasks; anyway, I think it\u0027s actually ok that they only get created in register, we just need to ensure it runs before proxysql starts in case of a switch; we should not use ignore_errors here as it might hide basically any issue","commit_id":"0d207bbaed13053855e14f19600752361842fa03"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"28e299db716449cfdbb5c39da4c840f50f3e421a","unresolved":true,"context_lines":[{"line_number":13,"context_line":"# mariadb backends are down, because no monitor"},{"line_number":14,"context_line":"# user (only old haproxy user without pass)."},{"line_number":15,"context_line":"#"},{"line_number":16,"context_line":"# Creating monitor user in mariadb role is too late."},{"line_number":17,"context_line":"- name: Creating mysql monitor user"},{"line_number":18,"context_line":"  become: true"},{"line_number":19,"context_line":"  kolla_toolbox:"}],"source_content_type":"text/x-yaml","patch_set":95,"id":"81ba97db_92023742","line":16,"in_reply_to":"26c53062_60e213b3","updated":"2022-07-04 18:51:42.000000000","message":"Well, monitor user is also created in register.yml in mariadb role.\nAs loadbalancer role is including loadbalancer.yml as tasks_from:, it\u0027s needed to have it here while you are calling kolla-ansible deploy -t loadbalancer.\n\nMoreover, this task is iterating through clusters and creating user in every cluster, register.yml is creating user \"locally\" - so it can\u0027t be used as you think.\n\nThis is specific for LB.","commit_id":"0d207bbaed13053855e14f19600752361842fa03"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"facbbe44b744d153787ac04d58c5f516b343ee0c","unresolved":false,"context_lines":[{"line_number":13,"context_line":"# mariadb backends are down, because no monitor"},{"line_number":14,"context_line":"# user (only old haproxy user without pass)."},{"line_number":15,"context_line":"#"},{"line_number":16,"context_line":"# Creating monitor user in mariadb role is too late."},{"line_number":17,"context_line":"- name: Creating mysql monitor user"},{"line_number":18,"context_line":"  become: true"},{"line_number":19,"context_line":"  kolla_toolbox:"}],"source_content_type":"text/x-yaml","patch_set":95,"id":"1999d903_f60ead39","line":16,"in_reply_to":"4a212b8a_a79b09ab","updated":"2022-07-06 14:59:55.000000000","message":"Done","commit_id":"0d207bbaed13053855e14f19600752361842fa03"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"facbbe44b744d153787ac04d58c5f516b343ee0c","unresolved":false,"context_lines":[{"line_number":13,"context_line":"# mariadb backends are down, because no monitor"},{"line_number":14,"context_line":"# user (only old haproxy user without pass)."},{"line_number":15,"context_line":"#"},{"line_number":16,"context_line":"# Creating monitor user in mariadb role is too late."},{"line_number":17,"context_line":"- name: Creating mysql monitor user"},{"line_number":18,"context_line":"  become: true"},{"line_number":19,"context_line":"  kolla_toolbox:"}],"source_content_type":"text/x-yaml","patch_set":95,"id":"4fbcf2a5_5cd11a9c","line":16,"in_reply_to":"4a212b8a_a79b09ab","updated":"2022-07-06 14:59:55.000000000","message":"I little bit reworked logic : \n\n1. Renamed to \"Ensure mysql monitor user exist\"\n2. Removed ignore_errors: yes and changed to failed_when: False\n\nSo, when  kolla-ansible reconfigure -t loadbalancer will be executed, this task will just connect to every cluster and will ensure monitor user exists, this will never fail and loadbalancer role will configure everything else.\n\nIf mariadb is not operational, problem is somewhere else and user should check the status.","commit_id":"0d207bbaed13053855e14f19600752361842fa03"},{"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":"16acfd55b80facca1c4aa657447d9decbee20fa6","unresolved":true,"context_lines":[{"line_number":13,"context_line":"# mariadb backends are down, because no monitor"},{"line_number":14,"context_line":"# user (only old haproxy user without pass)."},{"line_number":15,"context_line":"#"},{"line_number":16,"context_line":"# Creating monitor user in mariadb role is too late."},{"line_number":17,"context_line":"- name: Creating mysql monitor user"},{"line_number":18,"context_line":"  become: true"},{"line_number":19,"context_line":"  kolla_toolbox:"}],"source_content_type":"text/x-yaml","patch_set":95,"id":"4a212b8a_a79b09ab","line":16,"in_reply_to":"81ba97db_92023742","updated":"2022-07-05 08:40:46.000000000","message":"Well, then it would make more sense to ensure that MariaDB\u0027s role sets the relevant dictionary and there is no need to handle it specially in this role. May we somehow lift the ignore_errors? I think it should be possible but needs some thinking and tinkering. WDYT? I will not block this patch on it but feel it\u0027s bad to leave in here.","commit_id":"0d207bbaed13053855e14f19600752361842fa03"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"b63a184c40f44de7912d8bbf1ad2f85df09f4875","unresolved":true,"context_lines":[{"line_number":7,"context_line":"# It doesn\u0027t matter that creating monitor user"},{"line_number":8,"context_line":"# is also in the mariadb role."},{"line_number":9,"context_line":"#"},{"line_number":10,"context_line":"# If user is switching from haproxy to proxysql,"},{"line_number":11,"context_line":"# monitor user has to be created before proxysql"},{"line_number":12,"context_line":"# will start, otherwise proxysql will evaluate"},{"line_number":13,"context_line":"# mariadb backends are down, because no monitor"},{"line_number":14,"context_line":"# user (only old haproxy user without pass)."},{"line_number":15,"context_line":"#"},{"line_number":16,"context_line":"# Creating monitor user in mariadb role is too late."},{"line_number":17,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":117,"id":"b6174442_408f1699","line":14,"range":{"start_line":10,"start_character":0,"end_line":14,"end_character":44},"updated":"2022-08-01 09:48:10.000000000","message":"To get this straight, what you\u0027re trying to avoid here is database downtime when switching from haproxy to proxysql?","commit_id":"de973b81fae3f74bc624f22166f8d2ec9a4a5e38"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"7b3ccc877f3c7259d0f84bb7aacaf6a09ccc1906","unresolved":false,"context_lines":[{"line_number":7,"context_line":"# It doesn\u0027t matter that creating monitor user"},{"line_number":8,"context_line":"# is also in the mariadb role."},{"line_number":9,"context_line":"#"},{"line_number":10,"context_line":"# If user is switching from haproxy to proxysql,"},{"line_number":11,"context_line":"# monitor user has to be created before proxysql"},{"line_number":12,"context_line":"# will start, otherwise proxysql will evaluate"},{"line_number":13,"context_line":"# mariadb backends are down, because no monitor"},{"line_number":14,"context_line":"# user (only old haproxy user without pass)."},{"line_number":15,"context_line":"#"},{"line_number":16,"context_line":"# Creating monitor user in mariadb role is too late."},{"line_number":17,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":117,"id":"c101f923_6d170019","line":14,"range":{"start_line":10,"start_character":0,"end_line":14,"end_character":44},"in_reply_to":"b6174442_408f1699","updated":"2022-08-01 16:19:48.000000000","message":"yes, especially because I implemented monitor user - so it is possible to set password for monitor user.\n\nSo when user is going to switch to ProxySQL, user is changing... And this user has to be created properly and before proxysql will run -  so proxysql internal monitor will know that backends are running.\n\nThis would never be needed unless I implemented a password for the user, but i think it is better to have user with passwod than user without password.","commit_id":"de973b81fae3f74bc624f22166f8d2ec9a4a5e38"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"b63a184c40f44de7912d8bbf1ad2f85df09f4875","unresolved":true,"context_lines":[{"line_number":15,"context_line":"#"},{"line_number":16,"context_line":"# Creating monitor user in mariadb role is too late."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"- name: Ensure mysql monitor user exist"},{"line_number":19,"context_line":"  vars:"},{"line_number":20,"context_line":"    shard_id: \"{{ item.key }}\""},{"line_number":21,"context_line":"    host: \"{{ mariadb_shards_info.shards[shard_id].hosts[0] }}\""}],"source_content_type":"text/x-yaml","patch_set":117,"id":"89a684c8_44292546","line":18,"updated":"2022-08-01 09:48:10.000000000","message":"Is this only necessary when using proxysql? If so, please make it conditional.","commit_id":"de973b81fae3f74bc624f22166f8d2ec9a4a5e38"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"7b3ccc877f3c7259d0f84bb7aacaf6a09ccc1906","unresolved":false,"context_lines":[{"line_number":15,"context_line":"#"},{"line_number":16,"context_line":"# Creating monitor user in mariadb role is too late."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"- name: Ensure mysql monitor user exist"},{"line_number":19,"context_line":"  vars:"},{"line_number":20,"context_line":"    shard_id: \"{{ item.key }}\""},{"line_number":21,"context_line":"    host: \"{{ mariadb_shards_info.shards[shard_id].hosts[0] }}\""}],"source_content_type":"text/x-yaml","patch_set":117,"id":"8e3de33b_66bc8b30","line":18,"in_reply_to":"89a684c8_44292546","updated":"2022-08-01 16:19:48.000000000","message":"Always, because of monitor user.","commit_id":"de973b81fae3f74bc624f22166f8d2ec9a4a5e38"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"d112f663d548ad247fc58af98dd0547cbf020736","unresolved":true,"context_lines":[{"line_number":15,"context_line":"#"},{"line_number":16,"context_line":"# Creating monitor user in mariadb role is too late."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"- name: Ensure mysql monitor user exist"},{"line_number":19,"context_line":"  vars:"},{"line_number":20,"context_line":"    shard_id: \"{{ item.key }}\""},{"line_number":21,"context_line":"    host: \"{{ mariadb_shards_info.shards[shard_id].hosts[0] }}\""}],"source_content_type":"text/x-yaml","patch_set":117,"id":"894eb1a2_a43adb8d","line":18,"in_reply_to":"8e3de33b_66bc8b30","updated":"2022-08-02 09:08:09.000000000","message":"But when using haproxy, the monitor user does not use a password, and is still using the haproxy user (see my HERE comment)","commit_id":"de973b81fae3f74bc624f22166f8d2ec9a4a5e38"}],"ansible/roles/proxysql-config/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":"e541a55aee3fa40aa0b7b66c19586e624aad7701","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"project_name: \"proxysql-config\""},{"line_number":3,"context_line":"proxysql_config_users: \"{% if (project_database_shard is defined and project_database_shard[\u0027users\u0027] is defined) or project \u003d\u003d \u0027mariadb\u0027 %}True{% else %}False{% endif %}\""},{"line_number":4,"context_line":"proxysql_config_rules: \"{% if project_database_shard is defined and project_database_shard[\u0027rules\u0027] is defined %}True{% else %}False{% endif %}\""}],"source_content_type":"text/x-yaml","patch_set":95,"id":"9fbc12ce_c63d1c3e","line":2,"updated":"2022-07-01 19:50:41.000000000","message":"not needed","commit_id":"0d207bbaed13053855e14f19600752361842fa03"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"d1a76b3fc315b7c1b89e81f232eb91b77b0747fe","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"project_name: \"proxysql-config\""},{"line_number":3,"context_line":"proxysql_config_users: \"{% if (project_database_shard is defined and project_database_shard[\u0027users\u0027] is defined) or project \u003d\u003d \u0027mariadb\u0027 %}True{% else %}False{% endif %}\""},{"line_number":4,"context_line":"proxysql_config_rules: \"{% if project_database_shard is defined and project_database_shard[\u0027rules\u0027] is defined %}True{% else %}False{% endif %}\""}],"source_content_type":"text/x-yaml","patch_set":95,"id":"98819156_b5012943","line":2,"in_reply_to":"9fbc12ce_c63d1c3e","updated":"2022-07-13 16:21:31.000000000","message":"Deleted.","commit_id":"0d207bbaed13053855e14f19600752361842fa03"},{"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":"e541a55aee3fa40aa0b7b66c19586e624aad7701","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"project_name: \"proxysql-config\""},{"line_number":3,"context_line":"proxysql_config_users: \"{% if (project_database_shard is defined and project_database_shard[\u0027users\u0027] is defined) or project \u003d\u003d \u0027mariadb\u0027 %}True{% else %}False{% endif %}\""},{"line_number":4,"context_line":"proxysql_config_rules: \"{% if project_database_shard is defined and project_database_shard[\u0027rules\u0027] is defined %}True{% else %}False{% endif %}\""}],"source_content_type":"text/x-yaml","patch_set":95,"id":"210bb50a_07aee915","line":4,"range":{"start_line":3,"start_character":0,"end_line":4,"end_character":144},"updated":"2022-07-01 19:50:41.000000000","message":"this role evidently has two purposes, it violates the single responsibility principle; please have a separate role for configuring proxysql for mariadb and a separate role for configuring it for the services using mariadb","commit_id":"0d207bbaed13053855e14f19600752361842fa03"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"3f0ab1976767aede0b4140ae1a220a943493bb0c","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"project_name: \"proxysql-config\""},{"line_number":3,"context_line":"proxysql_config_users: \"{% if (project_database_shard is defined and project_database_shard[\u0027users\u0027] is defined) or project \u003d\u003d \u0027mariadb\u0027 %}True{% else %}False{% endif %}\""},{"line_number":4,"context_line":"proxysql_config_rules: \"{% if project_database_shard is defined and project_database_shard[\u0027rules\u0027] is defined %}True{% else %}False{% endif %}\""}],"source_content_type":"text/x-yaml","patch_set":95,"id":"ae2efaad_2fa0c5c1","line":4,"range":{"start_line":3,"start_character":0,"end_line":4,"end_character":144},"in_reply_to":"210bb50a_07aee915","updated":"2022-07-04 16:42:51.000000000","message":"Hmm, I think I understand your reservations, but in fact proxysql-config has only one purpose and it is - configure routing for mysql queries.\nOnly one difference for mariadb is that mariadb just do not need rules to has configured, that\u0027s the reason why there is understandable condition and this condition will never change.\n\n1. Root mysql quries is routed via users route (so mariadb do not need to configure rules)\n2. Services need to set users and also schema_name\n\nAbove is controlled via that conditions, don\u0027t understand what is wrong.","commit_id":"0d207bbaed13053855e14f19600752361842fa03"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"694b883a1253ea8befd95353ff1b49e91f4568ab","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"project_name: \"proxysql-config\""},{"line_number":3,"context_line":"proxysql_config_users: \"{% if (project_database_shard is defined and project_database_shard[\u0027users\u0027] is defined) or project \u003d\u003d \u0027mariadb\u0027 %}True{% else %}False{% endif %}\""},{"line_number":4,"context_line":"proxysql_config_rules: \"{% if project_database_shard is defined and project_database_shard[\u0027rules\u0027] is defined %}True{% else %}False{% endif %}\""}],"source_content_type":"text/x-yaml","patch_set":95,"id":"f0788e09_528035ce","line":4,"range":{"start_line":3,"start_character":0,"end_line":4,"end_character":144},"in_reply_to":"334ec18a_26a75532","updated":"2022-07-05 13:43:12.000000000","message":"Point is that template for that config is in that role (because that role\u0027s purpose is to generate configs for users and rules). But yeah I understand your feeling, i will think about it and will try some other ways to fullfill that.\n\nMain idea was just generate data from services and pass data to role to geneate configs.\n\nCurrent way how it is implemented : \n\n1. Creating monitor user in register.yml in mariadb role (deploying mariadb)\n2. Creating also monitor user in loadbalancer.yml (mostly in case of switch so another user is created) when just reconfiguring loaddbalancer with tag -t loadbalancer\n\nAbove implementation working always, but agree that ignore_errors is not right.","commit_id":"0d207bbaed13053855e14f19600752361842fa03"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"facbbe44b744d153787ac04d58c5f516b343ee0c","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"project_name: \"proxysql-config\""},{"line_number":3,"context_line":"proxysql_config_users: \"{% if (project_database_shard is defined and project_database_shard[\u0027users\u0027] is defined) or project \u003d\u003d \u0027mariadb\u0027 %}True{% else %}False{% endif %}\""},{"line_number":4,"context_line":"proxysql_config_rules: \"{% if project_database_shard is defined and project_database_shard[\u0027rules\u0027] is defined %}True{% else %}False{% endif %}\""}],"source_content_type":"text/x-yaml","patch_set":95,"id":"0ac7d15c_76bbea34","line":4,"range":{"start_line":3,"start_character":0,"end_line":4,"end_character":144},"in_reply_to":"8edd0163_f708ce53","updated":"2022-07-06 14:59:55.000000000","message":"Yeah, little bit :P.\n\nI removed if conditional for mariadb and now passing dict with users for mariadb.","commit_id":"0d207bbaed13053855e14f19600752361842fa03"},{"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":"16acfd55b80facca1c4aa657447d9decbee20fa6","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"project_name: \"proxysql-config\""},{"line_number":3,"context_line":"proxysql_config_users: \"{% if (project_database_shard is defined and project_database_shard[\u0027users\u0027] is defined) or project \u003d\u003d \u0027mariadb\u0027 %}True{% else %}False{% endif %}\""},{"line_number":4,"context_line":"proxysql_config_rules: \"{% if project_database_shard is defined and project_database_shard[\u0027rules\u0027] is defined %}True{% else %}False{% endif %}\""}],"source_content_type":"text/x-yaml","patch_set":95,"id":"334ec18a_26a75532","line":4,"range":{"start_line":3,"start_character":0,"end_line":4,"end_character":144},"in_reply_to":"ae2efaad_2fa0c5c1","updated":"2022-07-05 08:40:46.000000000","message":"Well, then it would make more sense to ensure that MariaDB\u0027s role sets the relevant dictionary and there is no need to handle it specially in this role.","commit_id":"0d207bbaed13053855e14f19600752361842fa03"},{"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":"6d448f66095c39f4274e3c73331d1cdd92893be0","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"project_name: \"proxysql-config\""},{"line_number":3,"context_line":"proxysql_config_users: \"{% if (project_database_shard is defined and project_database_shard[\u0027users\u0027] is defined) or project \u003d\u003d \u0027mariadb\u0027 %}True{% else %}False{% endif %}\""},{"line_number":4,"context_line":"proxysql_config_rules: \"{% if project_database_shard is defined and project_database_shard[\u0027rules\u0027] is defined %}True{% else %}False{% endif %}\""}],"source_content_type":"text/x-yaml","patch_set":95,"id":"8edd0163_f708ce53","line":4,"range":{"start_line":3,"start_character":0,"end_line":4,"end_character":144},"in_reply_to":"f0788e09_528035ce","updated":"2022-07-05 14:17:00.000000000","message":"I believe you have replied in the wrong thread. ;-)","commit_id":"0d207bbaed13053855e14f19600752361842fa03"},{"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":"34f4bae91df37b22a88ec2a4e88fccf6371970a5","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"proxysql_project_database_shard: \"{{ lookup(\u0027vars\u0027, (kolla_role_name | default(project_name)) + \u0027_database_shard\u0027) }}\""},{"line_number":3,"context_line":"# NOTE(kevko): Kolla_role_name and replace is used only because of nova-cell"},{"line_number":4,"context_line":"proxysql_project: \"{{ kolla_role_name | default(project_name) | replace(\u0027_\u0027,\u0027-\u0027) }}\""},{"line_number":5,"context_line":"proxysql_config_users: \"{% if proxysql_project_database_shard is defined and proxysql_project_database_shard[\u0027users\u0027] is defined %}True{% else %}False{% endif %}\""},{"line_number":6,"context_line":"proxysql_config_rules: \"{% if proxysql_project_database_shard is defined and proxysql_project_database_shard[\u0027rules\u0027] is defined %}True{% else %}False{% endif %}\""}],"source_content_type":"text/x-yaml","patch_set":108,"id":"1cdd115d_1571115e","line":4,"range":{"start_line":4,"start_character":64,"end_line":4,"end_character":80},"updated":"2022-07-13 17:11:39.000000000","message":"do you really need this with a dash?","commit_id":"adcbfcd161a7e8c67b2fe20b9d62e272b0153eff"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"e22353d641025a63985dedb28e2ca1bcc5f23301","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"proxysql_project_database_shard: \"{{ lookup(\u0027vars\u0027, (kolla_role_name | default(project_name)) + \u0027_database_shard\u0027) }}\""},{"line_number":3,"context_line":"# NOTE(kevko): Kolla_role_name and replace is used only because of nova-cell"},{"line_number":4,"context_line":"proxysql_project: \"{{ kolla_role_name | default(project_name) | replace(\u0027_\u0027,\u0027-\u0027) }}\""},{"line_number":5,"context_line":"proxysql_config_users: \"{% if proxysql_project_database_shard is defined and proxysql_project_database_shard[\u0027users\u0027] is defined %}True{% else %}False{% endif %}\""},{"line_number":6,"context_line":"proxysql_config_rules: \"{% if proxysql_project_database_shard is defined and proxysql_project_database_shard[\u0027rules\u0027] is defined %}True{% else %}False{% endif %}\""}],"source_content_type":"text/x-yaml","patch_set":108,"id":"8a8c360f_fa0f2f19","line":4,"range":{"start_line":4,"start_character":64,"end_line":4,"end_character":80},"in_reply_to":"1cdd115d_1571115e","updated":"2022-07-13 19:29:59.000000000","message":"Well, it\u0027s used for config filename and we already using /etc/kolla/proxysql/rules/nova-cell.yaml.\n\nSo, I just didn\u0027t want to change /etc/kolla/proxysql/rules/nova-cell.yaml -\u003e /etc/kolla/proxysql/rules/nova_cell.yaml\n\nBut if you insist, I\u0027ll delete it. I just think that \"-\" is nicer than \"_\".","commit_id":"adcbfcd161a7e8c67b2fe20b9d62e272b0153eff"},{"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":"ab16c3df9b8c0da412322552b0703e5c91c89171","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"proxysql_project_database_shard: \"{{ lookup(\u0027vars\u0027, (kolla_role_name | default(project_name)) + \u0027_database_shard\u0027) }}\""},{"line_number":3,"context_line":"# NOTE(kevko): Kolla_role_name and replace is used only because of nova-cell"},{"line_number":4,"context_line":"proxysql_project: \"{{ kolla_role_name | default(project_name) | replace(\u0027_\u0027,\u0027-\u0027) }}\""},{"line_number":5,"context_line":"proxysql_config_users: \"{% if proxysql_project_database_shard is defined and proxysql_project_database_shard[\u0027users\u0027] is defined %}True{% else %}False{% endif %}\""},{"line_number":6,"context_line":"proxysql_config_rules: \"{% if proxysql_project_database_shard is defined and proxysql_project_database_shard[\u0027rules\u0027] is defined %}True{% else %}False{% endif %}\""}],"source_content_type":"text/x-yaml","patch_set":108,"id":"825bc94e_c9e55b9b","line":4,"range":{"start_line":4,"start_character":64,"end_line":4,"end_character":80},"in_reply_to":"8a8c360f_fa0f2f19","updated":"2022-07-16 14:29:59.000000000","message":"No, it\u0027s ok afaiac.","commit_id":"adcbfcd161a7e8c67b2fe20b9d62e272b0153eff"}],"ansible/roles/proxysql-config/tasks/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":"e541a55aee3fa40aa0b7b66c19586e624aad7701","unresolved":true,"context_lines":[{"line_number":2,"context_line":"- name: \"Copying over {{ project_name }} users config\""},{"line_number":3,"context_line":"  template:"},{"line_number":4,"context_line":"    src: \"users.yaml.j2\""},{"line_number":5,"context_line":"    dest: \"{{ node_config_directory }}/proxysql/users/{{ project }}.yaml\""},{"line_number":6,"context_line":"    mode: \"0660\""},{"line_number":7,"context_line":"  become: true"},{"line_number":8,"context_line":"  when:"}],"source_content_type":"text/x-yaml","patch_set":95,"id":"9a536ea5_89073440","line":5,"range":{"start_line":5,"start_character":57,"end_line":5,"end_character":65},"updated":"2022-07-01 19:50:41.000000000","message":"project_name","commit_id":"0d207bbaed13053855e14f19600752361842fa03"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"d1a76b3fc315b7c1b89e81f232eb91b77b0747fe","unresolved":false,"context_lines":[{"line_number":2,"context_line":"- name: \"Copying over {{ project_name }} users config\""},{"line_number":3,"context_line":"  template:"},{"line_number":4,"context_line":"    src: \"users.yaml.j2\""},{"line_number":5,"context_line":"    dest: \"{{ node_config_directory }}/proxysql/users/{{ project }}.yaml\""},{"line_number":6,"context_line":"    mode: \"0660\""},{"line_number":7,"context_line":"  become: true"},{"line_number":8,"context_line":"  when:"}],"source_content_type":"text/x-yaml","patch_set":95,"id":"72675ebe_1ab650ab","line":5,"range":{"start_line":5,"start_character":57,"end_line":5,"end_character":65},"in_reply_to":"9a536ea5_89073440","updated":"2022-07-13 16:21:31.000000000","message":"In defaults i\u0027ve set new variable proxysql_project which is obtaining kolla_rolla_name OR project_name (because of nova-cell) dynamically and replacing _ with - just to nicify :).","commit_id":"0d207bbaed13053855e14f19600752361842fa03"},{"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":"e541a55aee3fa40aa0b7b66c19586e624aad7701","unresolved":true,"context_lines":[{"line_number":14,"context_line":"- name: \"Copying over {{ project_name }} rules config\""},{"line_number":15,"context_line":"  template:"},{"line_number":16,"context_line":"    src: \"rules.yaml.j2\""},{"line_number":17,"context_line":"    dest: \"{{ node_config_directory }}/proxysql/rules/{{ project }}.yaml\""},{"line_number":18,"context_line":"    mode: \"0660\""},{"line_number":19,"context_line":"  become: true"},{"line_number":20,"context_line":"  when:"}],"source_content_type":"text/x-yaml","patch_set":95,"id":"d0733395_5b9320cf","line":17,"range":{"start_line":17,"start_character":57,"end_line":17,"end_character":65},"updated":"2022-07-01 19:50:41.000000000","message":"project_name","commit_id":"0d207bbaed13053855e14f19600752361842fa03"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"d1a76b3fc315b7c1b89e81f232eb91b77b0747fe","unresolved":false,"context_lines":[{"line_number":14,"context_line":"- name: \"Copying over {{ project_name }} rules config\""},{"line_number":15,"context_line":"  template:"},{"line_number":16,"context_line":"    src: \"rules.yaml.j2\""},{"line_number":17,"context_line":"    dest: \"{{ node_config_directory }}/proxysql/rules/{{ project }}.yaml\""},{"line_number":18,"context_line":"    mode: \"0660\""},{"line_number":19,"context_line":"  become: true"},{"line_number":20,"context_line":"  when:"}],"source_content_type":"text/x-yaml","patch_set":95,"id":"701b2747_b486a412","line":17,"range":{"start_line":17,"start_character":57,"end_line":17,"end_character":65},"in_reply_to":"d0733395_5b9320cf","updated":"2022-07-13 16:21:31.000000000","message":"Done","commit_id":"0d207bbaed13053855e14f19600752361842fa03"}],"ansible/roles/proxysql-config/templates/rules.yaml.j2":[{"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":"e541a55aee3fa40aa0b7b66c19586e624aad7701","unresolved":true,"context_lines":[{"line_number":1,"context_line":"mysql_query_rules:"},{"line_number":2,"context_line":"{% for rule in project_database_shard[\u0027rules\u0027] %}"},{"line_number":3,"context_line":"{% set WRITER_GROUP \u003d rule[\u0027shard_id\u0027] | int * 10 %}"},{"line_number":4,"context_line":"  - schemaname: \"{{ rule[\u0027schema\u0027] }}\""}],"source_content_type":"text/x-jinja2","patch_set":95,"id":"25814edc_d4d6796a","line":1,"updated":"2022-07-01 19:50:41.000000000","message":"please include a comment what this file does; also please explain what each directive does and why defaults are not used (and what they are)","commit_id":"0d207bbaed13053855e14f19600752361842fa03"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"facbbe44b744d153787ac04d58c5f516b343ee0c","unresolved":false,"context_lines":[{"line_number":1,"context_line":"mysql_query_rules:"},{"line_number":2,"context_line":"{% for rule in project_database_shard[\u0027rules\u0027] %}"},{"line_number":3,"context_line":"{% set WRITER_GROUP \u003d rule[\u0027shard_id\u0027] | int * 10 %}"},{"line_number":4,"context_line":"  - schemaname: \"{{ rule[\u0027schema\u0027] }}\""}],"source_content_type":"text/x-jinja2","patch_set":95,"id":"9e8c095c_03d5f5e3","line":1,"in_reply_to":"25814edc_d4d6796a","updated":"2022-07-06 14:59:55.000000000","message":"Done","commit_id":"0d207bbaed13053855e14f19600752361842fa03"},{"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":"e541a55aee3fa40aa0b7b66c19586e624aad7701","unresolved":true,"context_lines":[{"line_number":1,"context_line":"mysql_query_rules:"},{"line_number":2,"context_line":"{% for rule in project_database_shard[\u0027rules\u0027] %}"},{"line_number":3,"context_line":"{% set WRITER_GROUP \u003d rule[\u0027shard_id\u0027] | int * 10 %}"},{"line_number":4,"context_line":"  - schemaname: \"{{ rule[\u0027schema\u0027] }}\""},{"line_number":5,"context_line":"    destination_hostgroup: {{ WRITER_GROUP }}"}],"source_content_type":"text/x-jinja2","patch_set":95,"id":"1e6dbc5f_6a535810","line":2,"range":{"start_line":2,"start_character":15,"end_line":2,"end_character":37},"updated":"2022-07-01 19:50:41.000000000","message":"you will not need this indirection (and avoid splattering this variable all over the place) if you follow the pattern from service-images-pull which dynamically obtains the name of the variable to read","commit_id":"0d207bbaed13053855e14f19600752361842fa03"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"facbbe44b744d153787ac04d58c5f516b343ee0c","unresolved":false,"context_lines":[{"line_number":1,"context_line":"mysql_query_rules:"},{"line_number":2,"context_line":"{% for rule in project_database_shard[\u0027rules\u0027] %}"},{"line_number":3,"context_line":"{% set WRITER_GROUP \u003d rule[\u0027shard_id\u0027] | int * 10 %}"},{"line_number":4,"context_line":"  - schemaname: \"{{ rule[\u0027schema\u0027] }}\""},{"line_number":5,"context_line":"    destination_hostgroup: {{ WRITER_GROUP }}"}],"source_content_type":"text/x-jinja2","patch_set":95,"id":"a1253a48_0148ef0f","line":2,"range":{"start_line":2,"start_character":15,"end_line":2,"end_character":37},"in_reply_to":"1e6dbc5f_6a535810","updated":"2022-07-06 14:59:55.000000000","message":"Implemented other way.","commit_id":"0d207bbaed13053855e14f19600752361842fa03"},{"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":"e972e389aaa8b41b653f0ee647c07d9c4412e227","unresolved":true,"context_lines":[{"line_number":1,"context_line":"mysql_query_rules:"},{"line_number":2,"context_line":"{% for rule in project_database_shard[\u0027rules\u0027] %}"},{"line_number":3,"context_line":"{% set WRITER_GROUP \u003d rule[\u0027shard_id\u0027] | int * 10 %}"},{"line_number":4,"context_line":"  - schemaname: \"{{ rule[\u0027schema\u0027] }}\""},{"line_number":5,"context_line":"    destination_hostgroup: {{ WRITER_GROUP }}"}],"source_content_type":"text/x-jinja2","patch_set":95,"id":"b9fc2a3e_58f7c02e","line":2,"range":{"start_line":2,"start_character":15,"end_line":2,"end_character":37},"in_reply_to":"a1253a48_0148ef0f","updated":"2022-07-09 14:32:58.000000000","message":"Yes, but not following the mentioned practices.","commit_id":"0d207bbaed13053855e14f19600752361842fa03"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"d1a76b3fc315b7c1b89e81f232eb91b77b0747fe","unresolved":false,"context_lines":[{"line_number":1,"context_line":"mysql_query_rules:"},{"line_number":2,"context_line":"{% for rule in project_database_shard[\u0027rules\u0027] %}"},{"line_number":3,"context_line":"{% set WRITER_GROUP \u003d rule[\u0027shard_id\u0027] | int * 10 %}"},{"line_number":4,"context_line":"  - schemaname: \"{{ rule[\u0027schema\u0027] }}\""},{"line_number":5,"context_line":"    destination_hostgroup: {{ WRITER_GROUP }}"}],"source_content_type":"text/x-jinja2","patch_set":95,"id":"0b452c3b_6c505400","line":2,"range":{"start_line":2,"start_character":15,"end_line":2,"end_character":37},"in_reply_to":"b9fc2a3e_58f7c02e","updated":"2022-07-13 16:21:31.000000000","message":"Now proxysql-config dynamically obtaining the name of the variable to read.","commit_id":"0d207bbaed13053855e14f19600752361842fa03"}],"ansible/roles/proxysql-config/templates/users.yaml.j2":[{"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":"e541a55aee3fa40aa0b7b66c19586e624aad7701","unresolved":true,"context_lines":[{"line_number":1,"context_line":"mysql_users:"},{"line_number":2,"context_line":"{% if project \u003d\u003d \u0027mariadb\u0027 %}"},{"line_number":3,"context_line":"{% for shard_id, hosts in mariadb_backends_info|groupby(\"shard_id\") %}"},{"line_number":4,"context_line":"{% set WRITER_GROUP \u003d shard_id | int * 10 %}"}],"source_content_type":"text/x-jinja2","patch_set":95,"id":"a09b8f8c_899d953d","line":1,"updated":"2022-07-01 19:50:41.000000000","message":"please include a comment what this file does; also please explain what each directive does and why defaults are not used (and what they are)","commit_id":"0d207bbaed13053855e14f19600752361842fa03"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"facbbe44b744d153787ac04d58c5f516b343ee0c","unresolved":false,"context_lines":[{"line_number":1,"context_line":"mysql_users:"},{"line_number":2,"context_line":"{% if project \u003d\u003d \u0027mariadb\u0027 %}"},{"line_number":3,"context_line":"{% for shard_id, hosts in mariadb_backends_info|groupby(\"shard_id\") %}"},{"line_number":4,"context_line":"{% set WRITER_GROUP \u003d shard_id | int * 10 %}"}],"source_content_type":"text/x-jinja2","patch_set":95,"id":"9d986eaf_f80ee100","line":1,"in_reply_to":"a09b8f8c_899d953d","updated":"2022-07-06 14:59:55.000000000","message":"Done","commit_id":"0d207bbaed13053855e14f19600752361842fa03"}],"ansible/site.yml":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"32357e29d46f9442b36533a7a3728c3b5eb331cf","unresolved":true,"context_lines":[{"line_number":132,"context_line":"  tags:"},{"line_number":133,"context_line":"    - haproxy"},{"line_number":134,"context_line":"    - proxysql"},{"line_number":135,"context_line":"    - loadbalancer"},{"line_number":136,"context_line":"  roles:"},{"line_number":137,"context_line":"    - { role: loadbalancer,"},{"line_number":138,"context_line":"        when: enable_loadbalancer | bool }"}],"source_content_type":"text/x-yaml","patch_set":19,"id":"27d479a9_63bfaefc","line":135,"updated":"2021-01-26 12:01:05.000000000","message":"nit: alpha","commit_id":"36904743d2ea4d8f7282da107019ce018e27d5e6"},{"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":"c9a57fbbcee9780c5b6d36e455c3254b10c72135","unresolved":true,"context_lines":[{"line_number":132,"context_line":"  tags:"},{"line_number":133,"context_line":"    - haproxy"},{"line_number":134,"context_line":"    - proxysql"},{"line_number":135,"context_line":"    - loadbalancer"},{"line_number":136,"context_line":"  roles:"},{"line_number":137,"context_line":"    - { role: loadbalancer,"},{"line_number":138,"context_line":"        when: enable_loadbalancer | bool }"}],"source_content_type":"text/x-yaml","patch_set":19,"id":"c8038138_2d611d76","line":135,"in_reply_to":"27d479a9_63bfaefc","updated":"2021-01-26 12:35:31.000000000","message":"Gamma?","commit_id":"36904743d2ea4d8f7282da107019ce018e27d5e6"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"e530f8984d21ac89eb656e514de83502c69a59ff","unresolved":false,"context_lines":[{"line_number":132,"context_line":"  tags:"},{"line_number":133,"context_line":"    - haproxy"},{"line_number":134,"context_line":"    - proxysql"},{"line_number":135,"context_line":"    - loadbalancer"},{"line_number":136,"context_line":"  roles:"},{"line_number":137,"context_line":"    - { role: loadbalancer,"},{"line_number":138,"context_line":"        when: enable_loadbalancer | bool }"}],"source_content_type":"text/x-yaml","patch_set":19,"id":"09f1b637_f55e7f66","line":135,"in_reply_to":"c8038138_2d611d76","updated":"2022-03-11 09:56:10.000000000","message":"Done","commit_id":"36904743d2ea4d8f7282da107019ce018e27d5e6"},{"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":"e541a55aee3fa40aa0b7b66c19586e624aad7701","unresolved":true,"context_lines":[{"line_number":62,"context_line":"        - enable_ovn_{{ enable_ovn | bool }}"},{"line_number":63,"context_line":"        - enable_placement_{{ enable_placement | bool }}"},{"line_number":64,"context_line":"        - enable_prometheus_{{ enable_prometheus | bool }}"},{"line_number":65,"context_line":"        - enable_proxysql_{{ enable_proxysql | bool }}"},{"line_number":66,"context_line":"        - enable_rabbitmq_{{ enable_rabbitmq | bool }}"},{"line_number":67,"context_line":"        - enable_redis_{{ enable_redis | bool }}"},{"line_number":68,"context_line":"        - enable_sahara_{{ enable_sahara | bool }}"}],"source_content_type":"text/x-yaml","patch_set":95,"id":"973c7de5_09973774","line":65,"updated":"2022-07-01 19:50:41.000000000","message":"not used","commit_id":"0d207bbaed13053855e14f19600752361842fa03"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"3f0ab1976767aede0b4140ae1a220a943493bb0c","unresolved":false,"context_lines":[{"line_number":62,"context_line":"        - enable_ovn_{{ enable_ovn | bool }}"},{"line_number":63,"context_line":"        - enable_placement_{{ enable_placement | bool }}"},{"line_number":64,"context_line":"        - enable_prometheus_{{ enable_prometheus | bool }}"},{"line_number":65,"context_line":"        - enable_proxysql_{{ enable_proxysql | bool }}"},{"line_number":66,"context_line":"        - enable_rabbitmq_{{ enable_rabbitmq | bool }}"},{"line_number":67,"context_line":"        - enable_redis_{{ enable_redis | bool }}"},{"line_number":68,"context_line":"        - enable_sahara_{{ enable_sahara | bool }}"}],"source_content_type":"text/x-yaml","patch_set":95,"id":"71ef9f18_a6dad2df","line":65,"in_reply_to":"973c7de5_09973774","updated":"2022-07-04 16:42:51.000000000","message":"Done","commit_id":"0d207bbaed13053855e14f19600752361842fa03"}],"etc/kolla/passwords.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":"e541a55aee3fa40aa0b7b66c19586e624aad7701","unresolved":true,"context_lines":[{"line_number":15,"context_line":"database_password:"},{"line_number":16,"context_line":"# Password for the dedicated backup user account"},{"line_number":17,"context_line":"mariadb_backup_database_password:"},{"line_number":18,"context_line":"# Password for monitor user"},{"line_number":19,"context_line":"mariadb_monitor_password:"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"####################"}],"source_content_type":"text/x-yaml","patch_set":95,"id":"3dfbc451_a40c6723","line":18,"range":{"start_line":18,"start_character":14,"end_line":18,"end_character":15},"updated":"2022-07-01 19:50:41.000000000","message":"nit: the","commit_id":"0d207bbaed13053855e14f19600752361842fa03"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"3f0ab1976767aede0b4140ae1a220a943493bb0c","unresolved":false,"context_lines":[{"line_number":15,"context_line":"database_password:"},{"line_number":16,"context_line":"# Password for the dedicated backup user account"},{"line_number":17,"context_line":"mariadb_backup_database_password:"},{"line_number":18,"context_line":"# Password for monitor user"},{"line_number":19,"context_line":"mariadb_monitor_password:"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"####################"}],"source_content_type":"text/x-yaml","patch_set":95,"id":"fb7b3b25_d51d77a1","line":18,"range":{"start_line":18,"start_character":14,"end_line":18,"end_character":15},"in_reply_to":"3dfbc451_a40c6723","updated":"2022-07-04 16:42:51.000000000","message":"Done","commit_id":"0d207bbaed13053855e14f19600752361842fa03"},{"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":"e541a55aee3fa40aa0b7b66c19586e624aad7701","unresolved":true,"context_lines":[{"line_number":16,"context_line":"# Password for the dedicated backup user account"},{"line_number":17,"context_line":"mariadb_backup_database_password:"},{"line_number":18,"context_line":"# Password for monitor user"},{"line_number":19,"context_line":"mariadb_monitor_password:"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"####################"},{"line_number":22,"context_line":"# Docker options"}],"source_content_type":"text/x-yaml","patch_set":95,"id":"920e6153_e61ff9c1","line":19,"updated":"2022-07-01 19:50:41.000000000","message":"please add, to the commit message at least, why we need this password now","commit_id":"0d207bbaed13053855e14f19600752361842fa03"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"3f0ab1976767aede0b4140ae1a220a943493bb0c","unresolved":false,"context_lines":[{"line_number":16,"context_line":"# Password for the dedicated backup user account"},{"line_number":17,"context_line":"mariadb_backup_database_password:"},{"line_number":18,"context_line":"# Password for monitor user"},{"line_number":19,"context_line":"mariadb_monitor_password:"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"####################"},{"line_number":22,"context_line":"# Docker options"}],"source_content_type":"text/x-yaml","patch_set":95,"id":"67f6b486_0ae6cf53","line":19,"in_reply_to":"920e6153_e61ff9c1","updated":"2022-07-04 16:42:51.000000000","message":"Done","commit_id":"0d207bbaed13053855e14f19600752361842fa03"},{"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":"e541a55aee3fa40aa0b7b66c19586e624aad7701","unresolved":true,"context_lines":[{"line_number":264,"context_line":"libvirt_sasl_password:"},{"line_number":265,"context_line":""},{"line_number":266,"context_line":"####################"},{"line_number":267,"context_line":"# ProxySQL admin"},{"line_number":268,"context_line":"####################"},{"line_number":269,"context_line":"proxysql_admin_password:"},{"line_number":270,"context_line":"proxysql_stats_password:"}],"source_content_type":"text/x-yaml","patch_set":95,"id":"413acb7e_bfe39b21","line":267,"range":{"start_line":267,"start_character":11,"end_line":267,"end_character":16},"updated":"2022-07-01 19:50:41.000000000","message":"not only admin, also stats; simply keep \"ProxySQL\" only - it\u0027s sufficient as a section name","commit_id":"0d207bbaed13053855e14f19600752361842fa03"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"3f0ab1976767aede0b4140ae1a220a943493bb0c","unresolved":false,"context_lines":[{"line_number":264,"context_line":"libvirt_sasl_password:"},{"line_number":265,"context_line":""},{"line_number":266,"context_line":"####################"},{"line_number":267,"context_line":"# ProxySQL admin"},{"line_number":268,"context_line":"####################"},{"line_number":269,"context_line":"proxysql_admin_password:"},{"line_number":270,"context_line":"proxysql_stats_password:"}],"source_content_type":"text/x-yaml","patch_set":95,"id":"bfea3de7_d20a6d82","line":267,"range":{"start_line":267,"start_character":11,"end_line":267,"end_character":16},"in_reply_to":"413acb7e_bfe39b21","updated":"2022-07-04 16:42:51.000000000","message":"Done","commit_id":"0d207bbaed13053855e14f19600752361842fa03"}],"kolla_ansible/database_shards.py":[{"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":"dcc85235c9e929aff0cf02d6ec4f02f52d3ae07f","unresolved":true,"context_lines":[{"line_number":82,"context_line":""},{"line_number":83,"context_line":"    for hostname in hostnames:"},{"line_number":84,"context_line":"        host \u003d hostvars.get(hostname)"},{"line_number":85,"context_line":"        host_shard_id \u003d host.get(\u0027mariadb_shard_id\u0027)"},{"line_number":86,"context_line":"        shard_ids.add(host_shard_id)"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    for shard_id in list(shard_ids):"}],"source_content_type":"text/x-python","patch_set":104,"id":"4a0b69a6_6486cc19","line":85,"updated":"2022-07-13 09:16:05.000000000","message":"you need to raise a FilterError if it does not exist; also, since you rely on it being a string, you can already convert it to a string","commit_id":"ac3aaea3bb996c2012652dd60a50f579e692929b"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"d1a76b3fc315b7c1b89e81f232eb91b77b0747fe","unresolved":false,"context_lines":[{"line_number":82,"context_line":""},{"line_number":83,"context_line":"    for hostname in hostnames:"},{"line_number":84,"context_line":"        host \u003d hostvars.get(hostname)"},{"line_number":85,"context_line":"        host_shard_id \u003d host.get(\u0027mariadb_shard_id\u0027)"},{"line_number":86,"context_line":"        shard_ids.add(host_shard_id)"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    for shard_id in list(shard_ids):"}],"source_content_type":"text/x-python","patch_set":104,"id":"49c54e6d_5a0b0b89","line":85,"in_reply_to":"4a0b69a6_6486cc19","updated":"2022-07-13 16:21:31.000000000","message":"Done","commit_id":"ac3aaea3bb996c2012652dd60a50f579e692929b"},{"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":"dcc85235c9e929aff0cf02d6ec4f02f52d3ae07f","unresolved":true,"context_lines":[{"line_number":83,"context_line":"    for hostname in hostnames:"},{"line_number":84,"context_line":"        host \u003d hostvars.get(hostname)"},{"line_number":85,"context_line":"        host_shard_id \u003d host.get(\u0027mariadb_shard_id\u0027)"},{"line_number":86,"context_line":"        shard_ids.add(host_shard_id)"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    for shard_id in list(shard_ids):"},{"line_number":89,"context_line":"        shard_hosts \u003d {\u0027hosts\u0027: []}"}],"source_content_type":"text/x-python","patch_set":104,"id":"05405df1_dee9f48c","line":86,"updated":"2022-07-13 09:16:05.000000000","message":"you should already add the hosts here, it is wasteful to iterate over hosts again and again; also, you can simply use the keys of the shards map because it is the same set","commit_id":"ac3aaea3bb996c2012652dd60a50f579e692929b"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"d1a76b3fc315b7c1b89e81f232eb91b77b0747fe","unresolved":false,"context_lines":[{"line_number":83,"context_line":"    for hostname in hostnames:"},{"line_number":84,"context_line":"        host \u003d hostvars.get(hostname)"},{"line_number":85,"context_line":"        host_shard_id \u003d host.get(\u0027mariadb_shard_id\u0027)"},{"line_number":86,"context_line":"        shard_ids.add(host_shard_id)"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    for shard_id in list(shard_ids):"},{"line_number":89,"context_line":"        shard_hosts \u003d {\u0027hosts\u0027: []}"}],"source_content_type":"text/x-python","patch_set":104,"id":"9c6503d1_b45f8058","line":86,"in_reply_to":"05405df1_dee9f48c","updated":"2022-07-13 16:21:31.000000000","message":"Done","commit_id":"ac3aaea3bb996c2012652dd60a50f579e692929b"},{"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":"dcc85235c9e929aff0cf02d6ec4f02f52d3ae07f","unresolved":true,"context_lines":[{"line_number":85,"context_line":"        host_shard_id \u003d host.get(\u0027mariadb_shard_id\u0027)"},{"line_number":86,"context_line":"        shard_ids.add(host_shard_id)"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    for shard_id in list(shard_ids):"},{"line_number":89,"context_line":"        shard_hosts \u003d {\u0027hosts\u0027: []}"},{"line_number":90,"context_line":"        shard_info \u003d {shard_id: shard_hosts}"},{"line_number":91,"context_line":"        for hostname in hostnames:"}],"source_content_type":"text/x-python","patch_set":104,"id":"84860b47_326d28c3","line":88,"range":{"start_line":88,"start_character":20,"end_line":88,"end_character":24},"updated":"2022-07-13 09:16:05.000000000","message":"this is not necessary","commit_id":"ac3aaea3bb996c2012652dd60a50f579e692929b"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"d1a76b3fc315b7c1b89e81f232eb91b77b0747fe","unresolved":false,"context_lines":[{"line_number":85,"context_line":"        host_shard_id \u003d host.get(\u0027mariadb_shard_id\u0027)"},{"line_number":86,"context_line":"        shard_ids.add(host_shard_id)"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    for shard_id in list(shard_ids):"},{"line_number":89,"context_line":"        shard_hosts \u003d {\u0027hosts\u0027: []}"},{"line_number":90,"context_line":"        shard_info \u003d {shard_id: shard_hosts}"},{"line_number":91,"context_line":"        for hostname in hostnames:"}],"source_content_type":"text/x-python","patch_set":104,"id":"2399004d_6d7b047b","line":88,"range":{"start_line":88,"start_character":20,"end_line":88,"end_character":24},"in_reply_to":"84860b47_326d28c3","updated":"2022-07-13 16:21:31.000000000","message":"Done","commit_id":"ac3aaea3bb996c2012652dd60a50f579e692929b"},{"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":"dcc85235c9e929aff0cf02d6ec4f02f52d3ae07f","unresolved":true,"context_lines":[{"line_number":100,"context_line":"            raise FilterError(\"\u0027enable_mariabackup\u0027 variable is unavailable\")"},{"line_number":101,"context_line":"        backup_enabled \u003d _call_bool_filter(context, backup_enabled)"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"        db_password \u003d host.get(\u0027database_password\u0027)"},{"line_number":104,"context_line":"        db_user \u003d host.get(\u0027mariadb_shard_root_user_prefix\u0027) + str(shard_id)"},{"line_number":105,"context_line":"        user_dict \u003d {\u0027password\u0027: db_password, \u0027user\u0027: db_user,"},{"line_number":106,"context_line":"                     \u0027shard_id\u0027: str(shard_id)}"}],"source_content_type":"text/x-python","patch_set":104,"id":"2ffa219b_418d1171","line":103,"updated":"2022-07-13 09:16:05.000000000","message":"you need to raise a FilterError if it does not exist","commit_id":"ac3aaea3bb996c2012652dd60a50f579e692929b"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"d1a76b3fc315b7c1b89e81f232eb91b77b0747fe","unresolved":false,"context_lines":[{"line_number":100,"context_line":"            raise FilterError(\"\u0027enable_mariabackup\u0027 variable is unavailable\")"},{"line_number":101,"context_line":"        backup_enabled \u003d _call_bool_filter(context, backup_enabled)"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"        db_password \u003d host.get(\u0027database_password\u0027)"},{"line_number":104,"context_line":"        db_user \u003d host.get(\u0027mariadb_shard_root_user_prefix\u0027) + str(shard_id)"},{"line_number":105,"context_line":"        user_dict \u003d {\u0027password\u0027: db_password, \u0027user\u0027: db_user,"},{"line_number":106,"context_line":"                     \u0027shard_id\u0027: str(shard_id)}"}],"source_content_type":"text/x-python","patch_set":104,"id":"27bdef1c_4ea005d0","line":103,"in_reply_to":"2ffa219b_418d1171","updated":"2022-07-13 16:21:31.000000000","message":"Done","commit_id":"ac3aaea3bb996c2012652dd60a50f579e692929b"},{"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":"dcc85235c9e929aff0cf02d6ec4f02f52d3ae07f","unresolved":true,"context_lines":[{"line_number":101,"context_line":"        backup_enabled \u003d _call_bool_filter(context, backup_enabled)"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"        db_password \u003d host.get(\u0027database_password\u0027)"},{"line_number":104,"context_line":"        db_user \u003d host.get(\u0027mariadb_shard_root_user_prefix\u0027) + str(shard_id)"},{"line_number":105,"context_line":"        user_dict \u003d {\u0027password\u0027: db_password, \u0027user\u0027: db_user,"},{"line_number":106,"context_line":"                     \u0027shard_id\u0027: str(shard_id)}"},{"line_number":107,"context_line":"        shards_info[\u0027users\u0027].append(user_dict)"}],"source_content_type":"text/x-python","patch_set":104,"id":"0ce52bd7_eae48cc9","line":104,"updated":"2022-07-13 09:16:05.000000000","message":"not necessary; also, I suggest to obtain the other variable first (as you need it for error checking anyway) and then construct this one with an f-string","commit_id":"ac3aaea3bb996c2012652dd60a50f579e692929b"},{"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":"dcc85235c9e929aff0cf02d6ec4f02f52d3ae07f","unresolved":true,"context_lines":[{"line_number":101,"context_line":"        backup_enabled \u003d _call_bool_filter(context, backup_enabled)"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"        db_password \u003d host.get(\u0027database_password\u0027)"},{"line_number":104,"context_line":"        db_user \u003d host.get(\u0027mariadb_shard_root_user_prefix\u0027) + str(shard_id)"},{"line_number":105,"context_line":"        user_dict \u003d {\u0027password\u0027: db_password, \u0027user\u0027: db_user,"},{"line_number":106,"context_line":"                     \u0027shard_id\u0027: str(shard_id)}"},{"line_number":107,"context_line":"        shards_info[\u0027users\u0027].append(user_dict)"}],"source_content_type":"text/x-python","patch_set":104,"id":"82aa24d3_79dee332","line":104,"updated":"2022-07-13 09:16:05.000000000","message":"you need to raise a FilterError if it does not exist","commit_id":"ac3aaea3bb996c2012652dd60a50f579e692929b"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"d1a76b3fc315b7c1b89e81f232eb91b77b0747fe","unresolved":false,"context_lines":[{"line_number":101,"context_line":"        backup_enabled \u003d _call_bool_filter(context, backup_enabled)"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"        db_password \u003d host.get(\u0027database_password\u0027)"},{"line_number":104,"context_line":"        db_user \u003d host.get(\u0027mariadb_shard_root_user_prefix\u0027) + str(shard_id)"},{"line_number":105,"context_line":"        user_dict \u003d {\u0027password\u0027: db_password, \u0027user\u0027: db_user,"},{"line_number":106,"context_line":"                     \u0027shard_id\u0027: str(shard_id)}"},{"line_number":107,"context_line":"        shards_info[\u0027users\u0027].append(user_dict)"}],"source_content_type":"text/x-python","patch_set":104,"id":"d9c453aa_fcb31152","line":104,"in_reply_to":"0ce52bd7_eae48cc9","updated":"2022-07-13 16:21:31.000000000","message":"Done","commit_id":"ac3aaea3bb996c2012652dd60a50f579e692929b"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"d1a76b3fc315b7c1b89e81f232eb91b77b0747fe","unresolved":false,"context_lines":[{"line_number":101,"context_line":"        backup_enabled \u003d _call_bool_filter(context, backup_enabled)"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"        db_password \u003d host.get(\u0027database_password\u0027)"},{"line_number":104,"context_line":"        db_user \u003d host.get(\u0027mariadb_shard_root_user_prefix\u0027) + str(shard_id)"},{"line_number":105,"context_line":"        user_dict \u003d {\u0027password\u0027: db_password, \u0027user\u0027: db_user,"},{"line_number":106,"context_line":"                     \u0027shard_id\u0027: str(shard_id)}"},{"line_number":107,"context_line":"        shards_info[\u0027users\u0027].append(user_dict)"}],"source_content_type":"text/x-python","patch_set":104,"id":"667465f0_ccfc3c4e","line":104,"in_reply_to":"82aa24d3_79dee332","updated":"2022-07-13 16:21:31.000000000","message":"Done","commit_id":"ac3aaea3bb996c2012652dd60a50f579e692929b"},{"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":"dcc85235c9e929aff0cf02d6ec4f02f52d3ae07f","unresolved":true,"context_lines":[{"line_number":108,"context_line":""},{"line_number":109,"context_line":"        if backup_enabled:"},{"line_number":110,"context_line":"            db_user \u003d host.get(\u0027mariadb_shard_backup_user_prefix\u0027).\\"},{"line_number":111,"context_line":"                join(str(shard_id))"},{"line_number":112,"context_line":"            user_dict \u003d {\u0027password\u0027: db_password, \u0027user\u0027: db_user,"},{"line_number":113,"context_line":"                         \u0027shard_id\u0027: str(shard_id)}"},{"line_number":114,"context_line":"            shards_info[\u0027users\u0027].append(user_dict)"}],"source_content_type":"text/x-python","patch_set":104,"id":"bcb1bdab_dbab1309","line":111,"updated":"2022-07-13 09:16:05.000000000","message":"ditto all comments on mariadb_shard_root_user_prefix; btw, it\u0027s interesting you used .join in here and + there ;-)","commit_id":"ac3aaea3bb996c2012652dd60a50f579e692929b"},{"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":"e4e0f8a3055dd1f12fcc57cedcf0b1973770da92","unresolved":false,"context_lines":[{"line_number":108,"context_line":""},{"line_number":109,"context_line":"        if backup_enabled:"},{"line_number":110,"context_line":"            db_user \u003d host.get(\u0027mariadb_shard_backup_user_prefix\u0027).\\"},{"line_number":111,"context_line":"                join(str(shard_id))"},{"line_number":112,"context_line":"            user_dict \u003d {\u0027password\u0027: db_password, \u0027user\u0027: db_user,"},{"line_number":113,"context_line":"                         \u0027shard_id\u0027: str(shard_id)}"},{"line_number":114,"context_line":"            shards_info[\u0027users\u0027].append(user_dict)"}],"source_content_type":"text/x-python","patch_set":104,"id":"5e61ae3e_902a3455","line":111,"in_reply_to":"3ae58714_20efe1dc","updated":"2022-07-13 17:12:45.000000000","message":"Nice. :D","commit_id":"ac3aaea3bb996c2012652dd60a50f579e692929b"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"d1a76b3fc315b7c1b89e81f232eb91b77b0747fe","unresolved":false,"context_lines":[{"line_number":108,"context_line":""},{"line_number":109,"context_line":"        if backup_enabled:"},{"line_number":110,"context_line":"            db_user \u003d host.get(\u0027mariadb_shard_backup_user_prefix\u0027).\\"},{"line_number":111,"context_line":"                join(str(shard_id))"},{"line_number":112,"context_line":"            user_dict \u003d {\u0027password\u0027: db_password, \u0027user\u0027: db_user,"},{"line_number":113,"context_line":"                         \u0027shard_id\u0027: str(shard_id)}"},{"line_number":114,"context_line":"            shards_info[\u0027users\u0027].append(user_dict)"}],"source_content_type":"text/x-python","patch_set":104,"id":"3ae58714_20efe1dc","line":111,"in_reply_to":"bcb1bdab_dbab1309","updated":"2022-07-13 16:21:31.000000000","message":"haha i had + in both case, but then I thought about whether I would be asked why I didn\u0027t use join :D ... But yeah, I didn\u0027t change in both places :D","commit_id":"ac3aaea3bb996c2012652dd60a50f579e692929b"},{"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":"e2b83acfa2af7020cb38804734a85ae37c32911d","unresolved":true,"context_lines":[{"line_number":111,"context_line":"                raise FilterError(\"\u0027mariadb_shard_root_user_prefix\u0027 variable \""},{"line_number":112,"context_line":"                                  \"is unavailable\")"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"            db_backup_prefix \u003d host.get(\u0027mariadb_shard_backup_user_prefix\u0027)"},{"line_number":115,"context_line":"            if db_backup_prefix is None:"},{"line_number":116,"context_line":"                raise FilterError(\"\u0027mariadb_shard_backup_user_prefix\u0027 \""},{"line_number":117,"context_line":"                                  \"variable is unavailable\")"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"            db_user \u003d f\"{db_root_prefix}{host_shard_id}\""},{"line_number":120,"context_line":"            user_dict \u003d {\u0027password\u0027: db_password, \u0027user\u0027: db_user,"}],"source_content_type":"text/x-python","patch_set":113,"id":"e6192a57_b46f8873","line":117,"range":{"start_line":114,"start_character":0,"end_line":117,"end_character":60},"updated":"2022-07-28 14:21:52.000000000","message":"Just move this under \"if backup_enabled\"","commit_id":"faf70253d795e964700c98c04405dd7266818449"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"b97efd9de8345a0aa4cc516b1a63305bc061e395","unresolved":false,"context_lines":[{"line_number":111,"context_line":"                raise FilterError(\"\u0027mariadb_shard_root_user_prefix\u0027 variable \""},{"line_number":112,"context_line":"                                  \"is unavailable\")"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"            db_backup_prefix \u003d host.get(\u0027mariadb_shard_backup_user_prefix\u0027)"},{"line_number":115,"context_line":"            if db_backup_prefix is None:"},{"line_number":116,"context_line":"                raise FilterError(\"\u0027mariadb_shard_backup_user_prefix\u0027 \""},{"line_number":117,"context_line":"                                  \"variable is unavailable\")"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"            db_user \u003d f\"{db_root_prefix}{host_shard_id}\""},{"line_number":120,"context_line":"            user_dict \u003d {\u0027password\u0027: db_password, \u0027user\u0027: db_user,"}],"source_content_type":"text/x-python","patch_set":113,"id":"1e13335f_aeac9875","line":117,"range":{"start_line":114,"start_character":0,"end_line":117,"end_character":60},"in_reply_to":"e6192a57_b46f8873","updated":"2022-07-28 15:09:50.000000000","message":"Done","commit_id":"faf70253d795e964700c98c04405dd7266818449"}],"kolla_ansible/tests/unit/test_database_filters.py":[{"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":"6f1ce4f9391d116ede95c7a13927905ec7a1968c","unresolved":true,"context_lines":[{"line_number":138,"context_line":"                    \u0027enable_mariabackup\u0027: enable_mariabackup,"},{"line_number":139,"context_line":"                    \u0027database_password\u0027: db_cred,"},{"line_number":140,"context_line":"                    \u0027mariadb_shard_root_user_prefix\u0027: root_prefix,"},{"line_number":141,"context_line":"                    \u0027mariadb_shard_backup_user_prefix\u0027: backup_prefix,"},{"line_number":142,"context_line":"                },"},{"line_number":143,"context_line":"                \u0027secondary1\u0027: {"},{"line_number":144,"context_line":"                    \u0027mariadb_shard_id\u0027: db_shards[0],"}],"source_content_type":"text/x-python","patch_set":113,"id":"9e4f0c10_c5f3d2ca","line":141,"updated":"2022-07-28 14:06:04.000000000","message":"can be dropped, no?","commit_id":"faf70253d795e964700c98c04405dd7266818449"},{"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":"8368863531677fbb4c526e5e3162a9a576eed249","unresolved":true,"context_lines":[{"line_number":138,"context_line":"                    \u0027enable_mariabackup\u0027: enable_mariabackup,"},{"line_number":139,"context_line":"                    \u0027database_password\u0027: db_cred,"},{"line_number":140,"context_line":"                    \u0027mariadb_shard_root_user_prefix\u0027: root_prefix,"},{"line_number":141,"context_line":"                    \u0027mariadb_shard_backup_user_prefix\u0027: backup_prefix,"},{"line_number":142,"context_line":"                },"},{"line_number":143,"context_line":"                \u0027secondary1\u0027: {"},{"line_number":144,"context_line":"                    \u0027mariadb_shard_id\u0027: db_shards[0],"}],"source_content_type":"text/x-python","patch_set":113,"id":"e3ce8158_f4d2efa8","line":141,"in_reply_to":"537bbae6_7c6de4ae","updated":"2022-07-28 14:10:18.000000000","message":"I mean, the filter should not read it if backup is disabled, no?","commit_id":"faf70253d795e964700c98c04405dd7266818449"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"2c89a4f3f90778a36920df2b82bc077b415031f0","unresolved":true,"context_lines":[{"line_number":138,"context_line":"                    \u0027enable_mariabackup\u0027: enable_mariabackup,"},{"line_number":139,"context_line":"                    \u0027database_password\u0027: db_cred,"},{"line_number":140,"context_line":"                    \u0027mariadb_shard_root_user_prefix\u0027: root_prefix,"},{"line_number":141,"context_line":"                    \u0027mariadb_shard_backup_user_prefix\u0027: backup_prefix,"},{"line_number":142,"context_line":"                },"},{"line_number":143,"context_line":"                \u0027secondary1\u0027: {"},{"line_number":144,"context_line":"                    \u0027mariadb_shard_id\u0027: db_shards[0],"}],"source_content_type":"text/x-python","patch_set":113,"id":"537bbae6_7c6de4ae","line":141,"in_reply_to":"9e4f0c10_c5f3d2ca","updated":"2022-07-28 14:09:01.000000000","message":"Yeah, probably it can be dropped, as that filter is reading passwords, prefixes ..etc from hostvars (which is defined in passwords or globals) - I can just test if variable exist as I am doing with mariadb_shard_id.\n\nAm I correct ? If yes, yeah, then I can drop.","commit_id":"faf70253d795e964700c98c04405dd7266818449"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"e51509b1b8e6a1555c7401a4439a5e3705551bd2","unresolved":true,"context_lines":[{"line_number":138,"context_line":"                    \u0027enable_mariabackup\u0027: enable_mariabackup,"},{"line_number":139,"context_line":"                    \u0027database_password\u0027: db_cred,"},{"line_number":140,"context_line":"                    \u0027mariadb_shard_root_user_prefix\u0027: root_prefix,"},{"line_number":141,"context_line":"                    \u0027mariadb_shard_backup_user_prefix\u0027: backup_prefix,"},{"line_number":142,"context_line":"                },"},{"line_number":143,"context_line":"                \u0027secondary1\u0027: {"},{"line_number":144,"context_line":"                    \u0027mariadb_shard_id\u0027: db_shards[0],"}],"source_content_type":"text/x-python","patch_set":113,"id":"f1af1eb5_90c7287a","line":141,"in_reply_to":"e3ce8158_f4d2efa8","updated":"2022-07-28 14:11:58.000000000","message":"Well, I don\u0027t know ..firstly I had that dict defined in group vars, but you suggested me to move logic to python. Now, I don\u0027t know what to do ..","commit_id":"faf70253d795e964700c98c04405dd7266818449"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"b97efd9de8345a0aa4cc516b1a63305bc061e395","unresolved":false,"context_lines":[{"line_number":138,"context_line":"                    \u0027enable_mariabackup\u0027: enable_mariabackup,"},{"line_number":139,"context_line":"                    \u0027database_password\u0027: db_cred,"},{"line_number":140,"context_line":"                    \u0027mariadb_shard_root_user_prefix\u0027: root_prefix,"},{"line_number":141,"context_line":"                    \u0027mariadb_shard_backup_user_prefix\u0027: backup_prefix,"},{"line_number":142,"context_line":"                },"},{"line_number":143,"context_line":"                \u0027secondary1\u0027: {"},{"line_number":144,"context_line":"                    \u0027mariadb_shard_id\u0027: db_shards[0],"}],"source_content_type":"text/x-python","patch_set":113,"id":"18e9b3de_c78196e0","line":141,"in_reply_to":"f1af1eb5_90c7287a","updated":"2022-07-28 15:09:50.000000000","message":"Done","commit_id":"faf70253d795e964700c98c04405dd7266818449"},{"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":"6f1ce4f9391d116ede95c7a13927905ec7a1968c","unresolved":true,"context_lines":[{"line_number":145,"context_line":"                    \u0027enable_mariabackup\u0027: enable_mariabackup,"},{"line_number":146,"context_line":"                    \u0027database_password\u0027: db_cred,"},{"line_number":147,"context_line":"                    \u0027mariadb_shard_root_user_prefix\u0027: root_prefix,"},{"line_number":148,"context_line":"                    \u0027mariadb_shard_backup_user_prefix\u0027: backup_prefix,"},{"line_number":149,"context_line":"                },"},{"line_number":150,"context_line":"                \u0027secondary2\u0027: {"},{"line_number":151,"context_line":"                    \u0027mariadb_shard_id\u0027: db_shards[1],"}],"source_content_type":"text/x-python","patch_set":113,"id":"380d2130_d0d89451","line":148,"updated":"2022-07-28 14:06:04.000000000","message":"ditto","commit_id":"faf70253d795e964700c98c04405dd7266818449"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"b97efd9de8345a0aa4cc516b1a63305bc061e395","unresolved":false,"context_lines":[{"line_number":145,"context_line":"                    \u0027enable_mariabackup\u0027: enable_mariabackup,"},{"line_number":146,"context_line":"                    \u0027database_password\u0027: db_cred,"},{"line_number":147,"context_line":"                    \u0027mariadb_shard_root_user_prefix\u0027: root_prefix,"},{"line_number":148,"context_line":"                    \u0027mariadb_shard_backup_user_prefix\u0027: backup_prefix,"},{"line_number":149,"context_line":"                },"},{"line_number":150,"context_line":"                \u0027secondary2\u0027: {"},{"line_number":151,"context_line":"                    \u0027mariadb_shard_id\u0027: db_shards[1],"}],"source_content_type":"text/x-python","patch_set":113,"id":"c3245e9c_271a2b55","line":148,"in_reply_to":"380d2130_d0d89451","updated":"2022-07-28 15:09:50.000000000","message":"Done","commit_id":"faf70253d795e964700c98c04405dd7266818449"},{"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":"6f1ce4f9391d116ede95c7a13927905ec7a1968c","unresolved":true,"context_lines":[{"line_number":152,"context_line":"                    \u0027enable_mariabackup\u0027: enable_mariabackup,"},{"line_number":153,"context_line":"                    \u0027database_password\u0027: db_cred,"},{"line_number":154,"context_line":"                    \u0027mariadb_shard_root_user_prefix\u0027: root_prefix,"},{"line_number":155,"context_line":"                    \u0027mariadb_shard_backup_user_prefix\u0027: backup_prefix,"},{"line_number":156,"context_line":"                },"},{"line_number":157,"context_line":"            },"},{"line_number":158,"context_line":"        })"}],"source_content_type":"text/x-python","patch_set":113,"id":"f74ddb4f_2cca7b91","line":155,"updated":"2022-07-28 14:06:04.000000000","message":"ditto","commit_id":"faf70253d795e964700c98c04405dd7266818449"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"b97efd9de8345a0aa4cc516b1a63305bc061e395","unresolved":false,"context_lines":[{"line_number":152,"context_line":"                    \u0027enable_mariabackup\u0027: enable_mariabackup,"},{"line_number":153,"context_line":"                    \u0027database_password\u0027: db_cred,"},{"line_number":154,"context_line":"                    \u0027mariadb_shard_root_user_prefix\u0027: root_prefix,"},{"line_number":155,"context_line":"                    \u0027mariadb_shard_backup_user_prefix\u0027: backup_prefix,"},{"line_number":156,"context_line":"                },"},{"line_number":157,"context_line":"            },"},{"line_number":158,"context_line":"        })"}],"source_content_type":"text/x-python","patch_set":113,"id":"291e8bfb_10f7230a","line":155,"in_reply_to":"f74ddb4f_2cca7b91","updated":"2022-07-28 15:09:50.000000000","message":"Done","commit_id":"faf70253d795e964700c98c04405dd7266818449"},{"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":"6f1ce4f9391d116ede95c7a13927905ec7a1968c","unresolved":true,"context_lines":[{"line_number":186,"context_line":"        }"},{"line_number":187,"context_line":"        self.assertEqual(result, database_shards_info(context, hostnames))"},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"    def test_valid_shards_info_with_different_users_and_pass(self):"},{"line_number":190,"context_line":"        hostnames \u003d [\u0027primary\u0027, \u0027secondary1\u0027, \u0027secondary2\u0027]"},{"line_number":191,"context_line":"        enable_mariabackup \u003d \u0027yes\u0027"},{"line_number":192,"context_line":"        root_prefix \u003d \u0027superman_shard_\u0027"}],"source_content_type":"text/x-python","patch_set":113,"id":"c18caa0b_d6ca0579","line":189,"range":{"start_line":189,"start_character":8,"end_line":189,"end_character":60},"updated":"2022-07-28 14:06:04.000000000","message":"I suggest to improve this unit test so that the different entries have different values (and not just different from previous tests).","commit_id":"faf70253d795e964700c98c04405dd7266818449"},{"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":"dbb5b8105c4716e79a923719987dceb8a7f260c3","unresolved":true,"context_lines":[{"line_number":186,"context_line":"        }"},{"line_number":187,"context_line":"        self.assertEqual(result, database_shards_info(context, hostnames))"},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"    def test_valid_shards_info_with_different_users_and_pass(self):"},{"line_number":190,"context_line":"        hostnames \u003d [\u0027primary\u0027, \u0027secondary1\u0027, \u0027secondary2\u0027]"},{"line_number":191,"context_line":"        enable_mariabackup \u003d \u0027yes\u0027"},{"line_number":192,"context_line":"        root_prefix \u003d \u0027superman_shard_\u0027"}],"source_content_type":"text/x-python","patch_set":113,"id":"3d6b8946_80d901c2","line":189,"range":{"start_line":189,"start_character":8,"end_line":189,"end_character":60},"in_reply_to":"2c11a277_099a3aa2","updated":"2022-07-29 09:54:24.000000000","message":"Before you overwork yourself... I have proposed what I had in mind. ;-) All +2.","commit_id":"faf70253d795e964700c98c04405dd7266818449"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"489611d1bcdec21f9e133b9412471c110b51fdbf","unresolved":false,"context_lines":[{"line_number":186,"context_line":"        }"},{"line_number":187,"context_line":"        self.assertEqual(result, database_shards_info(context, hostnames))"},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"    def test_valid_shards_info_with_different_users_and_pass(self):"},{"line_number":190,"context_line":"        hostnames \u003d [\u0027primary\u0027, \u0027secondary1\u0027, \u0027secondary2\u0027]"},{"line_number":191,"context_line":"        enable_mariabackup \u003d \u0027yes\u0027"},{"line_number":192,"context_line":"        root_prefix \u003d \u0027superman_shard_\u0027"}],"source_content_type":"text/x-python","patch_set":113,"id":"b8d6a868_200c3e41","line":189,"range":{"start_line":189,"start_character":8,"end_line":189,"end_character":60},"in_reply_to":"3d6b8946_80d901c2","updated":"2022-07-29 13:00:19.000000000","message":"hh, thank you :)","commit_id":"faf70253d795e964700c98c04405dd7266818449"},{"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":"acaebda131c1493c9a67a89e74e043bc96a2eea4","unresolved":true,"context_lines":[{"line_number":186,"context_line":"        }"},{"line_number":187,"context_line":"        self.assertEqual(result, database_shards_info(context, hostnames))"},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"    def test_valid_shards_info_with_different_users_and_pass(self):"},{"line_number":190,"context_line":"        hostnames \u003d [\u0027primary\u0027, \u0027secondary1\u0027, \u0027secondary2\u0027]"},{"line_number":191,"context_line":"        enable_mariabackup \u003d \u0027yes\u0027"},{"line_number":192,"context_line":"        root_prefix \u003d \u0027superman_shard_\u0027"}],"source_content_type":"text/x-python","patch_set":113,"id":"bc274468_c6e52a8a","line":189,"range":{"start_line":189,"start_character":8,"end_line":189,"end_character":60},"in_reply_to":"5360aa66_2a0a2fcd","updated":"2022-07-28 17:32:59.000000000","message":"I just mean to test more difference between the hosts, that\u0027s all. I have just given you an example. ;-)","commit_id":"faf70253d795e964700c98c04405dd7266818449"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"1e60fa832f0ce4f6c7720974fa320a61de07e713","unresolved":true,"context_lines":[{"line_number":186,"context_line":"        }"},{"line_number":187,"context_line":"        self.assertEqual(result, database_shards_info(context, hostnames))"},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"    def test_valid_shards_info_with_different_users_and_pass(self):"},{"line_number":190,"context_line":"        hostnames \u003d [\u0027primary\u0027, \u0027secondary1\u0027, \u0027secondary2\u0027]"},{"line_number":191,"context_line":"        enable_mariabackup \u003d \u0027yes\u0027"},{"line_number":192,"context_line":"        root_prefix \u003d \u0027superman_shard_\u0027"}],"source_content_type":"text/x-python","patch_set":113,"id":"5360aa66_2a0a2fcd","line":189,"range":{"start_line":189,"start_character":8,"end_line":189,"end_character":60},"in_reply_to":"66cd5b14_12e18751","updated":"2022-07-28 17:31:00.000000000","message":"But I have to also say, that this is not integration tests. It\u0027s unit test, so it covers functionality of filter. And as that filter is just \"converation\" between what ansible see to some dict what i need to have available - it\u0027s testing simple cases.\n\nWhat I am trying to say, that filter is looping through hosts, and if there is test with enable_mariabackup : no and it works, there is no need to test same thing with different host - because it is covered with test i mentioned.","commit_id":"faf70253d795e964700c98c04405dd7266818449"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"5622f2c42a386784a9aa83050ecb4b45ccdad335","unresolved":true,"context_lines":[{"line_number":186,"context_line":"        }"},{"line_number":187,"context_line":"        self.assertEqual(result, database_shards_info(context, hostnames))"},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"    def test_valid_shards_info_with_different_users_and_pass(self):"},{"line_number":190,"context_line":"        hostnames \u003d [\u0027primary\u0027, \u0027secondary1\u0027, \u0027secondary2\u0027]"},{"line_number":191,"context_line":"        enable_mariabackup \u003d \u0027yes\u0027"},{"line_number":192,"context_line":"        root_prefix \u003d \u0027superman_shard_\u0027"}],"source_content_type":"text/x-python","patch_set":113,"id":"66cd5b14_12e18751","line":189,"range":{"start_line":189,"start_character":8,"end_line":189,"end_character":60},"in_reply_to":"86bdae09_2444408f","updated":"2022-07-28 17:26:27.000000000","message":"Backup is global variable, but yeah, understand that you can override by host variable and it will work.\n\nSo, could you please say which scenarios I should cover ? \nOr, feel free to modify that test.","commit_id":"faf70253d795e964700c98c04405dd7266818449"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"bb9c22d54fd20c75cd68b94b197f4f7458026445","unresolved":true,"context_lines":[{"line_number":186,"context_line":"        }"},{"line_number":187,"context_line":"        self.assertEqual(result, database_shards_info(context, hostnames))"},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"    def test_valid_shards_info_with_different_users_and_pass(self):"},{"line_number":190,"context_line":"        hostnames \u003d [\u0027primary\u0027, \u0027secondary1\u0027, \u0027secondary2\u0027]"},{"line_number":191,"context_line":"        enable_mariabackup \u003d \u0027yes\u0027"},{"line_number":192,"context_line":"        root_prefix \u003d \u0027superman_shard_\u0027"}],"source_content_type":"text/x-python","patch_set":113,"id":"2c11a277_099a3aa2","line":189,"range":{"start_line":189,"start_character":8,"end_line":189,"end_character":60},"in_reply_to":"bc274468_c6e52a8a","updated":"2022-07-28 20:12:46.000000000","message":"Ok, i will think about it and will provide as lot tests as I can imagine.","commit_id":"faf70253d795e964700c98c04405dd7266818449"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"b97efd9de8345a0aa4cc516b1a63305bc061e395","unresolved":true,"context_lines":[{"line_number":186,"context_line":"        }"},{"line_number":187,"context_line":"        self.assertEqual(result, database_shards_info(context, hostnames))"},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"    def test_valid_shards_info_with_different_users_and_pass(self):"},{"line_number":190,"context_line":"        hostnames \u003d [\u0027primary\u0027, \u0027secondary1\u0027, \u0027secondary2\u0027]"},{"line_number":191,"context_line":"        enable_mariabackup \u003d \u0027yes\u0027"},{"line_number":192,"context_line":"        root_prefix \u003d \u0027superman_shard_\u0027"}],"source_content_type":"text/x-python","patch_set":113,"id":"e3c7664a_768817e6","line":189,"range":{"start_line":189,"start_character":8,"end_line":189,"end_character":60},"in_reply_to":"c18caa0b_d6ca0579","updated":"2022-07-28 15:09:50.000000000","message":"maybe i am slow today, but what do you want ? \nDifferent values/ different entries ? \n\nChange primary, secondary, secondary2 and other variables to something else ? \nOr create some lists/dicts and try filter several times or what ?","commit_id":"faf70253d795e964700c98c04405dd7266818449"},{"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":"c7562cea89559f4cf9e3d2326899bbfafa80183d","unresolved":true,"context_lines":[{"line_number":186,"context_line":"        }"},{"line_number":187,"context_line":"        self.assertEqual(result, database_shards_info(context, hostnames))"},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"    def test_valid_shards_info_with_different_users_and_pass(self):"},{"line_number":190,"context_line":"        hostnames \u003d [\u0027primary\u0027, \u0027secondary1\u0027, \u0027secondary2\u0027]"},{"line_number":191,"context_line":"        enable_mariabackup \u003d \u0027yes\u0027"},{"line_number":192,"context_line":"        root_prefix \u003d \u0027superman_shard_\u0027"}],"source_content_type":"text/x-python","patch_set":113,"id":"86bdae09_2444408f","line":189,"range":{"start_line":189,"start_character":8,"end_line":189,"end_character":60},"in_reply_to":"e3c7664a_768817e6","updated":"2022-07-28 17:24:21.000000000","message":"I mean that it would be best if this final test included different values for different hosts in the other keys, like mariabackup being disabled in the second shard (thus with no backup prefix) and a different regular prefix used.","commit_id":"faf70253d795e964700c98c04405dd7266818449"}]}
