iTop-br-power-infrastructure

User Guide

iTop-br-power-infrastructure

This guide provides a more detailed explanation of the data model, modeling principles, and recommended usage of the iTop-br-power-infrastructure extension.

It is intended for administrators, implementers, and advanced users who want to understand not only which classes are available, but also how they should be used together in a consistent and realistic way.


1. Introduction

iTop-br-power-infrastructure extends the native iTop CMDB model for documenting electrical power infrastructure.

The module is designed for environments such as:

The extension makes it possible to document not only basic power dependencies, but also more structured and realistic topologies involving utility feeds, generators, transfer switches, UPS systems, distribution boards, PDUs, sockets, and downstream devices.


2. Design Goals

The extension is built around the following goals:

The module is not intended to replace full building electrical engineering documentation. Instead, it focuses on the parts that are most relevant for IT infrastructure, service continuity, and structured CMDB-based documentation.


3. Modeling Approaches

The extension supports two complementary ways of modeling electrical relationships.

3.1 Native iTop power chain

The native iTop model already supports the relation:

This remains available for compatibility and can still be used where appropriate.

Typical use cases:

The preferred topology model introduced by this extension is:

This allows directional links between PowerConnection objects and supports more realistic topologies such as:

Typical use cases:

Use the generic link model as the preferred way to represent power flow between PowerConnection objects.

Keep the native PowerSourcePDU relation mainly for:


4. Core Classes

4.1 UtilityPower

UtilityPower is a dedicated class derived from PowerSource.

It is intended to represent the normal upstream or external power supply, for example:

Typical attributes:

Typical usage:

Screenshot reference

Utility Power Details


4.2 UPS

UPS is a dedicated class derived from PowerSource.

It is used to represent uninterruptible power supplies that protect downstream systems.

Typical attributes:

Typical usage:


4.3 UPSBattery

UPSBattery is a dedicated class derived from PhysicalDevice.

It is used to document battery units assigned to a UPS.

Typical attributes:

Typical usage:


4.4 PowerGenerator

PowerGenerator is a dedicated class derived from PowerSource.

It is used to document emergency generators or other backup power units.

Typical attributes:

Typical usage:


4.5 PowerTransferSwitch

PowerTransferSwitch is a dedicated class derived from PowerConnection.

It is used to represent switching components between multiple power inputs and a downstream load path.

Typical attributes:

Typical usage:

Screenshot references

Transfer Switch Depends On Transfer Switch Impacts


4.6 PowerDistributionBoard

PowerDistributionBoard is a dedicated class derived from PowerConnection.

It is used to represent electrical distribution stages between upstream sources and downstream consumers.

Typical attributes:

Typical usage:


4.7 PowerSocketType

PowerSocketType is a typology class used to standardize socket formats.

Typical usage:

This class is optional but recommended where socket standardization is useful.


4.8 PowerSocket

PowerSocket represents an individual physical outlet on a PDU.

Each socket:

Typical usage:


4.9 lnkPowerConnectionToPowerConnection

This generic link class is used to model directional relationships between PowerConnection objects.

Typical attributes:

This class is the preferred mechanism for modeling generic power flow.


5.1 General rule

Always model power paths from source to target.

This means:

downstream

Use downstream as the recommended generic role for standard source-to-target power flow.

Typical examples:

primary_input

Use primary_input for the preferred normal input of a transfer switch.

Typical example:

secondary_input

Use secondary_input for the backup or alternate input of a transfer switch.

Typical example:

bypass

Use bypass only where a meaningful alternate or bypass path must be documented.

other

Use other only for exceptional or project-specific cases that do not fit the standard roles.

5.3 Modeling recommendation

Keep the use of link roles as simple and consistent as possible.

For most normal source-to-target relationships, use:

Use primary_input and secondary_input specifically for transfer switch input modeling.


6. PowerSocket and DatacenterDevice Logic

The module adds dedicated socket handling between:

6.1 Power A / Power B assignment

Each DatacenterDevice can be linked to:

6.2 Assignment behavior

The module ensures that:

6.3 Typical usage

Screenshot references

Datacenter Device Power Supply

Datacenter Device Depends On

PDU


7. Example Topologies

7.1 Basic protected path

graph TD
    UtilityPower[UtilityPower]
    TransferSwitch[PowerTransferSwitch]
    UPS[UPS]
    PDU[PDU]
    Device[DatacenterDevice]

    UtilityPower -->|primary_input| TransferSwitch
    TransferSwitch -->|downstream| UPS
    UPS -->|downstream| PDU
    PDU --> Device

7.2 Emergency power path with generator and distribution stage

graph TD
    UtilityPower[UtilityPower]
    Generator[PowerGenerator]
    TransferSwitch[PowerTransferSwitch]
    UPS[UPS]
    DistributionBoard[PowerDistributionBoard]
    PDU[PDU]
    Socket[PowerSocket]
    Device[DatacenterDevice]

    UtilityPower -->|primary_input| TransferSwitch
    Generator -->|secondary_input| TransferSwitch
    TransferSwitch -->|downstream| UPS
    UPS -->|downstream| DistributionBoard
    DistributionBoard -->|downstream| PDU
    PDU --> Socket
    Socket --> Device

7.3 Demo data usage

The existing demo data used during development already reflects a realistic topology that can be used for:

This means the screenshots already referenced in the project documentation can also be reused as practical visual examples for this guide.


8. Relations and Dependency View

The extension uses different kinds of relationships.

8.1 Ownership and assignment relations

Examples:

8.2 Generic topology relations

Examples:

These are modeled through lnkPowerConnectionToPowerConnection.

8.3 Native compatibility relation

Example:

This remains supported for compatibility, but the preferred model for more flexible topologies is the generic link model.

Screenshot references

Power Supply

Transfer Switch Depends On Transfer Switch Impacts


9. Upgrade and Migration Notes

9.1 Migration of legacy powerstart_id

From version 2.0.0, the installer imports existing legacy PDU.powerstart_id relations into the generic link model.

This means that existing legacy PowerSourcePDU assignments are automatically duplicated as:

9.2 Migration of output to downstream

From version 2.0.0, existing generic topology links using the role output are migrated to:

Duplicate downstream links are not created. If a matching downstream link already exists, the obsolete output link is removed during migration.


Power Infrastructure Menu

This screenshot gives a compact overview of the main business classes introduced by the extension.


11. Modeling Recommendations

Avoid when possible


12. Final Notes

iTop-br-power-infrastructure is intended to provide a structured and extensible foundation for documenting electrical power infrastructure around IT environments.

The current model already supports a useful range of real-world scenarios, from simple power source to PDU documentation up to more advanced chains involving utility feeds, generators, transfer switches, UPS systems, distribution boards, and socket-level device assignment.

The existing screenshots and demo data already provide a strong basis for documentation, validation, and practical usage guidance.