<div dir="ltr">At some point the client sometimes made multiple API calls.  I think (c) seems right too.  <div><br></div><div>Tim </div></div><br><div class="gmail_quote"><div dir="ltr">On Sun, Jan 22, 2017 at 1:15 AM Monty Taylor <<a href="mailto:mordred@inaugust.com">mordred@inaugust.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 01/21/2017 04:07 AM, Eric K wrote:<br class="gmail_msg">
> Hi all,<br class="gmail_msg">
><br class="gmail_msg">
> I was getting ready to request release of congress client, but I<br class="gmail_msg">
> remembered that the new client causes feature regression if used with<br class="gmail_msg">
> older versions of congress. Specifically, new client with pre-Ocata<br class="gmail_msg">
> congress cannot refer to datasource by name, something that could be done<br class="gmail_msg">
> with pre-Ocata client.<br class="gmail_msg">
><br class="gmail_msg">
> Here¹s the patch of interest: <a href="https://review.openstack.org/#/c/407329/" rel="noreferrer" class="gmail_msg" target="_blank">https://review.openstack.org/#/c/407329/</a><br class="gmail_msg">
> <<a href="https://review.openstack.org/#/c/407329/4" rel="noreferrer" class="gmail_msg" target="_blank">https://review.openstack.org/#/c/407329/4</a>><br class="gmail_msg">
><br class="gmail_msg">
> A few questions:<br class="gmail_msg">
><br class="gmail_msg">
> Are we okay with the regression? Seems like it could cause a fair bit of<br class="gmail_msg">
> annoyance for users.<br class="gmail_msg">
<br class="gmail_msg">
This is right. New client lib should always continue to work with old<br class="gmail_msg">
server. (A user should be able to just pip install python-congressclient<br class="gmail_msg">
and have it work regardless of when their operator decides to upgrade or<br class="gmail_msg">
not upgrade their cloud)<br class="gmail_msg">
<br class="gmail_msg">
>    1. If we¹re okay with that, what¹s the best way to document that<br class="gmail_msg">
> pre-Ocata congress should be used with pre-Ocata client?<br class="gmail_msg">
>    2. If not, how we avoid the regression? Here are some candidates I can<br class="gmail_msg">
> think of.<br class="gmail_msg">
>           a. Client detects congress version and act accordingly. I don¹t<br class="gmail_msg">
> think this is possible, nor desirable for client to be concerned with<br class="gmail_msg">
> congress version not just API version.<br class="gmail_msg">
>           b. Release backward compatible API version 1.1 that supports<br class="gmail_msg">
> getting datasource by name_or_id. Then client will take different paths<br class="gmail_msg">
> depending on API version.<br class="gmail_msg">
>           c. If datasource not found, client falls back on old method of<br class="gmail_msg">
> retrieving list of datasources to resolve name into UUID. This would work,<br class="gmail_msg">
> but causes extra API & DB call in many cases.<br class="gmail_msg">
>           d. Patch old versions of Congress to support getting datasource<br class="gmail_msg">
> by name_or_id. Essentially, it was always a bug that the API didn¹t<br class="gmail_msg">
> support name_or_id.<br class="gmail_msg">
<br class="gmail_msg">
I'm a fan of d - but I don't believe it will help - since the problem<br class="gmail_msg">
will still manifest for users who do not have control over the server<br class="gmail_msg">
installation.<br class="gmail_msg">
<br class="gmail_msg">
I'd suggest c is the most robust. It _is_ potentially more expensive -<br class="gmail_msg">
but that's a good motivation for the deployer to upgrade their<br class="gmail_msg">
installation of congress without negatively impacting the consumer in<br class="gmail_msg">
the  meantime.<br class="gmail_msg">
<br class="gmail_msg">
Monty<br class="gmail_msg">
<br class="gmail_msg">
__________________________________________________________________________<br class="gmail_msg">
OpenStack Development Mailing List (not for usage questions)<br class="gmail_msg">
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" class="gmail_msg" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br class="gmail_msg">
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" class="gmail_msg" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br class="gmail_msg">
</blockquote></div>