Restore SIGPIPE default action for subprocesses

Python ignores SIGPIPE on startup, because it prefers to check every
write and raise an IOError exception rather than taking the signal. Most
Unix subprocesses don't expect to work this way. This patch (adapted
from Colin Watson's post at http://tinyurl.com/2a7mzh5) sets SIGPIPE
back to the default action for cinder.utils.execute and cinder-rootwrap
created subprocesses.

Fixes bug 1053364

Change-Id: I4b3307bd2f0f5d0da529d8b7d80fabae28c57732
Stop double logging to the console

The code in nova for logging added an extra root handler to be
able to log messages to the console during log setup. This handler
was removed in the setup method. The common setup method no longer
removes this handler, so don't create it. Note that there may be
a small period before the logging setup is finished where messages
will not appear.

Fixes bug 1053512

Change-Id: I559cca8ffc2a33beff22025e42a9713487245980
Fixes to the SolarisISCSI Driver

Even when the san_is_local config option was set to false, the
SolarisISCSIDriver's _execute method was accidentally set to
util.execute by the VolumeDriver's __init__ method.

Fix bug 1053041

Change-Id: Ie3299f5065e2b084644ec2956f0c6ebae4264a49
Merge "Fixes to the SolarisISCSI Driver"
Add lun number (0) to model_update in HpSanDriver

The HpSanDriver was not setting the lun number in model_update
and as a result default value of 1 was being used.  Trouble is the
Lun number used by LeftHand is 0, so the connect info would be
wrong and fail when trying to attach the volume.

Fixes bug #1053717

Change-Id: If82a66c6a78ab03da09223a7b79abe559a6f702f
Set the default availability zone back to nova

Currently nova and cinder have to have the same set of az's for
the ec2 api to work properly. Therefore, set the default az for
cinder to nova so they will match.

Includes a hack to az to set cinder to nova to work around gate
issues. The hack can be removed once the gate sets the zone to
nova properly.

Fixes bug 1053508

Change-Id: I9c30ccc5c79b9c4e6c1ebeb3e80d0098e1ffbb11
Remove cinder gating hack

The hack was necessary while we switched the name used for az's
in the gating tests. Now it can be removed

Change-Id: I970205910ac0950ab4a961aa0537eb964d7f0d3c
Merge "Set the default availability zone back to nova"
Merge "Stop double logging to the console"
Merge "Remove cinder gating hack"
Sync with nova change I135ed85a.

This patch syncs the cinder driver code with that of the nova code,
as we received comments in the review process there.  All changes are
minor: (1) removing unnecessary type checks of the flags, (2) not
using getattr to access the FLAGS, and (3) using the self.flags()
infrastructure that test.TestCase provides.

Change-Id: Id740be6441862f048c3a9267394492a7ed65db84
Fix cinder-volume-usage-audit

It seems many point in the internal API and openstack.common changed, but
this binary has been forgotten.

Also, context ie needed when using the notifier, so import it.

This fixes bug #1053502

Change-Id: I306b8671e7b0ed8c2ce2548a51a4c5e6393e13cb
Signed-off-by: Julien Danjou <julien@danjou.info>
Return 400 if create volume snapshot force parameter is invalid

Fixes bug #1014689

* Add is_valid_boolstr function in utils.py
* Add force parameter check in SnapshotsController.create()
* Add unittest for invalid force parameter.

Change-Id: I0f64326f33eb4fad1cf384bd825f56f09e935f40
Merge "Return 400 if create volume snapshot force parameter is invalid"
Merge "Fix cinder-volume-usage-audit"