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

Clint Byrum clint at fewbar.com
Tue Apr 22 17:52:53 UTC 2014


Excerpts from David Shrewsbury's message of 2014-04-22 10:16:42 -0700:
> 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).

I'm not familiar with Ironic's internals, but I think rebuild is a
special state, since it involves a pretty violent change to the box
(overwriting the disks) that is definitely not the same as being in an
ACTIVE state where the user might expect it would be working.



More information about the OpenStack-dev mailing list