Merge pull request #36848 from jingxu97/Nov/gluster

Automatic merge from submit-queue

Enable NFSv4 and GlusterFS tests on cluster e2e tests

Enable NFSv4 and GlusterFS tests on cluster e2e tests for GCI images
only.
This commit is contained in:
Kubernetes Submit Queue 2016-11-16 14:19:24 -08:00 committed by GitHub
commit 92b40dc2f5

View File

@ -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() {
}) })
}) })
func isTestEnabled() bool { func isTestEnabled(c clientset.Interface) bool {
// TODO(timstclair): Pass this through the image setup rather than hardcoding. // Enable the test on node e2e if the node image is GCI.
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
} }