#10176 fix space utilization for rack

This commit is contained in:
Arthur 2022-08-30 16:16:15 -07:00
parent e192ac34d0
commit 0cfe2d882d

View File

@ -350,7 +350,7 @@ class Rack(NetBoxModel):
# Remove units without enough space above them to accommodate a device of the specified height # Remove units without enough space above them to accommodate a device of the specified height
available_units = [] available_units = []
for u in units: for u in units:
if set(drange(u, u + u_height, 0.5)).issubset(units): if set(drange(u, u + decimal.Decimal(u_height), 0.5)).issubset(units):
available_units.append(u) available_units.append(u)
return list(reversed(available_units)) return list(reversed(available_units))
@ -415,12 +415,13 @@ class Rack(NetBoxModel):
""" """
# Determine unoccupied units # Determine unoccupied units
total_units = len(list(self.units)) total_units = len(list(self.units))
available_units = self.get_available_units() available_units = self.get_available_units(u_height=0.5)
# Remove reserved units # Remove reserved units
for u in self.get_reserved_units(): for ru in self.get_reserved_units():
if u in available_units: for u in drange(ru, ru + 1, 0.5):
available_units.remove(u) if u in available_units:
available_units.remove(u)
occupied_unit_count = total_units - len(available_units) occupied_unit_count = total_units - len(available_units)
percentage = float(occupied_unit_count) / total_units * 100 percentage = float(occupied_unit_count) / total_units * 100