[openstack-dev] [Ironic] Supporting preserve_ephemeral in rebuild()

David Shrewsbury shrewsbury.dave at gmail.com
Tue Apr 22 17:16:42 UTC 2014


Hi,

I'm working on implementing rebuild() in the nova.virt.ironic driver so
that we can support the --preserve-ephemeral option. I have a design
question and would love some feedback on it.

The way to trigger a deploy is to set the provision state to ACTIVE.
However, for a rebuild, we cannot currently use this, since the API will
return an error saying that the target state and the current provision
state are the same, and return an error.

I can think of a couple of ways around this:

(1) If target and current provision state are ACTIVE, go ahead and allow
the (re)deploy.

(2) Add a new provision state that would set the instance to a sort of
temporary limbo state, expecting to be redeployed at some point by setting
target to ACTIVE (as normal).

Both changes would require changing NodeStatesController.
provision() for the new behaviour. However, I'm not sure which is
preferable, or if there is another option I haven't considered.

Thoughts?

-Dave
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20140422/8e2727c8/attachment.html>


More information about the OpenStack-dev mailing list