<font face="Default Sans Serif,Verdana,Arial,Helvetica,sans-serif" size="2"><font face="Default Sans Serif,Verdana,Arial,Helvetica,sans-serif" size="2"><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><br> Thanks <span><br><br></span><br><br><font color="#990099">-----netstack-bounces+gongysh=cn.ibm.com@lists.launchpad.net wrote: -----</font><div style="padding-left: 5px;"><div style="padding-right: 0px; padding-left: 5px; border-left: 2px solid black;">To: <a class="moz-txt-link-abbreviated" href="mailto:netstack@lists.launchpad.net">netstack@lists.launchpad.net</a><br>From: Jason Kölker <!--Notes ACF <jkoelker@rackspace.com>--><br>Sent by: <a class="moz-txt-link-abbreviated" href="mailto:netstack-bounces+gongysh=cn.ibm.com@lists.launchpad.net">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><font face="Courier New,Courier,monospace" size="2">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">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">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">https://launchpad.net/~netstack</a><br>Post to     : <a class="moz-txt-link-abbreviated" href="mailto:netstack@lists.launchpad.net">netstack@lists.launchpad.net</a><br>Unsubscribe : <a href="https://launchpad.net/%7Enetstack">https://launchpad.net/~netstack</a><br>More help   : <a href="https://help.launchpad.net/ListHelp">https://help.launchpad.net/ListHelp</a><br></font><font face="Default Sans Serif,Verdana,Arial,Helvetica,sans-serif" size="2"><div>Hi,<br>I want to start a blueprint to implement the "<strong>Keystone support for Quantum Client</strong>" listed in <a target="_blank" class="moz-txt-link-freetext" href="http://wiki.openstack.org/QuantumStarterBugs">http://wiki.openstack.org/QuantumStarterBugs</a><br><br><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><font style="font-weight: bold;" size="3"><br></font></font><font><font face="Default Sans Serif,Verdana,Arial,Helvetica,sans-serif" size="2"><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" size="2">--os_auth_token </font><font face="Default Sans Serif,Verdana,Arial,Helvetica,sans-serif" size="2">OS_AUTH_TOKEN]</font><br>             [--region_name REGION_NAME] <br>             <font face="Default Sans Serif,Verdana,Arial,Helvetica,sans-serif" size="2">[--endpoint_url url]</font></font></font> command args<br><font><font face="Default Sans Serif,Verdana,Arial,Helvetica,sans-serif" size="2">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 target="_blank" class="moz-txt-link-freetext" href="https://blueprints.launchpad.net/quantum/+spec/new-cli">https://blueprints.launchpad.net/quantum/+spec/new-cli</a>?</font></span><br><br>Thanks<br>Yong Sheng Gong</font></font><br></div><!--Notes ACF </jkoelker@rackspace.com>--></div></div></font></font>