Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 32 additions & 1 deletion release/models/platform/openconfig-platform-common.yang
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,14 @@ submodule openconfig-platform-common {
"This modules contains common groupings that are used in multiple
components within the platform module.";

oc-ext:openconfig-version "0.32.0";
oc-ext:openconfig-version "0.33.0";

revision "2026-07-08" {
description
"Add component-power-management-state grouping with the
read-only power-oper-state leaf.";
reference "0.33.0";
}

revision "2025-07-15" {
description
Expand Down Expand Up @@ -289,6 +296,30 @@ revision "2024-10-13" {
}
}

grouping component-power-management-state {
description
"Common grouping for reporting the operational power state of a
component";

leaf power-oper-state {
type oc-platform-types:component-power-oper-type;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How do we ensure that this is read only?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Its in a *-state grouping that is only "used" under a r/o state/ container (same pattern as all other cases - e.g. interfaces oper-status)

description
"The operational power state of the component. Whereas
power-admin-state reflects the configured (intended) power
state, power-oper-state reflects the actual, applied power
state as observed by the system.

While a power change is in progress, for example when a
component is being powered down but has not yet fully powered
off, this leaf reports POWER_TRANSITIONING and does not report
POWER_DISABLED until the component has fully powered off. This
provides a consistent operational view across telemetry and
other management interfaces and allows management systems to
avoid initiating a subsequent power operation before the
current transition has completed.";
}
}

// data definition statements

// augment statements
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,13 @@ module openconfig-platform-controller-card {
"This module defines data related to CONTROLLER_CARD components in
the openconfig-platform model";

oc-ext:openconfig-version "0.2.0";
oc-ext:openconfig-version "0.3.0";

revision "2026-07-08" {
description
"Add read-only power-oper-state leaf to controller-card state.";
reference "0.3.0";
}

revision "2024-04-10" {
description
Expand Down Expand Up @@ -83,6 +89,7 @@ module openconfig-platform-controller-card {
is only valid when the type of the component is CONTROLLER_CARD.";

uses controller-card-config;
uses oc-platform:component-power-management-state;
}

// rpc statements
Expand Down
9 changes: 8 additions & 1 deletion release/models/platform/openconfig-platform-fabric.yang
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,13 @@ module openconfig-platform-fabric {
"This module defines data related to FABRIC components in
the openconfig-platform model";

oc-ext:openconfig-version "0.1.0";
oc-ext:openconfig-version "0.2.0";

revision "2026-07-08" {
description
"Add read-only power-oper-state leaf to fabric state.";
reference "0.2.0";
}

revision "2022-07-28" {
description
Expand Down Expand Up @@ -71,6 +77,7 @@ module openconfig-platform-fabric {
is only valid when the type of the component is FABRIC.";

uses fabric-config;
uses oc-platform:component-power-management-state;
}

// rpc statements
Expand Down
9 changes: 8 additions & 1 deletion release/models/platform/openconfig-platform-linecard.yang
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,13 @@ module openconfig-platform-linecard {
"This module defines data related to LINECARD components in
the openconfig-platform model";

oc-ext:openconfig-version "1.2.0";
oc-ext:openconfig-version "1.3.0";

revision "2026-07-08" {
description
"Add read-only power-oper-state leaf to linecard state.";
reference "1.3.0";
}

revision "2024-04-12" {
description
Expand Down Expand Up @@ -132,6 +138,7 @@ oc-ext:openconfig-version "1.2.0";

uses linecard-config;
uses linecard-state;
uses oc-platform:component-power-management-state;
}
uses oc-platform:platform-resource-utilization-top;
}
Expand Down
36 changes: 35 additions & 1 deletion release/models/platform/openconfig-platform-types.yang
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,15 @@ module openconfig-platform-types {
"This module defines data types (e.g., YANG identities)
to support the OpenConfig component inventory model.";

oc-ext:openconfig-version "1.12.0";
oc-ext:openconfig-version "1.13.0";

revision "2026-07-08" {
description
"Add component-power-oper-type typedef with POWER_TRANSITIONING
to reflect the operational power state of a component,
including transient transitions.";
reference "1.13.0";
}

revision "2026-05-19" {
description
Expand Down Expand Up @@ -581,6 +589,32 @@ revision "2025-07-09" {
is powered on or off";
}

typedef component-power-oper-type {
type enumeration {
enum POWER_ENABLED {
description
"The component is powered on.";
}
enum POWER_DISABLED {
description
"The component is powered off.";
}
enum POWER_TRANSITIONING {
description
"The component is transitioning between the POWER_ENABLED and
POWER_DISABLED states, for example while it is being powered
down but has not yet fully powered off, or while it is being
powered up but is not yet fully powered on.";
}
}
description
"A generic type reflecting the operational power state of a
hardware component. This is the operational counterpart to
component-power-type (the configured, intended power state) and
may include operational-only values that are not valid as
configuration.";
}

identity COMPONENT_REBOOT_REASON {
description
"Base entity for component reboot reasons.";
Expand Down
9 changes: 8 additions & 1 deletion release/models/platform/openconfig-platform.yang
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,14 @@ module openconfig-platform {
(presence or absence of a component) and state (physical
attributes or status).";

oc-ext:openconfig-version "0.32.0";
oc-ext:openconfig-version "0.33.0";

revision "2026-07-08" {
description
"Add component-power-management-state grouping with the
read-only power-oper-state leaf.";
reference "0.33.0";
}

revision "2025-07-15" {
description
Expand Down
Loading