A few years ago, there was a discussion in one of the summit forums where users wanted to be able to come along to a generic OpenStack cloud and say "give me the flavor that has at least X GB RAM and Y GB disk space". At the time, the thoughts were that this could be done by doing a flavour list and then finding the smallest one which matched the requirements. Would that be an option or would it require some more Nova internals? For reserving, you could install the machine with a simple image and then let the user rebuild with their choice? Not sure if these meet what you'd like but it may allow a proof-of-concept without needing too many code changes. Tim -----Original Message----- From: Lars Kellogg-Stedman <lars@redhat.com> Date: Wednesday, 6 February 2019 at 16:44 To: Sean Mooney <smooney@redhat.com> Cc: "Ansari, Mohhamad Naved" <naved001@bu.edu>, Julia Kreger <jkreger@redhat.com>, Ian Ballou <iballou@redhat.com>, Kristi Nikolla <knikolla@bu.edu>, "openstack-discuss@lists.openstack.org" <openstack-discuss@lists.openstack.org>, Tzu-Mainn Chen <tzumainn@redhat.com> Subject: Re: [ironic] Hardware leasing with Ironic 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. Additionally, we also want the ability to acquire a node without provisioning it, so that a consumer can use their own provisioning tool. From Nova's perspective, I guess this would be like requesting a system without specifying an image. Is that possible right now? I'm sure I'll have other questions, but these are the first few that crop up. Thanks, -- Lars Kellogg-Stedman <lars@redhat.com> | larsks @ {irc,twitter,github} http://blog.oddbit.com/ |