)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"a2f6a06dc47600da368051330d5243f204771ca1","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     David Stanek \u003cdstanek@dstanek.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2014-03-19 13:49:05 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Ingore broken endpoints in get_catalog"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: Ibe9a8fa49f410f2a76a0df732247bd6813fc734b"},{"line_number":10,"context_line":"Partial-bug: #1230279"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"AAAAWH%2F%2FMNk%3D","line":7,"updated":"2014-03-19 15:39:04.000000000","message":"s/Ingore/Ignore/","commit_id":"2f920af59e249de3b33b8a7aeaf231bc21335658"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"80a17bfbffe3d1001f9003e49a3de225f04a029e","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     David Stanek \u003cdstanek@dstanek.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2014-03-19 13:49:05 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Ingore broken endpoints in get_catalog"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: Ibe9a8fa49f410f2a76a0df732247bd6813fc734b"},{"line_number":10,"context_line":"Partial-bug: #1230279"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"AAAAWH%2F9W80%3D","line":7,"in_reply_to":"AAAAWH%2F%2FMNk%3D","updated":"2014-04-05 16:24:08.000000000","message":"Done","commit_id":"2f920af59e249de3b33b8a7aeaf231bc21335658"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"455c857701e2e69390518be9dddf8a6eed53f133","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     David Stanek \u003cdstanek@dstanek.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2014-04-14 16:34:07 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Ingore broken endpoints in get_catalog"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: Ibe9a8fa49f410f2a76a0df732247bd6813fc734b"},{"line_number":10,"context_line":"Partial-bug: #1230279"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"AAAAXH%2F%2FbzY%3D","line":7,"updated":"2014-04-22 13:00:45.000000000","message":"Ignore*","commit_id":"42abd59bfc76e2a12a9e41f302045f78466f0fed"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"194457ed725dc260cf62a5c4b942897fa6113ea1","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     David Stanek \u003cdstanek@dstanek.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2014-04-14 16:34:07 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Ingore broken endpoints in get_catalog"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: Ibe9a8fa49f410f2a76a0df732247bd6813fc734b"},{"line_number":10,"context_line":"Partial-bug: #1230279"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"AAAAXH%2F%2FPaI%3D","line":7,"in_reply_to":"AAAAXH%2F%2FbzY%3D","updated":"2014-04-23 04:46:46.000000000","message":"Done","commit_id":"42abd59bfc76e2a12a9e41f302045f78466f0fed"}],"keystone/catalog/backends/sql.py":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"1ac5f6e86c0618c429cbf89f0a71b5b66996c799","unresolved":false,"context_lines":[{"line_number":257,"context_line":"            if not endpoint.service[\u0027enabled\u0027]:"},{"line_number":258,"context_line":"                continue"},{"line_number":259,"context_line":"            try:"},{"line_number":260,"context_line":"                url \u003d core.format_url(endpoint[\u0027url\u0027], d)"},{"line_number":261,"context_line":"            except exception.MalformedEndpoint:"},{"line_number":262,"context_line":"                continue  # this failure is already logged in format_url()"},{"line_number":263,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"9ad9bd40_44dd0070","line":260,"updated":"2014-05-01 00:34:49.000000000","message":"format_url can return None, then the catalog would have a bunch of interfaces\u003dNone -- should url is None also be skipped?","commit_id":"9e71793c3acca5f0f0df938620f87e7f102290f6"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"22d5f13e39d57c25bb7425382724d805c0d45a6a","unresolved":false,"context_lines":[{"line_number":257,"context_line":"            if not endpoint.service[\u0027enabled\u0027]:"},{"line_number":258,"context_line":"                continue"},{"line_number":259,"context_line":"            try:"},{"line_number":260,"context_line":"                url \u003d core.format_url(endpoint[\u0027url\u0027], d)"},{"line_number":261,"context_line":"            except exception.MalformedEndpoint:"},{"line_number":262,"context_line":"                continue  # this failure is already logged in format_url()"},{"line_number":263,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"1ae5cdf2_50333913","line":260,"in_reply_to":"7adec928_7c3efcb9","updated":"2014-06-13 18:43:23.000000000","message":"I have another commit later in this series to deal with None.","commit_id":"9e71793c3acca5f0f0df938620f87e7f102290f6"},{"author":{"_account_id":2218,"name":"Adam Young","email":"adam@younglogic.com","username":"ayoung"},"change_message_id":"6d2d3a4847c84d8eb15363b0586dea1c88ce75e4","unresolved":false,"context_lines":[{"line_number":257,"context_line":"            if not endpoint.service[\u0027enabled\u0027]:"},{"line_number":258,"context_line":"                continue"},{"line_number":259,"context_line":"            try:"},{"line_number":260,"context_line":"                url \u003d core.format_url(endpoint[\u0027url\u0027], d)"},{"line_number":261,"context_line":"            except exception.MalformedEndpoint:"},{"line_number":262,"context_line":"                continue  # this failure is already logged in format_url()"},{"line_number":263,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"7adec928_7c3efcb9","line":260,"in_reply_to":"9ad9bd40_44dd0070","updated":"2014-05-09 15:41:41.000000000","message":"No, lets report them, so long as things are not \"broken\"  that gives an indication of something to fix in the future.","commit_id":"9e71793c3acca5f0f0df938620f87e7f102290f6"},{"author":{"_account_id":11333,"name":"David J Hu","email":"david.hu@hpe.com","username":"dhu"},"change_message_id":"980333d72890f16abf0fec28eb0182df5e3ce661","unresolved":false,"context_lines":[{"line_number":258,"context_line":"            try:"},{"line_number":259,"context_line":"                url \u003d core.format_url(endpoint[\u0027url\u0027], d)"},{"line_number":260,"context_line":"            except exception.MalformedEndpoint:"},{"line_number":261,"context_line":"                continue  # this failure is already logged in format_url()"},{"line_number":262,"context_line":""},{"line_number":263,"context_line":"            region \u003d endpoint[\u0027region\u0027]"},{"line_number":264,"context_line":"            service_type \u003d endpoint.service[\u0027type\u0027]"}],"source_content_type":"text/x-python","patch_set":5,"id":"1ae5cdf2_ffca4e6c","line":261,"updated":"2014-06-13 21:17:24.000000000","message":"What is the reason behind moving url \u003d core.format_url(endpoint[\u0027url\u0027], d) couple lines up?","commit_id":"b6fc5e5f5c7ca70a830b3081fbc6595daac66502"},{"author":{"_account_id":11333,"name":"David J Hu","email":"david.hu@hpe.com","username":"dhu"},"change_message_id":"eaa00ad13f13fed58880c64cc3bf04eeb42bd65d","unresolved":false,"context_lines":[{"line_number":258,"context_line":"            try:"},{"line_number":259,"context_line":"                url \u003d core.format_url(endpoint[\u0027url\u0027], d)"},{"line_number":260,"context_line":"            except exception.MalformedEndpoint:"},{"line_number":261,"context_line":"                continue  # this failure is already logged in format_url()"},{"line_number":262,"context_line":""},{"line_number":263,"context_line":"            region \u003d endpoint[\u0027region\u0027]"},{"line_number":264,"context_line":"            service_type \u003d endpoint.service[\u0027type\u0027]"}],"source_content_type":"text/x-python","patch_set":5,"id":"1ae5cdf2_8d9ac46c","line":261,"in_reply_to":"1ae5cdf2_bc428f3b","updated":"2014-06-16 22:17:04.000000000","message":"I see.  That make sense.","commit_id":"b6fc5e5f5c7ca70a830b3081fbc6595daac66502"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"ae9815f2490b90e6c1ec4b6396ac61b3ab6d438a","unresolved":false,"context_lines":[{"line_number":258,"context_line":"            try:"},{"line_number":259,"context_line":"                url \u003d core.format_url(endpoint[\u0027url\u0027], d)"},{"line_number":260,"context_line":"            except exception.MalformedEndpoint:"},{"line_number":261,"context_line":"                continue  # this failure is already logged in format_url()"},{"line_number":262,"context_line":""},{"line_number":263,"context_line":"            region \u003d endpoint[\u0027region\u0027]"},{"line_number":264,"context_line":"            service_type \u003d endpoint.service[\u0027type\u0027]"}],"source_content_type":"text/x-python","patch_set":5,"id":"1ae5cdf2_bc428f3b","line":261,"in_reply_to":"1ae5cdf2_ffca4e6c","updated":"2014-06-13 23:49:34.000000000","message":"Moving the logic here allows the code to bail before the catalog is modified. If I left it where it was then there could be useless info in the catalog.","commit_id":"b6fc5e5f5c7ca70a830b3081fbc6595daac66502"}],"keystone/tests/test_backend_sql.py":[{"author":{"_account_id":2218,"name":"Adam Young","email":"adam@younglogic.com","username":"ayoung"},"change_message_id":"6d2d3a4847c84d8eb15363b0586dea1c88ce75e4","unresolved":false,"context_lines":[{"line_number":388,"context_line":""},{"line_number":389,"context_line":""},{"line_number":390,"context_line":"class SqlCatalog(SqlTests, test_backend.CatalogTests):"},{"line_number":391,"context_line":"    def test_malformed_catalog_throws_error(self):"},{"line_number":392,"context_line":"        service \u003d {"},{"line_number":393,"context_line":"            \u0027id\u0027: uuid.uuid4().hex,"},{"line_number":394,"context_line":"            \u0027type\u0027: uuid.uuid4().hex,"}],"source_content_type":"text/x-python","patch_set":4,"id":"7adec928_9c62e8d6","side":"PARENT","line":391,"updated":"2014-05-09 15:41:41.000000000","message":"There should still be a test for malformed with the new behavior","commit_id":"7e4aab33e2d38a87e26f9f4e65b4ba2097564fd2"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"22d5f13e39d57c25bb7425382724d805c0d45a6a","unresolved":false,"context_lines":[{"line_number":388,"context_line":""},{"line_number":389,"context_line":""},{"line_number":390,"context_line":"class SqlCatalog(SqlTests, test_backend.CatalogTests):"},{"line_number":391,"context_line":"    def test_malformed_catalog_throws_error(self):"},{"line_number":392,"context_line":"        service \u003d {"},{"line_number":393,"context_line":"            \u0027id\u0027: uuid.uuid4().hex,"},{"line_number":394,"context_line":"            \u0027type\u0027: uuid.uuid4().hex,"}],"source_content_type":"text/x-python","patch_set":4,"id":"1ae5cdf2_903941f4","side":"PARENT","line":391,"in_reply_to":"7adec928_9c62e8d6","updated":"2014-06-13 18:43:23.000000000","message":"Done","commit_id":"7e4aab33e2d38a87e26f9f4e65b4ba2097564fd2"}],"keystone/tests/test_backend_templated.py":[{"author":{"_account_id":2218,"name":"Adam Young","email":"adam@younglogic.com","username":"ayoung"},"change_message_id":"6d2d3a4847c84d8eb15363b0586dea1c88ce75e4","unresolved":false,"context_lines":[{"line_number":60,"context_line":"        catalog_ref \u003d self.catalog_api.get_catalog(\u0027foo\u0027, \u0027bar\u0027)"},{"line_number":61,"context_line":"        self.assertDictEqual(catalog_ref, self.DEFAULT_FIXTURE)"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"    def test_calatlog_ignored_malformed_urls(self):"},{"line_number":64,"context_line":"        # both endpoints are in the catalog"},{"line_number":65,"context_line":"        catalog_ref \u003d self.catalog_api.get_catalog(\u0027foo\u0027, \u0027bar\u0027)"},{"line_number":66,"context_line":"        self.assertEqual(2, len(catalog_ref[\u0027RegionOne\u0027]))"}],"source_content_type":"text/x-python","patch_set":4,"id":"7adec928_fca04cf6","line":63,"updated":"2014-05-09 15:41:41.000000000","message":"this should be in base class","commit_id":"9e71793c3acca5f0f0df938620f87e7f102290f6"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"22d5f13e39d57c25bb7425382724d805c0d45a6a","unresolved":false,"context_lines":[{"line_number":60,"context_line":"        catalog_ref \u003d self.catalog_api.get_catalog(\u0027foo\u0027, \u0027bar\u0027)"},{"line_number":61,"context_line":"        self.assertDictEqual(catalog_ref, self.DEFAULT_FIXTURE)"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"    def test_calatlog_ignored_malformed_urls(self):"},{"line_number":64,"context_line":"        # both endpoints are in the catalog"},{"line_number":65,"context_line":"        catalog_ref \u003d self.catalog_api.get_catalog(\u0027foo\u0027, \u0027bar\u0027)"},{"line_number":66,"context_line":"        self.assertEqual(2, len(catalog_ref[\u0027RegionOne\u0027]))"}],"source_content_type":"text/x-python","patch_set":4,"id":"1ae5cdf2_b03c7de2","line":63,"in_reply_to":"7adec928_fca04cf6","updated":"2014-06-13 18:43:23.000000000","message":"The setup is too different. Each backend has a method now to do this check.","commit_id":"9e71793c3acca5f0f0df938620f87e7f102290f6"}]}
