cinder/cinder/objects
John Griffith 2fa6fdd784 Add shared_targets flag to Volumes
This adds a bool column to volumes to notify consumers if
the backend hosting the volume utilizes shared_targets
or not.

We use the volume-drivers capabilities report to determine
this and default to True if a driver doesn't report anything.

The purpose of the column is to notify Nova that it needs to
do some sort of locking around connect/disconnect to be sure
other volumes on the same node aren't sharing the iscsi connection.

Using a default of "True" is safe because although locking and doing
the extra checks might be somewhat inefficient it works fine because
it will just appear that there's never any other volumes in use.

So this change adds the column to the DB as well as an online migration
to go through and update any existing volumes.  With this and the
service_uuid column consumers will have everything the need to:
1. determine if they need to lock
2. use the service_uuid as a unique lock name

That last remaining change in this set will be to add the fields to
the view-builder and bump the API version.

Change-Id: If600c28c86511cfb83f38d92cf6418954fb4975e
2017-11-28 13:55:23 -07:00
..
__init__.py Add service dynamic log change/query 2017-05-16 13:37:35 +02:00
backup.py Support metadata for backup resource 2017-07-26 14:23:58 +08:00
base.py Add shared_targets flag to Volumes 2017-11-28 13:55:23 -07:00
cgsnapshot.py Fix replication freeze mechanism 2017-01-19 10:42:24 +01:00
cleanable.py Trivial fix PEP 8 coding style violation and typo 2017-05-03 19:47:22 +07:00
cleanup_request.py Add cleanable base object and cleanup request VO 2016-10-04 15:17:31 +02:00
cluster.py Make Replication support Active-Active 2017-01-19 10:42:18 +01:00
consistencygroup.py CG API changes for migrating CGs 2016-11-22 19:08:20 -05:00
dynamic_log.py Add service dynamic log change/query 2017-05-16 13:37:35 +02:00
fields.py Merge "Fix connection_info field in VolumeAttachment object" 2017-06-27 10:27:50 +00:00
group.py Add group to cluster when init host 2017-07-12 14:08:43 +08:00
group_snapshot.py OVO: Remove child_versions from list classes 2017-05-25 13:00:13 +02:00
group_type.py OVO: Remove child_versions from list classes 2017-05-25 13:00:13 +02:00
manageableresources.py Switch ManageableSnaphots & ManageableVolumes list to OVO 2017-01-25 00:41:30 +00:00
qos_specs.py OVO: Remove child_versions from list classes 2017-05-25 13:00:13 +02:00
request_spec.py Support create volume from backup 2017-11-28 09:16:59 +08:00
service.py Make service object UUID not nullable 2017-10-26 10:17:50 -06:00
snapshot.py Fix resource count for os-host show 2017-11-14 14:23:51 +00:00
volume.py Add shared_targets flag to Volumes 2017-11-28 13:55:23 -07:00
volume_attachment.py Fix VolumeAttachment OVO Volume lazy loading 2017-11-07 11:31:09 +01:00
volume_type.py Add is_replicated() to Volume and VolumeType OVOs 2017-05-30 10:16:05 +02:00