Add new driver config for testing PD CSI driver out of tree

pull/58/head
Michelle Au 2018-10-25 11:08:45 -07:00
parent b6fd5d93b2
commit 9acb8bca6d
1 changed files with 32 additions and 4 deletions

View File

@ -22,7 +22,6 @@ import (
"time" "time"
"k8s.io/api/core/v1" "k8s.io/api/core/v1"
storagev1 "k8s.io/api/storage/v1" storagev1 "k8s.io/api/storage/v1"
apiextensionsclient "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset" apiextensionsclient "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset"
"k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/api/errors"
@ -56,6 +55,8 @@ type csiTestDriver interface {
var csiTestDrivers = map[string]func(f *framework.Framework, config framework.VolumeTestConfig) csiTestDriver{ var csiTestDrivers = map[string]func(f *framework.Framework, config framework.VolumeTestConfig) csiTestDriver{
"hostPath": initCSIHostpath, "hostPath": initCSIHostpath,
"gcePD": initCSIgcePD, "gcePD": initCSIgcePD,
// TODO(#70258): this is temporary until we can figure out how to make e2e tests a library
"[Feature: gcePD-external]": initCSIgcePDExternal,
} }
var _ = utils.SIGDescribe("CSI Volumes", func() { var _ = utils.SIGDescribe("CSI Volumes", func() {
@ -78,8 +79,9 @@ var _ = utils.SIGDescribe("CSI Volumes", func() {
nodes := framework.GetReadySchedulableNodesOrDie(f.ClientSet) nodes := framework.GetReadySchedulableNodesOrDie(f.ClientSet)
node = nodes.Items[rand.Intn(len(nodes.Items))] node = nodes.Items[rand.Intn(len(nodes.Items))]
config = framework.VolumeTestConfig{ config = framework.VolumeTestConfig{
Namespace: ns.Name, Namespace: ns.Name,
Prefix: "csi", Prefix: "csi",
// TODO(#70259): this needs to be parameterized so only hostpath sets node name
ClientNodeName: node.Name, ClientNodeName: node.Name,
ServerNodeName: node.Name, ServerNodeName: node.Name,
WaitForCompletion: true, WaitForCompletion: true,
@ -387,7 +389,6 @@ func (g *gcePDCSIDriver) createStorageClassTest(node v1.Node) testsuites.Storage
Parameters: map[string]string{"type": "pd-standard"}, Parameters: map[string]string{"type": "pd-standard"},
ClaimSize: "5Gi", ClaimSize: "5Gi",
ExpectedSize: "5Gi", ExpectedSize: "5Gi",
NodeName: node.Name,
} }
} }
@ -422,3 +423,30 @@ func (g *gcePDCSIDriver) cleanupCSIDriver() {
csiServiceAccount(cs, config, "gce-controller", true /* teardown */) csiServiceAccount(cs, config, "gce-controller", true /* teardown */)
csiServiceAccount(cs, config, "gce-node", true /* teardown */) csiServiceAccount(cs, config, "gce-node", true /* teardown */)
} }
type gcePDCSIDriverExternal struct {
}
func initCSIgcePDExternal(f *framework.Framework, config framework.VolumeTestConfig) csiTestDriver {
cs := f.ClientSet
framework.SkipUnlessProviderIs("gce", "gke")
framework.SkipIfMultizone(cs)
return &gcePDCSIDriverExternal{}
}
func (g *gcePDCSIDriverExternal) createStorageClassTest(node v1.Node) testsuites.StorageClassTest {
return testsuites.StorageClassTest{
Name: "com.google.csi.gcepd",
Provisioner: "com.google.csi.gcepd",
Parameters: map[string]string{"type": "pd-standard"},
ClaimSize: "5Gi",
ExpectedSize: "5Gi",
}
}
func (g *gcePDCSIDriverExternal) createCSIDriver() {
}
func (g *gcePDCSIDriverExternal) cleanupCSIDriver() {
}