--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/components/openstack/cinder/patches/06-no-san-remote.patch Fri Apr 24 10:52:04 2015 -0700
@@ -0,0 +1,30 @@
+This internal-only patch is to prevent Cinder's SanDriver from
+attempting to use the Paramiko-based routines until the latter is
+integrated into Solaris. It also provides a specific error in the case
+where san_is_local=false is defined in the configuration and a driver
+is specified that attempts to use that configuration (which implies,
+again, an attempt to use Paramiko).
+
+--- cinder-2014.2.2/cinder/volume/drivers/san/san.py.~1~ 2015-02-05 08:03:26.000000000 -0800
++++ cinder-2014.2.2/cinder/volume/drivers/san/san.py 2015-04-22 00:54:38.481125902 -0700
[email protected]@ -29,7 +29,6 @@ from cinder.i18n import _
+ from cinder.openstack.common import excutils
+ from cinder.openstack.common import log as logging
+ from cinder.openstack.common import processutils
+-from cinder import ssh_utils
+ from cinder import utils
+ from cinder.volume import driver
+
[email protected]@ -165,10 +164,8 @@ class SanDriver(driver.VolumeDriver):
+ def check_for_setup_error(self):
+ """Returns an error if prerequisites aren't met."""
+ if not self.run_local:
+- if not (self.configuration.san_password or
+- self.configuration.san_private_key):
+- raise exception.InvalidInput(
+- reason=_('Specify san_password or san_private_key'))
++ raise exception.InvalidInput(
++ reason=_("san_is_local=false is not currently supported."))
+
+ # The san_ip must always be set, because we use it for the target
+ if not self.configuration.san_ip: