<div class="gmail_extra">I disagree with all three... the line between "admin" and "not admin" is going to get very blurry in the long run. Example: I may be a regular user, but I've been granted what is "normally" an admin capability on tenant X. Does that make me an admin? Do I now need to use two different clients?</div>
<div class="gmail_extra"><br></div><div class="gmail_extra">I also don't think it should be the client's *responsibility* to understand what capabilities are required for any given command (ultimately making *assumptions* about what the service will allow the user to do), as it's the remote service that's ultimately going to enforce it's own policies. It may be a decent feature to warn the user something is probably not going to work (or better yet, the ability to ask the remote service if something will succeed before we attempt it), but the client shouldn't prevent the user from trying -- especially by suppressing/isolating features. Horizon is going to face the same challenge (hiding/showing capability-relevant UI).</div>
<div class="gmail_extra"><br></div><div class="gmail_extra">tl;dr: openstackclient should be uniformly featured across all OpenStack API's ("service", "admin" or otherwise)</div><div class="gmail_extra">
<br></div><div class="gmail_extra">-Dolph</div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, May 1, 2012 at 6:55 PM, Doug Hellmann <span dir="ltr"><<a href="mailto:doug.hellmann@dreamhost.com" target="_blank">doug.hellmann@dreamhost.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="gmail_extra">There are a couple of ways to handle that:</div><div class="gmail_extra"><br></div><div class="gmail_extra">
1. A separate "openstackadmin" CLI that looks for commands using a different plugin namespace, and therefore only loads the admin commands.</div>
<div class="gmail_extra"><br></div><div class="gmail_extra">2. Prefix admin-related commands in the unified cli with "admin" (so "openstack admin create network" or whatever).</div><div class="gmail_extra">

<br></div><div class="gmail_extra">3. Separate admin apps for each project.</div><div class="gmail_extra"><br></div><div class="gmail_extra">I think we should avoid 3, since that goes against the spirit of this project. I like #2, but #1 would be easy to implement and could share 99% of the code from the basic openstackclient.</div>
<div class="HOEnZb"><div class="h5">
<div class="gmail_extra"><br><div class="gmail_quote">On Tue, May 1, 2012 at 4:59 PM, Matt Joyce <span dir="ltr"><<a href="mailto:matt@nycresistor.com" target="_blank">matt@nycresistor.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

How does this blueprint play into this client.  Is it a separate admin<br>
only client or just a subset of this guy?<br>
<br>
<a href="https://blueprints.launchpad.net/nova/+spec/admin-cli" target="_blank">https://blueprints.launchpad.net/nova/+spec/admin-cli</a><br>
<span><font color="#888888"><br>
-matt<br>
</font></span><div><div><br>
On Tue, May 1, 2012 at 12:28 PM, Dean Troyer <<a href="mailto:dtroyer@gmail.com" target="_blank">dtroyer@gmail.com</a>> wrote:<br>
> On Tue, May 1, 2012 at 2:11 PM, Adam Spiers <<a href="mailto:aspiers@suse.com" target="_blank">aspiers@suse.com</a>> wrote:<br>
>> As of my recent patch, --help is contextual in nova:<br>
><br>
> I hadn't seen that yet...<br>
><br>
>> and I have started work on some of the other commands too, so it would<br>
>> be helpful if we could reach a consensus on this soon ... although<br>
>> please let me know if I am wasting my time working on other commands<br>
>> due to any imminent rewrites using python-openstack!<br>
><br>
> The continued existence of the project-specific commands is really up<br>
> to the projects themselves.  I think it would be great to converge<br>
> them on things like this, but trying to get them all to work the same<br>
> is what led us to openstackclient due to backward compatibility and<br>
> all.  My guess would be that the existing client binaries would live<br>
> through the 'G' release even if we decided to deprecate them now.<br>
><br>
>> I agree with Dolph - there is a precedent from other well-known<br>
>> programs (git, hg, svn are the first ones I can think of) for --help<br>
>> to behave differently depending on whether or not it was preceded by a<br>
>> subcommand.  So my vote is that we should definitely aim to adhere to<br>
>> this pattern.<br>
><br>
> How about detailing it in the HIG and once we get a command or two<br>
> implemented with argument parsing we give it a shot?<br>
><br>
> dt<br>
><br>
> --<br>
><br>
> Dean Troyer<br>
> <a href="mailto:dtroyer@gmail.com" target="_blank">dtroyer@gmail.com</a><br>
><br>
> _______________________________________________<br>
> Mailing list: <a href="https://launchpad.net/~openstack" target="_blank">https://launchpad.net/~openstack</a><br>
> Post to     : <a href="mailto:openstack@lists.launchpad.net" target="_blank">openstack@lists.launchpad.net</a><br>
> Unsubscribe : <a href="https://launchpad.net/~openstack" target="_blank">https://launchpad.net/~openstack</a><br>
> More help   : <a href="https://help.launchpad.net/ListHelp" target="_blank">https://help.launchpad.net/ListHelp</a><br>
<br>
_______________________________________________<br>
Mailing list: <a href="https://launchpad.net/~openstack" target="_blank">https://launchpad.net/~openstack</a><br>
Post to     : <a href="mailto:openstack@lists.launchpad.net" target="_blank">openstack@lists.launchpad.net</a><br>
Unsubscribe : <a href="https://launchpad.net/~openstack" target="_blank">https://launchpad.net/~openstack</a><br>
More help   : <a href="https://help.launchpad.net/ListHelp" target="_blank">https://help.launchpad.net/ListHelp</a><br>
</div></div></blockquote></div><br></div>
</div></div><br>_______________________________________________<br>
Mailing list: <a href="https://launchpad.net/~openstack" target="_blank">https://launchpad.net/~openstack</a><br>
Post to     : <a href="mailto:openstack@lists.launchpad.net">openstack@lists.launchpad.net</a><br>
Unsubscribe : <a href="https://launchpad.net/~openstack" target="_blank">https://launchpad.net/~openstack</a><br>
More help   : <a href="https://help.launchpad.net/ListHelp" target="_blank">https://help.launchpad.net/ListHelp</a><br>
<br></blockquote></div><br></div>