mirror of
https://github.com/replicatedhq/troubleshoot.git
synced 2026-04-15 07:16:34 +00:00
Analyzers should not return multiple results
This commit is contained in:
@@ -38,7 +38,9 @@ func (a *AnalyzeHostDiskUsage) Analyze(getCollectedFileContents func(string) ([]
|
||||
return nil, errors.Wrapf(err, "failed to unmarshal disk usage info from %s", key)
|
||||
}
|
||||
|
||||
var coll resultCollector
|
||||
result := AnalyzeResult{
|
||||
Title: a.Title(),
|
||||
}
|
||||
|
||||
for _, outcome := range hostAnalyzer.Outcomes {
|
||||
result := &AnalyzeResult{Title: a.Title()}
|
||||
@@ -49,8 +51,7 @@ func (a *AnalyzeHostDiskUsage) Analyze(getCollectedFileContents func(string) ([]
|
||||
result.Message = outcome.Fail.Message
|
||||
result.URI = outcome.Fail.URI
|
||||
|
||||
coll.push(result)
|
||||
continue
|
||||
return []*AnalyzeResult{result}, nil
|
||||
}
|
||||
|
||||
isMatch, err := compareHostDiskUsageConditionalToActual(outcome.Fail.When, diskUsageInfo.TotalBytes, diskUsageInfo.UsedBytes)
|
||||
@@ -63,7 +64,7 @@ func (a *AnalyzeHostDiskUsage) Analyze(getCollectedFileContents func(string) ([]
|
||||
result.Message = outcome.Fail.Message
|
||||
result.URI = outcome.Fail.URI
|
||||
|
||||
coll.push(result)
|
||||
return []*AnalyzeResult{result}, nil
|
||||
}
|
||||
} else if outcome.Warn != nil {
|
||||
if outcome.Warn.When == "" {
|
||||
@@ -71,8 +72,7 @@ func (a *AnalyzeHostDiskUsage) Analyze(getCollectedFileContents func(string) ([]
|
||||
result.Message = outcome.Warn.Message
|
||||
result.URI = outcome.Warn.URI
|
||||
|
||||
coll.push(result)
|
||||
continue
|
||||
return []*AnalyzeResult{result}, nil
|
||||
}
|
||||
|
||||
isMatch, err := compareHostDiskUsageConditionalToActual(outcome.Warn.When, diskUsageInfo.TotalBytes, diskUsageInfo.UsedBytes)
|
||||
@@ -85,7 +85,7 @@ func (a *AnalyzeHostDiskUsage) Analyze(getCollectedFileContents func(string) ([]
|
||||
result.Message = outcome.Warn.Message
|
||||
result.URI = outcome.Warn.URI
|
||||
|
||||
coll.push(result)
|
||||
return []*AnalyzeResult{result}, nil
|
||||
}
|
||||
} else if outcome.Pass != nil {
|
||||
if outcome.Pass.When == "" {
|
||||
@@ -93,8 +93,7 @@ func (a *AnalyzeHostDiskUsage) Analyze(getCollectedFileContents func(string) ([]
|
||||
result.Message = outcome.Pass.Message
|
||||
result.URI = outcome.Pass.URI
|
||||
|
||||
coll.push(result)
|
||||
continue
|
||||
return []*AnalyzeResult{result}, nil
|
||||
}
|
||||
|
||||
isMatch, err := compareHostDiskUsageConditionalToActual(outcome.Pass.When, diskUsageInfo.TotalBytes, diskUsageInfo.UsedBytes)
|
||||
@@ -107,13 +106,13 @@ func (a *AnalyzeHostDiskUsage) Analyze(getCollectedFileContents func(string) ([]
|
||||
result.Message = outcome.Pass.Message
|
||||
result.URI = outcome.Pass.URI
|
||||
|
||||
coll.push(result)
|
||||
return []*AnalyzeResult{result}, nil
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
return coll.get(a.Title()), nil
|
||||
return []*AnalyzeResult{&result}, nil
|
||||
}
|
||||
|
||||
func compareHostDiskUsageConditionalToActual(conditional string, totalBytes uint64, usedBytes uint64) (res bool, err error) {
|
||||
|
||||
@@ -372,11 +372,17 @@ func TestAnalyzeHostDiskUsage(t *testing.T) {
|
||||
CollectorName: "ephemeral",
|
||||
Outcomes: []*troubleshootv1beta2.Outcome{
|
||||
{
|
||||
Warn: &troubleshootv1beta2.SingleOutcome{
|
||||
Fail: &troubleshootv1beta2.SingleOutcome{
|
||||
When: "available < 10Gi",
|
||||
Message: "/var/lib/kubelet less than 10Gi available",
|
||||
},
|
||||
},
|
||||
{
|
||||
Warn: &troubleshootv1beta2.SingleOutcome{
|
||||
When: "available < 25Gi",
|
||||
Message: "/var/lib/kubelet less than 25Gi available",
|
||||
},
|
||||
},
|
||||
{
|
||||
Pass: &troubleshootv1beta2.SingleOutcome{
|
||||
When: "",
|
||||
@@ -388,14 +394,9 @@ func TestAnalyzeHostDiskUsage(t *testing.T) {
|
||||
result: []*AnalyzeResult{
|
||||
{
|
||||
Title: "Disk Usage ephemeral",
|
||||
IsWarn: true,
|
||||
IsFail: true,
|
||||
Message: "/var/lib/kubelet less than 10Gi available",
|
||||
},
|
||||
{
|
||||
Title: "Disk Usage ephemeral",
|
||||
IsPass: true,
|
||||
Message: "/var/lib/kubelet passed",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user