self.populate_filter_properties(request_spec,
filter_properties)
+ # If multiattach is enabled on a volume, we need to add
+ # multiattach to extra specs, so that the capability
+ # filtering is enabled.
+ multiattach = volume_properties.get('multiattach', False)
+ if multiattach and 'multiattach' not in resource_type.get(
+ 'extra_specs', {}):
+ resource_type['extra_specs'].update(
+ multiattach='<is> True')
+
# Find our local list of acceptable hosts by filtering and
# weighing our options. we virtually consume resources on
# it so subsequent selections can adjust accordingly.
self.max_over_subscription_ratio = 1.0
self.thin_provisioning_support = False
self.thick_provisioning_support = False
+ # Does this backend support attaching a volume to more than
+ # once host/instance?
+ self.multiattach = False
# PoolState for all pools
self.pools = {}
'thin_provisioning_support', False)
self.thick_provisioning_support = capability.get(
'thick_provisioning_support', False)
+ self.multiattach = capability.get('multiattach', False)
def update_pools(self, capability):
# Do nothing, since we don't have pools within pool, yet