Add initial docs.

Change-Id: I846eec12e800c15a545946604fe77a0a6b83fb46
add keystone support, new command interface, API v2.0

blueprint new-cli
Bug #1001053

Implement new commands interface, ready for v2.0. adopt cliff arch. new
client binary is quantumv2. After it is stable, we will remove quantum
binary. Httplibs2 is used.

usage: https://docs.google.com/document/d/1e_4UtnhFfgtnsB8EVB31BZKldaVzl_BlsGnGBrKmcDk/edit

Patch 2: add license header
Patch 3: add v1.0 support, fix show net details
Patch 4: quantumclient network api v2.0
Patch 5: subnet and port commands for api v2.0, add fields selector
Patch 6: add test cases
Patch 7: fix interactive mode, modify according to comments and https://review.openstack.org/#/c/8366/, add two tasks to BP: noauth and openstack common
Patch 8: fix log problem
Patch 9: modify according to the comments by dan on patch 5
Patch 10: just trigger jenkins
Patch 11: pep 1.3 fix
Patch 12: cliff and prettytable to more than 0.6.0
Patch 13: change setup.py to include more packages
Patch 14: pep check on jenkins
Patch 15: add license text to empty __init__.py files
Patch 16: fix v1.1 test cases after server changes

Change-Id: Ibbbdd834371c6a023b31e4797718fc0fe9786d89
add --fixed-ip argument to create port

add --fixed-ip argument to create port and add list and dict type for unknow option
now we can use known option feature:
 quantumv2 create_port --fixed-ip subnet_id=<id>,ip_address=<ip>
--fixed-ip subnet_id=<id>, ip_address=<ip2> network_id
or unknown option feature:
one ip:
 quantumv2 create_port network_id --fixed_ips type=dict list=true subnet_id=<id>,ip_address=<ip>
two ips:
quantumv2 create_port network_id --fixed_ips type=dict subnet_id=<id>,ip_address=<ip> subnet_id=<id>,ip_address=<ip2>
to create port
Please download: https://review.openstack.org/#/c/8794/4 and
set core_plugin = quantum.db.db_base_plugin_v2.QuantumDbPluginV2 on quantum server side

Patch 2: support cliff 1.0
Patch 3: support specify auth strategy, for now, any other auth strategy than keystone will disable auth,
format port output
Patch 4: format None as '' when outputing, deal with list of dict, add QUANTUMCLIENT_DEBUG env to enable http req/resp print,
which is helpful for testing nova integration
Patch 5: fix interactive mode, and initialize_app problem

Change-Id: I693848c75055d1947862d55f4b538c1dfb1e86db
Add post-tag versioning.

Change-Id: I0667c7b72c36a20827730dd829a12430954b666e
Make quantum cli consistent with other cli's practice.

Bug 1011759

We use dash in command names, underscore in options or arguments,
adopt noun-verb format command names.

Change-Id: Ibeb2b4a31929dbb7008cec3b04bd77e75d9ace1a
Support allocation pools for subnet

Fixes bug 1022227

Usage examples:

create_subnet --tenant_id <id> --allocation_pool start=1.1.1.1,end=1.1.1.10 <networkid> <gw>

More than one allocation pool can be added by doing the following:
--allocation_pool start=1.1.1.1,end=1.1.1.10 --allocation_pool start=1.1.1.123,end=1.1.1.125 ...

Change-Id: I313625b6a8c1da6eaca8b1943da52738978ed72b
Use -h, --help to show help messages.

Fixes bug 1023260
"quantumv2" command used '-H' and '--Help' to show help messages,
but it is inconsistent to the convention of option names used in
other OpenStack client lib commands. This commit fixes it.

Change-Id: I85c1e79c2cd08bcc0112ed2f10ca8210e9384687
Remove quantum client codes for API v1.0
Bug #1021546

Change-Id: Ic628db01034bc6dfb5fad3d6a2905e243900229a
Merge "Use -h, --help to show help messages."
Allow to retrieve objects by name

Fixes bug 979527

xxx-show commands now can accept either an id or a name of the resource to
retrieve, similarly to the "nova get" command. This has been preferred to
using mutually exclusive keyword argument, in order to avoid confusion
with other CLI tools.

NOTE: the current patch allow search by name only for networks.
The restriction will be lifted once name attributes for port and subnets
are added.

Change-Id: Id186139a01c9f2cfc36ca3405b4024bd7780622e
Add name or id to quantum cli commands.
Bug #1030180

We first lookup the resource id via id if it looks like an id.
If we cannot find it via id, we will look it up via name.
All of the update/show/delete support reference resource via name or id.
To create port/subnet, we can refercen network via network's name.
Also in port creation, we support reference subnet in fixed_ip via its name.

quantum_test.sh is added to test the command lines after running 'python setup.py install'

Change-Id: I54b6912e2c4044ba70aaf604cd79520022de262f
update mailing list, etc in setup.py

Change-Id: I0f50dd8d2d76b66e39b09d2fe65be66d6d405761
Refreshes keystone token if a token is expired.

Fixes bug 1034212

Change-Id: I523d289807caff74068328f612451cee74b94cbb
Add quota commands to change quota of a tenant.

blueprint quantum-api-quotas

quantum quota-show --tenant_id:
if tenant_id is not specified, the server will get tenant_id from context
quantum quota-update --network <num> --port <num>
--subnet <num> --tenant_id <id>:
if tenant_id is not specified, the server will get tenant_id from context
quantum quota-list:
list all tenants' quota values after the updation.
quantum quota-delete --tenant_id <id>:
delete the given tenant's customized quota values.

Change-Id: Ib0efb159bea96837bf4e35eaefa5e172c1c9f34a
deal with -c option when the list result is empty.

bug #1033123

Change-Id: Idd10e9ae8fd57e6173ef7f92411176834efebff5
enable -h | --help after command to show the command usage.

Bug #1023260

we caculate the position of -h|--help and command, if -h|--help
is after command, we replace the command with 'help' command.
Change-Id: Ieb5fc9d37daafd704edb71e35b74dbf83cb69a4c
remove cli.app in quantum client error message.

blueprint f-3-cli-usability-improvments

Change-Id: I3f73f5f0e915ae62e5056abb3f04d7f7f2e68ceb
add ext list and show commands.

Change-Id: I3bdf1a3b066ee12572468b8d7abee96eb07f9257
Merge "enable -h | --help after command to show the command usage."
add pyparsing to pip-requires

bug 1035953

Change-Id: Ie18fa78f242920e1acfdf1af15232591908c8de8