)]}'
{"doc/api_samples/os-availability-zone/availability-zone-post-resp.json":[{"author":{"_account_id":67,"name":"Vish Ishaya","email":"vishvananda@gmail.com","username":"vishvananda"},"change_message_id":"ca9ba4580332495a2b133db59ecf90734fadecaa","unresolved":false,"context_lines":[{"line_number":1,"context_line":"{"},{"line_number":2,"context_line":"    \"server\": {"},{"line_number":3,"context_line":"        \"adminPass\": \"ngnE2aefDn9d\","},{"line_number":4,"context_line":"        \"id\": \"064a14fc-4e78-4ecf-b1ff-95b0eeff9007\","},{"line_number":5,"context_line":"        \"links\": ["}],"source_content_type":"application/json","patch_set":4,"id":"AAAAMX%2F%2F9Pc%3D","line":2,"updated":"2012-12-05 00:26:05.000000000","message":"doesn\u0027t look like anything was changed here. can probably revert this file","commit_id":"0932f83854bee84de94f4a15abf1b555a04d6eef"}],"doc/api_samples/os-availability-zone/availability-zone-post-resp.xml":[{"author":{"_account_id":67,"name":"Vish Ishaya","email":"vishvananda@gmail.com","username":"vishvananda"},"change_message_id":"ca9ba4580332495a2b133db59ecf90734fadecaa","unresolved":false,"context_lines":[{"line_number":1,"context_line":"\u003c?xml version\u003d\u00271.0\u0027 encoding\u003d\u0027UTF-8\u0027?\u003e"},{"line_number":2,"context_line":"\u003cserver xmlns:atom\u003d\"http://www.w3.org/2005/Atom\" xmlns\u003d\"http://docs.openstack.org/compute/api/v1.1\" id\u003d\"bb799ce0-899d-441f-8c19-412554712b9a\" adminPass\u003d\"XcCbLr53Chwg\"\u003e"},{"line_number":3,"context_line":"  \u003cmetadata/\u003e"},{"line_number":4,"context_line":"  \u003catom:link href\u003d\"http://openstack.example.com/v2/openstack/servers/bb799ce0-899d-441f-8c19-412554712b9a\" rel\u003d\"self\"/\u003e"},{"line_number":5,"context_line":"  \u003catom:link href\u003d\"http://openstack.example.com/openstack/servers/bb799ce0-899d-441f-8c19-412554712b9a\" rel\u003d\"bookmark\"/\u003e"}],"source_content_type":"application/xml","patch_set":4,"id":"AAAAMX%2F%2F9PY%3D","line":2,"updated":"2012-12-05 00:26:05.000000000","message":"ditto","commit_id":"0932f83854bee84de94f4a15abf1b555a04d6eef"}],"nova/api/ec2/cloud.py":[{"author":{"_account_id":5652,"name":"David Ripton","email":"dripton@redhat.com","username":"dripton"},"change_message_id":"20ce38a293b0fad8dc18cc015e97142de7c10b6d","unresolved":false,"context_lines":[{"line_number":251,"context_line":"                key\u003d\u0027availability_zone\u0027)"},{"line_number":252,"context_line":"        for zone_set in metadata.values():"},{"line_number":253,"context_line":"            for zone in zone_set:"},{"line_number":254,"context_line":"                if not zone in available_zones:"},{"line_number":255,"context_line":"                    available_zones.append(zone)"},{"line_number":256,"context_line":"        not_available_zones \u003d []"},{"line_number":257,"context_line":"        for zone in [service.availability_zone for service in disabled_services"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAM3%2F%2FzZQ%3D","line":254,"updated":"2013-01-04 16:11:20.000000000","message":"I think \"if zone not in available_zones\" reads better, but this is minor.","commit_id":"2f02b8a18a1585e7893cbd2e287383d592ad575a"},{"author":{"_account_id":1849,"name":"Joe Gordon","email":"joe.gordon0@gmail.com","username":"jogo"},"change_message_id":"1e320e106f797f58204287f53a07e91dfd4198ba","unresolved":false,"context_lines":[{"line_number":251,"context_line":"                key\u003d\u0027availability_zone\u0027)"},{"line_number":252,"context_line":"        for zone_set in metadata.values():"},{"line_number":253,"context_line":"            for zone in zone_set:"},{"line_number":254,"context_line":"                if not zone in available_zones:"},{"line_number":255,"context_line":"                    available_zones.append(zone)"},{"line_number":256,"context_line":"        not_available_zones \u003d []"},{"line_number":257,"context_line":"        for zone in [service.availability_zone for service in disabled_services"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAM3%2F%2FyqU%3D","line":254,"in_reply_to":"AAAAM3%2F%2FzZQ%3D","updated":"2013-01-05 01:33:12.000000000","message":"Done","commit_id":"2f02b8a18a1585e7893cbd2e287383d592ad575a"},{"author":{"_account_id":5652,"name":"David Ripton","email":"dripton@redhat.com","username":"dripton"},"change_message_id":"20ce38a293b0fad8dc18cc015e97142de7c10b6d","unresolved":false,"context_lines":[{"line_number":296,"context_line":"        for host, zones in metadata.items():"},{"line_number":297,"context_line":"            for zone in zones:"},{"line_number":298,"context_line":"                zone_hosts.setdefault(zone, [])"},{"line_number":299,"context_line":"                if not host in zone_hosts[zone]:"},{"line_number":300,"context_line":"                    zone_hosts[zone].append(host)"},{"line_number":301,"context_line":""},{"line_number":302,"context_line":"        result \u003d []"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAM3%2F%2FzZM%3D","line":299,"updated":"2013-01-04 16:11:20.000000000","message":"Again, \"host not in\" reads better than \"not host in\".","commit_id":"2f02b8a18a1585e7893cbd2e287383d592ad575a"},{"author":{"_account_id":1849,"name":"Joe Gordon","email":"joe.gordon0@gmail.com","username":"jogo"},"change_message_id":"1e320e106f797f58204287f53a07e91dfd4198ba","unresolved":false,"context_lines":[{"line_number":296,"context_line":"        for host, zones in metadata.items():"},{"line_number":297,"context_line":"            for zone in zones:"},{"line_number":298,"context_line":"                zone_hosts.setdefault(zone, [])"},{"line_number":299,"context_line":"                if not host in zone_hosts[zone]:"},{"line_number":300,"context_line":"                    zone_hosts[zone].append(host)"},{"line_number":301,"context_line":""},{"line_number":302,"context_line":"        result \u003d []"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAM3%2F%2FyqQ%3D","line":299,"in_reply_to":"AAAAM3%2F%2FzZM%3D","updated":"2013-01-05 01:33:12.000000000","message":"Done","commit_id":"2f02b8a18a1585e7893cbd2e287383d592ad575a"}],"nova/compute/api.py":[{"author":{"_account_id":5174,"name":"Mauro Sergio Martins Rodrigues","email":"maurosr@linux.vnet.ibm.com","username":"maurosr"},"change_message_id":"d8f1ebea2803b60aa0cf079da5b13e17639d9988","unresolved":false,"context_lines":[{"line_number":2182,"context_line":"        aggregate \u003d self.db.aggregate_create(context, values,"},{"line_number":2183,"context_line":"                metadata\u003d{\u0027availability_zone\u0027: availability_zone})"},{"line_number":2184,"context_line":"        aggregate \u003d self._get_aggregate_info(context, aggregate)"},{"line_number":2185,"context_line":"        # To maintain the same API result as before."},{"line_number":2186,"context_line":"        del aggregate[\u0027hosts\u0027]"},{"line_number":2187,"context_line":"        del aggregate[\u0027metadata\u0027]"},{"line_number":2188,"context_line":"        return aggregate"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAM3%2F%2FzmE%3D","line":2185,"updated":"2013-01-04 15:24:11.000000000","message":"Question: based on your experience with this extension do you think it\u0027s a good idea to add these deleted information on the next api version? If so I need to open a bug to remember to fix it on v3 window, please let me know your thoughts","commit_id":"2f02b8a18a1585e7893cbd2e287383d592ad575a"},{"author":{"_account_id":1849,"name":"Joe Gordon","email":"joe.gordon0@gmail.com","username":"jogo"},"change_message_id":"1e320e106f797f58204287f53a07e91dfd4198ba","unresolved":false,"context_lines":[{"line_number":2182,"context_line":"        aggregate \u003d self.db.aggregate_create(context, values,"},{"line_number":2183,"context_line":"                metadata\u003d{\u0027availability_zone\u0027: availability_zone})"},{"line_number":2184,"context_line":"        aggregate \u003d self._get_aggregate_info(context, aggregate)"},{"line_number":2185,"context_line":"        # To maintain the same API result as before."},{"line_number":2186,"context_line":"        del aggregate[\u0027hosts\u0027]"},{"line_number":2187,"context_line":"        del aggregate[\u0027metadata\u0027]"},{"line_number":2188,"context_line":"        return aggregate"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAM3%2F%2Fyqc%3D","line":2185,"in_reply_to":"AAAAM3%2F%2FzmE%3D","updated":"2013-01-05 01:33:12.000000000","message":"Mauro, I can see  this going either way.\n\nI think the important thing is to make sure hosts and metadata are either always separate or always included in aggregate information. \n\nFor example this is the only call that doesn\u0027t return hosts and metadata right now.","commit_id":"2f02b8a18a1585e7893cbd2e287383d592ad575a"}],"nova/db/sqlalchemy/api.py":[{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"9595f5f8a2c1b02dc5781d12877e732594b14799","unresolved":false,"context_lines":[{"line_number":4301,"context_line":"                                     values[\u0027name\u0027],"},{"line_number":4302,"context_line":"                                     session\u003dsession,"},{"line_number":4303,"context_line":"                                     read_deleted\u003d\u0027no\u0027)."},{"line_number":4304,"context_line":"                                     options(joinedload(\u0027_metadata\u0027)).first())"},{"line_number":4305,"context_line":"    if not aggregate:"},{"line_number":4306,"context_line":"        aggregate \u003d models.Aggregate()"},{"line_number":4307,"context_line":"        if \"availability_zone\" in values:"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAM3%2F%2Fz1c%3D","line":4304,"updated":"2013-01-04 11:30:50.000000000","message":"Think I\u0027d have preferred\n\n  query \u003d _aggregate_get_query(...)\n  aggregate \u003d query.options(..).first()\n\nrather than using parenthesis for line continuation like this. Also, the parameters are misaligned now","commit_id":"2f02b8a18a1585e7893cbd2e287383d592ad575a"},{"author":{"_account_id":1849,"name":"Joe Gordon","email":"joe.gordon0@gmail.com","username":"jogo"},"change_message_id":"1e320e106f797f58204287f53a07e91dfd4198ba","unresolved":false,"context_lines":[{"line_number":4301,"context_line":"                                     values[\u0027name\u0027],"},{"line_number":4302,"context_line":"                                     session\u003dsession,"},{"line_number":4303,"context_line":"                                     read_deleted\u003d\u0027no\u0027)."},{"line_number":4304,"context_line":"                                     options(joinedload(\u0027_metadata\u0027)).first())"},{"line_number":4305,"context_line":"    if not aggregate:"},{"line_number":4306,"context_line":"        aggregate \u003d models.Aggregate()"},{"line_number":4307,"context_line":"        if \"availability_zone\" in values:"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAM3%2F%2Fypw%3D","line":4304,"in_reply_to":"AAAAM3%2F%2Fz1c%3D","updated":"2013-01-05 01:33:12.000000000","message":"Done","commit_id":"2f02b8a18a1585e7893cbd2e287383d592ad575a"},{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"9595f5f8a2c1b02dc5781d12877e732594b14799","unresolved":false,"context_lines":[{"line_number":4304,"context_line":"                                     options(joinedload(\u0027_metadata\u0027)).first())"},{"line_number":4305,"context_line":"    if not aggregate:"},{"line_number":4306,"context_line":"        aggregate \u003d models.Aggregate()"},{"line_number":4307,"context_line":"        if \"availability_zone\" in values:"},{"line_number":4308,"context_line":"            values \u003d values.copy()"},{"line_number":4309,"context_line":"            az \u003d values.pop(\u0027availability_zone\u0027)"},{"line_number":4310,"context_line":"            if metadata is None:"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAM3%2F%2Fzxw%3D","line":4307,"updated":"2013-01-04 11:30:50.000000000","message":"Hmm, where in the code do we still pass az via values?\n\nWhy not just fix those cases in this patch?","commit_id":"2f02b8a18a1585e7893cbd2e287383d592ad575a"},{"author":{"_account_id":1849,"name":"Joe Gordon","email":"joe.gordon0@gmail.com","username":"jogo"},"change_message_id":"1e320e106f797f58204287f53a07e91dfd4198ba","unresolved":false,"context_lines":[{"line_number":4304,"context_line":"                                     options(joinedload(\u0027_metadata\u0027)).first())"},{"line_number":4305,"context_line":"    if not aggregate:"},{"line_number":4306,"context_line":"        aggregate \u003d models.Aggregate()"},{"line_number":4307,"context_line":"        if \"availability_zone\" in values:"},{"line_number":4308,"context_line":"            values \u003d values.copy()"},{"line_number":4309,"context_line":"            az \u003d values.pop(\u0027availability_zone\u0027)"},{"line_number":4310,"context_line":"            if metadata is None:"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAM3%2F%2FyRE%3D","line":4307,"in_reply_to":"AAAAM3%2F%2Fzxw%3D","updated":"2013-01-05 01:33:12.000000000","message":"Done","commit_id":"2f02b8a18a1585e7893cbd2e287383d592ad575a"},{"author":{"_account_id":5174,"name":"Mauro Sergio Martins Rodrigues","email":"maurosr@linux.vnet.ibm.com","username":"maurosr"},"change_message_id":"d8f1ebea2803b60aa0cf079da5b13e17639d9988","unresolved":false,"context_lines":[{"line_number":4331,"context_line":"                                     models.Aggregate,"},{"line_number":4332,"context_line":"                                     models.Aggregate.id,"},{"line_number":4333,"context_line":"                                     aggregate_id)."},{"line_number":4334,"context_line":"                                     options(joinedload(\u0027_metadata\u0027)).first())"},{"line_number":4335,"context_line":""},{"line_number":4336,"context_line":"    if not aggregate:"},{"line_number":4337,"context_line":"        raise exception.AggregateNotFound(aggregate_id\u003daggregate_id)"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAM3%2F%2Fzls%3D","line":4334,"updated":"2013-01-04 15:24:11.000000000","message":"same as pointed by mark on L4304","commit_id":"2f02b8a18a1585e7893cbd2e287383d592ad575a"},{"author":{"_account_id":1849,"name":"Joe Gordon","email":"joe.gordon0@gmail.com","username":"jogo"},"change_message_id":"1e320e106f797f58204287f53a07e91dfd4198ba","unresolved":false,"context_lines":[{"line_number":4331,"context_line":"                                     models.Aggregate,"},{"line_number":4332,"context_line":"                                     models.Aggregate.id,"},{"line_number":4333,"context_line":"                                     aggregate_id)."},{"line_number":4334,"context_line":"                                     options(joinedload(\u0027_metadata\u0027)).first())"},{"line_number":4335,"context_line":""},{"line_number":4336,"context_line":"    if not aggregate:"},{"line_number":4337,"context_line":"        raise exception.AggregateNotFound(aggregate_id\u003daggregate_id)"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAM3%2F%2FypM%3D","line":4334,"in_reply_to":"AAAAM3%2F%2Fzls%3D","updated":"2013-01-05 01:33:12.000000000","message":"Done","commit_id":"2f02b8a18a1585e7893cbd2e287383d592ad575a"}],"nova/db/sqlalchemy/migrate_repo/versions/145_aggregate_zones.py":[{"author":{"_account_id":67,"name":"Vish Ishaya","email":"vishvananda@gmail.com","username":"vishvananda"},"change_message_id":"ca9ba4580332495a2b133db59ecf90734fadecaa","unresolved":false,"context_lines":[{"line_number":24,"context_line":"    meta.bind \u003d migrate_engine"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    aggregates \u003d Table(\u0027aggregates\u0027, meta, autoload\u003dTrue)"},{"line_number":27,"context_line":"    aggregates.drop_column(\u0027availability_zone\u0027)"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"def downgrade(migrate_engine):"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAMX%2F%2F9Pg%3D","line":27,"updated":"2012-12-05 00:26:05.000000000","message":"don\u0027t we need to migrate the data before dropping?","commit_id":"0932f83854bee84de94f4a15abf1b555a04d6eef"}],"nova/db/sqlalchemy/models.py":[{"author":{"_account_id":5652,"name":"David Ripton","email":"dripton@redhat.com","username":"dripton"},"change_message_id":"20ce38a293b0fad8dc18cc015e97142de7c10b6d","unresolved":false,"context_lines":[{"line_number":905,"context_line":""},{"line_number":906,"context_line":"    @property"},{"line_number":907,"context_line":"    def availability_zone(self):"},{"line_number":908,"context_line":"        if \u0027availability_zone\u0027 not in self.metadetails.keys():"},{"line_number":909,"context_line":"            return None"},{"line_number":910,"context_line":"        return self.metadetails[\u0027availability_zone\u0027]"},{"line_number":911,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAM3%2F%2FzZc%3D","line":908,"updated":"2013-01-04 16:11:20.000000000","message":"No need to call keys() here, which creates an extra list and actually makes the test slower.  Just check if it\u0027s in self.metadetails","commit_id":"2f02b8a18a1585e7893cbd2e287383d592ad575a"},{"author":{"_account_id":1849,"name":"Joe Gordon","email":"joe.gordon0@gmail.com","username":"jogo"},"change_message_id":"1e320e106f797f58204287f53a07e91dfd4198ba","unresolved":false,"context_lines":[{"line_number":905,"context_line":""},{"line_number":906,"context_line":"    @property"},{"line_number":907,"context_line":"    def availability_zone(self):"},{"line_number":908,"context_line":"        if \u0027availability_zone\u0027 not in self.metadetails.keys():"},{"line_number":909,"context_line":"            return None"},{"line_number":910,"context_line":"        return self.metadetails[\u0027availability_zone\u0027]"},{"line_number":911,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAM3%2F%2Fyok%3D","line":908,"in_reply_to":"AAAAM3%2F%2FzZc%3D","updated":"2013-01-05 01:33:12.000000000","message":"Done","commit_id":"2f02b8a18a1585e7893cbd2e287383d592ad575a"}],"nova/scheduler/filters/availability_zone_filter.py":[{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"9595f5f8a2c1b02dc5781d12877e732594b14799","unresolved":false,"context_lines":[{"line_number":37,"context_line":"            context \u003d filter_properties[\u0027context\u0027].elevated()"},{"line_number":38,"context_line":"            metadata \u003d db.aggregate_metadata_get_by_host("},{"line_number":39,"context_line":"                         context, host_state.host, key\u003d\u0027availability_zone\u0027)"},{"line_number":40,"context_line":"            if \u0027availability_zone\u0027 in metadata:"},{"line_number":41,"context_line":"                return availability_zone in metadata[\u0027availability_zone\u0027]"},{"line_number":42,"context_line":"            return False"},{"line_number":43,"context_line":"        return True"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAM3%2F%2Fzxk%3D","line":40,"updated":"2013-01-04 11:30:50.000000000","message":"Because of the key\u003d\u0027availability_zone\u0027 filter, wouldn\u0027t this work:\n\n  if not metadata:\n      return False\n\n  return availability_zone in metadata[\u0027availability_zone\u0027]\n\nShrug, I guess it\u0027s no better","commit_id":"2f02b8a18a1585e7893cbd2e287383d592ad575a"},{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"9595f5f8a2c1b02dc5781d12877e732594b14799","unresolved":false,"context_lines":[{"line_number":38,"context_line":"            metadata \u003d db.aggregate_metadata_get_by_host("},{"line_number":39,"context_line":"                         context, host_state.host, key\u003d\u0027availability_zone\u0027)"},{"line_number":40,"context_line":"            if \u0027availability_zone\u0027 in metadata:"},{"line_number":41,"context_line":"                return availability_zone in metadata[\u0027availability_zone\u0027]"},{"line_number":42,"context_line":"            return False"},{"line_number":43,"context_line":"        return True"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAM3%2F%2Fzxs%3D","line":41,"updated":"2013-01-04 11:30:50.000000000","message":"Ouch, that\u0027s fairly confusing - I wondered why \u0027in\u0027 not \u0027\u003d\u003d\u0027\n\ni.e. it looks like metadata[\u0027availability_zone\u0027] is a single az, not a set\n\nHmm, don\u0027t have a nice suggestion","commit_id":"2f02b8a18a1585e7893cbd2e287383d592ad575a"}],"nova/tests/api/openstack/compute/contrib/test_aggregates.py":[{"author":{"_account_id":5174,"name":"Mauro Sergio Martins Rodrigues","email":"maurosr@linux.vnet.ibm.com","username":"maurosr"},"change_message_id":"d8f1ebea2803b60aa0cf079da5b13e17639d9988","unresolved":false,"context_lines":[{"line_number":116,"context_line":""},{"line_number":117,"context_line":"    def test_create_with_no_availability_zone(self):"},{"line_number":118,"context_line":"        self.assertRaises(exc.HTTPBadRequest, self.controller.create,"},{"line_number":119,"context_line":"                           self.req, {\"aggregate\":"},{"line_number":120,"context_line":"                                      {\"name\": \"test\","},{"line_number":121,"context_line":"                                       \"foo\": \"nova1\"}})"},{"line_number":122,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAM3%2F%2FzlI%3D","line":119,"updated":"2013-01-04 15:24:11.000000000","message":"the alignment was right, wasn\u0027t it?","commit_id":"2f02b8a18a1585e7893cbd2e287383d592ad575a"},{"author":{"_account_id":1849,"name":"Joe Gordon","email":"joe.gordon0@gmail.com","username":"jogo"},"change_message_id":"1e320e106f797f58204287f53a07e91dfd4198ba","unresolved":false,"context_lines":[{"line_number":116,"context_line":""},{"line_number":117,"context_line":"    def test_create_with_no_availability_zone(self):"},{"line_number":118,"context_line":"        self.assertRaises(exc.HTTPBadRequest, self.controller.create,"},{"line_number":119,"context_line":"                           self.req, {\"aggregate\":"},{"line_number":120,"context_line":"                                      {\"name\": \"test\","},{"line_number":121,"context_line":"                                       \"foo\": \"nova1\"}})"},{"line_number":122,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAM3%2F%2Fyn8%3D","line":119,"in_reply_to":"AAAAM3%2F%2FzlI%3D","updated":"2013-01-05 01:33:12.000000000","message":"Done","commit_id":"2f02b8a18a1585e7893cbd2e287383d592ad575a"}],"nova/tests/compute/test_compute.py":[{"author":{"_account_id":5174,"name":"Mauro Sergio Martins Rodrigues","email":"maurosr@linux.vnet.ibm.com","username":"maurosr"},"change_message_id":"d8f1ebea2803b60aa0cf079da5b13e17639d9988","unresolved":false,"context_lines":[{"line_number":5272,"context_line":"        self.assertThat(expected[\u0027metadata\u0027],"},{"line_number":5273,"context_line":"                matchers.DictMatches({\u0027availability_zone\u0027: \u0027fake_zone\u0027,"},{"line_number":5274,"context_line":"                    \u0027foo_key2\u0027: \u0027foo_value2\u0027}))"},{"line_number":5275,"context_line":""},{"line_number":5276,"context_line":"    def test_delete_aggregate(self):"},{"line_number":5277,"context_line":"        \"\"\"Ensure we can delete an aggregate.\"\"\""},{"line_number":5278,"context_line":"        aggr \u003d self.api.create_aggregate(self.context, \u0027fake_aggregate\u0027,"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAM3%2F%2FzkM%3D","line":5275,"updated":"2013-01-04 15:24:11.000000000","message":"alignment could be fixed (aligned with the parenthesis I mean)","commit_id":"2f02b8a18a1585e7893cbd2e287383d592ad575a"},{"author":{"_account_id":1849,"name":"Joe Gordon","email":"joe.gordon0@gmail.com","username":"jogo"},"change_message_id":"1e320e106f797f58204287f53a07e91dfd4198ba","unresolved":false,"context_lines":[{"line_number":5272,"context_line":"        self.assertThat(expected[\u0027metadata\u0027],"},{"line_number":5273,"context_line":"                matchers.DictMatches({\u0027availability_zone\u0027: \u0027fake_zone\u0027,"},{"line_number":5274,"context_line":"                    \u0027foo_key2\u0027: \u0027foo_value2\u0027}))"},{"line_number":5275,"context_line":""},{"line_number":5276,"context_line":"    def test_delete_aggregate(self):"},{"line_number":5277,"context_line":"        \"\"\"Ensure we can delete an aggregate.\"\"\""},{"line_number":5278,"context_line":"        aggr \u003d self.api.create_aggregate(self.context, \u0027fake_aggregate\u0027,"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAM3%2F%2FynU%3D","line":5275,"in_reply_to":"AAAAM3%2F%2FzkM%3D","updated":"2013-01-05 01:33:12.000000000","message":"Done","commit_id":"2f02b8a18a1585e7893cbd2e287383d592ad575a"}]}
