)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"85bcceb48963af06ff0807edbceeb8f8e9c14045","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"3cacd062_2174e64a","updated":"2022-06-06 22:28:10.000000000","message":"Maybe it\u0027s an irrelevant comment, but I think that if you provided example with description and in a template it is hardcoded mode http, you should mention it also in description.","commit_id":"618c3e9a5f57df380c67614571172c8b2dad5c0e"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"82540772e0335a76963d49a86975bd71012ca9af","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"64b91eec_43672cda","updated":"2022-06-08 05:56:50.000000000","message":"Not necessarily wanting to hold this up, but having a question inline.","commit_id":"bc07303bc95d59e49cab6247bea600df11aa4f6f"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"2261a079ec254ada1e367f15559ce1c23ae7eff7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"652f8972_aff1d03d","updated":"2022-06-08 08:52:48.000000000","message":"Now looking at the rendered output and also at the template you gathered this from, I would suggest some further simplification. Feel free to object if you think that (some of) it is actually useful.","commit_id":"f046c9d1eb4814480e20cc9fa1a28d5ac8d3c3a6"}],"doc/source/reference/high-availability/haproxy-guide.rst":[{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"85bcceb48963af06ff0807edbceeb8f8e9c14045","unresolved":true,"context_lines":[{"line_number":70,"context_line":"placing an HAProxy configuration snippet in a file in"},{"line_number":71,"context_line":"``/etc/kolla/config/haproxy/services.d/*.cfg``."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"For example, to configure a service listening on the external VIP, port 1234,"},{"line_number":74,"context_line":"with backends on hosts in the ``control`` group:"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":".. code-block:: console"}],"source_content_type":"text/x-rst","patch_set":1,"id":"b1c2a254_0193adf9","line":73,"range":{"start_line":73,"start_character":26,"end_line":73,"end_character":35},"updated":"2022-06-06 22:28:10.000000000","message":"a http service","commit_id":"618c3e9a5f57df380c67614571172c8b2dad5c0e"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"b8d086600afaa850d91fbc7053feaf7a64364b93","unresolved":false,"context_lines":[{"line_number":70,"context_line":"placing an HAProxy configuration snippet in a file in"},{"line_number":71,"context_line":"``/etc/kolla/config/haproxy/services.d/*.cfg``."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"For example, to configure a service listening on the external VIP, port 1234,"},{"line_number":74,"context_line":"with backends on hosts in the ``control`` group:"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":".. code-block:: console"}],"source_content_type":"text/x-rst","patch_set":1,"id":"e8934796_671ae1e6","line":73,"range":{"start_line":73,"start_character":26,"end_line":73,"end_character":35},"in_reply_to":"b1c2a254_0193adf9","updated":"2022-06-10 09:40:50.000000000","message":"Done","commit_id":"618c3e9a5f57df380c67614571172c8b2dad5c0e"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"82540772e0335a76963d49a86975bd71012ca9af","unresolved":false,"context_lines":[{"line_number":98,"context_line":"       {% for host in groups[\u0027control\u0027] %}"},{"line_number":99,"context_line":"       {% set host_name \u003d hostvars[host].ansible_facts.hostname %}"},{"line_number":100,"context_line":"       {% set host_ip \u003d \u0027api\u0027 | kolla_address(host) %}"},{"line_number":101,"context_line":"       server {{ host_name }} {{ host_ip }}:1234 ssl verify none"},{"line_number":102,"context_line":"       {% endfor %}"}],"source_content_type":"text/x-rst","patch_set":2,"id":"35d11c21_fb4792e4","line":101,"updated":"2022-06-08 05:56:50.000000000","message":"Maybe I\u0027m too nitpicky this morning, but IMO \"verify none\" isn\u0027t a good example of doing things, can we drop that? Is \"ssl\" actually needed?","commit_id":"bc07303bc95d59e49cab6247bea600df11aa4f6f"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"66f51ea313280b9cc6355a9cd39d467a6cb56998","unresolved":false,"context_lines":[{"line_number":98,"context_line":"       {% for host in groups[\u0027control\u0027] %}"},{"line_number":99,"context_line":"       {% set host_name \u003d hostvars[host].ansible_facts.hostname %}"},{"line_number":100,"context_line":"       {% set host_ip \u003d \u0027api\u0027 | kolla_address(host) %}"},{"line_number":101,"context_line":"       server {{ host_name }} {{ host_ip }}:1234 ssl verify none"},{"line_number":102,"context_line":"       {% endfor %}"}],"source_content_type":"text/x-rst","patch_set":2,"id":"d1945ab6_b2ef06d1","line":101,"in_reply_to":"35d11c21_fb4792e4","updated":"2022-06-08 08:18:30.000000000","message":"You\u0027re right. I was trying to take some of the logic from the template in the haproxy-config role to avoid hard-coding this snippet. I added this and missed the health check.","commit_id":"bc07303bc95d59e49cab6247bea600df11aa4f6f"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"2261a079ec254ada1e367f15559ce1c23ae7eff7","unresolved":true,"context_lines":[{"line_number":73,"context_line":"For example, to configure an HTTP service listening on the external VIP,"},{"line_number":74,"context_line":"port 1234, with backends on hosts in the ``control`` group:"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":".. code-block:: console"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"   #jinja2: lstrip_blocks: True"},{"line_number":79,"context_line":"   {%- set external_tls_bind_info \u003d \u0027ssl crt /etc/haproxy/haproxy.pem\u0027 if kolla_enable_tls_external|bool else \u0027\u0027 %}"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9ff020d1_7e83e1ef","line":76,"updated":"2022-06-08 08:52:48.000000000","message":"This isn\u0027t really console output, just drop it and have plain text unparsed formatting?","commit_id":"f046c9d1eb4814480e20cc9fa1a28d5ac8d3c3a6"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"b8d086600afaa850d91fbc7053feaf7a64364b93","unresolved":false,"context_lines":[{"line_number":73,"context_line":"For example, to configure an HTTP service listening on the external VIP,"},{"line_number":74,"context_line":"port 1234, with backends on hosts in the ``control`` group:"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":".. code-block:: console"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"   #jinja2: lstrip_blocks: True"},{"line_number":79,"context_line":"   {%- set external_tls_bind_info \u003d \u0027ssl crt /etc/haproxy/haproxy.pem\u0027 if kolla_enable_tls_external|bool else \u0027\u0027 %}"}],"source_content_type":"text/x-rst","patch_set":3,"id":"e3fea6d1_66a05fa0","line":76,"in_reply_to":"9ff020d1_7e83e1ef","updated":"2022-06-10 09:40:50.000000000","message":"Done","commit_id":"f046c9d1eb4814480e20cc9fa1a28d5ac8d3c3a6"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"2261a079ec254ada1e367f15559ce1c23ae7eff7","unresolved":true,"context_lines":[{"line_number":75,"context_line":""},{"line_number":76,"context_line":".. code-block:: console"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"   #jinja2: lstrip_blocks: True"},{"line_number":79,"context_line":"   {%- set external_tls_bind_info \u003d \u0027ssl crt /etc/haproxy/haproxy.pem\u0027 if kolla_enable_tls_external|bool else \u0027\u0027 %}"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"   frontend my_service_front"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1fcfc960_054ca1fd","line":78,"updated":"2022-06-08 08:52:48.000000000","message":"With all the nested logic stripped from the template, better drop this and just lstrip the example code?","commit_id":"f046c9d1eb4814480e20cc9fa1a28d5ac8d3c3a6"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"67c84fef99b4a06b86779ce0bc47eb38d0be517f","unresolved":true,"context_lines":[{"line_number":75,"context_line":""},{"line_number":76,"context_line":".. code-block:: console"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"   #jinja2: lstrip_blocks: True"},{"line_number":79,"context_line":"   {%- set external_tls_bind_info \u003d \u0027ssl crt /etc/haproxy/haproxy.pem\u0027 if kolla_enable_tls_external|bool else \u0027\u0027 %}"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"   frontend my_service_front"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1d3b458e_fa1a7cb4","line":78,"in_reply_to":"1771242f_54b2360d","updated":"2022-06-10 09:49:09.000000000","message":"The benefit would be to make the example easier understandable to people that aren\u0027t jinja2 experts.","commit_id":"f046c9d1eb4814480e20cc9fa1a28d5ac8d3c3a6"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"b8d086600afaa850d91fbc7053feaf7a64364b93","unresolved":true,"context_lines":[{"line_number":75,"context_line":""},{"line_number":76,"context_line":".. code-block:: console"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"   #jinja2: lstrip_blocks: True"},{"line_number":79,"context_line":"   {%- set external_tls_bind_info \u003d \u0027ssl crt /etc/haproxy/haproxy.pem\u0027 if kolla_enable_tls_external|bool else \u0027\u0027 %}"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"   frontend my_service_front"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1771242f_54b2360d","line":78,"in_reply_to":"1fcfc960_054ca1fd","updated":"2022-06-10 09:40:50.000000000","message":"Any benefit to this?","commit_id":"f046c9d1eb4814480e20cc9fa1a28d5ac8d3c3a6"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"2261a079ec254ada1e367f15559ce1c23ae7eff7","unresolved":true,"context_lines":[{"line_number":76,"context_line":".. code-block:: console"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"   #jinja2: lstrip_blocks: True"},{"line_number":79,"context_line":"   {%- set external_tls_bind_info \u003d \u0027ssl crt /etc/haproxy/haproxy.pem\u0027 if kolla_enable_tls_external|bool else \u0027\u0027 %}"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"   frontend my_service_front"},{"line_number":82,"context_line":"       mode http"}],"source_content_type":"text/x-rst","patch_set":3,"id":"885bf6f8_17f6c9e3","line":79,"updated":"2022-06-08 08:52:48.000000000","message":"For the sake of simplicity, I\u0027d also drop this and assume a non-ssl service","commit_id":"f046c9d1eb4814480e20cc9fa1a28d5ac8d3c3a6"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"67c84fef99b4a06b86779ce0bc47eb38d0be517f","unresolved":false,"context_lines":[{"line_number":76,"context_line":".. code-block:: console"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"   #jinja2: lstrip_blocks: True"},{"line_number":79,"context_line":"   {%- set external_tls_bind_info \u003d \u0027ssl crt /etc/haproxy/haproxy.pem\u0027 if kolla_enable_tls_external|bool else \u0027\u0027 %}"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"   frontend my_service_front"},{"line_number":82,"context_line":"       mode http"}],"source_content_type":"text/x-rst","patch_set":3,"id":"8b73a220_ff604fa6","line":79,"in_reply_to":"1ba6f80a_f43d5f2d","updated":"2022-06-10 09:49:09.000000000","message":"Hmm, o.k. maybe one could still make the use of TLS unconditional then, but no blocker.","commit_id":"f046c9d1eb4814480e20cc9fa1a28d5ac8d3c3a6"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"b8d086600afaa850d91fbc7053feaf7a64364b93","unresolved":true,"context_lines":[{"line_number":76,"context_line":".. code-block:: console"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"   #jinja2: lstrip_blocks: True"},{"line_number":79,"context_line":"   {%- set external_tls_bind_info \u003d \u0027ssl crt /etc/haproxy/haproxy.pem\u0027 if kolla_enable_tls_external|bool else \u0027\u0027 %}"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"   frontend my_service_front"},{"line_number":82,"context_line":"       mode http"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1ba6f80a_f43d5f2d","line":79,"in_reply_to":"885bf6f8_17f6c9e3","updated":"2022-06-10 09:40:50.000000000","message":"Let\u0027s assume people are sensible and using TLS, and help them to do it.","commit_id":"f046c9d1eb4814480e20cc9fa1a28d5ac8d3c3a6"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"2261a079ec254ada1e367f15559ce1c23ae7eff7","unresolved":true,"context_lines":[{"line_number":80,"context_line":""},{"line_number":81,"context_line":"   frontend my_service_front"},{"line_number":82,"context_line":"       mode http"},{"line_number":83,"context_line":"       {# Delete any pre-populated XFP header #}"},{"line_number":84,"context_line":"       http-request del-header X-Forwarded-Proto"},{"line_number":85,"context_line":"       {% for http_option in haproxy_frontend_http_extra %}"},{"line_number":86,"context_line":"       {{ http_option }}"},{"line_number":87,"context_line":"       {% endfor %}"}],"source_content_type":"text/x-rst","patch_set":3,"id":"7c05056f_a4b3897a","line":84,"range":{"start_line":83,"start_character":7,"end_line":84,"end_character":48},"updated":"2022-06-08 08:52:48.000000000","message":"which means we could also drop this","commit_id":"f046c9d1eb4814480e20cc9fa1a28d5ac8d3c3a6"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"2261a079ec254ada1e367f15559ce1c23ae7eff7","unresolved":true,"context_lines":[{"line_number":85,"context_line":"       {% for http_option in haproxy_frontend_http_extra %}"},{"line_number":86,"context_line":"       {{ http_option }}"},{"line_number":87,"context_line":"       {% endfor %}"},{"line_number":88,"context_line":"       {# Replace the XFP header for external https requests #}"},{"line_number":89,"context_line":"       http-request set-header X-Forwarded-Proto https if { ssl_fc }"},{"line_number":90,"context_line":"       bind {{ kolla_external_vip_address }}:1234 {{ external_tls_bind_info }}"},{"line_number":91,"context_line":"       default_backend my_service_back"},{"line_number":92,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"89c89161_15013cdb","line":89,"range":{"start_line":88,"start_character":7,"end_line":89,"end_character":68},"updated":"2022-06-08 08:52:48.000000000","message":"and this","commit_id":"f046c9d1eb4814480e20cc9fa1a28d5ac8d3c3a6"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"2261a079ec254ada1e367f15559ce1c23ae7eff7","unresolved":true,"context_lines":[{"line_number":87,"context_line":"       {% endfor %}"},{"line_number":88,"context_line":"       {# Replace the XFP header for external https requests #}"},{"line_number":89,"context_line":"       http-request set-header X-Forwarded-Proto https if { ssl_fc }"},{"line_number":90,"context_line":"       bind {{ kolla_external_vip_address }}:1234 {{ external_tls_bind_info }}"},{"line_number":91,"context_line":"       default_backend my_service_back"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"   backend my_service_back"}],"source_content_type":"text/x-rst","patch_set":3,"id":"6a696c4c_33b59018","line":90,"range":{"start_line":90,"start_character":50,"end_line":90,"end_character":78},"updated":"2022-06-08 08:52:48.000000000","message":"and this","commit_id":"f046c9d1eb4814480e20cc9fa1a28d5ac8d3c3a6"}]}
