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 - name: RedundancyMinimum 53 type: size 54 flags: 55 - readonly 56 default: 2 57 description: > 58 The minimum number of BMC objects needed for redundancy to be enabled. 59 - name: RedundancyMaximum 60 type: size 61 flags: 62 - readonly 63 default: maxint 64 description: > 65 The maximum number of BMC objects allowed to be part of the redundancy 66 group. 67 68enumerations: 69 - name: Role 70 description: > 71 Defines the redundancy role of the BMC. 72 values: 73 - name: Unknown 74 description: > 75 The role is unknown. 76 - name: Active 77 description: > 78 The role is for the active BMC. This is the fully functioning 79 BMC and the main point of contact for external users. 80 - name: Passive 81 description: > 82 The role is for the passive BMC, which is the opposite of the 83 active BMC. It may not have all services running, and would 84 require a failover to become active. 85 86signals: 87 - name: Heartbeat 88 description: > 89 This signal is to be emitted periodically from the management daemon 90 to let the sibling BMC interface daemon know it is alive. 91 92paths: 93 - namespace: /xyz/openbmc_project/state 94 segments: 95 - name: BMC 96 description: > 97 The object representing _this_ BMC is always at bmc0. 98 value: bmc0 99