)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"be2f8fce0fb4f653f3c079e7bbaf2850d77fa02d","unresolved":false,"context_lines":[{"line_number":9,"context_line":"In file tempest/scenario/test_volume_boot_pattern.py"},{"line_number":10,"context_line":"there is a method for creating snapshots from volumes."},{"line_number":11,"context_line":"The method is _create_snapshot_from_volume(...) and"},{"line_number":12,"context_line":"it is used in test \"test_volume_boot_pattern\"."},{"line_number":13,"context_line":"The thing is that _create_snapshot_from_volume(...)"},{"line_number":14,"context_line":"uses method self.addCleanup_with_wait(...) in order"},{"line_number":15,"context_line":"to delete created volume snapshot after test finished"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"9aa53dc9_d996b7ef","line":12,"updated":"2015-04-08 12:55:31.000000000","message":"test_volume_boot_pattern is the only test in that file.","commit_id":"3ae053223fd86e700538bb01562b95f3c82c6fd9"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"be2f8fce0fb4f653f3c079e7bbaf2850d77fa02d","unresolved":false,"context_lines":[{"line_number":13,"context_line":"The thing is that _create_snapshot_from_volume(...)"},{"line_number":14,"context_line":"uses method self.addCleanup_with_wait(...) in order"},{"line_number":15,"context_line":"to delete created volume snapshot after test finished"},{"line_number":16,"context_line":"(https://github.com/openstack/tempest/blob/master/tempest/scenario/test_volume_boot_pattern.py#L74-78)."},{"line_number":17,"context_line":"The use of self.addCleanup_with_wait(...) sometimes"},{"line_number":18,"context_line":"causes failure of test \"test_volume_boot_pattern\""},{"line_number":19,"context_line":"(http://paste.openstack.org/show/200251/). Thus we"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"9aa53dc9_79ec4b8f","line":16,"updated":"2015-04-08 12:55:31.000000000","message":"Please don\u0027t use links like this to github in the commit message. They\u0027re meaningless over time as files and lines move around. Just reference the method in question.","commit_id":"3ae053223fd86e700538bb01562b95f3c82c6fd9"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"be2f8fce0fb4f653f3c079e7bbaf2850d77fa02d","unresolved":false,"context_lines":[{"line_number":20,"context_line":"have a race condition. If volume snapshot is already"},{"line_number":21,"context_line":"deleted when deleting volume, the test will have success."},{"line_number":22,"context_line":"If volume snapshot is not deleted when deleting volume,"},{"line_number":23,"context_line":"the test will fail."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Closes-Bug: #1441563"},{"line_number":26,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"9aa53dc9_f94a9bab","line":23,"updated":"2015-04-08 12:55:31.000000000","message":"So this is a mis-characterization of what is going on. addCleanup_with_wait is a method for decoupling the delete and wait loop for async resources. It is used as a performance optimization for the case where we create a lot of resources which have async deletes but order doesn\u0027t matter. So we issue all the deletes at once followed by running all of the wait loops after.\n\nWhat you\u0027re saying here is that the cleanup order actually matters for the snapshot and we need to ensure it is actually gone (not just a delete issued) before we can delete the volume.","commit_id":"3ae053223fd86e700538bb01562b95f3c82c6fd9"}],"tempest/scenario/test_volume_boot_pattern.py":[{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"050c2638b3463d6acc363390f183c3a0fe3983a0","unresolved":false,"context_lines":[{"line_number":73,"context_line":"            volume_id\u003dvol_id,"},{"line_number":74,"context_line":"            force\u003dTrue,"},{"line_number":75,"context_line":"            display_name\u003dsnap_name)"},{"line_number":76,"context_line":"        self.addCleanup("},{"line_number":77,"context_line":"            self.snapshots_client.wait_for_resource_deletion, snap[\u0027id\u0027])"},{"line_number":78,"context_line":"        self.addCleanup(self.snapshots_client.delete_snapshot, snap[\u0027id\u0027])"},{"line_number":79,"context_line":"        self.snapshots_client.wait_for_snapshot_status(snap[\u0027id\u0027], \u0027available\u0027)"}],"source_content_type":"text/x-python","patch_set":9,"id":"3acd31a7_230034aa","line":76,"updated":"2015-04-29 15:27:06.000000000","message":"I sure wish I knew why this can only be reproduced on your setup.  Even when we introduce long delays in the snap delete nobody seems to be able to reproduce.\n\nI\u0027m worried that we\u0027re missing something important. I also am not really sure I understand why your patch exhibits different behavior, for the most part it\u0027s \"doing\" the same thing.\n\nAll of that being said, I\u0027m fine with the change if other Tempest folks are good with it.  I kinda like the cleaner/more readable call out of the waits etc here anyway.","commit_id":"46a78c3fc8683da1de51df785bb9914c612fab3f"}]}
