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

Kumari, Madhuri madhuri.kumari at intel.com
Tue Jun 4 07:47:25 UTC 2019

Hi Mark,

Replied inline.

From: Mark Goddard [mailto:mark at stackhpc.com]
Sent: Monday, June 3, 2019 2:16 PM
To: Kumari, Madhuri <madhuri.kumari at intel.com>
Cc: openstack-discuss at lists.openstack.org
Subject: Re: [Nova][Ironic] Reset Configurations in Baremetals Post Provisioning

On Mon, 3 Jun 2019 at 06:57, Kumari, Madhuri <madhuri.kumari at intel.com<mailto:madhuri.kumari at intel.com>> wrote:
Hi Ironic, Nova Developers,

I am currently working on implementing Intel Speed Select(ISS) feature[1] in Ironic and I have a use case where I want to change ISS configuration in BIOS after a node is provisioned.
Such use case of changing the configuration post deployment is common and not specific to ISS. A real-life example for such a required post-deploy configuration change is the change of BIOS settings to disable hyper-threading in order to address a security vulnerability.
Currently there is no way of changing any BIOS configuration after a node is provisioned in Ironic. One solution for it is to allow manual deploy steps in Ironic[2](not implemented yet) which can be trigged by changing traits in Nova.
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).
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.

Hi, it is possible to modify a flavor (openstack flavor set <flavor> --property <key>=<value>). However, changes to a flavor are not reflected in instances that were previously created from that flavor. Internally, nova stores an 'embedded flavor' in the instance state. I'm not aware of any API that would allow modifying the embedded flavor, nor any process that would synchronise those changes to ironic.

The resize API in Nova allows changing the flavor of an instance. It does migration and reboots. But the API is not implemented for IronicDriver.
Though this doesn’t match our use case but seems to be the only available one that allows changing a flavor and ultimately a trait.

Thanks in advance.

[1] https://specs.openstack.org/openstack/ironic-specs/specs/not-implemented/support-intel-speed-select.html
[2] https://storyboard.openstack.org/#!/story/2005129

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-discuss/attachments/20190604/fbe58b1c/attachment-0001.html>

More information about the openstack-discuss mailing list