[openstack-dev] [ironic] proposing metalsmith for inclusion into ironic governance
Dmitry Tantsur
dtantsur at redhat.com
Mon Aug 27 16:09:15 UTC 2018
Hi all,
I would like propose the metalsmith library [1][2] for inclusion into the bare
metal project governance.
What it is and is not
---------------------
Metalsmith is a library and CLI tool for using Ironic+Neutron for provisioning
bare metal nodes. It can be seen as a lightweight replacement of Nova when Nova
is too much. The primary use case is single-tenant standalone installer.
Metalsmith is not a new service, it does not maintain any state, except for
state maintained by Ironic and Neutron. Metalsmith is not and will not be a
replacement for Nova in any proper cloud scenario.
Metalsmith does have some overlap with Bifrost, with one important feature
difference: its primary feature is a mini-scheduler that allows to pick a
suitable bare metal node for deployment.
I have a partial convergence plan as well! First, as part of this effort I'm
working on missing features in openstacksdk, which is used in the OpenStack
ansible modules, which are used in Bifrost. Second, I hope we can use it as a
helper for making Bifrost do scheduling decisions.
Background
----------
Metalsmith was born with the goal of replacing Nova in TripleO undercloud.
Indeed, the undercloud uses only a small subset of Nova features, while having
features that conflict with Nova's design (for example, bypassing the scheduler
[3]).
We wanted to avoid putting a lot of provisioning logic into existing TripleO
components. So I wrote a library that does not carry any TripleO-specific
assumptions, but does allow to address its needs.
Why under Ironic
----------------
I believe the goal of Metalsmith is fully aligned with what the Ironic team is
doing around standalone deployment. I think Metalsmith can provide a nice entry
point into standalone deployments for people who (for any reasons) will not use
Bifrost. With this change I hope to get more exposure for it.
The library itself is small, documented [2], follows OpenStack practices and
does not have particular operating requirements. There is nothing in it that is
not familiar to the Ironic team members.
Please let me know if you have any questions or concerns.
Dmitry
[1] https://github.com/openstack/metalsmith
[2] https://metalsmith.readthedocs.io/en/latest/
[3] http://tripleo.org/install/advanced_deployment/node_placement.html
More information about the OpenStack-dev
mailing list