)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"dffa68f504dab7b81a1561376cca0a4a213343cb","unresolved":false,"context_lines":[{"line_number":9,"context_line":"This patch allows to specify region name which will be used to"},{"line_number":10,"context_line":"get appropriate API endpoints for services from Keystone."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Fixes bug 1213291"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: Ida83ecf0377bdf9bd9d485a3653e039236f5d76e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":13,"id":"AAAAS3%2F%2FHvQ%3D","line":12,"updated":"2013-10-03 22:57:43.000000000","message":"On the next review, could this please say:\n\nCloses-Bug: #1213291\n\nCloses-Bug: #1147530","commit_id":"22d69e1222d8786691192c9cd75431d193f40a83"},{"author":{"_account_id":6917,"name":"Bartosz Górski","email":"bartosz@codilime.com","username":"bartosz-gorski"},"change_message_id":"40f17011a86ebf118f8ed449b8d961794f8e05bb","unresolved":false,"context_lines":[{"line_number":9,"context_line":"This patch allows to specify region name which will be used to"},{"line_number":10,"context_line":"get appropriate API endpoints for services from Keystone."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Fixes bug 1213291"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: Ida83ecf0377bdf9bd9d485a3653e039236f5d76e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":13,"id":"AAAAS3%2F%2FFi0%3D","line":12,"in_reply_to":"AAAAS3%2F%2FHvQ%3D","updated":"2013-10-04 16:25:15.000000000","message":"Sure Steve. I will update commit message in next patch.","commit_id":"22d69e1222d8786691192c9cd75431d193f40a83"}],"heat/common/config.py":[{"author":{"_account_id":6488,"name":"Clint Byrum","email":"clint@fewbar.com","username":"clint-fewbar"},"change_message_id":"daa7be9759097c9cae2b914379a37a3669b17e85","unresolved":false,"context_lines":[{"line_number":60,"context_line":"               help\u003d\u0027Instance connection to cfn/cw API validate certs if ssl\u0027),"},{"line_number":61,"context_line":"    cfg.StrOpt(\u0027heat_region_name\u0027,"},{"line_number":62,"context_line":"               default\u003dNone,"},{"line_number":63,"context_line":"               help\u003d\u0027Region name used to get services endpoints\u0027),"},{"line_number":64,"context_line":"    cfg.StrOpt(\u0027heat_stack_user_role\u0027,"},{"line_number":65,"context_line":"               default\u003d\"heat_stack_user\","},{"line_number":66,"context_line":"               help\u003d\u0027Keystone role for heat template-defined users\u0027),"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAASn%2F%2FHzE%3D","line":63,"updated":"2013-09-11 16:38:55.000000000","message":"I\u0027m not sure I like this config option name. The name suggests this is just the region that this heat serves, but if I understand the change, it isn\u0027t really where \"heat\" lives, but where the service endpoints will be contacted. What about \u0027service_region_name\u0027 or \u0027resource_region_name\u0027 ?","commit_id":"3c6b9f4488ef74dfe4656cbef2c14919cd6bbe2c"},{"author":{"_account_id":6917,"name":"Bartosz Górski","email":"bartosz@codilime.com","username":"bartosz-gorski"},"change_message_id":"909cb84cafcf7a4b7b36e4b0fd2545b7e2c0cd35","unresolved":false,"context_lines":[{"line_number":60,"context_line":"               help\u003d\u0027Instance connection to cfn/cw API validate certs if ssl\u0027),"},{"line_number":61,"context_line":"    cfg.StrOpt(\u0027heat_region_name\u0027,"},{"line_number":62,"context_line":"               default\u003dNone,"},{"line_number":63,"context_line":"               help\u003d\u0027Region name used to get services endpoints\u0027),"},{"line_number":64,"context_line":"    cfg.StrOpt(\u0027heat_stack_user_role\u0027,"},{"line_number":65,"context_line":"               default\u003d\"heat_stack_user\","},{"line_number":66,"context_line":"               help\u003d\u0027Keystone role for heat template-defined users\u0027),"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAASn%2F%2FFA8%3D","line":63,"in_reply_to":"AAAASn%2F%2FHzE%3D","updated":"2013-09-12 12:15:16.000000000","message":"I understand the change and I know that it is not really where heat lives. I like the way you changed the name. What about \u0027region_name_for_services\u0027?","commit_id":"3c6b9f4488ef74dfe4656cbef2c14919cd6bbe2c"}],"heat/common/heat_keystoneclient.py":[{"author":{"_account_id":6223,"name":"Cody A.W. Somerville","email":"cody.somerville@gmail.com","username":"cody-somerville"},"change_message_id":"31f47195ff4a9cf09c41ee220cb2dfe057286622","unresolved":false,"context_lines":[{"line_number":155,"context_line":"    def url_for(self, **kwargs):"},{"line_number":156,"context_line":"        if self.context.region_name:"},{"line_number":157,"context_line":"            kwargs[\u0027attr\u0027] \u003d \u0027region\u0027"},{"line_number":158,"context_line":"            kwargs[\u0027filter_value\u0027] \u003d self.context.region_name"},{"line_number":159,"context_line":"        return self.client.service_catalog.url_for(**kwargs)"},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"    @property"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAASX%2F%2F7iI%3D","line":158,"updated":"2013-08-23 15:57:52.000000000","message":"If self.content.region_name is True, this would prevent filtering on another endpoint attribute (which would be confusing).\n\nShould we instead fix bug #1147530 and passing region_name when we instantiate the actual keystone client or by setting auth_ref.service_catalog.region_name to self.context.region_name before calling self.client.service_catalog.url_for(**kwargs)?","commit_id":"6ec78a94175a937b458ced57d3ed365a25d95dc9"},{"author":{"_account_id":6917,"name":"Bartosz Górski","email":"bartosz@codilime.com","username":"bartosz-gorski"},"change_message_id":"66a732ce1c5548798c5400d169eed927bb3041f1","unresolved":false,"context_lines":[{"line_number":155,"context_line":"    def url_for(self, **kwargs):"},{"line_number":156,"context_line":"        if self.context.region_name:"},{"line_number":157,"context_line":"            kwargs[\u0027attr\u0027] \u003d \u0027region\u0027"},{"line_number":158,"context_line":"            kwargs[\u0027filter_value\u0027] \u003d self.context.region_name"},{"line_number":159,"context_line":"        return self.client.service_catalog.url_for(**kwargs)"},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"    @property"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAASX%2F%2F1lA%3D","line":158,"in_reply_to":"AAAASX%2F%2F7iI%3D","updated":"2013-08-26 15:02:41.000000000","message":"Done. I think we should use the first option. Fix the bug and pass region_name when instantiate keystone client.","commit_id":"6ec78a94175a937b458ced57d3ed365a25d95dc9"},{"author":{"_account_id":6800,"name":"Christopher Armstrong","email":"chris.armstrong@rackspace.com","username":"radix"},"change_message_id":"2d305ddff746255bcfa6866f28bac574e712d3b9","unresolved":false,"context_lines":[{"line_number":116,"context_line":"                cfg.CONF.keystone_authtoken.admin_tenant_name"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"        return creds"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"    def _v3_client_init(self):"},{"line_number":121,"context_line":"        kwargs \u003d {}"},{"line_number":122,"context_line":"        if self.context.auth_token is not None:"}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAAS3%2F%2FwxY%3D","line":119,"updated":"2013-09-19 18:57:20.000000000","message":"Shouldn\u0027t you do a similar thing in this method?","commit_id":"41febe48b324e153f581472b7825eb610814601b"},{"author":{"_account_id":6917,"name":"Bartosz Górski","email":"bartosz@codilime.com","username":"bartosz-gorski"},"change_message_id":"040bd3826eb88a65508351a0b6c390bcdec7e7be","unresolved":false,"context_lines":[{"line_number":116,"context_line":"                cfg.CONF.keystone_authtoken.admin_tenant_name"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"        return creds"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"    def _v3_client_init(self):"},{"line_number":121,"context_line":"        kwargs \u003d {}"},{"line_number":122,"context_line":"        if self.context.auth_token is not None:"}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAAS3%2F%2FlI4%3D","line":119,"in_reply_to":"AAAAS3%2F%2FwxY%3D","updated":"2013-09-24 12:32:19.000000000","message":"From what I see in the code there is not point to do that because the url_for function uses only client_v2\n\ndef url_for(self, **kwargs):\nreturn self.client_v2.service_catalog.url_for(**kwargs)","commit_id":"41febe48b324e153f581472b7825eb610814601b"}],"heat/tests/test_heatclient.py":[{"author":{"_account_id":6488,"name":"Clint Byrum","email":"clint@fewbar.com","username":"clint-fewbar"},"change_message_id":"daa7be9759097c9cae2b914379a37a3669b17e85","unresolved":false,"context_lines":[{"line_number":374,"context_line":"            ctx.region_name \u003d kwargs[\u0027region_name\u0027]"},{"line_number":375,"context_line":"        heat_ks_client \u003d heat_keystoneclient.KeystoneClient(ctx)"},{"line_number":376,"context_line":"        self.assertEqual(heat_ks_client.url_for(), service_url)"},{"line_number":377,"context_line":"        self.m.UnsetStubs()"},{"line_number":378,"context_line":""},{"line_number":379,"context_line":"    def test_url_for(self):"},{"line_number":380,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAASn%2F%2FH0U%3D","line":377,"updated":"2013-09-11 16:38:55.000000000","message":"HeatTestCase does self.m.UnsetStubs() automatically.\n\nAlso, it seems like a VerifyAll() would make sense.","commit_id":"3c6b9f4488ef74dfe4656cbef2c14919cd6bbe2c"},{"author":{"_account_id":6917,"name":"Bartosz Górski","email":"bartosz@codilime.com","username":"bartosz-gorski"},"change_message_id":"909cb84cafcf7a4b7b36e4b0fd2545b7e2c0cd35","unresolved":false,"context_lines":[{"line_number":374,"context_line":"            ctx.region_name \u003d kwargs[\u0027region_name\u0027]"},{"line_number":375,"context_line":"        heat_ks_client \u003d heat_keystoneclient.KeystoneClient(ctx)"},{"line_number":376,"context_line":"        self.assertEqual(heat_ks_client.url_for(), service_url)"},{"line_number":377,"context_line":"        self.m.UnsetStubs()"},{"line_number":378,"context_line":""},{"line_number":379,"context_line":"    def test_url_for(self):"},{"line_number":380,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAASn%2F%2FFA4%3D","line":377,"in_reply_to":"AAAASn%2F%2FH0U%3D","updated":"2013-09-12 12:15:16.000000000","message":"Done","commit_id":"3c6b9f4488ef74dfe4656cbef2c14919cd6bbe2c"},{"author":{"_account_id":6488,"name":"Clint Byrum","email":"clint@fewbar.com","username":"clint-fewbar"},"change_message_id":"daa7be9759097c9cae2b914379a37a3669b17e85","unresolved":false,"context_lines":[{"line_number":378,"context_line":""},{"line_number":379,"context_line":"    def test_url_for(self):"},{"line_number":380,"context_line":"        \"\"\""},{"line_number":381,"context_line":"        Test that attr filter is not set if heat region is not specified."},{"line_number":382,"context_line":"        \"\"\""},{"line_number":383,"context_line":"        service_url \u003d \u0027http://example.com:1234/v1\u0027"},{"line_number":384,"context_line":"        self._test_url_for(service_url)"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAASn%2F%2FH0A%3D","line":381,"updated":"2013-09-11 16:38:55.000000000","message":"I don\u0027t see any assertions that mention \"attr filter\".","commit_id":"3c6b9f4488ef74dfe4656cbef2c14919cd6bbe2c"},{"author":{"_account_id":6917,"name":"Bartosz Górski","email":"bartosz@codilime.com","username":"bartosz-gorski"},"change_message_id":"3009c257bd63c4aea3752ab0ba0cc9024b3ad499","unresolved":false,"context_lines":[{"line_number":378,"context_line":""},{"line_number":379,"context_line":"    def test_url_for(self):"},{"line_number":380,"context_line":"        \"\"\""},{"line_number":381,"context_line":"        Test that attr filter is not set if heat region is not specified."},{"line_number":382,"context_line":"        \"\"\""},{"line_number":383,"context_line":"        service_url \u003d \u0027http://example.com:1234/v1\u0027"},{"line_number":384,"context_line":"        self._test_url_for(service_url)"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAASn%2F%2FE7M%3D","line":381,"in_reply_to":"AAAASn%2F%2FFA0%3D","updated":"2013-09-12 13:14:45.000000000","message":"On second thought I think that those test are not accurate any more. When I was using attr filter those tests make sense but right now they don\u0027t. Right now we should only test that if region name for services is specified in config file it will be passed when creating keystone client.","commit_id":"3c6b9f4488ef74dfe4656cbef2c14919cd6bbe2c"},{"author":{"_account_id":6917,"name":"Bartosz Górski","email":"bartosz@codilime.com","username":"bartosz-gorski"},"change_message_id":"909cb84cafcf7a4b7b36e4b0fd2545b7e2c0cd35","unresolved":false,"context_lines":[{"line_number":378,"context_line":""},{"line_number":379,"context_line":"    def test_url_for(self):"},{"line_number":380,"context_line":"        \"\"\""},{"line_number":381,"context_line":"        Test that attr filter is not set if heat region is not specified."},{"line_number":382,"context_line":"        \"\"\""},{"line_number":383,"context_line":"        service_url \u003d \u0027http://example.com:1234/v1\u0027"},{"line_number":384,"context_line":"        self._test_url_for(service_url)"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAASn%2F%2FFA0%3D","line":381,"in_reply_to":"AAAASn%2F%2FH0A%3D","updated":"2013-09-12 12:15:16.000000000","message":"Old comment. I will chnage it.","commit_id":"3c6b9f4488ef74dfe4656cbef2c14919cd6bbe2c"},{"author":{"_account_id":6488,"name":"Clint Byrum","email":"clint@fewbar.com","username":"clint-fewbar"},"change_message_id":"daa7be9759097c9cae2b914379a37a3669b17e85","unresolved":false,"context_lines":[{"line_number":385,"context_line":""},{"line_number":386,"context_line":"    def test_url_for_with_region(self):"},{"line_number":387,"context_line":"        \"\"\""},{"line_number":388,"context_line":"        Test that attr filter is set if heat region is specified."},{"line_number":389,"context_line":"        \"\"\""},{"line_number":390,"context_line":"        service_url \u003d \u0027http://regionone.example.com:1234/v1\u0027"},{"line_number":391,"context_line":"        heat_region_name \u003d \u0027RegionOne\u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAASn%2F%2FHz0%3D","line":388,"updated":"2013-09-11 16:38:55.000000000","message":"Same here.","commit_id":"3c6b9f4488ef74dfe4656cbef2c14919cd6bbe2c"},{"author":{"_account_id":6917,"name":"Bartosz Górski","email":"bartosz@codilime.com","username":"bartosz-gorski"},"change_message_id":"3009c257bd63c4aea3752ab0ba0cc9024b3ad499","unresolved":false,"context_lines":[{"line_number":385,"context_line":""},{"line_number":386,"context_line":"    def test_url_for_with_region(self):"},{"line_number":387,"context_line":"        \"\"\""},{"line_number":388,"context_line":"        Test that attr filter is set if heat region is specified."},{"line_number":389,"context_line":"        \"\"\""},{"line_number":390,"context_line":"        service_url \u003d \u0027http://regionone.example.com:1234/v1\u0027"},{"line_number":391,"context_line":"        heat_region_name \u003d \u0027RegionOne\u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAASn%2F%2FE7E%3D","line":388,"in_reply_to":"AAAASn%2F%2FFAw%3D","updated":"2013-09-12 13:14:45.000000000","message":"I removed the whole test","commit_id":"3c6b9f4488ef74dfe4656cbef2c14919cd6bbe2c"},{"author":{"_account_id":6917,"name":"Bartosz Górski","email":"bartosz@codilime.com","username":"bartosz-gorski"},"change_message_id":"909cb84cafcf7a4b7b36e4b0fd2545b7e2c0cd35","unresolved":false,"context_lines":[{"line_number":385,"context_line":""},{"line_number":386,"context_line":"    def test_url_for_with_region(self):"},{"line_number":387,"context_line":"        \"\"\""},{"line_number":388,"context_line":"        Test that attr filter is set if heat region is specified."},{"line_number":389,"context_line":"        \"\"\""},{"line_number":390,"context_line":"        service_url \u003d \u0027http://regionone.example.com:1234/v1\u0027"},{"line_number":391,"context_line":"        heat_region_name \u003d \u0027RegionOne\u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAASn%2F%2FFAw%3D","line":388,"in_reply_to":"AAAASn%2F%2FHz0%3D","updated":"2013-09-12 12:15:16.000000000","message":"Old comment. I will change it.","commit_id":"3c6b9f4488ef74dfe4656cbef2c14919cd6bbe2c"}]}
