Allow nvp_api to load balance requests

The current version of the nvp_api client does not load balance
requests across multiple controllers. Instead, it just sends all the requests
to one controller and if there is a controller failure it will failover
to use another controller. This blueprint implements the ablility to
utilize all controllers at once.

blueprint nvp-api-client-loadbalance-request

Change-Id: I331be2a23ae360a95786152d5f116359f690d9f3
add migration support for lb security groups

This is a companion change for the security group models.

Change-Id: If8a75004ddb4e20fb8491529ac7098828edb5c7d
The change implemented Lbaas CRUD Sqlalchemy operations.

 - This change only contains the database access implementation
 of LBaaS API. There is no real configuration down to device
 side.
 - This change implements a loadbalancer plugin which doesn't
 do much thing but only db access. The object status needs to
 be updated when integrate with the lbaas agent.
 - This change follows the new LBaaS API 1.0 model. Please see
 the spec on wiki.

Implements: blueprint lbaas-plugin-api-crud
Change-Id: I1bccec8c29e3e9486506a5b52ce69af0480b2300
Merge "The change implemented Lbaas CRUD Sqlalchemy operations."
Pass X-Forwarded-For header to Nova

fixes bug 1097524

Add X-Forwarded-For header to the proxied Nova metadata request. Nova
needs this value to properly answer /latest/meta-data/local-ipv4
requests.

Change-Id: Icaec38b2ca7e06b50960deb7ab24ff1944a81f45
Fix database configuration of ryu-agent

Fixes bug #1097156

The database configuration was moved to the DB module.
This patch makes ryu-agent follow it.

Change-Id: Ib843132eb1a01769725dd89b1e1799c9d10790d3
Merge "add migration support for lb security groups"
Merge "Pass X-Forwarded-For header to Nova"
Merge "Fix database configuration of ryu-agent"
Merge "Allow nvp_api to load balance requests"
Port to argparse based cfg

Implements blueprint argparse-based-cfg

Sync the following changes from oslo-incubator:

479f19c Add deprecated --logdir common opt
27b2ff4 Add deprecated --logfile common opt.
9b81289 Allow nova and others to override some logging defaults
3557d84 Fix ListOpt to trim whitespace
01ab910 Fix set_default() with boolean CLI options
af18eaa Improve cfg's argparse sub-parsers support
f21e1d9 Fix regression with cfg CLI arguments
ceb4aa7 Fix broken --help with CommonConfigOpts
5e9503b Hide the GroupAttr conf and group attributes
b6d24bb updating sphinx documentation
403509e Don't reference argparse._StoreAction
e17deb8 Fix minor coding style issue
0c29e1d Remove ConfigCliParser class
5b9cb41 Add support for positional arguments
dbc72a6 Use stock argparse behaviour for optional args
768a147 Use stock argparse --usage behaviour
ac180b9 Use stock argparse --version behaviour
0787e38 Remove add_option() method
5afead0 Completely remove cfg's disable_interspersed_args()
5f564b2 argparse support for cfg
d7b6397 Add a missing comma in a docstring.
aca1805 cfg: fix required if option has a dash

Note: various utilities/services with command line parameters needed to be
updated due to the changes mentioned above. The downside is that these are
not backward compatible. Unknown arguments are no ignored. Only bound
arguments will be treated.

Thanks to Mark McLoughlin for migration cli code changes.

Change-Id: Ia776e78cc55f4ed33ace5efa8d726b70e3fa4131
Remove relative imports from NVP plugin

The majority of relative imports in the nvp plugin will be fixed in
blueprint nvp-api-client-loadbalance-request. This patch removes the
rest of them in and moves the vim tabstop line to the top of the
header file to be consistent with the rest of the files in quantum.
Fixes bug 1091596

Change-Id: I6c8299ca73ae5df75c87f302680908f863f81f02
rename port attribute variable to SECURITYGROUPS from SECURITYGROUP

This patch renames the port attribute variable to the plural form since
multiple security groups can be associated with a port. This patch does
not change the security groups api and also does not change the
configuration section name to be SECURITYGROUPS.
Fixes bug 1095885

Change-Id: I1a4df337b48da0ef9c94d74b04c0b86333ce2f0c
Fix for loadbalancer vips list

Fixes bug 1098165

Change-Id: I86106d39afc9d5d8c6d2d0bbdcd829baf2c1b66b
Merge "rename port attribute variable to SECURITYGROUPS from SECURITYGROUP"
Fixes quantum.api.v2.base._filters to be more intuitive

Converts values in one place and sets dictonary according to the return value

Fixes bug #1092977

Change-Id: I05dd9b24a8ab20f8c302c22f5bdda2a80ec90e19
Fixes i18n messages in nvp plugin

Fixes bug 1096205
Change-Id: Icb34b567a8630bb7247b2bb2d6efaf53269bf84b
Merge "Fix for loadbalancer vips list"
Merge "Fixes i18n messages in nvp plugin"
NvpPluginException mixes err_msg and err_desc

In a few places err_msg was passed to NvpPluginException though that
expected err_desc. This patch makes NvpPluginException take err_msg
instead and updates err_desc to err_msg when calling NvpPluginException

Fixes bug 1098351
Change-Id: I10eca5f2b98ce8faa81ad7c7687902b6f08752c1