<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Eric Fried <openstack@fried.cc> 于2019年6月7日周五 上午1:59写道:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">> 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.<br>
> 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.<br>
> So I am not sure if the spec actually satisfies the use case.<br>
> I hope to get more response from the team to get more clarity.<br>
<br>
Waitwait. The VM needs to be rebooted for the BIOS change to take<br>
effect? So (non-live) resize would actually satisfy your use case just<br>
fine. But the problem is that the ironic driver doesn't support resize<br>
at all?<br>
<br>
Without digging too hard, that seems like it would be a fairly<br>
straightforward thing to add. It would be limited to only "same host"<br>
and initially you could only change this one attribute (anything else<br>
would have to fail).<br>
<br>
Nova people, thoughts?<br>
<br></blockquote><div><br></div><div>Contribute another idea.</div><div><br></div><div>So just as Jay said in this thread. Those <span style="color:rgb(80,0,80)">CUSTOM_HYPERTHREADING_ON and </span><span style="color:rgb(80,0,80)">CUSTOM_HYPERTHREADING_OFF</span> are configuration. Those</div><div>configuration isn't used for scheduling. Actually, Traits is designed for scheduling.</div><div><br></div><div>So yes, there should be only one trait. CUSTOM_HYPERTHREADING, this trait is used for indicating the host support HT. About whether enable it in the instance is configuration info.</div><div><br></div><div>That is also pain for change the configuration in the flavor. The flavor is the spec of instance's virtual resource, not the configuration.</div><div><br></div><div>So another way is we should store the configuration into another place. Like the server's metadata.</div><div><br></div><div>So for the HT case. We only fill the CUSTOM_HYPERTHREADING trait in the flavor, and fill a server metadata 'hyperthreading_config=on' in server metadata. The nova will find out a BM node support HT. And ironic based on the server metadata 'hyperthreading_config=on' to enable the HT.</div><div><br></div><div>When change the configuration of HT to off, the user can update the server's metadata. Currently, the nova will send a rpc call to the compute node and calling a virt driver interface when the server metadata is updated. In the ironic virt driver, it can trigger a hyper-threading configuration deploy step to turn the HT off, and do a reboot of the instance. (The reboot is a step inside deploy-step, not part of ironic virt driver flow)</div><div> </div><div>But yes, this changes some design to the original deploy-steps and deploy-templates. And we fill something into the server's metadata which I'm not sure nova people like it.</div><div><br></div><div>Anyway, just put my idea at here.</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
efried<br>
.<br>
<br>
</blockquote></div></div>