<br><br><div class="gmail_quote">On Mon, May 14, 2012 at 8:35 AM, Yong Sheng Gong <span dir="ltr"><<a href="mailto:gongysh@cn.ibm.com" target="_blank">gongysh@cn.ibm.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<font face="Default Sans Serif,Verdana,Arial,Helvetica,sans-serif"><font face="Default Sans Serif,Verdana,Arial,Helvetica,sans-serif"><span>Hi, <br>
How can I help with the common openstack client? I think quantum needs
its own client to be implemented first and then common openstack client
(just as a thin wrapper) can call the client module if we have quantum
client designed as nova client.<br></span></font></font></blockquote><div><br></div><div>The common CLI project is building a single command line interface for all components of OpenStack. If Quantum already has an API client, it will be easy for you to create new subcommands of the common CLI (and we would love to have your help!). The common CLI does not "shell out" to run subcommands because one of the project's goals is to eliminate duplication of effort through a common implementation framework, so building a separate "quantum" command line program first won't make much difference as far as integration goes later. See <a href="https://launchpad.net/python-openstackclient">https://launchpad.net/python-openstackclient</a> for details and <a href="https://github.com/openstack/python-openstackclient">https://github.com/openstack/python-openstackclient</a> for the current code.</div>
<div><br></div><div>Doug</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><font face="Default Sans Serif,Verdana,Arial,Helvetica,sans-serif"><font face="Default Sans Serif,Verdana,Arial,Helvetica,sans-serif"><span></span><br>
Thanks <span><br><br></span><br><br><font color="#990099">-----netstack-bounces+gongysh=<a href="mailto:cn.ibm.com@lists.launchpad.net" target="_blank">cn.ibm.com@lists.launchpad.net</a> wrote: -----</font><div style="padding-left:5px">
<div style="padding-right:0px;padding-left:5px;border-left:2px solid black">To: <a href="mailto:netstack@lists.launchpad.net" target="_blank">netstack@lists.launchpad.net</a><br>From: Jason Kölker <br>Sent by: <a href="mailto:netstack-bounces+gongysh=cn.ibm.com@lists.launchpad.net" target="_blank">netstack-bounces+gongysh=cn.ibm.com@lists.launchpad.net</a><br>
Date: 05/12/2012 08:06AM<br>Subject: Re: [Netstack] Want to start Keystone support for Quantum Client<br><br><div><div><div class="h5"><font face="Courier New,Courier,monospace">On Fri, 2012-05-11 at 18:44 -0500, Jason Kölker wrote:<br>
> On Sat, 2012-05-12 at 07:21 +0800, Yong Sheng Gong wrote:<br>> > Hi,<br>> > I want to start a blueprint to implement the "Keystone support for<br>> > Quantum Client" listed in <a href="http://wiki.openstack.org/QuantumStarterBugs" target="_blank">http://wiki.openstack.org/QuantumStarterBugs</a><br>
> > <br>> I would recommend helping the common client guys out with their<br>> implementation.<br><br>Finally found the bluprint url<br><a href="https://blueprints.launchpad.net/python-openstackclient/+spec/quantum-client" target="_blank">https://blueprints.launchpad.net/python-openstackclient/+spec/quantum-client</a><br>
<br>It looks to be wide open as far as actual implementation details in the<br>library side.<br><br>Happy Hacking!<br><br>7-11<br><br><br>-- <br>Mailing list: <a href="https://launchpad.net/%7Enetstack" target="_blank">https://launchpad.net/~netstack</a><br>
Post to : <a href="mailto:netstack@lists.launchpad.net" target="_blank">netstack@lists.launchpad.net</a><br>Unsubscribe : <a href="https://launchpad.net/%7Enetstack" target="_blank">https://launchpad.net/~netstack</a><br>
More help : <a href="https://help.launchpad.net/ListHelp" target="_blank">https://help.launchpad.net/ListHelp</a><br></font></div></div><font face="Default Sans Serif,Verdana,Arial,Helvetica,sans-serif"><div><div><div class="h5">
Hi,<br>I want to start a blueprint to implement the "<strong>Keystone support for Quantum Client</strong>" listed in <a href="http://wiki.openstack.org/QuantumStarterBugs" target="_blank">http://wiki.openstack.org/QuantumStarterBugs</a><br>
<br></div></div><div><div class="h5"><font size="3"><span style="font-weight:bold">Workflows:</span></font><br>My idea is to make an initial workable quantum client with keystone service support.<br>Quantum client's workflow will look like:<br>
1. To send auth request to keystone and get token and related service catalog and other stuff<br>2. To send request to quantum server with X-Auth-Token in header<br>workflow on Quantum server side:<br>1. keystone's authtoken filter will auth and cache this token, and then will populate the related stuff into http headers<br>
2. context filter will create context according to the populated http headers<br><br>Next
step is to use this context to check policy. I have not seen any
functions which have context as first parameter just like what we do in
nova project. How will we use the populated context? Use is as a thread
variable or modify all the related functions? Also how about the agent?
Do agents need auth?<br><br style="font-weight:bold"><font size="3"><span style="font-weight:bold">What will happen to quantum client:</span></font><br><span style="font-weight:bold">present:</span> <br>[root@robinlinux glance]# quantum <br>
Usage: quantum [OPTIONS] <command> [args]<br><br>Options:<br> -h, --help show this help message and exit<br> -H HOST, --host=HOST ip address of api host<br> -p PORT, --port=PORT api poort<br> -s, --ssl use ssl<br>
-v, --verbose turn on verbose logging<br> -f LOGFILE, --logfile=LOGFILE<br> log file path<br> -t TOKEN, --token=TOKEN<br> authentication token<br> --version=VERSION Accepts 1.1 and 1.0, defaults to env[QUANTUM_VERSION].<br>
<br>Commands:<br> list_nets <tenant-id> [filterspec ...]<br> create_net <tenant-id> <net-name> <br> unplug_iface <tenant-id> <net-id> <port-id> <br> plug_iface <tenant-id> <net-id> <port-id> <iface-id> <br>
update_port <tenant-id> <net-id> <port-id> <params> <br> show_port_detail <tenant-id> <net-id> <port-id> <br> show_net <tenant-id> <net-id> <br> delete_port <tenant-id> <net-id> <port-id> <br>
delete_net <tenant-id> <net-id> <br> list_nets_detail <tenant-id> [filterspec ...]<br> show_net_detail <tenant-id> <net-id> <br> show_iface <tenant-id> <net-id> <port-id> <br>
update_net <tenant-id> <net-id> <new-name> <br> show_port <tenant-id> <net-id> <port-id> <br> list_ports_detail <tenant-id> <net-id> [filterspec ...]<br> create_port <tenant-id> <net-id> <br>
list_ports <tenant-id> <net-id> [filterspec ...]<br></div></div></div><font style="font-weight:bold" size="3"><br></font></font><div><div class="h5"><font><font face="Default Sans Serif,Verdana,Arial,Helvetica,sans-serif"><font style="font-weight:bold" size="3">after</font><br>
we will have <br>
quantum [--debug] [--os_username OS_USERNAME] [--os_password OS_PASSWORD]<br>
[--os_tenant_name OS_TENANT_NAME] [--os_auth_url OS_AUTH_URL]<br>
[--os_region_name OS_REGION_NAME] [<font face="Default Sans Serif,Verdana,Arial,Helvetica,sans-serif">--os_auth_token </font><font face="Default Sans Serif,Verdana,Arial,Helvetica,sans-serif">OS_AUTH_TOKEN]</font><br>
[--region_name REGION_NAME] <br>
<font face="Default Sans Serif,Verdana,Arial,Helvetica,sans-serif">[--endpoint_url url]</font></font></font> command args<br><font><font face="Default Sans Serif,Verdana,Arial,Helvetica,sans-serif">So the first tenant-id parameter will be replaced by value returned from keystone.<br>
<span style="text-decoration:underline"><font color="#ff0000">Question is how to deal with 'default' tenant?</font></span><br><br><font style="font-weight:bold" size="3">What will happen to quantum server</font><br>
1. Context filter is added and can be used as filter<br><br>Other question:<br><span style="text-decoration:underline"><font color="#ff0000">If it is ok, should I add one new blueprint or just do it under blueprint <a href="https://blueprints.launchpad.net/quantum/+spec/new-cli" target="_blank">https://blueprints.launchpad.net/quantum/+spec/new-cli</a>?</font></span><br>
<br>Thanks<br>Yong Sheng Gong</font></font><br></div></div></div></div></div></font>
<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></font></blockquote></div><br>