github.com/apprenda/kismatic@v1.12.0/integration-tests/labels.go (about) 1 package integration_tests 2 3 import ( 4 "fmt" 5 "time" 6 ) 7 8 func containsLabels(nodes provisionedNodes, sshKey string) error { 9 // labels were hardcoded in th plan pattern 10 tests := []struct { 11 nodes []NodeDeets 12 label string 13 }{ 14 { 15 nodes: nodes.master, 16 label: "com.integrationtest/master:true", 17 }, 18 { 19 nodes: nodes.worker, 20 label: "com.integrationtest/worker:true", 21 }, 22 { 23 nodes: nodes.ingress, 24 label: "com.integrationtest/ingress:true", 25 }, 26 { 27 nodes: nodes.storage, 28 label: "com.integrationtest/storage:true", 29 }, 30 } 31 for _, role := range tests { 32 for _, n := range role.nodes { 33 if err := runViaSSH([]string{fmt.Sprintf("sudo kubectl --kubeconfig /root/.kube/config get nodes %s -o jsonpath='{.metadata.labels}' | grep %q", n.Hostname, role.label)}, []NodeDeets{nodes.master[0]}, sshKey, 1*time.Minute); err != nil { 34 return fmt.Errorf("error validating node %q label: %v", n.Hostname, err) 35 } 36 } 37 } 38 39 return nil 40 }