)]}'
{"ceilometerclient/tests/test_shell.py":[{"author":{"_account_id":7049,"name":"Kai Qiang Wu(Kennan)","email":"wkq5325@gmail.com","username":"Kennan"},"change_message_id":"9915c0192b64cae7679cc81787da51eb610d366a","unresolved":false,"context_lines":[{"line_number":28,"context_line":"FAKE_V2_ENV \u003d {\u0027OS_USERNAME\u0027: \u0027username\u0027,"},{"line_number":29,"context_line":"               \u0027OS_PASSWORD\u0027: \u0027password\u0027,"},{"line_number":30,"context_line":"               \u0027OS_TENANT_NAME\u0027: \u0027tenant_name\u0027,"},{"line_number":31,"context_line":"               \u0027OS_AUTH_URL\u0027: \u0027http://nowhere:5000/v2.0\u0027}"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"FAKE_V3_ENV \u003d {\u0027OS_USERNAME\u0027: \u0027username\u0027,"},{"line_number":34,"context_line":"               \u0027OS_PASSWORD\u0027: \u0027password\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a890539_675f4976","line":31,"updated":"2014-12-01 01:39:27.000000000","message":"What\u0027s the reason to change here ?","commit_id":"da1e3c064fcb30f1fc2a90f942fb6739a1869f21"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"d4fabda348d676487cafe47b3e8ab56c117b8038","unresolved":false,"context_lines":[{"line_number":28,"context_line":"FAKE_V2_ENV \u003d {\u0027OS_USERNAME\u0027: \u0027username\u0027,"},{"line_number":29,"context_line":"               \u0027OS_PASSWORD\u0027: \u0027password\u0027,"},{"line_number":30,"context_line":"               \u0027OS_TENANT_NAME\u0027: \u0027tenant_name\u0027,"},{"line_number":31,"context_line":"               \u0027OS_AUTH_URL\u0027: \u0027http://nowhere:5000/v2.0\u0027}"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"FAKE_V3_ENV \u003d {\u0027OS_USERNAME\u0027: \u0027username\u0027,"},{"line_number":34,"context_line":"               \u0027OS_PASSWORD\u0027: \u0027password\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a890539_bd6dc2ce","line":31,"in_reply_to":"5a890539_675f4976","updated":"2014-12-01 04:19:23.000000000","message":"because devstack will run services on localhost, which will pass the auth url, nowhere can cause exception as we should expect. But, is there really a server named nowhere on Internet, if there is, this is not safe as well....","commit_id":"da1e3c064fcb30f1fc2a90f942fb6739a1869f21"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"f5a47d3b114f1073e654df47dadbe4049ddd391e","unresolved":false,"context_lines":[{"line_number":28,"context_line":"FAKE_V2_ENV \u003d {\u0027OS_USERNAME\u0027: \u0027username\u0027,"},{"line_number":29,"context_line":"               \u0027OS_PASSWORD\u0027: \u0027password\u0027,"},{"line_number":30,"context_line":"               \u0027OS_TENANT_NAME\u0027: \u0027tenant_name\u0027,"},{"line_number":31,"context_line":"               \u0027OS_AUTH_URL\u0027: \u0027http://nowhere:5000/v2.0\u0027}"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"FAKE_V3_ENV \u003d {\u0027OS_USERNAME\u0027: \u0027username\u0027,"},{"line_number":34,"context_line":"               \u0027OS_PASSWORD\u0027: \u0027password\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a890539_969f5251","line":31,"in_reply_to":"5a890539_95a3cd9c","updated":"2014-12-05 04:58:14.000000000","message":"OK, will be done","commit_id":"da1e3c064fcb30f1fc2a90f942fb6739a1869f21"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"a767fd5ac7b74916bcf34ed03b0ec391cd688d1f","unresolved":false,"context_lines":[{"line_number":28,"context_line":"FAKE_V2_ENV \u003d {\u0027OS_USERNAME\u0027: \u0027username\u0027,"},{"line_number":29,"context_line":"               \u0027OS_PASSWORD\u0027: \u0027password\u0027,"},{"line_number":30,"context_line":"               \u0027OS_TENANT_NAME\u0027: \u0027tenant_name\u0027,"},{"line_number":31,"context_line":"               \u0027OS_AUTH_URL\u0027: \u0027http://nowhere:5000/v2.0\u0027}"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"FAKE_V3_ENV \u003d {\u0027OS_USERNAME\u0027: \u0027username\u0027,"},{"line_number":34,"context_line":"               \u0027OS_PASSWORD\u0027: \u0027password\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a890539_498fe02e","line":31,"in_reply_to":"5a890539_969f5251","updated":"2014-12-06 14:01:49.000000000","message":"after rebase master, it seems gone, or maybe there is something I misunderstood before.","commit_id":"da1e3c064fcb30f1fc2a90f942fb6739a1869f21"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"3782f994e75103f802d7b7c5fbcf658aa7a2ae3f","unresolved":false,"context_lines":[{"line_number":28,"context_line":"FAKE_V2_ENV \u003d {\u0027OS_USERNAME\u0027: \u0027username\u0027,"},{"line_number":29,"context_line":"               \u0027OS_PASSWORD\u0027: \u0027password\u0027,"},{"line_number":30,"context_line":"               \u0027OS_TENANT_NAME\u0027: \u0027tenant_name\u0027,"},{"line_number":31,"context_line":"               \u0027OS_AUTH_URL\u0027: \u0027http://nowhere:5000/v2.0\u0027}"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"FAKE_V3_ENV \u003d {\u0027OS_USERNAME\u0027: \u0027username\u0027,"},{"line_number":34,"context_line":"               \u0027OS_PASSWORD\u0027: \u0027password\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a890539_f3b77a1f","line":31,"in_reply_to":"5a890539_9d1ac67a","updated":"2014-12-01 08:35:19.000000000","message":"If test has mocked the keystoneclient.session, then it works fine, if not, it will down.\n\nAs long as there is one test affected by the localhost issue, I think we should fix it. I met this problem when I run tox while devstack is running (sorry couldn\u0027t remember which one.. maybe my new code)\n\nIf you consist that the old problematic value should not be changed, that is fine, I can stop my devstack to pass the local UT, and let others suffer from this issue too.","commit_id":"da1e3c064fcb30f1fc2a90f942fb6739a1869f21"},{"author":{"_account_id":7049,"name":"Kai Qiang Wu(Kennan)","email":"wkq5325@gmail.com","username":"Kennan"},"change_message_id":"fc1b51c32c7f41c8eb4e27670421801f58a1203d","unresolved":false,"context_lines":[{"line_number":28,"context_line":"FAKE_V2_ENV \u003d {\u0027OS_USERNAME\u0027: \u0027username\u0027,"},{"line_number":29,"context_line":"               \u0027OS_PASSWORD\u0027: \u0027password\u0027,"},{"line_number":30,"context_line":"               \u0027OS_TENANT_NAME\u0027: \u0027tenant_name\u0027,"},{"line_number":31,"context_line":"               \u0027OS_AUTH_URL\u0027: \u0027http://nowhere:5000/v2.0\u0027}"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"FAKE_V3_ENV \u003d {\u0027OS_USERNAME\u0027: \u0027username\u0027,"},{"line_number":34,"context_line":"               \u0027OS_PASSWORD\u0027: \u0027password\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a890539_9d1ac67a","line":31,"in_reply_to":"5a890539_bd6dc2ce","updated":"2014-12-01 05:31:04.000000000","message":"yes, it is one concern.\nFor other,  maybe I did not catch what you mean,\ndef test_dash_d_switch_raises_error(self, mock_ksclient):\n\nfor this old test, did localhost work or not ?\n\nIf work, it means only for your added new test localhost not work.\n\nThen why ? Thanks","commit_id":"da1e3c064fcb30f1fc2a90f942fb6739a1869f21"},{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"c2e5ab7321cc9e8b6bdacd40bd70a4c8cc980eec","unresolved":false,"context_lines":[{"line_number":28,"context_line":"FAKE_V2_ENV \u003d {\u0027OS_USERNAME\u0027: \u0027username\u0027,"},{"line_number":29,"context_line":"               \u0027OS_PASSWORD\u0027: \u0027password\u0027,"},{"line_number":30,"context_line":"               \u0027OS_TENANT_NAME\u0027: \u0027tenant_name\u0027,"},{"line_number":31,"context_line":"               \u0027OS_AUTH_URL\u0027: \u0027http://nowhere:5000/v2.0\u0027}"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"FAKE_V3_ENV \u003d {\u0027OS_USERNAME\u0027: \u0027username\u0027,"},{"line_number":34,"context_line":"               \u0027OS_PASSWORD\u0027: \u0027password\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a890539_95a3cd9c","line":31,"in_reply_to":"5a890539_f3b77a1f","updated":"2014-12-05 02:45:23.000000000","message":"the whole point of having unit test is to have the code tested without any 3rd party service running. So if \u0027localhost\u0027 here result the keystone session is actually created, then what you need is to modify the test case to avoid that situation, not modifying this I think","commit_id":"da1e3c064fcb30f1fc2a90f942fb6739a1869f21"}],"ceilometerclient/v2/client.py":[{"author":{"_account_id":7049,"name":"Kai Qiang Wu(Kennan)","email":"wkq5325@gmail.com","username":"Kennan"},"change_message_id":"9915c0192b64cae7679cc81787da51eb610d366a","unresolved":false,"context_lines":[{"line_number":56,"context_line":"            if timeout \u003c\u003d 0:"},{"line_number":57,"context_line":"                timeout \u003d None"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        insecure \u003d strutils.bool_from_string(kwargs.get(\u0027insecure\u0027))"},{"line_number":60,"context_line":"        verify \u003d kwargs.get(\u0027verify\u0027, not insecure)"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"        self.client \u003d client.HTTPClient("}],"source_content_type":"text/x-python","patch_set":3,"id":"5a890539_47716d0b","line":59,"updated":"2014-12-01 01:39:27.000000000","message":"Is it right place to add such manual translate here ?\n\nI don\u0027t find (or I missed) other prject client have such ways.\n\nOr is it work-around ?","commit_id":"da1e3c064fcb30f1fc2a90f942fb6739a1869f21"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"d4fabda348d676487cafe47b3e8ab56c117b8038","unresolved":false,"context_lines":[{"line_number":56,"context_line":"            if timeout \u003c\u003d 0:"},{"line_number":57,"context_line":"                timeout \u003d None"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        insecure \u003d strutils.bool_from_string(kwargs.get(\u0027insecure\u0027))"},{"line_number":60,"context_line":"        verify \u003d kwargs.get(\u0027verify\u0027, not insecure)"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"        self.client \u003d client.HTTPClient("}],"source_content_type":"text/x-python","patch_set":3,"id":"5a890539_5db3fe4c","line":59,"in_reply_to":"5a890539_47716d0b","updated":"2014-12-01 04:19:23.000000000","message":"then what we should do?\n\nWe can not control what use will input, and basically, no matter what user do, it is a string from CLI, which means if --os-insecure false, then here is insecure \u003d \"false\", so bool_from_string is needed. I already give a example in unit test code.\n\nother projects don\u0027t have such enhancement, not means they are right (they could be right if they don\u0027t have our issue, or maybe they have done it somewhere else), not means we should not do it.","commit_id":"da1e3c064fcb30f1fc2a90f942fb6739a1869f21"},{"author":{"_account_id":7049,"name":"Kai Qiang Wu(Kennan)","email":"wkq5325@gmail.com","username":"Kennan"},"change_message_id":"fc1b51c32c7f41c8eb4e27670421801f58a1203d","unresolved":false,"context_lines":[{"line_number":56,"context_line":"            if timeout \u003c\u003d 0:"},{"line_number":57,"context_line":"                timeout \u003d None"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        insecure \u003d strutils.bool_from_string(kwargs.get(\u0027insecure\u0027))"},{"line_number":60,"context_line":"        verify \u003d kwargs.get(\u0027verify\u0027, not insecure)"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"        self.client \u003d client.HTTPClient("}],"source_content_type":"text/x-python","patch_set":3,"id":"5a890539_d859bc36","line":59,"in_reply_to":"5a890539_5db3fe4c","updated":"2014-12-01 05:31:04.000000000","message":"From your comment above(if right), the old insecure not work, right ?\nsince it is string, \"false\" or \"true\" not make insecure work as designed (since bool check not same as string)\n\nCould you confirm that ?","commit_id":"da1e3c064fcb30f1fc2a90f942fb6739a1869f21"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"3782f994e75103f802d7b7c5fbcf658aa7a2ae3f","unresolved":false,"context_lines":[{"line_number":56,"context_line":"            if timeout \u003c\u003d 0:"},{"line_number":57,"context_line":"                timeout \u003d None"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        insecure \u003d strutils.bool_from_string(kwargs.get(\u0027insecure\u0027))"},{"line_number":60,"context_line":"        verify \u003d kwargs.get(\u0027verify\u0027, not insecure)"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"        self.client \u003d client.HTTPClient("}],"source_content_type":"text/x-python","patch_set":3,"id":"5a890539_b3d6d251","line":59,"in_reply_to":"5a890539_d859bc36","updated":"2014-12-01 08:35:19.000000000","message":"Of course, the old code doesn\u0027t work for insecure CLI option, I tested it in Juno real environment, and devstack with latest code, if we specify --os-insecure true in CLI, Kesytone can return token because it doesn\u0027t verify certificate, but Ceilometer will fail because it think it should verify it. I already paste that in bug report.\n\nEven if you doesn\u0027t have HTTPS deployed environment, this is quite easy to reproduce, just open --debug option, hack into apiclient (doesn\u0027t print correctly so need hack), and watch the screen output, it will show the answer\n\nThe problem is not insecure doesn\u0027t work as designed, it is completely lost after we implemented the port to apiclient blueprint, which is not found while code review","commit_id":"da1e3c064fcb30f1fc2a90f942fb6739a1869f21"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"50bd9fa25b2460ebdfe2741693333a96b7977880","unresolved":false,"context_lines":[{"line_number":56,"context_line":"            if timeout \u003c\u003d 0:"},{"line_number":57,"context_line":"                timeout \u003d None"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        insecure \u003d strutils.bool_from_string(kwargs.get(\u0027insecure\u0027))"},{"line_number":60,"context_line":"        verify \u003d kwargs.get(\u0027verify\u0027, not insecure)"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"        self.client \u003d client.HTTPClient("}],"source_content_type":"text/x-python","patch_set":4,"id":"3a961159_daaab684","line":59,"range":{"start_line":59,"start_character":45,"end_line":59,"end_character":51},"updated":"2014-12-16 17:54:42.000000000","message":"i think logically this is equivalent but just for discussion, do you think it\u0027s better to let keystone figure out the defaults rather than us? ie. we pass in None, rather than False which is what bool_from_string resolves to","commit_id":"3f4b657f7a3dbd79ccad4558a85713a85d51c261"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"21c95c0e6872830067684bca6243e965baa5830f","unresolved":false,"context_lines":[{"line_number":56,"context_line":"            if timeout \u003c\u003d 0:"},{"line_number":57,"context_line":"                timeout \u003d None"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        insecure \u003d strutils.bool_from_string(kwargs.get(\u0027insecure\u0027))"},{"line_number":60,"context_line":"        verify \u003d kwargs.get(\u0027verify\u0027, not insecure)"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"        self.client \u003d client.HTTPClient("}],"source_content_type":"text/x-python","patch_set":4,"id":"3a961159_9dd96f24","line":59,"in_reply_to":"3a961159_2e426710","updated":"2014-12-22 15:52:09.000000000","message":"@llu, right. but ultimately it\u0027s being validated through keystone no?\n\nhttps://review.openstack.org/#/c/137831/4/ceilometerclient/client.py","commit_id":"3f4b657f7a3dbd79ccad4558a85713a85d51c261"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"3155d59d6e2e78c4ec466c703b0012c78aa8608d","unresolved":false,"context_lines":[{"line_number":56,"context_line":"            if timeout \u003c\u003d 0:"},{"line_number":57,"context_line":"                timeout \u003d None"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        insecure \u003d strutils.bool_from_string(kwargs.get(\u0027insecure\u0027))"},{"line_number":60,"context_line":"        verify \u003d kwargs.get(\u0027verify\u0027, not insecure)"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"        self.client \u003d client.HTTPClient("}],"source_content_type":"text/x-python","patch_set":4,"id":"3a961159_89693127","line":59,"in_reply_to":"3a961159_6921654c","updated":"2015-01-07 18:08:13.000000000","message":"convinced","commit_id":"3f4b657f7a3dbd79ccad4558a85713a85d51c261"},{"author":{"_account_id":12637,"name":"Srinivas Sakhamuri","email":"srini.openstack@gmail.com","username":"srsakhamuri"},"change_message_id":"a1b8b38ecbf7b143a9f5da3cc8f53e35fe678a25","unresolved":false,"context_lines":[{"line_number":56,"context_line":"            if timeout \u003c\u003d 0:"},{"line_number":57,"context_line":"                timeout \u003d None"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        insecure \u003d strutils.bool_from_string(kwargs.get(\u0027insecure\u0027))"},{"line_number":60,"context_line":"        verify \u003d kwargs.get(\u0027verify\u0027, not insecure)"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"        self.client \u003d client.HTTPClient("}],"source_content_type":"text/x-python","patch_set":4,"id":"3a961159_6921654c","line":59,"in_reply_to":"3a961159_9dd96f24","updated":"2015-01-07 17:57:33.000000000","message":"The certificate validation happens within ceilometer client when accessing SSL enabled ceilometer API server.","commit_id":"3f4b657f7a3dbd79ccad4558a85713a85d51c261"},{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"e611f0a285ce2b476bddc8c81ec6657ffad89984","unresolved":false,"context_lines":[{"line_number":56,"context_line":"            if timeout \u003c\u003d 0:"},{"line_number":57,"context_line":"                timeout \u003d None"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        insecure \u003d strutils.bool_from_string(kwargs.get(\u0027insecure\u0027))"},{"line_number":60,"context_line":"        verify \u003d kwargs.get(\u0027verify\u0027, not insecure)"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"        self.client \u003d client.HTTPClient("}],"source_content_type":"text/x-python","patch_set":4,"id":"3a961159_2e426710","line":59,"in_reply_to":"3a961159_daaab684","updated":"2014-12-18 03:29:50.000000000","message":"@gordon, I don\u0027t think the insecure is for keystone. It\u0027s a option allow the user to force not checking the certificate. Also, this is passed from user cmd line, not from keystone, I think","commit_id":"3f4b657f7a3dbd79ccad4558a85713a85d51c261"}]}
