[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
https://docs.openstack.org/blazar/queens/index.html
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