Convert Cinder to use openstack-common timeutils

This patch is part of effort to get Cinder to use openstack-common
package.  This part is to replace time related functions in utils.py
with 'timeutils' module.

Implement blueprint cinder-common-timeutils

Change-Id: Ic5e9e317a95a7399f0604823eec76b3642a0c1b1
Sync to newer openstack.common.cfg

Cherry picks e0d891e from Nova.

Changes since last sync are:

 * New ConfigOpts.find_file() for locating conf files
 * Support for directory source of config files
 * Provide file extension when when looking for files
 * Some refactoring of the cfg cache
 * Add caching to openstack.common.cfg

Change-Id: If9852d0431093d590252bb704e934a4a56ef0263
Pass 'cinder' project into ConfigOpts

Cherry-picks fb96f7d from Nova.

Change-Id: I1a11e8fd6a56b2336457f7df178c2b3c187246c3
Misused and not used config options

Cherry picks dc9c3cb from Nova.

Fixes bug #1000071

[nova.api.sizelimit.py]
osapi_max_request_body_size: BoolOpt -> IntOpt

[nova.rpc.__init__.py]
allowed_rpc_exception_modules: IntOpt -> ListOpt

[nova.volume.driver.py]
num_shell_tries: StrOpt -> IntOpt
num_iscsi_scan_tries: StrOpt -> IntOpt

[nova.volume.driver.py]
san_thin_provision: 'true' -> True
san_is_local: 'false' -> False

Change-Id: If283dd7c4feba69c07bd483acd14f45c2659b743
Remove old flagfile support

Cherry-picks 7e3e9b8 from Nova.

Change-Id: Id5a0ffabf7c6eab0bbda1b130a39a6581b26e350
Remove unused OverLimitFault

Only used by compute limits in Nova.

Change-Id: I065ca64e060acc0773189f1497fcc54041621f39
Remove unused raise_http_conflict_for_instance_invalid_state()

Only used by the compute API in Nova.

Change-Id: I3b2dfa33b4bd1523e13ddb5401bc0397df7466ef
Remove unused metadata serialization

Only used by the compute API in Nova for e.g. images and server
metadata.

Change-Id: I223aca1a1c8e35c9339107e5c11bdd8a39968681
Remove unused get_{id,version}_from_href()

The former is only used in the compute API in Nova to e.g. get
an image or flavor ID from a client supplied ref.

The latter is unused even in Nova since the removal of the 1.0
API.

Change-Id: I4e00ca816820cb51c0ab3d4d864766d981854939
Remove unused wrap_errors decorator

Only used by rescue extension in nova.

Change-Id: I3ade99405736bf8ffb8891a8d53c02905501ae44
Remove some unused helper scripts

openstack-config init script and clean-vlans scripts are only relevant
to nova.

Change-Id: Ib139cae1e0f157f69f7d9ae7186c555538e4b1f5
Remove unused enabled_apis flag

This is only useful in the context of Nova where there are multiple
APIs.

Change-Id: I2339a36b45166a24825882e3e35dd00a2dfb6b27
Merge "Convert Cinder to use openstack-common timeutils"
Merge changes Id5a0ffab,If283dd7c,I1a11e8fd

* changes:
  Remove old flagfile support
  Misused and not used config options
  Pass 'cinder' project into ConfigOpts
Use cfg's new behavior of reset() clearing overrides

Cherry-picks b858108 from Nova.

Change-Id: I5e14dea25afd5bff03a39671b2d3b85481977bec
Reviewed-on: https://review.openstack.org/9868
Reviewed-by: Huang Zhiteng <zhiteng.huang@intel.com>
Reviewed-by: Vish Ishaya <vishvananda@gmail.com>
Approved: John Griffith <john.griffith@solidfire.com>
Tested-by: Jenkins
Remove 'cinder-manage config convert'

This convers the old flagfile style config files into the the
new .ini style config files. Since Cinder is new and it's first
release will only support .ini style files there's no need for
such a command.

Change-Id: Ie2f4cd8b6f5fc66547a59d39aa3d5eb896b1ddf4
Reviewed-on: https://review.openstack.org/9871
Reviewed-by: Huang Zhiteng <zhiteng.huang@intel.com>
Reviewed-by: Vish Ishaya <vishvananda@gmail.com>
Approved: John Griffith <john.griffith@solidfire.com>
Tested-by: Jenkins
Remove unused synchronization decorator

This is only used on the compute and network side in Nova.

Change-Id: I6211c32f585b1b5ff66d1a7a5f65dd25857d76f0
Reviewed-on: https://review.openstack.org/9888
Reviewed-by: Vish Ishaya <vishvananda@gmail.com>
Approved: John Griffith <john.griffith@solidfire.com>
Tested-by: Jenkins
Stop using cinder.exception from cinder.rpc.

This patch is a part of continuing to remove dependencies from cinder.rpc
on the rest of cinder.  One RPC related exception was defined in
cinder.exception, so that was moved to cinder.rpc.common where the rest of
them live.  These exceptions were changed to no longer use CinderException
as their base.  Instead, there is a new RPCException base.

One other change that should be reviewed closely is the removal of using
cinder.exception.wrap_exception() in cinder.rpc.amqp.  As far as I can tell,
this didn't actually do anything since nothing was being passed in to
wrap_exception().

Change-Id: I36ff7c05ab0467ad8506b56d561c532eadf8dff8
Reviewed-on: https://review.openstack.org/9899
Reviewed-by: Vish Ishaya <vishvananda@gmail.com>
Approved: John Griffith <john.griffith@solidfire.com>
Tested-by: Jenkins
Make kombu support optional for running unit tests.

Fix bug 838386.

Previously, the unit tests required kombu to be installed to run.  This
patch makes it so the unit tests will still complete successfully, even
if kombu is not installed.

Change-Id: I06831a37f8c857bbfd0bce1b1c3aeda7d341a589
Reviewed-on: https://review.openstack.org/9900
Reviewed-by: Vish Ishaya <vishvananda@gmail.com>
Approved: John Griffith <john.griffith@solidfire.com>
Tested-by: Jenkins
Add base support for rpc API versioning.

Part of blueprint versioned-rpc-apis.

This commit includes the base support for versioned RPC APIs.  It
introduces the RpcProxy and RpcDispatcher classes that have common code
for handling versioning on the client and server sides, respectively.

RPC APIs will be converted one at a time using this infrastructure.

Change-Id: I07bd82e9ff60c356123950e466caaffdfce79eba
Reviewed-on: https://review.openstack.org/9901
Reviewed-by: Huang Zhiteng <zhiteng.huang@intel.com>
Reviewed-by: Vish Ishaya <vishvananda@gmail.com>
Approved: John Griffith <john.griffith@solidfire.com>
Tested-by: Jenkins