[Nova][Ironic] Reset Configurations in Baremetals Post Provisioning

Kumari, Madhuri madhuri.kumari at intel.com
Thu Jun 6 15:19:48 UTC 2019

Hi Eric,

Thank you for your response. Please see my response inline.

>-----Original Message-----
>From: Eric Fried [mailto:openstack at fried.cc]
>Sent: Tuesday, June 4, 2019 12:07 AM
>To: openstack-discuss at lists.openstack.org
>Subject: Re: [Nova][Ironic] Reset Configurations in Baremetals Post
>Hi Madhuri-
>>     For this purpose, we would need to change a trait of the server’s
>>     flavor in Nova. This trait is mapped to a deploy step in Ironic
>>     which does some operation(change BIOS config and reboot in this use
>>     case).____
>If your trait was something that wasn't tracked in the flavor (or elsewhere in
>the instance's db record), you could just update it directly in placement.
>Then you'd have to figure out how to make ironic notice that and effect the
>change. (Or perhaps the other way around:
>tell ironic you want to make the change, and it updates the trait in
>placement as part of the process.)

In this case, the trait is stored with flavor so it is known to Nova. The new trait should be added in the database and the old one removed. For an ex:

An instance with flavor bm_hyperthreading with trait:CUSTOM_HYPERTHREADING_ON=required is created in Nova.
Now the user wants to turn off the hyperthreading, than they could update the flavor with trait:CUSTOM_HYPERTHREADING_OFF=required.
This should remove the trait:CUSTOM_HYPERTHREADING_ON and add trait:CUSTOM_HYPERTHREADING_OFF associated with the new flavor.

>>     In Nova, the only API to change trait in flavor is resize whereas
>>     resize does migration and a reboot as well.____
>>     In short, I am  looking for a Nova API that only changes the traits,
>>     and trigger the ironic deploy steps but no reboot and migration.
>>     Please suggest.____
>It's inconvenient, but I'm afraid "resize" is the right way to get this done,
>because that's the only way to get the appropriate validation and changes
>effected in the general case.

Yes, resize seems to be the only valid one.

>Now, there's a spec [1] we've been talking about for ~4.5 years that would
>let you do a resize without rebooting, when only a certain subset of
>properties are being changed. It is currently proposed for "upsizing"
>CPU, memory, and disk, and adding PCI devices, but clearly this ISS
>configuration would be a reasonable candidate to include.

Looking at the specs, it seems it's mostly talking about changing VMs resources without rebooting. However that's not the actual intent of the Ironic use case I explained in the email.
Yes, it requires a reboot to reflect the BIOS changes. This reboot can be either be done by Nova IronicDriver or Ironic deploy step can also do it.
So I am not sure if the spec actually satisfies the use case.
I hope to get more response from the team to get more clarity.

>In fact, it's possible that leading the charge with something this unobtrusive
>would reduce some of the points of contention that have stalled the
>blueprint up to this point.
>Food for thought.
>[1] https://review.opendev.org/#/c/141219/

More information about the openstack-discuss mailing list