Add image metadata API extension

This patch introduces an API extension that will expose the volume
metadata inherited from the image if the volume was created from an image.

This data will be used by Nova when booting from volume without any
image supplied.

In addition, the patch introduces a helper method on the volume.API
class for accessing the image metadata and also updates the policy.json
files to be aware of the new extension.

This patch is part of the blueprint improve-boot-from-volume

This patch also introduces DocImpact as it extends the cinder API

Change-Id: I64515cc02f8de863e65e96c66eb1fda1a1954ac7
CHAP support for IBM Storwize/SVC driver.

This implements support for CHAP authentication of hosts by the IBM
Storwize/SVC controller. A host entity was created on the controller for
each server that logs in with iSCSI. Now a randomly-generated CHAP
secret is added to the host entity on the controller (passed via the
controller CLI over SSH).

Implements blueprint add-chap-support-to-storwize-svc-driver

Change-Id: I60b5ddd0ea2e1ede3070779e5293820480aa0401
Merge "CHAP support for IBM Storwize/SVC driver."
Allow the lvm backed drivers to use mirrrors

Adds a new configuration option called lvm_mirrors. If this is
set to a value > 0, it will create the specified number of mirrors
when creating volumes. Note that lvm_mirrors + 2 pvs are required
in the volume group for lvm mirroring to work properly.

Change-Id: I7e28d11c48cdbb99e17b0930b720fbd805bf9931
Moving host admin extension with other extensions

Think this was merged during the big api changes in g1. This allows the
extension to actually be enabled.

Change-Id: I07bb9646fd11368fe5ffd7f85617ecbf103dc788
Merge "Add image metadata API extension"
Fixes a Windows volume driver bug on disk export

Fixes Bug #1089168

When a VHD created by Cinder using the iSCSI Target Server is deleted
manually, at the next startup the cinder-volume service terminates with an
exception.
This fix adds a check to verify if the disk exists.

Change-Id: I830cb8332dcef845591bd88cccef1e0e9781ffcc
Merge "Fixes a Windows volume driver bug on disk export"
Merge "Moving host admin extension with other extensions"
Added the lockutils, fileutils, gettextutils

The 3par driver, for both iSCSI and Fibre Channel,
that I will commit soon, needs the lockutils to ensure thread safety in
each of the driver entry points.  The driver uses a single shared http
session for all of it's connections to the 3par drive array.
This is required for the driver because of the limitation on the
3par's WSAPI only supporting a very small number of open connections.

For example without this, the driver will have problems when 2 users try and
create a volume at the same time.   I've discovered this in my threaded
stress test tool.

Change-Id: Ic9d7295e7bcbf5c06086ddf5bd9b8b2fe771faa5
Add service mgmt extension.

Add capability to list, enable and disable cinder services on a node.

Change-Id: I6728fee46d7b15a009bc6c329414ede8c01852b4
Make sure we don't double remove tmp on exception

The fetch_to_raw code would fail if an exception is thrown during
fetch because it would attempt to delete the same file twice.

Fix this by using mkstemp and our wrapper which only deletes the
tmp file if it exists.

Change-Id: I7bb3171d3c7dc023fc743578c2ce6e804bbc49f5
Make the NetAppISCSIDriver._is_clone_done() method able to handle
empty responses. Add unit tests to exercise this case.

bug 1090168

Change-Id: Ia51a73b8ebead7a0f3be9202794ca8549bdf3e5b
Fix typo in image_utils tempfile handling

Commit cbcd340 changed from NamedTemporaryFile to mkstemp, but
mkstemp returns a file descripter, not a file object. We therefore
need to close the fd using os.close(). This was tested using
devstack.

Change-Id: I808fa470a141e249fe30ee762ee94f47ecfd3f63
Merge "Make the NetAppISCSIDriver._is_clone_done() method able to handle empty responses. Add unit tests to exercise this case."
Adding marker, pagination, sort key and sort direction to v2 api

Taking a cue from quantum, use glance's pagination function.

bp api-pagination

Change-Id: Ida7ade8d9332c88679849f7c640651df7e855abb
Add EMC Volume Driver in Cinder

Add support for EMC storage in the Cinder-Volume service.
This driver is based on the existing ISCSIDriver, with the ability to
create/delete and attach/detach volumes and create/delete snapshots, etc.
The Cinder Driver executes the volume operations by communicating with the
backend EMC storage. It uses a CIM client in python called PyWBEM to make
CIM operations over HTTP.
EMC CIM Object Manager (ECOM) is packaged with the SMI-S Provider. It is a
CIM server that allows CIM clients to make CIM operations over HTTP, using
SMI-S in the backend for EMC storage operations.
SMI-S Provider supports the SNIA Storage Management Initiative (SMI), an
ANSI standard for storage management. It supports VMAX/VMAXe and VNX
storage systems.

Implement bp: emc-volume-driver

Change-Id: Iafce98603d31d66a7297ef11c92d5e6ac6ba3737
Merge "Add EMC Volume Driver in Cinder"
Adds synchronization to attach volume.

This patch adds the following changes:
1. Move db update for volume status during attach to volume.manager
2. Add lock synchronization to volume attach operation
3. Related unit tests

Fixes Bug 1087253
Change-Id: I15242766bf4cfa4da67789c485fdf6886983eb45
Add pyflakes

Add tox option to use pyflakes.

Change-Id: Ic77ec3f54cb89341d5b01feb3417e07f43d20c9c
Signed-off-by: Chuck Short <chuck.short@canonical.com>