)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"89968a5c2479281d63c9facfff84b998ce5fb587","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Vu Tran \u003cvu.tran@windriver.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-07-28 13:28:23 -0400"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Cinder - Prevent LVM backend overallocation when creating snapshots"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"If cinder-volume LVM backend is configured as thin-provisioning, when"},{"line_number":10,"context_line":"requesting a snapshot there is currently no check for free space. This"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"5a8bc5a2_9a8ffc74","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":67},"updated":"2016-09-27 21:53:00.000000000","message":"Summary line should be limited to 50 characters","commit_id":"1db6e14464160f3691dccf34a7749aeecd2f2a30"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"89968a5c2479281d63c9facfff84b998ce5fb587","unresolved":false,"context_lines":[{"line_number":9,"context_line":"If cinder-volume LVM backend is configured as thin-provisioning, when"},{"line_number":10,"context_line":"requesting a snapshot there is currently no check for free space. This"},{"line_number":11,"context_line":"allows us to create a large volume, dirty it, make a snapshot, rewrite"},{"line_number":12,"context_line":"the original volume, and run out of space in the thin pool."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I6d41ab37a6e473290916237551fe614790c3fe2b"},{"line_number":15,"context_line":"Closes-Bug: #1605033"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"5a8bc5a2_7ad95083","line":12,"updated":"2016-09-27 21:53:00.000000000","message":"Can you add to the body to describe the fix?","commit_id":"1db6e14464160f3691dccf34a7749aeecd2f2a30"}],"cinder/exception.py":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"140b6d8b3654253ec8d6881f72c0b6fdfa43fd54","unresolved":false,"context_lines":[{"line_number":1230,"context_line":"    message \u003d _(\"LUN not found by UUID: %(uuid)s.\")"},{"line_number":1231,"context_line":""},{"line_number":1232,"context_line":""},{"line_number":1233,"context_line":"class ThinPoolCapacityError(CinderException):"},{"line_number":1234,"context_line":"    message \u003d _(\"Insufficient free space for thin provisioning. \""},{"line_number":1235,"context_line":"                \"The ratio of provisioned capacity over total capacity \""},{"line_number":1236,"context_line":"                \"%(provisioned_ratio).2f has exceeded the maximum over \""}],"source_content_type":"text/x-python","patch_set":1,"id":"ba5da102_99294c3a","line":1233,"updated":"2016-11-01 17:01:27.000000000","message":"This should inherit from VolumeDriverException rather than CinderException.","commit_id":"1db6e14464160f3691dccf34a7749aeecd2f2a30"}],"cinder/volume/drivers/lvm.py":[{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"db37a5ca622ed9a551923f80a8bfa83c5dc20a93","unresolved":false,"context_lines":[{"line_number":435,"context_line":"        # The following check is targeted at thin pools to ensure that we"},{"line_number":436,"context_line":"        # don\u0027t over allocate when creating a snapshot."},{"line_number":437,"context_line":"        if (self.configuration.lvm_type \u003d\u003d \u0027thin\u0027 and"},{"line_number":438,"context_line":"                self.configuration.max_over_subscription_ratio \u003e\u003d 1):"},{"line_number":439,"context_line":"            source_lvref \u003d self.vg.get_volume(snapshot[\u0027volume_name\u0027])"},{"line_number":440,"context_line":"            volume_size_gb \u003d float(source_lvref[\u0027size\u0027])"},{"line_number":441,"context_line":"            provisioned_ratio \u003d ((self.vg.vg_provisioned_capacity +"}],"source_content_type":"text/x-python","patch_set":1,"id":"bacf61ea_6a0ada22","line":438,"range":{"start_line":438,"start_character":16,"end_line":438,"end_character":67},"updated":"2016-07-29 17:58:22.000000000","message":"This check should be done for all values of max_over_subscription_rate, not only if \u003e\u003d 1.","commit_id":"1db6e14464160f3691dccf34a7749aeecd2f2a30"},{"author":{"_account_id":21718,"name":"Vu Tran","email":"vu.tran@windriver.com","username":"vtran"},"change_message_id":"2e52ba689d47f0105703a192a25916d91a470f8f","unresolved":false,"context_lines":[{"line_number":435,"context_line":"        # The following check is targeted at thin pools to ensure that we"},{"line_number":436,"context_line":"        # don\u0027t over allocate when creating a snapshot."},{"line_number":437,"context_line":"        if (self.configuration.lvm_type \u003d\u003d \u0027thin\u0027 and"},{"line_number":438,"context_line":"                self.configuration.max_over_subscription_ratio \u003e\u003d 1):"},{"line_number":439,"context_line":"            source_lvref \u003d self.vg.get_volume(snapshot[\u0027volume_name\u0027])"},{"line_number":440,"context_line":"            volume_size_gb \u003d float(source_lvref[\u0027size\u0027])"},{"line_number":441,"context_line":"            provisioned_ratio \u003d ((self.vg.vg_provisioned_capacity +"}],"source_content_type":"text/x-python","patch_set":1,"id":"bacf61ea_7476a6d9","line":438,"range":{"start_line":438,"start_character":16,"end_line":438,"end_character":67},"in_reply_to":"bacf61ea_6a0ada22","updated":"2016-08-02 17:39:19.000000000","message":"Thanks for the suggestion! however in my understanding, the max_over_subscription_ratio should be \u003e\u003d 1.0 (as demonstrated in scheduler/filters/capacity_filter.py and cinder/volume/driver.py)","commit_id":"1db6e14464160f3691dccf34a7749aeecd2f2a30"},{"author":{"_account_id":18462,"name":"Rahul U Nair","email":"rahulunair@gmail.com","username":"rahulunair"},"change_message_id":"8aa11b9e219ec113945c2599f2eec37c2ba53f75","unresolved":false,"context_lines":[{"line_number":435,"context_line":"        # The following check is targeted at thin pools to ensure that we"},{"line_number":436,"context_line":"        # don\u0027t over allocate when creating a snapshot."},{"line_number":437,"context_line":"        if (self.configuration.lvm_type \u003d\u003d \u0027thin\u0027 and"},{"line_number":438,"context_line":"                self.configuration.max_over_subscription_ratio \u003e\u003d 1):"},{"line_number":439,"context_line":"            source_lvref \u003d self.vg.get_volume(snapshot[\u0027volume_name\u0027])"},{"line_number":440,"context_line":"            volume_size_gb \u003d float(source_lvref[\u0027size\u0027])"},{"line_number":441,"context_line":"            provisioned_ratio \u003d ((self.vg.vg_provisioned_capacity +"}],"source_content_type":"text/x-python","patch_set":1,"id":"bacf61ea_f64a1325","line":438,"range":{"start_line":438,"start_character":16,"end_line":438,"end_character":67},"in_reply_to":"bacf61ea_6a0ada22","updated":"2016-07-30 15:36:19.000000000","message":"Wouldn\u0027t \u003e\u003d1 take care of over allocation?","commit_id":"1db6e14464160f3691dccf34a7749aeecd2f2a30"}]}
