<div dir="ltr"><div dir="ltr"><div dir="ltr"><br><br><div class="gmail_quote"><div dir="ltr">On Fri, Sep 28, 2018 at 12:50 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">On Thu, 27 Sep 2018 17:23:26 -0500, Matt Riedemann wrote:<br>
> On 9/27/2018 3:02 PM, Jay Pipes wrote:<br>
>> A great example of this would be the proposed "deploy template" from<br>
>> [2]. This is nothing more than abusing the placement traits API in order<br>
>> to allow passthrough of instance configuration data from the nova flavor<br>
>> extra spec directly into the nodes.instance_info field in the Ironic<br>
>> database. It's a hack that is abusing the entire concept of the<br>
>> placement traits concept, IMHO.<br>
>><br>
>> We should have a way *in Nova* of allowing instance configuration<br>
>> key/value information to be passed through to the virt driver's spawn()<br>
>> method, much the same way we provide for user_data that gets exposed<br>
>> after boot to the guest instance via configdrive or the metadata service<br>
>> API. What this deploy template thing is is just a hack to get around the<br>
>> fact that nova doesn't have a basic way of passing through some collated<br>
>> instance configuration key/value information, which is a darn shame and<br>
>> I'm really kind of annoyed with myself for not noticing this sooner. :(<br>
> <br>
> We talked about this in Dublin through right? We said a good thing to do<br>
> would be to have some kind of template/profile/config/whatever stored<br>
> off in glare where schema could be registered on that thing, and then<br>
> you pass a handle (ID reference) to that to nova when creating the<br>
> (baremetal) server, nova pulls it down from glare and hands it off to<br>
> the virt driver. It's just that no one is doing that work.<br>
<br>
If I understood correctly, that discussion was around adding a way to <br>
pass a desired hardware configuration to nova when booting an ironic <br>
instance. And that it's something that isn't yet possible to do using <br>
the existing ComputeCapabilitiesFilter. Someone please correct me if I'm <br>
wrong there.<br>
<br>
That said, I still don't understand why we are talking about deprecating <br>
the ComputeCapabilitiesFilter if there's no supported way to replace it <br>
yet. If boolean traits are not enough to replace it, then we need to <br>
hold off on deprecating it, right? Would the <br>
template/profile/config/whatever in glare approach replace what the <br>
ComputeCapabilitiesFilter is doing or no? Sorry, I'm just not clearly <br>
understanding this yet.<br>
<br></blockquote><div><br></div><div>I just feel some new traits have to be defined, like Jay said, and some work has to be done on the Ironic side to make sure they expose them as traits and not by the old way.</div><div>That leaves tho a question : does Ironic support custom capabilities ? If so, that leads to Jay's point about the key/pair information that's not intented for traits. If we all agree on the fact that traits shouldn't be allowed for key/value pairs, could we somehow imagine Ironic to change the customization mechanism to be boolean only ?</div><div><br></div><div>Also, I'm a bit confused whether operators make use of Ironic capabilities for fancy operational queries, like the ones we have in <a href="https://github.com/openstack/nova/blob/3716752/nova/scheduler/filters/extra_specs_ops.py#L24-L35">https://github.com/openstack/nova/blob/3716752/nova/scheduler/filters/extra_specs_ops.py#L24-L35</a> and if Ironic correctly documents how to put such things into traits ? (eg. say CUSTOM_I_HAVE_MORE_THAN_2_GPUS)</div><div><br></div><div>All of the above makes me a bit worried by a possible ComputeCapabilitiesFilter deprecation, if we aren't yet able to provide a clear upgrade path for our users.</div><div><br></div><div>-Sylvain</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">
-melanie<br>
<br>
<br>
<br>
<br>
__________________________________________________________________________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
</blockquote></div></div></div></div>