Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ci: handle sm.mediator.misconfigured ems #2006

Merged
merged 3 commits into from
Apr 27, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 17 additions & 9 deletions integration/test/alert/alert.go
Original file line number Diff line number Diff line change
Expand Up @@ -97,8 +97,8 @@ func GetEmsAlerts(dir string, fileName string) ([]string, []string, []string) {
return nonBookendEms, issuingEms, resolvingEms
}

func GenerateEvents(emsNames []string, nodeScopedEms []string) []string {
supportedEms := make([]string, 0)
func GenerateEvents(emsNames []string, nodeScopedEms []string) map[string]bool {
supportedEms := make(map[string]bool)
var jsonValue []byte
err := conf.LoadHarvestConfig(installer.HarvestConfigFile)
poller, err2 := conf.PollerNamed(TestClusterName)
Expand All @@ -112,21 +112,29 @@ func GenerateEvents(emsNames []string, nodeScopedEms []string) []string {
volumeArwCount := 0
vserverArwCount := 0
for _, ems := range emsNames {
value := "1"
arg1 := "1"
arg2 := "2"
if ems == "arw.volume.state" {
value = volumeArwState[volumeArwCount]
arg1 = volumeArwState[volumeArwCount]
volumeArwCount++
}
if ems == "arw.vserver.state" {
value = vserverArwState[vserverArwCount]
arg1 = vserverArwState[vserverArwCount]
vserverArwCount++
}
// bookendkey is ipaddress for below 2 ems
if ems == "sm.mediator.misconfigured" {
arg2 = "1.1.1.1"
}
if ems == "sm.mediator.in.quorum" {
arg1 = "1.1.1.1"
}

// Handle for node-scoped ems, Passing node-name as input
if utils.Contains(nodeScopedEms, ems) {
jsonValue = []byte(fmt.Sprintf(`{"message-name": "%s", "values": [%s,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20], "node": "%s"}`, ems, value, TestNodeName))
jsonValue = []byte(fmt.Sprintf(`{"message-name": "%s", "values": [%s,%s,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20], "node": "%s"}`, ems, arg1, arg2, TestNodeName))
} else {
jsonValue = []byte(fmt.Sprintf(`{"message-name": "%s", "values": [%s,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]}`, ems, value))
jsonValue = []byte(fmt.Sprintf(`{"message-name": "%s", "values": [%s,%s,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]}`, ems, arg1, arg2))
}

var data map[string]interface{}
Expand All @@ -136,10 +144,10 @@ func GenerateEvents(emsNames []string, nodeScopedEms []string) []string {
code := errorDetail["code"].(string)
target := errorDetail["target"].(string)
if !(code == "2" && target == "message-name") {
supportedEms = append(supportedEms, ems)
supportedEms[ems] = true
}
} else {
supportedEms = append(supportedEms, ems)
supportedEms[ems] = true
}
}

Expand Down
6 changes: 3 additions & 3 deletions integration/test/bookend_ems_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ import (

var issuingEmsNames []string
var resolvingEmsNames []string
var supportedIssuingEms []string
var supportedResolvingEms []string
var supportedIssuingEms map[string]bool
var supportedResolvingEms map[string]bool
var oldAlertsData map[string]int
var newAlertsData map[string]int

Expand Down Expand Up @@ -71,7 +71,7 @@ func TestEmsTestSuite(t *testing.T) {
setupAlerts()

// Evaluate bookend active ems events
for _, issuingEms := range supportedIssuingEms {
for issuingEms, _ := range supportedIssuingEms {
// If the issuingEms did not exist before, then ignore the test-case.
if oldAlertsData[issuingEms] > 0 {
v := newAlertsData[issuingEms] - oldAlertsData[issuingEms]
Expand Down
6 changes: 3 additions & 3 deletions integration/test/nonbookend_ems_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import (
"testing"
)

var supportedNonBookendEms []string
var supportedNonBookendEms map[string]bool
var alertsData map[string]int

func setup() {
Expand All @@ -17,7 +17,7 @@ func setup() {

// Check if non-bookend ems name is supported for the given cluster
supportedNonBookendEms = promAlerts.GenerateEvents(nonBookendEmsName, []string{})
log.Info().Msgf("Supported non-bookend ems: %s", supportedNonBookendEms)
log.Info().Msgf("Supported non-bookend ems: %v", supportedNonBookendEms)

// Fetch prometheus alerts
alertsData, totalAlerts = promAlerts.GetAlerts()
Expand All @@ -34,7 +34,7 @@ func TestAlertRules(t *testing.T) {
// Evaluate all active ems events
notFoundNonBookendEms := make([]string, 0)

for _, nonBookendEms := range supportedNonBookendEms {
for nonBookendEms, _ := range supportedNonBookendEms {
if alertsData[nonBookendEms] == 0 {
notFoundNonBookendEms = append(notFoundNonBookendEms, nonBookendEms)
}
Expand Down