[openstack-dev] [TripleO][Ironic] Unique way to get a registered machine?
Steve Kowalik
steven at wedontsleep.org
Fri Aug 22 06:32:04 UTC 2014
Hi,
TripleO has a bridging script we use to register nodes with a baremetal
service (eg: Ironic or Nova-bm), called "register-nodes", which given a
list of node descriptions (in JSON), will register them with the
appropriate baremetal service.
At the moment, if you run register-nodes a second time with the same
list of nodes, it will happily try and register them and then blow up
when Ironic or Nova-bm returns an error. If operators are going to
update their master list of nodes to add or remove machines and then run
register-nodes again, we need a way to skip registering nodes that are
already -- except that I don't really want to extract out the UUID of
the registered nodes, because that puts an onus on the operators to make
sure that the UUID is listed in the master list, and that would be mean
requiring manual data entry, or some way to get that data back out in
the tool they use to manage their master list, which may not even have
an API. Because our intent is for this bridge between an operators
master list, and a baremetal service, the intent is for this to run
again and again when changes happen.
This means we need a way to uniquely identify the machines in the list
so we can tell if they are already registered.
For the pxe_ssh driver, this means the set of MAC addresses must intersect.
For other drivers, we think that the pm_address for each machine will
be unique. Would it be possible add some advice to that effect to
Ironic's driver API?
Cheers,
--
Steve
"Stop breathing down my neck!"
"My breathing is merely a simulation."
"So is my neck! Stop it anyway."
- EMH vs EMH, USS Prometheus
More information about the OpenStack-dev
mailing list