diff options
| author | Jenkins <jenkins@review.openstack.org> | 2012-04-24 16:53:37 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2012-04-24 16:53:37 +0000 |
| commit | dab653b3ac6d44d6d10f290c5d732aa679c8cdbd (patch) | |
| tree | 6c1520fff79a4c3d19fe2684631628476134408a | |
| parent | 2c786ff3ad0d3fa85735d98f9927e9f92b686edb (diff) | |
| parent | 1744e68d196deb083268cc26cb0003f683277415 (diff) | |
| download | nova-dab653b3ac6d44d6d10f290c5d732aa679c8cdbd.tar.gz nova-dab653b3ac6d44d6d10f290c5d732aa679c8cdbd.tar.xz nova-dab653b3ac6d44d6d10f290c5d732aa679c8cdbd.zip | |
Merge "Removing XenAPI class variable, use session instead."
| -rw-r--r-- | nova/virt/xenapi/__init__.py | 6 | ||||
| -rw-r--r-- | nova/virt/xenapi/vm_utils.py | 16 | ||||
| -rw-r--r-- | nova/virt/xenapi/vmops.py | 1 | ||||
| -rw-r--r-- | nova/virt/xenapi/volume_utils.py | 22 | ||||
| -rw-r--r-- | nova/virt/xenapi/volumeops.py | 3 |
5 files changed, 21 insertions, 27 deletions
diff --git a/nova/virt/xenapi/__init__.py b/nova/virt/xenapi/__init__.py index 724e88dbb..7eae5f767 100644 --- a/nova/virt/xenapi/__init__.py +++ b/nova/virt/xenapi/__init__.py @@ -22,15 +22,13 @@ class HelperBase(object): """ - The base for helper classes. This adds the XenAPI class attribute + The base for helper classes. """ - XenAPI = None - @classmethod def get_rec(cls, session, record_type, ref): try: return session.call_xenapi('%s.get_record' % record_type, ref) - except cls.XenAPI.Failure, e: + except session.XenAPI.Failure, e: if e.details[0] != 'HANDLE_INVALID': raise diff --git a/nova/virt/xenapi/vm_utils.py b/nova/virt/xenapi/vm_utils.py index b88f65178..2fbfb4105 100644 --- a/nova/virt/xenapi/vm_utils.py +++ b/nova/virt/xenapi/vm_utils.py @@ -239,7 +239,7 @@ class VMHelper(xenapi.HelperBase): vbd_rec = session.call_xenapi("VBD.get_record", vbd_ref) if vbd_rec['userdevice'] == str(number): return vbd_ref - except cls.XenAPI.Failure, exc: + except session.XenAPI.Failure, exc: LOG.exception(exc) raise volume_utils.StorageError( _('VBD not found in instance %s') % vm_ref) @@ -256,7 +256,7 @@ class VMHelper(xenapi.HelperBase): try: session.call_xenapi('VBD.unplug', vbd_ref) return - except cls.XenAPI.Failure, exc: + except session.XenAPI.Failure, exc: err = len(exc.details) > 0 and exc.details[0] if err == 'DEVICE_ALREADY_DETACHED': LOG.info(_('VBD %s already detached'), vbd_ref) @@ -280,7 +280,7 @@ class VMHelper(xenapi.HelperBase): """Destroy VBD from host database""" try: session.call_xenapi('VBD.destroy', vbd_ref) - except cls.XenAPI.Failure, exc: + except session.XenAPI.Failure, exc: LOG.exception(exc) raise volume_utils.StorageError( _('Unable to destroy VBD %s') % vbd_ref) @@ -313,7 +313,7 @@ class VMHelper(xenapi.HelperBase): def destroy_vdi(cls, session, vdi_ref): try: session.call_xenapi('VDI.destroy', vdi_ref) - except cls.XenAPI.Failure, exc: + except session.XenAPI.Failure, exc: LOG.exception(exc) raise volume_utils.StorageError( _('Unable to destroy VDI %s') % vdi_ref) @@ -729,7 +729,7 @@ class VMHelper(xenapi.HelperBase): try: result = session.call_plugin('glance', 'download_vhd', kwargs) return json.loads(result) - except cls.XenAPI.Failure as exc: + except session.XenAPI.Failure as exc: _type, _method, error = exc.details[:3] if error == 'RetryableError': LOG.error(_('download_vhd failed: %r') % @@ -891,7 +891,7 @@ class VMHelper(xenapi.HelperBase): return [dict(vdi_type=ImageType.to_string(image_type), vdi_uuid=vdi_uuid, file=None)] - except (cls.XenAPI.Failure, IOError, OSError) as e: + except (session.XenAPI.Failure, IOError, OSError) as e: # We look for XenAPI and OS failures. LOG.exception(_("Failed to fetch glance image"), instance=instance) @@ -1015,7 +1015,7 @@ class VMHelper(xenapi.HelperBase): # Test valid VDI record = session.call_xenapi("VDI.get_record", vdi_ref) LOG.debug(_('VDI %s is still available'), record['uuid']) - except cls.XenAPI.Failure, exc: + except session.XenAPI.Failure, exc: LOG.exception(exc) else: vdi_refs.append(vdi_ref) @@ -1321,7 +1321,7 @@ def _get_all_vdis_in_sr(session, sr_ref): try: vdi_rec = session.call_xenapi('VDI.get_record', vdi_ref) yield vdi_ref, vdi_rec - except VMHelper.XenAPI.Failure: + except session.XenAPI.Failure: continue diff --git a/nova/virt/xenapi/vmops.py b/nova/virt/xenapi/vmops.py index 8ba0d4e57..770ff7459 100644 --- a/nova/virt/xenapi/vmops.py +++ b/nova/virt/xenapi/vmops.py @@ -154,7 +154,6 @@ class VMOps(object): self.compute_api = compute.API() self._session = session self.poll_rescue_last_ran = None - VMHelper.XenAPI = self.XenAPI if FLAGS.firewall_driver not in firewall.drivers: FLAGS.set_default('firewall_driver', firewall.drivers[0]) fw_class = utils.import_class(FLAGS.firewall_driver) diff --git a/nova/virt/xenapi/volume_utils.py b/nova/virt/xenapi/volume_utils.py index 3bc1ab13e..5cf85c6a5 100644 --- a/nova/virt/xenapi/volume_utils.py +++ b/nova/virt/xenapi/volume_utils.py @@ -71,7 +71,7 @@ class VolumeHelper(xenapi.HelperBase): LOG.debug(_('Created %(label)s as %(sr_ref)s.') % locals()) return sr_ref - except cls.XenAPI.Failure, exc: + except session.XenAPI.Failure, exc: LOG.exception(exc) raise StorageError(_('Unable to create Storage Repository')) @@ -111,7 +111,7 @@ class VolumeHelper(xenapi.HelperBase): session.call_xenapi("SR.scan", sr_ref) return sr_ref - except cls.XenAPI.Failure, exc: + except session.XenAPI.Failure, exc: LOG.exception(exc) raise StorageError(_('Unable to introduce Storage Repository')) @@ -122,7 +122,7 @@ class VolumeHelper(xenapi.HelperBase): """ try: sr_ref = session.call_xenapi("SR.get_by_uuid", sr_uuid) - except cls.XenAPI.Failure, exc: + except session.XenAPI.Failure, exc: LOG.exception(exc) raise StorageError(_('Unable to get SR using uuid')) @@ -132,7 +132,7 @@ class VolumeHelper(xenapi.HelperBase): cls.unplug_pbds(session, sr_ref) sr_ref = session.call_xenapi("SR.forget", sr_ref) - except cls.XenAPI.Failure, exc: + except session.XenAPI.Failure, exc: LOG.exception(exc) raise StorageError(_('Unable to forget Storage Repository')) @@ -169,7 +169,7 @@ class VolumeHelper(xenapi.HelperBase): try: LOG.debug(_('Introduced %(label)s as %(sr_ref)s.') % locals()) return sr_ref - except cls.XenAPI.Failure, exc: + except session.XenAPI.Failure, exc: LOG.exception(exc) raise StorageError(_('Unable to create Storage Repository')) else: @@ -181,7 +181,7 @@ class VolumeHelper(xenapi.HelperBase): try: vdi_ref = session.call_xenapi("VBD.get_VDI", vbd_ref) sr_ref = session.call_xenapi("VDI.get_SR", vdi_ref) - except cls.XenAPI.Failure, exc: + except session.XenAPI.Failure, exc: LOG.exception(exc) raise StorageError(_('Unable to find SR from VBD %s') % vbd_ref) return sr_ref @@ -200,13 +200,13 @@ class VolumeHelper(xenapi.HelperBase): pbds = [] try: pbds = session.call_xenapi("SR.get_PBDs", sr_ref) - except cls.XenAPI.Failure, exc: + except session.XenAPI.Failure, exc: LOG.warn(_('Ignoring exception %(exc)s when getting PBDs' ' for %(sr_ref)s') % locals()) for pbd in pbds: try: session.call_xenapi("PBD.unplug", pbd) - except cls.XenAPI.Failure, exc: + except session.XenAPI.Failure, exc: LOG.warn(_('Ignoring exception %(exc)s when unplugging' ' PBD %(pbd)s') % locals()) @@ -229,7 +229,7 @@ class VolumeHelper(xenapi.HelperBase): break else: vdi_ref = (session.call_xenapi("SR.get_VDIs", sr_ref))[0] - except cls.XenAPI.Failure, exc: + except session.XenAPI.Failure, exc: LOG.exception(exc) raise StorageError(_('Unable to introduce VDI on SR %s') % sr_ref) @@ -237,7 +237,7 @@ class VolumeHelper(xenapi.HelperBase): vdi_rec = session.call_xenapi("VDI.get_record", vdi_ref) LOG.debug(vdi_rec) LOG.debug(type(vdi_rec)) - except cls.XenAPI.Failure, exc: + except session.XenAPI.Failure, exc: LOG.exception(exc) raise StorageError(_('Unable to get record' ' of VDI %s on') % vdi_ref) @@ -259,7 +259,7 @@ class VolumeHelper(xenapi.HelperBase): vdi_rec['location'], vdi_rec['xenstore_data'], vdi_rec['sm_config']) - except cls.XenAPI.Failure, exc: + except session.XenAPI.Failure, exc: LOG.exception(exc) raise StorageError(_('Unable to introduce VDI for SR %s') % sr_ref) diff --git a/nova/virt/xenapi/volumeops.py b/nova/virt/xenapi/volumeops.py index 2f3aafb71..e898b1d37 100644 --- a/nova/virt/xenapi/volumeops.py +++ b/nova/virt/xenapi/volumeops.py @@ -35,9 +35,6 @@ class VolumeOps(object): def __init__(self, session): self.XenAPI = session.get_imported_xenapi() self._session = session - # Load XenAPI module in the helper classes respectively - volume_utils.VolumeHelper.XenAPI = self.XenAPI - vm_utils.VMHelper.XenAPI = self.XenAPI def create_volume_for_sm(self, volume, sr_uuid): LOG.debug("Creating volume for Storage Manager") |
