diff --git a/virtualbmc/tests/unit/test_vbmc.py b/virtualbmc/tests/unit/test_vbmc.py index 9d6f66e..8f37764 100644 --- a/virtualbmc/tests/unit/test_vbmc.py +++ b/virtualbmc/tests/unit/test_vbmc.py @@ -16,6 +16,7 @@ import libvirt import mock +from virtualbmc import exception from virtualbmc.tests.unit import base from virtualbmc.tests.unit import utils as test_utils from virtualbmc import utils @@ -132,8 +133,7 @@ class VirtualBMCTestCase(base.TestCase): def test_get_power_state_error(self, mock_libvirt_domain, mock_libvirt_open): mock_libvirt_domain.side_effect = libvirt.libvirtError('boom') - ret = self.vbmc.get_power_state() - self.assertEqual(0xC0, ret) + self.assertRaises(exception.VirtualBMCError, self.vbmc.get_power_state) self._assert_libvirt_calls(mock_libvirt_domain, mock_libvirt_open, readonly=True) diff --git a/virtualbmc/vbmc.py b/virtualbmc/vbmc.py index d0ab380..0ce1424 100644 --- a/virtualbmc/vbmc.py +++ b/virtualbmc/vbmc.py @@ -15,6 +15,7 @@ import xml.etree.ElementTree as ET import libvirt import pyghmi.ipmi.bmc as bmc +from virtualbmc import exception from virtualbmc import log from virtualbmc import utils @@ -116,11 +117,11 @@ class VirtualBMC(bmc.Bmc): if domain.isActive(): return POWERON except libvirt.libvirtError as e: - LOG.error('Error getting the power state of domain %(domain)s. ' - 'Error: %(error)s', {'domain': self.domain_name, - 'error': e}) - # Command failed, but let client to retry - return IPMI_COMMAND_NODE_BUSY + msg = ('Error getting the power state of domain %(domain)s. ' + 'Error: %(error)s', {'domain': self.domain_name, + 'error': e}) + LOG.error(msg) + raise exception.VirtualBMCError(message=msg) return POWEROFF