Skip to content

Commit fd382fe

Browse files
authored
Merge pull request #176 from spinler/1120_new_sibling_interfaces
RBMC interface updates
2 parents 69225ef + 79275e4 commit fd382fe

File tree

4 files changed

+97
-17
lines changed

4 files changed

+97
-17
lines changed
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
# Generated file; do not modify.
2+
3+
sdbusplus_current_path = 'xyz/openbmc_project/State/Decorator/Heartbeat'
4+
5+
generated_sources += custom_target(
6+
'xyz/openbmc_project/State/Decorator/Heartbeat__cpp'.underscorify(),
7+
input: [
8+
'../../../../../../yaml/xyz/openbmc_project/State/Decorator/Heartbeat.interface.yaml',
9+
],
10+
output: [
11+
'common.hpp',
12+
'server.hpp',
13+
'server.cpp',
14+
'aserver.hpp',
15+
'client.hpp',
16+
],
17+
depend_files: sdbusplusplus_depfiles,
18+
command: [
19+
sdbuspp_gen_meson_prog,
20+
'--command',
21+
'cpp',
22+
'--output',
23+
meson.current_build_dir(),
24+
'--tool',
25+
sdbusplusplus_prog,
26+
'--directory',
27+
meson.current_source_dir() / '../../../../../../yaml',
28+
'xyz/openbmc_project/State/Decorator/Heartbeat',
29+
],
30+
install: should_generate_cpp,
31+
install_dir: [
32+
get_option('includedir') / sdbusplus_current_path,
33+
get_option('includedir') / sdbusplus_current_path,
34+
false,
35+
get_option('includedir') / sdbusplus_current_path,
36+
get_option('includedir') / sdbusplus_current_path,
37+
],
38+
build_by_default: should_generate_cpp,
39+
)
40+

gen/xyz/openbmc_project/State/Decorator/meson.build

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
# Generated file; do not modify.
22
subdir('Availability')
3+
subdir('Heartbeat')
34
subdir('OperationalStatus')
45
subdir('PowerState')
56
subdir('PowerSystemInputs')
@@ -30,6 +31,30 @@ generated_markdown += custom_target(
3031
build_by_default: should_generate_markdown,
3132
)
3233

34+
generated_markdown += custom_target(
35+
'xyz/openbmc_project/State/Decorator/Heartbeat__markdown'.underscorify(),
36+
input: [
37+
'../../../../../yaml/xyz/openbmc_project/State/Decorator/Heartbeat.interface.yaml',
38+
],
39+
output: ['Heartbeat.md'],
40+
depend_files: sdbusplusplus_depfiles,
41+
command: [
42+
sdbuspp_gen_meson_prog,
43+
'--command',
44+
'markdown',
45+
'--output',
46+
meson.current_build_dir(),
47+
'--tool',
48+
sdbusplusplus_prog,
49+
'--directory',
50+
meson.current_source_dir() / '../../../../../yaml',
51+
'xyz/openbmc_project/State/Decorator/Heartbeat',
52+
],
53+
install: should_generate_markdown,
54+
install_dir: [inst_markdown_dir / sdbusplus_current_path],
55+
build_by_default: should_generate_markdown,
56+
)
57+
3358
generated_markdown += custom_target(
3459
'xyz/openbmc_project/State/Decorator/OperationalStatus__markdown'.underscorify(),
3560
input: [

yaml/xyz/openbmc_project/State/BMC/Redundancy.interface.yaml

Lines changed: 21 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
description: >
2-
This interface holds redundant BMC related information. There would be
3-
instance of this interface on each BMC.
2+
This interface holds redundant BMC related information.
43
54
properties:
65
- name: Role
@@ -34,21 +33,6 @@ properties:
3433
3534
This can only be changed on the active BMC and when power is off,
3635
otherwise it will throw the Unavailable error.
37-
- name: FailoversPaused
38-
type: boolean
39-
flags:
40-
- readonly
41-
default: false
42-
description: >
43-
When redundancy is enabled, there may be periods when either failovers
44-
are not allowed, such as in the middle of a code update, or won't work
45-
because the passive BMC is temporarily offline, such as when the
46-
passive BMC reboots. A timer would be put on how long redundancy could
47-
still be considered enabled in this latter case in case the passive
48-
BMC never comes back. Redundancy is left enabled initially so as to
49-
not trigger any intervention that could be necessary when redundancy
50-
is lost just due to a BMC reboot. Any time the passive BMC goes
51-
offline a full file sync would be necessary when it comes back.
5236
- name: FailoversAllowed
5337
type: boolean
5438
flags:
@@ -59,6 +43,15 @@ properties:
5943
enabled, a failover may not be allowed because there are periods when
6044
doing a failover could cause issues, such as in the middle of a boot
6145
or code update.
46+
- name: FailoverImminent
47+
type: boolean
48+
flags:
49+
- readonly
50+
default: false
51+
description: >
52+
There can be a grace period between a failover being requested and the
53+
failover actually starting where this will be asserted to allow for
54+
any preparation or tracing on the other BMC.
6255
6356
enumerations:
6457
- name: Role
@@ -88,3 +81,14 @@ paths:
8881
- instance: /xyz/openbmc_project/state/bmc0
8982
description: >
9083
The BMC redundancy path.
84+
- namespace: /xyz/openbmc_project/state
85+
segments:
86+
- name: BMC
87+
description: >
88+
The object representing _this_ BMC is always at bmc0.
89+
value: bmc0
90+
- name: SiblingBMC
91+
description: >
92+
The object representing _the sibling_ BMC is always at bmc1 in a
93+
2 BMC system.
94+
value: bmc1
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
description: >
2+
Implement to show the status of a heartbeat indication, if it's considered
3+
active or not.
4+
properties:
5+
- name: Active
6+
type: boolean
7+
default: false
8+
flags:
9+
- readonly
10+
description: >
11+
If the heartbeat is active.

0 commit comments

Comments
 (0)