Skip to content

Commit 1b1bc06

Browse files
Merge pull request #37 from adamviktora/error-filter-fix
CNV-74688: fix Status filter for Error state
2 parents 3e2b595 + 3814571 commit 1b1bc06

File tree

2 files changed

+34
-0
lines changed

2 files changed

+34
-0
lines changed

util/filters.go

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
package util
2+
3+
import "slices"
4+
5+
const (
6+
VMStatusCrashLoopBackOff = "CrashLoopBackOff"
7+
VMStatusErrorUnschedulable = "ErrorUnschedulable"
8+
VMStatusErrImagePull = "ErrImagePull"
9+
VMStatusImagePullBackOff = "ImagePullBackOff"
10+
VMStatusErrorPvcNotFound = "ErrorPvcNotFound"
11+
VMStatusErrorDataVolumeNotFound = "ErrorDataVolumeNotFound"
12+
VMStatusDataVolumeError = "DataVolumeError"
13+
VMStatusUnknown = "Unknown"
14+
VMStatusWaitingForVolumeBinding = "WaitingForVolumeBinding"
15+
)
16+
17+
var VM_ERROR_STATUSES = []string{
18+
VMStatusCrashLoopBackOff,
19+
VMStatusErrorUnschedulable,
20+
VMStatusErrImagePull,
21+
VMStatusImagePullBackOff,
22+
VMStatusErrorPvcNotFound,
23+
VMStatusErrorDataVolumeNotFound,
24+
VMStatusDataVolumeError,
25+
VMStatusUnknown,
26+
VMStatusWaitingForVolumeBinding,
27+
}
28+
29+
func isErrorStatus(status string) bool {
30+
return slices.Contains(VM_ERROR_STATUSES, status)
31+
}

util/util.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -224,6 +224,9 @@ func itemValueMatchesFilter(itemValue gjson.Result, key string, queryValue strin
224224
case "String":
225225
// ANY search value can match (OR logic)
226226
for _, search := range searchValues {
227+
if key == "status.printableStatus" && search == "Error" && isErrorStatus(itemValue.Str) {
228+
return true
229+
}
227230
if strings.Contains(strings.ToLower(itemValue.Str), strings.ToLower(search)) {
228231
return true
229232
}

0 commit comments

Comments
 (0)