)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11090,"name":"Sergii Golovatiuk","email":"sgolovat@redhat.com","username":"holser"},"change_message_id":"ee579017904143c71be2a95b45f0e2a93f007791","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     Cédric Jeanneret \u003ccjeanner@redhat.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2021-01-19 11:48:21 +0100"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Switch from curl to a custom python script for healthcheck_curl"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The healthcheck_curl has always been a bit bonky with the proxies"},{"line_number":10,"context_line":"management, especially the \"no_proxy\" environment variable: since there"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"bfda0dda_82ebc3fb","line":7,"updated":"2021-01-19 11:20:30.000000000","message":"Curl is way faster and very mature tool.","commit_id":"51b7e2337b26a857dc6e2df3eb64f094a6a7783e"},{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"f2df1b29a1607c08bf50ed043a71f30a6c1f9fda","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Cédric Jeanneret \u003ccjeanner@redhat.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2021-01-19 11:48:21 +0100"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Switch from curl to a custom python script for healthcheck_curl"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The healthcheck_curl has always been a bit bonky with the proxies"},{"line_number":10,"context_line":"management, especially the \"no_proxy\" environment variable: since there"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"0eb9421e_4dfa5e2d","line":7,"in_reply_to":"89223275_2de9c645","updated":"2021-01-19 12:40:57.000000000","message":"Better explained the issue in the commit message.","commit_id":"51b7e2337b26a857dc6e2df3eb64f094a6a7783e"},{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"56536a5fbcb389ac0c9f17d3e892f96ec2ebedff","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     Cédric Jeanneret \u003ccjeanner@redhat.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2021-01-19 11:48:21 +0100"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Switch from curl to a custom python script for healthcheck_curl"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The healthcheck_curl has always been a bit bonky with the proxies"},{"line_number":10,"context_line":"management, especially the \"no_proxy\" environment variable: since there"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"89223275_2de9c645","line":7,"in_reply_to":"bfda0dda_82ebc3fb","updated":"2021-01-19 11:46:56.000000000","message":"I know.... though there are ppl wanting CIDR support for no_proxy.... and since cURL doesn\u0027t seem to go that way, well...","commit_id":"51b7e2337b26a857dc6e2df3eb64f094a6a7783e"},{"author":{"_account_id":11090,"name":"Sergii Golovatiuk","email":"sgolovat@redhat.com","username":"holser"},"change_message_id":"ee579017904143c71be2a95b45f0e2a93f007791","unresolved":true,"context_lines":[{"line_number":12,"context_line":"any unified handling."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"This leads to situation where an Operator puts some CIDR notation inside"},{"line_number":15,"context_line":"this variable, while curl doesn\u0027t handle it."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"The new script, replacing the plain curl call, is using Python"},{"line_number":18,"context_line":"\"requests\" library. This library, among others, does support CIDR"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"6b8c9c23_41eeb75c","line":15,"updated":"2021-01-19 11:20:30.000000000","message":"Do we have any particular case or bug?","commit_id":"51b7e2337b26a857dc6e2df3eb64f094a6a7783e"},{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"f2df1b29a1607c08bf50ed043a71f30a6c1f9fda","unresolved":false,"context_lines":[{"line_number":12,"context_line":"any unified handling."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"This leads to situation where an Operator puts some CIDR notation inside"},{"line_number":15,"context_line":"this variable, while curl doesn\u0027t handle it."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"The new script, replacing the plain curl call, is using Python"},{"line_number":18,"context_line":"\"requests\" library. This library, among others, does support CIDR"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"b2a9241a_3b2511ac","line":15,"in_reply_to":"4e35b0ac_72e4cc6a","updated":"2021-01-19 12:40:57.000000000","message":"Added links to actual cases in the commit message.","commit_id":"51b7e2337b26a857dc6e2df3eb64f094a6a7783e"},{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"56536a5fbcb389ac0c9f17d3e892f96ec2ebedff","unresolved":true,"context_lines":[{"line_number":12,"context_line":"any unified handling."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"This leads to situation where an Operator puts some CIDR notation inside"},{"line_number":15,"context_line":"this variable, while curl doesn\u0027t handle it."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"The new script, replacing the plain curl call, is using Python"},{"line_number":18,"context_line":"\"requests\" library. This library, among others, does support CIDR"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"4e35b0ac_72e4cc6a","line":15,"in_reply_to":"6b8c9c23_41eeb75c","updated":"2021-01-19 11:46:56.000000000","message":"Among other things:\nhttps://bugzilla.redhat.com/show_bug.cgi?id\u003d1883657\nhttps://bugzilla.redhat.com/show_bug.cgi?id\u003d1837458\nIt comes on a regular basis.","commit_id":"51b7e2337b26a857dc6e2df3eb64f094a6a7783e"},{"author":{"_account_id":11090,"name":"Sergii Golovatiuk","email":"sgolovat@redhat.com","username":"holser"},"change_message_id":"ee579017904143c71be2a95b45f0e2a93f007791","unresolved":true,"context_lines":[{"line_number":17,"context_line":"The new script, replacing the plain curl call, is using Python"},{"line_number":18,"context_line":"\"requests\" library. This library, among others, does support CIDR"},{"line_number":19,"context_line":"notation for the no_proxy env var[1], making things far, far easier to"},{"line_number":20,"context_line":"handle."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"The method name isn\u0027t replaced (yet) in order to ensure everything using"},{"line_number":23,"context_line":"that name will, actually, use the python script."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"8c4130e5_19fb94f8","line":20,"updated":"2021-01-19 11:20:30.000000000","message":"Normal deprecation process is to introduce custom python script and use flags (env variable or any other switcher). Test it one release then then deprecate curl. Changing without deprecation will cause more issues","commit_id":"51b7e2337b26a857dc6e2df3eb64f094a6a7783e"},{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"56536a5fbcb389ac0c9f17d3e892f96ec2ebedff","unresolved":true,"context_lines":[{"line_number":17,"context_line":"The new script, replacing the plain curl call, is using Python"},{"line_number":18,"context_line":"\"requests\" library. This library, among others, does support CIDR"},{"line_number":19,"context_line":"notation for the no_proxy env var[1], making things far, far easier to"},{"line_number":20,"context_line":"handle."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"The method name isn\u0027t replaced (yet) in order to ensure everything using"},{"line_number":23,"context_line":"that name will, actually, use the python script."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"b1998437_26df0691","line":20,"in_reply_to":"8c4130e5_19fb94f8","updated":"2021-01-19 11:46:56.000000000","message":"I\u0027ll do this once I get zuul status - I forget to set -w on this change.","commit_id":"51b7e2337b26a857dc6e2df3eb64f094a6a7783e"},{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"f2df1b29a1607c08bf50ed043a71f30a6c1f9fda","unresolved":false,"context_lines":[{"line_number":17,"context_line":"The new script, replacing the plain curl call, is using Python"},{"line_number":18,"context_line":"\"requests\" library. This library, among others, does support CIDR"},{"line_number":19,"context_line":"notation for the no_proxy env var[1], making things far, far easier to"},{"line_number":20,"context_line":"handle."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"The method name isn\u0027t replaced (yet) in order to ensure everything using"},{"line_number":23,"context_line":"that name will, actually, use the python script."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"31bf8f6d_99ace67f","line":20,"in_reply_to":"b1998437_26df0691","updated":"2021-01-19 12:40:57.000000000","message":"Added a better handling of this case - it will default to cURL, but if either no_proxy or NO_PROXY, or a dedicated switch is set, it will use the python script. This also attempts to solve Bogdan\u0027s concerns.","commit_id":"51b7e2337b26a857dc6e2df3eb64f094a6a7783e"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"7ccc1f3d5c322109bb2b5dcbf89ec3128ccf1be0","unresolved":true,"context_lines":[{"line_number":11,"context_line":"isn\u0027t any real RFC describing the content of this variable, there isn\u0027t"},{"line_number":12,"context_line":"any unified handling."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"This leads to situation where an Operator puts some CIDR notation inside"},{"line_number":15,"context_line":"this variable, while curl doesn\u0027t handle it."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"This change therefore adds a new python script. Since it uses"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"133e8055_c2a72e78","line":14,"updated":"2021-01-20 07:42:24.000000000","message":"trying to understand here.\nso the problem isn\u0027t that we call healthcheck_curl with a CIDR but that if we have set NO_PROXY with a CIDR then the healthcheck_curl using curl fails?","commit_id":"cdddad1a9d7f8255f413167a5a179a21d0fa820d"},{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"a7581297e6bf0f6b97bf909b835ad66043522caf","unresolved":false,"context_lines":[{"line_number":11,"context_line":"isn\u0027t any real RFC describing the content of this variable, there isn\u0027t"},{"line_number":12,"context_line":"any unified handling."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"This leads to situation where an Operator puts some CIDR notation inside"},{"line_number":15,"context_line":"this variable, while curl doesn\u0027t handle it."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"This change therefore adds a new python script. Since it uses"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"47b4524c_a2d8dae0","line":14,"in_reply_to":"133e8055_c2a72e78","updated":"2021-01-20 07:58:05.000000000","message":"exactly. cURL won\u0027t understand the NO_PROXY value and will use the proxy.","commit_id":"cdddad1a9d7f8255f413167a5a179a21d0fa820d"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"7ccc1f3d5c322109bb2b5dcbf89ec3128ccf1be0","unresolved":true,"context_lines":[{"line_number":15,"context_line":"this variable, while curl doesn\u0027t handle it."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"This change therefore adds a new python script. Since it uses"},{"line_number":18,"context_line":"python-requests, it will have a proper support for the CIDR notation[1]"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"It will be called if and only if either NO_PROXY or no_proxy environment"},{"line_number":21,"context_line":"variables are set and non-empty."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"f392e291_3ee8f437","line":18,"range":{"start_line":18,"start_character":68,"end_line":18,"end_character":71},"updated":"2021-01-20 07:42:24.000000000","message":"thanks for the pointers","commit_id":"cdddad1a9d7f8255f413167a5a179a21d0fa820d"}],"healthcheck/common.sh":[{"author":{"_account_id":27419,"name":"David Vallee Delisle","email":"me@dvd.dev","username":"dvd"},"change_message_id":"fcf5832074df4302f6c855f823ad799165f744f9","unresolved":true,"context_lines":[{"line_number":30,"context_line":"        return 1"},{"line_number":31,"context_line":"    fi"},{"line_number":32,"context_line":"    export NSS_SDB_USE_CACHE\u003dno"},{"line_number":33,"context_line":"    if [-z \"${HEALTHCHECK_CURL_PY+x}\" ] || [ -z \"${no_proxy+x}\" ] || [ -z \"${NO_PROXY+x}\" ]; then"},{"line_number":34,"context_line":"      ${HEALTHCHECK_SCRIPTS:-/usr/share/openstack-tripleo-common/healthcheck}/http-healthcheck.py \\"},{"line_number":35,"context_line":"        --max-time \"${HEALTHCHECK_CURL_MAX_TIME}\" \\"},{"line_number":36,"context_line":"        --user-agent \"${HEALTHCHECK_CURL_USER_AGENT}\" \\"}],"source_content_type":"text/x-sh","patch_set":3,"id":"50788861_2ceaaa4b","line":33,"range":{"start_line":33,"start_character":7,"end_line":33,"end_character":9},"updated":"2021-01-19 14:25:49.000000000","message":"I believe there should be a space here:\n    if [ -z \"${HEALTHCHECK_CURL_PY+x}\" ] || [ -z \"${no_proxy+x}\" ] || [ -z \"${NO_PROXY+x}\" ]; then\n\nAnd this check isn\u0027t working here:\n    [dvd@localhost ~]$ echo $NO_PROXY\n\n    [dvd@localhost ~]$ echo $no_proxy\n\n    [dvd@localhost ~]$ echo $HEALTHCHECK_CURL_PY\n\n    [dvd@localhost ~]$ if [ -z \"${HEALTHCHECK_CURL_PY+x}\" ] || [ -z \"${no_proxy+x}\" ] || [ -z \"${NO_PROXY+x}\" ]; then   echo bla; fi\n    bla","commit_id":"c241575b9a7faba5692e65067e49d60201242994"},{"author":{"_account_id":30750,"name":"amolkahat","display_name":"Amol Kahat","email":"amolkahat@gmail.com","username":"amolkahat"},"change_message_id":"f34d88da439d778d02a8dcd9410fbcf7073f930e","unresolved":true,"context_lines":[{"line_number":30,"context_line":"        return 1"},{"line_number":31,"context_line":"    fi"},{"line_number":32,"context_line":"    export NSS_SDB_USE_CACHE\u003dno"},{"line_number":33,"context_line":"    if [ -n \"${HEALTHCHECK_CURL_PY+x}\" ] || [ -n \"${no_proxy+x}\" ] || [ -n \"${NO_PROXY+x}\" ]; then"},{"line_number":34,"context_line":"      ${HEALTHCHECK_SCRIPTS:-/usr/share/openstack-tripleo-common/healthcheck}/http-healthcheck.py \\"},{"line_number":35,"context_line":"        --max-time \"${HEALTHCHECK_CURL_MAX_TIME}\" \\"},{"line_number":36,"context_line":"        --user-agent \"${HEALTHCHECK_CURL_USER_AGENT}\" \\"}],"source_content_type":"text/x-sh","patch_set":4,"id":"c84f382c_42cea685","line":33,"updated":"2021-01-20 07:43:18.000000000","message":"This is 7 spaces.","commit_id":"54dd774b2a7f34501efe9b7c61c4302661b48795"},{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"a7581297e6bf0f6b97bf909b835ad66043522caf","unresolved":false,"context_lines":[{"line_number":30,"context_line":"        return 1"},{"line_number":31,"context_line":"    fi"},{"line_number":32,"context_line":"    export NSS_SDB_USE_CACHE\u003dno"},{"line_number":33,"context_line":"    if [ -n \"${HEALTHCHECK_CURL_PY+x}\" ] || [ -n \"${no_proxy+x}\" ] || [ -n \"${NO_PROXY+x}\" ]; then"},{"line_number":34,"context_line":"      ${HEALTHCHECK_SCRIPTS:-/usr/share/openstack-tripleo-common/healthcheck}/http-healthcheck.py \\"},{"line_number":35,"context_line":"        --max-time \"${HEALTHCHECK_CURL_MAX_TIME}\" \\"},{"line_number":36,"context_line":"        --user-agent \"${HEALTHCHECK_CURL_USER_AGENT}\" \\"}],"source_content_type":"text/x-sh","patch_set":4,"id":"1806a7a0_badc600b","line":33,"in_reply_to":"c84f382c_42cea685","updated":"2021-01-20 07:58:05.000000000","message":"yeah - this is already corrected in the last patchset 😊","commit_id":"54dd774b2a7f34501efe9b7c61c4302661b48795"},{"author":{"_account_id":30750,"name":"amolkahat","display_name":"Amol Kahat","email":"amolkahat@gmail.com","username":"amolkahat"},"change_message_id":"17e3e428c631612ac75a73277d8e8b9022f8ea1b","unresolved":true,"context_lines":[{"line_number":31,"context_line":"    fi"},{"line_number":32,"context_line":"    export NSS_SDB_USE_CACHE\u003dno"},{"line_number":33,"context_line":"    if [ -n \"${HEALTHCHECK_CURL_PY+x}\" ] || [ -n \"${no_proxy+x}\" ] || [ -n \"${NO_PROXY+x}\" ]; then"},{"line_number":34,"context_line":"      ${HEALTHCHECK_SCRIPTS:-/usr/share/openstack-tripleo-common/healthcheck}/http-healthcheck.py \\"},{"line_number":35,"context_line":"        --max-time \"${HEALTHCHECK_CURL_MAX_TIME}\" \\"},{"line_number":36,"context_line":"        --user-agent \"${HEALTHCHECK_CURL_USER_AGENT}\" \\"},{"line_number":37,"context_line":"        --write-out \"${HEALTHCHECK_CURL_WRITE_OUT}\" \\"}],"source_content_type":"text/x-sh","patch_set":4,"id":"d25afdeb_8e9b2e36","line":34,"range":{"start_line":34,"start_character":0,"end_line":34,"end_character":6},"updated":"2021-01-20 07:45:07.000000000","message":"I ment here.. not above. 😐","commit_id":"54dd774b2a7f34501efe9b7c61c4302661b48795"},{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"a7581297e6bf0f6b97bf909b835ad66043522caf","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    fi"},{"line_number":32,"context_line":"    export NSS_SDB_USE_CACHE\u003dno"},{"line_number":33,"context_line":"    if [ -n \"${HEALTHCHECK_CURL_PY+x}\" ] || [ -n \"${no_proxy+x}\" ] || [ -n \"${NO_PROXY+x}\" ]; then"},{"line_number":34,"context_line":"      ${HEALTHCHECK_SCRIPTS:-/usr/share/openstack-tripleo-common/healthcheck}/http-healthcheck.py \\"},{"line_number":35,"context_line":"        --max-time \"${HEALTHCHECK_CURL_MAX_TIME}\" \\"},{"line_number":36,"context_line":"        --user-agent \"${HEALTHCHECK_CURL_USER_AGENT}\" \\"},{"line_number":37,"context_line":"        --write-out \"${HEALTHCHECK_CURL_WRITE_OUT}\" \\"}],"source_content_type":"text/x-sh","patch_set":4,"id":"a872bf9d_78f056b0","line":34,"range":{"start_line":34,"start_character":0,"end_line":34,"end_character":6},"in_reply_to":"d25afdeb_8e9b2e36","updated":"2021-01-20 07:58:05.000000000","message":"same","commit_id":"54dd774b2a7f34501efe9b7c61c4302661b48795"},{"author":{"_account_id":30750,"name":"amolkahat","display_name":"Amol Kahat","email":"amolkahat@gmail.com","username":"amolkahat"},"change_message_id":"17e3e428c631612ac75a73277d8e8b9022f8ea1b","unresolved":true,"context_lines":[{"line_number":37,"context_line":"        --write-out \"${HEALTHCHECK_CURL_WRITE_OUT}\" \\"},{"line_number":38,"context_line":"        \"$@\" || return 1"},{"line_number":39,"context_line":"    else"},{"line_number":40,"context_line":"      curl -g -k -q -s -S --fail -o \"${HEALTHCHECK_CURL_OUTPUT}\" \\"},{"line_number":41,"context_line":"        --max-time \"${HEALTHCHECK_CURL_MAX_TIME}\" \\"},{"line_number":42,"context_line":"        --user-agent \"${HEALTHCHECK_CURL_USER_AGENT}\" \\"},{"line_number":43,"context_line":"        --write-out \"${HEALTHCHECK_CURL_WRITE_OUT}\" \\"}],"source_content_type":"text/x-sh","patch_set":4,"id":"1f82f8d1_17d319b8","line":40,"range":{"start_line":40,"start_character":0,"end_line":40,"end_character":6},"updated":"2021-01-20 07:45:07.000000000","message":"Same goes here.. it should be 8 spaces.","commit_id":"54dd774b2a7f34501efe9b7c61c4302661b48795"},{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"a7581297e6bf0f6b97bf909b835ad66043522caf","unresolved":false,"context_lines":[{"line_number":37,"context_line":"        --write-out \"${HEALTHCHECK_CURL_WRITE_OUT}\" \\"},{"line_number":38,"context_line":"        \"$@\" || return 1"},{"line_number":39,"context_line":"    else"},{"line_number":40,"context_line":"      curl -g -k -q -s -S --fail -o \"${HEALTHCHECK_CURL_OUTPUT}\" \\"},{"line_number":41,"context_line":"        --max-time \"${HEALTHCHECK_CURL_MAX_TIME}\" \\"},{"line_number":42,"context_line":"        --user-agent \"${HEALTHCHECK_CURL_USER_AGENT}\" \\"},{"line_number":43,"context_line":"        --write-out \"${HEALTHCHECK_CURL_WRITE_OUT}\" \\"}],"source_content_type":"text/x-sh","patch_set":4,"id":"3bb257f6_bfc54811","line":40,"range":{"start_line":40,"start_character":0,"end_line":40,"end_character":6},"in_reply_to":"1f82f8d1_17d319b8","updated":"2021-01-20 07:58:05.000000000","message":"same","commit_id":"54dd774b2a7f34501efe9b7c61c4302661b48795"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"7ccc1f3d5c322109bb2b5dcbf89ec3128ccf1be0","unresolved":true,"context_lines":[{"line_number":32,"context_line":"    export NSS_SDB_USE_CACHE\u003dno"},{"line_number":33,"context_line":"    curl -g -k -q -s -S --fail -o \"${HEALTHCHECK_CURL_OUTPUT}\" \\"},{"line_number":34,"context_line":"        --max-time \"${HEALTHCHECK_CURL_MAX_TIME}\" \\"},{"line_number":35,"context_line":"        --user-agent \"${HEALTHCHECK_CURL_USER_AGENT}\" \\"},{"line_number":36,"context_line":"        --write-out \"${HEALTHCHECK_CURL_WRITE_OUT}\" \\"},{"line_number":37,"context_line":"        \"$@\" || return 1"},{"line_number":38,"context_line":"}"}],"source_content_type":"text/x-sh","patch_set":5,"id":"71967100_ec333b05","side":"PARENT","line":35,"updated":"2021-01-20 07:42:24.000000000","message":"can we add some echo in each case to make it clear which healthcheck is being executed for debug purposes please?","commit_id":"557e56bd1e4f6416bc199863d380977e0b867531"},{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"a7581297e6bf0f6b97bf909b835ad66043522caf","unresolved":true,"context_lines":[{"line_number":32,"context_line":"    export NSS_SDB_USE_CACHE\u003dno"},{"line_number":33,"context_line":"    curl -g -k -q -s -S --fail -o \"${HEALTHCHECK_CURL_OUTPUT}\" \\"},{"line_number":34,"context_line":"        --max-time \"${HEALTHCHECK_CURL_MAX_TIME}\" \\"},{"line_number":35,"context_line":"        --user-agent \"${HEALTHCHECK_CURL_USER_AGENT}\" \\"},{"line_number":36,"context_line":"        --write-out \"${HEALTHCHECK_CURL_WRITE_OUT}\" \\"},{"line_number":37,"context_line":"        \"$@\" || return 1"},{"line_number":38,"context_line":"}"}],"source_content_type":"text/x-sh","patch_set":5,"id":"92403ddc_a59e8ce5","side":"PARENT","line":35,"in_reply_to":"71967100_ec333b05","updated":"2021-01-20 07:58:05.000000000","message":"hmmm not sure if it will have any impact on some metric such as the work done by Martin :/. Have to check with him, if we can update the output in order to insert the check type.","commit_id":"557e56bd1e4f6416bc199863d380977e0b867531"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"ff1b1e9262f08492f8f02b87b1f09f4fb42af99b","unresolved":true,"context_lines":[{"line_number":32,"context_line":"    export NSS_SDB_USE_CACHE\u003dno"},{"line_number":33,"context_line":"    curl -g -k -q -s -S --fail -o \"${HEALTHCHECK_CURL_OUTPUT}\" \\"},{"line_number":34,"context_line":"        --max-time \"${HEALTHCHECK_CURL_MAX_TIME}\" \\"},{"line_number":35,"context_line":"        --user-agent \"${HEALTHCHECK_CURL_USER_AGENT}\" \\"},{"line_number":36,"context_line":"        --write-out \"${HEALTHCHECK_CURL_WRITE_OUT}\" \\"},{"line_number":37,"context_line":"        \"$@\" || return 1"},{"line_number":38,"context_line":"}"}],"source_content_type":"text/x-sh","patch_set":5,"id":"fc8b224d_3dee89e0","side":"PARENT","line":35,"in_reply_to":"92403ddc_a59e8ce5","updated":"2021-01-21 08:34:05.000000000","message":"no need to check type. here inside the if conditional and before invoking http-healthcheck.py on line 34 i mean adding an  echo \u0027using http-healthcheck.py\u0027","commit_id":"557e56bd1e4f6416bc199863d380977e0b867531"},{"author":{"_account_id":14985,"name":"Alex Schultz","email":"aschultz@next-development.com","username":"mwhahaha"},"change_message_id":"ec784b51264c38e63875d6d12d070caf52d8c6a6","unresolved":true,"context_lines":[{"line_number":31,"context_line":"    fi"},{"line_number":32,"context_line":"    export NSS_SDB_USE_CACHE\u003dno"},{"line_number":33,"context_line":"    if [ -n \"${HEALTHCHECK_CURL_PY+x}\" ] || [ -n \"${no_proxy+x}\" ] || [ -n \"${NO_PROXY+x}\" ]; then"},{"line_number":34,"context_line":"        echo \u0027healthcheck_curl uses python\u0027"},{"line_number":35,"context_line":"        ${HEALTHCHECK_SCRIPTS:-/usr/share/openstack-tripleo-common/healthcheck}/http-healthcheck.py \\"},{"line_number":36,"context_line":"        --max-time \"${HEALTHCHECK_CURL_MAX_TIME}\" \\"},{"line_number":37,"context_line":"        --user-agent \"${HEALTHCHECK_CURL_USER_AGENT}\" \\"}],"source_content_type":"text/x-sh","patch_set":8,"id":"a33f8e28_e39bfe58","line":34,"updated":"2021-01-21 14:17:39.000000000","message":"We shouldn\u0027t leave this in. it\u0027s just going to generate a bunch of useless logs logs.","commit_id":"5ad02454d90c7f3a319910765dd3d8021f08753e"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"f478f2315477fe5a725c1677dc9d05734a80d13c","unresolved":true,"context_lines":[{"line_number":31,"context_line":"    fi"},{"line_number":32,"context_line":"    export NSS_SDB_USE_CACHE\u003dno"},{"line_number":33,"context_line":"    if [ -n \"${HEALTHCHECK_CURL_PY+x}\" ] || [ -n \"${no_proxy+x}\" ] || [ -n \"${NO_PROXY+x}\" ]; then"},{"line_number":34,"context_line":"        echo \u0027healthcheck_curl uses python\u0027"},{"line_number":35,"context_line":"        ${HEALTHCHECK_SCRIPTS:-/usr/share/openstack-tripleo-common/healthcheck}/http-healthcheck.py \\"},{"line_number":36,"context_line":"        --max-time \"${HEALTHCHECK_CURL_MAX_TIME}\" \\"},{"line_number":37,"context_line":"        --user-agent \"${HEALTHCHECK_CURL_USER_AGENT}\" \\"}],"source_content_type":"text/x-sh","patch_set":8,"id":"5f45ede1_2c739748","line":34,"range":{"start_line":34,"start_character":8,"end_line":34,"end_character":12},"updated":"2021-01-21 09:00:38.000000000","message":"yes thank you","commit_id":"5ad02454d90c7f3a319910765dd3d8021f08753e"},{"author":{"_account_id":14985,"name":"Alex Schultz","email":"aschultz@next-development.com","username":"mwhahaha"},"change_message_id":"cda38529debd403797662f08e6d65c9926c0fc93","unresolved":true,"context_lines":[{"line_number":31,"context_line":"    fi"},{"line_number":32,"context_line":"    export NSS_SDB_USE_CACHE\u003dno"},{"line_number":33,"context_line":"    if [ -n \"${HEALTHCHECK_CURL_PY+x}\" ] || [ -n \"${no_proxy+x}\" ] || [ -n \"${NO_PROXY+x}\" ]; then"},{"line_number":34,"context_line":"        echo \u0027healthcheck_curl uses python\u0027"},{"line_number":35,"context_line":"        ${HEALTHCHECK_SCRIPTS:-/usr/share/openstack-tripleo-common/healthcheck}/http-healthcheck.py \\"},{"line_number":36,"context_line":"        --max-time \"${HEALTHCHECK_CURL_MAX_TIME}\" \\"},{"line_number":37,"context_line":"        --user-agent \"${HEALTHCHECK_CURL_USER_AGENT}\" \\"}],"source_content_type":"text/x-sh","patch_set":8,"id":"2e9e2769_0b41b8b0","line":34,"in_reply_to":"244a4cce_cf8ba2f4","updated":"2021-01-22 14:36:34.000000000","message":"We\u0027ve had bugs from customers complaining about excessive logging from healthchecks. The customer isn\u0027t going to care what\u0027s being used (we will) and we\u0027ll be able to tell in the access logs.","commit_id":"5ad02454d90c7f3a319910765dd3d8021f08753e"},{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"d5719ba601643fa81959863f4edcd745d6cf7db8","unresolved":true,"context_lines":[{"line_number":31,"context_line":"    fi"},{"line_number":32,"context_line":"    export NSS_SDB_USE_CACHE\u003dno"},{"line_number":33,"context_line":"    if [ -n \"${HEALTHCHECK_CURL_PY+x}\" ] || [ -n \"${no_proxy+x}\" ] || [ -n \"${NO_PROXY+x}\" ]; then"},{"line_number":34,"context_line":"        echo \u0027healthcheck_curl uses python\u0027"},{"line_number":35,"context_line":"        ${HEALTHCHECK_SCRIPTS:-/usr/share/openstack-tripleo-common/healthcheck}/http-healthcheck.py \\"},{"line_number":36,"context_line":"        --max-time \"${HEALTHCHECK_CURL_MAX_TIME}\" \\"},{"line_number":37,"context_line":"        --user-agent \"${HEALTHCHECK_CURL_USER_AGENT}\" \\"}],"source_content_type":"text/x-sh","patch_set":8,"id":"e2f5ecff_2f5635c4","line":34,"in_reply_to":"37678526_5c7c55bb","updated":"2021-01-21 15:44:45.000000000","message":"showing operator what\u0027s done under the hood. It might be useful in case of a failing healthcheck to know what code is actually in use.","commit_id":"5ad02454d90c7f3a319910765dd3d8021f08753e"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"36f1bbf1472e3988a533ba12d45fc124a2d1d84d","unresolved":true,"context_lines":[{"line_number":31,"context_line":"    fi"},{"line_number":32,"context_line":"    export NSS_SDB_USE_CACHE\u003dno"},{"line_number":33,"context_line":"    if [ -n \"${HEALTHCHECK_CURL_PY+x}\" ] || [ -n \"${no_proxy+x}\" ] || [ -n \"${NO_PROXY+x}\" ]; then"},{"line_number":34,"context_line":"        echo \u0027healthcheck_curl uses python\u0027"},{"line_number":35,"context_line":"        ${HEALTHCHECK_SCRIPTS:-/usr/share/openstack-tripleo-common/healthcheck}/http-healthcheck.py \\"},{"line_number":36,"context_line":"        --max-time \"${HEALTHCHECK_CURL_MAX_TIME}\" \\"},{"line_number":37,"context_line":"        --user-agent \"${HEALTHCHECK_CURL_USER_AGENT}\" \\"}],"source_content_type":"text/x-sh","patch_set":8,"id":"244a4cce_cf8ba2f4","line":34,"in_reply_to":"3cabbf6d_7d90e031","updated":"2021-01-22 08:14:26.000000000","message":"I don\u0027t get how an extra line to qualify which of the two healthchecks is being used consitutes \u0027bunch of useless logs\u0027","commit_id":"5ad02454d90c7f3a319910765dd3d8021f08753e"},{"author":{"_account_id":14985,"name":"Alex Schultz","email":"aschultz@next-development.com","username":"mwhahaha"},"change_message_id":"1cfaef7c99c8315947251686e3129cd20f96f8c6","unresolved":true,"context_lines":[{"line_number":31,"context_line":"    fi"},{"line_number":32,"context_line":"    export NSS_SDB_USE_CACHE\u003dno"},{"line_number":33,"context_line":"    if [ -n \"${HEALTHCHECK_CURL_PY+x}\" ] || [ -n \"${no_proxy+x}\" ] || [ -n \"${NO_PROXY+x}\" ]; then"},{"line_number":34,"context_line":"        echo \u0027healthcheck_curl uses python\u0027"},{"line_number":35,"context_line":"        ${HEALTHCHECK_SCRIPTS:-/usr/share/openstack-tripleo-common/healthcheck}/http-healthcheck.py \\"},{"line_number":36,"context_line":"        --max-time \"${HEALTHCHECK_CURL_MAX_TIME}\" \\"},{"line_number":37,"context_line":"        --user-agent \"${HEALTHCHECK_CURL_USER_AGENT}\" \\"}],"source_content_type":"text/x-sh","patch_set":8,"id":"37678526_5c7c55bb","line":34,"in_reply_to":"4e099d5a_0fbb7299","updated":"2021-01-21 14:22:34.000000000","message":"Whats the purpose of this?","commit_id":"5ad02454d90c7f3a319910765dd3d8021f08753e"},{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"9aa374208d44f276158c31dd967930547b720b9d","unresolved":true,"context_lines":[{"line_number":31,"context_line":"    fi"},{"line_number":32,"context_line":"    export NSS_SDB_USE_CACHE\u003dno"},{"line_number":33,"context_line":"    if [ -n \"${HEALTHCHECK_CURL_PY+x}\" ] || [ -n \"${no_proxy+x}\" ] || [ -n \"${NO_PROXY+x}\" ]; then"},{"line_number":34,"context_line":"        echo \u0027healthcheck_curl uses python\u0027"},{"line_number":35,"context_line":"        ${HEALTHCHECK_SCRIPTS:-/usr/share/openstack-tripleo-common/healthcheck}/http-healthcheck.py \\"},{"line_number":36,"context_line":"        --max-time \"${HEALTHCHECK_CURL_MAX_TIME}\" \\"},{"line_number":37,"context_line":"        --user-agent \"${HEALTHCHECK_CURL_USER_AGENT}\" \\"}],"source_content_type":"text/x-sh","patch_set":8,"id":"4e099d5a_0fbb7299","line":34,"in_reply_to":"a33f8e28_e39bfe58","updated":"2021-01-21 14:21:31.000000000","message":"maybe I can integrate it in the actual output template instead?","commit_id":"5ad02454d90c7f3a319910765dd3d8021f08753e"},{"author":{"_account_id":14985,"name":"Alex Schultz","email":"aschultz@next-development.com","username":"mwhahaha"},"change_message_id":"e5afe7e9a0a6fb8ea779c628d8ee4d82593af72f","unresolved":true,"context_lines":[{"line_number":31,"context_line":"    fi"},{"line_number":32,"context_line":"    export NSS_SDB_USE_CACHE\u003dno"},{"line_number":33,"context_line":"    if [ -n \"${HEALTHCHECK_CURL_PY+x}\" ] || [ -n \"${no_proxy+x}\" ] || [ -n \"${NO_PROXY+x}\" ]; then"},{"line_number":34,"context_line":"        echo \u0027healthcheck_curl uses python\u0027"},{"line_number":35,"context_line":"        ${HEALTHCHECK_SCRIPTS:-/usr/share/openstack-tripleo-common/healthcheck}/http-healthcheck.py \\"},{"line_number":36,"context_line":"        --max-time \"${HEALTHCHECK_CURL_MAX_TIME}\" \\"},{"line_number":37,"context_line":"        --user-agent \"${HEALTHCHECK_CURL_USER_AGENT}\" \\"}],"source_content_type":"text/x-sh","patch_set":8,"id":"3cabbf6d_7d90e031","line":34,"in_reply_to":"e2f5ecff_2f5635c4","updated":"2021-01-21 16:13:17.000000000","message":"operators aren\u0027t going to care (nor can they change this honestly). Using the useragent to determine the difference is likely sufficient","commit_id":"5ad02454d90c7f3a319910765dd3d8021f08753e"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"36f1bbf1472e3988a533ba12d45fc124a2d1d84d","unresolved":true,"context_lines":[{"line_number":40,"context_line":"        curl -g -k -q -s -S --fail -o \"${HEALTHCHECK_CURL_OUTPUT}\" \\"},{"line_number":41,"context_line":"        --max-time \"${HEALTHCHECK_CURL_MAX_TIME}\" \\"},{"line_number":42,"context_line":"        --user-agent \"${HEALTHCHECK_CURL_USER_AGENT}\" \\"},{"line_number":43,"context_line":"        --write-out \"\\ncurl: ${HEALTHCHECK_CURL_WRITE_OUT}\" \\"},{"line_number":44,"context_line":"        \"$@\" || return 1"},{"line_number":45,"context_line":"    fi"},{"line_number":46,"context_line":"}"}],"source_content_type":"text/x-sh","patch_set":9,"id":"9e3e0d0f_9e88da23","line":43,"updated":"2021-01-22 08:14:26.000000000","message":"what was wrong with that way? no \u0027bunch of useless logs\u0027 here afaics","commit_id":"39ca88b8945d53d4e5b4850f6875dfb31d0e5442"}],"healthcheck/http-healthcheck.py":[{"author":{"_account_id":14985,"name":"Alex Schultz","email":"aschultz@next-development.com","username":"mwhahaha"},"change_message_id":"ec784b51264c38e63875d6d12d070caf52d8c6a6","unresolved":true,"context_lines":[{"line_number":28,"context_line":"    .replace(\u0027\\\\n\u0027, os.linesep)"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"headers \u003d {\u0027User-Agent\u0027: args.user_agent}"},{"line_number":31,"context_line":"with requests.head(uri, headers\u003dheaders, timeout\u003dargs.max_time,"},{"line_number":32,"context_line":"                   allow_redirects\u003dTrue, stream\u003dTrue, verify\u003dFalse) as req:"},{"line_number":33,"context_line":"    r_ip, r_port \u003d req.raw._original_response.fp.raw._sock.getpeername()"},{"line_number":34,"context_line":"    resp \u003d {\u0027http_code\u0027: req.status_code,"}],"source_content_type":"text/x-python","patch_set":8,"id":"add18e9f_0a77258e","line":31,"range":{"start_line":31,"start_character":14,"end_line":31,"end_character":18},"updated":"2021-01-21 14:17:39.000000000","message":"should use get. the curl call doesn\u0027t do a head (-g is get) and not all api\u0027s support head","commit_id":"5ad02454d90c7f3a319910765dd3d8021f08753e"},{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"9aa374208d44f276158c31dd967930547b720b9d","unresolved":true,"context_lines":[{"line_number":28,"context_line":"    .replace(\u0027\\\\n\u0027, os.linesep)"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"headers \u003d {\u0027User-Agent\u0027: args.user_agent}"},{"line_number":31,"context_line":"with requests.head(uri, headers\u003dheaders, timeout\u003dargs.max_time,"},{"line_number":32,"context_line":"                   allow_redirects\u003dTrue, stream\u003dTrue, verify\u003dFalse) as req:"},{"line_number":33,"context_line":"    r_ip, r_port \u003d req.raw._original_response.fp.raw._sock.getpeername()"},{"line_number":34,"context_line":"    resp \u003d {\u0027http_code\u0027: req.status_code,"}],"source_content_type":"text/x-python","patch_set":8,"id":"fa6e34b0_e80f7f06","line":31,"range":{"start_line":31,"start_character":14,"end_line":31,"end_character":18},"in_reply_to":"add18e9f_0a77258e","updated":"2021-01-21 14:21:31.000000000","message":"sad - head is less demanding :(. I\u0027ll update then...","commit_id":"5ad02454d90c7f3a319910765dd3d8021f08753e"},{"author":{"_account_id":14985,"name":"Alex Schultz","email":"aschultz@next-development.com","username":"mwhahaha"},"change_message_id":"1cfaef7c99c8315947251686e3129cd20f96f8c6","unresolved":true,"context_lines":[{"line_number":28,"context_line":"    .replace(\u0027\\\\n\u0027, os.linesep)"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"headers \u003d {\u0027User-Agent\u0027: args.user_agent}"},{"line_number":31,"context_line":"with requests.head(uri, headers\u003dheaders, timeout\u003dargs.max_time,"},{"line_number":32,"context_line":"                   allow_redirects\u003dTrue, stream\u003dTrue, verify\u003dFalse) as req:"},{"line_number":33,"context_line":"    r_ip, r_port \u003d req.raw._original_response.fp.raw._sock.getpeername()"},{"line_number":34,"context_line":"    resp \u003d {\u0027http_code\u0027: req.status_code,"}],"source_content_type":"text/x-python","patch_set":8,"id":"424a90fe_c224526a","line":31,"range":{"start_line":31,"start_character":14,"end_line":31,"end_character":18},"in_reply_to":"fa6e34b0_e80f7f06","updated":"2021-01-21 14:22:34.000000000","message":"er -G is get. either way we\u0027ve seen problem with head in the past","commit_id":"5ad02454d90c7f3a319910765dd3d8021f08753e"}]}
