<div dir="ltr"><div dir="ltr">Thank you for starting this!<br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Dec 13, 2019 at 2:48 AM melanie witt <<a href="mailto:melwittt@gmail.com">melwittt@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hey all,<br>
<br>
Recently I'm trying to figure out how to fulfill a use case in the nova <br>
ironic driver around treating an ironic node's 'cpu_arch' as optional.<br>
<br>
This is coming up as a result of a downstream issue [1] and recent <br>
change on the ironic side [2] to make cpu_arch optional for iscsi <br>
deployments. The change makes it so that ironic will _not_ include a <br>
'cpu_arch' attribute as part of a node's properties if iscsi.<br>
<br>
On the nova side, we have a filter scheduler ImagePropertiesFilter which <br>
will only match a node if the architecture, hypervisor_type, and vm_mode <br>
in the glance image properties match the cpu_arch of the node. We have <br>
always pulled the cpu_arch of the from the ironic node properties since <br>
the original ironic driver code was added to nova.<br>
<br>
Now, the use case I'm trying to solve today [3] is where an iscsi ironic <br>
deployment has no cpu_arch specified on the ironic side and the deployer <br>
wants to use glance images with architecture specified in their image <br>
properties. Today (and historically always) the request to create an <br>
instance in this situation will fail with NoValidHost because the nova <br>
ironic driver could not determine a cpu_arch from the ironic node.<br></blockquote><div><br></div><div>I tend to think that if the image requires an explicit architecture, we should keep failing. However, hypervisor_type==baremetal should probably be a valid case (and I don't really know what vm_mode is, so cannot comment here).<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
My questions are:<br>
<br>
* Is this a valid thing to want to do?<br>
<br>
* If if is valid, what is the correct way that we should handle missing <br>
cpu_arch in the nova ironic driver? Should we guess at a default <br>
cpu_arch? If so, how? Or should we add a new config option where a <br>
default cpu_arch can be specified? Or, other?<br></blockquote><div><br></div><div>Worst case, we can document cpu_arch as being required for nova. A bit inconvenient, but certainly not the end of the world.</div><div><br></div><div>Dmitry<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
Thanks in advance for any input you can offer.<br>
<br>
Cheers,<br>
-melanie<br>
<br>
[1] <a href="https://bugzilla.redhat.com/show_bug.cgi?id=1653788" rel="noreferrer" target="_blank">https://bugzilla.redhat.com/show_bug.cgi?id=1653788</a><br>
[2] <a href="https://review.opendev.org/620634" rel="noreferrer" target="_blank">https://review.opendev.org/620634</a><br>
[3] <a href="https://bugzilla.redhat.com/show_bug.cgi?id=1688838" rel="noreferrer" target="_blank">https://bugzilla.redhat.com/show_bug.cgi?id=1688838</a><br>
<br>
</blockquote></div></div>