[openstack-dev] [nova][cinder] How will nova advertise that volume multi-attach is supported?
Matt Riedemann
mriedem at linux.vnet.ibm.com
Thu Jan 14 16:11:28 UTC 2016
On 1/14/2016 9:42 AM, Dan Smith wrote:
>> It is however not ideal when a deployment is set up such that
>> multiattach will always fail because a hypervisor is in use which
>> doesn't support it. An immediate solution would be to add a policy so a
>> deployer could disallow it that way which would provide immediate
>> feedback to a user that they can't do it. A longer term solution would
>> be to add capabilities to flavors and have flavors act as a proxy
>> between the user and various hypervisor capabilities available in the
>> deployment. Or we can focus on providing better async feedback through
>> instance-actions, and other discussed async api changes.
>
> Presumably a deployer doesn't enable volumes to be set as multi-attach
> on the cinder side if their nova doesn't support it at all, right? I
> would expect that is the gating policy element for something global.
There is no policy in cinder to disallow creating multiattach-able
volumes [1]. It's just a property on the volume and somewhere in cinder
the volume drivers support the capability or not.
From a very quick look at the cinder code, the scheduler has a
capabilities filter for multiattach so if you try to create a
multiattach volume and don't have any hosts (volume backends) that
support that, you'd fail to create the volume with NoValidHost.
But lvm supports it, so if you have an lvm backend you can create the
multiattach volume, that doesn't mean you can use it in nova. So it
seems like you'd also need the same kind of capabilities filter in the
nova scheduler for this and that capability from the compute host would
come from the virt driver, of which only libvirt is going to support it
at first.
>
> Now, if multiple novas share a common cinder, then I guess it gets a
> little more confusing...
>
> --Dan
>
> __________________________________________________________________________
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
[1]
https://github.com/openstack/cinder/blob/master/cinder/api/v2/volumes.py#L407
--
Thanks,
Matt Riedemann
More information about the OpenStack-dev
mailing list