@@ -25,27 +25,29 @@ import (
2525
2626 "k8s.io/apimachinery/pkg/util/uuid"
2727 apimachineryversion "k8s.io/apimachinery/pkg/util/version"
28+ _ "k8s.io/client-go/plugin/pkg/client/auth/gcp"
2829 "k8s.io/klog"
2930 testutils "sigs.k8s.io/gcp-compute-persistent-disk-csi-driver/test/e2e/utils"
3031)
3132
3233var (
3334 // Kubernetes cluster flags
34- teardownCluster = flag .Bool ("teardown-cluster" , true , "teardown the cluster after the e2e test" )
35- teardownDriver = flag .Bool ("teardown-driver" , true , "teardown the driver after the e2e test" )
36- bringupCluster = flag .Bool ("bringup-cluster" , true , "build kubernetes and bringup a cluster" )
37- platform = flag .String ("platform" , "linux" , "platform that the tests will be run, either linux or windows" )
38- gceZone = flag .String ("gce-zone" , "" , "zone that the gce k8s cluster is created/found in" )
39- gceRegion = flag .String ("gce-region" , "" , "region that gke regional cluster should be created in" )
40- kubeVersion = flag .String ("kube-version" , "" , "version of Kubernetes to download and use for the cluster" )
41- testVersion = flag .String ("test-version" , "" , "version of Kubernetes to download and use for tests" )
42- kubeFeatureGates = flag .String ("kube-feature-gates" , "" , "feature gates to set on new kubernetes cluster" )
43- localK8sDir = flag .String ("local-k8s-dir" , "" , "local prebuilt kubernetes/kubernetes directory to use for cluster and test binaries" )
44- deploymentStrat = flag .String ("deployment-strategy" , "gce" , "choose between deploying on gce or gke" )
45- gkeClusterVer = flag .String ("gke-cluster-version" , "" , "version of Kubernetes master and node for gke" )
46- numNodes = flag .Int ("num-nodes" , - 1 , "the number of nodes in the test cluster" )
47- imageType = flag .String ("image-type" , "cos" , "the image type to use for the cluster" )
48- gkeReleaseChannel = flag .String ("gke-release-channel" , "" , "GKE release channel to be used for cluster deploy. One of 'rapid', 'stable' or 'regular'" )
35+ teardownCluster = flag .Bool ("teardown-cluster" , true , "teardown the cluster after the e2e test" )
36+ teardownDriver = flag .Bool ("teardown-driver" , true , "teardown the driver after the e2e test" )
37+ bringupCluster = flag .Bool ("bringup-cluster" , true , "build kubernetes and bringup a cluster" )
38+ platform = flag .String ("platform" , "linux" , "platform that the tests will be run, either linux or windows" )
39+ gceZone = flag .String ("gce-zone" , "" , "zone that the gce k8s cluster is created/found in" )
40+ gceRegion = flag .String ("gce-region" , "" , "region that gke regional cluster should be created in" )
41+ kubeVersion = flag .String ("kube-version" , "" , "version of Kubernetes to download and use for the cluster" )
42+ testVersion = flag .String ("test-version" , "" , "version of Kubernetes to download and use for tests" )
43+ kubeFeatureGates = flag .String ("kube-feature-gates" , "" , "feature gates to set on new kubernetes cluster" )
44+ localK8sDir = flag .String ("local-k8s-dir" , "" , "local prebuilt kubernetes/kubernetes directory to use for cluster and test binaries" )
45+ deploymentStrat = flag .String ("deployment-strategy" , "gce" , "choose between deploying on gce or gke" )
46+ gkeClusterVer = flag .String ("gke-cluster-version" , "" , "version of Kubernetes master and node for gke" )
47+ numNodes = flag .Int ("num-nodes" , - 1 , "the number of nodes in the test cluster" )
48+ imageType = flag .String ("image-type" , "cos" , "the image type to use for the cluster" )
49+ gkeReleaseChannel = flag .String ("gke-release-channel" , "" , "GKE release channel to be used for cluster deploy. One of 'rapid', 'stable' or 'regular'" )
50+ gkeTestClusterName = flag .String ("gke-cluster-name" , "gcp-pd-csi-driver-test-cluster" , "GKE cluster name" )
4951
5052 // Test infrastructure flags
5153 boskosResourceType = flag .String ("boskos-resource-type" , "gce-project" , "name of the boskos resource type to reserve" )
@@ -69,7 +71,7 @@ const (
6971 pdImagePlaceholder = "gke.gcr.io/gcp-compute-persistent-disk-csi-driver"
7072 k8sInDockerBuildBinDir = "_output/dockerized/bin/linux/amd64"
7173 k8sOutOfDockerBuildBinDir = "_output/bin"
72- gkeTestClusterName = "gcp -pd-csi-driver-test-cluster "
74+ driverNamespace = "gce -pd-csi-driver"
7375)
7476
7577func init () {
@@ -79,7 +81,7 @@ func init() {
7981func main () {
8082 flag .Parse ()
8183
82- if ! * inProw && ! * useGKEManagedDriver {
84+ if ! * inProw && * doDriverBuild {
8385 ensureVariable (stagingImage , true , "staging-image is a required flag, please specify the name of image to stage to" )
8486 }
8587
@@ -302,7 +304,6 @@ func handle() error {
302304 err := installDriver (goPath , pkgDir , * stagingImage , stagingVersion , * deployOverlayName , * doDriverBuild )
303305 if * teardownDriver {
304306 defer func () {
305- // TODO (#140): collect driver logs
306307 if teardownErr := deleteDriver (goPath , pkgDir , * deployOverlayName ); teardownErr != nil {
307308 klog .Errorf ("failed to delete driver: %v" , teardownErr )
308309 }
@@ -311,6 +312,17 @@ func handle() error {
311312 if err != nil {
312313 return fmt .Errorf ("failed to install CSI Driver: %v" , err )
313314 }
315+
316+ // Dump all driver logs to the test artifacts
317+ cancel , err := dumpDriverLogs ()
318+ if err != nil {
319+ return fmt .Errorf ("failed to start driver logging: %v" , err )
320+ }
321+ defer func () {
322+ if cancel != nil {
323+ cancel ()
324+ }
325+ }()
314326 }
315327
316328 var cloudProviderArgs []string
@@ -423,8 +435,11 @@ func runTestsWithConfig(testDir, testFocus, testSkip, testConfigArg string, clou
423435 return err
424436 }
425437
426- homeDir , _ := os .LookupEnv ("HOME" )
427- os .Setenv ("KUBECONFIG" , filepath .Join (homeDir , ".kube/config" ))
438+ kubeconfig , err := getKubeConfig ()
439+ if err != nil {
440+ return err
441+ }
442+ os .Setenv ("KUBECONFIG" , kubeconfig )
428443
429444 artifactsDir , ok := os .LookupEnv ("ARTIFACTS" )
430445 reportArg := ""
0 commit comments