Add cinder support for IBM FlashSystem.

This driver implements cinder FC volume driver.
It communicates with IBM FlashSystem using SSH management interface.
It supports all required driver features.

Change-Id: Idc1c5961f134652e5cce51c84d7280f9d3864578
Implements: blueprint ibm-flashsystem-driver
Fix _get_disk_of_partition edgecase in utils

_get_disk_of_partition in cinder/utils returns a disk device path,
calculated from a supplied partition device path, and stat for a device.

If the disk path calculated by the function, using a regex, is not a
block device the function will return the original device path argument
and the stat object for disk path that was not a block device.

This commit modifies the function so that if the supplied device path is
returned by the function the stat of that path is guaranteed to be
returned.

Change-Id: I7ce0a748fe4a0ebaa02cba11baadb8c71c007aa2
Improve testing of cinder/utils.py

This commit increases code coverage of cinder/utils.py as well as
removing any use of mox and replacing tests that are more functional in
nature with tests more focussed on testing the function in
cinder/utils.py.

Change-Id: I57bb589fa728d715f07aadc4abd0e27670a3a5b6
Add ability to zfssa driver to create multiple initiator groups

Currently the zfssa driver only support one initiator group. This
is causing broken scsi devices when detaching volumes from instances.
This fix adds support for configuring multiple initiator groups.

Closes-Bug: #1378390
DocImpact

Change-Id: Ib3262ebd40e9c2ff2f36d0a7b1b5b3506ed3acc1
Revert "Fix Brocade FC SAN lookup MITM vulnerability"

This reverts commit ab4f57212683baec45d5b682bdd3952ff58249ed.

The change is being reverted as it broke the Brocade FC SAN lookup
functionality.  The change uses configuration options from
ssh_utils that are not initialized when the Brocade driver is
run causing an exception to be thrown complaining that
CONF.ssh_hosts_key_file is used before it is initialized.

The right solution is to change the Brocade driver to use ssh_utils to
make SSH connections.

Conflicts:

	cinder/zonemanager/drivers/brocade/brcd_fc_san_lookup_service.py

Change-Id: I7814c3da9c0e6fcf3143969e74304a48cafcb3d1
Closes-bug: 1398488
Use object.property instead of object.dump()['property']

Less verbose and requires less work for the library.

Change-Id: Ied2196b548c91324fdfce39ec4f8801e59da4f6c
VMware: Add missing storage profile requirement

If a storage profile is part of a volume type, it should be used as a
requirement for datastore selection-- only datastores which satisfy the
storage profile should be used for backing VM creation. Currently in
retype API, if storage profiles in old and new volume types are same,
it is not passed as a requirement. Hence, the backing VM corresponding
to the volume might end up in a datastore which doesn't satisfy the
storage profile. This patch fixes the problem.

Closes-Bug: #1398293
Change-Id: I49161e9fc5a8f2749ee6097fa5a136b78dfcf3ab
Merge "Use object.property instead of object.dump()['property']"
Bring cinder up-to-date with new oslo libraries

New versions of the oslo libraries have been released and
this has broken Cinder in the gate.  The first issue is
causing all unit tests to fail with the message:

"NoSuchOptError: no such option: fake_rabbit"

This was due to commit bcb3b23b8f6e7d01e38fdc031982558711bb7586
removing that option from oslo/messaging/_drivers/impl_rabbit.py .
We were trying to set that option in cinder/tests/conf_fixture.py .
I have removed that code.

Second, the update has made etc/cinder.conf.sample go out of date
again.  I am merging the changes to bring it back up to date.

This change also disables execution of check_uptodate.sh execution
from the gate.

Change-Id: Ie4e25a8cd36782007a8934cc4573632f5215c2b1
Remove lio_initiator_iqns

This is a holdover from the initial LIO implementation
which did not manage ACLs sufficiently.  This is
unneeded now and handled by:
67dd248 LIO iSCSI initiator ACL auto-config

DocImpact: remove lio_initiator_iqns cfg opt

Closes-Bug: #1390383

Change-Id: I3b7fe4765c1c568a6a7713f86cadece52b130911
Merge "Bring cinder up-to-date with new oslo libraries"
Improve unit tests for cinder/volume/utils.py

This commit increases the unit test coverage of cinder/volume/utils.py.
It also replaces tests using mox or stubout.

Change-Id: Idb06b37c803d94bb33b0df9d19ced8b330def2ad
Merge "Revert "Fix Brocade FC SAN lookup MITM vulnerability""
Merge "Add cinder support for IBM FlashSystem."
Remove the check_uptodate conf checks

We recently removed the checkupdate tests for sample.conf
here Ie4e25a8cd36782007a8934cc4573632f5215c2b1

To stop gating on this as it's just a big fat
pain when external libs change.

Instead, we'll start generating this in an external
job and publishing somewhere.

Funny thing though, we actually have a direct call in
run_tests.sh as well.

This patch removes the second call in run_tests.sh

Change-Id: Iaef411e254186fbba80c21903d6f94538a808d93
Workflow documentation is now in infra-manual

Replace URLs for workflow documentation to appropriate parts of the
OpenStack Project Infrastructure Manual.

Change-Id: I1e0c546a72c75193e8c742c02dc189d178a0312c
Imported Translations from Transifex

For more information about this automatic import see:
https://wiki.openstack.org/wiki/Translations/Infrastructure

Change-Id: I67452a3d8b63d83f0c72411e3e1397623be3f530
Inherit RequestContext from oslo

In the long-term, OpenStack projects should use oslo.context as the base
class for their custom contexts. This enables the use of
application-agnostic tools, e.g. global logging configurations. See
http://specs.openstack.org/openstack/oslo-specs/specs/juno/app-agnostic-logging-parameters.html

This patch syncs the latest context module from oslo-incubator and use
it as the base class for Cinder RequestContext. The goal is to clean up
Cinder code, and to be ready for the first oslo.context release.

Change-Id: Iba9354b402de556ca6e55e7c17dd6f3f1624d72d
Related-bug: #1210261
Allow HostState to handle empty capabilities

In some cases, where the capabilities reported from driver is
emtpy, scheduler would raise exception thus unable to correctly
handle scheduling request even when other backend candidates are
able to fulfill the request.  This change does some modifications
to HostState so that it is able to handle empty capabilities.

Change-Id: Icb6522852d427dea3fbd1ec4b4cc94a184d3669d
Fixes-bug: #1398875
Merge "Workflow documentation is now in infra-manual"