[openstack-dev] [nova] volume affinity filter for nova scheduler
Joe Gordon
joe.gordon0 at gmail.com
Fri Jul 19 20:33:21 UTC 2013
On Fri, Jul 12, 2013 at 1:57 AM, Robert Collins
<robertc at robertcollins.net>wrote:
> On 11 July 2013 02:39, Russell Bryant <rbryant at redhat.com> wrote:
>
> >> We'll probably need something like this for Ironic with persistent
> >> volumes on machines - yes its a rare case, but when it matters, it
> >> matters a great deal.
> >
> > I believe you, but I guess I'd like to better understand how this works
> > to make sure what gets added actually solves your use case. Is there
> > already support for Cinder managed persistent volumes that live on
> > baremetal nodes?
>
> There isn't, but we discussed it with Cinder folk in Portland.
>
> Basic intent is this:
> - we have a cinder 'Ironic' backend.
> - volume requests for the Ironic backend are lazy provisioned: they
> just allocate a UUID on creation
> - nova-bm/Ironic will store a volume <-> node mapping
> - 'nova boot' without a volume spec will only select nodes with no
> volumes associated to them.
> - 'nova boot' with a volume spec will find an existing node with
> those volumes mapped to it, or if none exists create the volume
> mapping just-in-time
> - the deployment ramdisk would setup the volume on the hardware
> [using hardware RAID]
> - where there isn't hardware RAID we'd let the instance take care
> of how to setup the persistent storage - because we don't have a
> translation layer in place we can't assume lvm or windows volume
> manager or veritas or.....
>
> The obvious gap between intent and implementation here is that choices
> about nodes happen in the nova scheduler, so we need the scheduler to
> be able to honour four cases:
> - baremetal flavor with no volumes requested, gets a baremetal node
> with no volumes mapped
> - baremetal flavor with volumes requested, just one baremetal node
> with any of those volumes exist -> that node
> - baremetal flavor with volumes requested, > one baremetal node with
> any of those volumes exist -> error
> - baremetal flavor with volumes requested, no nodes with any of those
> volumes -> pick any node that has enough disks to supply the volume
> definitions
>
>
Wouldn't this all be possible today if we added a ironic nova filter?
Perhaps the current design wouldn't very performant though. We
can even keep this filter in the ironic repo instead of nova.
> Writing this it seems like the nova scheduler may be a tricky fit;
> perhaps we should - again- reevaluate just how this all glues
> together?
>
> -Rob
> --
> Robert Collins <rbtcollins at hp.com>
> Distinguished Technologist
> HP Cloud Services
>
> _______________________________________________
> OpenStack-dev mailing list
> OpenStack-dev at lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20130719/614a4725/attachment.html>
More information about the OpenStack-dev
mailing list