[2.0a1] Service tracking of rackd broken rack registration

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

Bug Description

2016-03-12 01:53:59 [-] Failed to register rack controller '4y3h7p' into the database. Connection has been dropped.
 Traceback (most recent call last):
   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/twisted/internet/defer.py", line 1184, in gotResult
     _inlineCallbacks(r, g, deferred)
   File "/usr/lib/python3/dist-packages/twisted/internet/defer.py", line 1128, in _inlineCallbacks
     result = g.send(result)
   File "/usr/lib/python3/dist-packages/maasserver/rpc/regionservice.py", line 561, in register
     log.err(exc, msg)
 --- <exception caught here> ---
   File "/usr/lib/python3/dist-packages/maasserver/rpc/regionservice.py", line 534, in register
     registerConnection, rack_controller, self.host)
   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/maasserver/utils/orm.py", line 448, in call_within_transaction
     return func_outside_txn(*args, **kwargs)
   File "/usr/lib/python3/dist-packages/maasserver/utils/orm.py", line 275, in retrier
     return func(*args, **kwargs)
   File "/usr/lib/python3.5/contextlib.py", line 30, in inner
     return func(*args, **kwds)
   File "/usr/lib/python3/dist-packages/maasserver/rpc/regionservice.py", line 459, in registerConnection
     endpoint=endpoint, rack_controller=rack_controller)
   File "/usr/lib/python3/dist-packages/django/db/models/manager.py", line 127, in manager_method
     return getattr(self.get_queryset(), name)(*args, **kwargs)
   File "/usr/lib/python3/dist-packages/django/db/models/query.py", line 407, in get_or_create
     return self._create_object_from_params(lookup, params)
   File "/usr/lib/python3/dist-packages/django/db/models/query.py", line 439, in _create_object_from_params
     obj = self.create(**params)
   File "/usr/lib/python3/dist-packages/django/db/models/query.py", line 348, in create
     obj.save(force_insert=True, using=self.db)
   File "/usr/lib/python3/dist-packages/maasserver/models/cleansave.py", line 29, in save
     return super(CleanSave, self).save(*args, **kwargs)
   File "/usr/lib/python3/dist-packages/maasserver/models/timestampedmodel.py", line 64, in save
     return super(TimestampedModel, self).save(*args, **kwargs)
   File "/usr/lib/python3/dist-packages/django/db/models/base.py", line 734, in save
     force_update=force_update, update_fields=update_fields)
   File "/usr/lib/python3/dist-packages/django/db/models/base.py", line 771, in save_base
     update_fields=update_fields, raw=raw, using=using)
   File "/usr/lib/python3/dist-packages/django/dispatch/dispatcher.py", line 189, in send
     response = receiver(signal=self, sender=sender, **named)
   File "/usr/lib/python3/dist-packages/maasserver/models/signals/services.py", line 27, in update_rackd_status
     instance.rack_controller.update_rackd_status()
   File "/usr/lib/python3/dist-packages/maasserver/models/node.py", line 3493, in update_rackd_status
     dead_regions + len(missing_regions)))
   File "/usr/lib/python3/dist-packages/maasserver/models/service.py", line 96, in update_service_for
     service = self.get(node=node, name=service)
   File "/usr/lib/python3/dist-packages/django/db/models/manager.py", line 127, in manager_method
     return getattr(self.get_queryset(), name)(*args, **kwargs)
   File "/usr/lib/python3/dist-packages/django/db/models/query.py", line 334, in get
     self.model._meta.object_name
 maasserver.models.service.DoesNotExist: Service matching query does not exist.

Related branches

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.