Commit 64955959 authored by Jing Xu's avatar Jing Xu

Enable NFSv4 and GlusterFS tests on cluster e2e tests

Enable NFSv4 and GlusterFS tests on cluster e2e tests for GCI images only.
parent 28d273c8
...@@ -353,7 +353,7 @@ var _ = framework.KubeDescribe("GCP Volumes", func() { ...@@ -353,7 +353,7 @@ var _ = framework.KubeDescribe("GCP Volumes", func() {
var namespace *api.Namespace var namespace *api.Namespace
BeforeEach(func() { BeforeEach(func() {
if !isTestEnabled() { if !isTestEnabled(f.ClientSet) {
framework.Skipf("NFS tests are not supported for this distro") framework.Skipf("NFS tests are not supported for this distro")
} }
namespace = f.Namespace namespace = f.Namespace
...@@ -468,24 +468,32 @@ var _ = framework.KubeDescribe("GCP Volumes", func() { ...@@ -468,24 +468,32 @@ var _ = framework.KubeDescribe("GCP Volumes", func() {
}) })
}) })
func isTestEnabled() bool { func isTestEnabled(c clientset.Interface) bool {
// TODO(timstclair): Pass this through the image setup rather than hardcoding. // Enable the test If the node image is GCI. (this check only works for node e2e test)
if strings.Contains(framework.TestContext.NodeName, "-gci-dev-") { nodeName := framework.TestContext.NodeName
gciVersionRe := regexp.MustCompile("-gci-dev-([0-9]+)-") if nodeName != "" {
matches := gciVersionRe.FindStringSubmatch(framework.TestContext.NodeName) if strings.Contains(nodeName, "-gci-dev-") {
if len(matches) == 2 { gciVersionRe := regexp.MustCompile("-gci-dev-([0-9]+)-")
version, err := strconv.Atoi(matches[1]) matches := gciVersionRe.FindStringSubmatch(framework.TestContext.NodeName)
if err != nil { if len(matches) == 2 {
glog.Errorf("Error parsing GCI version from NodeName %q: %v", framework.TestContext.NodeName, err) version, err := strconv.Atoi(matches[1])
return false if err != nil {
glog.Errorf("Error parsing GCI version from NodeName %q: %v", nodeName, err)
return false
}
return version >= 54
} }
return version >= 54
} }
return false return false
} }
// Disable tests for containvm
if strings.Contains(framework.TestContext.NodeName, "-containervm-") { // For cluster e2e test, because nodeName is empty, retrieve the node objects from api server
//return true // and check their images. Only run NFSv4 and GlusterFS if nodes are using GCI image for now.
nodes := framework.GetReadySchedulableNodesOrDie(c)
for _, node := range nodes.Items {
if !strings.Contains(node.Status.NodeInfo.OSImage, "Google Container-VM") {
return false
}
} }
return false return true
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment