)]}'
{"releasenotes/notes/http_proxy_config-cb39b55520e84db5.yaml":[{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"83eab74229a2719332393308d78f38454ccf29cd","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Adds 2 new config options, http_proxy and https_proxy. These options are"},{"line_number":4,"context_line":"    used to configure running tempest through a proxy server. By default they"},{"line_number":5,"context_line":"    use the values of the HTTP_PROXY and HTTPS_PROXY env variables."},{"line_number":6,"context_line":"  - The RestClient class in tempest.lib.rest_client has 2 new kwarg parameters,"}],"source_content_type":"text/x-yaml","patch_set":11,"id":"7f287b81_e76ff9c2","line":3,"range":{"start_line":3,"start_character":9,"end_line":3,"end_character":57},"updated":"2017-09-06 03:39:14.000000000","message":"only one config option","commit_id":"8f18276120646dcd759e3268d536218acbafe910"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"0381004c97d23540a557a2dde1a77c986ef82c0d","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Adds 2 new config options, http_proxy and https_proxy. These options are"},{"line_number":4,"context_line":"    used to configure running tempest through a proxy server. By default they"},{"line_number":5,"context_line":"    use the values of the HTTP_PROXY and HTTPS_PROXY env variables."},{"line_number":6,"context_line":"  - The RestClient class in tempest.lib.rest_client has 2 new kwarg parameters,"}],"source_content_type":"text/x-yaml","patch_set":11,"id":"7f287b81_024d4571","line":3,"range":{"start_line":3,"start_character":9,"end_line":3,"end_character":57},"in_reply_to":"7f287b81_e76ff9c2","updated":"2017-09-06 13:17:48.000000000","message":"Done","commit_id":"8f18276120646dcd759e3268d536218acbafe910"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"8b8eca22a5cb29301c41331e12ed36db59b62a97","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Adds a new config options, ``proxy_url``. This options is used to configure"},{"line_number":4,"context_line":"    running tempest through a proxy server. By default it uses the value of the"},{"line_number":5,"context_line":"    HTTP_PROXY env variables."},{"line_number":6,"context_line":"  - The RestClient class in tempest.lib.rest_client has a new kwarg parameters,"}],"source_content_type":"text/x-yaml","patch_set":12,"id":"7f287b81_be0b29d3","line":3,"range":{"start_line":3,"start_character":22,"end_line":3,"end_character":29},"updated":"2017-09-06 17:10:06.000000000","message":"s/options/option/","commit_id":"3bbec110b461631bf84e8e45c0bd5f16c09be992"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"8b8eca22a5cb29301c41331e12ed36db59b62a97","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Adds a new config options, ``proxy_url``. This options is used to configure"},{"line_number":4,"context_line":"    running tempest through a proxy server. By default it uses the value of the"},{"line_number":5,"context_line":"    HTTP_PROXY env variables."},{"line_number":6,"context_line":"  - The RestClient class in tempest.lib.rest_client has a new kwarg parameters,"},{"line_number":7,"context_line":"    ``proxy_url``, that is used to set a proxy server."},{"line_number":8,"context_line":"  - A new class was added to tempest.lib.http, ClosingProxyHttp. This behaves"}],"source_content_type":"text/x-yaml","patch_set":12,"id":"7f287b81_1e1b5dca","line":5,"range":{"start_line":5,"start_character":19,"end_line":5,"end_character":28},"updated":"2017-09-06 17:10:06.000000000","message":"s/variables/variable/","commit_id":"3bbec110b461631bf84e8e45c0bd5f16c09be992"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"8b8eca22a5cb29301c41331e12ed36db59b62a97","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - Adds a new config options, ``proxy_url``. This options is used to configure"},{"line_number":4,"context_line":"    running tempest through a proxy server. By default it uses the value of the"},{"line_number":5,"context_line":"    HTTP_PROXY env variables."},{"line_number":6,"context_line":"  - The RestClient class in tempest.lib.rest_client has a new kwarg parameters,"},{"line_number":7,"context_line":"    ``proxy_url``, that is used to set a proxy server."},{"line_number":8,"context_line":"  - A new class was added to tempest.lib.http, ClosingProxyHttp. This behaves"},{"line_number":9,"context_line":"    identically to ClosingHttp except that it requires a proxy url and will"}],"source_content_type":"text/x-yaml","patch_set":12,"id":"7f287b81_1e70fd07","line":6,"range":{"start_line":6,"start_character":68,"end_line":6,"end_character":78},"updated":"2017-09-06 17:10:06.000000000","message":"s/parameters/parameter/","commit_id":"3bbec110b461631bf84e8e45c0bd5f16c09be992"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"8794b5c36ecab2353a435d6ea46f0760658ae125","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Adds a new config options, ``proxy_url``. This options is used to configure"},{"line_number":4,"context_line":"    running tempest through a proxy server. By default it uses the value of the"},{"line_number":5,"context_line":"    HTTP_PROXY env variables."},{"line_number":6,"context_line":"  - The RestClient class in tempest.lib.rest_client has a new kwarg parameters,"},{"line_number":7,"context_line":"    ``proxy_url``, that is used to set a proxy server."},{"line_number":8,"context_line":"  - A new class was added to tempest.lib.http, ClosingProxyHttp. This behaves"}],"source_content_type":"text/x-yaml","patch_set":13,"id":"5f4e5783_10b67b3f","line":5,"range":{"start_line":4,"start_character":43,"end_line":5,"end_character":29},"updated":"2017-10-16 16:35:20.000000000","message":"Completely wrong","commit_id":"a3e3db0616cf3f727dbdf336e2963c2880686019"}],"tempest/config.py":[{"author":{"_account_id":17716,"name":"Luz Cazares","email":"luz.cazares@intel.com","username":"luzcazares"},"change_message_id":"2c29f0c9d40f560a2dfe7a8f3d8267d0457ea35c","unresolved":false,"context_lines":[{"line_number":182,"context_line":"               default\u003d60,"},{"line_number":183,"context_line":"               help\u003d\u0027Timeout in seconds to wait for the http request to \u0027"},{"line_number":184,"context_line":"                    \u0027return\u0027),"},{"line_number":185,"context_line":"    cfg.StrOpt(\u0027http_proxy\u0027,"},{"line_number":186,"context_line":"               help\u003d\u0027Specify an https proxy to use. Defaults to the \u0027"},{"line_number":187,"context_line":"                    \u0027environment variable \"http_proxy\". If both this and \u0027"},{"line_number":188,"context_line":"                    \u0027\"https_proxy\" are set (including via the env var), the \u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"da7fb54a_adb6483b","line":185,"range":{"start_line":185,"start_character":16,"end_line":185,"end_character":26},"updated":"2016-09-02 20:14:51.000000000","message":"would it be better to define only a \"proxy_url\" config option - still default its value to (https_proxy or http_proxy)?","commit_id":"b5520816d797b17f9b3a868abd092c6a8df86e4c"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"5aa7ab6f3ca020adb54d07b8a9124e94239e82fb","unresolved":false,"context_lines":[{"line_number":182,"context_line":"               default\u003d60,"},{"line_number":183,"context_line":"               help\u003d\u0027Timeout in seconds to wait for the http request to \u0027"},{"line_number":184,"context_line":"                    \u0027return\u0027),"},{"line_number":185,"context_line":"    cfg.StrOpt(\u0027http_proxy\u0027,"},{"line_number":186,"context_line":"               help\u003d\u0027Specify an https proxy to use. Defaults to the \u0027"},{"line_number":187,"context_line":"                    \u0027environment variable \"http_proxy\". If both this and \u0027"},{"line_number":188,"context_line":"                    \u0027\"https_proxy\" are set (including via the env var), the \u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a89bdaa_93bb6c0e","line":185,"range":{"start_line":185,"start_character":16,"end_line":185,"end_character":26},"in_reply_to":"da7fb54a_adb6483b","updated":"2016-09-02 21:26:15.000000000","message":"Nice idea for less option number.","commit_id":"b5520816d797b17f9b3a868abd092c6a8df86e4c"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"1e6e87c272d1ad8a47a59a6880f1bc6ed1f91ea3","unresolved":false,"context_lines":[{"line_number":183,"context_line":"               help\u003d\u0027Timeout in seconds to wait for the http request to \u0027"},{"line_number":184,"context_line":"                    \u0027return\u0027),"},{"line_number":185,"context_line":"    cfg.StrOpt(\u0027http_proxy\u0027,"},{"line_number":186,"context_line":"               help\u003d\u0027Specify an https proxy to use. Defaults to the \u0027"},{"line_number":187,"context_line":"                    \u0027environment variable \"http_proxy\". If both this and \u0027"},{"line_number":188,"context_line":"                    \u0027\"https_proxy\" are set (including via the env var), the \u0027"},{"line_number":189,"context_line":"                    \u0027value of https_proxy will take precedence\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"da7fb54a_dbcb4b1d","line":186,"range":{"start_line":186,"start_character":32,"end_line":186,"end_character":37},"updated":"2016-09-02 17:13:40.000000000","message":"s/https/http/ ..","commit_id":"b5520816d797b17f9b3a868abd092c6a8df86e4c"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"b5cb33205bc86596d4d1efd586cc637a225a6533","unresolved":false,"context_lines":[{"line_number":183,"context_line":"               help\u003d\u0027Timeout in seconds to wait for the http request to \u0027"},{"line_number":184,"context_line":"                    \u0027return\u0027),"},{"line_number":185,"context_line":"    cfg.StrOpt(\u0027http_proxy\u0027,"},{"line_number":186,"context_line":"               help\u003d\u0027Specify an https proxy to use. Defaults to the \u0027"},{"line_number":187,"context_line":"                    \u0027environment variable \"http_proxy\". If both this and \u0027"},{"line_number":188,"context_line":"                    \u0027\"https_proxy\" are set (including via the env var), the \u0027"},{"line_number":189,"context_line":"                    \u0027value of https_proxy will take precedence\u0027,"}],"source_content_type":"text/x-python","patch_set":8,"id":"fa6399be_4cee7423","line":186,"range":{"start_line":186,"start_character":32,"end_line":186,"end_character":37},"updated":"2016-10-11 16:13:55.000000000","message":"I am not sure why you don\u0027t fix this..","commit_id":"b824ca1370a1efe4af5571ac878a537589363523"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"a330856d446ac0c973928304951e7af39770a025","unresolved":false,"context_lines":[{"line_number":183,"context_line":"               help\u003d\u0027Timeout in seconds to wait for the http request to \u0027"},{"line_number":184,"context_line":"                    \u0027return\u0027),"},{"line_number":185,"context_line":"    cfg.StrOpt(\u0027http_proxy\u0027,"},{"line_number":186,"context_line":"               help\u003d\u0027Specify an https proxy to use. Defaults to the \u0027"},{"line_number":187,"context_line":"                    \u0027environment variable \"http_proxy\". If both this and \u0027"},{"line_number":188,"context_line":"                    \u0027\"https_proxy\" are set (including via the env var), the \u0027"},{"line_number":189,"context_line":"                    \u0027value of https_proxy will take precedence\u0027,"}],"source_content_type":"text/x-python","patch_set":8,"id":"fa6399be_f5d32102","line":186,"range":{"start_line":186,"start_character":32,"end_line":186,"end_character":37},"in_reply_to":"fa6399be_4cee7423","updated":"2016-10-13 17:15:17.000000000","message":"This is a nit, and if I have a reason to respin this patch I will fix this, but otherwise it is not worth the churn of another revision and can be fixed with no harm in a follow up commit.","commit_id":"b824ca1370a1efe4af5571ac878a537589363523"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"9a9ad174a7bf3f1116997e17a527a50893fb1e56","unresolved":false,"context_lines":[{"line_number":187,"context_line":"                    \u0027environment variable \"http_proxy\". If both this and \u0027"},{"line_number":188,"context_line":"                    \u0027\"https_proxy\" are set (including via the env var), the \u0027"},{"line_number":189,"context_line":"                    \u0027value of https_proxy will take precedence\u0027,"},{"line_number":190,"context_line":"               default\u003dos.getenv(\u0027http_proxy\u0027)),"},{"line_number":191,"context_line":"    cfg.StrOpt(\u0027https_proxy\u0027,"},{"line_number":192,"context_line":"               help\u003d\u0027Specify an https proxy to use. Defaults to the \u0027"},{"line_number":193,"context_line":"                    \u0027environment variable \"https_proxy\". If both this and \u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"fa6399be_dfa2be4a","line":190,"range":{"start_line":190,"start_character":15,"end_line":190,"end_character":47},"updated":"2016-10-13 16:26:43.000000000","message":"This default value doesn\u0027t seem useful for production clouds because they tend to use Tempest internally and http_proxy is used for getting/updating software from the internet.\nSo how about setting Null for here?","commit_id":"b824ca1370a1efe4af5571ac878a537589363523"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"ff78e2b7b37bedb9725980915ad26342e4684904","unresolved":false,"context_lines":[{"line_number":187,"context_line":"                    \u0027environment variable \"http_proxy\". If both this and \u0027"},{"line_number":188,"context_line":"                    \u0027\"https_proxy\" are set (including via the env var), the \u0027"},{"line_number":189,"context_line":"                    \u0027value of https_proxy will take precedence\u0027,"},{"line_number":190,"context_line":"               default\u003dos.getenv(\u0027http_proxy\u0027)),"},{"line_number":191,"context_line":"    cfg.StrOpt(\u0027https_proxy\u0027,"},{"line_number":192,"context_line":"               help\u003d\u0027Specify an https proxy to use. Defaults to the \u0027"},{"line_number":193,"context_line":"                    \u0027environment variable \"https_proxy\". If both this and \u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"fa6399be_a675fa98","line":190,"range":{"start_line":190,"start_character":15,"end_line":190,"end_character":47},"in_reply_to":"fa6399be_44edf9ed","updated":"2016-10-13 19:14:17.000000000","message":"Because you\u0027re not looking at history or the bug in the commit message. The urllib3 migration is what broke people, I am talking about what was before that, when we used httplib2. The env vars was the behavior we had then and what we broke for our users inadvertently during the switch to urllib3. All of this is in the commit msg btw","commit_id":"b824ca1370a1efe4af5571ac878a537589363523"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"b3021e408a55a954dea9d8d1377bc1f7a3ad218e","unresolved":false,"context_lines":[{"line_number":187,"context_line":"                    \u0027environment variable \"http_proxy\". If both this and \u0027"},{"line_number":188,"context_line":"                    \u0027\"https_proxy\" are set (including via the env var), the \u0027"},{"line_number":189,"context_line":"                    \u0027value of https_proxy will take precedence\u0027,"},{"line_number":190,"context_line":"               default\u003dos.getenv(\u0027http_proxy\u0027)),"},{"line_number":191,"context_line":"    cfg.StrOpt(\u0027https_proxy\u0027,"},{"line_number":192,"context_line":"               help\u003d\u0027Specify an https proxy to use. Defaults to the \u0027"},{"line_number":193,"context_line":"                    \u0027environment variable \"https_proxy\". If both this and \u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"fa6399be_495d1146","line":190,"range":{"start_line":190,"start_character":15,"end_line":190,"end_character":47},"in_reply_to":"fa6399be_a675fa98","updated":"2016-10-13 20:05:01.000000000","message":"We have already used urllib3 6 months since https://review.openstack.org/#/c/295900/ and this default value affects users who use newer Tempest.\n\nand I don\u0027t think the above use case is hypothetical. It is very common for me in my company internal works. In addition, maybe this patch doesn\u0027t support no_proxy which can avoid such situation as alternative way.","commit_id":"b824ca1370a1efe4af5571ac878a537589363523"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"ffbf1764371e1330ce90585f06842f4963cd1e32","unresolved":false,"context_lines":[{"line_number":187,"context_line":"                    \u0027environment variable \"http_proxy\". If both this and \u0027"},{"line_number":188,"context_line":"                    \u0027\"https_proxy\" are set (including via the env var), the \u0027"},{"line_number":189,"context_line":"                    \u0027value of https_proxy will take precedence\u0027,"},{"line_number":190,"context_line":"               default\u003dos.getenv(\u0027http_proxy\u0027)),"},{"line_number":191,"context_line":"    cfg.StrOpt(\u0027https_proxy\u0027,"},{"line_number":192,"context_line":"               help\u003d\u0027Specify an https proxy to use. Defaults to the \u0027"},{"line_number":193,"context_line":"                    \u0027environment variable \"https_proxy\". If both this and \u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"fa6399be_44edf9ed","line":190,"range":{"start_line":190,"start_character":15,"end_line":190,"end_character":47},"in_reply_to":"fa6399be_b5ae097f","updated":"2016-10-13 19:07:04.000000000","message":"Existing ClosingHttp which is implemented with urllib3 doesn\u0027t seem to get http_proxy value from the env in the module urllib3.poolmanager.PoolManager.\n\nSo I am not sure what is consistent before applying this patch yet.","commit_id":"b824ca1370a1efe4af5571ac878a537589363523"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"a330856d446ac0c973928304951e7af39770a025","unresolved":false,"context_lines":[{"line_number":187,"context_line":"                    \u0027environment variable \"http_proxy\". If both this and \u0027"},{"line_number":188,"context_line":"                    \u0027\"https_proxy\" are set (including via the env var), the \u0027"},{"line_number":189,"context_line":"                    \u0027value of https_proxy will take precedence\u0027,"},{"line_number":190,"context_line":"               default\u003dos.getenv(\u0027http_proxy\u0027)),"},{"line_number":191,"context_line":"    cfg.StrOpt(\u0027https_proxy\u0027,"},{"line_number":192,"context_line":"               help\u003d\u0027Specify an https proxy to use. Defaults to the \u0027"},{"line_number":193,"context_line":"                    \u0027environment variable \"https_proxy\". If both this and \u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"fa6399be_b5ae097f","line":190,"range":{"start_line":190,"start_character":15,"end_line":190,"end_character":47},"in_reply_to":"fa6399be_dfa2be4a","updated":"2016-10-13 17:15:17.000000000","message":"No, you can\u0027t do that. The whole point of this is to enable consistent behavior with was there before. This was implicitly being done by httplib2 before and was a feature our users were relying on. I don\u0027t think some hypothetical concern about a an environment where they run with this env var set but don\u0027t actually mean for it to be there is valid. This is a pretty standard interface","commit_id":"b824ca1370a1efe4af5571ac878a537589363523"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"71401faff7bfef9c55d606f0dfa1919ad209b4ef","unresolved":false,"context_lines":[{"line_number":197,"context_line":"               default\u003d60,"},{"line_number":198,"context_line":"               help\u003d\u0027Timeout in seconds to wait for the http request to \u0027"},{"line_number":199,"context_line":"                    \u0027return\u0027),"},{"line_number":200,"context_line":"    cfg.StrOpt(\u0027http_proxy\u0027,"},{"line_number":201,"context_line":"               help\u003d\u0027Specify an https proxy to use. Defaults to the \u0027"},{"line_number":202,"context_line":"                    \u0027environment variable \"http_proxy\". If both this and \u0027"},{"line_number":203,"context_line":"                    \u0027\"https_proxy\" are set (including via the env var), the \u0027"},{"line_number":204,"context_line":"                    \u0027value of https_proxy will take precedence\u0027,"},{"line_number":205,"context_line":"               default\u003dos.getenv(\u0027http_proxy\u0027)),"},{"line_number":206,"context_line":"    cfg.StrOpt(\u0027https_proxy\u0027,"},{"line_number":207,"context_line":"               help\u003d\u0027Specify an https proxy to use. Defaults to the \u0027"},{"line_number":208,"context_line":"                    \u0027environment variable \"https_proxy\". If both this and \u0027"},{"line_number":209,"context_line":"                    \u0027\"http_proxy\" are set (including via the env var), the \u0027"},{"line_number":210,"context_line":"                    \u0027value of this option will take precedence\u0027,"},{"line_number":211,"context_line":"               default\u003dos.getenv(\u0027https_proxy\u0027)),"},{"line_number":212,"context_line":"]"},{"line_number":213,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"df3967d1_7e38e6ec","line":210,"range":{"start_line":200,"start_character":0,"end_line":210,"end_character":64},"updated":"2017-08-04 10:19:19.000000000","message":"To be honest I don\u0027t think this is very useful.\n\nI\u0027d rather have one proxy_url setting instead then.\nIf we allow for http_proxy and https_proxy to be specified, than we need to have the logic to send HTTP requests through the http_proxy and HTTPS requests through the https_proxy.\n\nI guess most modern proxies will handle both http and https traffic, so having a proxy_url setting may be the right solution.","commit_id":"8694ed593e37d89659270d1845abe92757e17809"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"83eab74229a2719332393308d78f38454ccf29cd","unresolved":false,"context_lines":[{"line_number":1381,"context_line":"        * `ca_certs`"},{"line_number":1382,"context_line":"        * `trace_requests`"},{"line_number":1383,"context_line":"        * `http_timeout`"},{"line_number":1384,"context_line":"        * `http_proxy`"},{"line_number":1385,"context_line":"        * `https_proxy`"},{"line_number":1386,"context_line":""},{"line_number":1387,"context_line":"    The dict returned by this does not fit a few service clients:"},{"line_number":1388,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"7f287b81_c7a75d0b","line":1385,"range":{"start_line":1384,"start_character":0,"end_line":1385,"end_character":23},"updated":"2017-09-06 03:39:14.000000000","message":"proxy_url","commit_id":"8f18276120646dcd759e3268d536218acbafe910"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"0381004c97d23540a557a2dde1a77c986ef82c0d","unresolved":false,"context_lines":[{"line_number":1381,"context_line":"        * `ca_certs`"},{"line_number":1382,"context_line":"        * `trace_requests`"},{"line_number":1383,"context_line":"        * `http_timeout`"},{"line_number":1384,"context_line":"        * `http_proxy`"},{"line_number":1385,"context_line":"        * `https_proxy`"},{"line_number":1386,"context_line":""},{"line_number":1387,"context_line":"    The dict returned by this does not fit a few service clients:"},{"line_number":1388,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"7f287b81_c2085d29","line":1385,"range":{"start_line":1384,"start_character":0,"end_line":1385,"end_character":23},"in_reply_to":"7f287b81_c7a75d0b","updated":"2017-09-06 13:17:48.000000000","message":"Done","commit_id":"8f18276120646dcd759e3268d536218acbafe910"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"8b8eca22a5cb29301c41331e12ed36db59b62a97","unresolved":false,"context_lines":[{"line_number":198,"context_line":"               help\u003d\u0027Timeout in seconds to wait for the http request to \u0027"},{"line_number":199,"context_line":"                    \u0027return\u0027),"},{"line_number":200,"context_line":"    cfg.StrOpt(\u0027proxy_url\u0027,"},{"line_number":201,"context_line":"               help\u003d\u0027Specify an http proxy to use. Defaults to the \u0027"},{"line_number":202,"context_line":"                    \u0027environment variable \"http_proxy\".\u0027,"},{"line_number":203,"context_line":"               default\u003dos.getenv(\u0027http_proxy\u0027)),"},{"line_number":204,"context_line":"]"},{"line_number":205,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"7f287b81_7e25c1c1","line":202,"range":{"start_line":201,"start_character":20,"end_line":202,"end_character":57},"updated":"2017-09-06 17:10:06.000000000","message":"I am happy to see\n\n Set \"\" as this config value if you don\u0027t want to use any proxy.\n\nor something to avoid blaming me from our company folks.","commit_id":"3bbec110b461631bf84e8e45c0bd5f16c09be992"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"8a4364de453b051b9dd2be66cf2093acd9230872","unresolved":false,"context_lines":[{"line_number":199,"context_line":"                    \u0027return\u0027),"},{"line_number":200,"context_line":"    cfg.StrOpt(\u0027proxy_url\u0027,"},{"line_number":201,"context_line":"               help\u003d\u0027Specify an http proxy to use. Defaults to the \u0027"},{"line_number":202,"context_line":"                    \u0027environment variable \"http_proxy\".\u0027,"},{"line_number":203,"context_line":"               default\u003dos.getenv(\u0027http_proxy\u0027)),"},{"line_number":204,"context_line":"]"},{"line_number":205,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"7f287b81_8f4ca7c8","line":202,"updated":"2017-09-07 04:44:36.000000000","message":"If people don\u0027t want to use a proxy server, they can do it with unsetting the environment variable \u0027http_proxy\u0027, am I right?","commit_id":"3bbec110b461631bf84e8e45c0bd5f16c09be992"},{"author":{"_account_id":24728,"name":"megan guiney","email":"meganmguiney@gmail.com","username":"mguiney"},"change_message_id":"c2bdb08d369eb948b81afd7e0d41693ae3f6bdd2","unresolved":false,"context_lines":[{"line_number":198,"context_line":"               help\u003d\u0027Timeout in seconds to wait for the http request to \u0027"},{"line_number":199,"context_line":"                    \u0027return\u0027),"},{"line_number":200,"context_line":"    cfg.StrOpt(\u0027proxy_url\u0027,"},{"line_number":201,"context_line":"               help\u003d\u0027Specify an http proxy to use. Defaults to the \u0027"},{"line_number":202,"context_line":"                    \u0027environment variable \"http_proxy\".\u0027,"},{"line_number":203,"context_line":"               default\u003dos.getenv(\u0027http_proxy\u0027)),"},{"line_number":204,"context_line":"]"},{"line_number":205,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"7f287b81_5319d677","line":202,"range":{"start_line":201,"start_character":20,"end_line":202,"end_character":57},"in_reply_to":"7f287b81_781f1108","updated":"2017-09-06 20:31:38.000000000","message":"ooc, why not just set an empty string as the default value and avoid having the user have to set it themselves in non-proxy using cases?","commit_id":"3bbec110b461631bf84e8e45c0bd5f16c09be992"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"19a6ce9e5c3ef44e860c377cfebec9a99c46da2d","unresolved":false,"context_lines":[{"line_number":198,"context_line":"               help\u003d\u0027Timeout in seconds to wait for the http request to \u0027"},{"line_number":199,"context_line":"                    \u0027return\u0027),"},{"line_number":200,"context_line":"    cfg.StrOpt(\u0027proxy_url\u0027,"},{"line_number":201,"context_line":"               help\u003d\u0027Specify an http proxy to use. Defaults to the \u0027"},{"line_number":202,"context_line":"                    \u0027environment variable \"http_proxy\".\u0027,"},{"line_number":203,"context_line":"               default\u003dos.getenv(\u0027http_proxy\u0027)),"},{"line_number":204,"context_line":"]"},{"line_number":205,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"7f287b81_84fa5a72","line":202,"range":{"start_line":201,"start_character":20,"end_line":202,"end_character":57},"in_reply_to":"7f287b81_7e25c1c1","updated":"2017-09-06 18:15:45.000000000","message":"I don\u0027t understand, you want me to provide instructions on how to set an empty string as the value for the option? What does that accomplish? Isn\u0027t it the same for everything in config?","commit_id":"3bbec110b461631bf84e8e45c0bd5f16c09be992"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"fd0a741ad6020b734cfb184b959163ba764e7b90","unresolved":false,"context_lines":[{"line_number":198,"context_line":"               help\u003d\u0027Timeout in seconds to wait for the http request to \u0027"},{"line_number":199,"context_line":"                    \u0027return\u0027),"},{"line_number":200,"context_line":"    cfg.StrOpt(\u0027proxy_url\u0027,"},{"line_number":201,"context_line":"               help\u003d\u0027Specify an http proxy to use. Defaults to the \u0027"},{"line_number":202,"context_line":"                    \u0027environment variable \"http_proxy\".\u0027,"},{"line_number":203,"context_line":"               default\u003dos.getenv(\u0027http_proxy\u0027)),"},{"line_number":204,"context_line":"]"},{"line_number":205,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"7f287b81_781f1108","line":202,"range":{"start_line":201,"start_character":20,"end_line":202,"end_character":57},"in_reply_to":"7f287b81_84fa5a72","updated":"2017-09-06 20:16:21.000000000","message":"\u003e you want me to provide instructions on how to set an empty string as the value for the option? \n\nYeah, it is nice to provide how to disable this config on the help message.\n\nAs I said before, an http proxy is useful for getting distro packages via the internet from company internal network.\nBut it is common thing that the test target machine exists in company internal network. So on such env, the env value of http_proxy is set as the company proxy, but they want to unset this config of Tempest for the test target.","commit_id":"3bbec110b461631bf84e8e45c0bd5f16c09be992"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"8794b5c36ecab2353a435d6ea46f0760658ae125","unresolved":false,"context_lines":[{"line_number":195,"context_line":"               help\u003d\u0027Timeout in seconds to wait for the http request to \u0027"},{"line_number":196,"context_line":"                    \u0027return\u0027),"},{"line_number":197,"context_line":"    cfg.StrOpt(\u0027proxy_url\u0027,"},{"line_number":198,"context_line":"               help\u003d\u0027Specify an http proxy to use. Defaults to the \u0027"},{"line_number":199,"context_line":"                    \u0027environment variable \"http_proxy\".\u0027)"},{"line_number":200,"context_line":"]"},{"line_number":201,"context_line":""},{"line_number":202,"context_line":"identity_feature_group \u003d cfg.OptGroup(name\u003d\u0027identity-feature-enabled\u0027,"}],"source_content_type":"text/x-python","patch_set":13,"id":"5f4e5783_1061dbd3","line":199,"range":{"start_line":198,"start_character":50,"end_line":199,"end_character":56},"updated":"2017-10-16 16:35:20.000000000","message":"Completely wrong","commit_id":"a3e3db0616cf3f727dbdf336e2963c2880686019"}],"tempest/lib/common/http.py":[{"author":{"_account_id":18732,"name":"Antoine Eiche","email":"lewo@abesis.fr","username":"lewo"},"change_message_id":"12b1ae4342ad40125d4a210d54acb82eb217ac35","unresolved":false,"context_lines":[{"line_number":32,"context_line":"        if timeout:"},{"line_number":33,"context_line":"            kwargs[\u0027timeout\u0027] \u003d timeout"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"        super(ClosingHttp, self).__init__(proxy_url, **kwargs)"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    def request(self, url, method, *args, **kwargs):"},{"line_number":38,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"fa7ab95a_a5523665","line":35,"updated":"2016-09-02 14:15:46.000000000","message":"typo: Use ClosingProxyHttp","commit_id":"8157aa50e1d8363db0abbe880a20a0953b37723c"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"862f6eb8ba575e8e713f431b99fce5e5ec0cc5d7","unresolved":false,"context_lines":[{"line_number":32,"context_line":"        if timeout:"},{"line_number":33,"context_line":"            kwargs[\u0027timeout\u0027] \u003d timeout"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"        super(ClosingHttp, self).__init__(proxy_url, **kwargs)"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    def request(self, url, method, *args, **kwargs):"},{"line_number":38,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"fa7ab95a_16d95a57","line":35,"in_reply_to":"fa7ab95a_a5523665","updated":"2016-09-02 14:29:01.000000000","message":"Done","commit_id":"8157aa50e1d8363db0abbe880a20a0953b37723c"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"83eab74229a2719332393308d78f38454ccf29cd","unresolved":false,"context_lines":[{"line_number":26,"context_line":"            urllib3.disable_warnings()"},{"line_number":27,"context_line":"            kwargs[\u0027cert_reqs\u0027] \u003d \u0027CERT_NONE\u0027"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"        if ca_certs:"},{"line_number":30,"context_line":"            kwargs[\u0027cert_reqs\u0027] \u003d \u0027CERT_REQUIRED\u0027"},{"line_number":31,"context_line":"            kwargs[\u0027ca_certs\u0027] \u003d ca_certs"},{"line_number":32,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"7f287b81_a7c57190","line":29,"range":{"start_line":29,"start_character":0,"end_line":29,"end_character":20},"updated":"2017-09-06 03:39:14.000000000","message":"if? elif? it\u0027s inconsistency with that in ClosingHttp","commit_id":"8f18276120646dcd759e3268d536218acbafe910"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"0381004c97d23540a557a2dde1a77c986ef82c0d","unresolved":false,"context_lines":[{"line_number":26,"context_line":"            urllib3.disable_warnings()"},{"line_number":27,"context_line":"            kwargs[\u0027cert_reqs\u0027] \u003d \u0027CERT_NONE\u0027"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"        if ca_certs:"},{"line_number":30,"context_line":"            kwargs[\u0027cert_reqs\u0027] \u003d \u0027CERT_REQUIRED\u0027"},{"line_number":31,"context_line":"            kwargs[\u0027ca_certs\u0027] \u003d ca_certs"},{"line_number":32,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"7f287b81_7f5f0641","line":29,"range":{"start_line":29,"start_character":0,"end_line":29,"end_character":20},"in_reply_to":"7f287b81_a7c57190","updated":"2017-09-06 13:17:48.000000000","message":"Oh, the ClosingHttp class has been updated since I wrote this \u003e1 yr ago. Done","commit_id":"8f18276120646dcd759e3268d536218acbafe910"}],"tempest/lib/common/rest_client.py":[{"author":{"_account_id":7781,"name":"Ala Rezmerita","email":"ala.rezmerita@orange.com","username":"alla"},"change_message_id":"161110b2be1448ce84017c25dcec7f2f488b610f","unresolved":false,"context_lines":[{"line_number":81,"context_line":"                 build_interval\u003d1, build_timeout\u003d60,"},{"line_number":82,"context_line":"                 disable_ssl_certificate_validation\u003dFalse, ca_certs\u003dNone,"},{"line_number":83,"context_line":"                 trace_requests\u003d\u0027\u0027, name\u003dNone, http_timeout\u003dNone,"},{"line_number":84,"context_line":"                 http_proxy\u003dNone, https_proxy\u003dNone):"},{"line_number":85,"context_line":"        self.auth_provider \u003d auth_provider"},{"line_number":86,"context_line":"        self.service \u003d service"},{"line_number":87,"context_line":"        self.region \u003d region"}],"source_content_type":"text/x-python","patch_set":3,"id":"da7fb54a_c7cb721d","line":84,"range":{"start_line":84,"start_character":27,"end_line":84,"end_character":28},"updated":"2016-09-02 15:58:59.000000000","message":"The docstring must be updated with this two parameters","commit_id":"b5520816d797b17f9b3a868abd092c6a8df86e4c"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"1e6e87c272d1ad8a47a59a6880f1bc6ed1f91ea3","unresolved":false,"context_lines":[{"line_number":102,"context_line":"                                       \u0027vary\u0027, \u0027www-authenticate\u0027))"},{"line_number":103,"context_line":"        dscv \u003d disable_ssl_certificate_validation"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"        if http_proxy or https_proxy:"},{"line_number":106,"context_line":"            proxy_url \u003d https_proxy or http_proxy"},{"line_number":107,"context_line":"            self.http_obj \u003d http.ClosingProxyHttp("},{"line_number":108,"context_line":"                proxy_url,"},{"line_number":109,"context_line":"                disable_ssl_certificate_validation\u003ddscv, ca_certs\u003dca_certs,"}],"source_content_type":"text/x-python","patch_set":3,"id":"da7fb54a_3b77d7d5","line":106,"range":{"start_line":105,"start_character":8,"end_line":106,"end_character":49},"updated":"2016-09-02 17:13:40.000000000","message":"nit: how about putting proxy_url before like\n\n proxy_url \u003d https_proxy or http_proxy\n if proxy_url:\n\nto avoid duplicated \"https_proxy or http_proxy\" ?","commit_id":"b5520816d797b17f9b3a868abd092c6a8df86e4c"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"a027126f004fe5583378ba7d71ccf3f2ef89f3e7","unresolved":false,"context_lines":[{"line_number":105,"context_line":"                                       \u0027vary\u0027, \u0027www-authenticate\u0027))"},{"line_number":106,"context_line":"        dscv \u003d disable_ssl_certificate_validation"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"        if http_proxy or https_proxy:"},{"line_number":109,"context_line":"            proxy_url \u003d https_proxy or http_proxy"},{"line_number":110,"context_line":"            self.http_obj \u003d http.ClosingProxyHttp("},{"line_number":111,"context_line":"                proxy_url,"},{"line_number":112,"context_line":"                disable_ssl_certificate_validation\u003ddscv, ca_certs\u003dca_certs,"},{"line_number":113,"context_line":"                timeout\u003dhttp_timeout)"},{"line_number":114,"context_line":"        else:"},{"line_number":115,"context_line":"            self.http_obj \u003d http.ClosingHttp("},{"line_number":116,"context_line":"                disable_ssl_certificate_validation\u003ddscv, ca_certs\u003dca_certs,"},{"line_number":117,"context_line":"                timeout\u003dhttp_timeout)"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"    def _get_type(self):"},{"line_number":120,"context_line":"        if self.TYPE !\u003d \"json\":"}],"source_content_type":"text/x-python","patch_set":6,"id":"7a8ec9b2_51db264f","line":117,"range":{"start_line":108,"start_character":8,"end_line":117,"end_character":37},"updated":"2016-09-15 16:28:20.000000000","message":"I\u0027m not quite sure about this. What if http_proxy only is set and the url is https? We should have one http object to be used, and pass the proxy settings to it.","commit_id":"168b654393b0c1154433e6eca8a2379fe6586b36"},{"author":{"_account_id":18732,"name":"Antoine Eiche","email":"lewo@abesis.fr","username":"lewo"},"change_message_id":"89a28e8e4d55141f721b7b3cff7e3b6b3483e514","unresolved":false,"context_lines":[{"line_number":105,"context_line":"                                       \u0027vary\u0027, \u0027www-authenticate\u0027))"},{"line_number":106,"context_line":"        dscv \u003d disable_ssl_certificate_validation"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"        if http_proxy or https_proxy:"},{"line_number":109,"context_line":"            proxy_url \u003d https_proxy or http_proxy"},{"line_number":110,"context_line":"            self.http_obj \u003d http.ClosingProxyHttp("},{"line_number":111,"context_line":"                proxy_url,"},{"line_number":112,"context_line":"                disable_ssl_certificate_validation\u003ddscv, ca_certs\u003dca_certs,"},{"line_number":113,"context_line":"                timeout\u003dhttp_timeout)"},{"line_number":114,"context_line":"        else:"},{"line_number":115,"context_line":"            self.http_obj \u003d http.ClosingHttp("},{"line_number":116,"context_line":"                disable_ssl_certificate_validation\u003ddscv, ca_certs\u003dca_certs,"},{"line_number":117,"context_line":"                timeout\u003dhttp_timeout)"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"    def _get_type(self):"},{"line_number":120,"context_line":"        if self.TYPE !\u003d \"json\":"}],"source_content_type":"text/x-python","patch_set":6,"id":"7a8ec9b2_c94142ab","line":117,"range":{"start_line":108,"start_character":8,"end_line":117,"end_character":37},"in_reply_to":"7a8ec9b2_51db264f","updated":"2016-09-15 19:49:26.000000000","message":"If http_proxy only is set, and the url is https, the https request goes through the http proxy.\nMoreover, if both http_proxy and https_proxy are specified, and if the url is http, then it uses the https proxy. \n\nThis is not the classical http(s) proxies behavior.\n\n\nTo really implement proxies, the http client should be chosen based on the url type and http proxy variables. This is exactly what the lib requests does (http://docs.python-requests.org/en/master/user/advanced/#proxies).\n\nDid you consider this lib when you switched from httplib to urllib3?\n\n\nSo, the current implementation is a partial implementation of proxies but from my user point of view, it allows me to upgrade tempest... since it is no longer working in my env since the httplib migration :(","commit_id":"168b654393b0c1154433e6eca8a2379fe6586b36"}],"tempest/lib/services/clients.py":[{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"a027126f004fe5583378ba7d71ccf3f2ef89f3e7","unresolved":false,"context_lines":[{"line_number":339,"context_line":"        self.parameters \u003d {}"},{"line_number":340,"context_line":""},{"line_number":341,"context_line":"        # Creates an auth provider for the credentials"},{"line_number":342,"context_line":"        identity_config \u003d client_parameters.get(\"identity\", {})"},{"line_number":343,"context_line":"        self.auth_provider \u003d auth_provider_class("},{"line_number":344,"context_line":"            self.credentials, self.identity_uri, scope\u003dscope,"},{"line_number":345,"context_line":"            disable_ssl_certificate_validation\u003dself.dscv,"}],"source_content_type":"text/x-python","patch_set":6,"id":"7a8ec9b2_51f16600","line":342,"updated":"2016-09-15 16:28:20.000000000","message":"I fear this won\u0027t work - see http://paste.openstack.org/show/577668/.\nIn short you need to use the service client registry and not client_parameters. Also \u0027identity\u0027 is not stable yet, so you cannot use it in here yet.","commit_id":"168b654393b0c1154433e6eca8a2379fe6586b36"},{"author":{"_account_id":18732,"name":"Antoine Eiche","email":"lewo@abesis.fr","username":"lewo"},"change_message_id":"89a28e8e4d55141f721b7b3cff7e3b6b3483e514","unresolved":false,"context_lines":[{"line_number":339,"context_line":"        self.parameters \u003d {}"},{"line_number":340,"context_line":""},{"line_number":341,"context_line":"        # Creates an auth provider for the credentials"},{"line_number":342,"context_line":"        identity_config \u003d client_parameters.get(\"identity\", {})"},{"line_number":343,"context_line":"        self.auth_provider \u003d auth_provider_class("},{"line_number":344,"context_line":"            self.credentials, self.identity_uri, scope\u003dscope,"},{"line_number":345,"context_line":"            disable_ssl_certificate_validation\u003dself.dscv,"}],"source_content_type":"text/x-python","patch_set":6,"id":"7a8ec9b2_2e146c9e","line":342,"in_reply_to":"7a8ec9b2_51f16600","updated":"2016-09-15 19:49:26.000000000","message":"ok. I will propose something else.","commit_id":"168b654393b0c1154433e6eca8a2379fe6586b36"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"a027126f004fe5583378ba7d71ccf3f2ef89f3e7","unresolved":false,"context_lines":[{"line_number":343,"context_line":"        self.auth_provider \u003d auth_provider_class("},{"line_number":344,"context_line":"            self.credentials, self.identity_uri, scope\u003dscope,"},{"line_number":345,"context_line":"            disable_ssl_certificate_validation\u003dself.dscv,"},{"line_number":346,"context_line":"            ca_certs\u003dself.ca_certs, trace_requests\u003dself.trace_requests,"},{"line_number":347,"context_line":"            http_proxy\u003didentity_config.get(\"http_proxy\", None),"},{"line_number":348,"context_line":"            https_proxy\u003didentity_config.get(\"https_proxy\", None))"},{"line_number":349,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"7a8ec9b2_513fa686","line":346,"updated":"2016-09-15 16:28:20.000000000","message":"http_timeout is not honoured either, but that\u0027s a separate issue","commit_id":"168b654393b0c1154433e6eca8a2379fe6586b36"},{"author":{"_account_id":18732,"name":"Antoine Eiche","email":"lewo@abesis.fr","username":"lewo"},"change_message_id":"89a28e8e4d55141f721b7b3cff7e3b6b3483e514","unresolved":false,"context_lines":[{"line_number":343,"context_line":"        self.auth_provider \u003d auth_provider_class("},{"line_number":344,"context_line":"            self.credentials, self.identity_uri, scope\u003dscope,"},{"line_number":345,"context_line":"            disable_ssl_certificate_validation\u003dself.dscv,"},{"line_number":346,"context_line":"            ca_certs\u003dself.ca_certs, trace_requests\u003dself.trace_requests,"},{"line_number":347,"context_line":"            http_proxy\u003didentity_config.get(\"http_proxy\", None),"},{"line_number":348,"context_line":"            https_proxy\u003didentity_config.get(\"https_proxy\", None))"},{"line_number":349,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"7a8ec9b2_8e38203f","line":346,"in_reply_to":"7a8ec9b2_513fa686","updated":"2016-09-15 19:49:26.000000000","message":"thx, this confirms my feeling...","commit_id":"168b654393b0c1154433e6eca8a2379fe6586b36"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"83eab74229a2719332393308d78f38454ccf29cd","unresolved":false,"context_lines":[{"line_number":331,"context_line":"                                                  service clients."},{"line_number":332,"context_line":"        :param ca_certs: Applies to auth and to all service clients."},{"line_number":333,"context_line":"        :param trace_requests: Applies to auth and to all service clients."},{"line_number":334,"context_line":"        :param client_parameters: Dictionary with parameters for service"},{"line_number":335,"context_line":"            clients. Keys of the dictionary are the service client service"},{"line_number":336,"context_line":"            name, as declared in `service_clients.available_modules()` except"},{"line_number":337,"context_line":"            for the version. Values are dictionaries of parameters that are"}],"source_content_type":"text/x-python","patch_set":11,"id":"7f287b81_47fdadaf","line":334,"range":{"start_line":334,"start_character":8,"end_line":334,"end_character":33},"updated":"2017-09-06 03:39:14.000000000","message":"\":param proxy_url:\" should be added following","commit_id":"8f18276120646dcd759e3268d536218acbafe910"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"0381004c97d23540a557a2dde1a77c986ef82c0d","unresolved":false,"context_lines":[{"line_number":331,"context_line":"                                                  service clients."},{"line_number":332,"context_line":"        :param ca_certs: Applies to auth and to all service clients."},{"line_number":333,"context_line":"        :param trace_requests: Applies to auth and to all service clients."},{"line_number":334,"context_line":"        :param client_parameters: Dictionary with parameters for service"},{"line_number":335,"context_line":"            clients. Keys of the dictionary are the service client service"},{"line_number":336,"context_line":"            name, as declared in `service_clients.available_modules()` except"},{"line_number":337,"context_line":"            for the version. Values are dictionaries of parameters that are"}],"source_content_type":"text/x-python","patch_set":11,"id":"7f287b81_5fac4a34","line":334,"range":{"start_line":334,"start_character":8,"end_line":334,"end_character":33},"in_reply_to":"7f287b81_47fdadaf","updated":"2017-09-06 13:17:48.000000000","message":"Done","commit_id":"8f18276120646dcd759e3268d536218acbafe910"}]}
