[ironic] Hardware leasing with Ironic

Pierre Riteau pierre at stackhpc.com
Wed Feb 6 23:17:45 UTC 2019


On Wed, 6 Feb 2019 at 15:47, Lars Kellogg-Stedman <lars at redhat.com> wrote:
>
> On Fri, Feb 01, 2019 at 06:16:42PM +0000, Sean Mooney wrote:
> > > 1. Implement multi-tenancy either (a) directly in Ironic or (b) in a
> > > shim service that sits between Ironic and the client.
> > that shim service could be nova, which already has multi tenancy.
> > >
> > > 2. Implement a Blazar plugin that is able to talk to whichever service
> > > in (1) is appropriate.
> > and nova is supported by blazar
> > >
> > > 3. Work with Blazar developers to implement any lease logic that we
> > > think is necessary.
> > +1
> > by they im sure there is a reason why you dont want to have blazar drive
> > nova and nova dirve ironic but it seam like all the fucntionality would
> > already be there in that case.
>
> Sean,
>
> Being able to use Nova is a really attractive idea.  I'm a little
> fuzzy on some of the details, though, starting with how to handle node
> discovery.  A key goal is being able to parametrically request systems
> ("I want a system with a GPU and >= 40GB of memory").  With Nova,
> would this require effectively creating a flavor for every unique
> hardware configuration?  Conceptually, I want "... create server
> --flavor any --filter 'has_gpu and member_mb>40000' ...", but it's not
> clear to me if that's something we could do now or if that would
> require changes to the way Nova handles baremetal scheduling.

Such node selection is something you can already do with Blazar using
the parameters "hypervisor_properties" (which are hypervisor details
automatically imported from Nova) and "resource_properties" (extra
key/value pairs that can be tagged on the resource, which could be
has_gpu=true) when creating reservations:
https://developer.openstack.org/api-ref/reservation/v1/index.html?expanded=create-lease-detail#id3

I believe you can also do such filtering with the
ComputeCapabilitiesFilter directly with Nova. It was supposed to be
deprecated (https://review.openstack.org/#/c/603102/) but it looks
like it's staying around for now.

In either case, using Nova still requires a flavor to be selected, but
you could have a single "baremetal" flavor associated with a single
resource class for the whole baremetal cloud.



More information about the openstack-discuss mailing list