)]}'
{"ceilometerclient/client.py":[{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"7004f460f96b71363f6c7d7a24e545381775ffe5","unresolved":false,"context_lines":[{"line_number":307,"context_line":"        service_type\u003dkwargs.get(\u0027service_type\u0027),"},{"line_number":308,"context_line":"        token\u003dkwargs.get(\u0027token\u0027),"},{"line_number":309,"context_line":"        endpoint_type\u003dkwargs.get(\u0027endpoint_type\u0027),"},{"line_number":310,"context_line":"        cacert\u003dkwargs.get(\u0027ca_file\u0027),"},{"line_number":311,"context_line":"        tenant_id\u003dkwargs.get(\u0027project_id\u0027) or kwargs.get(\u0027tenant_id\u0027),"},{"line_number":312,"context_line":"        endpoint\u003dendpoint,"},{"line_number":313,"context_line":"        username\u003dkwargs.get(\u0027username\u0027),"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a961159_89da3ce7","line":310,"updated":"2015-01-15 04:04:52.000000000","message":"does this need to be fixed too? see bug https://bugs.launchpad.net/python-ceilometerclient/+bug/1391721\n\nif fixed it in this patch, I will mark that as duplicate\n\nor if it is correct, I will mark that as invalid","commit_id":"36c8c47b232451497896ce2b10dd31ea1d92ef51"}],"ceilometerclient/tests/test_client.py":[{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"2bf24e8c36a9607f72702c1937c1ff6d2c3ca643","unresolved":false,"context_lines":[{"line_number":140,"context_line":"        env \u003d FAKE_ENV.copy()"},{"line_number":141,"context_line":"        env[\u0027cacert\u0027] \u003d \u0027/path/to/cacert\u0027"},{"line_number":142,"context_line":"        client \u003d self.create_client(env)"},{"line_number":143,"context_line":"        self.assertEqual(client.client.verify, \u0027/path/to/cacert\u0027)"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"    def test_v2_client_certfile_and_keyfile(self):"},{"line_number":146,"context_line":"        env \u003d FAKE_ENV.copy()"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_d9e7e044","line":143,"updated":"2015-01-14 01:10:36.000000000","message":"soft -1: we usually use assertEqual(expected, observed), some dev will treat this as bug, so let;s not introduce it in new code\n\nself.assertEqual(\u0027/path/to/cacert\u0027, client.client.verify)","commit_id":"b11ebb693489763f74af6ee7f5197218cdd579ef"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"2bf24e8c36a9607f72702c1937c1ff6d2c3ca643","unresolved":false,"context_lines":[{"line_number":147,"context_line":"        env[\u0027cert_file\u0027] \u003d \u0027/path/to/cert\u0027"},{"line_number":148,"context_line":"        env[\u0027key_file\u0027] \u003d \u0027/path/to/keycert\u0027"},{"line_number":149,"context_line":"        client \u003d self.create_client(env)"},{"line_number":150,"context_line":"        self.assertIsInstance(client.client.cert, tuple)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_b9e05427","line":150,"updated":"2015-01-14 01:10:36.000000000","message":"why don\u0027t directly use\n\nself.assertEqual((\u0027/path/to/cert\u0027, \u0027/path/to/keycert\u0027), client.client.cert)?","commit_id":"b11ebb693489763f74af6ee7f5197218cdd579ef"}],"ceilometerclient/v2/client.py":[{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"2bf24e8c36a9607f72702c1937c1ff6d2c3ca643","unresolved":false,"context_lines":[{"line_number":57,"context_line":""},{"line_number":58,"context_line":"        insecure \u003d strutils.bool_from_string(kwargs.get(\u0027insecure\u0027))"},{"line_number":59,"context_line":"        verify \u003d kwargs.get(\u0027verify\u0027, not insecure)"},{"line_number":60,"context_line":"        # cacert need to be specifued as part"},{"line_number":61,"context_line":"        # of verify param if it is available"},{"line_number":62,"context_line":"        if not insecure and kwargs.get(\u0027cacert\u0027):"},{"line_number":63,"context_line":"            verify \u003d kwargs.get(\u0027cacert\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_79a8acd9","line":60,"updated":"2015-01-14 01:10:36.000000000","message":"nit: s/specifued/specified/","commit_id":"b11ebb693489763f74af6ee7f5197218cdd579ef"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"2bf24e8c36a9607f72702c1937c1ff6d2c3ca643","unresolved":false,"context_lines":[{"line_number":65,"context_line":"        cert \u003d kwargs.get(\u0027cert_file\u0027)"},{"line_number":66,"context_line":"        # if both certfile and keyfile is given send as a tuple"},{"line_number":67,"context_line":"        if kwargs.get(\u0027cert_file\u0027) and kwargs.get(\u0027key_file\u0027):"},{"line_number":68,"context_line":"            cert \u003d (kwargs.get(\u0027cert_file\u0027), kwargs.get(\u0027key_file\u0027))"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"        self.client \u003d client.HTTPClient("},{"line_number":71,"context_line":"            auth_plugin\u003dself.auth_plugin,"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_79618cd3","line":68,"updated":"2015-01-14 01:10:36.000000000","message":"nit: outside () pair is not needed","commit_id":"b11ebb693489763f74af6ee7f5197218cdd579ef"},{"author":{"_account_id":7049,"name":"Kai Qiang Wu(Kennan)","email":"wkq5325@gmail.com","username":"Kennan"},"change_message_id":"24da246a3fa978424f22bb7a85d6245de6993e88","unresolved":false,"context_lines":[{"line_number":59,"context_line":"        verify \u003d kwargs.get(\u0027verify\u0027, not insecure)"},{"line_number":60,"context_line":"        # cacert if available need to be specified as part of verify param"},{"line_number":61,"context_line":"        if not insecure and kwargs.get(\u0027cacert\u0027):"},{"line_number":62,"context_line":"            verify \u003d kwargs.get(\u0027cacert\u0027)"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"        cert \u003d kwargs.get(\u0027cert_file\u0027)"},{"line_number":65,"context_line":"        # if both certfile and keyfile is given send as a tuple"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a961159_34ad42eb","line":62,"updated":"2015-01-14 08:05:57.000000000","message":"if verify is not None, you option here still reset verify, I think may not right, I suggest you double check if same as \n\nhttps://github.com/openstack/python-keystoneclient/blob/master/keystoneclient/session.py#L539","commit_id":"bb734615325689c07f5e55caca9c5ed4d831b1c2"},{"author":{"_account_id":12637,"name":"Srinivas Sakhamuri","email":"srini.openstack@gmail.com","username":"srsakhamuri"},"change_message_id":"d131909f7133c948556ac801a24be7854ea6b8f8","unresolved":false,"context_lines":[{"line_number":59,"context_line":"        verify \u003d kwargs.get(\u0027verify\u0027, not insecure)"},{"line_number":60,"context_line":"        # cacert if available need to be specified as part of verify param"},{"line_number":61,"context_line":"        if not insecure and kwargs.get(\u0027cacert\u0027):"},{"line_number":62,"context_line":"            verify \u003d kwargs.get(\u0027cacert\u0027)"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"        cert \u003d kwargs.get(\u0027cert_file\u0027)"},{"line_number":65,"context_line":"        # if both certfile and keyfile is given send as a tuple"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a961159_8bbc09b7","line":62,"in_reply_to":"3a961159_34ad42eb","updated":"2015-01-14 15:49:44.000000000","message":"Done","commit_id":"bb734615325689c07f5e55caca9c5ed4d831b1c2"},{"author":{"_account_id":7049,"name":"Kai Qiang Wu(Kennan)","email":"wkq5325@gmail.com","username":"Kennan"},"change_message_id":"24da246a3fa978424f22bb7a85d6245de6993e88","unresolved":false,"context_lines":[{"line_number":61,"context_line":"        if not insecure and kwargs.get(\u0027cacert\u0027):"},{"line_number":62,"context_line":"            verify \u003d kwargs.get(\u0027cacert\u0027)"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"        cert \u003d kwargs.get(\u0027cert_file\u0027)"},{"line_number":65,"context_line":"        # if both certfile and keyfile is given send as a tuple"},{"line_number":66,"context_line":"        if kwargs.get(\u0027cert_file\u0027) and kwargs.get(\u0027key_file\u0027):"},{"line_number":67,"context_line":"            cert \u003d kwargs.get(\u0027cert_file\u0027), kwargs.get(\u0027key_file\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a961159_49579b27","line":64,"updated":"2015-01-14 08:05:57.000000000","message":"key\u003dkwargs.get(\u0027key_file\u0027)\nif cert and key:\n  cert \u003d (cert, key)\n\nseems better","commit_id":"bb734615325689c07f5e55caca9c5ed4d831b1c2"},{"author":{"_account_id":12637,"name":"Srinivas Sakhamuri","email":"srini.openstack@gmail.com","username":"srsakhamuri"},"change_message_id":"d131909f7133c948556ac801a24be7854ea6b8f8","unresolved":false,"context_lines":[{"line_number":61,"context_line":"        if not insecure and kwargs.get(\u0027cacert\u0027):"},{"line_number":62,"context_line":"            verify \u003d kwargs.get(\u0027cacert\u0027)"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"        cert \u003d kwargs.get(\u0027cert_file\u0027)"},{"line_number":65,"context_line":"        # if both certfile and keyfile is given send as a tuple"},{"line_number":66,"context_line":"        if kwargs.get(\u0027cert_file\u0027) and kwargs.get(\u0027key_file\u0027):"},{"line_number":67,"context_line":"            cert \u003d kwargs.get(\u0027cert_file\u0027), kwargs.get(\u0027key_file\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a961159_ebe2edd2","line":64,"in_reply_to":"3a961159_49579b27","updated":"2015-01-14 15:49:44.000000000","message":"Done","commit_id":"bb734615325689c07f5e55caca9c5ed4d831b1c2"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"c1b8eb3c9f1c8a94f2f8f58f148f9fdf5480de7f","unresolved":false,"context_lines":[{"line_number":66,"context_line":"        cert \u003d kwargs.get(\u0027cert_file\u0027)"},{"line_number":67,"context_line":"        key \u003d kwargs.get(\u0027key_file\u0027)"},{"line_number":68,"context_line":"        if cert and key:"},{"line_number":69,"context_line":"            cert \u003d cert, key"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"        self.client \u003d client.HTTPClient("},{"line_number":72,"context_line":"            auth_plugin\u003dself.auth_plugin,"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a961159_e8d4a848","line":69,"updated":"2015-01-14 19:56:21.000000000","message":"this is basically a duplication of this: \n\nhttps://github.com/openstack/python-ceilometerclient/blob/master/ceilometerclient/client.py#L70-L78\n\ni\u0027m wondering why we need both?","commit_id":"a703fca1d70ee68aff4130803ec9d3ae865f70d5"},{"author":{"_account_id":12637,"name":"Srinivas Sakhamuri","email":"srini.openstack@gmail.com","username":"srsakhamuri"},"change_message_id":"f8145c5d17f627841a1575f6ee0ae3ffb3fbb20c","unresolved":false,"context_lines":[{"line_number":66,"context_line":"        cert \u003d kwargs.get(\u0027cert_file\u0027)"},{"line_number":67,"context_line":"        key \u003d kwargs.get(\u0027key_file\u0027)"},{"line_number":68,"context_line":"        if cert and key:"},{"line_number":69,"context_line":"            cert \u003d cert, key"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"        self.client \u003d client.HTTPClient("},{"line_number":72,"context_line":"            auth_plugin\u003dself.auth_plugin,"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a961159_88e08498","line":69,"in_reply_to":"3a961159_e8d4a848","updated":"2015-01-14 20:17:07.000000000","message":"The code you pointed out is for setting up keystone session for authentication etc. We need to do the same for ceilo client when it communicates with ceilometer API server (SSL), which is what this patch does.","commit_id":"a703fca1d70ee68aff4130803ec9d3ae865f70d5"}]}
