Merge lp:~newell-jensen/maas/ipmi-regex-return-output-when-no-match into lp:maas/1.9

Proposed by Newell Jensen
Status: Merged
Approved by: Newell Jensen
Approved revision: no longer in the source branch.
Merged at revision: 4567
Proposed branch: lp:~newell-jensen/maas/ipmi-regex-return-output-when-no-match
Merge into: lp:maas/1.9
Diff against target: 62 lines (+6/-12)
2 files modified
src/provisioningserver/drivers/power/ipmi.py (+3/-6)
src/provisioningserver/drivers/power/tests/test_ipmi.py (+3/-6)
To merge this branch: bzr merge lp:~newell-jensen/maas/ipmi-regex-return-output-when-no-match
Reviewer Review Type Date Requested Status
Andres Rodriguez (community) Approve
Review via email: mp+292859@code.launchpad.net

Commit message

Return output from ipmipower for _issue_ipmi_command when there is no match with the regex.

To post a comment you must log in.
Revision history for this message
Andres Rodriguez (andreserl) wrote :

lgtm!

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'src/provisioningserver/drivers/power/ipmi.py'
--- src/provisioningserver/drivers/power/ipmi.py 2016-04-25 16:30:09 +0000
+++ src/provisioningserver/drivers/power/ipmi.py 2016-04-25 21:27:11 +0000
@@ -25,7 +25,6 @@
25from provisioningserver.drivers.power import (25from provisioningserver.drivers.power import (
26 PowerAuthError,26 PowerAuthError,
27 PowerDriver,27 PowerDriver,
28 PowerError,
29 PowerFatalError,28 PowerFatalError,
30)29)
31from provisioningserver.logger import get_maas_logger30from provisioningserver.logger import get_maas_logger
@@ -99,13 +98,11 @@
99 "Failed to power %s %s: %s" % (98 "Failed to power %s %s: %s" % (
100 power_change, power_address, e.output_as_unicode))99 power_change, power_address, e.output_as_unicode))
101 else:100 else:
102 match = re.search(":\s*(on|off|ok)", output)101 match = re.search(":\s*(on|off)", output)
103 if match is None:102 if match is None:
104 raise PowerError(103 return output
105 "IPMI Power Driver unable to extract node power"
106 " state from: %s" % output)
107 else:104 else:
108 # If there is a match this should be either on/off/ok105 # If there is a match this will be either on/off
109 return match.group(1)106 return match.group(1)
110107
111 def _issue_ipmi_command(108 def _issue_ipmi_command(
112109
=== modified file 'src/provisioningserver/drivers/power/tests/test_ipmi.py'
--- src/provisioningserver/drivers/power/tests/test_ipmi.py 2016-04-23 00:17:34 +0000
+++ src/provisioningserver/drivers/power/tests/test_ipmi.py 2016-04-25 21:27:11 +0000
@@ -30,7 +30,6 @@
30from provisioningserver.drivers.power import (30from provisioningserver.drivers.power import (
31 ipmi as ipmi_module,31 ipmi as ipmi_module,
32 PowerAuthError,32 PowerAuthError,
33 PowerError,
34 PowerFatalError,33 PowerFatalError,
35)34)
36from provisioningserver.drivers.power.ipmi import (35from provisioningserver.drivers.power.ipmi import (
@@ -313,7 +312,7 @@
313 PowerFatalError, ipmi_power_driver._issue_ipmi_command,312 PowerFatalError, ipmi_power_driver._issue_ipmi_command,
314 'on', **context)313 'on', **context)
315314
316 def test__issue_ipmi_command_crashes_when_unable_to_find_match(self):315 def test__issue_ipmi_command_returns_output_when_no_regex_match(self):
317 _, _, _, _, _, _, _, context = make_parameters()316 _, _, _, _, _, _, _, context = make_parameters()
318 ipmi_power_driver = IPMIPowerDriver()317 ipmi_power_driver = IPMIPowerDriver()
319 popen_mock = self.patch(ipmi_module, 'Popen')318 popen_mock = self.patch(ipmi_module, 'Popen')
@@ -322,10 +321,8 @@
322 process.returncode = 0321 process.returncode = 0
323 call_and_check_mock = self.patch(ipmi_module, 'call_and_check')322 call_and_check_mock = self.patch(ipmi_module, 'call_and_check')
324 call_and_check_mock.return_value = "Rubbish"323 call_and_check_mock.return_value = "Rubbish"
325324 result = ipmi_power_driver._issue_ipmi_command('on', **context)
326 self.assertRaises(325 self.assertEqual(result, "Rubbish")
327 PowerError, ipmi_power_driver._issue_ipmi_command,
328 'on', **context)
329326
330 def test_power_on_calls__issue_ipmi_command(self):327 def test_power_on_calls__issue_ipmi_command(self):
331 _, _, _, _, _, _, _, context = make_parameters()328 _, _, _, _, _, _, _, context = make_parameters()

Subscribers

People subscribed via source and target branches