)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"872811cb9effebd23690bd75dc9f0db0c374c927","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When an overquota is raised, VolumeSizeExceedsAvailableQuota returns"},{"line_number":10,"context_line":"gigabytes quota instead of the related property quota. This change"},{"line_number":11,"context_line":"correct values in order to match with related property quota."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I82fb676007a820a1890fde488ffe25320e035ff5"},{"line_number":14,"context_line":"Closes-Bug: #1463798"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"ba3cc151_47178ea3","line":11,"updated":"2015-06-29 13:57:08.000000000","message":"/correct/corrects/","commit_id":"76e0532db2405c59e19700241b965998f8918f8f"}],"cinder/exception.py":[{"author":{"_account_id":8247,"name":"Thang Pham","email":"thang.g.pham@gmail.com","username":"thang.pham"},"change_message_id":"f9f22aedaa64efb44f297e85306a46e0ec256f11","unresolved":false,"context_lines":[{"line_number":451,"context_line":"                \"%(consumed)sG has been consumed.\")"},{"line_number":452,"context_line":""},{"line_number":453,"context_line":""},{"line_number":454,"context_line":"class VolumeSizeExceedsAvailableQuota(QuotaError):"},{"line_number":455,"context_line":"    message \u003d _(\"Requested volume or snapshot exceeds allowed gigabytes \""},{"line_number":456,"context_line":"                \"quota. Requested %(requested)sG, quota is %(quota)sG and \""},{"line_number":457,"context_line":"                \"%(consumed)sG has been consumed.\")"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_74d4e6ea","line":454,"updated":"2015-06-18 20:55:03.000000000","message":"Can you just update this exception message vs. adding a brand new exception?  The new one you proposed is essentially the same as this one.","commit_id":"e1e96aa39c4e82dfbf7ab14d101d3f2726eb2cb3"},{"author":{"_account_id":11673,"name":"Forest Romain","email":"romain.forest@thalesgroup.com","username":"romfor"},"change_message_id":"521c2c2213bda93bf284a376631835673729bed5","unresolved":false,"context_lines":[{"line_number":451,"context_line":"                \"%(consumed)sG has been consumed.\")"},{"line_number":452,"context_line":""},{"line_number":453,"context_line":""},{"line_number":454,"context_line":"class VolumeSizeExceedsAvailableQuota(QuotaError):"},{"line_number":455,"context_line":"    message \u003d _(\"Requested volume or snapshot exceeds allowed gigabytes \""},{"line_number":456,"context_line":"                \"quota. Requested %(requested)sG, quota is %(quota)sG and \""},{"line_number":457,"context_line":"                \"%(consumed)sG has been consumed.\")"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_85228400","line":454,"updated":"2015-06-19 08:26:41.000000000","message":"I though about this solution but the VolumeSizeExceedsAvailableQuota exception is not only used for the create_volume flow. I can\u0027t update it without being out of context.","commit_id":"e1e96aa39c4e82dfbf7ab14d101d3f2726eb2cb3"},{"author":{"_account_id":11673,"name":"Forest Romain","email":"romain.forest@thalesgroup.com","username":"romfor"},"change_message_id":"53c312b646f5b2a565a1b9e22c45605ad6337850","unresolved":false,"context_lines":[{"line_number":451,"context_line":"                \"%(consumed)sG has been consumed.\")"},{"line_number":452,"context_line":""},{"line_number":453,"context_line":""},{"line_number":454,"context_line":"class VolumeSizeExceedsAvailableQuota(QuotaError):"},{"line_number":455,"context_line":"    message \u003d _(\"Requested volume or snapshot exceeds allowed gigabytes \""},{"line_number":456,"context_line":"                \"quota. Requested %(requested)sG, quota is %(quota)sG and \""},{"line_number":457,"context_line":"                \"%(consumed)sG has been consumed.\")"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_9a9348fa","line":454,"in_reply_to":"fa32b979_14850406","updated":"2015-06-23 11:41:29.000000000","message":"Done","commit_id":"e1e96aa39c4e82dfbf7ab14d101d3f2726eb2cb3"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"fb7d368604b8e9663aa4c565205b2c1a92b78047","unresolved":false,"context_lines":[{"line_number":451,"context_line":"                \"%(consumed)sG has been consumed.\")"},{"line_number":452,"context_line":""},{"line_number":453,"context_line":""},{"line_number":454,"context_line":"class VolumeSizeExceedsAvailableQuota(QuotaError):"},{"line_number":455,"context_line":"    message \u003d _(\"Requested volume or snapshot exceeds allowed gigabytes \""},{"line_number":456,"context_line":"                \"quota. Requested %(requested)sG, quota is %(quota)sG and \""},{"line_number":457,"context_line":"                \"%(consumed)sG has been consumed.\")"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_94e2742e","line":454,"in_reply_to":"fa32b979_171f755c","updated":"2015-06-22 12:07:40.000000000","message":"I\u0027m not ok with this. We must use this same class.\n\nYou just need to override the __init__ method and take an optional argument called  name that takes default value \u0027gigabytes\u0027 and store it in the instance.","commit_id":"e1e96aa39c4e82dfbf7ab14d101d3f2726eb2cb3"},{"author":{"_account_id":8247,"name":"Thang Pham","email":"thang.g.pham@gmail.com","username":"thang.pham"},"change_message_id":"60e0e2444a546b15353b6d6dcd6dbbaf7c4fee96","unresolved":false,"context_lines":[{"line_number":451,"context_line":"                \"%(consumed)sG has been consumed.\")"},{"line_number":452,"context_line":""},{"line_number":453,"context_line":""},{"line_number":454,"context_line":"class VolumeSizeExceedsAvailableQuota(QuotaError):"},{"line_number":455,"context_line":"    message \u003d _(\"Requested volume or snapshot exceeds allowed gigabytes \""},{"line_number":456,"context_line":"                \"quota. Requested %(requested)sG, quota is %(quota)sG and \""},{"line_number":457,"context_line":"                \"%(consumed)sG has been consumed.\")"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_171f755c","line":454,"in_reply_to":"fa32b979_85228400","updated":"2015-06-19 16:38:25.000000000","message":"Ok","commit_id":"e1e96aa39c4e82dfbf7ab14d101d3f2726eb2cb3"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"488e397202b046cacb99d70cdcc073d7f99b994b","unresolved":false,"context_lines":[{"line_number":451,"context_line":"                \"%(consumed)sG has been consumed.\")"},{"line_number":452,"context_line":""},{"line_number":453,"context_line":""},{"line_number":454,"context_line":"class VolumeSizeExceedsAvailableQuota(QuotaError):"},{"line_number":455,"context_line":"    message \u003d _(\"Requested volume or snapshot exceeds allowed gigabytes \""},{"line_number":456,"context_line":"                \"quota. Requested %(requested)sG, quota is %(quota)sG and \""},{"line_number":457,"context_line":"                \"%(consumed)sG has been consumed.\")"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_14850406","line":454,"in_reply_to":"fa32b979_94e2742e","updated":"2015-06-22 12:11:21.000000000","message":"I agree with Thang \u0026 Gorka.","commit_id":"e1e96aa39c4e82dfbf7ab14d101d3f2726eb2cb3"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"a05c34174fa3c00e0a32998d086e96c7dfd0ddca","unresolved":false,"context_lines":[{"line_number":450,"context_line":"                \"quota. Requested %(requested)sG, quota is %(quota)sG and \""},{"line_number":451,"context_line":"                \"%(consumed)sG has been consumed.\")"},{"line_number":452,"context_line":""},{"line_number":453,"context_line":"    def __init__(self, requested, quota, consumed, name\u003d\u0027gigabytes\u0027):"},{"line_number":454,"context_line":"        super(VolumeSizeExceedsAvailableQuota, self).__init__("},{"line_number":455,"context_line":"            requested\u003drequested, quota\u003dquota, consumed\u003dconsumed, name\u003dname)"},{"line_number":456,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"fa32b979_1512a962","line":453,"updated":"2015-06-23 12:46:42.000000000","message":"You should still accept *args and **kwargs and pass them along.\n\nYou probably should do this like:\n\n def __init__(self, name\u003d\u0027gigabytes\u0027, *args, **kwargs):\n\nAnd then call super\u0027s __init__ with (name\u003dname, *args, **kwargs)\n\nThen you\u0027ll have to change your tests since you are passing requested, quota and consumed as positional args.\n\nWith this you\u0027ll probably solve the problem you have in gate python27.","commit_id":"dcc63e67a7ff899ff05af860ba4551aee5162e49"},{"author":{"_account_id":11673,"name":"Forest Romain","email":"romain.forest@thalesgroup.com","username":"romfor"},"change_message_id":"255a65052556d4ea8d2fcb40b6539072f0bc6ce4","unresolved":false,"context_lines":[{"line_number":450,"context_line":"                \"quota. Requested %(requested)sG, quota is %(quota)sG and \""},{"line_number":451,"context_line":"                \"%(consumed)sG has been consumed.\")"},{"line_number":452,"context_line":""},{"line_number":453,"context_line":"    def __init__(self, requested, quota, consumed, name\u003d\u0027gigabytes\u0027):"},{"line_number":454,"context_line":"        super(VolumeSizeExceedsAvailableQuota, self).__init__("},{"line_number":455,"context_line":"            requested\u003drequested, quota\u003dquota, consumed\u003dconsumed, name\u003dname)"},{"line_number":456,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"fa32b979_746f062b","line":453,"in_reply_to":"fa32b979_1512a962","updated":"2015-06-25 13:13:47.000000000","message":"Done","commit_id":"dcc63e67a7ff899ff05af860ba4551aee5162e49"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"ba274f1d6abb51e41a3c132afa2ae0ecb6b4d4ef","unresolved":false,"context_lines":[{"line_number":450,"context_line":"                \"quota. Requested %(requested)sG, quota is %(quota)sG and \""},{"line_number":451,"context_line":"                \"%(consumed)sG has been consumed.\")"},{"line_number":452,"context_line":""},{"line_number":453,"context_line":"    def __init__(self, requested\u003dNone, quota\u003dNone, "},{"line_number":454,"context_line":"                 consumed\u003dNone, name\u003d\u0027gigabytes\u0027):"},{"line_number":455,"context_line":"        super(VolumeSizeExceedsAvailableQuota, self).__init__("},{"line_number":456,"context_line":"            requested\u003drequested, quota\u003dquota, consumed\u003dconsumed, name\u003dname)"}],"source_content_type":"text/x-python","patch_set":5,"id":"fa32b979_f79c78c1","line":453,"updated":"2015-06-25 13:27:00.000000000","message":"Unnecessary whitespace at the end.","commit_id":"fe417f1ef4440115544c84c7702e980fbb77253d"},{"author":{"_account_id":11673,"name":"Forest Romain","email":"romain.forest@thalesgroup.com","username":"romfor"},"change_message_id":"f0e2e124e7d06da805e830700bef3f3407888940","unresolved":false,"context_lines":[{"line_number":450,"context_line":"                \"quota. Requested %(requested)sG, quota is %(quota)sG and \""},{"line_number":451,"context_line":"                \"%(consumed)sG has been consumed.\")"},{"line_number":452,"context_line":""},{"line_number":453,"context_line":"    def __init__(self, requested\u003dNone, quota\u003dNone, "},{"line_number":454,"context_line":"                 consumed\u003dNone, name\u003d\u0027gigabytes\u0027):"},{"line_number":455,"context_line":"        super(VolumeSizeExceedsAvailableQuota, self).__init__("},{"line_number":456,"context_line":"            requested\u003drequested, quota\u003dquota, consumed\u003dconsumed, name\u003dname)"}],"source_content_type":"text/x-python","patch_set":5,"id":"fa32b979_777e281a","line":453,"in_reply_to":"fa32b979_f79c78c1","updated":"2015-06-25 13:29:11.000000000","message":"Done","commit_id":"fe417f1ef4440115544c84c7702e980fbb77253d"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"15bd8391ccc9ec48f332ad064536eee8d3e0e015","unresolved":false,"context_lines":[{"line_number":451,"context_line":"                \"%(consumed)sG has been consumed.\")"},{"line_number":452,"context_line":""},{"line_number":453,"context_line":"    def __init__(self, requested\u003dNone, quota\u003dNone,"},{"line_number":454,"context_line":"                 consumed\u003dNone, name\u003d\u0027gigabytes\u0027):"},{"line_number":455,"context_line":"        super(VolumeSizeExceedsAvailableQuota, self).__init__("},{"line_number":456,"context_line":"            requested\u003drequested, quota\u003dquota, consumed\u003dconsumed, name\u003dname)"},{"line_number":457,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"fa32b979_c9f3d307","line":454,"updated":"2015-06-25 15:14:39.000000000","message":"You said \"Done\" in patch 4 to Gorka\u0027s suggestion that you accept *args and **kwargs and pas them along, but you seem to have taken a different tack.  Please explain why (or why I\u0027ve misunderstood, if that\u0027s the case).\n\nThanks.","commit_id":"e2c78a013336f299700e61f19f94df14c7716da1"},{"author":{"_account_id":11673,"name":"Forest Romain","email":"romain.forest@thalesgroup.com","username":"romfor"},"change_message_id":"c5c99fad4578397bcfdce832d43fea2037e854c7","unresolved":false,"context_lines":[{"line_number":451,"context_line":"                \"%(consumed)sG has been consumed.\")"},{"line_number":452,"context_line":""},{"line_number":453,"context_line":"    def __init__(self, requested\u003dNone, quota\u003dNone,"},{"line_number":454,"context_line":"                 consumed\u003dNone, name\u003d\u0027gigabytes\u0027):"},{"line_number":455,"context_line":"        super(VolumeSizeExceedsAvailableQuota, self).__init__("},{"line_number":456,"context_line":"            requested\u003drequested, quota\u003dquota, consumed\u003dconsumed, name\u003dname)"},{"line_number":457,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"fa32b979_b0fecfac","line":454,"in_reply_to":"fa32b979_0f18d81c","updated":"2015-06-26 09:34:35.000000000","message":"Done","commit_id":"e2c78a013336f299700e61f19f94df14c7716da1"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"82eb46740fd67c1eb8eca8cdf6463211f09901b9","unresolved":false,"context_lines":[{"line_number":451,"context_line":"                \"%(consumed)sG has been consumed.\")"},{"line_number":452,"context_line":""},{"line_number":453,"context_line":"    def __init__(self, requested\u003dNone, quota\u003dNone,"},{"line_number":454,"context_line":"                 consumed\u003dNone, name\u003d\u0027gigabytes\u0027):"},{"line_number":455,"context_line":"        super(VolumeSizeExceedsAvailableQuota, self).__init__("},{"line_number":456,"context_line":"            requested\u003drequested, quota\u003dquota, consumed\u003dconsumed, name\u003dname)"},{"line_number":457,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"fa32b979_e58cb030","line":454,"in_reply_to":"fa32b979_3ec1544e","updated":"2015-06-25 19:07:03.000000000","message":"It\u0027s a good thing that you didn\u0027t accept my code as it was, because it\u0027s not how it should be. Anyway, it\u0027s not about easy, it\u0027s about keeping consistency with base class\u0027 init method.  If you look at CinderException\u0027s __init__ it is like this:\n\n def __init__(self, message\u003dNone, **kwargs):\n\nSo yours should be:\n\n  def __init__(self, message\u003dNone, name\u003d\u0027gigabytes\u0027, **kwargs):\n\nor \n  def __init__(self, message\u003dNone, requested\u003dNone, quota\u003dNone, consumed\u003dNone, name\u003d\u0027gigabytes\u0027, **kwargs):\n\nWhichever you prefer but in both cases you must pass kwargs along.\n\n@hemna, the reason why this is different from VolumeSizeExceedsLimit is because we need to set a default value for name, and I believe this solution is better than the one used for APIException.","commit_id":"e2c78a013336f299700e61f19f94df14c7716da1"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"d517b3debfc6676150d5c52a458fc393acaf8cb7","unresolved":false,"context_lines":[{"line_number":451,"context_line":"                \"%(consumed)sG has been consumed.\")"},{"line_number":452,"context_line":""},{"line_number":453,"context_line":"    def __init__(self, requested\u003dNone, quota\u003dNone,"},{"line_number":454,"context_line":"                 consumed\u003dNone, name\u003d\u0027gigabytes\u0027):"},{"line_number":455,"context_line":"        super(VolumeSizeExceedsAvailableQuota, self).__init__("},{"line_number":456,"context_line":"            requested\u003drequested, quota\u003dquota, consumed\u003dconsumed, name\u003dname)"},{"line_number":457,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"fa32b979_0f18d81c","line":454,"in_reply_to":"fa32b979_3ec1544e","updated":"2015-06-25 16:44:09.000000000","message":"This is very different than how other Exception classes handle this same issue.  Look at the VolueSizeExceedsLimit exception below.","commit_id":"e2c78a013336f299700e61f19f94df14c7716da1"},{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"0fffce8006e679e31f0f667c6da7446537e7e9dc","unresolved":false,"context_lines":[{"line_number":451,"context_line":"                \"%(consumed)sG has been consumed.\")"},{"line_number":452,"context_line":""},{"line_number":453,"context_line":"    def __init__(self, requested\u003dNone, quota\u003dNone,"},{"line_number":454,"context_line":"                 consumed\u003dNone, name\u003d\u0027gigabytes\u0027):"},{"line_number":455,"context_line":"        super(VolumeSizeExceedsAvailableQuota, self).__init__("},{"line_number":456,"context_line":"            requested\u003drequested, quota\u003dquota, consumed\u003dconsumed, name\u003dname)"},{"line_number":457,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"fa32b979_3ec1544e","line":454,"in_reply_to":"fa32b979_c9f3d307","updated":"2015-06-25 15:53:55.000000000","message":"Using *args, **kwargs is a mess as devs can mix positional and keyword arguments:\n\n  Volume...Quota(1, 2, 3, name\u003d\u0027myquota\u0027)\n  Volume...Quota(1, 2, 3, \u0027myquota\u0027)\n\n  # Require\n  def __init__(*args, **kwargs):\n     if len(args) \u003c 4:\n        kwargs.setdefault(\u0027name\u0027, \u0027gigabytes)\n     ...\n\nUsing **kwargs only is easier but this approach also check devs only provide valid keyword arguments\n\n  Volume...Quota(1, 2, 3, fail\u003d\u0027myquota\u0027)\n\ncrashs with current approach but not with **kwargs expected if you add an extra check O_o","commit_id":"e2c78a013336f299700e61f19f94df14c7716da1"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"d5ba09facead2c2410fbfd2b0794b27904166026","unresolved":false,"context_lines":[{"line_number":450,"context_line":"                \"quota. Requested %(requested)sG, quota is %(quota)sG and \""},{"line_number":451,"context_line":"                \"%(consumed)sG has been consumed.\")"},{"line_number":452,"context_line":""},{"line_number":453,"context_line":"    def __init__(self, message\u003dNone, **kwargs):"},{"line_number":454,"context_line":"        kwargs[\u0027name\u0027] \u003d \u0027gigabytes\u0027"},{"line_number":455,"context_line":"        super(VolumeSizeExceedsAvailableQuota, self).__init__("},{"line_number":456,"context_line":"            message, **kwargs)"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa32b979_707cc7eb","line":453,"updated":"2015-06-26 09:40:53.000000000","message":"This won\u0027t allow changes to name from gigabytes to anything else.","commit_id":"aecc9d7845ae94d978808782617192639875b336"},{"author":{"_account_id":11673,"name":"Forest Romain","email":"romain.forest@thalesgroup.com","username":"romfor"},"change_message_id":"c1eda6ad898a6570ae817e28c7df54370f92d475","unresolved":false,"context_lines":[{"line_number":450,"context_line":"                \"quota. Requested %(requested)sG, quota is %(quota)sG and \""},{"line_number":451,"context_line":"                \"%(consumed)sG has been consumed.\")"},{"line_number":452,"context_line":""},{"line_number":453,"context_line":"    def __init__(self, message\u003dNone, **kwargs):"},{"line_number":454,"context_line":"        kwargs[\u0027name\u0027] \u003d \u0027gigabytes\u0027"},{"line_number":455,"context_line":"        super(VolumeSizeExceedsAvailableQuota, self).__init__("},{"line_number":456,"context_line":"            message, **kwargs)"}],"source_content_type":"text/x-python","patch_set":7,"id":"ba3cc151_27ccd934","line":453,"in_reply_to":"fa32b979_707cc7eb","updated":"2015-06-29 06:47:20.000000000","message":"Done","commit_id":"aecc9d7845ae94d978808782617192639875b336"},{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"ee00f022a35a2d7b042538d3b38d72cb65fdc36a","unresolved":false,"context_lines":[{"line_number":451,"context_line":"                \"%(consumed)sG has been consumed.\")"},{"line_number":452,"context_line":""},{"line_number":453,"context_line":"    def __init__(self, message\u003dNone, **kwargs):"},{"line_number":454,"context_line":"        kwargs[\u0027name\u0027] \u003d kwargs.get(\u0027name\u0027, \u0027gigabytes\u0027)"},{"line_number":455,"context_line":"        super(VolumeSizeExceedsAvailableQuota, self).__init__("},{"line_number":456,"context_line":"            message, **kwargs)"},{"line_number":457,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"ba3cc151_dbfdc46f","line":454,"updated":"2015-06-29 08:51:59.000000000","message":"you can use:\n\n  kwargs.setdefault(\u0027name\u0027, \u0027gigabytes\u0027)","commit_id":"cf11c591bc2976dac0dce6cc416d4b6024897269"},{"author":{"_account_id":11673,"name":"Forest Romain","email":"romain.forest@thalesgroup.com","username":"romfor"},"change_message_id":"8c1e5225529dcf5bfc261d711fa24ee72ef4b4be","unresolved":false,"context_lines":[{"line_number":451,"context_line":"                \"%(consumed)sG has been consumed.\")"},{"line_number":452,"context_line":""},{"line_number":453,"context_line":"    def __init__(self, message\u003dNone, **kwargs):"},{"line_number":454,"context_line":"        kwargs[\u0027name\u0027] \u003d kwargs.get(\u0027name\u0027, \u0027gigabytes\u0027)"},{"line_number":455,"context_line":"        super(VolumeSizeExceedsAvailableQuota, self).__init__("},{"line_number":456,"context_line":"            message, **kwargs)"},{"line_number":457,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"ba3cc151_519f535f","line":454,"in_reply_to":"ba3cc151_dbfdc46f","updated":"2015-06-29 09:41:38.000000000","message":"Done","commit_id":"cf11c591bc2976dac0dce6cc416d4b6024897269"}],"cinder/tests/unit/test_quota.py":[{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"fb7d368604b8e9663aa4c565205b2c1a92b78047","unresolved":false,"context_lines":[{"line_number":184,"context_line":"        self.assertRaises(exception.VolumeSizeExceedsAvailableTypeQuota,"},{"line_number":185,"context_line":"                          volume.API().create,"},{"line_number":186,"context_line":"                          self.context, 1, \u0027\u0027, \u0027\u0027,"},{"line_number":187,"context_line":"                          volume_type\u003dself.volume_type)"},{"line_number":188,"context_line":"        for volume_id in volume_ids:"},{"line_number":189,"context_line":"            db.volume_destroy(self.context, volume_id)"},{"line_number":190,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_d446bc20","line":187,"updated":"2015-06-22 12:07:40.000000000","message":"You should check that the contents of the exception are expected ones.","commit_id":"e1e96aa39c4e82dfbf7ab14d101d3f2726eb2cb3"},{"author":{"_account_id":11673,"name":"Forest Romain","email":"romain.forest@thalesgroup.com","username":"romfor"},"change_message_id":"53c312b646f5b2a565a1b9e22c45605ad6337850","unresolved":false,"context_lines":[{"line_number":184,"context_line":"        self.assertRaises(exception.VolumeSizeExceedsAvailableTypeQuota,"},{"line_number":185,"context_line":"                          volume.API().create,"},{"line_number":186,"context_line":"                          self.context, 1, \u0027\u0027, \u0027\u0027,"},{"line_number":187,"context_line":"                          volume_type\u003dself.volume_type)"},{"line_number":188,"context_line":"        for volume_id in volume_ids:"},{"line_number":189,"context_line":"            db.volume_destroy(self.context, volume_id)"},{"line_number":190,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_3aeb1c7a","line":187,"in_reply_to":"fa32b979_d446bc20","updated":"2015-06-23 11:41:29.000000000","message":"Done","commit_id":"e1e96aa39c4e82dfbf7ab14d101d3f2726eb2cb3"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"fb7d368604b8e9663aa4c565205b2c1a92b78047","unresolved":false,"context_lines":[{"line_number":283,"context_line":"        self.assertRaises(exception.VolumeSizeExceedsAvailableTypeQuota,"},{"line_number":284,"context_line":"                          volume.API().create,"},{"line_number":285,"context_line":"                          self.context, 1, \u0027\u0027, \u0027\u0027,"},{"line_number":286,"context_line":"                          volume_type\u003dself.volume_type)"},{"line_number":287,"context_line":"        db.volume_destroy(self.context, vol_ref[\u0027id\u0027])"},{"line_number":288,"context_line":""},{"line_number":289,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_945034d6","line":286,"updated":"2015-06-22 12:07:40.000000000","message":"Same here.","commit_id":"e1e96aa39c4e82dfbf7ab14d101d3f2726eb2cb3"},{"author":{"_account_id":11673,"name":"Forest Romain","email":"romain.forest@thalesgroup.com","username":"romfor"},"change_message_id":"53c312b646f5b2a565a1b9e22c45605ad6337850","unresolved":false,"context_lines":[{"line_number":283,"context_line":"        self.assertRaises(exception.VolumeSizeExceedsAvailableTypeQuota,"},{"line_number":284,"context_line":"                          volume.API().create,"},{"line_number":285,"context_line":"                          self.context, 1, \u0027\u0027, \u0027\u0027,"},{"line_number":286,"context_line":"                          volume_type\u003dself.volume_type)"},{"line_number":287,"context_line":"        db.volume_destroy(self.context, vol_ref[\u0027id\u0027])"},{"line_number":288,"context_line":""},{"line_number":289,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_da02303e","line":286,"in_reply_to":"fa32b979_945034d6","updated":"2015-06-23 11:41:29.000000000","message":"Done","commit_id":"e1e96aa39c4e82dfbf7ab14d101d3f2726eb2cb3"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"a05c34174fa3c00e0a32998d086e96c7dfd0ddca","unresolved":false,"context_lines":[{"line_number":181,"context_line":"        volume_ids \u003d []"},{"line_number":182,"context_line":"        vol_ref \u003d self._create_volume(size\u003d20)"},{"line_number":183,"context_line":"        volume_ids.append(vol_ref[\u0027id\u0027])"},{"line_number":184,"context_line":"        try:"},{"line_number":185,"context_line":"            volume.API().create(self.context, 1, \u0027\u0027, \u0027\u0027,"},{"line_number":186,"context_line":"                                volume_type\u003dself.volume_type)"},{"line_number":187,"context_line":"        except exception.VolumeSizeExceedsAvailableQuota as observed:"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa32b979_f09e3353","line":184,"updated":"2015-06-23 12:46:42.000000000","message":"You didn\u0027t need to change the assert, you could have done:\n\n raised_exc \u003d self.assertRaises(...)\n\nAnd then check against raised_exc","commit_id":"dcc63e67a7ff899ff05af860ba4551aee5162e49"},{"author":{"_account_id":11673,"name":"Forest Romain","email":"romain.forest@thalesgroup.com","username":"romfor"},"change_message_id":"255a65052556d4ea8d2fcb40b6539072f0bc6ce4","unresolved":false,"context_lines":[{"line_number":181,"context_line":"        volume_ids \u003d []"},{"line_number":182,"context_line":"        vol_ref \u003d self._create_volume(size\u003d20)"},{"line_number":183,"context_line":"        volume_ids.append(vol_ref[\u0027id\u0027])"},{"line_number":184,"context_line":"        try:"},{"line_number":185,"context_line":"            volume.API().create(self.context, 1, \u0027\u0027, \u0027\u0027,"},{"line_number":186,"context_line":"                                volume_type\u003dself.volume_type)"},{"line_number":187,"context_line":"        except exception.VolumeSizeExceedsAvailableQuota as observed:"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa32b979_3475fef8","line":184,"in_reply_to":"fa32b979_f09e3353","updated":"2015-06-25 13:13:47.000000000","message":"Done","commit_id":"dcc63e67a7ff899ff05af860ba4551aee5162e49"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"a05c34174fa3c00e0a32998d086e96c7dfd0ddca","unresolved":false,"context_lines":[{"line_number":284,"context_line":"        }"},{"line_number":285,"context_line":"        self.flags(**flag_args)"},{"line_number":286,"context_line":"        vol_ref \u003d self._create_volume(size\u003d10)"},{"line_number":287,"context_line":"        try:"},{"line_number":288,"context_line":"            volume.API().create(self.context, 1, \u0027\u0027, \u0027\u0027,"},{"line_number":289,"context_line":"                                volume_type\u003dself.volume_type)"},{"line_number":290,"context_line":"        except exception.VolumeSizeExceedsAvailableQuota as observed:"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa32b979_f007131b","line":287,"updated":"2015-06-23 12:46:42.000000000","message":"Same here","commit_id":"dcc63e67a7ff899ff05af860ba4551aee5162e49"},{"author":{"_account_id":11673,"name":"Forest Romain","email":"romain.forest@thalesgroup.com","username":"romfor"},"change_message_id":"255a65052556d4ea8d2fcb40b6539072f0bc6ce4","unresolved":false,"context_lines":[{"line_number":284,"context_line":"        }"},{"line_number":285,"context_line":"        self.flags(**flag_args)"},{"line_number":286,"context_line":"        vol_ref \u003d self._create_volume(size\u003d10)"},{"line_number":287,"context_line":"        try:"},{"line_number":288,"context_line":"            volume.API().create(self.context, 1, \u0027\u0027, \u0027\u0027,"},{"line_number":289,"context_line":"                                volume_type\u003dself.volume_type)"},{"line_number":290,"context_line":"        except exception.VolumeSizeExceedsAvailableQuota as observed:"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa32b979_5470c207","line":287,"in_reply_to":"fa32b979_f007131b","updated":"2015-06-25 13:13:47.000000000","message":"Done","commit_id":"dcc63e67a7ff899ff05af860ba4551aee5162e49"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"15bd8391ccc9ec48f332ad064536eee8d3e0e015","unresolved":false,"context_lines":[{"line_number":183,"context_line":"        volume_ids.append(vol_ref[\u0027id\u0027])"},{"line_number":184,"context_line":"        raised_exc \u003d self.assertRaises("},{"line_number":185,"context_line":"            exception.VolumeSizeExceedsAvailableQuota,volume.API().create,"},{"line_number":186,"context_line":"            self.context, 1, \u0027\u0027, \u0027\u0027,volume_type\u003dself.volume_type)"},{"line_number":187,"context_line":"        expected \u003d exception.VolumeSizeExceedsAvailableQuota(1, 20, 20)"},{"line_number":188,"context_line":"        self.assertEqual(str(expected), str(raised_exc))"},{"line_number":189,"context_line":"        for volume_id in volume_ids:"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa32b979_ceb67988","line":186,"updated":"2015-06-25 15:14:39.000000000","message":"space before volume_type","commit_id":"e2c78a013336f299700e61f19f94df14c7716da1"},{"author":{"_account_id":11673,"name":"Forest Romain","email":"romain.forest@thalesgroup.com","username":"romfor"},"change_message_id":"c5c99fad4578397bcfdce832d43fea2037e854c7","unresolved":false,"context_lines":[{"line_number":183,"context_line":"        volume_ids.append(vol_ref[\u0027id\u0027])"},{"line_number":184,"context_line":"        raised_exc \u003d self.assertRaises("},{"line_number":185,"context_line":"            exception.VolumeSizeExceedsAvailableQuota,volume.API().create,"},{"line_number":186,"context_line":"            self.context, 1, \u0027\u0027, \u0027\u0027,volume_type\u003dself.volume_type)"},{"line_number":187,"context_line":"        expected \u003d exception.VolumeSizeExceedsAvailableQuota(1, 20, 20)"},{"line_number":188,"context_line":"        self.assertEqual(str(expected), str(raised_exc))"},{"line_number":189,"context_line":"        for volume_id in volume_ids:"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa32b979_10245b5e","line":186,"in_reply_to":"fa32b979_ceb67988","updated":"2015-06-26 09:34:35.000000000","message":"Done","commit_id":"e2c78a013336f299700e61f19f94df14c7716da1"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"15bd8391ccc9ec48f332ad064536eee8d3e0e015","unresolved":false,"context_lines":[{"line_number":283,"context_line":"        vol_ref \u003d self._create_volume(size\u003d10)"},{"line_number":284,"context_line":"        raised_exc \u003d self.assertRaises("},{"line_number":285,"context_line":"            exception.VolumeSizeExceedsAvailableQuota,volume.API().create,"},{"line_number":286,"context_line":"            self.context, 1, \u0027\u0027, \u0027\u0027,volume_type\u003dself.volume_type)"},{"line_number":287,"context_line":"        expected \u003d exception.VolumeSizeExceedsAvailableQuota(1, 10, 10, resource)"},{"line_number":288,"context_line":"        self.assertEqual(str(expected), str(raised_exc))"},{"line_number":289,"context_line":"        db.volume_destroy(self.context, vol_ref[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa32b979_2ea8451f","line":286,"updated":"2015-06-25 15:14:39.000000000","message":"space before volume_type","commit_id":"e2c78a013336f299700e61f19f94df14c7716da1"},{"author":{"_account_id":11673,"name":"Forest Romain","email":"romain.forest@thalesgroup.com","username":"romfor"},"change_message_id":"c5c99fad4578397bcfdce832d43fea2037e854c7","unresolved":false,"context_lines":[{"line_number":283,"context_line":"        vol_ref \u003d self._create_volume(size\u003d10)"},{"line_number":284,"context_line":"        raised_exc \u003d self.assertRaises("},{"line_number":285,"context_line":"            exception.VolumeSizeExceedsAvailableQuota,volume.API().create,"},{"line_number":286,"context_line":"            self.context, 1, \u0027\u0027, \u0027\u0027,volume_type\u003dself.volume_type)"},{"line_number":287,"context_line":"        expected \u003d exception.VolumeSizeExceedsAvailableQuota(1, 10, 10, resource)"},{"line_number":288,"context_line":"        self.assertEqual(str(expected), str(raised_exc))"},{"line_number":289,"context_line":"        db.volume_destroy(self.context, vol_ref[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa32b979_30295f38","line":286,"in_reply_to":"fa32b979_2ea8451f","updated":"2015-06-26 09:34:35.000000000","message":"Done","commit_id":"e2c78a013336f299700e61f19f94df14c7716da1"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"acb9d2996403780038958bb3ff288f653186caf0","unresolved":false,"context_lines":[{"line_number":182,"context_line":"        vol_ref \u003d self._create_volume(size\u003d20)"},{"line_number":183,"context_line":"        volume_ids.append(vol_ref[\u0027id\u0027])"},{"line_number":184,"context_line":"        raised_exc \u003d self.assertRaises("},{"line_number":185,"context_line":"            exception.VolumeSizeExceedsAvailableQuota,volume.API().create,"},{"line_number":186,"context_line":"            self.context, 1, \u0027\u0027, \u0027\u0027, volume_type\u003dself.volume_type)"},{"line_number":187,"context_line":"        expected \u003d exception.VolumeSizeExceedsAvailableQuota("},{"line_number":188,"context_line":"            requested\u003d1, quota\u003d20, consumed\u003d20)"}],"source_content_type":"text/x-python","patch_set":9,"id":"ba3cc151_11822b53","line":185,"updated":"2015-06-29 09:35:24.000000000","message":"s/Quota,volume/Quota, volume/","commit_id":"cf11c591bc2976dac0dce6cc416d4b6024897269"},{"author":{"_account_id":11673,"name":"Forest Romain","email":"romain.forest@thalesgroup.com","username":"romfor"},"change_message_id":"8c1e5225529dcf5bfc261d711fa24ee72ef4b4be","unresolved":false,"context_lines":[{"line_number":182,"context_line":"        vol_ref \u003d self._create_volume(size\u003d20)"},{"line_number":183,"context_line":"        volume_ids.append(vol_ref[\u0027id\u0027])"},{"line_number":184,"context_line":"        raised_exc \u003d self.assertRaises("},{"line_number":185,"context_line":"            exception.VolumeSizeExceedsAvailableQuota,volume.API().create,"},{"line_number":186,"context_line":"            self.context, 1, \u0027\u0027, \u0027\u0027, volume_type\u003dself.volume_type)"},{"line_number":187,"context_line":"        expected \u003d exception.VolumeSizeExceedsAvailableQuota("},{"line_number":188,"context_line":"            requested\u003d1, quota\u003d20, consumed\u003d20)"}],"source_content_type":"text/x-python","patch_set":9,"id":"ba3cc151_318def31","line":185,"in_reply_to":"ba3cc151_11822b53","updated":"2015-06-29 09:41:38.000000000","message":"Done","commit_id":"cf11c591bc2976dac0dce6cc416d4b6024897269"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"acb9d2996403780038958bb3ff288f653186caf0","unresolved":false,"context_lines":[{"line_number":283,"context_line":"        self.flags(**flag_args)"},{"line_number":284,"context_line":"        vol_ref \u003d self._create_volume(size\u003d10)"},{"line_number":285,"context_line":"        raised_exc \u003d self.assertRaises("},{"line_number":286,"context_line":"            exception.VolumeSizeExceedsAvailableQuota,volume.API().create,"},{"line_number":287,"context_line":"            self.context, 1, \u0027\u0027, \u0027\u0027, volume_type\u003dself.volume_type)"},{"line_number":288,"context_line":"        expected \u003d exception.VolumeSizeExceedsAvailableQuota("},{"line_number":289,"context_line":"            requested\u003d1, quota\u003d10, consumed\u003d10, name\u003dresource)"}],"source_content_type":"text/x-python","patch_set":9,"id":"ba3cc151_f180e748","line":286,"updated":"2015-06-29 09:35:24.000000000","message":"ditto","commit_id":"cf11c591bc2976dac0dce6cc416d4b6024897269"},{"author":{"_account_id":11673,"name":"Forest Romain","email":"romain.forest@thalesgroup.com","username":"romfor"},"change_message_id":"8c1e5225529dcf5bfc261d711fa24ee72ef4b4be","unresolved":false,"context_lines":[{"line_number":283,"context_line":"        self.flags(**flag_args)"},{"line_number":284,"context_line":"        vol_ref \u003d self._create_volume(size\u003d10)"},{"line_number":285,"context_line":"        raised_exc \u003d self.assertRaises("},{"line_number":286,"context_line":"            exception.VolumeSizeExceedsAvailableQuota,volume.API().create,"},{"line_number":287,"context_line":"            self.context, 1, \u0027\u0027, \u0027\u0027, volume_type\u003dself.volume_type)"},{"line_number":288,"context_line":"        expected \u003d exception.VolumeSizeExceedsAvailableQuota("},{"line_number":289,"context_line":"            requested\u003d1, quota\u003d10, consumed\u003d10, name\u003dresource)"}],"source_content_type":"text/x-python","patch_set":9,"id":"ba3cc151_d18123fd","line":286,"in_reply_to":"ba3cc151_f180e748","updated":"2015-06-29 09:41:38.000000000","message":"Done","commit_id":"cf11c591bc2976dac0dce6cc416d4b6024897269"}],"cinder/volume/flows/api/create_volume.py":[{"author":{"_account_id":8247,"name":"Thang Pham","email":"thang.g.pham@gmail.com","username":"thang.pham"},"change_message_id":"60e0e2444a546b15353b6d6dcd6dbbaf7c4fee96","unresolved":false,"context_lines":[{"line_number":546,"context_line":"                        return over"},{"line_number":547,"context_line":"                return None"},{"line_number":548,"context_line":""},{"line_number":549,"context_line":"            def _is_over(name):"},{"line_number":550,"context_line":"                for over in overs:"},{"line_number":551,"context_line":"                    if name in over:"},{"line_number":552,"context_line":"                        return True"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_053f3ed7","line":549,"updated":"2015-06-19 16:38:25.000000000","message":"_get_over is nearly the same as _is_over.  You use _get_over instead and just remove the _is_over.  Then change the if/elif below so that - elif _get_over(\u0027volumes\u0027):","commit_id":"e1e96aa39c4e82dfbf7ab14d101d3f2726eb2cb3"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"fb7d368604b8e9663aa4c565205b2c1a92b78047","unresolved":false,"context_lines":[{"line_number":546,"context_line":"                        return over"},{"line_number":547,"context_line":"                return None"},{"line_number":548,"context_line":""},{"line_number":549,"context_line":"            def _is_over(name):"},{"line_number":550,"context_line":"                for over in overs:"},{"line_number":551,"context_line":"                    if name in over:"},{"line_number":552,"context_line":"                        return True"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_69fcb93e","line":549,"in_reply_to":"fa32b979_053f3ed7","updated":"2015-06-22 12:07:40.000000000","message":"I agree with Thang, you can replace _is_over with _get_over","commit_id":"e1e96aa39c4e82dfbf7ab14d101d3f2726eb2cb3"},{"author":{"_account_id":11673,"name":"Forest Romain","email":"romain.forest@thalesgroup.com","username":"romfor"},"change_message_id":"53c312b646f5b2a565a1b9e22c45605ad6337850","unresolved":false,"context_lines":[{"line_number":546,"context_line":"                        return over"},{"line_number":547,"context_line":"                return None"},{"line_number":548,"context_line":""},{"line_number":549,"context_line":"            def _is_over(name):"},{"line_number":550,"context_line":"                for over in overs:"},{"line_number":551,"context_line":"                    if name in over:"},{"line_number":552,"context_line":"                        return True"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_1fb40af0","line":549,"in_reply_to":"fa32b979_69fcb93e","updated":"2015-06-23 11:41:29.000000000","message":"Done","commit_id":"e1e96aa39c4e82dfbf7ab14d101d3f2726eb2cb3"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"76691c23151612b594deec285719c5b058137d26","unresolved":false,"context_lines":[{"line_number":551,"context_line":"                msg \u003d _LW(\"Quota exceeded for %(s_pid)s, tried to create \""},{"line_number":552,"context_line":"                          \"%(s_size)sG volume (%(d_consumed)dG \""},{"line_number":553,"context_line":"                          \"of %(d_quota)dG already consumed)\")"},{"line_number":554,"context_line":"                LOG.warning(msg, {\u0027s_pid\u0027: over_name,"},{"line_number":555,"context_line":"                                  \u0027s_size\u0027: size,"},{"line_number":556,"context_line":"                                  \u0027d_consumed\u0027: _consumed(over_name),"},{"line_number":557,"context_line":"                                  \u0027d_quota\u0027: quotas[over_name]})"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba3cc151_9dcbb472","line":554,"updated":"2015-06-29 07:45:13.000000000","message":"Why do we need to remove project_id?","commit_id":"ad4d5a3f15e55ec0b41757b6f776d4aebe68e85a"},{"author":{"_account_id":11673,"name":"Forest Romain","email":"romain.forest@thalesgroup.com","username":"romfor"},"change_message_id":"b11e5bcdeca491d5ab9ecf626cdac95cdc8b2282","unresolved":false,"context_lines":[{"line_number":551,"context_line":"                msg \u003d _LW(\"Quota exceeded for %(s_pid)s, tried to create \""},{"line_number":552,"context_line":"                          \"%(s_size)sG volume (%(d_consumed)dG \""},{"line_number":553,"context_line":"                          \"of %(d_quota)dG already consumed)\")"},{"line_number":554,"context_line":"                LOG.warning(msg, {\u0027s_pid\u0027: over_name,"},{"line_number":555,"context_line":"                                  \u0027s_size\u0027: size,"},{"line_number":556,"context_line":"                                  \u0027d_consumed\u0027: _consumed(over_name),"},{"line_number":557,"context_line":"                                  \u0027d_quota\u0027: quotas[over_name]})"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba3cc151_201d9f73","line":554,"in_reply_to":"ba3cc151_9dcbb472","updated":"2015-06-29 08:33:33.000000000","message":"Done","commit_id":"ad4d5a3f15e55ec0b41757b6f776d4aebe68e85a"},{"author":{"_account_id":11673,"name":"Forest Romain","email":"romain.forest@thalesgroup.com","username":"romfor"},"change_message_id":"a8843588251678bdcbb05a7ab55433a1cdcb9d21","unresolved":false,"context_lines":[{"line_number":551,"context_line":"                msg \u003d _LW(\"Quota exceeded for %(s_pid)s, tried to create \""},{"line_number":552,"context_line":"                          \"%(s_size)sG volume (%(d_consumed)dG \""},{"line_number":553,"context_line":"                          \"of %(d_quota)dG already consumed)\")"},{"line_number":554,"context_line":"                LOG.warning(msg, {\u0027s_pid\u0027: over_name,"},{"line_number":555,"context_line":"                                  \u0027s_size\u0027: size,"},{"line_number":556,"context_line":"                                  \u0027d_consumed\u0027: _consumed(over_name),"},{"line_number":557,"context_line":"                                  \u0027d_quota\u0027: quotas[over_name]})"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba3cc151_607e47b0","line":554,"in_reply_to":"ba3cc151_9dcbb472","updated":"2015-06-29 08:32:18.000000000","message":"I don\u0027t, my mistake, thanks","commit_id":"ad4d5a3f15e55ec0b41757b6f776d4aebe68e85a"},{"author":{"_account_id":8247,"name":"Thang Pham","email":"thang.g.pham@gmail.com","username":"thang.pham"},"change_message_id":"38d554d05a9f881425724bdf75ac13cba666f237","unresolved":false,"context_lines":[{"line_number":544,"context_line":"                for over in overs:"},{"line_number":545,"context_line":"                    if name in over:"},{"line_number":546,"context_line":"                        return over"},{"line_number":547,"context_line":"                return None"},{"line_number":548,"context_line":""},{"line_number":549,"context_line":"            over_name \u003d _get_over(\u0027gigabytes\u0027)"},{"line_number":550,"context_line":"            if over_name:"}],"source_content_type":"text/x-python","patch_set":10,"id":"ba3cc151_79f34474","line":547,"updated":"2015-06-29 20:34:26.000000000","message":"nit: The default return value is None.","commit_id":"76e0532db2405c59e19700241b965998f8918f8f"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"c3cd6e7e516f8199c9550d0482931d5212b7b298","unresolved":false,"context_lines":[{"line_number":544,"context_line":"                for over in overs:"},{"line_number":545,"context_line":"                    if name in over:"},{"line_number":546,"context_line":"                        return over"},{"line_number":547,"context_line":"                return None"},{"line_number":548,"context_line":""},{"line_number":549,"context_line":"            over_name \u003d _get_over(\u0027gigabytes\u0027)"},{"line_number":550,"context_line":"            if over_name:"}],"source_content_type":"text/x-python","patch_set":10,"id":"ba3cc151_97bb6fc4","line":547,"in_reply_to":"ba3cc151_79f34474","updated":"2015-06-29 21:19:59.000000000","message":"Yes, but when it means something (it is a valid value) it should be made explicit.","commit_id":"76e0532db2405c59e19700241b965998f8918f8f"}]}
