On Fri, 14 Jun 2019 at 11:18, Kumari, Madhuri <madhuri.kumari@intel.com> wrote:
Hi Eric,
Thank you for following up and the notes.
The spec[4] is related but a complex one too with all the migration implementation. So I will try to put a new spec with a limited implementation of resize.
I was talking with Madhuri in #openstack-ironic about this today [1]. While talking it through I raised some concerns about the nova resize-based design, which I'll try to outline here. When we deploy a node using deploy templates, we have the following sequence. * user picks a flavor and image, which may specify required traits * selected traits are pushed to ironic via instance_info.traits * ironic finds all deploy templates with name matching one of the selected traits * deploy steps from the matching templates are used when provisioning the node The deploy steps could include RAID config, BIOS config, or something else. If we now resize the instance to a different flavor which has a different set of traits, we would end up with a new set of traits, which map a new set of deploy templates, with a new set of steps. How do we apply this change? Should we execute all matching deploy steps, which could (e.g. RAID) result in losing data? Or should we attempt to execute only those deploy steps that have changed? Would that always work? I don't think we keep a record of the steps used to provision a node, so if templates have changed in the intervening time then we might not get a correct diff. The original RFE [2] just called for specifying a list of deploy steps via ironic API, however this doesn't really work for the nova model. [1] http://eavesdrop.openstack.org/irclogs/%23openstack-ironic/latest.log.html#t... [2] https://storyboard.openstack.org/#!/story/2005129
Regards, Madhuri
-----Original Message----- From: Eric Fried [mailto:openstack@fried.cc] Sent: Thursday, June 13, 2019 11:15 PM To: openstack-discuss@lists.openstack.org Subject: Re: [Nova][Ironic] Reset Configurations in Baremetals Post Provisioning
We discussed this today in the nova meeting [1] with a little bit of followup in the main channel after the meeting closed [2].
There seems to be general support (or at least not objection) for implementing "resize" for ironic, limited to:
- same host [3] - just this feature (i.e. "hyperthreading") or possibly "anything deploy template"
And the consensus was that it's time to put this into a spec.
There was a rocky spec [4] that has some overlap and could be repurposed; or a new one could be introduced.
efried
[1] http://eavesdrop.openstack.org/meetings/nova/2019/nova.2019-06-13- 14.00.log.html#l-309 [2] http://eavesdrop.openstack.org/irclogs/%23openstack-nova/%23openstack- nova.2019-06-13.log.html#t2019-06-13T15:02:10 (interleaved) [3] an acknowledged wrinkle here was that we need to be able to detect at the API level that we're dealing with an Ironic instance, and ignore the allow_resize_to_same_host option (because always forcing same host) [4] https://review.opendev.org/#/c/449155/