1
0
Fork 0
mirror of https://github.com/kubernetes-sigs/node-feature-discovery.git synced 2025-03-30 19:54:46 +00:00

Merge pull request #340 from marquiz/devel/e2e

test/e2e: interpret node names in config as regexps
This commit is contained in:
Kubernetes Prow Robot 2020-11-19 13:32:51 -08:00 committed by GitHub
commit e850dfce5e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 20 additions and 4 deletions

View file

@ -60,7 +60,8 @@ defaultFeatures:
- "nfd.node.kubernetes.io/worker.version" - "nfd.node.kubernetes.io/worker.version"
- "nfd.node.kubernetes.io/feature-labels" - "nfd.node.kubernetes.io/feature-labels"
nodes: nodes:
my-node-1: # NOTE: keys here are interpreted as regexps
my-node-regexp-1:
expectedLabelValues: expectedLabelValues:
"feature.node.kubernetes.io/cpu-cpuid.ADX": "true" "feature.node.kubernetes.io/cpu-cpuid.ADX": "true"
"feature.node.kubernetes.io/cpu-cpuid.AESNI": "true" "feature.node.kubernetes.io/cpu-cpuid.AESNI": "true"

View file

@ -21,6 +21,7 @@ import (
"flag" "flag"
"fmt" "fmt"
"io/ioutil" "io/ioutil"
"regexp"
"strings" "strings"
"time" "time"
@ -59,6 +60,7 @@ type e2eConfig struct {
} }
type nodeConfig struct { type nodeConfig struct {
nameRe *regexp.Regexp
ExpectedLabelValues map[string]string ExpectedLabelValues map[string]string
ExpectedLabelKeys lookupMap ExpectedLabelKeys lookupMap
ExpectedAnnotationValues map[string]string ExpectedAnnotationValues map[string]string
@ -95,6 +97,13 @@ func readConfig() {
ginkgo.By("Parsing end-to-end test configuration data") ginkgo.By("Parsing end-to-end test configuration data")
err = yaml.Unmarshal(data, &conf) err = yaml.Unmarshal(data, &conf)
gomega.Expect(err).NotTo(gomega.HaveOccurred()) gomega.Expect(err).NotTo(gomega.HaveOccurred())
// Pre-compile node name matching regexps
for name, nodeConf := range conf.DefaultFeatures.Nodes {
nodeConf.nameRe, err = regexp.Compile(name)
gomega.Expect(err).NotTo(gomega.HaveOccurred())
conf.DefaultFeatures.Nodes[name] = nodeConf
}
} }
// Create required RBAC configuration // Create required RBAC configuration
@ -521,11 +530,17 @@ var _ = framework.KubeDescribe("[NFD] Node Feature Discovery", func() {
gomega.Expect(err).NotTo(gomega.HaveOccurred()) gomega.Expect(err).NotTo(gomega.HaveOccurred())
for _, node := range nodeList.Items { for _, node := range nodeList.Items {
if _, ok := fConf.Nodes[node.Name]; !ok { var nodeConf *nodeConfig
e2elog.Logf("node %q missing from e2e-config, skipping...", node.Name) for _, conf := range fConf.Nodes {
if conf.nameRe.MatchString(node.Name) {
e2elog.Logf("node %q matches rule %q", node.Name, conf.nameRe)
nodeConf = &conf
}
}
if nodeConf == nil {
e2elog.Logf("node %q has no matching rule in e2e-config, skipping...", node.Name)
continue continue
} }
nodeConf := fConf.Nodes[node.Name]
// Check labels // Check labels
e2elog.Logf("verifying labels of node %q...", node.Name) e2elog.Logf("verifying labels of node %q...", node.Name)