summaryrefslogtreecommitdiffstats
path: root/nova/virt
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2013-05-06 16:01:38 +0000
committerGerrit Code Review <review@openstack.org>2013-05-06 16:01:38 +0000
commitef0df189db0b4c18e2742bbd195a18afb535b908 (patch)
tree9976cffd9225de61438bb525ab30d20b6fa35dc0 /nova/virt
parent9a7683e59ba1c175f3986eb42480f66f0a7e7569 (diff)
parent1a11790f2d26ec92858a3ffa100388310912fae1 (diff)
Merge "Convert to using oslo's execute() method."
Diffstat (limited to 'nova/virt')
-rwxr-xr-xnova/virt/baremetal/tilera_pdu.py5
-rw-r--r--nova/virt/baremetal/virtual_power_driver.py3
-rw-r--r--nova/virt/baremetal/volume_driver.py7
-rwxr-xr-xnova/virt/disk/api.py3
-rw-r--r--nova/virt/hyperv/vmops.py3
-rwxr-xr-xnova/virt/libvirt/driver.py5
-rwxr-xr-xnova/virt/libvirt/utils.py6
-rw-r--r--nova/virt/libvirt/vif.py5
-rw-r--r--nova/virt/libvirt/volume.py13
-rw-r--r--nova/virt/powervm/common.py15
-rw-r--r--nova/virt/powervm/operator.py4
-rw-r--r--nova/virt/xenapi/vm_utils.py5
12 files changed, 43 insertions, 31 deletions
diff --git a/nova/virt/baremetal/tilera_pdu.py b/nova/virt/baremetal/tilera_pdu.py
index 86e6086ae..0e491168f 100755
--- a/nova/virt/baremetal/tilera_pdu.py
+++ b/nova/virt/baremetal/tilera_pdu.py
@@ -26,6 +26,7 @@ from oslo.config import cfg
from nova import exception
from nova.openstack.common import log as logging
+from nova.openstack.common import processutils
from nova import utils
from nova.virt.baremetal import baremetal_states
from nova.virt.baremetal import base
@@ -104,7 +105,7 @@ class Pdu(base.PowerManager):
utils.execute('ping', '-c1', self.address,
check_exit_code=True)
return CONF.baremetal.tile_pdu_on
- except exception.ProcessExecutionError:
+ except processutils.ProcessExecutionError:
return CONF.baremetal.tile_pdu_off
else:
try:
@@ -112,7 +113,7 @@ class Pdu(base.PowerManager):
CONF.baremetal.tile_pdu_ip, mode)
time.sleep(CONF.baremetal.tile_power_wait)
return mode
- except exception.ProcessExecutionError:
+ except processutils.ProcessExecutionError:
LOG.exception(_("PDU failed"))
def _is_power(self, state):
diff --git a/nova/virt/baremetal/virtual_power_driver.py b/nova/virt/baremetal/virtual_power_driver.py
index 2e659b8c3..22dd815d0 100644
--- a/nova/virt/baremetal/virtual_power_driver.py
+++ b/nova/virt/baremetal/virtual_power_driver.py
@@ -23,6 +23,7 @@ from nova import context as nova_context
from nova import exception
from nova.openstack.common import importutils
from nova.openstack.common import log as logging
+from nova.openstack.common import processutils
from nova import utils
from nova.virt.baremetal import baremetal_states
from nova.virt.baremetal import base
@@ -233,7 +234,7 @@ class VirtualPowerManager(base.PowerManager):
check_exit_code=check_exit_code)
result = stdout.strip().splitlines()
LOG.debug('Result for run_command: %s' % result)
- except exception.ProcessExecutionError:
+ except processutils.ProcessExecutionError:
result = []
LOG.exception("Error running command: %s" % cmd)
return result
diff --git a/nova/virt/baremetal/volume_driver.py b/nova/virt/baremetal/volume_driver.py
index cc23f9064..6cf6b775f 100644
--- a/nova/virt/baremetal/volume_driver.py
+++ b/nova/virt/baremetal/volume_driver.py
@@ -24,6 +24,7 @@ from nova import context as nova_context
from nova import exception
from nova.openstack.common import importutils
from nova.openstack.common import log as logging
+from nova.openstack.common import processutils
from nova import utils
from nova.virt.baremetal import db as bmdb
from nova.virt.libvirt import utils as libvirt_utils
@@ -91,7 +92,7 @@ def _delete_iscsi_export_tgtadm(tid):
'--tid', tid,
'--lun', '1',
run_as_root=True)
- except exception.ProcessExecutionError:
+ except processutils.ProcessExecutionError:
pass
try:
utils.execute('tgtadm', '--lld', 'iscsi',
@@ -99,7 +100,7 @@ def _delete_iscsi_export_tgtadm(tid):
'--op', 'delete',
'--tid', tid,
run_as_root=True)
- except exception.ProcessExecutionError:
+ except processutils.ProcessExecutionError:
pass
# Check if the tid is deleted, that is, check the tid no longer exists.
# If the tid dose not exist, tgtadm returns with exit_code 22.
@@ -113,7 +114,7 @@ def _delete_iscsi_export_tgtadm(tid):
'--op', 'show',
'--tid', tid,
run_as_root=True)
- except exception.ProcessExecutionError as e:
+ except processutils.ProcessExecutionError as e:
if e.exit_code == 22:
# OK, the tid is deleted
return
diff --git a/nova/virt/disk/api.py b/nova/virt/disk/api.py
index 497e2baaa..2c5def493 100755
--- a/nova/virt/disk/api.py
+++ b/nova/virt/disk/api.py
@@ -37,6 +37,7 @@ from oslo.config import cfg
from nova import exception
from nova.openstack.common import jsonutils
from nova.openstack.common import log as logging
+from nova.openstack.common import processutils
from nova import paths
from nova import utils
from nova.virt.disk.mount import api as mount
@@ -155,7 +156,7 @@ def can_resize_fs(image, size, use_cow=False):
# For raw, we can directly inspect the file system
try:
utils.execute('e2label', image)
- except exception.ProcessExecutionError as e:
+ except processutils.ProcessExecutionError as e:
LOG.debug(_('Unable to determine label for image %(image)s with '
'error %(errror)s. Cannot resize.'),
{'image': image,
diff --git a/nova/virt/hyperv/vmops.py b/nova/virt/hyperv/vmops.py
index 615567c0d..2bda94a35 100644
--- a/nova/virt/hyperv/vmops.py
+++ b/nova/virt/hyperv/vmops.py
@@ -28,6 +28,7 @@ from nova import exception
from nova.openstack.common import excutils
from nova.openstack.common import importutils
from nova.openstack.common import log as logging
+from nova.openstack.common import processutils
from nova import utils
from nova.virt import configdrive
from nova.virt.hyperv import constants
@@ -229,7 +230,7 @@ class VMOps(object):
with configdrive.ConfigDriveBuilder(instance_md=inst_md) as cdb:
try:
cdb.make_drive(configdrive_path_iso)
- except exception.ProcessExecutionError as e:
+ except processutils.ProcessExecutionError as e:
with excutils.save_and_reraise_exception():
LOG.error(_('Creating config drive failed with error: %s'),
e, instance=instance)
diff --git a/nova/virt/libvirt/driver.py b/nova/virt/libvirt/driver.py
index e8a0a46eb..a0d2d0a7b 100755
--- a/nova/virt/libvirt/driver.py
+++ b/nova/virt/libvirt/driver.py
@@ -77,6 +77,7 @@ from nova.openstack.common import jsonutils
from nova.openstack.common import log as logging
from nova.openstack.common import loopingcall
from nova.openstack.common.notifier import api as notifier
+from nova.openstack.common import processutils
from nova import utils
from nova import version
from nova.virt import configdrive
@@ -1871,7 +1872,7 @@ class LibvirtDriver(driver.ComputeDriver):
try:
cdb.make_drive(configdrive_path)
- except exception.ProcessExecutionError as e:
+ except processutils.ProcessExecutionError as e:
with excutils.save_and_reraise_exception():
LOG.error(_('Creating config drive failed '
'with error: %s'),
@@ -3236,7 +3237,7 @@ class LibvirtDriver(driver.ComputeDriver):
try:
self.plug_vifs(instance, network_info)
break
- except exception.ProcessExecutionError:
+ except processutils.ProcessExecutionError:
if cnt == max_retry - 1:
raise
else:
diff --git a/nova/virt/libvirt/utils.py b/nova/virt/libvirt/utils.py
index 96f84c194..07ab44769 100755
--- a/nova/virt/libvirt/utils.py
+++ b/nova/virt/libvirt/utils.py
@@ -26,8 +26,8 @@ import os
from lxml import etree
from oslo.config import cfg
-from nova import exception
from nova.openstack.common import log as logging
+from nova.openstack.common import processutils
from nova import utils
from nova.virt import images
@@ -64,7 +64,7 @@ def get_fc_hbas():
try:
out, err = execute('systool', '-c', 'fc_host', '-v',
run_as_root=True)
- except exception.ProcessExecutionError as exc:
+ except processutils.ProcessExecutionError as exc:
# This handles the case where rootwrap is used
# and systool is not installed
# 96 = nova.cmd.rootwrap.RC_NOEXECFOUND:
@@ -427,7 +427,7 @@ def copy_image(src, dest, host=None):
# can fall back to scp, without having run out of space
# on the destination for example.
execute('rsync', '--sparse', '--compress', '--dry-run', src, dest)
- except exception.ProcessExecutionError:
+ except processutils.ProcessExecutionError:
execute('scp', src, dest)
else:
execute('rsync', '--sparse', '--compress', src, dest)
diff --git a/nova/virt/libvirt/vif.py b/nova/virt/libvirt/vif.py
index db7bb96d8..28c481cfe 100644
--- a/nova/virt/libvirt/vif.py
+++ b/nova/virt/libvirt/vif.py
@@ -27,6 +27,7 @@ from nova import exception
from nova.network import linux_net
from nova.network import model as network_model
from nova.openstack.common import log as logging
+from nova.openstack.common import processutils
from nova import utils
from nova.virt.libvirt import config as vconfig
from nova.virt.libvirt import designer
@@ -417,7 +418,7 @@ class LibvirtGenericVIFDriver(LibvirtBaseVIFDriver):
network, mapping = vif
linux_net.delete_ovs_vif_port(self.get_bridge_name(network),
self.get_vif_devname(mapping))
- except exception.ProcessExecutionError:
+ except processutils.ProcessExecutionError:
LOG.exception(_("Failed while unplugging vif"), instance=instance)
def unplug_ovs_bridge(self, instance, vif):
@@ -446,7 +447,7 @@ class LibvirtGenericVIFDriver(LibvirtBaseVIFDriver):
linux_net.delete_ovs_vif_port(self.get_bridge_name(network),
v2_name)
- except exception.ProcessExecutionError:
+ except processutils.ProcessExecutionError:
LOG.exception(_("Failed while unplugging vif"), instance=instance)
def unplug_ovs(self, instance, vif):
diff --git a/nova/virt/libvirt/volume.py b/nova/virt/libvirt/volume.py
index 1d226ae83..5f8d4bd72 100644
--- a/nova/virt/libvirt/volume.py
+++ b/nova/virt/libvirt/volume.py
@@ -30,6 +30,7 @@ from nova import exception
from nova.openstack.common import lockutils
from nova.openstack.common import log as logging
from nova.openstack.common import loopingcall
+from nova.openstack.common import processutils
from nova import paths
from nova.storage import linuxscsi
from nova import utils
@@ -314,7 +315,7 @@ class LibvirtISCSIVolumeDriver(LibvirtBaseVolumeDriver):
# volume is using the same target.
try:
self._run_iscsiadm(iscsi_properties, ())
- except exception.ProcessExecutionError as exc:
+ except processutils.ProcessExecutionError as exc:
# iscsiadm returns 21 for "No records found" after version 2.0-871
if exc.exit_code in [21, 255]:
self._run_iscsiadm(iscsi_properties, ('--op', 'new'))
@@ -353,7 +354,7 @@ class LibvirtISCSIVolumeDriver(LibvirtBaseVolumeDriver):
self._run_iscsiadm(iscsi_properties,
("--login",),
check_exit_code=[0, 255])
- except exception.ProcessExecutionError as err:
+ except processutils.ProcessExecutionError as err:
#as this might be one of many paths,
#only set successfull logins to startup automatically
if err.exit_code in [15]:
@@ -484,7 +485,7 @@ class LibvirtNFSVolumeDriver(LibvirtBaseVolumeDriver):
try:
utils.execute(*nfs_cmd, run_as_root=True)
- except exception.ProcessExecutionError as exc:
+ except processutils.ProcessExecutionError as exc:
if ensure and 'already mounted' in exc.message:
LOG.warn(_("%s is already mounted"), nfs_share)
else:
@@ -500,7 +501,7 @@ class LibvirtNFSVolumeDriver(LibvirtBaseVolumeDriver):
"""Check path."""
try:
return utils.execute('stat', path, run_as_root=True)
- except exception.ProcessExecutionError:
+ except processutils.ProcessExecutionError:
return False
@@ -605,7 +606,7 @@ class LibvirtGlusterfsVolumeDriver(LibvirtBaseVolumeDriver):
utils.execute('mount', '-t', 'glusterfs', glusterfs_share,
mount_path,
run_as_root=True)
- except exception.ProcessExecutionError as exc:
+ except processutils.ProcessExecutionError as exc:
if ensure and 'already mounted' in exc.message:
LOG.warn(_("%s is already mounted"), glusterfs_share)
else:
@@ -621,7 +622,7 @@ class LibvirtGlusterfsVolumeDriver(LibvirtBaseVolumeDriver):
"""Check path."""
try:
return utils.execute('stat', path, run_as_root=True)
- except exception.ProcessExecutionError:
+ except processutils.ProcessExecutionError:
return False
diff --git a/nova/virt/powervm/common.py b/nova/virt/powervm/common.py
index 34658547c..dd6517dcd 100644
--- a/nova/virt/powervm/common.py
+++ b/nova/virt/powervm/common.py
@@ -21,8 +21,8 @@ import uuid
import paramiko
-from nova import exception as nova_exception
from nova.openstack.common import log as logging
+from nova.openstack.common import processutils
from nova import utils
from nova.virt.powervm import constants
from nova.virt.powervm import exception
@@ -68,7 +68,7 @@ def ssh_command_as_root(ssh_connection, cmd, check_exit_code=True):
:param connection: an active paramiko.SSHClient connection.
:param command: string containing the command to run.
:returns: Tuple -- a tuple of (stdout, stderr)
- :raises: nova.exception.ProcessExecutionError
+ :raises: processutils.ProcessExecutionError
"""
LOG.debug(_('Running cmd (SSH-as-root): %s') % cmd)
chan = ssh_connection._transport.open_session()
@@ -89,10 +89,13 @@ def ssh_command_as_root(ssh_connection, cmd, check_exit_code=True):
if exit_status != -1:
LOG.debug(_('Result was %s') % exit_status)
if check_exit_code and exit_status != 0:
- raise nova_exception.ProcessExecutionError(exit_code=exit_status,
- stdout=stdout,
- stderr=stderr,
- cmd=''.join(cmd))
+ # TODO(mikal): I know this is weird, but it needs to be consistent
+ # with processutils.execute. I will move this method to oslo in
+ # a later commit.
+ raise processutils.ProcessExecutionError(exit_code=exit_status,
+ stdout=stdout,
+ stderr=stderr,
+ cmd=''.join(cmd))
return (stdout, stderr)
diff --git a/nova/virt/powervm/operator.py b/nova/virt/powervm/operator.py
index 946835224..b5ead9064 100644
--- a/nova/virt/powervm/operator.py
+++ b/nova/virt/powervm/operator.py
@@ -22,9 +22,9 @@ import time
from oslo.config import cfg
from nova.compute import power_state
-from nova import exception as nova_exception
from nova.openstack.common import excutils
from nova.openstack.common import log as logging
+from nova.openstack.common import processutils
from nova import utils
from nova.virt.powervm import blockdev
from nova.virt.powervm import command
@@ -199,7 +199,7 @@ class PowerVMOperator(object):
# system (1 in 2^28)
self._operator.create_lpar(lpar_inst)
LOG.debug(_("Creating LPAR instance '%s'") % instance['name'])
- except nova_exception.ProcessExecutionError:
+ except processutils.ProcessExecutionError:
LOG.exception(_("LPAR instance '%s' creation failed") %
instance['name'])
raise exception.PowerVMLPARCreationFailed(
diff --git a/nova/virt/xenapi/vm_utils.py b/nova/virt/xenapi/vm_utils.py
index e569216c8..9832dca84 100644
--- a/nova/virt/xenapi/vm_utils.py
+++ b/nova/virt/xenapi/vm_utils.py
@@ -44,6 +44,7 @@ from nova import exception
from nova.image import glance
from nova.openstack.common import excutils
from nova.openstack.common import log as logging
+from nova.openstack.common import processutils
from nova import utils
from nova.virt import configdrive
from nova.virt.disk import api as disk
@@ -1979,7 +1980,7 @@ def _is_vdi_pv(dev):
LOG.debug(_("Found Xen kernel %s") % m.group(0))
return True
LOG.debug(_("No Xen kernel found. Booting HVM."))
- except exception.ProcessExecutionError:
+ except processutils.ProcessExecutionError:
LOG.exception(_("Error while executing pygrub! Please, ensure the "
"binary is installed correctly, and available in your "
"PATH; on some Linux distros, pygrub may be installed "
@@ -2161,7 +2162,7 @@ def _mount_filesystem(dev_path, dir):
_out, err = utils.execute('mount',
'-t', 'ext2,ext3,ext4,reiserfs',
dev_path, dir, run_as_root=True)
- except exception.ProcessExecutionError as e:
+ except processutils.ProcessExecutionError as e:
err = str(e)
return err