)]}'
{"/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":"8f44f5d83668c7d645a461fa9bce90552ed18a7a","unresolved":true,"context_lines":[{"line_number":9,"context_line":"Replacement for MySQL balancing solution"},{"line_number":10,"context_line":"provided by haproxy."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"[1] https://review.opendev.org/c/openstack/kolla-ansible/+/766952"},{"line_number":13,"context_line":"[2] https://review.opendev.org/c/openstack/kolla-ansible/+/770215"},{"line_number":14,"context_line":"[3] https://review.opendev.org/c/openstack/kolla-ansible/+/770216"},{"line_number":15,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":18,"id":"c92a625e_43de74f4","line":12,"range":{"start_line":12,"start_character":0,"end_line":12,"end_character":3},"updated":"2021-01-25 16:01:12.000000000","message":"Needed-By:","commit_id":"0bf3544049b5b7e884eda3f49b5f92ddaeac2c77"},{"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":"bfeb57daa576a76d94573108fbf3127a467b0154","unresolved":true,"context_lines":[{"line_number":9,"context_line":"Replacement for MySQL balancing solution"},{"line_number":10,"context_line":"provided by haproxy."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"[1] https://review.opendev.org/c/openstack/kolla-ansible/+/766952"},{"line_number":13,"context_line":"[2] https://review.opendev.org/c/openstack/kolla-ansible/+/770215"},{"line_number":14,"context_line":"[3] https://review.opendev.org/c/openstack/kolla-ansible/+/770216"},{"line_number":15,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":18,"id":"2c793c8b_809fe5ea","line":12,"range":{"start_line":12,"start_character":59,"end_line":12,"end_character":65},"updated":"2021-01-25 16:02:07.000000000","message":"and this one not","commit_id":"0bf3544049b5b7e884eda3f49b5f92ddaeac2c77"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"47452449ab430764cf2479583b2aff131c7e4a52","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Replacement for MySQL balancing solution"},{"line_number":10,"context_line":"provided by haproxy."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"[1] https://review.opendev.org/c/openstack/kolla-ansible/+/766952"},{"line_number":13,"context_line":"[2] https://review.opendev.org/c/openstack/kolla-ansible/+/770215"},{"line_number":14,"context_line":"[3] https://review.opendev.org/c/openstack/kolla-ansible/+/770216"},{"line_number":15,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":18,"id":"a908efd8_d928adaf","line":12,"range":{"start_line":12,"start_character":59,"end_line":12,"end_character":65},"in_reply_to":"2c793c8b_809fe5ea","updated":"2021-02-15 16:27:01.000000000","message":"Done","commit_id":"0bf3544049b5b7e884eda3f49b5f92ddaeac2c77"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"47452449ab430764cf2479583b2aff131c7e4a52","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Replacement for MySQL balancing solution"},{"line_number":10,"context_line":"provided by haproxy."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"[1] https://review.opendev.org/c/openstack/kolla-ansible/+/766952"},{"line_number":13,"context_line":"[2] https://review.opendev.org/c/openstack/kolla-ansible/+/770215"},{"line_number":14,"context_line":"[3] https://review.opendev.org/c/openstack/kolla-ansible/+/770216"},{"line_number":15,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":18,"id":"449227f6_d8ea597c","line":12,"range":{"start_line":12,"start_character":0,"end_line":12,"end_character":3},"in_reply_to":"c92a625e_43de74f4","updated":"2021-02-15 16:27:01.000000000","message":"Done","commit_id":"0bf3544049b5b7e884eda3f49b5f92ddaeac2c77"}],"docker/base/Dockerfile.j2":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"110f79d52e598df92c258730d988373b181ad5bc","unresolved":true,"context_lines":[{"line_number":100,"context_line":"    {% set base_yum_repo_keys \u003d ["},{"line_number":101,"context_line":"        \u0027https://packages.grafana.com/gpg.key\u0027,"},{"line_number":102,"context_line":"        \u0027https://www.rabbitmq.com/rabbitmq-release-signing-key.asc\u0027,"},{"line_number":103,"context_line":"        \u0027https://obs.linaro.org/repos/home:/marcin.juszkiewicz/centos7/repodata/repomd.xml.key\u0027,"},{"line_number":104,"context_line":"    ] %}"},{"line_number":105,"context_line":"    # FIXME(mgoddard): Not available for CentOS 8 yet."},{"line_number":106,"context_line":"    #"}],"source_content_type":"text/x-jinja2","patch_set":18,"id":"399a9476_65fd7d8f","line":103,"updated":"2021-01-21 09:51:10.000000000","message":"repo key?","commit_id":"0bf3544049b5b7e884eda3f49b5f92ddaeac2c77"},{"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":"ca224fbcbcb1f7d809034716ab49923691bb2d46","unresolved":true,"context_lines":[{"line_number":100,"context_line":"    {% set base_yum_repo_keys \u003d ["},{"line_number":101,"context_line":"        \u0027https://packages.grafana.com/gpg.key\u0027,"},{"line_number":102,"context_line":"        \u0027https://www.rabbitmq.com/rabbitmq-release-signing-key.asc\u0027,"},{"line_number":103,"context_line":"        \u0027https://obs.linaro.org/repos/home:/marcin.juszkiewicz/centos7/repodata/repomd.xml.key\u0027,"},{"line_number":104,"context_line":"    ] %}"},{"line_number":105,"context_line":"    # FIXME(mgoddard): Not available for CentOS 8 yet."},{"line_number":106,"context_line":"    #"}],"source_content_type":"text/x-jinja2","patch_set":18,"id":"d53e9370_cda50e6b","line":103,"in_reply_to":"04949e1a_d1188fce","updated":"2021-01-25 17:17:38.000000000","message":"Yes, the point is there is no repo key for proxysql set here.","commit_id":"0bf3544049b5b7e884eda3f49b5f92ddaeac2c77"},{"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":"93b7eb7ce18f4d1e940bc94bab9acf6d301e9a24","unresolved":true,"context_lines":[{"line_number":100,"context_line":"    {% set base_yum_repo_keys \u003d ["},{"line_number":101,"context_line":"        \u0027https://packages.grafana.com/gpg.key\u0027,"},{"line_number":102,"context_line":"        \u0027https://www.rabbitmq.com/rabbitmq-release-signing-key.asc\u0027,"},{"line_number":103,"context_line":"        \u0027https://obs.linaro.org/repos/home:/marcin.juszkiewicz/centos7/repodata/repomd.xml.key\u0027,"},{"line_number":104,"context_line":"    ] %}"},{"line_number":105,"context_line":"    # FIXME(mgoddard): Not available for CentOS 8 yet."},{"line_number":106,"context_line":"    #"}],"source_content_type":"text/x-jinja2","patch_set":18,"id":"598b6139_fb2a98b2","line":103,"in_reply_to":"399a9476_65fd7d8f","updated":"2021-01-25 16:00:25.000000000","message":"seconded","commit_id":"0bf3544049b5b7e884eda3f49b5f92ddaeac2c77"},{"author":{"_account_id":24072,"name":"Marcin Juszkiewicz","email":"mjuszkiewicz@redhat.com","username":"hrw"},"change_message_id":"99d7cba4acfe345cdd78963b6cddbc7453839d58","unresolved":true,"context_lines":[{"line_number":100,"context_line":"    {% set base_yum_repo_keys \u003d ["},{"line_number":101,"context_line":"        \u0027https://packages.grafana.com/gpg.key\u0027,"},{"line_number":102,"context_line":"        \u0027https://www.rabbitmq.com/rabbitmq-release-signing-key.asc\u0027,"},{"line_number":103,"context_line":"        \u0027https://obs.linaro.org/repos/home:/marcin.juszkiewicz/centos7/repodata/repomd.xml.key\u0027,"},{"line_number":104,"context_line":"    ] %}"},{"line_number":105,"context_line":"    # FIXME(mgoddard): Not available for CentOS 8 yet."},{"line_number":106,"context_line":"    #"}],"source_content_type":"text/x-jinja2","patch_set":18,"id":"04949e1a_d1188fce","line":103,"in_reply_to":"598b6139_fb2a98b2","updated":"2021-01-25 17:14:40.000000000","message":"Are you both aware that this line is here for quite a while and was not added by this patch?","commit_id":"0bf3544049b5b7e884eda3f49b5f92ddaeac2c77"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"47452449ab430764cf2479583b2aff131c7e4a52","unresolved":false,"context_lines":[{"line_number":100,"context_line":"    {% set base_yum_repo_keys \u003d ["},{"line_number":101,"context_line":"        \u0027https://packages.grafana.com/gpg.key\u0027,"},{"line_number":102,"context_line":"        \u0027https://www.rabbitmq.com/rabbitmq-release-signing-key.asc\u0027,"},{"line_number":103,"context_line":"        \u0027https://obs.linaro.org/repos/home:/marcin.juszkiewicz/centos7/repodata/repomd.xml.key\u0027,"},{"line_number":104,"context_line":"    ] %}"},{"line_number":105,"context_line":"    # FIXME(mgoddard): Not available for CentOS 8 yet."},{"line_number":106,"context_line":"    #"}],"source_content_type":"text/x-jinja2","patch_set":18,"id":"929f307c_b52bebc1","line":103,"in_reply_to":"d53e9370_cda50e6b","updated":"2021-02-15 16:27:01.000000000","message":"Done","commit_id":"0bf3544049b5b7e884eda3f49b5f92ddaeac2c77"}],"docker/proxysql/Dockerfile.j2":[{"author":{"_account_id":24072,"name":"Marcin Juszkiewicz","email":"mjuszkiewicz@redhat.com","username":"hrw"},"change_message_id":"ed78f14a3010f385ad9cf65f13a9e2c490835a46","unresolved":true,"context_lines":[{"line_number":26,"context_line":"{{ macros.configure_user(name\u003d\u0027proxysql\u0027) }}"},{"line_number":27,"context_line":"{{ macros.install_packages(proxysql_packages | customizable(\"packages\")) }}"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"COPY proxysql_start.sh /usr/local/bin/kolla_proxysql_start"},{"line_number":30,"context_line":"RUN chmod 755 /usr/local/bin/kolla_proxysql_start"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"COPY proxysql_config_sync.py /usr/local/bin/kolla_proxysql_config_sync"},{"line_number":33,"context_line":"RUN chmod 755 /usr/local/bin/kolla_proxysql_config_sync"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"COPY extend_start.sh /usr/local/bin/kolla_extend_start"},{"line_number":36,"context_line":"RUN chmod 755 /usr/local/bin/kolla_extend_start"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"{% block proxysql_footer %}{% endblock %}"},{"line_number":39,"context_line":"{% block footer %}{% endblock %}"}],"source_content_type":"text/x-jinja2","patch_set":13,"id":"faf5e1ed_35a2ae92","line":36,"range":{"start_line":29,"start_character":0,"end_line":36,"end_character":47},"updated":"2021-01-18 12:22:42.000000000","message":"Copy all files and then use one RUN to chmod all 3 files.\n\nDo not generate new layers is not needed.","commit_id":"d98eaf3f1769cf61cbec93e53764217b83295ac3"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"50c6dac9a42fa22413c50ae4b92e0f134cc01571","unresolved":false,"context_lines":[{"line_number":26,"context_line":"{{ macros.configure_user(name\u003d\u0027proxysql\u0027) }}"},{"line_number":27,"context_line":"{{ macros.install_packages(proxysql_packages | customizable(\"packages\")) }}"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"COPY proxysql_start.sh /usr/local/bin/kolla_proxysql_start"},{"line_number":30,"context_line":"RUN chmod 755 /usr/local/bin/kolla_proxysql_start"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"COPY proxysql_config_sync.py /usr/local/bin/kolla_proxysql_config_sync"},{"line_number":33,"context_line":"RUN chmod 755 /usr/local/bin/kolla_proxysql_config_sync"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"COPY extend_start.sh /usr/local/bin/kolla_extend_start"},{"line_number":36,"context_line":"RUN chmod 755 /usr/local/bin/kolla_extend_start"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"{% block proxysql_footer %}{% endblock %}"},{"line_number":39,"context_line":"{% block footer %}{% endblock %}"}],"source_content_type":"text/x-jinja2","patch_set":13,"id":"6c0cbe11_34ab3ffe","line":36,"range":{"start_line":29,"start_character":0,"end_line":36,"end_character":47},"in_reply_to":"faf5e1ed_35a2ae92","updated":"2021-01-18 12:48:27.000000000","message":"Done","commit_id":"d98eaf3f1769cf61cbec93e53764217b83295ac3"}],"docker/proxysql/extend_start.sh":[{"author":{"_account_id":24072,"name":"Marcin Juszkiewicz","email":"mjuszkiewicz@redhat.com","username":"hrw"},"change_message_id":"ed78f14a3010f385ad9cf65f13a9e2c490835a46","unresolved":true,"context_lines":[{"line_number":8,"context_line":"fi"},{"line_number":9,"context_line":"chown -R proxysql:kolla \"${PROXYSQL_LOG_DIR}\""},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"# Remove DB file as source of true"},{"line_number":12,"context_line":"# for us is config file"},{"line_number":13,"context_line":"rm -f ${PROXYSQL_LIB_DIR}/proxysql.db"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"# Remove old pid"}],"source_content_type":"text/x-sh","patch_set":13,"id":"543608e6_aef7859c","line":12,"range":{"start_line":11,"start_character":2,"end_line":12,"end_character":23},"updated":"2021-01-18 12:22:42.000000000","message":"rephrase to be easier to understand?","commit_id":"d98eaf3f1769cf61cbec93e53764217b83295ac3"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"50c6dac9a42fa22413c50ae4b92e0f134cc01571","unresolved":false,"context_lines":[{"line_number":8,"context_line":"fi"},{"line_number":9,"context_line":"chown -R proxysql:kolla \"${PROXYSQL_LOG_DIR}\""},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"# Remove DB file as source of true"},{"line_number":12,"context_line":"# for us is config file"},{"line_number":13,"context_line":"rm -f ${PROXYSQL_LIB_DIR}/proxysql.db"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"# Remove old pid"}],"source_content_type":"text/x-sh","patch_set":13,"id":"01628380_4f530053","line":12,"range":{"start_line":11,"start_character":2,"end_line":12,"end_character":23},"in_reply_to":"543608e6_aef7859c","updated":"2021-01-18 12:48:27.000000000","message":"Done","commit_id":"d98eaf3f1769cf61cbec93e53764217b83295ac3"}],"docker/proxysql/kolla_extend_start":[{"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":"93b7eb7ce18f4d1e940bc94bab9acf6d301e9a24","unresolved":true,"context_lines":[{"line_number":9,"context_line":"chown -R proxysql:kolla \"${PROXYSQL_LOG_DIR}\""},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"# Proxysql has configuration stored in"},{"line_number":12,"context_line":"# her own internal DB and config file"},{"line_number":13,"context_line":"# is used only for bootstrap DB by default."},{"line_number":14,"context_line":"# Once DB is bootstraped, config"},{"line_number":15,"context_line":"# file is ignored."}],"source_content_type":"application/x-shellscript","patch_set":18,"id":"f9e2e563_c5f6aaa4","line":12,"range":{"start_line":12,"start_character":2,"end_line":12,"end_character":6},"updated":"2021-01-25 16:00:25.000000000","message":"its","commit_id":"0bf3544049b5b7e884eda3f49b5f92ddaeac2c77"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"47452449ab430764cf2479583b2aff131c7e4a52","unresolved":false,"context_lines":[{"line_number":9,"context_line":"chown -R proxysql:kolla \"${PROXYSQL_LOG_DIR}\""},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"# Proxysql has configuration stored in"},{"line_number":12,"context_line":"# her own internal DB and config file"},{"line_number":13,"context_line":"# is used only for bootstrap DB by default."},{"line_number":14,"context_line":"# Once DB is bootstraped, config"},{"line_number":15,"context_line":"# file is ignored."}],"source_content_type":"application/x-shellscript","patch_set":18,"id":"4961fa8f_b93ee646","line":12,"range":{"start_line":12,"start_character":2,"end_line":12,"end_character":6},"in_reply_to":"f9e2e563_c5f6aaa4","updated":"2021-02-15 16:27:01.000000000","message":"Done","commit_id":"0bf3544049b5b7e884eda3f49b5f92ddaeac2c77"},{"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":"93b7eb7ce18f4d1e940bc94bab9acf6d301e9a24","unresolved":true,"context_lines":[{"line_number":24,"context_line":"# Remove old pid"},{"line_number":25,"context_line":"rm -f ${PROXYSQL_LIB_DIR}/proxysql.pid"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"# As proxysql is supporting only one"},{"line_number":28,"context_line":"# configration file, there is a "},{"line_number":29,"context_line":"# script which reads global and services"},{"line_number":30,"context_line":"# configs (similar to haproxy) and"}],"source_content_type":"application/x-shellscript","patch_set":18,"id":"776cc8ce_ad658b79","line":27,"range":{"start_line":27,"start_character":14,"end_line":27,"end_character":27},"updated":"2021-01-25 16:00:25.000000000","message":"supports","commit_id":"0bf3544049b5b7e884eda3f49b5f92ddaeac2c77"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"47452449ab430764cf2479583b2aff131c7e4a52","unresolved":false,"context_lines":[{"line_number":24,"context_line":"# Remove old pid"},{"line_number":25,"context_line":"rm -f ${PROXYSQL_LIB_DIR}/proxysql.pid"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"# As proxysql is supporting only one"},{"line_number":28,"context_line":"# configration file, there is a "},{"line_number":29,"context_line":"# script which reads global and services"},{"line_number":30,"context_line":"# configs (similar to haproxy) and"}],"source_content_type":"application/x-shellscript","patch_set":18,"id":"50de8b6f_aecb9ac4","line":27,"range":{"start_line":27,"start_character":14,"end_line":27,"end_character":27},"in_reply_to":"776cc8ce_ad658b79","updated":"2021-02-15 16:27:01.000000000","message":"Done","commit_id":"0bf3544049b5b7e884eda3f49b5f92ddaeac2c77"},{"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":"93b7eb7ce18f4d1e940bc94bab9acf6d301e9a24","unresolved":true,"context_lines":[{"line_number":25,"context_line":"rm -f ${PROXYSQL_LIB_DIR}/proxysql.pid"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"# As proxysql is supporting only one"},{"line_number":28,"context_line":"# configration file, there is a "},{"line_number":29,"context_line":"# script which reads global and services"},{"line_number":30,"context_line":"# configs (similar to haproxy) and"},{"line_number":31,"context_line":"# generate single configration file"}],"source_content_type":"application/x-shellscript","patch_set":18,"id":"d62478be_42a23241","line":28,"updated":"2021-01-25 16:00:25.000000000","message":"trailing space","commit_id":"0bf3544049b5b7e884eda3f49b5f92ddaeac2c77"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"47452449ab430764cf2479583b2aff131c7e4a52","unresolved":false,"context_lines":[{"line_number":25,"context_line":"rm -f ${PROXYSQL_LIB_DIR}/proxysql.pid"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"# As proxysql is supporting only one"},{"line_number":28,"context_line":"# configration file, there is a "},{"line_number":29,"context_line":"# script which reads global and services"},{"line_number":30,"context_line":"# configs (similar to haproxy) and"},{"line_number":31,"context_line":"# generate single configration file"}],"source_content_type":"application/x-shellscript","patch_set":18,"id":"dc07b0b4_6a573ba8","line":28,"in_reply_to":"d62478be_42a23241","updated":"2021-02-15 16:27:01.000000000","message":"Done","commit_id":"0bf3544049b5b7e884eda3f49b5f92ddaeac2c77"},{"author":{"_account_id":24072,"name":"Marcin Juszkiewicz","email":"mjuszkiewicz@redhat.com","username":"hrw"},"change_message_id":"61d5c94f4d11f2ac2bc9c5bdd77372b7bb7ca25d","unresolved":true,"context_lines":[{"line_number":25,"context_line":"rm -f ${PROXYSQL_LIB_DIR}/proxysql.pid"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"# As proxysql supports only one"},{"line_number":28,"context_line":"# configration file, there is a"},{"line_number":29,"context_line":"# script which reads global and services"},{"line_number":30,"context_line":"# configs (similar to haproxy) and"},{"line_number":31,"context_line":"# generate single configration file"}],"source_content_type":"application/x-shellscript","patch_set":29,"id":"9f7c8004_e02e1364","line":28,"range":{"start_line":28,"start_character":2,"end_line":28,"end_character":14},"updated":"2021-09-16 14:13:15.000000000","message":"typo","commit_id":"2c0dc18dbf8fd2031c1f8855997f0dd18f63628c"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"d02f28a4db262292eeaaa74ed46b0a1f69d7bd40","unresolved":false,"context_lines":[{"line_number":25,"context_line":"rm -f ${PROXYSQL_LIB_DIR}/proxysql.pid"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"# As proxysql supports only one"},{"line_number":28,"context_line":"# configration file, there is a"},{"line_number":29,"context_line":"# script which reads global and services"},{"line_number":30,"context_line":"# configs (similar to haproxy) and"},{"line_number":31,"context_line":"# generate single configration file"}],"source_content_type":"application/x-shellscript","patch_set":29,"id":"a9914f3f_5b6297c4","line":28,"range":{"start_line":28,"start_character":2,"end_line":28,"end_character":14},"in_reply_to":"9f7c8004_e02e1364","updated":"2021-09-16 17:24:18.000000000","message":"Done","commit_id":"2c0dc18dbf8fd2031c1f8855997f0dd18f63628c"},{"author":{"_account_id":24072,"name":"Marcin Juszkiewicz","email":"mjuszkiewicz@redhat.com","username":"hrw"},"change_message_id":"61d5c94f4d11f2ac2bc9c5bdd77372b7bb7ca25d","unresolved":true,"context_lines":[{"line_number":28,"context_line":"# configration file, there is a"},{"line_number":29,"context_line":"# script which reads global and services"},{"line_number":30,"context_line":"# configs (similar to haproxy) and"},{"line_number":31,"context_line":"# generate single configration file"},{"line_number":32,"context_line":"# from which is internal DB created"},{"line_number":33,"context_line":"# every time."},{"line_number":34,"context_line":"kolla_proxysql_config_sync"}],"source_content_type":"application/x-shellscript","patch_set":29,"id":"ee402492_f9572430","line":31,"range":{"start_line":31,"start_character":18,"end_line":31,"end_character":30},"updated":"2021-09-16 14:13:15.000000000","message":"again","commit_id":"2c0dc18dbf8fd2031c1f8855997f0dd18f63628c"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"d02f28a4db262292eeaaa74ed46b0a1f69d7bd40","unresolved":false,"context_lines":[{"line_number":28,"context_line":"# configration file, there is a"},{"line_number":29,"context_line":"# script which reads global and services"},{"line_number":30,"context_line":"# configs (similar to haproxy) and"},{"line_number":31,"context_line":"# generate single configration file"},{"line_number":32,"context_line":"# from which is internal DB created"},{"line_number":33,"context_line":"# every time."},{"line_number":34,"context_line":"kolla_proxysql_config_sync"}],"source_content_type":"application/x-shellscript","patch_set":29,"id":"dba03c6c_eb2dd26c","line":31,"range":{"start_line":31,"start_character":18,"end_line":31,"end_character":30},"in_reply_to":"ee402492_f9572430","updated":"2021-09-16 17:24:18.000000000","message":"Done","commit_id":"2c0dc18dbf8fd2031c1f8855997f0dd18f63628c"}],"docker/proxysql/kolla_proxysql_config_sync":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"eae077884a4dd05dd04bac977afe77c6390385f3","unresolved":true,"context_lines":[{"line_number":45,"context_line":"        users \u003d dict()"},{"line_number":46,"context_line":"        rules \u003d dict()"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"        for cfg, path in self.configs.items():"},{"line_number":49,"context_line":"            if not os.path.isdir(path):"},{"line_number":50,"context_line":"                with open(path) as config_file:"},{"line_number":51,"context_line":"                    self.config.update("}],"source_content_type":"application/octet-stream","patch_set":30,"id":"e937ffdc_5a7eec26","line":48,"range":{"start_line":48,"start_character":12,"end_line":48,"end_character":15},"updated":"2021-09-29 08:32:42.000000000","message":"nit: unused, could have used .values()","commit_id":"febbb5b40b88173f7167b384697617330a46bdea"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"eae077884a4dd05dd04bac977afe77c6390385f3","unresolved":true,"context_lines":[{"line_number":51,"context_line":"                    self.config.update("},{"line_number":52,"context_line":"                        yaml.safe_load(config_file))"},{"line_number":53,"context_line":"            else:"},{"line_number":54,"context_line":"                users[\u0027mysql_users\u0027] \u003d list()"},{"line_number":55,"context_line":"                rules[\u0027mysql_query_rules\u0027] \u003d list()"},{"line_number":56,"context_line":"                user_paths \u003d [os.path.join(self.configs[\u0027users\u0027], f)"},{"line_number":57,"context_line":"                              for f in os.listdir(self.configs[\u0027users\u0027])]"},{"line_number":58,"context_line":"                rule_paths \u003d [os.path.join(self.configs[\u0027rules\u0027], f)"},{"line_number":59,"context_line":"                              for f in os.listdir(self.configs[\u0027rules\u0027])]"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"                for user_conf in user_paths:"},{"line_number":62,"context_line":"                    with open(user_conf) as config_file:"},{"line_number":63,"context_line":"                        tmp_users \u003d yaml.safe_load(config_file)"},{"line_number":64,"context_line":"                        for i in tmp_users[\u0027mysql_users\u0027]:"},{"line_number":65,"context_line":"                            users[\u0027mysql_users\u0027].append(i)"},{"line_number":66,"context_line":"                self.config.update(users)"},{"line_number":67,"context_line":"                for rule_conf in rule_paths:"},{"line_number":68,"context_line":"                    with open(rule_conf) as config_file:"},{"line_number":69,"context_line":"                        tmp_rules \u003d yaml.safe_load(config_file)"},{"line_number":70,"context_line":"                        for i in tmp_rules[\u0027mysql_query_rules\u0027]:"},{"line_number":71,"context_line":"                            rules[\u0027mysql_query_rules\u0027].append(i)"},{"line_number":72,"context_line":"                self.config.update(rules)"},{"line_number":73,"context_line":"        self._sanity()"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"    def _sanity(self):"}],"source_content_type":"application/octet-stream","patch_set":30,"id":"70b464e9_85d0f0d9","line":72,"range":{"start_line":54,"start_character":0,"end_line":72,"end_character":41},"updated":"2021-09-29 08:32:42.000000000","message":"This else branch would get executed multiple times if there are multiple paths that don\u0027t exist. It doesn\u0027t use the loop variables, so seems like that\u0027s wrong.","commit_id":"febbb5b40b88173f7167b384697617330a46bdea"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"eae077884a4dd05dd04bac977afe77c6390385f3","unresolved":true,"context_lines":[{"line_number":76,"context_line":"        self._users_sanity()"},{"line_number":77,"context_line":"        self._rules_sanity()"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"    def _users_sanity(self):"},{"line_number":80,"context_line":"        users_added \u003d list()"},{"line_number":81,"context_line":"        users \u003d list()"},{"line_number":82,"context_line":"        for user in self.config[\u0027mysql_users\u0027]:"}],"source_content_type":"application/octet-stream","patch_set":30,"id":"43000268_b4736e7a","line":79,"updated":"2021-09-29 08:32:42.000000000","message":"A small comment to say that this is deduplicating users would have been helpful.","commit_id":"febbb5b40b88173f7167b384697617330a46bdea"}],"kolla/common/config.py":[{"author":{"_account_id":24072,"name":"Marcin Juszkiewicz","email":"mjuszkiewicz@redhat.com","username":"hrw"},"change_message_id":"ec73126615e8f8514a85f464584993d7c949abd0","unresolved":true,"context_lines":[{"line_number":60,"context_line":"                    \u0027keepalived\u0027,"},{"line_number":61,"context_line":"                    \u0027kibana\u0027,"},{"line_number":62,"context_line":"                    \u0027kolla-toolbox\u0027,"},{"line_number":63,"context_line":"                    \u0027logstash\u0027,"},{"line_number":64,"context_line":"                    \u0027mariadb\u0027,"},{"line_number":65,"context_line":"                    \u0027memcached\u0027,"},{"line_number":66,"context_line":"                    \u0027openvswitch\u0027,"},{"line_number":67,"context_line":"                    \u0027proxysql\u0027,"},{"line_number":68,"context_line":"                    \u0027ptp\u0027,"},{"line_number":69,"context_line":"                    \u0027qdrouterd\u0027,"},{"line_number":70,"context_line":"                    \u0027rabbitmq\u0027,"},{"line_number":71,"context_line":"                    \u0027redis\u0027,"},{"line_number":72,"context_line":"                    \u0027rsyslog\u0027,"},{"line_number":73,"context_line":"                    \u0027skydive\u0027,"},{"line_number":74,"context_line":"                    \u0027storm\u0027,"},{"line_number":75,"context_line":"                    \u0027tgtd\u0027,"},{"line_number":76,"context_line":"                ],"},{"line_number":77,"context_line":"                help\u003d\u0027Infra images\u0027),"},{"line_number":78,"context_line":"    cfg.ListOpt(\u0027main\u0027,"},{"line_number":79,"context_line":"                default\u003d["},{"line_number":80,"context_line":"                    \u0027ceilometer\u0027,"},{"line_number":81,"context_line":"                    \u0027cinder\u0027,"},{"line_number":82,"context_line":"                    \u0027glance\u0027,"},{"line_number":83,"context_line":"                    \u0027heat\u0027,"},{"line_number":84,"context_line":"                    \u0027horizon\u0027,"},{"line_number":85,"context_line":"                    \u0027iscsi\u0027,"},{"line_number":86,"context_line":"                    \u0027keystone\u0027,"},{"line_number":87,"context_line":"                    \u0027neutron\u0027,"},{"line_number":88,"context_line":"                    \u0027nova-\u0027,"},{"line_number":89,"context_line":"                    \u0027placement\u0027,"},{"line_number":90,"context_line":"                    \u0027swift\u0027,"},{"line_number":91,"context_line":"                ],"},{"line_number":92,"context_line":"                help\u003d\u0027Main images\u0027),"},{"line_number":93,"context_line":"    cfg.ListOpt(\u0027aux\u0027,"},{"line_number":94,"context_line":"                default\u003d["},{"line_number":95,"context_line":"                    \u0027aodh\u0027,"},{"line_number":96,"context_line":"                    \u0027blazar\u0027,"},{"line_number":97,"context_line":"                    \u0027cloudkitty\u0027,"},{"line_number":98,"context_line":"                    \u0027designate\u0027,"},{"line_number":99,"context_line":"                    \u0027ec2-api\u0027,"},{"line_number":100,"context_line":"                    \u0027freezer\u0027,"},{"line_number":101,"context_line":"                    \u0027gnocchi\u0027,"},{"line_number":102,"context_line":"                    \u0027influxdb\u0027,"},{"line_number":103,"context_line":"                    \u0027ironic\u0027,"},{"line_number":104,"context_line":"                    \u0027kafka\u0027,"},{"line_number":105,"context_line":"                    \u0027kuryr\u0027,"},{"line_number":106,"context_line":"                    \u0027magnum\u0027,"},{"line_number":107,"context_line":"                    \u0027manila\u0027,"},{"line_number":108,"context_line":"                    \u0027masakari\u0027,"},{"line_number":109,"context_line":"                    \u0027mistral\u0027,"},{"line_number":110,"context_line":"                    \u0027monasca\u0027,"},{"line_number":111,"context_line":"                    \u0027murano\u0027,"},{"line_number":112,"context_line":"                    \u0027novajoin\u0027,"},{"line_number":113,"context_line":"                    \u0027octavia\u0027,"},{"line_number":114,"context_line":"                    \u0027panko\u0027,"},{"line_number":115,"context_line":"                    \u0027rally\u0027,"},{"line_number":116,"context_line":"                    \u0027redis\u0027,"},{"line_number":117,"context_line":"                    \u0027sahara\u0027,"},{"line_number":118,"context_line":"                    \u0027senlin\u0027,"},{"line_number":119,"context_line":"                    \u0027solum\u0027,"},{"line_number":120,"context_line":"                    \u0027tacker\u0027,"},{"line_number":121,"context_line":"                    \u0027telegraf\u0027,"},{"line_number":122,"context_line":"                    \u0027trove\u0027,"},{"line_number":123,"context_line":"                    \u0027vitrage\u0027,"},{"line_number":124,"context_line":"                    \u0027zaqar\u0027,"},{"line_number":125,"context_line":"                    \u0027zookeeper\u0027,"},{"line_number":126,"context_line":"                    \u0027zun\u0027,"},{"line_number":127,"context_line":"                ],"},{"line_number":128,"context_line":"                help\u003d\u0027Aux Images\u0027),"},{"line_number":129,"context_line":"    cfg.ListOpt(\u0027default\u0027,"},{"line_number":130,"context_line":"                default\u003d["},{"line_number":131,"context_line":"                    \u0027chrony\u0027,"},{"line_number":132,"context_line":"                    \u0027cron\u0027,"},{"line_number":133,"context_line":"                    \u0027kolla-toolbox\u0027,"},{"line_number":134,"context_line":"                    \u0027fluentd\u0027,"},{"line_number":135,"context_line":"                    \u0027glance\u0027,"},{"line_number":136,"context_line":"                    \u0027haproxy\u0027,"},{"line_number":137,"context_line":"                    \u0027heat\u0027,"},{"line_number":138,"context_line":"                    \u0027horizon\u0027,"},{"line_number":139,"context_line":"                    \u0027keepalived\u0027,"},{"line_number":140,"context_line":"                    \u0027keystone\u0027,"},{"line_number":141,"context_line":"                    \u0027mariadb\u0027,"},{"line_number":142,"context_line":"                    \u0027memcached\u0027,"},{"line_number":143,"context_line":"                    \u0027neutron\u0027,"},{"line_number":144,"context_line":"                    \u0027nova-\u0027,"},{"line_number":145,"context_line":"                    \u0027placement\u0027,"},{"line_number":146,"context_line":"                    \u0027proxysql\u0027,"},{"line_number":147,"context_line":"                    \u0027openvswitch\u0027,"},{"line_number":148,"context_line":"                    \u0027rabbitmq\u0027,"},{"line_number":149,"context_line":"                ],"}],"source_content_type":"text/x-python","patch_set":6,"id":"cdc96d68_6e69486d","line":146,"range":{"start_line":63,"start_character":10,"end_line":146,"end_character":31},"updated":"2021-01-12 09:39:41.000000000","message":"x86-64 only image should not be added to those lists","commit_id":"c0f0ad70a2b0f69ff3d517296e2215c3a653933b"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"47452449ab430764cf2479583b2aff131c7e4a52","unresolved":false,"context_lines":[{"line_number":60,"context_line":"                    \u0027keepalived\u0027,"},{"line_number":61,"context_line":"                    \u0027kibana\u0027,"},{"line_number":62,"context_line":"                    \u0027kolla-toolbox\u0027,"},{"line_number":63,"context_line":"                    \u0027logstash\u0027,"},{"line_number":64,"context_line":"                    \u0027mariadb\u0027,"},{"line_number":65,"context_line":"                    \u0027memcached\u0027,"},{"line_number":66,"context_line":"                    \u0027openvswitch\u0027,"},{"line_number":67,"context_line":"                    \u0027proxysql\u0027,"},{"line_number":68,"context_line":"                    \u0027ptp\u0027,"},{"line_number":69,"context_line":"                    \u0027qdrouterd\u0027,"},{"line_number":70,"context_line":"                    \u0027rabbitmq\u0027,"},{"line_number":71,"context_line":"                    \u0027redis\u0027,"},{"line_number":72,"context_line":"                    \u0027rsyslog\u0027,"},{"line_number":73,"context_line":"                    \u0027skydive\u0027,"},{"line_number":74,"context_line":"                    \u0027storm\u0027,"},{"line_number":75,"context_line":"                    \u0027tgtd\u0027,"},{"line_number":76,"context_line":"                ],"},{"line_number":77,"context_line":"                help\u003d\u0027Infra images\u0027),"},{"line_number":78,"context_line":"    cfg.ListOpt(\u0027main\u0027,"},{"line_number":79,"context_line":"                default\u003d["},{"line_number":80,"context_line":"                    \u0027ceilometer\u0027,"},{"line_number":81,"context_line":"                    \u0027cinder\u0027,"},{"line_number":82,"context_line":"                    \u0027glance\u0027,"},{"line_number":83,"context_line":"                    \u0027heat\u0027,"},{"line_number":84,"context_line":"                    \u0027horizon\u0027,"},{"line_number":85,"context_line":"                    \u0027iscsi\u0027,"},{"line_number":86,"context_line":"                    \u0027keystone\u0027,"},{"line_number":87,"context_line":"                    \u0027neutron\u0027,"},{"line_number":88,"context_line":"                    \u0027nova-\u0027,"},{"line_number":89,"context_line":"                    \u0027placement\u0027,"},{"line_number":90,"context_line":"                    \u0027swift\u0027,"},{"line_number":91,"context_line":"                ],"},{"line_number":92,"context_line":"                help\u003d\u0027Main images\u0027),"},{"line_number":93,"context_line":"    cfg.ListOpt(\u0027aux\u0027,"},{"line_number":94,"context_line":"                default\u003d["},{"line_number":95,"context_line":"                    \u0027aodh\u0027,"},{"line_number":96,"context_line":"                    \u0027blazar\u0027,"},{"line_number":97,"context_line":"                    \u0027cloudkitty\u0027,"},{"line_number":98,"context_line":"                    \u0027designate\u0027,"},{"line_number":99,"context_line":"                    \u0027ec2-api\u0027,"},{"line_number":100,"context_line":"                    \u0027freezer\u0027,"},{"line_number":101,"context_line":"                    \u0027gnocchi\u0027,"},{"line_number":102,"context_line":"                    \u0027influxdb\u0027,"},{"line_number":103,"context_line":"                    \u0027ironic\u0027,"},{"line_number":104,"context_line":"                    \u0027kafka\u0027,"},{"line_number":105,"context_line":"                    \u0027kuryr\u0027,"},{"line_number":106,"context_line":"                    \u0027magnum\u0027,"},{"line_number":107,"context_line":"                    \u0027manila\u0027,"},{"line_number":108,"context_line":"                    \u0027masakari\u0027,"},{"line_number":109,"context_line":"                    \u0027mistral\u0027,"},{"line_number":110,"context_line":"                    \u0027monasca\u0027,"},{"line_number":111,"context_line":"                    \u0027murano\u0027,"},{"line_number":112,"context_line":"                    \u0027novajoin\u0027,"},{"line_number":113,"context_line":"                    \u0027octavia\u0027,"},{"line_number":114,"context_line":"                    \u0027panko\u0027,"},{"line_number":115,"context_line":"                    \u0027rally\u0027,"},{"line_number":116,"context_line":"                    \u0027redis\u0027,"},{"line_number":117,"context_line":"                    \u0027sahara\u0027,"},{"line_number":118,"context_line":"                    \u0027senlin\u0027,"},{"line_number":119,"context_line":"                    \u0027solum\u0027,"},{"line_number":120,"context_line":"                    \u0027tacker\u0027,"},{"line_number":121,"context_line":"                    \u0027telegraf\u0027,"},{"line_number":122,"context_line":"                    \u0027trove\u0027,"},{"line_number":123,"context_line":"                    \u0027vitrage\u0027,"},{"line_number":124,"context_line":"                    \u0027zaqar\u0027,"},{"line_number":125,"context_line":"                    \u0027zookeeper\u0027,"},{"line_number":126,"context_line":"                    \u0027zun\u0027,"},{"line_number":127,"context_line":"                ],"},{"line_number":128,"context_line":"                help\u003d\u0027Aux Images\u0027),"},{"line_number":129,"context_line":"    cfg.ListOpt(\u0027default\u0027,"},{"line_number":130,"context_line":"                default\u003d["},{"line_number":131,"context_line":"                    \u0027chrony\u0027,"},{"line_number":132,"context_line":"                    \u0027cron\u0027,"},{"line_number":133,"context_line":"                    \u0027kolla-toolbox\u0027,"},{"line_number":134,"context_line":"                    \u0027fluentd\u0027,"},{"line_number":135,"context_line":"                    \u0027glance\u0027,"},{"line_number":136,"context_line":"                    \u0027haproxy\u0027,"},{"line_number":137,"context_line":"                    \u0027heat\u0027,"},{"line_number":138,"context_line":"                    \u0027horizon\u0027,"},{"line_number":139,"context_line":"                    \u0027keepalived\u0027,"},{"line_number":140,"context_line":"                    \u0027keystone\u0027,"},{"line_number":141,"context_line":"                    \u0027mariadb\u0027,"},{"line_number":142,"context_line":"                    \u0027memcached\u0027,"},{"line_number":143,"context_line":"                    \u0027neutron\u0027,"},{"line_number":144,"context_line":"                    \u0027nova-\u0027,"},{"line_number":145,"context_line":"                    \u0027placement\u0027,"},{"line_number":146,"context_line":"                    \u0027proxysql\u0027,"},{"line_number":147,"context_line":"                    \u0027openvswitch\u0027,"},{"line_number":148,"context_line":"                    \u0027rabbitmq\u0027,"},{"line_number":149,"context_line":"                ],"}],"source_content_type":"text/x-python","patch_set":6,"id":"e4def52f_9a6521bc","line":146,"range":{"start_line":63,"start_character":10,"end_line":146,"end_character":31},"in_reply_to":"cdc96d68_6e69486d","updated":"2021-02-15 16:27:01.000000000","message":"It\u0027s also aarch64.","commit_id":"c0f0ad70a2b0f69ff3d517296e2215c3a653933b"}]}
