Add time_type dictionary to test_migrations

A number of postgresql migration tests fail because the test case
is verifying that an sqlalchemy.types.DATETIME column was created.
When the column type is checked, however, postgresql reports the type as
sqlalchemy.types.TIMESTAMP.  The mismatch causes numerous
test cases to fail for postgresql.

This creates a dictionary for each engine being tested to handle the
different time types.

Change-Id: Ic9921ff9fda001a66c0ea3a6a75c8adefa60b107
Closes-bug: 1262426
Sync RPC module from Oslo

22e971a safe_log Sanitize Passwords in List of Dicts
8b2b0b7 Use hacking import_exceptions for gettextutils._
23f6029 Use six.seraise() instead of `raise exc, val, tb`
6d0a6c3 Correct invalid docstrings
7cac1ac Fix mis-spellings
ef406a2* Create a shared queue for QPID topic consumers
e6494c2 Use six.iteritems to make dict work on Python2/3
e227c0e* Properly reconnect subscribing clients when QPID broker restarts
16fb43b Replace data structures' attribute with six module
27b21bc Unify different names between Python2/3 with six.moves
12bcdb7 Remove vim header
3970d46 Fix typos in oslo
1771a77 Adjust import order according to PEP8 imports rule
0717d1d matchmaker_redis compatibility with redis-py 2.4
f88d59a Drop RPC securemessage.py
39f6589 Use localisation
8a3996a Fix missing space in help text
4bfb7a2 Apply six for metaclass
d7d74a7 Add `versionutils` for version compatibility checks
3cdd157 Add third element to RPC versions for backports
76972e2* Support a new qpid topology
284b13a Raise timeout in fake RPC if no consumers found
9721129 exception: remove
7b0cb37 Don't eat callback exceptions
69abf38 requeue instead of reject
28395d9 Fixes files with wrong bitmode
bec54ac Fix case error in qpid exchange type "direct"
61c4cde Ensure context type is handled when using to_dict
223f9e1 Clarify precedence of secret_key_file
a035f95 Don't shadow cfg import in securemessage
0f88575 Remove redundant global keyword in securemessage
848c4d5 Some nitpicky securemessage cleanups
5c71c25 Allow non-use of cfg.CONF in securemessage
9157286 RPC: Add MessageSecurity implementation
2031e60 Refactors boolean returns
a047a35 Make ZeroMQ based RPC consumer threads more robust
34a6842 On reconnecting a FanoutConsumer, don't grow the topic name
f52446c Add serializer param to RPC service
5ff534d Add config for amqp durable/auto_delete queues
f9f1b4f Revert "Add support for heartbeating in the kombu RPC driver"
1a2df89 Enable H302 hacking check
7bfd443 Avoid shadowing Exception 'message' attribute
99b7c35 Convert kombu SSL version string into integer
c37f6aa Add support for heartbeating in the kombu RPC driver
3006787 Sanitize passwords in _safe_log
dea334a Replace sys.exit by a RPCException
3969355 Fix exception arg typo
22ec8ff Make AMQP based RPC consumer threads more robust
13650b1 rpc: remove some unused serialization code
e204885 Optionally reject messages on exception.
688832f Remove unused zmq relay functionality
719eba4 Don't reconnect to exclusive fanout consumers.
980fe5f Allow exceptions to hop up cells
80476f0 Add can_send_version() to RpcProxy.
7119e29 Enable hacking H404 test.
32e2a25 zmq: remove someone unused code from ZmqClient
6d42ced Remove the amqp_rpc_single_reply_queue option from Havana
7ce5441 Fix problem with long messages in Qpid
e3545f8 Enable hacking H402 test
15d8d69 Silence exceptions from qpid connection.close()
484a1df Enable hacking H403 test
35660da Enable hacking H401 test
1a9a744 MatchMakerStub - make it work & add test
35aad91 Use zero-copy in ZeroMQ proxy (zmq-rpc-receiver)
b677b13 Remove rootwrap from IPC directory creation
93ee6e3 Add generic serialization support
fe2f108 Enable hacking H702 localization test
0a14e1d Enable hacking H703: Multiple positional placeholders
df7ea83 Allow RPC_API_NAMESPACE on RpcProxy objects
aa89d8b Support capping message versions in the client.
1d7920a Extract matchmaker_ring to own module
3e33692 Merge "Removes len() on empty sequence evaluation"
44c79fc Merge "python3: use 'as' syntax for exception assignment"
0c54b72 python3: use 'as' syntax for exception assignment
a514693 Removes len() on empty sequence evaluation
fde1e15 Convert unicode for python3 portability
0c9047c* Ensure that qpid connection is closed.
120ddef Improve Python 3.x compatibility

(* after hash indicates this was already ported to Cinder)

Oslo version:
7a51572 Merge "Implement cache abstraction layer"
Date:   Wed Jan 15 19:31:16 2014 +0000

Related-Bug: #1189711
Closes-Bug: #1270178

Change-Id: I19572c5e98c1c1037a6a622d63fbdea8d6001532
Set a sane default for state_path

This change set a sane default to state_path, removed no more used cfg
options, and put the previous state_path for tests only.

DocImpact
Closes bug: #1240879

Change-Id: If56b60950d8ebf9111ef99bfbf2cb549bbb6b29b
Remove SSH code from 3PAR drivers

This patch migrates all of the communication
to the 3PAR array into the client library.
Some of the calls to the array happen over ssh
and others happen over REST.  Now the drivers
don't care.

This allows us to change the external client
library to replace SSH calls to REST calls,
without the need of driver changes.

Change-Id: Ia5e94a349308055381001c373b91c444860115c7
Allow spaces in host names in the storwize driver

Storwize/SVC naming rules allow host objects to have spaces in their
names. The SSH injection filter will currently reject such names, and so
we surround the names with quotes. Please note that this doesn't allow
to have an arbitrary character in there except a space (anything else
will be cleaned up by the driver or rejected by the SSH injection filter
up the call chain).

Change-Id: If9aec40fe34293031f08d759dd930d73ead456f5
Closes-Bug: #1270204
On create_volume flow get rid of host parameter

On manager create_volume flow save host parameter to volume_ref immediately
when create volume_ref and remove host parameter from other tasks.

Change-Id: Ifc672741c317112b084a076ca65c11c5d0290930
vmdk: To add missing time unit in driver option

Time unit is missing in the description of vmdk driver option
"vmware_task_poll_interval". Due to this, the vmdk driver config
reference document doesn't have the timeunit in its description
column. This fix adds the missing time unit (seconds) in the
driver option.

Closes-Bug: #1258100
Change-Id: I2c49c65ca9a48a2dcc6898a32b4bbc0433e8916b
Remove create_export from volume create

Currently the LVM driver creates iscsi targets on
volume creation, even though it's only used at
attach time.  This isn't necessary and in fact
causes issues if a volume is extended because the
target information isn't currently updated after the
extend.  In addition a number of other drivers inclduing
the LIO iscsi driver require the target be created with
initiator info, so the tgt that's created initially
again isn't valid.

This change removes the create_export call from the
volume create process and makes it part of the
managers intialize_connection routine which is
more appropriate.

This change also removes the target on detach since
it's not used any longer and again as the volume may
be modified or extended.

Change-Id: I0b7dfdaf7e49a069da22f22f459861b0b49430a4
Closes-Bug: 1248947
Merge "Remove create_export from volume create"
Don't use shred for volume_clear=zero

We should just call copy_volume unless volume_clear='shred' is
specified.

Change-Id: Id5e15b000cf0d6146ec13f42ff5bb611b6f18484
Move clear_volume back to it's own method

This just moves clear_volume back to it's own method
and also only calls volutils.clear if we actually
need to perform the clear operation.

Also takes out the hard-coded multiplier of 1024 and
uses units.GiB.  Maybe this should be a separate patch,
I'll spin another if there are objections.

Change-Id: I56f6690fbadc0d44eba48f49d29386d5b9dca195
RBD unit test improvements

This commit brings the implementation of the test_rbd and
test_backup_ceph unit tests more inline and tries to ensure
that no mock is set without being unset so as not to tread
on the toes of any other tests.

Change-Id: Ibb6bd3bf90952914512e3fa39fd216f43f0f8ecb
Closes-bug: 1276657
vmware: intermittent failure in test_vmware_vmdk

There was a race condition between the two Event() objects being
created within loopingcall and Retry in api module. Did away with
the Event object in Retry and used loopingcall the right way.

Change-Id: I2534bad9294747fcd618ba3634abb01ceef92213
Merge "Allow spaces in host names in the storwize driver"
Merge "vmdk: To add missing time unit in driver option"
Updated from global requirements

Change-Id: I60e217d361a71b2c7518aff98b5530e689d838c5
Brick connector fix for GlusterFS

Fixes an InvalidParameterValue error by passing the required
information to Brick for mounting.

See also: 1cd3626 Brick connector revised fix for NFS

Bump driver version 1.1.1.

Closes-Bug: 1238085

Change-Id: Ie45889460dd4775a556d592161c98c24a56989c7
Fix LVM migrate_volume tests

In cinder/tests/test_volume.py the following tests fail to correctly
test the functionality.

LVMISCSIVolumeDriverTestCase.test_lvm_migrate_volume_diff_driver
LVMISCSIVolumeDriverTestCase.test_lvm_migrate_volume_diff_host

The location_info is incorrect, it needs to be 5 sections separated by
colons otherwise they fail due to bad location info.

Change-Id: Ie7ceaba6b35c0aedb47cae0db5c60cc489e94c49
Closes-Bug: #1277155
Merge "vmware: intermittent failure in test_vmware_vmdk"
Rename self.tgtadm to self.target_helper

Using "tgtadm" for this member variable is confusing because it
actually represents tgt, IET, and LIO.  Rename to a more generic
term to make things more readable.

Also remove "tgtadm" from method names and references in tests
where it is not tgtadm-specific.

I'm choosing the name "target_helper" because "tgtadm" = tgtd,
and "iscsi_helper" doesn't fit when using RDMA in ISERDriver.

Change-Id: I73fab03eb6635be6b49950e3a0ccc0e9801697ca