summaryrefslogtreecommitdiffstats
path: root/nova
diff options
context:
space:
mode:
Diffstat (limited to 'nova')
-rw-r--r--nova/tests/baremetal/test_virtual_power_driver.py41
-rw-r--r--nova/virt/baremetal/virtual_power_driver.py2
-rw-r--r--nova/virt/baremetal/virtual_power_driver_settings.py2
3 files changed, 30 insertions, 15 deletions
diff --git a/nova/tests/baremetal/test_virtual_power_driver.py b/nova/tests/baremetal/test_virtual_power_driver.py
index 4b140f66a..64dccabdd 100644
--- a/nova/tests/baremetal/test_virtual_power_driver.py
+++ b/nova/tests/baremetal/test_virtual_power_driver.py
@@ -188,7 +188,7 @@ class VPDClassMethodsTestCase(BareMetalVPDTestCase):
self.mox.ReplayAll()
name = self.pm._check_for_node()
- self.assertEqual(name, 'testNode')
+ self.assertEqual(name, '"testNode"')
self.mox.VerifyAll()
def test_check_for_node_not_found(self):
@@ -214,7 +214,7 @@ class VPDClassMethodsTestCase(BareMetalVPDTestCase):
self.mox.StubOutWithMock(self.pm, '_check_for_node')
self.mox.StubOutWithMock(self.pm, '_run_command')
self.mox.StubOutWithMock(self.pm, 'is_power_on')
- self.pm._check_for_node().AndReturn("testNode")
+ self.pm._check_for_node().AndReturn('"testNode"')
self.pm._run_command(self.pm._vp_cmd.start_cmd).AndReturn("Started")
self.pm.is_power_on().AndReturn(True)
self.mox.ReplayAll()
@@ -229,7 +229,7 @@ class VPDClassMethodsTestCase(BareMetalVPDTestCase):
self.mox.StubOutWithMock(self.pm, '_check_for_node')
self.mox.StubOutWithMock(self.pm, '_run_command')
self.mox.StubOutWithMock(self.pm, 'is_power_on')
- self.pm._check_for_node().AndReturn("testNode")
+ self.pm._check_for_node().AndReturn('"testNode"')
self.pm._run_command(self.pm._vp_cmd.start_cmd).AndReturn("Started")
self.pm.is_power_on().AndReturn(False)
self.mox.ReplayAll()
@@ -244,7 +244,7 @@ class VPDClassMethodsTestCase(BareMetalVPDTestCase):
self.mox.StubOutWithMock(self.pm, '_check_for_node')
self.mox.StubOutWithMock(self.pm, '_run_command')
self.mox.StubOutWithMock(self.pm, 'is_power_on')
- self.pm._check_for_node().AndReturn("testNode")
+ self.pm._check_for_node().AndReturn('"testNode"')
self.pm.is_power_on().AndReturn(True)
self.pm._run_command(self.pm._vp_cmd.stop_cmd).AndReturn("Stopped")
self.pm.is_power_on().AndReturn(False)
@@ -260,7 +260,7 @@ class VPDClassMethodsTestCase(BareMetalVPDTestCase):
self.mox.StubOutWithMock(self.pm, '_check_for_node')
self.mox.StubOutWithMock(self.pm, '_run_command')
self.mox.StubOutWithMock(self.pm, 'is_power_on')
- self.pm._check_for_node().AndReturn("testNode")
+ self.pm._check_for_node().AndReturn('"testNode"')
self.pm.is_power_on().AndReturn(True)
self.pm._run_command(self.pm._vp_cmd.stop_cmd).AndReturn("Stopped")
self.pm.is_power_on().AndReturn(True)
@@ -276,7 +276,7 @@ class VPDClassMethodsTestCase(BareMetalVPDTestCase):
self.mox.StubOutWithMock(self.pm, '_check_for_node')
self.mox.StubOutWithMock(self.pm, '_run_command')
self.mox.StubOutWithMock(self.pm, 'is_power_on')
- self.pm._check_for_node().AndReturn(["testNode"])
+ self.pm._check_for_node().AndReturn(['"testNode"'])
self.pm._run_command(self.pm._vp_cmd.reboot_cmd).AndReturn("Restarted")
self.pm.is_power_on().AndReturn(True)
self.mox.ReplayAll()
@@ -291,7 +291,7 @@ class VPDClassMethodsTestCase(BareMetalVPDTestCase):
self.mox.StubOutWithMock(self.pm, '_check_for_node')
self.mox.StubOutWithMock(self.pm, '_run_command')
self.mox.StubOutWithMock(self.pm, 'is_power_on')
- self.pm._check_for_node().AndReturn(["testNode"])
+ self.pm._check_for_node().AndReturn(['"testNode"'])
self.pm._run_command(self.pm._vp_cmd.reboot_cmd).AndReturn("Restarted")
self.pm.is_power_on().AndReturn(False)
self.mox.ReplayAll()
@@ -305,9 +305,9 @@ class VPDClassMethodsTestCase(BareMetalVPDTestCase):
self.mox.StubOutWithMock(self.pm, '_check_for_node')
self.mox.StubOutWithMock(self.pm, '_run_command')
- self.pm._check_for_node().AndReturn(["testNode"])
+ self.pm._check_for_node().AndReturn(['"testNode"'])
self.pm._run_command(self.pm._vp_cmd.list_running_cmd).\
- AndReturn(["testNode"])
+ AndReturn(['"testNode"'])
self.pm._matched_name = 'testNode'
self.mox.ReplayAll()
state = self.pm.is_power_on()
@@ -320,15 +320,30 @@ class VPDClassMethodsTestCase(BareMetalVPDTestCase):
self.mox.StubOutWithMock(self.pm, '_check_for_node')
self.mox.StubOutWithMock(self.pm, '_run_command')
- self.pm._check_for_node().AndReturn(["NotFoundNode"])
+ self.pm._check_for_node().AndReturn(['"NotFoundNode"'])
self.pm._run_command(self.pm._vp_cmd.list_running_cmd).\
- AndReturn(["NotFoundNode"])
+ AndReturn(['"NotFoundNode"'])
self.pm._matched_name = 'testNode'
self.mox.ReplayAll()
state = self.pm.is_power_on()
self.assertEqual(state, False)
self.mox.VerifyAll()
+ def test_is_power_on_match_subname(self):
+ self._create_node()
+ self._create_pm()
+
+ self.mox.StubOutWithMock(self.pm, '_check_for_node')
+ self.mox.StubOutWithMock(self.pm, '_run_command')
+ self.pm._check_for_node().AndReturn(['"testNode"'])
+ self.pm._run_command(self.pm._vp_cmd.list_running_cmd).\
+ AndReturn(['"testNode01"'])
+ self.pm._matched_name = '"testNode"'
+ self.mox.ReplayAll()
+ state = self.pm.is_power_on()
+ self.assertEqual(state, False)
+ self.mox.VerifyAll()
+
def test_run_command(self):
self._create_node()
self._create_pm()
@@ -368,8 +383,8 @@ class VPDClassMethodsTestCase(BareMetalVPDTestCase):
self.mox.StubOutWithMock(self.pm, '_check_for_node')
self.mox.StubOutWithMock(nutils, 'ssh_execute')
- self.pm._check_for_node().AndReturn(["testNode"])
- self.pm._check_for_node().AndReturn(["testNode"])
+ self.pm._check_for_node().AndReturn(['"testNode"'])
+ self.pm._check_for_node().AndReturn(['"testNode"'])
nutils.ssh_execute('test', '/usr/bin/VBoxManage startvm ',
check_exit_code=True).\
AndRaise(exception.ProcessExecutionError)
diff --git a/nova/virt/baremetal/virtual_power_driver.py b/nova/virt/baremetal/virtual_power_driver.py
index d3f612ddd..2313f9808 100644
--- a/nova/virt/baremetal/virtual_power_driver.py
+++ b/nova/virt/baremetal/virtual_power_driver.py
@@ -145,7 +145,7 @@ class VirtualPowerManager(base.PowerManager):
for mac in mac_address_list:
if self._mac_address.lower() in mac.lower():
- self._matched_name = node
+ self._matched_name = ('"%s"' % node)
break
if self._matched_name:
break
diff --git a/nova/virt/baremetal/virtual_power_driver_settings.py b/nova/virt/baremetal/virtual_power_driver_settings.py
index 6f6b28cd6..cd85bddbc 100644
--- a/nova/virt/baremetal/virtual_power_driver_settings.py
+++ b/nova/virt/baremetal/virtual_power_driver_settings.py
@@ -52,7 +52,7 @@ class virsh(object):
self.reboot_cmd = 'reset {_NodeName_}'
self.list_cmd = "list --all | tail -n +2 | awk -F\" \" '{print $2}'"
self.list_running_cmd = \
- "list --all|grep running|awk -F\" \" '{print $2}'"
+ "list --all|grep running|awk -F\" \" '{print \"$2\"}'"
self.get_node_macs = ("dumpxml {_NodeName_} | grep "
'"mac address" | awk -F'
'"'