)]}'
{"octavia/amphorae/backends/agent/api_server/haproxy_compatibility.py":[{"author":{"_account_id":6579,"name":"Nir Magnezi","email":"nmagnezi@redhat.com","username":"nmagnezi"},"change_message_id":"a6d8bcf50536ce1835e43fc776bc85a5641f09f4","unresolved":false,"context_lines":[{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    major, minor \u003d get_haproxy_versions()"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    # Versions less than 1.6 do not support external health checks"},{"line_number":45,"context_line":"    # Removed those configuration times"},{"line_number":46,"context_line":"    if major \u003c 2 and minor \u003c 6:"},{"line_number":47,"context_line":"        LOG.warning(\"Found %(major)s.%(minor)s version of haproxy. \""}],"source_content_type":"text/x-python","patch_set":6,"id":"1f485f77_1f909f94","line":44,"range":{"start_line":44,"start_character":6,"end_line":44,"end_character":66},"updated":"2017-11-19 11:34:16.000000000","message":"Despite the fact that there\u0027s nothing wrong with this patch, it breaks CentOS (and RHEL) based Amphoras, due to an old haproxy version.\n\nHere\u0027s what happens in a CentOS amphora:\n\nThe config:\n\n# Configuration for lb2\nglobal\n    daemon\n    user nobody\n    log /dev/log local0\n    log /dev/log local1 notice\n    stats socket /var/lib/octavia/60cc4fc3-c6f8-4989-b091-ac69d54d3e8b.sock mode 0666 level user\n    external-check\n\ndefaults\n    log global\n    retries 3\n    option redispatch\n    timeout connect 5000\n    timeout client 50000\n    timeout server 50000\n\n\n\nfrontend 60cc4fc3-c6f8-4989-b091-ac69d54d3e8b\n    option httplog\n    bind 10.0.0.18:80\n    mode http\n    default_backend 9b0da1a9-a7ad-4fb6-b594-4871ce17e665\n\nbackend 9b0da1a9-a7ad-4fb6-b594-4871ce17e665\n    mode http\n    balance roundrobin\n    server 56f04a19-bf57-45d9-98f2-344ebbd664af 10.0.0.6:80 weight 1\n    server f9d2244f-c221-4555-9766-5e64a6900139 10.0.0.7:80 weight 1\n\n\nManually invoked haproxy:\n[root@amphora-1fb08e9c-24f5-4ffb-bde3-7de485417d51 ~]# haproxy -c -L _8L4ayJu3Q4vm5GUHgxEr2ngGjg -f /var/lib/octavia/60cc4fc3-c6f8-4989-b091-ac69d54d3e8b/haproxy.cfg.new-failed -f /var/lib/octavia/haproxy-default-user-group.conf\n[ALERT] 322/101932 (1492) : parsing [/var/lib/octavia/60cc4fc3-c6f8-4989-b091-ac69d54d3e8b/haproxy.cfg.new-failed:8] : unknown keyword \u0027external-check\u0027 in \u0027global\u0027 section\n[ALERT] 322/101932 (1492) : Error(s) found in configuration file : /var/lib/octavia/60cc4fc3-c6f8-4989-b091-ac69d54d3e8b/haproxy.cfg.new-failed\n[ALERT] 322/101932 (1492) : Fatal errors found in configuration.\n\nhaproxy version:\n[root@amphora-1fb08e9c-24f5-4ffb-bde3-7de485417d51 ~]# rpm -qa | grep haproxy\nhaproxy-1.5.18-6.el7.x86_64\n\nI double-checked and indeed the external-check feature was added in haproxy-1.6\nI see it\u0027s absent from:\nhttps://cbonte.github.io/haproxy-dconv/configuration-1.5.html\nBut I do find it in:\nhttps://cbonte.github.io/haproxy-dconv/configuration-1.6.html#option%20external-check\n\nI\u0027m going check which haproxy is being used in the Ubuntu-based amphora, will try to align CentOS for that.\n\nTo conclude:\nDownvoting just for now (again, this patch is fine), until I check Ubuntu base amphora and also check how to upgrade haproxy in the CentOS amp.\nwill report back here.","commit_id":"c8414aa699241f63960f2f2f32cd3b478349d4bf"},{"author":{"_account_id":6579,"name":"Nir Magnezi","email":"nmagnezi@redhat.com","username":"nmagnezi"},"change_message_id":"9dafd6c19a60db8e2f1bd02e6f8176de649759c0","unresolved":false,"context_lines":[{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    major, minor \u003d get_haproxy_versions()"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    # Versions less than 1.6 do not support external health checks"},{"line_number":45,"context_line":"    # Removed those configuration times"},{"line_number":46,"context_line":"    if major \u003c 2 and minor \u003c 6:"},{"line_number":47,"context_line":"        LOG.warning(\"Found %(major)s.%(minor)s version of haproxy. \""}],"source_content_type":"text/x-python","patch_set":6,"id":"ff82abbf_f64e1ac0","line":44,"range":{"start_line":44,"start_character":6,"end_line":44,"end_character":66},"in_reply_to":"1f485f77_1f909f94","updated":"2017-11-20 16:59:37.000000000","message":"Following to an IRC chat I had with Michael, I double checked and it looks like the patch was not incorporated in the centos amphora image.\n\nWill retest and report.","commit_id":"c8414aa699241f63960f2f2f32cd3b478349d4bf"},{"author":{"_account_id":6579,"name":"Nir Magnezi","email":"nmagnezi@redhat.com","username":"nmagnezi"},"change_message_id":"33be3b01b447f076f878e0b5120fd76460e489e5","unresolved":false,"context_lines":[{"line_number":30,"context_line":"    version \u003d subprocess.check_output(cmd.split(), stderr\u003dsubprocess.STDOUT)"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    version_re \u003d re.search(\u0027.*version (.+?)\\.(.+?)\\..*\u0027,"},{"line_number":33,"context_line":"                           version..decode(\u0027utf-8\u0027))"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    major_version \u003d int(version_re.group(1))"},{"line_number":36,"context_line":"    minor_version \u003d int(version_re.group(2))"}],"source_content_type":"text/x-python","patch_set":9,"id":"ff82abbf_48150148","line":33,"range":{"start_line":33,"start_character":34,"end_line":33,"end_character":36},"updated":"2017-11-29 22:09:08.000000000","message":"an extra dot?","commit_id":"d6dbcaf324a7fa31afea6366dc8febe6d8165f11"}],"octavia/common/jinja/haproxy/templates/macros.j2":[{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"3482ea8659517c6748366f5bc28e9a920645e702","unresolved":false,"context_lines":[{"line_number":228,"context_line":"    option ssl-hello-chk"},{"line_number":229,"context_line":"        {% endif %}"},{"line_number":230,"context_line":"        {% if pool.health_monitor.type \u003d\u003d constants.HEALTH_MONITOR_PING %}"},{"line_number":231,"context_line":"    option external-check"},{"line_number":232,"context_line":"    option external-check command /var/lib/octavia/ping-wrapper.sh"},{"line_number":233,"context_line":"        {% endif %}"},{"line_number":234,"context_line":"    {% endif %}"}],"source_content_type":"text/x-jinja2","patch_set":4,"id":"1f485f77_71931b51","line":231,"updated":"2017-11-09 23:23:48.000000000","message":"Why is this listed twice, once without and once with args?","commit_id":"ff8659390ef23efac8eb686d2ee012962d91093f"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"6ca0a93e13f4b8002243bbe03b4ee5653f7ae6ad","unresolved":false,"context_lines":[{"line_number":228,"context_line":"    option ssl-hello-chk"},{"line_number":229,"context_line":"        {% endif %}"},{"line_number":230,"context_line":"        {% if pool.health_monitor.type \u003d\u003d constants.HEALTH_MONITOR_PING %}"},{"line_number":231,"context_line":"    option external-check"},{"line_number":232,"context_line":"    option external-check command /var/lib/octavia/ping-wrapper.sh"},{"line_number":233,"context_line":"        {% endif %}"},{"line_number":234,"context_line":"    {% endif %}"}],"source_content_type":"text/x-jinja2","patch_set":4,"id":"1f485f77_51ffff66","line":231,"in_reply_to":"1f485f77_71931b51","updated":"2017-11-09 23:31:07.000000000","message":"Done","commit_id":"ff8659390ef23efac8eb686d2ee012962d91093f"}],"octavia/tests/unit/common/sample_configs/sample_configs.py":[{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"658fbe1d193dbfe615ee37cc5dc513daeebdb567","unresolved":false,"context_lines":[{"line_number":728,"context_line":"            \"    stats socket /var/lib/octavia/sample_listener_id_1.sock\""},{"line_number":729,"context_line":"            \" mode 0666 level user\\n\""},{"line_number":730,"context_line":"            \"    maxconn 98\\n\""},{"line_number":731,"context_line":"            \"    external-check\\n\\n\""},{"line_number":732,"context_line":"            \"defaults\\n\""},{"line_number":733,"context_line":"            \"    log global\\n\""},{"line_number":734,"context_line":"            \"    retries 3\\n\""}],"source_content_type":"text/x-python","patch_set":4,"id":"1f485f77_319da359","line":731,"updated":"2017-11-09 23:24:21.000000000","message":"Should this have args?","commit_id":"ff8659390ef23efac8eb686d2ee012962d91093f"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"6ca0a93e13f4b8002243bbe03b4ee5653f7ae6ad","unresolved":false,"context_lines":[{"line_number":728,"context_line":"            \"    stats socket /var/lib/octavia/sample_listener_id_1.sock\""},{"line_number":729,"context_line":"            \" mode 0666 level user\\n\""},{"line_number":730,"context_line":"            \"    maxconn 98\\n\""},{"line_number":731,"context_line":"            \"    external-check\\n\\n\""},{"line_number":732,"context_line":"            \"defaults\\n\""},{"line_number":733,"context_line":"            \"    log global\\n\""},{"line_number":734,"context_line":"            \"    retries 3\\n\""}],"source_content_type":"text/x-python","patch_set":4,"id":"1f485f77_9105777d","line":731,"in_reply_to":"1f485f77_319da359","updated":"2017-11-09 23:31:07.000000000","message":"nope, this is a \"global enable this\"","commit_id":"ff8659390ef23efac8eb686d2ee012962d91093f"}]}
