Error: 'NoneType' object has no attribute 'get_raw', while Machines listing in GUI

Bug #1891452 reported by Christoph Merz
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
MAAS
Expired
Medium
Unassigned

Bug Description

Hello,
with an click onto Machines in the MAAS GUI, I got an error (I can see the top of the machine list for a part of a second and then comes the error):

'NoneType' object has no attribute 'get_raw'

I got the Error in 2.6, but a rebbot or an upgrade to 2.7.2 did not change the issue.
MAAS version: 2.7.2 (8283-g.72f2ee59d-0ubuntu1~18.04.1)
OS: Ubuntu 18.04.5 LTS (runns on Hardware)
I don't know, from which point of time, the issue starts.

I got every 5 seconds a log message

smaasko1 maas.power_monitor_service: [error] Failed to query nodes' power status: (b'UNHANDLED', 'Unknown
Error [smaasko1:pid=24446:cmd=ListNodePowerParameters:ask=d31]')
/var/log/maas/*.log is attached into the .zip

Our other maas server did not have the same issue, so I don't know how to re-create the bug.

Thank you very much.
Best Regards
Christoph

Revision history for this message
Christoph Merz (christophmerz) wrote :
Revision history for this message
Dougal Matthews (d0ugal) wrote :
Download full text (3.8 KiB)

From the logs I can see the traceback is repeated many times.

2020-08-13 09:50:25 provisioningserver.rpc.common: [critical] Unhandled failure dispatching AMP command. This is probably a bug. Please ensure that this error is handled within application code or declared in the signature of the b'ListNodePowerParameters' command. [smaasko1:pid=24447:cmd=ListNodePowerParameters:ask=9da]
        Traceback (most recent call last):
          File "/usr/lib/python3/dist-packages/twisted/internet/asyncioreactor.py", line 267, in run
            self._asyncioEventloop.run_forever()
          File "/usr/lib/python3/dist-packages/twisted/internet/asyncioreactor.py", line 290, in run
            f(*args, **kwargs)
          File "/usr/lib/python3/dist-packages/twisted/internet/defer.py", line 500, in errback
            self._startRunCallbacks(fail)
          File "/usr/lib/python3/dist-packages/twisted/internet/defer.py", line 567, in _startRunCallbacks
            self._runCallbacks()
        --- <exception caught here> ---
          File "/usr/lib/python3/dist-packages/twisted/internet/defer.py", line 653, in _runCallbacks
            current.result = callback(current.result, *args, **kw)
          File "/usr/lib/python3/dist-packages/twisted/protocols/amp.py", line 1171, in checkKnownErrors
            key = error.trap(*command.allErrors)
          File "/usr/lib/python3/dist-packages/twisted/python/failure.py", line 359, in trap
            self.raiseException()
          File "/usr/lib/python3/dist-packages/twisted/python/failure.py", line 385, in raiseException
            raise self.value.with_traceback(self.tb)
          File "/usr/lib/python3/dist-packages/twisted/python/threadpool.py", line 250, in inContext
            result = inContext.theWork()
          File "/usr/lib/python3/dist-packages/twisted/python/threadpool.py", line 266, in <lambda>
            inContext.theWork = lambda: context.call(ctx, func, *args, **kw)
          File "/usr/lib/python3/dist-packages/twisted/python/context.py", line 122, in callWithContext
            return self.currentContext().callWithContext(ctx, func, *args, **kw)
          File "/usr/lib/python3/dist-packages/twisted/python/context.py", line 85, in callWithContext
            return func(*args,**kw)
          File "/usr/lib/python3/dist-packages/provisioningserver/utils/twisted.py", line 885, in callInContext
            return func(*args, **kwargs)
          File "/usr/lib/python3/dist-packages/provisioningserver/utils/twisted.py", line 217, in wrapper
            result = func(*args, **kwargs)
          File "/usr/lib/python3/dist-packages/maasserver/utils/orm.py", line 737, in call_within_transaction
            return func_outside_txn(*args, **kwargs)
          File "/usr/lib/python3/dist-packages/maasserver/utils/orm.py", line 540, in retrier
            return func(*args, **kwargs)
          File "/usr/lib/python3.6/contextlib.py", line 52, in inner
            return func(*args, **kwds)
          File "/usr/lib/python3/dist-packages/maasserver/rpc/nodes.py", line 142, in list_cluster_nodes_power_parameters
            details = list(details)
          File "/usr/lib/python3/dist-packages/maasserve...

Read more...

Revision history for this message
Dougal Matthews (d0ugal) wrote :

From my understanding of the code, which is fairly limited, it looks like this error happens when there is no mac address and it can't be determined because there are no interfaces.

mac = boot_interface.mac_address.get_raw()

That is attempting to get the mac address, but the interface wasn't found so the mac address isn't available.

Changed in maas:
status: New → Triaged
importance: Undecided → Medium
milestone: none → 2.10-next
Changed in maas:
milestone: 3.0.0 → none
Revision history for this message
Jerzy Husakowski (jhusakowski) wrote :

Is this reproducible on a recent MAAS (3.3+)?

Changed in maas:
status: Triaged → Incomplete
Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for MAAS because there has been no activity for 60 days.]

Changed in maas:
status: Incomplete → Expired
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.