Do GCE Secret setup in driver creation instead of skip test

pull/564/head
David Zhu 2018-11-29 10:50:55 -08:00
parent 6be4f1bbf3
commit 67a40cd3cc
2 changed files with 7 additions and 9 deletions

View File

@ -38,7 +38,6 @@ package drivers
import (
"fmt"
"math/rand"
"time"
. "github.com/onsi/ginkgo"
storagev1 "k8s.io/api/storage/v1"
@ -256,14 +255,8 @@ func (g *gcePDCSIDriver) GetDriverInfo() *DriverInfo {
func (g *gcePDCSIDriver) SkipUnsupportedTest(pattern testpatterns.TestPattern) {
f := g.driverInfo.Framework
cs := f.ClientSet
config := g.driverInfo.Config
framework.SkipUnlessProviderIs("gce", "gke")
framework.SkipIfMultizone(cs)
// TODO(#62561): Use credentials through external pod identity when that goes GA instead of downloading keys.
createGCESecrets(cs, config)
framework.SkipUnlessSecretExistsAfterWait(cs, "cloud-sa", config.Namespace, 3*time.Minute)
framework.SkipIfMultizone(f.ClientSet)
}
func (g *gcePDCSIDriver) GetDynamicProvisionStorageClass(fsType string) *storagev1.StorageClass {
@ -290,6 +283,8 @@ func (g *gcePDCSIDriver) CreateDriver() {
// DriverContainerName: "gce-driver",
// ProvisionerContainerName: "csi-external-provisioner",
// }
createGCESecrets(g.driverInfo.Framework.ClientSet, g.driverInfo.Config)
cleanup, err := g.driverInfo.Framework.CreateFromManifests(nil,
"test/e2e/testing-manifests/storage-csi/driver-registrar/rbac.yaml",
"test/e2e/testing-manifests/storage-csi/external-attacher/rbac.yaml",

View File

@ -28,6 +28,7 @@ import (
"path/filepath"
"k8s.io/api/core/v1"
apierrors "k8s.io/apimachinery/pkg/api/errors"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/util/uuid"
@ -115,5 +116,7 @@ func createGCESecrets(client clientset.Interface, config framework.VolumeTestCon
}
_, err = client.CoreV1().Secrets(config.Namespace).Create(s)
if !apierrors.IsAlreadyExists(err) {
framework.ExpectNoError(err, "Failed to create Secret %v", s.GetName())
}
}