On Wed, 6 Feb 2019 at 15:47, Lars Kellogg-Stedman <lars@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=c... 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.