diff --git a/netbox/dcim/models.py b/netbox/dcim/models.py index 64028dab3..95e98df2f 100644 --- a/netbox/dcim/models.py +++ b/netbox/dcim/models.py @@ -360,6 +360,15 @@ class Rack(CreatedUpdatedModel): def get_0u_devices(self): return self.devices.filter(position=0) + def get_utilization(self): + """ + Determine the utilization rate of the rack and return it as a percentage. + """ + if self.u_consumed is None: + self.u_consumed = 0 + u_available = self.u_height - self.u_consumed + return int(float(self.u_height - u_available) / self.u_height * 100) + # # Device Types