)]}'
{"tempest/api/volume/test_volumes_snapshots_negative.py":[{"author":{"_account_id":8625,"name":"Anju Tiwari","username":"Anju5","inactive":true},"change_message_id":"782bdaf84d77758f9ddfa1c8e16fd87b81251df4","unresolved":false,"context_lines":[{"line_number":34,"context_line":"        super(VolumesSnapshotNegativeTest, cls).tearDownClass()"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    @attr(type\u003d\u0027gate\u0027)"},{"line_number":37,"context_line":"    def test_create_snapshot_with_invalid_volume_id(self):"},{"line_number":38,"context_line":"        # Create a snapshot with invalid volume id"},{"line_number":39,"context_line":"        s_name \u003d rand_name(\u0027snap\u0027)"},{"line_number":40,"context_line":"        self.assertRaises(exceptions.NotFound,"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATH%2F%2F6qw%3D","line":37,"updated":"2013-10-08 03:59:42.000000000","message":"It is a negative tests please add negative in decorator","commit_id":"23566a0085af94a29c5ad95efc09beeea6d0c6f9"},{"author":{"_account_id":8625,"name":"Anju Tiwari","username":"Anju5","inactive":true},"change_message_id":"782bdaf84d77758f9ddfa1c8e16fd87b81251df4","unresolved":false,"context_lines":[{"line_number":42,"context_line":"                          \u0027#$%%\u0026^\u0026^\u0027, display_name\u003ds_name)"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    @attr(type\u003d\u0027gate\u0027)"},{"line_number":45,"context_line":"    def test_create_snapshot_with_nonexistent_volume_id(self):"},{"line_number":46,"context_line":"        # Create a snapshot with nonexistent volume id"},{"line_number":47,"context_line":"        s_name \u003d rand_name(\u0027snap\u0027)"},{"line_number":48,"context_line":"        self.assertRaises(exceptions.NotFound,"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATH%2F%2F6qs%3D","line":45,"updated":"2013-10-08 03:59:42.000000000","message":"ditto","commit_id":"23566a0085af94a29c5ad95efc09beeea6d0c6f9"},{"author":{"_account_id":8625,"name":"Anju Tiwari","username":"Anju5","inactive":true},"change_message_id":"782bdaf84d77758f9ddfa1c8e16fd87b81251df4","unresolved":false,"context_lines":[{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    @attr(type\u003d\u0027gate\u0027)"},{"line_number":53,"context_line":"    def test_create_snapshot_without_passing_volume_id(self):"},{"line_number":54,"context_line":"        # Create a snapshot without passing volume id"},{"line_number":55,"context_line":"        s_name \u003d rand_name(\u0027snap\u0027)"},{"line_number":56,"context_line":"        self.assertRaises(exceptions.NotFound,"},{"line_number":57,"context_line":"                          self.snapshots_client.create_snapshot,"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATH%2F%2F6qo%3D","line":54,"updated":"2013-10-08 03:59:42.000000000","message":"ditto","commit_id":"23566a0085af94a29c5ad95efc09beeea6d0c6f9"},{"author":{"_account_id":6796,"name":"Giulio Fidente","email":"gfidente@redhat.com","username":"gfidente"},"change_message_id":"3b2eb4edc6a0c0b705589d9ce00749e7ba1d5cfb","unresolved":false,"context_lines":[{"line_number":15,"context_line":"import uuid"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from tempest.api.volume import base"},{"line_number":18,"context_line":"from tempest.common.utils.data_utils import rand_name"},{"line_number":19,"context_line":"from tempest import exceptions"},{"line_number":20,"context_line":"from tempest.test import attr"},{"line_number":21,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATH%2F%2F2IM%3D","line":18,"updated":"2013-10-09 02:49:07.000000000","message":"As a general rule meant to facilitate troubleshooting, I think you should import data_utils and call data_utils.rand_name rather than just the rand_name function","commit_id":"b65a28799fdc459788cb36d8b404e8875a67e5db"},{"author":{"_account_id":6796,"name":"Giulio Fidente","email":"gfidente@redhat.com","username":"gfidente"},"change_message_id":"98d4ad3ac05dcbd95f738a680bc108b801849fb8","unresolved":false,"context_lines":[{"line_number":15,"context_line":"import uuid"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from tempest.api.volume import base"},{"line_number":18,"context_line":"from tempest.common.utils.data_utils import rand_name"},{"line_number":19,"context_line":"from tempest import exceptions"},{"line_number":20,"context_line":"from tempest.test import attr"},{"line_number":21,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATH%2F%2F2CI%3D","line":18,"in_reply_to":"AAAATH%2F%2F2C8%3D","updated":"2013-10-09 03:35:27.000000000","message":"I\u0027d leave it as is for now and see if the next core will approve or either reinforce","commit_id":"b65a28799fdc459788cb36d8b404e8875a67e5db"},{"author":{"_account_id":8846,"name":"Hao Wang","display_name":"Hao Wang","email":"sxmatch1986@gmail.com","username":"sxmatch"},"change_message_id":"0cf7d23d808992986f3aa29f6d1bc97d6dfa159e","unresolved":false,"context_lines":[{"line_number":15,"context_line":"import uuid"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from tempest.api.volume import base"},{"line_number":18,"context_line":"from tempest.common.utils.data_utils import rand_name"},{"line_number":19,"context_line":"from tempest import exceptions"},{"line_number":20,"context_line":"from tempest.test import attr"},{"line_number":21,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATH%2F%2F2C8%3D","line":18,"in_reply_to":"AAAATH%2F%2F2IM%3D","updated":"2013-10-09 03:31:40.000000000","message":"Thanks for your review and comment. I will fix it when asking for support this comment, or maybe do not use rand_name function,just use my rule like \"snap-test\". Do you think which is better?","commit_id":"b65a28799fdc459788cb36d8b404e8875a67e5db"},{"author":{"_account_id":7872,"name":"Marc Koderer","email":"marc@koderer.com","username":"mkoderer"},"change_message_id":"8457340446fab771557a11f781e5d52bf6410892","unresolved":false,"context_lines":[{"line_number":37,"context_line":"        s_name \u003d rand_name(\u0027snap\u0027)"},{"line_number":38,"context_line":"        self.assertRaises(exceptions.NotFound,"},{"line_number":39,"context_line":"                          self.snapshots_client.create_snapshot,"},{"line_number":40,"context_line":"                          \u00271234##%%^^\u0027, display_name\u003ds_name)"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    @attr(type\u003d[\u0027negative\u0027, \u0027gate\u0027])"},{"line_number":43,"context_line":"    def test_create_snapshot_with_nonexistent_volume_id(self):"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATH%2F%2F1rQ%3D","line":40,"updated":"2013-10-09 06:23:53.000000000","message":"There was a discussion on IRC about it. IMHO there should be a check on the api side to validate such id\u0027s or if a mandatory parameter is missing. So it should raise a BadRequest exception.","commit_id":"b65a28799fdc459788cb36d8b404e8875a67e5db"},{"author":{"_account_id":8846,"name":"Hao Wang","display_name":"Hao Wang","email":"sxmatch1986@gmail.com","username":"sxmatch"},"change_message_id":"144a9afd428f873f2d169d9ca8fd1ac27a3d2ff5","unresolved":false,"context_lines":[{"line_number":37,"context_line":"        s_name \u003d rand_name(\u0027snap\u0027)"},{"line_number":38,"context_line":"        self.assertRaises(exceptions.NotFound,"},{"line_number":39,"context_line":"                          self.snapshots_client.create_snapshot,"},{"line_number":40,"context_line":"                          \u00271234##%%^^\u0027, display_name\u003ds_name)"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    @attr(type\u003d[\u0027negative\u0027, \u0027gate\u0027])"},{"line_number":43,"context_line":"    def test_create_snapshot_with_nonexistent_volume_id(self):"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATH%2F%2F1mU%3D","line":40,"in_reply_to":"AAAATH%2F%2F1rQ%3D","updated":"2013-10-10 02:43:14.000000000","message":"Sure, it is a issue to many api of openstack.","commit_id":"b65a28799fdc459788cb36d8b404e8875a67e5db"},{"author":{"_account_id":7872,"name":"Marc Koderer","email":"marc@koderer.com","username":"mkoderer"},"change_message_id":"8457340446fab771557a11f781e5d52bf6410892","unresolved":false,"context_lines":[{"line_number":48,"context_line":"                          str(uuid.uuid4()), display_name\u003ds_name)"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    @attr(type\u003d[\u0027negative\u0027, \u0027gate\u0027])"},{"line_number":51,"context_line":"    def test_create_snapshot_without_passing_volume_id(self):"},{"line_number":52,"context_line":"        # Create a snapshot without passing volume id"},{"line_number":53,"context_line":"        s_name \u003d rand_name(\u0027snap\u0027)"},{"line_number":54,"context_line":"        self.assertRaises(exceptions.NotFound,"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATH%2F%2F1qw%3D","line":51,"updated":"2013-10-09 06:23:53.000000000","message":"This function name is a bit misleading. In fact you are passing a volume id to the system. It is just an empty string but it is there. I think it\u0027s a duplicate to  test_create_snapshot_with_invalid_volume_id. If you really want such a test you need to add support to give \"None\" as parameter and let the client completely skip this field if it is None.","commit_id":"b65a28799fdc459788cb36d8b404e8875a67e5db"},{"author":{"_account_id":8846,"name":"Hao Wang","display_name":"Hao Wang","email":"sxmatch1986@gmail.com","username":"sxmatch"},"change_message_id":"144a9afd428f873f2d169d9ca8fd1ac27a3d2ff5","unresolved":false,"context_lines":[{"line_number":48,"context_line":"                          str(uuid.uuid4()), display_name\u003ds_name)"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    @attr(type\u003d[\u0027negative\u0027, \u0027gate\u0027])"},{"line_number":51,"context_line":"    def test_create_snapshot_without_passing_volume_id(self):"},{"line_number":52,"context_line":"        # Create a snapshot without passing volume id"},{"line_number":53,"context_line":"        s_name \u003d rand_name(\u0027snap\u0027)"},{"line_number":54,"context_line":"        self.assertRaises(exceptions.NotFound,"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATH%2F%2F1mA%3D","line":51,"in_reply_to":"AAAATH%2F%2F1qw%3D","updated":"2013-10-10 02:43:14.000000000","message":"Thanks for your comment. I will fix it as soon as possible.","commit_id":"b65a28799fdc459788cb36d8b404e8875a67e5db"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"2834afe8c346be04e2ce4b38f7bcb2893e98d76f","unresolved":false,"context_lines":[{"line_number":28,"context_line":"        super(VolumesSnapshotNegativeTest, cls).setUpClass()"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    @classmethod"},{"line_number":31,"context_line":"    def tearDownClass(cls):"},{"line_number":32,"context_line":"        super(VolumesSnapshotNegativeTest, cls).tearDownClass()"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    @attr(type\u003d[\u0027negative\u0027, \u0027gate\u0027])"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAATH%2F%2FbUM%3D","line":31,"updated":"2013-10-16 11:01:57.000000000","message":"we don\u0027t need setup/teardown methods if they are only super calls","commit_id":"3db54065652f393c56f27508de44172132211491"},{"author":{"_account_id":8846,"name":"Hao Wang","display_name":"Hao Wang","email":"sxmatch1986@gmail.com","username":"sxmatch"},"change_message_id":"69e6bceaed3b7bbf1e2cfa1b4b75c28c4cf55752","unresolved":false,"context_lines":[{"line_number":28,"context_line":"        super(VolumesSnapshotNegativeTest, cls).setUpClass()"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    @classmethod"},{"line_number":31,"context_line":"    def tearDownClass(cls):"},{"line_number":32,"context_line":"        super(VolumesSnapshotNegativeTest, cls).tearDownClass()"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    @attr(type\u003d[\u0027negative\u0027, \u0027gate\u0027])"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAATH%2F%2FX4U%3D","line":31,"in_reply_to":"AAAATH%2F%2FbUM%3D","updated":"2013-10-17 01:28:26.000000000","message":"It\u0027s my fault. Thank you~","commit_id":"3db54065652f393c56f27508de44172132211491"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"11cdb382533a21b3a684829898abf5fb37b49c49","unresolved":false,"context_lines":[{"line_number":24,"context_line":"    _interface \u003d \"json\""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    @attr(type\u003d[\u0027negative\u0027, \u0027gate\u0027])"},{"line_number":27,"context_line":"    def test_create_snapshot_with_invalid_volume_id(self):"},{"line_number":28,"context_line":"        # Create a snapshot with invalid volume id"},{"line_number":29,"context_line":"        s_name \u003d rand_name(\u0027snap\u0027)"},{"line_number":30,"context_line":"        self.assertRaises(exceptions.NotFound,"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAATH%2F%2FVi4%3D","line":27,"updated":"2013-10-17 15:26:54.000000000","message":"On this test, a volume-id is as invalid. but it expects that cinder returns NotFound, not BadRequest. so I guess this test is the same as the following test_create_snapshot_with_nonexistent_volume_id().\n\nIs this test necessary?","commit_id":"496f36833d64ae583c0af1fc3357f59580fa8837"},{"author":{"_account_id":8846,"name":"Hao Wang","display_name":"Hao Wang","email":"sxmatch1986@gmail.com","username":"sxmatch"},"change_message_id":"e6471505c9c133aeb5fbd6a3adcc1a765f530032","unresolved":false,"context_lines":[{"line_number":24,"context_line":"    _interface \u003d \"json\""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    @attr(type\u003d[\u0027negative\u0027, \u0027gate\u0027])"},{"line_number":27,"context_line":"    def test_create_snapshot_with_invalid_volume_id(self):"},{"line_number":28,"context_line":"        # Create a snapshot with invalid volume id"},{"line_number":29,"context_line":"        s_name \u003d rand_name(\u0027snap\u0027)"},{"line_number":30,"context_line":"        self.assertRaises(exceptions.NotFound,"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAATH%2F%2FO1g%3D","line":27,"in_reply_to":"AAAATH%2F%2FTbU%3D","updated":"2013-10-20 13:01:58.000000000","message":"Thanks. Maybe I should fix this bug first as you say. I will remove this case and merging it after bug fixed.","commit_id":"496f36833d64ae583c0af1fc3357f59580fa8837"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"07b3fd832f78c17a45e9b49849b9bac9e249e1fa","unresolved":false,"context_lines":[{"line_number":24,"context_line":"    _interface \u003d \"json\""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    @attr(type\u003d[\u0027negative\u0027, \u0027gate\u0027])"},{"line_number":27,"context_line":"    def test_create_snapshot_with_invalid_volume_id(self):"},{"line_number":28,"context_line":"        # Create a snapshot with invalid volume id"},{"line_number":29,"context_line":"        s_name \u003d rand_name(\u0027snap\u0027)"},{"line_number":30,"context_line":"        self.assertRaises(exceptions.NotFound,"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAATH%2F%2FTbU%3D","line":27,"in_reply_to":"AAAATH%2F%2FTcY%3D","updated":"2013-10-18 03:12:07.000000000","message":"I\u0027m afraid to say.. but No.\n\nIf merging this test to Tempest, this test will be used for all changes of whole OpenStack including cinder.\n\nIf trying to fix the cinder behavior(NotFound -\u003e BadRequest) with a cinder patch, this test will fail.\nSo I feel it is better to remove this test at first step, and add this test with BadRequest after fixing the cinder behavior.\n\nMy opinion is not very strong, so please wait for other opinions.","commit_id":"496f36833d64ae583c0af1fc3357f59580fa8837"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"1a460a074a867217ea198a7a408824e0dc88f23b","unresolved":false,"context_lines":[{"line_number":24,"context_line":"    _interface \u003d \"json\""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    @attr(type\u003d[\u0027negative\u0027, \u0027gate\u0027])"},{"line_number":27,"context_line":"    def test_create_snapshot_with_invalid_volume_id(self):"},{"line_number":28,"context_line":"        # Create a snapshot with invalid volume id"},{"line_number":29,"context_line":"        s_name \u003d rand_name(\u0027snap\u0027)"},{"line_number":30,"context_line":"        self.assertRaises(exceptions.NotFound,"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAATH%2F%2FTeE%3D","line":27,"in_reply_to":"AAAATH%2F%2FTe4%3D","updated":"2013-10-18 02:18:04.000000000","message":"Nice discussion:-)\n\nThanks in advance for reporting.","commit_id":"496f36833d64ae583c0af1fc3357f59580fa8837"},{"author":{"_account_id":8846,"name":"Hao Wang","display_name":"Hao Wang","email":"sxmatch1986@gmail.com","username":"sxmatch"},"change_message_id":"024d2a375ffa93cd68818c4f8da50ceb71f956c9","unresolved":false,"context_lines":[{"line_number":24,"context_line":"    _interface \u003d \"json\""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    @attr(type\u003d[\u0027negative\u0027, \u0027gate\u0027])"},{"line_number":27,"context_line":"    def test_create_snapshot_with_invalid_volume_id(self):"},{"line_number":28,"context_line":"        # Create a snapshot with invalid volume id"},{"line_number":29,"context_line":"        s_name \u003d rand_name(\u0027snap\u0027)"},{"line_number":30,"context_line":"        self.assertRaises(exceptions.NotFound,"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAATH%2F%2FTcY%3D","line":27,"in_reply_to":"AAAATH%2F%2FTeE%3D","updated":"2013-10-18 02:55:00.000000000","message":"So this test is ok until now? In my opinion, we add this test to tempest first, then report the bug, if bug is accepted, modify this test at last.","commit_id":"496f36833d64ae583c0af1fc3357f59580fa8837"},{"author":{"_account_id":8846,"name":"Hao Wang","display_name":"Hao Wang","email":"sxmatch1986@gmail.com","username":"sxmatch"},"change_message_id":"019a7fdef058b350ca9de8af12fdd98d925dfd7b","unresolved":false,"context_lines":[{"line_number":24,"context_line":"    _interface \u003d \"json\""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    @attr(type\u003d[\u0027negative\u0027, \u0027gate\u0027])"},{"line_number":27,"context_line":"    def test_create_snapshot_with_invalid_volume_id(self):"},{"line_number":28,"context_line":"        # Create a snapshot with invalid volume id"},{"line_number":29,"context_line":"        s_name \u003d rand_name(\u0027snap\u0027)"},{"line_number":30,"context_line":"        self.assertRaises(exceptions.NotFound,"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAATH%2F%2FTe4%3D","line":27,"in_reply_to":"AAAATH%2F%2FThA%3D","updated":"2013-10-18 02:06:31.000000000","message":"Yes, It is a bug I think, and I have discussed it with Giulio Fidente. I will report this bug in cinder, and if this bug is accepted by openstack, this test will be modified as BadRequest response.","commit_id":"496f36833d64ae583c0af1fc3357f59580fa8837"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"9f5d4c053acb191f45b071a8d7cc70b996661435","unresolved":false,"context_lines":[{"line_number":24,"context_line":"    _interface \u003d \"json\""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    @attr(type\u003d[\u0027negative\u0027, \u0027gate\u0027])"},{"line_number":27,"context_line":"    def test_create_snapshot_with_invalid_volume_id(self):"},{"line_number":28,"context_line":"        # Create a snapshot with invalid volume id"},{"line_number":29,"context_line":"        s_name \u003d rand_name(\u0027snap\u0027)"},{"line_number":30,"context_line":"        self.assertRaises(exceptions.NotFound,"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAATH%2F%2FThA%3D","line":27,"in_reply_to":"AAAATH%2F%2FTio%3D","updated":"2013-10-18 01:39:02.000000000","message":"I guess this behavior is a bug as you said.\n\nNow cinder does not validate the data format(uuid) of volume-id, and it tries to find the volume-id from its DB. As the result, cinder returns a NotFound response in this test case.\n\nThe code of cinder is https://github.com/openstack/cinder/blob/master/cinder/api/v1/snapshots.py#L171 .\n\nThis situation is the same as test_create_snapshot_with_nonexistent_volume_id.\n\nMy concern is this test blocks the cinder improvement when trying to add the data format validation of the volume-id. Cinder should return a BadRequest response but this test would define a NotFound response in this situation.","commit_id":"496f36833d64ae583c0af1fc3357f59580fa8837"},{"author":{"_account_id":8846,"name":"Hao Wang","display_name":"Hao Wang","email":"sxmatch1986@gmail.com","username":"sxmatch"},"change_message_id":"f3625235a28715ee3eaa191b13a130b637ce91c9","unresolved":false,"context_lines":[{"line_number":24,"context_line":"    _interface \u003d \"json\""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    @attr(type\u003d[\u0027negative\u0027, \u0027gate\u0027])"},{"line_number":27,"context_line":"    def test_create_snapshot_with_invalid_volume_id(self):"},{"line_number":28,"context_line":"        # Create a snapshot with invalid volume id"},{"line_number":29,"context_line":"        s_name \u003d rand_name(\u0027snap\u0027)"},{"line_number":30,"context_line":"        self.assertRaises(exceptions.NotFound,"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAATH%2F%2FTio%3D","line":27,"in_reply_to":"AAAATH%2F%2FVi4%3D","updated":"2013-10-18 01:18:59.000000000","message":"Thanks for you comment first. The point is the snapshot Id parameter I want to test on this case. This is a situation that user pass a snapshot Id which is not match the rule of uuid in openstack, then it expects cinder returns NotFound exception(maybe BadRequest is better in this situation). It is different from test_create_snapshot_with_nonexistent_volume_id in my mind.","commit_id":"496f36833d64ae583c0af1fc3357f59580fa8837"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"86564c10ba6fd3ca93cfb59db17a8a3f81282167","unresolved":false,"context_lines":[{"line_number":15,"context_line":"import uuid"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from tempest.api.volume import base"},{"line_number":18,"context_line":"from tempest.common.utils.data_utils import rand_name"},{"line_number":19,"context_line":"from tempest import exceptions"},{"line_number":20,"context_line":"from tempest.test import attr"},{"line_number":21,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAATH%2F%2FNas%3D","line":18,"updated":"2013-10-21 12:26:24.000000000","message":"When creating a new file, here should be:\n from tempest.common.utils import data_utils","commit_id":"a551b04fcde4881ffbbd3a1f4c5c2a1715c355d9"},{"author":{"_account_id":8846,"name":"Hao Wang","display_name":"Hao Wang","email":"sxmatch1986@gmail.com","username":"sxmatch"},"change_message_id":"49d2a3ca260fd98a14d2f14906f95398f97f2a72","unresolved":false,"context_lines":[{"line_number":15,"context_line":"import uuid"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from tempest.api.volume import base"},{"line_number":18,"context_line":"from tempest.common.utils.data_utils import rand_name"},{"line_number":19,"context_line":"from tempest import exceptions"},{"line_number":20,"context_line":"from tempest.test import attr"},{"line_number":21,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAATH%2F%2FLFA%3D","line":18,"in_reply_to":"AAAATH%2F%2FNas%3D","updated":"2013-10-22 00:22:27.000000000","message":"OK,Thanks~","commit_id":"a551b04fcde4881ffbbd3a1f4c5c2a1715c355d9"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"86564c10ba6fd3ca93cfb59db17a8a3f81282167","unresolved":false,"context_lines":[{"line_number":26,"context_line":"    @attr(type\u003d[\u0027negative\u0027, \u0027gate\u0027])"},{"line_number":27,"context_line":"    def test_create_snapshot_with_nonexistent_volume_id(self):"},{"line_number":28,"context_line":"        # Create a snapshot with nonexistent volume id"},{"line_number":29,"context_line":"        s_name \u003d rand_name(\u0027snap\u0027)"},{"line_number":30,"context_line":"        self.assertRaises(exceptions.NotFound,"},{"line_number":31,"context_line":"                          self.snapshots_client.create_snapshot,"},{"line_number":32,"context_line":"                          str(uuid.uuid4()), display_name\u003ds_name)"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAATH%2F%2FNag%3D","line":29,"updated":"2013-10-21 12:26:24.000000000","message":"and\n s_name \u003d data_utils.rand_name(\u0027snap\u0027)","commit_id":"a551b04fcde4881ffbbd3a1f4c5c2a1715c355d9"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"86564c10ba6fd3ca93cfb59db17a8a3f81282167","unresolved":false,"context_lines":[{"line_number":34,"context_line":"    @attr(type\u003d[\u0027negative\u0027, \u0027gate\u0027])"},{"line_number":35,"context_line":"    def test_create_snapshot_without_passing_volume_id(self):"},{"line_number":36,"context_line":"        # Create a snapshot without passing volume id"},{"line_number":37,"context_line":"        s_name \u003d rand_name(\u0027snap\u0027)"},{"line_number":38,"context_line":"        self.assertRaises(exceptions.NotFound,"},{"line_number":39,"context_line":"                          self.snapshots_client.create_snapshot,"},{"line_number":40,"context_line":"                          None, display_name\u003ds_name)"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAATH%2F%2FNac%3D","line":37,"updated":"2013-10-21 12:26:24.000000000","message":"ditto","commit_id":"a551b04fcde4881ffbbd3a1f4c5c2a1715c355d9"}]}
