[2.0] Cannot connect to UI if rack controller cannot be contacted

Bug #1547732 reported by Mike Pontillo
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
MAAS
Fix Committed
High
Blake Rouse

Bug Description

When I try to connect to the MAAS UI while the rack controller is down, I receive an RPC error because the region cannot populate the available power types.

I believe this is a regression from 1.9. Users must be able to use the UI while the rack controller is down. (this is also needed for HA, so that the user can specify a failover to a secondary rack.)

The traceback[1] here might be easier to read:

https://paste.ubuntu.com/15136979/

[1]:
2016-02-20 00:35:18 [-] Error on request (27) general.power_types: Unable to get RPC connection for rack controller 'example' (4y3h7n)
 Traceback (most recent call last):
   File "/usr/lib/python3.5/threading.py", line 862, in run
     self._target(*self._args, **self._kwargs)
   File "/opt/src/maas/networking-ui/src/provisioningserver/utils/twisted.py", line 794, in worker
     return target()
   File "/usr/lib/python3/dist-packages/twisted/_threads/_threadworker.py", line 46, in work
     task()
   File "/usr/lib/python3/dist-packages/twisted/_threads/_team.py", line 190, in doWork
     task()
 --- <exception caught here> ---
   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 "/opt/src/maas/networking-ui/src/maasserver/utils/orm.py", line 448, in call_within_transaction
     return func_outside_txn(*args, **kwargs)
   File "/opt/src/maas/networking-ui/src/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 "/opt/src/maas/networking-ui/src/maasserver/websockets/handlers/general.py", line 170, in power_types
     return get_power_types()
   File "/opt/src/maas/networking-ui/src/maasserver/clusterrpc/power_parameters.py", line 171, in get_power_types
     power_types = get_all_power_types_from_clusters(controllers, ignore_errors)
   File "/opt/src/maas/networking-ui/src/maasserver/clusterrpc/power_parameters.py", line 187, in get_all_power_types_from_clusters
     for response in responses:
   File "/opt/src/maas/networking-ui/src/maasserver/clusterrpc/utils.py", line 51, in call_clusters
     controller.hostname, controller.system_id))
 maasserver.exceptions.ClusterUnavailable: Unable to get RPC connection for rack controller 'example' (4y3h7n)

Revision history for this message
Blake Rouse (blake-rouse) wrote :

This has already been fixed in latest trunk. Please be sure to be on the latest trunk before filling a bug.

Changed in maas:
status: Triaged → Fix Committed
assignee: nobody → Blake Rouse (blake-rouse)
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.