[2.6, master] Deploying a machine with a bridge on the PXE interface breaks the deployment

Bug #1817894 reported by Andres Rodriguez
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
MAAS
Fix Released
Critical
Blake Rouse

Bug Description

Attempting to deploy a machine with an interface configured as a bridge fails and fallbacks to the enlistment environment.

To reproduce:

1. Create a machine with 1 nic
2. Deploy the machine
3. Release the machine
4. Configure a bridge in the machine
5. Attempt to deploy, and you will see this traceback:

==> /var/log/maas/regiond.log <==
2019-02-27 11:04:14 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'GetBootConfig' command. [
maas-bionic:pid=386:cmd=GetBootConfig:ask=173]
        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 894, in callInContext
            return func(*args, **kwargs)
          File "/usr/lib/python3/dist-packages/provisioningserver/utils/twisted.py", line 235, in wrapper
            result = func(*args, **kwargs)
          File "/usr/lib/python3/dist-packages/maasserver/utils/orm.py", line 756, in call_within_transaction
            return func_outside_txn(*args, **kwargs)
          File "/usr/lib/python3/dist-packages/maasserver/utils/orm.py", line 563, 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/boot.py", line 351, in get_config
            machine.boot_interface = machine.interface_set.get(mac_address=mac)
          File "/usr/lib/python3/dist-packages/django/db/models/manager.py", line 85, in manager_method
            return getattr(self.get_queryset(), name)(*args, **kwargs)
          File "/usr/lib/python3/dist-packages/django/db/models/query.py", line 384, in get
            (self.model._meta.object_name, num)
        maasserver.models.interface.MultipleObjectsReturned: get() returned more than one Interface -- it returned 2!

==> /var/log/maas/rackd.log <==
2019-02-27 11:04:14 provisioningserver.rackdservices.tftp: [critical] TFTP back-end failed.
        Traceback (most recent call last):
        Failure: twisted.protocols.amp.UnhandledCommand: (b'UNHANDLED', 'Unknown Error [maas-bionic:pid=386:cmd=GetBootConfig:ask=173]')

2019-02-27 11:04:14 provisioningserver.rackdservices.tftp: [info] pxelinux.cfg/C0A87A09 requested by 192.168.122.9
2019-02-27 11:04:14 provisioningserver.rackdservices.tftp: [info] pxelinux.cfg/C0A87A0 requested by 192.168.122.9
2019-02-27 11:04:14 provisioningserver.rackdservices.tftp: [info] pxelinux.cfg/C0A87A requested by 192.168.122.9
2019-02-27 11:04:14 provisioningserver.rackdservices.tftp: [info] pxelinux.cfg/C0A87 requested by 192.168.122.9
2019-02-27 11:04:14 provisioningserver.rackdservices.tftp: [info] pxelinux.cfg/C0A8 requested by 192.168.122.9
2019-02-27 11:04:14 provisioningserver.rackdservices.tftp: [info] pxelinux.cfg/C0A requested by 192.168.122.9
2019-02-27 11:04:14 provisioningserver.rackdservices.tftp: [info] pxelinux.cfg/C0 requested by 192.168.122.9
2019-02-27 11:04:14 provisioningserver.rackdservices.tftp: [info] pxelinux.cfg/C requested by 192.168.122.9
2019-02-27 11:04:14 provisioningserver.rackdservices.tftp: [info] pxelinux.cfg/default requested by 192.168.122.9
2019-02-27 11:04:15 provisioningserver.rackdservices.http: [info] /images/ubuntu/amd64/ga-18.04/bionic/daily/boot-kernel requested by 192.168.122.9
2019-02-27 11:04:15 provisioningserver.rackdservices.http: [info] /images/ubuntu/amd64/ga-18.04/bionic/daily/boot-initrd requested by 192.168.122.9

Related branches

Revision history for this message
Andres Rodriguez (andreserl) wrote :

I'm not sure if this applies to 2.5 on the latest changes that have landed.

summary: - [2.6, master] Deploying a machine with th
+ [2.6, master] Deploying a machine with a bridge on the PXE interface
+ breaks the deployment
Changed in maas:
importance: Undecided → Critical
milestone: none → 2.6.0
Revision history for this message
Andres Rodriguez (andreserl) wrote :

After a bit of investigation, and looking at the traceback, this has regressed in 5252c8dbec08ca5c6887cd2132d8937452646557

Changed in maas:
assignee: nobody → Andres Rodriguez (andreserl)
status: New → In Progress
Changed in maas:
assignee: Andres Rodriguez (andreserl) → Blake Rouse (blake-rouse)
Changed in maas:
status: In Progress → Fix Committed
Changed in maas:
milestone: 2.6.0 → 2.6.0alpha1
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.