cinder/cinder/cmd
Eric Harney 5f9c93b194 Prevent double-attachment race in attachment_reserve
If multiple attachments are requested simultaneously,
a volume can be attached to an instance more than once.

This fixes this problem by detecting that a race has
occurred in _attachment_reserve, and backing out one of
the invalid attachment records.

This means that if the attachment API is called
repeatedly and quickly for the same volume, some requests
may fail, but this is much better than incorrectly
creating multiple attachments.

Closes-Bug: #1833736

Change-Id: Ic2463338b698c5cf805c0ae06d0229f54f64b3fc
(cherry picked from commit 7f3a77b66f)
(cherry picked from commit eadff0df7e)
Conflicts:
	cinder/tests/unit/attachments/test_attachments_api.py
Depends-On: https://review.opendev.org/673851/
2019-08-01 13:34:44 -04:00
..
__init__.py Use pbr entry_points to setup the cinder scripts 2014-12-08 09:53:22 -05:00
api.py Prevent double-attachment race in attachment_reserve 2019-08-01 13:34:44 -04:00
backup.py Support multiple processes on Cinder Backup 2018-03-14 10:52:25 +01:00
manage.py Merge "cinder-manage online_data_migrations fixes" into stable/rocky 2018-11-26 21:56:23 +00:00
rtstool.py Get rid of conditional rtslib_fb imports 2018-06-20 16:18:21 -05:00
scheduler.py Merge "Add 'conf' param for TextGuruMeditation autorun setup" 2016-03-03 19:01:46 +00:00
volume.py Fix cinder-volume uses latest req-id for all log calls 2018-06-08 13:48:32 +00:00
volume_usage_audit.py Remove unused print_function imports 2017-11-02 11:06:58 -04:00