)]}'
{"cinder/tests/test_volume.py":[{"author":{"_account_id":15556,"name":"luyingxi","email":"luyingxi@huawei.com","username":"lu"},"change_message_id":"c18ae6aef20e216ccb35e56975356252af13d6e9","unresolved":false,"context_lines":[{"line_number":2486,"context_line":"            \u0027status\u0027: \u0027attaching\u0027,"},{"line_number":2487,"context_line":"            \u0027multiattach\u0027: True"},{"line_number":2488,"context_line":"        }"},{"line_number":2489,"context_line":""},{"line_number":2490,"context_line":"        volume_get.return_value \u003d fake_volume"},{"line_number":2491,"context_line":"        volume_update.return_value \u003d fake_volume"},{"line_number":2492,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5aa745d1_6b1ddfbc","line":2489,"updated":"2015-04-16 07:10:10.000000000","message":"the last item in the dictionary should have a trailing comma.\nhttp://docs.openstack.org/developer/hacking/#dictionaries-lists","commit_id":"3bf22486e8250655560b0e97e30fc5388bd34dd3"},{"author":{"_account_id":15556,"name":"luyingxi","email":"luyingxi@huawei.com","username":"lu"},"change_message_id":"c18ae6aef20e216ccb35e56975356252af13d6e9","unresolved":false,"context_lines":[{"line_number":2504,"context_line":"            \u0027status\u0027: \u0027attaching\u0027,"},{"line_number":2505,"context_line":"            \u0027multiattach\u0027: False"},{"line_number":2506,"context_line":"        }"},{"line_number":2507,"context_line":""},{"line_number":2508,"context_line":"        with mock.patch.object(db, \u0027volume_get\u0027) as mock_volume_get:"},{"line_number":2509,"context_line":"            mock_volume_get.return_value \u003d fake_volume"},{"line_number":2510,"context_line":"            self.assertRaises(exception.InvalidVolume,"}],"source_content_type":"text/x-python","patch_set":1,"id":"5aa745d1_4b7903fc","line":2507,"updated":"2015-04-16 07:10:10.000000000","message":"same","commit_id":"3bf22486e8250655560b0e97e30fc5388bd34dd3"}],"cinder/volume/api.py":[{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"3736eeb3154036f32f949e3755eb8bfce4cd0965","unresolved":false,"context_lines":[{"line_number":484,"context_line":"        elif volume[\u0027status\u0027] in [\u0027in-use\u0027, \u0027attaching\u0027]:"},{"line_number":485,"context_line":"            if volume[\u0027multiattach\u0027]:"},{"line_number":486,"context_line":"                if volume[\u0027status\u0027] \u003d\u003d \u0027in-use\u0027:"},{"line_number":487,"context_line":"                    self.update(context, volume, {\"status\": \"attaching\"})"},{"line_number":488,"context_line":"            else:"},{"line_number":489,"context_line":"                msg \u003d _(\"Volume must be multiattachable to reserve again.\")"},{"line_number":490,"context_line":"                LOG.error(msg)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7aaa499b_74f145cd","line":487,"updated":"2015-04-11 03:49:32.000000000","message":"If it is \u0027attaching\u0027, that means the first attach operation is in progress but not complete yet. If you allow it to attach to a different host/vm at this time, will there be problems?  I wonder if it is better to fail the 2nd attach request when the 1st one is not complete yet.","commit_id":"3bf22486e8250655560b0e97e30fc5388bd34dd3"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"e098c22caaaa3d339406d0b95ccce782037afd8d","unresolved":false,"context_lines":[{"line_number":484,"context_line":"        elif volume[\u0027status\u0027] in [\u0027in-use\u0027, \u0027attaching\u0027]:"},{"line_number":485,"context_line":"            if volume[\u0027multiattach\u0027]:"},{"line_number":486,"context_line":"                if volume[\u0027status\u0027] \u003d\u003d \u0027in-use\u0027:"},{"line_number":487,"context_line":"                    self.update(context, volume, {\"status\": \"attaching\"})"},{"line_number":488,"context_line":"            else:"},{"line_number":489,"context_line":"                msg \u003d _(\"Volume must be multiattachable to reserve again.\")"},{"line_number":490,"context_line":"                LOG.error(msg)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3afb71cf_28756e97","line":487,"in_reply_to":"7aaa499b_74432c43","updated":"2015-06-08 12:46:09.000000000","message":"I agree, if it\u0027s attaching it should throw 409","commit_id":"3bf22486e8250655560b0e97e30fc5388bd34dd3"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"6d511a84e4f7e175fdef55bea5bdf45f4225c0c8","unresolved":false,"context_lines":[{"line_number":484,"context_line":"        elif volume[\u0027status\u0027] in [\u0027in-use\u0027, \u0027attaching\u0027]:"},{"line_number":485,"context_line":"            if volume[\u0027multiattach\u0027]:"},{"line_number":486,"context_line":"                if volume[\u0027status\u0027] \u003d\u003d \u0027in-use\u0027:"},{"line_number":487,"context_line":"                    self.update(context, volume, {\"status\": \"attaching\"})"},{"line_number":488,"context_line":"            else:"},{"line_number":489,"context_line":"                msg \u003d _(\"Volume must be multiattachable to reserve again.\")"},{"line_number":490,"context_line":"                LOG.error(msg)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7aaa499b_74432c43","line":487,"in_reply_to":"7aaa499b_74f145cd","updated":"2015-04-14 18:45:40.000000000","message":"yah I intentionally didn\u0027t allow this because it might cause problems for some arrays.  I don\u0027t think this is really a good idea.   It\u0027s better to be safe than sorry IMHO.  Let the existing attaching finish.","commit_id":"3bf22486e8250655560b0e97e30fc5388bd34dd3"}]}
