<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Jun 25, 2015 at 7:10 AM, Sean Dague <span dir="ltr"><<a href="mailto:sean@dague.net" target="_blank">sean@dague.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div><div>On 06/25/2015 04:42 AM, Ken'ichi Ohmichi wrote:<br>
> 2015-06-25 17:25 GMT+09:00 Lucas Alvares Gomes <<a href="mailto:lucasagomes@gmail.com" target="_blank">lucasagomes@gmail.com</a>>:<br>
>> Hi,<br>
>><br>
>>> If renaming "Ironic" to the other, is it still necessary to keep the<br>
>>> name in the header?<br>
>>> There are some projects which are already renamed like Neutron, Zaqar<br>
>>> and the others.<br>
>>> So "OpenStack-API-Version" which doesn't contain project name seems<br>
>>> reasonable for me.<br>
>><br>
>> I don't think we should make decisions base on those cases, these are<br>
>> exceptions.<br>
><br>
> I don't think so.<br>
> Renames of projects have already happened too many time even if we can<br>
> say "they are exceptions".<br>
> In big tent, the renames will happen more.<br>
><br>
>> But even if it happens the name in the header is the least<br>
>> problematic thing. When a project is renamed, apart from the massive<br>
>> refactor in the code other things have to change, packaging, service<br>
>> files, etc...<br>
><br>
> Internal implementation(like packaging, service files, directory<br>
> structures, etc) is not matter for end users at all.<br>
> API header is an interface between services to end users.<br>
> The area of influence of API header is much bigger than the implementation.<br>
><br>
> Now I can see the first Jay's point.<br>
> Yeah, Nova and Ironic are implementations, and we cannot say "The<br>
> implementation rename never happens." because Neutron has happened.<br>
><br>
>> For the headers you could have both, one with the old<br>
>> name and one with the new name for a while to give people time to<br>
>> migrate and then remove the old name. Just like deprecating other<br>
>> stuff, e.g a configuration option.<br>
><br>
> That seems painful to end users.<br>
> So what is disagreeing point against "OpenStack-API-Version" here?<br>
<br>
</div></div>My concern remains that there is no such thing as an<br>
OpenStack-API-Version. There is no place to look it up. It's like asking<br>
for the OpenStack Database Version. This is a construct which is project<br>
scoped, and makes no sense outside of that project.<br>
<br>
For someone that's extremely familiar with what they are doing, they'll<br>
understand that <a href="http://service.provider/compute" rel="noreferrer" target="_blank">http://service.provider/compute</a> is Nova, and can find<br>
their way to Nova docs on the API. But for new folks, I can only see<br>
this adding to confusion.<br>
<br>
Being extra, and possibly redundantly, explicit here eliminates<br>
confusion. Our API is communication to our users, and I feel like at<br>
every point we should err on the side of what's going to be the most<br>
clear under the largest number of scenarios.<br></blockquote><div><br></div>We already have X-OpenStack-Request-ID as a header in the Compute v2.1 API for helping to track requests and troubleshoot.</div><div class="gmail_quote"><br></div><div class="gmail_quote">So I agree with Sean that we need to think across more APIs but there is precedence set for "OpenStack-" as a keyword to look for in responses. </div><br>Also I hadn't discovered X-OpenStack-Nova-API-Version until now -- and I don't think that we should use project names in end-user-facing messaging, ever. They then have to do a look up for "nova" among over 20 project names. [1] Since that got unmarked experimental can it be re-marked experimental?</div><div class="gmail_extra"><br></div><div class="gmail_extra">My suggestion:</div><div class="gmail_extra"><br></div><div class="gmail_extra">X-OpenStack-Compute-API-Version</div><div class="gmail_extra">X-OpenStack-Containers-API-Version</div><div class="gmail_extra">X-OpenStack-Baremetal-API-Version<br></div><div class="gmail_extra">X-OpenStack-Blockstorage-API-Version</div><div class="gmail_extra">X-OpenStack-Image-API-Version</div><div class="gmail_extra">X-OpenStack-Identity-API-Version</div><div class="gmail_extra"><br></div><div class="gmail_extra">I'm going to get VERY specific about how we name projects and the service they provide in projects.yaml. We simply cannot put users through the hell of "what's the boomstick project and why does it not have a version I need?"</div><div class="gmail_extra"><br></div><div class="gmail_extra">Anne<br></div><div class="gmail_extra"><br></div><div class="gmail_extra">1. <a href="https://wiki.openstack.org/wiki/Documentation/Conventions#Service_and_project_names" target="_blank">https://wiki.openstack.org/wiki/Documentation/Conventions#Service_and_project_names</a></div><div class="gmail_extra">2. <a href="https://git.openstack.org/cgit/openstack/governance/tree/reference/projects.yaml">https://git.openstack.org/cgit/openstack/governance/tree/reference/projects.yaml</a> </div><div class="gmail_extra"><br>  <div class="gmail_quote"><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<span><font color="#888888"><br>
        -Sean<br>
<br>
--<br>
Sean Dague<br>
<a href="http://dague.net" rel="noreferrer" target="_blank">http://dague.net</a><br>
</font></span><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>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div><div dir="ltr"><div>Anne Gentle</div><div>Rackspace</div><div>Principal Engineer</div><div><a href="http://www.justwriteclick.com" target="_blank">www.justwriteclick.com</a></div></div></div>
</div></div>