Power Utilization Is Not Propagated Upstream When Connecting Devices via Intermediate Power Devices #238

Open
opened 2026-04-05 16:23:22 +02:00 by MrUnknownDE · 0 comments
Owner

Originally created by @dmitrylomakin on 3/4/2026

NetBox version

v4.5.2

Feature type

Change to existing functionality

Proposed functionality

In NetBox Community Edition, a power device (like PDU,UPS,ATS) correctly calculates its total power consumption in the “Power Utilization” block on the main device page.

When such a device is connected directly to a Power Panel via a Power Feed, the loading is accounted correctly (provided that maximum_draw and allocated_draw fields in the device’s Power Port are left empty).

However, when the same device is connected through an intermediate power device (for example, into a UPS outlet), the calculated consumption is not automatically propagated upstream. As a result, manual input of allocated_draw in the Power Port becomes required.

Problem Description

Current behavior works correctly in this scenario:

  • Device calculates its consumption (visible in Power Utilization block).
  • Device Power Port has empty maximum_draw and allocated_draw.
  • Device is connected directly to a Power Feed.
  • The Power Panel correctly reflects the aggregated consumption.

But in this scenario:

  • Device calculates its consumption correctly.
  • Device is connected to a UPS (into its Power Outlet).
  • The UPS is connected upstream to a Power Feed.
  • The calculated consumption is not automatically propagated to the UPS.
  • The UPS does not use the child device’s calculated load.
  • The administrator must manually enter the child device’s consumption into the device’s Power Port allocated_draw.

This manual process must be repeated every time:

  • A device is added or removed
  • Device power draw changes
  • Power topology is modified

This creates operational overhead and increases the risk of incorrect power accounting.

Expected Behavior

If a device calculates its power consumption internally (via its components) and connected via Power Port to another power device (e.g., UPS):

  • The parent power device should automatically account for the child device’s calculated consumption (allocated draw).
  • The upstream power hierarchy (UPS → Power Feed → Power Panel) should reflect the aggregated load without requiring manual allocated_draw entry.

Use case

In real-world data center power chains:

Device → PDU → UPS → Power Feed → Power Panel

Automatic propagation is essential for:

  • Accurate capacity planning
  • Preventing overload conditions
  • Reducing manual administrative work
  • Maintaining reliable rack-level power modeling

Currently, the logic works only for direct Power Feed connections but breaks when an intermediate power device exists.

Database changes

No response

External dependencies

No response

*Originally created by @dmitrylomakin on 3/4/2026* ### NetBox version v4.5.2 ### Feature type Change to existing functionality ### Proposed functionality In NetBox Community Edition, a power device (like PDU,UPS,ATS) correctly calculates its total power consumption in the “Power Utilization” block on the main device page. When such a device is connected directly to a Power Panel via a Power Feed, the loading is accounted correctly (provided that maximum_draw and allocated_draw fields in the device’s Power Port are left empty). However, when the same device is connected through an intermediate power device (for example, into a UPS outlet), the calculated consumption is not automatically propagated upstream. As a result, manual input of allocated_draw in the Power Port becomes required. **Problem Description** Current behavior works correctly in this scenario: - Device calculates its consumption (visible in Power Utilization block). - Device Power Port has empty maximum_draw and allocated_draw. - Device is connected directly to a Power Feed. - The Power Panel correctly reflects the aggregated consumption. But in this scenario: - Device calculates its consumption correctly. - Device is connected to a UPS (into its Power Outlet). - The UPS is connected upstream to a Power Feed. - The calculated consumption is not automatically propagated to the UPS. - The UPS does not use the child device’s calculated load. - The administrator must manually enter the child device’s consumption into the device’s Power Port allocated_draw. This manual process must be repeated every time: - A device is added or removed - Device power draw changes - Power topology is modified This creates operational overhead and increases the risk of incorrect power accounting. **Expected Behavior** If a device calculates its power consumption internally (via its components) and connected via Power Port to another power device (e.g., UPS): - The parent power device should automatically account for the child device’s calculated consumption (allocated draw). - The upstream power hierarchy (UPS → Power Feed → Power Panel) should reflect the aggregated load without requiring manual allocated_draw entry. ### Use case In real-world data center power chains: Device → PDU → UPS → Power Feed → Power Panel Automatic propagation is essential for: - Accurate capacity planning - Preventing overload conditions - Reducing manual administrative work - Maintaining reliable rack-level power modeling Currently, the logic works only for direct Power Feed connections but breaks when an intermediate power device exists. ### Database changes _No response_ ### External dependencies _No response_
Sign in to join this conversation.
No Label netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox status: backlog status: backlog status: backlog status: backlog status: backlog status: backlog status: backlog type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github/netbox#238