[ironic] Hardware leasing with Ironic

Sean Mooney smooney at redhat.com
Wed Jan 30 16:17:00 UTC 2019

On Wed, 2019-01-30 at 10:26 -0500, Lars Kellogg-Stedman wrote:
> Howdy.
> I'm working with a group of people who are interested in enabling some
> form of baremetal leasing/reservations using Ironic.  There are three
> key features we're looking for that aren't (maybe?) available right
> now:
> - multi-tenancy: in addition to the ironic administrator, we need to
>   be able to define a node "owner" (someone who controls a specific
>   node) and a node "consumer" (someone who has been granted temporary
>   access to a specific node).  An "owner" always has the ability to
>   control node power or access the console, can mark a node as
>   available or not, and can set lease policies (such as a maximum
>   lease lifetime) for a node.  A "consumer" is granted access to power
>   control and console only when they hold an active lease, and
>   otherwise has no control over the node.
> - leasing: a mechanism for marking nodes as available, requesting
>   nodes for a specific length of time, and returning those nodes to
>   the available pool when a lease has expired.
> - hardware only: we'd like the ability to leave os provisioning up to
>   the "consumer".  For example, after someone acquires a node via the
>   leasing mechanism, they can use Foreman to provisioning an os onto
>   the node.
> For example, a workflow might look something like this:
> - The owner of a baremetal node makes the node part of a pool of
>   available hardware. They set a maximum lease lifetime of 5 days.
> - A consumer issues a lease request for "3 nodes with >= 48GB of
>   memory and >= 1 GPU" and "1 node with >= 16GB of memory and >= 1TB
>   of local disk", with a required lease time of 3 days.
> - The leasing system finds available nodes matching the hardware
>   requirements and with owner-set lease policies matching the lease
>   lifetime requirements.
> - The baremetal nodes are assigned to the consumer, who can then
>   attach them to networks and make use of their own provisioning tools
>   (which may be another Ironic instance?) to manage the hardware. The
>   consumer is able to control power on these nodes and access the
>   serial console.
> - At the end of the lease, the nodes are wiped and returned to the
>   pool of available hardware. The previous consumer no longer has any
>   access to the nodes.
> Our initial thought is to implement this as a service that sits in
> front of Ironic and provides the multi-tenancy and policy logic, while
> using Ironic to actually control the hardware.
have you looked at blazar
it is basically desigedn to do this.
> Does this seem like a reasonable path forward? On paper there's a lot
> of overlap here between what we want and features provided by things
> like the Nova schedulers or the Placement api, but it's not clear
> we can leverage those at the baremetal layer.
> Thanks for your thoughts,

More information about the openstack-discuss mailing list