1description: > 2 This interface holds redundant BMC related information. There would be 3 instance of this interface on each BMC. 4 5properties: 6 - name: Role 7 type: enum[self.Role] 8 flags: 9 - readonly 10 default: Unknown 11 description: > 12 The redundancy role of the BMC. 13 - name: RedundancyEnabled 14 type: boolean 15 flags: 16 - readonly 17 default: false 18 description: > 19 If redundancy is currently enabled. In general, this means that the 20 BMCs are configured as active and passive and that the passive is able 21 to be failed over to. 22 - name: DisableRedundancyOverride 23 type: boolean 24 default: false 25 errors: 26 - xyz.openbmc_project.Common.Error.Unavailable 27 description: > 28 This is used to immediately and persistently disable redundancy. The 29 use case is there are test phases where redundancy is not wanted and 30 this is how that is accomplished. 31 32 If set back to true, redundancy will immediately be re-enabled, 33 assuming nothing else is preventing it. 34 35 This can only be changed on the active BMC and when power is off, 36 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. 52 53enumerations: 54 - name: Role 55 description: > 56 Defines the redundancy role of the BMC. 57 values: 58 - name: Unknown 59 description: > 60 The role is unknown. 61 - name: Active 62 description: > 63 The role is for the active BMC. This is the fully functioning 64 BMC and the main point of contact for external users. 65 - name: Passive 66 description: > 67 The role is for the passive BMC, which is the opposite of the 68 active BMC. It may not have all services running, and would 69 require a failover to become active. 70 71signals: 72 - name: Heartbeat 73 description: > 74 This signal is to be emitted periodically from the management daemon 75 to let the sibling BMC interface daemon know it is alive. 76 77paths: 78 - namespace: /xyz/openbmc_project/state 79 segments: 80 - name: BMC 81 description: > 82 The object representing _this_ BMC is always at bmc0. 83 value: bmc0 84