)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"9d327a28e32f79a2ffe40488322db6109e5b3294","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"return all endpoints if service type is empty"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Currently we only return ednpoints related to a specific service"},{"line_number":10,"context_line":"type from service catalog, this patch enables return all endpoints"},{"line_number":11,"context_line":"if service type is empty."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"fa32b979_08f664d7","line":9,"updated":"2015-06-20 06:12:53.000000000","message":"s/ednpoints/endpoints","commit_id":"924b460a46593616e1cc0f33cb2e079414cb6291"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"597930f0aa01aa454353e7c9115a782e215cfefe","unresolved":false,"context_lines":[{"line_number":11,"context_line":"if service type is empty."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I8f61941664f6dea9521346dac53cc47bd1e09542"},{"line_number":14,"context_line":"Related-Bug: #1451336"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"1a4dcd0f_646660f0","line":14,"updated":"2015-08-13 16:54:40.000000000","message":"this seems like a feature.","commit_id":"3943f928724f9d4d6c978371a86804cc50442563"},{"author":{"_account_id":10046,"name":"Henrique Truta","email":"henrique@lsd.ufcg.edu.br","username":"henriquetruta"},"change_message_id":"d76cf9ac6261c374cd1919779e375465b7f8f63e","unresolved":false,"context_lines":[{"line_number":11,"context_line":"if service type is empty."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I8f61941664f6dea9521346dac53cc47bd1e09542"},{"line_number":14,"context_line":"Related-Bug: #1451336"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"1a4dcd0f_153a2499","line":14,"in_reply_to":"1a4dcd0f_646660f0","updated":"2015-08-13 18:11:20.000000000","message":"Lance ++  Looks like it is a bug on ceilometer side, but not on keystoneclient","commit_id":"3943f928724f9d4d6c978371a86804cc50442563"}],"keystoneclient/service_catalog.py":[{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"890da941c657e420720cdd4c416bdc70923f5253","unresolved":false,"context_lines":[{"line_number":157,"context_line":"            if service_type:"},{"line_number":158,"context_line":"                return"},{"line_number":159,"context_line":"            else:"},{"line_number":160,"context_line":"                endpoints \u003d chain.from_iterable(sc_endpoints.values())"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"        # TODO(jamielennox): at least swiftclient is known to set attr and not"},{"line_number":163,"context_line":"        # filter_value and expects that to mean that filtering is ignored, so"}],"source_content_type":"text/x-python","patch_set":1,"id":"3acd31a7_568b85c3","line":160,"updated":"2015-05-04 09:55:11.000000000","message":"How about:\nif not service_type:\n    endpoints \u003d chain.from_iterable(sc_endpoints.values())?","commit_id":"d231f9e918677d2742398b596943f88a31055d10"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"138b99463362d4888903000c813c3b3e4eafe6a1","unresolved":false,"context_lines":[{"line_number":157,"context_line":"            if service_type:"},{"line_number":158,"context_line":"                return"},{"line_number":159,"context_line":"            else:"},{"line_number":160,"context_line":"                endpoints \u003d chain.from_iterable(sc_endpoints.values())"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"        # TODO(jamielennox): at least swiftclient is known to set attr and not"},{"line_number":163,"context_line":"        # filter_value and expects that to mean that filtering is ignored, so"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa32b979_85933d4f","line":160,"in_reply_to":"3acd31a7_568b85c3","updated":"2015-06-20 03:43:05.000000000","message":"there will be an unbound error if we do so, we should return immediately or assign a value to variable endpoints","commit_id":"d231f9e918677d2742398b596943f88a31055d10"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"64b493d021977a78184694ba6a210a26bd31c023","unresolved":false,"context_lines":[{"line_number":140,"context_line":"                endpoints.append(endpoint)"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"        return sc"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"    def _get_service_endpoints(self, attr, filter_value, service_type,"},{"line_number":145,"context_line":"                               endpoint_type, region_name, service_name):"},{"line_number":146,"context_line":"        \"\"\"Fetch the endpoints of a particular service_type and handle"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a4dcd0f_902082b2","line":143,"updated":"2015-08-13 18:33:55.000000000","message":"it seems this change should make service_type a kwarg now since it\u0027s optional.","commit_id":"3943f928724f9d4d6c978371a86804cc50442563"},{"author":{"_account_id":10046,"name":"Henrique Truta","email":"henrique@lsd.ufcg.edu.br","username":"henriquetruta"},"change_message_id":"d76cf9ac6261c374cd1919779e375465b7f8f63e","unresolved":false,"context_lines":[{"line_number":155,"context_line":"            endpoints \u003d sc_endpoints[service_type]"},{"line_number":156,"context_line":"        except KeyError:"},{"line_number":157,"context_line":"            if service_type:"},{"line_number":158,"context_line":"                return"},{"line_number":159,"context_line":"            else:"},{"line_number":160,"context_line":"                endpoints \u003d chain.from_iterable(sc_endpoints.values())"},{"line_number":161,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"1a4dcd0f_7575a8ca","line":158,"updated":"2015-08-13 18:11:20.000000000","message":"not sure if I got what you\u0027re doing. This method is supposed to take the endpoints for a specific service_type. But if None is provided, you want to return all endpoints, independent of the service? IMO, you should check if service_type was provided before this method and make a different call to get_endpoints(), considering this.","commit_id":"3943f928724f9d4d6c978371a86804cc50442563"}],"keystoneclient/tests/unit/v2_0/test_service_catalog.py":[{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"890da941c657e420720cdd4c416bdc70923f5253","unresolved":false,"context_lines":[{"line_number":201,"context_line":""},{"line_number":202,"context_line":"    def test_service_catalog_no_service_type(self):"},{"line_number":203,"context_line":"        auth_ref \u003d access.AccessInfo.factory(None, self.AUTH_RESPONSE_BODY)"},{"line_number":204,"context_line":"        sc \u003d auth_ref.service_catalog.get_urls(service_type\u003dNone)"},{"line_number":205,"context_line":"        self.assertEqual(6, len(sc))"}],"source_content_type":"text/x-python","patch_set":1,"id":"3acd31a7_5604a548","line":204,"updated":"2015-05-04 09:55:11.000000000","message":"according to bug desc, testcase may also need to cover empty value.","commit_id":"d231f9e918677d2742398b596943f88a31055d10"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"138b99463362d4888903000c813c3b3e4eafe6a1","unresolved":false,"context_lines":[{"line_number":201,"context_line":""},{"line_number":202,"context_line":"    def test_service_catalog_no_service_type(self):"},{"line_number":203,"context_line":"        auth_ref \u003d access.AccessInfo.factory(None, self.AUTH_RESPONSE_BODY)"},{"line_number":204,"context_line":"        sc \u003d auth_ref.service_catalog.get_urls(service_type\u003dNone)"},{"line_number":205,"context_line":"        self.assertEqual(6, len(sc))"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa32b979_2598316a","line":204,"in_reply_to":"3acd31a7_5604a548","updated":"2015-06-20 03:43:05.000000000","message":"Done","commit_id":"d231f9e918677d2742398b596943f88a31055d10"}],"keystoneclient/tests/unit/v3/test_service_catalog.py":[{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"890da941c657e420720cdd4c416bdc70923f5253","unresolved":false,"context_lines":[{"line_number":272,"context_line":""},{"line_number":273,"context_line":"    def test_service_catalog_no_service_type(self):"},{"line_number":274,"context_line":"        auth_ref \u003d access.AccessInfo.factory(None, self.AUTH_RESPONSE_BODY)"},{"line_number":275,"context_line":"        sc \u003d auth_ref.service_catalog.get_urls(service_type\u003dNone)"},{"line_number":276,"context_line":"        self.assertEqual(4, len(sc))"}],"source_content_type":"text/x-python","patch_set":1,"id":"3acd31a7_b699b921","line":275,"updated":"2015-05-04 09:55:11.000000000","message":"consider to add testcase when service_type is empty string.","commit_id":"d231f9e918677d2742398b596943f88a31055d10"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"138b99463362d4888903000c813c3b3e4eafe6a1","unresolved":false,"context_lines":[{"line_number":272,"context_line":""},{"line_number":273,"context_line":"    def test_service_catalog_no_service_type(self):"},{"line_number":274,"context_line":"        auth_ref \u003d access.AccessInfo.factory(None, self.AUTH_RESPONSE_BODY)"},{"line_number":275,"context_line":"        sc \u003d auth_ref.service_catalog.get_urls(service_type\u003dNone)"},{"line_number":276,"context_line":"        self.assertEqual(4, len(sc))"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa32b979_e5a2499a","line":275,"in_reply_to":"3acd31a7_b699b921","updated":"2015-06-20 03:43:05.000000000","message":"Done","commit_id":"d231f9e918677d2742398b596943f88a31055d10"}]}
