Add tests for LVM -cow clearing

Ensure that volume_clear for Thick LVM snapshot deletion
references the -cow device, and that it uses the LV instead
of the -cow device for ThinLVM.

These tests were written for a change to stable/grizzly --
but are applicable for general use here as well.

Related-Bug: #1245529
Change-Id: I380ad7832d558d9aa73a701cbf3acc35229e70ab
Sync log from oslo

5fef5a8105 allow keeping of existing loggers with fileConfig
fb8075a19d Add amqp=WARN,qpid=WARN to default_log_levels
4654a5d247 Don't override default value for eventlet.wsgi.server logging
41ddd7a975 _get_log_file_path explictly return, when logfile/logdire unset
e12e6b45f8 Make openstack.common.log Python 3 compatible
572cfecb4d Make Messages unicode before hitting logging
3243cdfbe9 python3: handle module moves in log

DocImpact

Change-Id: I2e565fd65a00f1c6dea830a09487de9f03cb5279
replace u\2013 char with dash

unicode char causes problems with maven build.

backport:none

closes-bug: #1246569

Change-Id: I3aa5c2debaed03acd2c2fb8d4e7c30738d35f4f3
Remove unused db calls to fetch original metadata

Remove unnecessary db calls made to fetch
original metadata when delete flag is set
to True.

Closes-Bug: #1246291

Change-Id: If7483b8b21f71efa5e7c211b031170bc03eb6b9b
Examine if GPFS is mounted before writing data.

If GPFS is not mounted, throw an exception and log the error message. That will
prevent create_volume(), copy_image_to_volume() or _clone_image() to create
file on local disk, which can not be removed by the driver code itself.

Change-Id: If5d4c7a88e82362d2a87068202926b1ca82d9dff
Closes-Bug: #1242511
Remove lvm-thin pool_size config option

The pool_size config option when using thin LVM
is never actually checked/honored.  It's also unlikely
that users will want to do something other than use the
entire VG for their thin pool.

Rather than have the unused option going forward let's
remove it from the config and just go with the default
behavior of utilizing the entire Cinder VG.

For folks that would like to only use a portion of the
VG for some reason, they can do an lvcreate pool on their
own (just like we have them do for the VG itself) and get
the same flexibility that way.

This is done simply by:
lvcreate -T -L ${size} ${vg-name}/${vg_name}-pool

DocImpact

Change-Id: I3ef2cde433b8dd775b1873a0d6df165dd1945d8c
Merge "replace u\2013 char with dash"
Merge "Add tests for LVM -cow clearing"
Merge "Sync log from oslo"
Fix typo in test_check_ssh_injection_on error test

The test case currently has shh instead of ssh.
This commit fixes the typo.

Change-Id: I1e6f926b7d22f48ae56166077659ff3e3d9a1899
Merge "Remove lvm-thin pool_size config option"
Merge "Remove unused db calls to fetch original metadata"
Merge "Fix typo in test_check_ssh_injection_on error test"
Merge "Examine if GPFS is mounted before writing data."
Support volume_readonly_update using XML format

Almost all API support JSON and XML format together,
But this API does not support xml format.
In the request of xml format,
the type of parameter "readonly" in the body is string.
In the request of JSON format,
the type of parameter "readonly" in the body is bool.
But the code only support bool, not support string.
This branch is to solve this problem.

Closes-bug #1244848

Change-Id: I7f2b09a0063df9daad3fdd09789f8e19c43b0aa3
Remove duplication of ISCSIDriver in ISERDriver

ISERDriver is almost copy of ISCSIDriver.

Change-Id: I22394c7a3b26b140b19f76e052c98d11ec59145c
Remove dup of LVMISCSIDriver in LVMISERDriver

LVMISERDriver is almost copy of LVMISCSIDriver.

Change-Id: I27f03ba19908184e96d05e7f17e581d906fc119a
Don't use deprecated module commands

The commands module was deprecated since version 2.6 and it has been
removed in Python 3. Use the subprocess module instead.
See http://docs.python.org/2/library/commands#module-commands

Closes-Bug: #1248216
Change-Id: I4091179c6b312ae8534b30adc518eff67d68320a
Nexenta: Remove snapshot after volume-clone deletion.

Detect if volume was created via cloning and remove a snapshot from the
appliance if so. Return 'provider_location' to update the volume DB record
after creating a volume via cloning.

Closes-Bug: #1246079
Change-Id: I6c946d34871119600d7197614f5be22fa926e5dc
RequestContext initialization failed in cinder.

RequestContext initialization failed in cinder because of the following
error:
"TypeError: 'in <string>' requires string as left operand, not NoneType"

It must traverses in tuple not in string when find the "compute"
service_catalog.

Change-Id: I46f4bbd0ffb9d1db8bdcb0254ca95551fea08baf
Closes-Bug: #1248434