Mailing List Archive

Re: [Openstack] Want to start Keystone support for Quantum Client
On Mon, May 14, 2012 at 8:35 AM, Yong Sheng Gong <gongysh@cn.ibm.com> wrote:

> Hi,
> 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.
>

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 https://launchpad.net/python-openstackclient for details
and https://github.com/openstack/python-openstackclient for the current
code.

Doug


>
> Thanks
>
>
>
> -----netstack-bounces+gongysh=cn.ibm.com@lists.launchpad.net wrote: -----
> To: netstack@lists.launchpad.net
> From: Jason Kölker
> Sent by: netstack-bounces+gongysh=cn.ibm.com@lists.launchpad.net
> Date: 05/12/2012 08:06AM
> Subject: Re: [Netstack] Want to start Keystone support for Quantum Client
>
> On Fri, 2012-05-11 at 18:44 -0500, Jason Kölker wrote:
> > On Sat, 2012-05-12 at 07:21 +0800, Yong Sheng Gong wrote:
> > > Hi,
> > > I want to start a blueprint to implement the "Keystone support for
> > > Quantum Client" listed in http://wiki.openstack.org/QuantumStarterBugs
> > >
> > I would recommend helping the common client guys out with their
> > implementation.
>
> Finally found the bluprint url
>
> https://blueprints.launchpad.net/python-openstackclient/+spec/quantum-client
>
> It looks to be wide open as far as actual implementation details in the
> library side.
>
> Happy Hacking!
>
> 7-11
>
>
> --
> Mailing list: https://launchpad.net/~netstack
> Post to : netstack@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~netstack
> More help : https://help.launchpad.net/ListHelp
> Hi,
> I want to start a blueprint to implement the "*Keystone support for
> Quantum Client*" listed in http://wiki.openstack.org/QuantumStarterBugs
>
> Workflows:
> My idea is to make an initial workable quantum client with keystone
> service support.
> Quantum client's workflow will look like:
> 1. To send auth request to keystone and get token and related service
> catalog and other stuff
> 2. To send request to quantum server with X-Auth-Token in header
> workflow on Quantum server side:
> 1. keystone's authtoken filter will auth and cache this token, and then
> will populate the related stuff into http headers
> 2. context filter will create context according to the populated http
> headers
>
> 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?
>
> What will happen to quantum client:
> present:
> [root@robinlinux glance]# quantum
> Usage: quantum [OPTIONS] <command> [args]
>
> Options:
> -h, --help show this help message and exit
> -H HOST, --host=HOST ip address of api host
> -p PORT, --port=PORT api poort
> -s, --ssl use ssl
> -v, --verbose turn on verbose logging
> -f LOGFILE, --logfile=LOGFILE
> log file path
> -t TOKEN, --token=TOKEN
> authentication token
> --version=VERSION Accepts 1.1 and 1.0, defaults to
> env[QUANTUM_VERSION].
>
> Commands:
> list_nets <tenant-id> [filterspec ...]
> create_net <tenant-id> <net-name>
> unplug_iface <tenant-id> <net-id> <port-id>
> plug_iface <tenant-id> <net-id> <port-id> <iface-id>
> update_port <tenant-id> <net-id> <port-id> <params>
> show_port_detail <tenant-id> <net-id> <port-id>
> show_net <tenant-id> <net-id>
> delete_port <tenant-id> <net-id> <port-id>
> delete_net <tenant-id> <net-id>
> list_nets_detail <tenant-id> [filterspec ...]
> show_net_detail <tenant-id> <net-id>
> show_iface <tenant-id> <net-id> <port-id>
> update_net <tenant-id> <net-id> <new-name>
> show_port <tenant-id> <net-id> <port-id>
> list_ports_detail <tenant-id> <net-id> [filterspec ...]
> create_port <tenant-id> <net-id>
> list_ports <tenant-id> <net-id> [filterspec ...]
>
> after
> we will have
> quantum [--debug] [--os_username OS_USERNAME] [--os_password OS_PASSWORD]
> [--os_tenant_name OS_TENANT_NAME] [--os_auth_url OS_AUTH_URL]
> [--os_region_name OS_REGION_NAME] [--os_auth_token
> OS_AUTH_TOKEN]
> [--region_name REGION_NAME]
> [--endpoint_url url] command args
> So the first tenant-id parameter will be replaced by value returned from
> keystone.
> Question is how to deal with 'default' tenant?
>
> What will happen to quantum server
> 1. Context filter is added and can be used as filter
>
> Other question:
> If it is ok, should I add one new blueprint or just do it under blueprint
> https://blueprints.launchpad.net/quantum/+spec/new-cli?
>
> Thanks
> Yong Sheng Gong
>
> _______________________________________________
> Mailing list: https://launchpad.net/~openstack
> Post to : openstack@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~openstack
> More help : https://help.launchpad.net/ListHelp
>
>