<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Dean, thank you for your input.<div class=""><br class=""><div><blockquote type="cite" class=""><div class="">On 20 Nov 2014, at 15:43, Dean Troyer <<a href="mailto:dtroyer@gmail.com" class="">dtroyer@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class=""><div class="gmail_extra"><div class="gmail_quote">[pardon my jumping in like kibo, someone mentioned 'client' ;) ]</div></div></div></div></blockquote><div><br class=""></div><div>Now I know for sure how to summon you :)</div><br class=""><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""><div class="gmail_extra"><div class="gmail_quote"><br class=""></div><div class="gmail_quote">On Thu, Nov 20, 2014 at 3:01 AM, Vladimir Kozhukalov <span dir="ltr" class=""><<a href="mailto:vkozhukalov@mirantis.com" target="_blank" class="">vkozhukalov@mirantis.com</a>></span> wrote:<br class=""><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 dir="ltr" class=""><div class="">0) Rename fuelclient into python-fuelclient like any other OpenStack clients when moving it to a separate repo.<br class=""></div><div class="">1) Use cliff as a cli library. AFAIU it is a kind of unofficial standard for OpenStack clients for future. At least python-openstackclient uses cliff. Correct me if I am wrong. </div><div class=""></div></div></blockquote><div class=""><br class=""></div><div class="">Neutron client also used cliff, but in a different manner than OpenStackClient; just using cliff doesn't necessarily make things work similar to other clients.</div></div></div></div></div></blockquote><div><br class=""></div><div>To be honest I didn’t look at internals of OpenStackClient but have some experience with Ironic client instead. Anyway, this is still a topic which need more discussion and investigation.</div><br class=""><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""><div class="gmail_extra"><div class="gmail_quote"><div class=""> </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"><div dir="ltr" class=""><div class="">2) Follow common OpenStack practice for naming files and directories in a project (shell.py, api, object, etc). I am not sure whether such a common practice exists, but we again can follow python-openstackclient naming model.</div><div class=""></div></div></blockquote><div class=""><br class=""></div><div class="">OSC's model is to put the CLI command handlers in openstackclient.<api-name>.v<major-version> and, where necessary, the REST API in openstackclient.api.<api-name>_v<major-version>.</div></div></div></div></div></blockquote><div><br class=""></div><div>For the versioning we’ll have to use slightly different approach due to a different versioning in Fuel, I’m afraid. However, I agree that we should follow naming conventions and practices from other OpenStack projects in order to make it easier to other folks to dive in.</div><br class=""><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""><div class="gmail_extra"><div class="gmail_quote"><div class=""><br class=""></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"><div dir="ltr" class=""><div class="">3) Use oslo for auth stuff (Fuel uses keystone at the moment) and wherever it is suitable.</div></div></blockquote><div class=""><br class=""></div><div class="">Are you referring to the apiclient in Oslo Incubator? I believe that has been tagged to not graduate and left as-is for now. I would suggest using the Keystone client Session and authentication plugins if you want a stand-alone client as you will get SAML auth, and whatever else is being developed, for free. </div></div></div></div></div></blockquote><div><br class=""></div><div>That sounds like a good idea.</div><br class=""><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""><div class="gmail_extra"><br clear="all" class=""><div class="">Alternatively you could write your client as just a library and add an OpenStackClient plugin[0] to leverage the existing CLI. In this case, OSC handles all of the auth and session overhead, you just worry about the REST handlers.</div></div></div></div></blockquote><div><br class=""></div><div>I think this is not very reasonable because Fuel does not provide any service in OpenStack but instead allows to set up and manage OpenStack clusters.</div><br class=""><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""><div class="gmail_extra"><div class=""><br class=""></div><div class="">dt</div><div class=""><br class=""></div><div class="">[0] <a href="https://github.com/dtroyer/python-oscplugin" class="">https://github.com/dtroyer/python-oscplugin</a> is the original template, <a href="https://git.openstack.org/cgit/stackforge/python-congressclient/" class="">https://git.openstack.org/cgit/stackforge/python-congressclient/</a> is a current example of a lib+plugin repo.</div><div class=""><br class=""></div>-- <br class=""><div class="gmail_signature"><br class="">Dean Troyer<br class=""><a href="mailto:dtroyer@gmail.com" class="">dtroyer@gmail.com</a><br class=""></div>
</div></div>
_______________________________________________<br class="">OpenStack-dev mailing list<br class=""><a href="mailto:OpenStack-dev@lists.openstack.org" class="">OpenStack-dev@lists.openstack.org</a><br class="">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev<br class=""></div></blockquote></div><br class=""></div></body></html>