summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSoren Hansen <soren@linux2go.dk>2011-03-17 22:06:34 +0000
committerTarmac <>2011-03-17 22:06:34 +0000
commit4edbeea2e81a7aff271be5e96cc18cb3ea6e5133 (patch)
tree344fb6d84bc3fe9d827f5730131054a1f3b3cdc0
parent5726430038ce01f6dc1efba6d1f51a84cadfecf9 (diff)
parentafda510637577748d311f0779596c6fec17b00fa (diff)
downloadnova-4edbeea2e81a7aff271be5e96cc18cb3ea6e5133.tar.gz
nova-4edbeea2e81a7aff271be5e96cc18cb3ea6e5133.tar.xz
nova-4edbeea2e81a7aff271be5e96cc18cb3ea6e5133.zip
Fix a number of place in the volume driver where the argv hadn't been fully split
-rw-r--r--nova/tests/test_volume.py9
-rw-r--r--nova/volume/driver.py17
2 files changed, 14 insertions, 12 deletions
diff --git a/nova/tests/test_volume.py b/nova/tests/test_volume.py
index 1b1d72092..5d68ca2ae 100644
--- a/nova/tests/test_volume.py
+++ b/nova/tests/test_volume.py
@@ -336,8 +336,8 @@ class ISCSITestCase(DriverTestCase):
self.mox.StubOutWithMock(self.volume.driver, '_execute')
for i in volume_id_list:
tid = db.volume_get_iscsi_target_num(self.context, i)
- self.volume.driver._execute("sudo ietadm --op show --tid=%(tid)d"
- % locals())
+ self.volume.driver._execute("sudo", "ietadm", "--op", "show",
+ "--tid=%(tid)d" % locals())
self.stream.truncate(0)
self.mox.ReplayAll()
@@ -355,8 +355,9 @@ class ISCSITestCase(DriverTestCase):
# the first vblade process isn't running
tid = db.volume_get_iscsi_target_num(self.context, volume_id_list[0])
self.mox.StubOutWithMock(self.volume.driver, '_execute')
- self.volume.driver._execute("sudo ietadm --op show --tid=%(tid)d"
- % locals()).AndRaise(exception.ProcessExecutionError())
+ self.volume.driver._execute("sudo", "ietadm", "--op", "show",
+ "--tid=%(tid)d" % locals()
+ ).AndRaise(exception.ProcessExecutionError())
self.mox.ReplayAll()
self.assertRaises(exception.ProcessExecutionError,
diff --git a/nova/volume/driver.py b/nova/volume/driver.py
index 7b4bacdec..779b46755 100644
--- a/nova/volume/driver.py
+++ b/nova/volume/driver.py
@@ -207,8 +207,8 @@ class AOEDriver(VolumeDriver):
(shelf_id,
blade_id) = self.db.volume_get_shelf_and_blade(context,
_volume['id'])
- self._execute("sudo aoe-discover")
- out, err = self._execute("sudo aoe-stat", check_exit_code=False)
+ self._execute('sudo', 'aoe-discover')
+ out, err = self._execute('sudo', 'aoe-stat', check_exit_code=False)
device_path = 'e%(shelf_id)d.%(blade_id)d' % locals()
if out.find(device_path) >= 0:
return "/dev/etherd/%s" % device_path
@@ -224,8 +224,8 @@ class AOEDriver(VolumeDriver):
(shelf_id,
blade_id) = self.db.volume_get_shelf_and_blade(context,
volume_id)
- cmd = "sudo vblade-persist ls --no-header"
- out, _err = self._execute(cmd)
+ cmd = ('sudo', 'vblade-persist', 'ls', '--no-header')
+ out, _err = self._execute(*cmd)
exported = False
for line in out.split('\n'):
param = line.split(' ')
@@ -318,8 +318,8 @@ class ISCSIDriver(VolumeDriver):
iscsi_name = "%s%s" % (FLAGS.iscsi_target_prefix, volume['name'])
volume_path = "/dev/%s/%s" % (FLAGS.volume_group, volume['name'])
self._execute('sudo', 'ietadm', '--op', 'new',
- '--tid=%s --params Name=%s' %
- (iscsi_target, iscsi_name))
+ '--tid=%s' % iscsi_target,
+ '--params', 'Name=%s' % iscsi_name)
self._execute('sudo', 'ietadm', '--op', 'new',
'--tid=%s' % iscsi_target,
'--lun=0', '--params',
@@ -500,7 +500,8 @@ class ISCSIDriver(VolumeDriver):
tid = self.db.volume_get_iscsi_target_num(context, volume_id)
try:
- self._execute("sudo ietadm --op show --tid=%(tid)d" % locals())
+ self._execute('sudo', 'ietadm', '--op', 'show',
+ '--tid=%(tid)d' % locals())
except exception.ProcessExecutionError, e:
# Instances remount read-only in this case.
# /etc/init.d/iscsitarget restart and rebooting nova-volume
@@ -551,7 +552,7 @@ class RBDDriver(VolumeDriver):
def delete_volume(self, volume):
"""Deletes a logical volume."""
self._try_execute('rbd', '--pool', FLAGS.rbd_pool,
- 'rm', voluname['name'])
+ 'rm', volume['name'])
def local_path(self, volume):
"""Returns the path of the rbd volume."""