<div dir="ltr">Guys. Thank you for the pointing to the this gap.<div><br></div><div>It probably was wrong missed before assumption about nova extension.</div><div>I was personally sure, that it this extension always is installed.</div><div>Currently we have couple resources OS::Nova::Server and AWS::EC2::Instance, which uses this extension with wrong assumption, that extension is presented in nova.</div><div><br></div><div>Pratik, I have seen bug created by you and agree, that it's bug.<br></div><div>We will fix this during Mitaka, also I suppose, that it should be backported to previous releases (may need additional work, but it will be done, I supppose).</div><div><br><div><br></div></div></div><div class="gmail_extra"><br clear="all"><div><div class="gmail_signature"><div dir="ltr">Regards,<div>Sergey.</div></div></div></div>
<br><div class="gmail_quote">On 25 September 2015 at 23:08, Monty Taylor <span dir="ltr"><<a href="mailto:mordred@inaugust.com" target="_blank">mordred@inaugust.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On 09/25/2015 02:32 PM, Pratik Mallya wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hello Heat Team,<br>
<br>
I was wondering if OpenStack Heat assumes that the Nova extensions api<br>
would always exist in a cloud? My impression was that since these<br>
features are extensions, they may or may not be implemented by the cloud<br>
provider and hence Heat must not rely on it being present.<br>
<br>
My question is prompted by this code change: [0] where it is assumed<br>
that the os-interfaces extension [1] is implemented.<br>
<br>
If we cannot rely on that assumption, then that code would need to be<br>
changed with a 404 guard since that endpoint may not exist and the nova<br>
client may thus raise a 404.<br>
</blockquote>
<br></span>
Correct. Extensions are not everywhere and so you must either query the extensions API to find out what extensions the cloud has, or you must 404 guard.<br>
<br>
Of course, you can't ONLY 404 guard, because the cloud may also throw unauthorized - so querying the nova extension API is the more correct way to deal with it.<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">
Thanks,<br>
Pratik Mallya<br>
Software Developer<br>
Rackspace, Inc.<br>
<br>
[0]:<br>
<a href="https://github.com/openstack/heat/commit/54c26453a0a8e8cb574858c7e1d362d0abea3822#diff-b3857cb91556a2a83f40842658589e4fR163" rel="noreferrer" target="_blank">https://github.com/openstack/heat/commit/54c26453a0a8e8cb574858c7e1d362d0abea3822#diff-b3857cb91556a2a83f40842658589e4fR163</a><br>
[1]: <a href="http://developer.openstack.org/api-ref-compute-v2-ext.html#os-interface" rel="noreferrer" target="_blank">http://developer.openstack.org/api-ref-compute-v2-ext.html#os-interface</a><br>
<br>
<br></span>
__________________________________________________________________________<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>
<br>
</blockquote>
<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><br></div>