)]}'
{"cinder/quota.py":[{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"d1acacd793ed76649468b9157ac801903655e074","unresolved":false,"context_lines":[{"line_number":36,"context_line":"               default\u003d10,"},{"line_number":37,"context_line":"               help\u003d\u0027number of volumes allowed per project\u0027),"},{"line_number":38,"context_line":"    cfg.IntOpt(\u0027quota_snapshots\u0027,"},{"line_number":39,"context_line":"               default\u003d10,"},{"line_number":40,"context_line":"               help\u003d\u0027number of volume snapshots allowed per project\u0027),"},{"line_number":41,"context_line":"    cfg.IntOpt(\u0027quota_gigabytes\u0027,"},{"line_number":42,"context_line":"               default\u003d1000,"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAOX%2F%2F7tE%3D","line":39,"updated":"2013-04-05 13:01:45.000000000","message":"Sorry, this is the default I was referring to","commit_id":"286c0e1d80725a08e1616dd734a44d1a829cdb83"},{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"6450f47e309d4e5db164cc923117f5dcf76bbddc","unresolved":false,"context_lines":[{"line_number":36,"context_line":"               default\u003d10,"},{"line_number":37,"context_line":"               help\u003d\u0027number of volumes allowed per project\u0027),"},{"line_number":38,"context_line":"    cfg.IntOpt(\u0027quota_snapshots\u0027,"},{"line_number":39,"context_line":"               default\u003d10,"},{"line_number":40,"context_line":"               help\u003d\u0027number of volume snapshots allowed per project\u0027),"},{"line_number":41,"context_line":"    cfg.IntOpt(\u0027quota_gigabytes\u0027,"},{"line_number":42,"context_line":"               default\u003d1000,"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAOX%2F%2F7K0%3D","line":39,"in_reply_to":"AAAAOX%2F%2F7tE%3D","updated":"2013-04-05 19:39:27.000000000","message":"Excellent catch!!  Thanks!\nDone","commit_id":"286c0e1d80725a08e1616dd734a44d1a829cdb83"}],"cinder/volume/api.py":[{"author":{"_account_id":5538,"name":"Rushi Agrawal","email":"rushi.openstack@gmail.com","username":"rushiagr"},"change_message_id":"76e2b2fed26fd35cf2a5f4de82fadcf93bb77017","unresolved":false,"context_lines":[{"line_number":162,"context_line":"            \u0027display_name\u0027: name,"},{"line_number":163,"context_line":"            \u0027display_description\u0027: description,"},{"line_number":164,"context_line":"            \u0027volume_type_id\u0027: volume_type_id,"},{"line_number":165,"context_line":"            \u0027metadata\u0027: metadata, }"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"        volume \u003d self.db.volume_create(context, options)"},{"line_number":168,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAOH%2F%2F9js%3D","line":165,"updated":"2013-03-19 09:32:09.000000000","message":"I think the reason we keep a trailing comma is to have better commit diffs, and keeping the closing brace on the same line doesnt help it. https://github.com/openstack/cinder/blob/master/HACKING.rst#dictionarieslists\nJust mentioning. Not at all serious about it :)","commit_id":"0b5022792ed1d37b41b6c6565b49df407d4022f1"},{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"c6dffc0906f5dd8b4e579761f10e78fb0803b1f6","unresolved":false,"context_lines":[{"line_number":162,"context_line":"            \u0027display_name\u0027: name,"},{"line_number":163,"context_line":"            \u0027display_description\u0027: description,"},{"line_number":164,"context_line":"            \u0027volume_type_id\u0027: volume_type_id,"},{"line_number":165,"context_line":"            \u0027metadata\u0027: metadata, }"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"        volume \u003d self.db.volume_create(context, options)"},{"line_number":168,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAOH%2F%2F8vY%3D","line":165,"in_reply_to":"AAAAOH%2F%2F9js%3D","updated":"2013-03-19 20:06:32.000000000","message":"Done","commit_id":"0b5022792ed1d37b41b6c6565b49df407d4022f1"},{"author":{"_account_id":2861,"name":"Vincent Hou","email":"shou@us.ibm.com","username":"houshengbo"},"change_message_id":"ec4ced71729102b2da9993b57ad93a35f1888e78","unresolved":false,"context_lines":[{"line_number":431,"context_line":"                consumed \u003d _consumed(\u0027gigabytes\u0027)"},{"line_number":432,"context_line":"                quota \u003d quotas[\u0027gigabytes\u0027]"},{"line_number":433,"context_line":"                LOG.warn(_(\"Quota exceeded for %(pid)s, tried to create \""},{"line_number":434,"context_line":"                           \"%(size)sG volume (%(consumed)dG of %(quota)dG \""},{"line_number":435,"context_line":"                           \"already consumed)\") % locals())"},{"line_number":436,"context_line":"                raise exception.VolumeSizeExceedsAvailableQuota()"},{"line_number":437,"context_line":"            elif \u0027snapshots\u0027 in overs:"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAOH%2F%2F934%3D","line":434,"updated":"2013-03-19 03:23:55.000000000","message":"John, where is the variable \"size\" from locally? I have found pid, consumed and quota.","commit_id":"0b5022792ed1d37b41b6c6565b49df407d4022f1"},{"author":{"_account_id":5538,"name":"Rushi Agrawal","email":"rushi.openstack@gmail.com","username":"rushiagr"},"change_message_id":"76e2b2fed26fd35cf2a5f4de82fadcf93bb77017","unresolved":false,"context_lines":[{"line_number":431,"context_line":"                consumed \u003d _consumed(\u0027gigabytes\u0027)"},{"line_number":432,"context_line":"                quota \u003d quotas[\u0027gigabytes\u0027]"},{"line_number":433,"context_line":"                LOG.warn(_(\"Quota exceeded for %(pid)s, tried to create \""},{"line_number":434,"context_line":"                           \"%(size)sG volume (%(consumed)dG of %(quota)dG \""},{"line_number":435,"context_line":"                           \"already consumed)\") % locals())"},{"line_number":436,"context_line":"                raise exception.VolumeSizeExceedsAvailableQuota()"},{"line_number":437,"context_line":"            elif \u0027snapshots\u0027 in overs:"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAOH%2F%2F9jo%3D","line":434,"in_reply_to":"AAAAOH%2F%2F934%3D","updated":"2013-03-19 09:32:09.000000000","message":"+1","commit_id":"0b5022792ed1d37b41b6c6565b49df407d4022f1"},{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"c6dffc0906f5dd8b4e579761f10e78fb0803b1f6","unresolved":false,"context_lines":[{"line_number":431,"context_line":"                consumed \u003d _consumed(\u0027gigabytes\u0027)"},{"line_number":432,"context_line":"                quota \u003d quotas[\u0027gigabytes\u0027]"},{"line_number":433,"context_line":"                LOG.warn(_(\"Quota exceeded for %(pid)s, tried to create \""},{"line_number":434,"context_line":"                           \"%(size)sG volume (%(consumed)dG of %(quota)dG \""},{"line_number":435,"context_line":"                           \"already consumed)\") % locals())"},{"line_number":436,"context_line":"                raise exception.VolumeSizeExceedsAvailableQuota()"},{"line_number":437,"context_line":"            elif \u0027snapshots\u0027 in overs:"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAOH%2F%2F8vU%3D","line":434,"in_reply_to":"AAAAOH%2F%2F934%3D","updated":"2013-03-19 20:06:32.000000000","message":"Done","commit_id":"0b5022792ed1d37b41b6c6565b49df407d4022f1"}],"etc/cinder/cinder.conf.sample":[{"author":{"_account_id":5538,"name":"Rushi Agrawal","email":"rushi.openstack@gmail.com","username":"rushiagr"},"change_message_id":"76e2b2fed26fd35cf2a5f4de82fadcf93bb77017","unresolved":false,"context_lines":[{"line_number":205,"context_line":"#### (StrOpt) default driver to use for quota checks"},{"line_number":206,"context_line":""},{"line_number":207,"context_line":""},{"line_number":208,"context_line":"######## defined in cinder.service ########"},{"line_number":209,"context_line":""},{"line_number":210,"context_line":"# report_interval\u003d10"},{"line_number":211,"context_line":"#### (IntOpt) seconds between nodes reporting state to datastore"}],"source_content_type":"application/octet-stream","patch_set":2,"id":"AAAAOH%2F%2F9j0%3D","side":"PARENT","line":208,"updated":"2013-03-19 09:32:09.000000000","message":"Accidentally deleted this line?","commit_id":"ebcd4b7c7f98ea3431890b0b38098e8034fa06f8"},{"author":{"_account_id":5538,"name":"Rushi Agrawal","email":"rushi.openstack@gmail.com","username":"rushiagr"},"change_message_id":"d9f46949e5ac2ed0e930c90add367205c79be3a8","unresolved":false,"context_lines":[{"line_number":205,"context_line":"#### (StrOpt) default driver to use for quota checks"},{"line_number":206,"context_line":""},{"line_number":207,"context_line":""},{"line_number":208,"context_line":"######## defined in cinder.service ########"},{"line_number":209,"context_line":""},{"line_number":210,"context_line":"# report_interval\u003d10"},{"line_number":211,"context_line":"#### (IntOpt) seconds between nodes reporting state to datastore"}],"source_content_type":"application/octet-stream","patch_set":5,"id":"AAAAOX%2F%2F6AU%3D","side":"PARENT","line":208,"updated":"2013-04-08 07:41:08.000000000","message":"Accidentally removed this line?","commit_id":"e3146aa27b1ef7baddfc1eedb0d15e2fd726fdf6"}]}
