<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">[pardon my jumping in like kibo, someone mentioned 'client' ;) ]</div><div class="gmail_quote"><br></div><div class="gmail_quote">On Thu, Nov 20, 2014 at 3:01 AM, Vladimir Kozhukalov <span dir="ltr"><<a href="mailto:vkozhukalov@mirantis.com" target="_blank">vkozhukalov@mirantis.com</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 dir="ltr"><div>0) Rename fuelclient into python-fuelclient like any other OpenStack clients when moving it to a separate repo.<br></div><div>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></div></div></blockquote><div><br></div><div>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><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"><div>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></div></div></blockquote><div><br></div><div>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><br></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"><div>3) Use oslo for auth stuff (Fuel uses keystone at the moment) and wherever it is suitable.</div></div></blockquote><div><br></div><div>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><br clear="all"><div>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><br></div><div>dt</div><div><br></div><div>[0] <a href="https://github.com/dtroyer/python-oscplugin">https://github.com/dtroyer/python-oscplugin</a> is the original template, <a href="https://git.openstack.org/cgit/stackforge/python-congressclient/">https://git.openstack.org/cgit/stackforge/python-congressclient/</a> is a current example of a lib+plugin repo.</div><div><br></div>-- <br><div class="gmail_signature"><br>Dean Troyer<br><a href="mailto:dtroyer@gmail.com">dtroyer@gmail.com</a><br></div>
</div></div>