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
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
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"
Merge "Remove lio_initiator_iqns"
Updated from global requirements

Change-Id: I9b0933979b0df44d8ccd46699ee58acdda2df14b
Merge "Add ability to zfssa driver to create multiple initiator groups"