Missing update_interface method on controller websocket handler

Bug #1982846 reported by Christian Grabowski
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
MAAS
Fix Committed
High
Christian Grabowski
3.2
Fix Released
Undecided
Christian Grabowski

Bug Description

It seems when we changed the Controller websocket handler from inheriting from the Machine handler to the Node handler, we lost the update_interface method, and the region controller will currently throw this exception:

2022-07-26 13:49:11 twisted.internet.asyncioreactor.AsyncioSelectorReactor: [critical]
        Traceback (most recent call last):
          File "/usr/lib/python3/dist-packages/twisted/python/log.py", line 103, in callWithLogger
            return callWithContext({"system": lp}, func, *args, **kw)
          File "/usr/lib/python3/dist-packages/twisted/python/log.py", line 86, in callWithContext
            return context.call({ILogContext: newCtx}, 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)
        --- <exception caught here> ---
          File "/usr/lib/python3/dist-packages/twisted/internet/asyncioreactor.py", line 136, in _readOrWrite
            why = method()
          File "/usr/lib/python3/dist-packages/twisted/internet/unix.py", line 191, in doRead
            return self._dataReceived(data)
          File "/usr/lib/python3/dist-packages/twisted/internet/tcp.py", line 249, in _dataReceived
            rval = self.protocol.dataReceived(data)
          File "/usr/lib/python3/dist-packages/maasserver/websockets/websockets.py", line 426, in dataReceived
            self._parseFrames()
          File "/usr/lib/python3/dist-packages/maasserver/websockets/websockets.py", line 399, in _parseFrames
            self._receiver.frameReceived(opcode, data, fin)
          File "/usr/lib/python3/dist-packages/maasserver/websockets/websockets.py", line 480, in frameReceived
            self._wrappedProtocol.dataReceived(content)
          File "/usr/lib/python3/dist-packages/maasserver/websockets/protocol.py", line 237, in dataReceived
            self.processMessages()
          File "/usr/lib/python3/dist-packages/maasserver/websockets/protocol.py", line 262, in processMessages
            if self.handleRequest(message, msg_type) is None:
          File "/usr/lib/python3/dist-packages/maasserver/websockets/protocol.py", line 308, in handleRequest
            d = handler.execute(method, message.get("params", {}))
          File "/usr/lib/python3/dist-packages/provisioningserver/prometheus/utils.py", line 127, in wrapper
            result = func(*args, **kwargs)
          File "/usr/lib/python3/dist-packages/provisioningserver/utils/twisted.py", line 127, in wrapper
            return func(*args, **kwargs)
          File "/usr/lib/python3/dist-packages/maasserver/websockets/base.py", line 388, in execute
            raise HandlerNoSuchMethodError(method_name)
        maasserver.websockets.base.HandlerNoSuchMethodError: update_interface

Related branches

Changed in maas:
status: New → Triaged
importance: Undecided → High
importance: High → Undecided
Changed in maas:
importance: Undecided → High
Changed in maas:
assignee: nobody → Christian Grabowski (cgrabowski)
status: Triaged → In Progress
milestone: none → 3.3.0
Changed in maas:
status: In Progress → Fix Committed
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers