Merge "Utilizes assertIsNotNone"
Merge "Utilize assertIsInstance"
Add support for LocalConnector type in brick

GPFS and other file based drivers require a LocalConnector to support
volume connection and migration operations.

Modify brick/initiator/connector.py to add LocalConnector class.

Modify test_brick_connector.py to extend test_factory to include LocalConnector
class.

Modify test_gpfs.py to include new migrate_volume test.

Modify test_utils.py to extend test_brick_get_connector to include LocalConnector
class.

Closes-Bug: #1218052

Change-Id: I259fae339c2df7ae304a91c80c27d135762041f5
Merge "Synchronize extend_volume methods in 3PAR drivers"
Merge "Remove unused/redundant methods in cinder/test.py"
Merge "Validate VV Set exists in 3PAR drivers"
Replace assertEquals with assertEqual - 1/2

The method assertEquals has been deprecated since python 2.7.
http://docs.python.org/2/library/unittest.html#deprecated-aliases

Also in Python 3, a deprecated warning is raised when using assertEquals
therefore we should use assertEqual instead.

This patch is a mere sed replace of one-liner assertEquals to assertEqual.

grep -lR "assertEquals(" cinder/tests/* | \
xargs sed -ri 's/(\W+self.assertEqual)s(.+)(\)$)/\1\2\3/'

Change-Id: I4feea94d53afa866af9b7e14bd80345fa7276e75
Do not attempt vg.update on uninitialized vg

It's possible for the scheduler to send the periodic
stats update request *before* the volume service/driver
has finished initializing, resulting in an exception trace
being logged.

This change adds a check to verify that the vg is actually
initialized (completed check_for_setup_error) and it also
removes all of the duplication of each LVM class driver.

To deal with other drivers that may have similar issues,
add initialized member to base driver, that member is
set False on __init__ and is updated by the manager
after running check_for_setup_error.  We also skip
update_stats if initialization isn't set True.

Rather than have a separate copy of update_stats in every
driver, we have one in the base LVM class and we set the two
unique variables as member parameters.

Fixes bug 1221874

Change-Id: I159e98a77782b8b2c85a8dd956b150828358fd25
Check cinder-backup service before "backing-up"

If cinder-backup service is not enabled, "cinder backup-create"
command fails like the following. As the result, the volume status
has been changed to "backing-up" in spite of not backing-up.

$ cinder backup-create f48aa6ae-4c35-4a6a-a393-5a5cf610945a
ERROR: Service cinder-backup could not be found.
$ cinder list
+--+------------+--------------+------+-------------+----------+-------------+
|ID|   Status   | Display Name | Size | Volume Type | Bootable | Attached to |
+--+------------+--------------+------+-------------+----------+-------------+
|..| backing-up |   vol-test   |  1   |     None    |  False   |             |
+--+------------+--------------+------+-------------+----------+-------------+
$

To avoid this situation, this patch moves the cinder-backup check
before changing a volume status to "backing-up".

Fixes bug #1221012

Change-Id: I42ad41e1cfb6fdb7feebe39a9a5f0356a41d7838
Replace assertEquals with assertEqual - 2/2

The method assertEquals has been deprecated since python 2.7.
http://docs.python.org/2/library/unittest.html#deprecated-aliases

Also in Python 3, a deprecated warning is raised when using assertEquals
therefore we should use assertEqual instead.

This patch replaces the remaining assertEquals to assertEqual

Change-Id: I4e726ce414382e0d5bf982fad20363d61e00967a
Restrict Volume type deletion with volumes assoc

Updated volume_type_destroy method to throw exception
for volume type delete with associated volumes.

Updated volume_type unit tests

Closes-Bug: #1215329

tag:doc-impact

Change-Id: I7a5d4b473588757d21b461337df493e8046e1d09
Merge "Replace assertEquals with assertEqual - 1/2"
Merge "Do not attempt vg.update on uninitialized vg"
Merge "Check cinder-backup service before "backing-up""
Merge "Send notifications when extending volume"
Merge "Replace assertEquals with assertEqual - 2/2"
Merge "Restrict Volume type deletion with volumes assoc"
Fix bug in Nexenta NFS driver _do_create_volume

Fix bug in _do_create_volume method of Nexenta NFS volume driver.
NMS call nms.folder.create doesn't support third argument, that is why
this call changed to nms.folder.create_with_opts.

Closes-Bug: #1221946
Change-Id: I712ee2919f1bd117e7a1691979639689d95adc92
Fixes pep8 violation in nova

This patch fixes a simple pep8 violation
that nova complains about.

Fixes Bug #1223046

Change-Id: I6f06939e3729b64fcefc5cdb20da05e7d3172be5
Fix Qos Specs association corner case

Fix a corner case in associating QoS Specs with Volumt types that was
not handled well: Raise HTTPBadRequest() to client if associate volume
type, which is already associated one qos specs other than specified
qos specs.  Previously such operation will proceed without error which
results overwriting original association.

Also refactor DB API volume_type_qos_specs_get() to return qos specs
in consistent dict format as other qos specs related APIs.

Fix bug: # 1222692

Change-Id: I9db66d1e3a7469620ba542f5387422685a2d828f