]> review.fuel-infra Code Review - openstack-build/cinder-build.git/commit
Remove iscsi_helper calls from base iscsi driver
authorJohn Griffith <john.griffith8@gmail.com>
Sun, 14 Dec 2014 19:02:30 +0000 (12:02 -0700)
committerJohn Griffith <john.griffith@solidfire.com>
Mon, 15 Dec 2014 20:18:17 +0000 (13:18 -0700)
commit7095e1c5a7477ca77c8698d96a969a7d78090a18
tree0f83054953b4916c23a6a80f590300bb50e4070f
parent5259bd7f6010f17a129e6bbb1d8e486e93b33b03
Remove iscsi_helper calls from base iscsi driver

There are a number of drivers that inherit from the base
iscsi driver, using the base implementation of initialize_connection
and terminate_connection.  These drivers also don't have iscsi_helper
defined.

We've kept all iscsi_helper specific code in the tgt helpers
themselves, or in the various versions of the LVM driver
which is where they belong.

Over time however there have been some iscsi_helper specific
calls that have crept in to the base volume.driver:ISCSIDriver
class.  These were LIO specific calls and as a result when a
configuration is set with multi-backend to use lioadm as the
target helper, or even if it's not used but the default iscsi_helper
is set to lioadm the initialize_connection and terminate_connection
calls will try and access the LIO specific calls and raise because
the drivers inheriting from this class don't have target_helper
members.

This went unnoticed mostly because there's no significant LIO testing
in place and there were no distros setting LIO as the default iscsi_helper,
it appears that this has changed however.

This patch moves the LIO specific calls back where they belong
and keeps the base ISCSIDriver generic.  I've also added a test
case for this in the SolidFire driver because it's impacted by
this.

Change-Id: Ibe010b62bb2518685753dd515326e56ffcc99cea
Closes-Bug: #1400804
cinder/tests/test_solidfire.py
cinder/volume/driver.py
cinder/volume/drivers/lvm.py