fix: label filter logic

Signed-off-by: hongming <talonwan@yunify.com>
This commit is contained in:
hongming
2020-06-17 12:37:19 +08:00
parent 692271bb56
commit 01944c05ee
3 changed files with 91 additions and 9 deletions

View File

@@ -144,22 +144,20 @@ func labelMatch(labels map[string]string, filter string) bool {
}
value = fields[1]
} else {
value = fields[0]
key = fields[0]
value = "*"
}
for k, v := range labels {
if opposite {
if (key == "" || k == key) && v != value {
if (k == key) && v != value {
return true
}
} else {
if (key == "" || k == key) && v == value {
if (k == key) && (value == "*" || v == value) {
return true
}
}
}
if opposite && labels[key] == "" {
return true
}
return false
}