<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Jun 6, 2016 at 2:03 PM, Armando M. <span dir="ltr"><<a href="mailto:armamig@gmail.com" target="_blank">armamig@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote"><span class="">On 6 June 2016 at 10:06, Oleg Bondarev <span dir="ltr"><<a href="mailto:obondarev@mirantis.com" target="_blank">obondarev@mirantis.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr">Hi,<div><br></div><div>There are cases where it would be useful to know the version of Neutron (or any other project) from API, like during upgrades or in cross-project communication cases.</div><div>For example in <a href="https://review.openstack.org/#/c/246910/" target="_blank">https://review.openstack.org/#/c/246910/</a> Nova needs to know if Neutron sends vif-plugged event during live migration. To ensure this it should be enough to know Neutron is "Newton" or higher.</div><div><br></div><div>Not sure why it wasn't done before (or was it and I'm just blind?) so the question to the community is what are possible issues/downsides of exposing code version through the API?</div></div></blockquote><div><br></div></span><div>If you are not talking about features exposed through the API (for which they'd have a new extension being advertised), knowing that you're running a specific version of the code might not guarantee that a particular feature is available, especially in the case where the capability is an implementation detail that is config tunable (evil, evil). This may also lead to needless coupling between the two projects, as you'd still want to code defensively and assume the specific behavior may or may not be there.</div></div></div></div></blockquote><div><br></div><div>Agree, that's why we have extensions-list in the API, right?</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><br></div><div>I suspect that your case is slightly different in that the lack of a received event may be due to an error rather than a missing capability and you would not be able to distinguish the difference if not optimistically assume lack of capability. Then you need to make a "mental" note and come back to the code to assume a failure two cycles down the road from when your code merges. Definitely not a pretty workflow without advertising the new feature explicitly via the API.</div></div></div></div></blockquote><div><br></div><div>I'd not call it a feature, but a tiny behavior change for the neutron reference implementation: if patch <a href="https://review.openstack.org/#/c/246898/">https://review.openstack.org/#/c/246898/</a> merges in Newton then we can be sure that neutron (newton or higher) with ml2+ovs should send a particular event to nova during live migration (if it doesn't than it a bug, but it's another topic) and nova can be sure it should wait for this event.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><br></div><div>Thanks,</div><div>Oleg</div></div>
<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>
<br></blockquote></div><br></div></div>
<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>
<br></blockquote></div><br></div></div>