Systems fail to commission with proper IPMI credentials

Bug #1541878 reported by Chris Gregan
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
MAAS
Fix Released
Critical
Blake Rouse
1.10
Fix Released
Critical
Blake Rouse

Bug Description

Build Version/Date: 1.10
Environment used for testing: Xenial

Summary:
Nodes fail to gather IPMI information when enlisting then once IPMI information is manually entered, a power error occurs when attempting to commission.

Steps to Reproduce:
1) Enlist a new node
2) Enter IPMI information
3) Commission
4) Review Cluster logs

Expected result:
IPMI information is collected and used for commissioning

Actual result:
ubuntu@dratini:/var/log/maas$ tail clusterd.log
   File "/usr/lib/python3/dist-packages/twisted/python/context.py", line 81, in callWithContext
     return func(*args,**kw)
   File "/usr/lib/python3/dist-packages/provisioningserver/drivers/power/ipmi.py", line 158, in power_query
     return self._issue_ipmi_command('query', **context)
   File "/usr/lib/python3/dist-packages/provisioningserver/drivers/power/ipmi.py", line 149, in _issue_ipmi_command
     ipmipower_command, power_change, power_address)
   File "/usr/lib/python3/dist-packages/provisioningserver/drivers/power/ipmi.py", line 85, in _issue_ipmi_power_command
     if 'on' in output:
 builtins.TypeError: a bytes-like object is required, not 'str'

ubuntu@dratini:/var/log/maas$ tail -n 40 clusterd.log
     self._runCallbacks()
 --- <exception caught here> ---
   File "/usr/lib/python3/dist-packages/twisted/internet/defer.py", line 588, in _runCallbacks
     current.result = callback(current.result, *args, **kw)
   File "/usr/lib/python3/dist-packages/provisioningserver/twisted/protocols/amp.py", line 1131, in checkKnownErrors
     key = error.trap(*command.allErrors)
   File "/usr/lib/python3/dist-packages/twisted/python/failure.py", line 342, in trap
     self.raiseException()
   File "/usr/lib/python3/dist-packages/twisted/python/failure.py", line 368, in raiseException
     raise self.value.with_traceback(self.tb)
   File "/usr/lib/python3/dist-packages/twisted/internet/defer.py", line 1126, in _inlineCallbacks
     result = result.throwExceptionIntoGenerator(g)
   File "/usr/lib/python3/dist-packages/twisted/python/failure.py", line 389, in throwExceptionIntoGenerator
     return g.throw(self.type, self.value, self.tb)
   File "/usr/lib/python3/dist-packages/provisioningserver/power/query.py", line 146, in get_power_state
     raise exc_type(exc_value).with_traceback(exc_trace)
   File "/usr/lib/python3/dist-packages/provisioningserver/power/query.py", line 117, in get_power_state
     system_id, hostname, power_type, context)
   File "/usr/lib/python3/dist-packages/twisted/internet/defer.py", line 1126, in _inlineCallbacks
     result = result.throwExceptionIntoGenerator(g)
   File "/usr/lib/python3/dist-packages/twisted/python/failure.py", line 389, in throwExceptionIntoGenerator
     return g.throw(self.type, self.value, self.tb)
   File "/usr/lib/python3/dist-packages/provisioningserver/drivers/power/__init__.py", line 240, in query
     self.power_query, system_id, context)
   File "/usr/lib/python3/dist-packages/twisted/python/threadpool.py", line 246, in inContext
     result = inContext.theWork()
   File "/usr/lib/python3/dist-packages/twisted/python/threadpool.py", line 262, in <lambda>
     inContext.theWork = lambda: context.call(ctx, func, *args, **kw)
   File "/usr/lib/python3/dist-packages/twisted/python/context.py", line 118, in callWithContext
     return self.currentContext().callWithContext(ctx, func, *args, **kw)
   File "/usr/lib/python3/dist-packages/twisted/python/context.py", line 81, in callWithContext
     return func(*args,**kw)
   File "/usr/lib/python3/dist-packages/provisioningserver/drivers/power/ipmi.py", line 158, in power_query
     return self._issue_ipmi_command('query', **context)
   File "/usr/lib/python3/dist-packages/provisioningserver/drivers/power/ipmi.py", line 149, in _issue_ipmi_command
     ipmipower_command, power_change, power_address)
   File "/usr/lib/python3/dist-packages/provisioningserver/drivers/power/ipmi.py", line 85, in _issue_ipmi_power_command
     if 'on' in output:
 builtins.TypeError: a bytes-like object is required, not 'str'

Tags: cdo-qa

Related branches

Chris Gregan (cgregan)
tags: added: cdo-qa
Changed in maas:
status: New → In Progress
importance: Undecided → Critical
assignee: nobody → Blake Rouse (blake-rouse)
milestone: none → 2.0.0
Changed in maas:
status: In Progress → Fix Committed
Changed in maas:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.