redfish power control gets the error: Failed to query node's BMC - 'NoneType' object has no attribute 'lower'

Bug #2061385 reported by Taihsiang Ho
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
MAAS
New
Undecided
Unassigned

Bug Description

[Description]

ubuntu@maas:~$ snap list
Name Version Rev Tracking Publisher Notes
core18 20231027 2812 latest/stable canonical✓ base
core20 20240227 2264 latest/stable canonical✓ base
core22 20240111 1122 latest/stable canonical✓ base
maas 3.3.6-13237-g.9eb93a85a 34742 3.3/edge canonical✓ -
maas-cli 0.6.8 79 latest/stable canonical✓ -
snapd 2.61.2 21184 latest/stable canonical✓ snapd

I enlisted an Dell R750 and tried to make my MAAS instance to manage the node via Redfish. I got this error message when querying the node after filling all necessary Redfish info.

on the web UI log:
Failed to query node's BMC - 'NoneType' object has no attribute 'lower'

in the rackd.log:
2024-04-15 00:21:06 provisioningserver.rpc.power: [critical] klumsy: Power off failed.
  Traceback (most recent call last):
    File "/snap/maas/34742/usr/lib/python3/dist-packages/twisted/internet/defer.py", line 661, in callback
   self._startRunCallbacks(result)
    File "/snap/maas/34742/usr/lib/python3/dist-packages/twisted/internet/defer.py", line 763, in _startRunCallbacks
   self._runCallbacks()
    File "/snap/maas/34742/usr/lib/python3/dist-packages/twisted/internet/defer.py", line 857, in _runCallbacks
   current.result = callback( # type: ignore[misc]
    File "/snap/maas/34742/usr/lib/python3/dist-packages/twisted/internet/defer.py", line 1750, in gotResult
   current_context.run(_inlineCallbacks, r, gen, status)
  --- <exception caught here> ---
    File "/snap/maas/34742/usr/lib/python3/dist-packages/twisted/internet/defer.py", line 857, in _runCallbacks
   current.result = callback( # type: ignore[misc]
    File "/snap/maas/34742/lib/python3.10/site-packages/provisioningserver/rpc/power.py", line 242, in eb_cancelled
   failure.trap(CancelledError)
    File "/snap/maas/34742/usr/lib/python3/dist-packages/twisted/python/failure.py", line 451, in trap
   self.raiseException()
    File "/snap/maas/34742/usr/lib/python3/dist-packages/twisted/python/failure.py", line 475, in raiseException
   raise self.value.with_traceback(self.tb)
    File "/snap/maas/34742/usr/lib/python3/dist-packages/twisted/internet/defer.py", line 1656, in _inlineCallbacks
   result = current_context.run(
    File "/snap/maas/34742/usr/lib/python3/dist-packages/twisted/python/failure.py", line 489, in throwExceptionIntoGenerator
   return g.throw(self.type, self.value, self.tb)
    File "/snap/maas/34742/lib/python3.10/site-packages/provisioningserver/rpc/power.py", line 292, in change_power_state
   yield perform_power_driver_change(
    File "/snap/maas/34742/usr/lib/python3/dist-packages/twisted/internet/defer.py", line 1656, in _inlineCallbacks
   result = current_context.run(
    File "/snap/maas/34742/usr/lib/python3/dist-packages/twisted/python/failure.py", line 489, in throwExceptionIntoGenerator
   return g.throw(self.type, self.value, self.tb)
    File "/snap/maas/34742/lib/python3.10/site-packages/provisioningserver/drivers/power/init.py", line 372, in perform_power
   yield power_func(system_id, context)
    File "/snap/maas/34742/usr/lib/python3/dist-packages/twisted/internet/defer.py", line 1656, in _inlineCallbacks
   result = current_context.run(
    File "/snap/maas/34742/usr/lib/python3/dist-packages/twisted/python/failure.py", line 489, in throwExceptionIntoGenerator
   return g.throw(self.type, self.value, self.tb)
    File "/snap/maas/34742/lib/python3.10/site-packages/provisioningserver/drivers/power/redfish.py", line 278, in power_off
   power_state = yield self.power_query(node_id, context)
    File "/snap/maas/34742/usr/lib/python3/dist-packages/twisted/internet/defer.py", line 1660, in _inlineCallbacks
   result = current_context.run(gen.send, result)
    File "/snap/maas/34742/lib/python3.10/site-packages/provisioningserver/drivers/power/redfish.py", line 291, in power_query
   return node_data.get("PowerState").lower()
  builtins.AttributeError: 'NoneType' object has no attribute 'lower'

======================================================================================================
======================================================================================================

[Steps to Reproduce]
1. Enlist the machine
2. Fill in redfish configuration
3. Click "Check power" on the web UI of MAAS

[Expected Result]
The power status is queried and showed on the web UI

[Actually Result]
Got the "power error" message and the trace above

[Additional Info]
1. The same BMC login credential works for ipmi 2.0 to manage the power.
2. I have verified Redfish is enabled in the corresponding R750 idrac9 settings.

Taihsiang Ho (tai271828)
description: updated
Revision history for this message
Eline Maaike De Weerd (emdw) wrote :

Hi Taihsiang,

Could you provide full logs? They should be in the following locations:
/var/snap/maas/common/log/maas.log
/var/snap/maas/common/log/regiond.log
/var/snap/maas/common/log/rackd.log
/var/snap/maas/common/log/rsyslog/$MACHINE_NAME/$RELEVANT_DATE/messages

Thanks!

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.