Alerting: Check whether the internal Alertmanager is ready in remote secondary mode (#79406)

Alerting: Check whether the internal Alertmanager is ready in remote secondary
This commit is contained in:
Santiago 2023-12-12 18:33:11 +01:00 committed by GitHub
parent 937a7ed6d9
commit 1a5c2cb55b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 3 additions and 15 deletions

View File

@ -282,21 +282,12 @@ func TestForkedAlertmanager_ModeRemoteSecondary(t *testing.T) {
})
t.Run("Ready", func(tt *testing.T) {
// Ready should be called on both Alertmanagers
internal, remote, forked := genTestAlertmanagers(tt, modeRemoteSecondary)
// Ready should be called only on the internal Alertmanager.
internal, _, forked := genTestAlertmanagers(tt, modeRemoteSecondary)
internal.EXPECT().Ready().Return(true).Once()
remote.EXPECT().Ready().Return(true).Once()
require.True(tt, forked.Ready())
// If one of the two Alertmanagers is not ready, it returns false.
internal, remote, forked = genTestAlertmanagers(tt, modeRemoteSecondary)
internal.EXPECT().Ready().Return(false).Maybe()
remote.EXPECT().Ready().Return(true).Maybe()
require.False(tt, forked.Ready())
internal, remote, forked = genTestAlertmanagers(tt, modeRemoteSecondary)
internal.EXPECT().Ready().Return(true).Maybe()
remote.EXPECT().Ready().Return(false).Maybe()
require.False(tt, forked.Ready())
})
}

View File

@ -98,9 +98,6 @@ func (fam *RemoteSecondaryForkedAlertmanager) StopAndWait() {
}
func (fam *RemoteSecondaryForkedAlertmanager) Ready() bool {
// Both Alertmanagers must be ready.
if ready := fam.remote.Ready(); !ready {
return false
}
// We only care about the internal Alertmanager being ready.
return fam.internal.Ready()
}