division by zero calculating usage_precentage

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

Bug Description

This occurs when you have a subnet that has a prefixlen of 32.

2016-03-03 14:15:14 [-] Error on request (37) subnet.list: float division by zero
 Traceback (most recent call last):
   File "/usr/lib/python3.5/threading.py", line 862, in run
     self._target(*self._args, **self._kwargs)
   File "/usr/lib/python3/dist-packages/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 "/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/websockets/base.py", line 327, in list
     for obj in objs
   File "/usr/lib/python3/dist-packages/maasserver/websockets/base.py", line 327, in <listcomp>
     for obj in objs
   File "/usr/lib/python3/dist-packages/maasserver/websockets/base.py", line 194, in full_dehydrate
     return self.dehydrate(obj, data, for_list=for_list)
   File "/usr/lib/python3/dist-packages/maasserver/websockets/handlers/subnet.py", line 36, in dehydrate
     data['statistics'] = metadata.render_json()
   File "/usr/lib/python3/dist-packages/provisioningserver/utils/network.py", line 190, in render_json
     "usage": self.usage_percentage,
   File "/usr/lib/python3/dist-packages/provisioningserver/utils/network.py", line 174, in usage_percentage
     return float(self.num_unavailable) / float(self.total_addresses)
 builtins.ZeroDivisionError: float division by zero

Related branches

Changed in maas:
assignee: nobody → Mike Pontillo (mpontillo)
Changed in maas:
status: Triaged → 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.