1description: > 2 This interface holds redundant BMC related information. 3 4properties: 5 - name: Role 6 type: enum[self.Role] 7 flags: 8 - readonly 9 default: Unknown 10 description: > 11 The redundancy role of the BMC. 12 - name: RedundancyEnabled 13 type: boolean 14 flags: 15 - readonly 16 default: false 17 description: > 18 If redundancy is currently enabled. In general, this means that the 19 BMCs are configured as active and passive and that the passive is able 20 to be failed over to. 21 - name: DisableRedundancyOverride 22 type: boolean 23 default: false 24 errors: 25 - xyz.openbmc_project.Common.Error.Unavailable 26 description: > 27 This is used to immediately and persistently disable redundancy. The 28 use case is there are test phases where redundancy is not wanted and 29 this is how that is accomplished. 30 31 If set back to true, redundancy will immediately be re-enabled, 32 assuming nothing else is preventing it. 33 34 This can only be changed on the active BMC and when power is off, 35 otherwise it will throw the Unavailable error. 36 - name: FailoversAllowed 37 type: boolean 38 flags: 39 - readonly 40 default: false 41 description: > 42 States if failovers are currently allowed. Even when redundancy is 43 enabled, a failover may not be allowed because there are periods when 44 doing a failover could cause issues, such as in the middle of a boot 45 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. 55 - name: FailoverInProgress 56 type: boolean 57 default: false 58 flags: 59 - readonly 60 description: > 61 Indicates that a failover is in progress. 62 - name: RedundancyMinimum 63 type: size 64 flags: 65 - readonly 66 default: 2 67 description: > 68 The minimum number of BMC objects needed for redundancy to be enabled. 69 - name: RedundancyMaximum 70 type: size 71 flags: 72 - readonly 73 default: maxint 74 description: > 75 The maximum number of BMC objects allowed to be part of the redundancy 76 group. 77 78enumerations: 79 - name: Role 80 description: > 81 Defines the redundancy role of the BMC. 82 values: 83 - name: Unknown 84 description: > 85 The role is unknown. 86 - name: Active 87 description: > 88 The role is for the active BMC. This is the fully functioning 89 BMC and the main point of contact for external users. 90 - name: Passive 91 description: > 92 The role is for the passive BMC, which is the opposite of the 93 active BMC. It may not have all services running, and would 94 require a failover to become active. 95 96signals: 97 - name: Heartbeat 98 description: > 99 This signal is to be emitted periodically from the management daemon 100 to let the sibling BMC interface daemon know it is alive. 101 102paths: 103 - namespace: /xyz/openbmc_project/state 104 segments: 105 - name: BMC 106 description: > 107 The object representing _this_ BMC is always at bmc0. 108 value: bmc0 109 - name: SiblingBMC 110 description: > 111 The object representing _the sibling_ BMC is always at bmc1 in a 112 2 BMC system. 113 value: bmc1 114