)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"unresolved":false,"context_lines":[{"line_number":18,"context_line":"   representation for security reasons (hence should not bleed into"},{"line_number":19,"context_line":"   metering)"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":" - the publicURL should be available from the keystone service catalog,"},{"line_number":22,"context_line":"   so we can get rid of the registry host/port config"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"Change-Id: I0d75392066a020c608a67f1ecf0e8dba15aa48f0"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"AAAALH%2F%2FLG0%3D","line":21,"updated":"2012-10-09 13:14:41.000000000","message":"s/public/internal/","commit_id":"77740acfab3dbc6eafaef78fa2378e04486823ba"}],"ceilometer/image/glance.py":[{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"0fe4e614e91c6b2838847006a6e46ddf3be084c4","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":"cfg.CONF.register_opts("},{"line_number":34,"context_line":"    ["},{"line_number":35,"context_line":"        cfg.StrOpt(\u0027glance_registry_host\u0027,"},{"line_number":36,"context_line":"                   default\u003d\u0027localhost\u0027,"},{"line_number":37,"context_line":"                   help\u003d\"URL of Glance API server\"),"},{"line_number":38,"context_line":"        cfg.IntOpt(\u0027glance_registry_port\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAALH%2F%2FLfg%3D","side":"PARENT","line":35,"updated":"2012-10-08 22:50:16.000000000","message":"If these configuration options appear in the documentation Nick submitted earlier today, they should be removed.","commit_id":"ef6ba4b6a0f07820f74f709e5e162857986e32c5"},{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":"cfg.CONF.register_opts("},{"line_number":34,"context_line":"    ["},{"line_number":35,"context_line":"        cfg.StrOpt(\u0027glance_registry_host\u0027,"},{"line_number":36,"context_line":"                   default\u003d\u0027localhost\u0027,"},{"line_number":37,"context_line":"                   help\u003d\"URL of Glance API server\"),"},{"line_number":38,"context_line":"        cfg.IntOpt(\u0027glance_registry_port\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAALH%2F%2FLNk%3D","side":"PARENT","line":35,"in_reply_to":"AAAALH%2F%2FLfg%3D","updated":"2012-10-09 09:57:07.000000000","message":"Good spot, done!","commit_id":"ef6ba4b6a0f07820f74f709e5e162857986e32c5"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"unresolved":false,"context_lines":[{"line_number":42,"context_line":"                            auth_url\u003dcfg.CONF.os_auth_url)"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"        endpoint \u003d k.service_catalog.url_for(service_type\u003d\u0027image\u0027,"},{"line_number":45,"context_line":"                                             endpoint_type\u003d\u0027publicURL\u0027)"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"        # hard-code v1 glance API version selection while v2 API matures"},{"line_number":48,"context_line":"        return glanceclient.Client(\u00271\u0027, endpoint, token\u003dk.auth_token)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAALH%2F%2FLNU%3D","line":45,"updated":"2012-10-09 10:08:47.000000000","message":"Are we sure we want publicURL here? I though it would rather be internalURL.","commit_id":"34906e3e3ece547240fab351cc7a3c833b4ab2ee"},{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"unresolved":false,"context_lines":[{"line_number":42,"context_line":"                            auth_url\u003dcfg.CONF.os_auth_url)"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"        endpoint \u003d k.service_catalog.url_for(service_type\u003d\u0027image\u0027,"},{"line_number":45,"context_line":"                                             endpoint_type\u003d\u0027publicURL\u0027)"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"        # hard-code v1 glance API version selection while v2 API matures"},{"line_number":48,"context_line":"        return glanceclient.Client(\u00271\u0027, endpoint, token\u003dk.auth_token)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAALH%2F%2FLMI%3D","line":45,"in_reply_to":"AAAALH%2F%2FLNU%3D","updated":"2012-10-09 10:45:00.000000000","message":"Often these will be the same URL, but yes I guess there are scenarios where using the internalURL may for example by-pass some throttling or concurrent connection limitations imposed by an LB serving out the publicURL.","commit_id":"34906e3e3ece547240fab351cc7a3c833b4ab2ee"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"unresolved":false,"context_lines":[{"line_number":53,"context_line":"        #TODO(eglynn): use pagination to protect against unbounded"},{"line_number":54,"context_line":"        #              memory usage"},{"line_number":55,"context_line":"        return itertools.chain("},{"line_number":56,"context_line":"            client.images.list(),"},{"line_number":57,"context_line":"            #TODO(eglynn): extend glance API with all_tenants logic to"},{"line_number":58,"context_line":"            #              avoid second call to retrieve private images"},{"line_number":59,"context_line":"            client.images.list(filters\u003d{\"is_public\": False}))"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAALH%2F%2FLNM%3D","line":56,"updated":"2012-10-09 10:08:47.000000000","message":"Maybe write is_public: True to be more explicit?","commit_id":"34906e3e3ece547240fab351cc7a3c833b4ab2ee"},{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"unresolved":false,"context_lines":[{"line_number":53,"context_line":"        #TODO(eglynn): use pagination to protect against unbounded"},{"line_number":54,"context_line":"        #              memory usage"},{"line_number":55,"context_line":"        return itertools.chain("},{"line_number":56,"context_line":"            client.images.list(),"},{"line_number":57,"context_line":"            #TODO(eglynn): extend glance API with all_tenants logic to"},{"line_number":58,"context_line":"            #              avoid second call to retrieve private images"},{"line_number":59,"context_line":"            client.images.list(filters\u003d{\"is_public\": False}))"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAALH%2F%2FLMs%3D","line":56,"in_reply_to":"AAAALH%2F%2FLNM%3D","updated":"2012-10-09 10:45:00.000000000","message":"Sure, done.","commit_id":"34906e3e3ece547240fab351cc7a3c833b4ab2ee"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"0fe4e614e91c6b2838847006a6e46ddf3be084c4","unresolved":false,"context_lines":[{"line_number":60,"context_line":""},{"line_number":61,"context_line":"    @staticmethod"},{"line_number":62,"context_line":"    def extract_image_metadata(image):"},{"line_number":63,"context_line":"        return dict([(k, getattr(image, k))"},{"line_number":64,"context_line":"                     for k in ["},{"line_number":65,"context_line":"                             \"status\","},{"line_number":66,"context_line":"                             \"is_public\","}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAALH%2F%2FLIs%3D","line":63,"updated":"2012-10-09 11:54:34.000000000","message":"Removing the square brackets will pass the generator expression to dict() and avoid creating an extra list object.","commit_id":"29b3f2b4427b1b62653dfa3785e17fe903ee5dec"}]}
