cinder/cinder/cmd
Eric Harney 90e03570cc 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
(cherry picked from commit 5f9c93b194)
2019-08-13 14:23:34 -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-13 14:23:34 -04:00
backup.py backup: set default swiftclient log level to WARN 2018-01-25 15:50:34 -05:00
manage.py Fix non iSCSI attach serialization 2018-10-30 14:49:19 +01:00
rtstool.py rtstool surrounds IPv6 addresses by brackets 2016-03-28 16:20:42 +03: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-08-17 13:02:43 +00:00
volume_usage_audit.py Remove unused print_function imports 2017-11-02 11:06:58 -04:00