@@ -25,27 +25,29 @@ import (
25
25
26
26
"k8s.io/apimachinery/pkg/util/uuid"
27
27
apimachineryversion "k8s.io/apimachinery/pkg/util/version"
28
+ _ "k8s.io/client-go/plugin/pkg/client/auth/gcp"
28
29
"k8s.io/klog"
29
30
testutils "sigs.k8s.io/gcp-compute-persistent-disk-csi-driver/test/e2e/utils"
30
31
)
31
32
32
33
var (
33
34
// 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" )
49
51
50
52
// Test infrastructure flags
51
53
boskosResourceType = flag .String ("boskos-resource-type" , "gce-project" , "name of the boskos resource type to reserve" )
@@ -69,7 +71,7 @@ const (
69
71
pdImagePlaceholder = "gke.gcr.io/gcp-compute-persistent-disk-csi-driver"
70
72
k8sInDockerBuildBinDir = "_output/dockerized/bin/linux/amd64"
71
73
k8sOutOfDockerBuildBinDir = "_output/bin"
72
- gkeTestClusterName = "gcp -pd-csi-driver-test-cluster "
74
+ driverNamespace = "gce -pd-csi-driver"
73
75
)
74
76
75
77
func init () {
@@ -79,7 +81,7 @@ func init() {
79
81
func main () {
80
82
flag .Parse ()
81
83
82
- if ! * inProw && ! * useGKEManagedDriver {
84
+ if ! * inProw && * doDriverBuild {
83
85
ensureVariable (stagingImage , true , "staging-image is a required flag, please specify the name of image to stage to" )
84
86
}
85
87
@@ -302,7 +304,6 @@ func handle() error {
302
304
err := installDriver (goPath , pkgDir , * stagingImage , stagingVersion , * deployOverlayName , * doDriverBuild )
303
305
if * teardownDriver {
304
306
defer func () {
305
- // TODO (#140): collect driver logs
306
307
if teardownErr := deleteDriver (goPath , pkgDir , * deployOverlayName ); teardownErr != nil {
307
308
klog .Errorf ("failed to delete driver: %v" , teardownErr )
308
309
}
@@ -311,6 +312,17 @@ func handle() error {
311
312
if err != nil {
312
313
return fmt .Errorf ("failed to install CSI Driver: %v" , err )
313
314
}
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
+ }()
314
326
}
315
327
316
328
var cloudProviderArgs []string
@@ -423,8 +435,11 @@ func runTestsWithConfig(testDir, testFocus, testSkip, testConfigArg string, clou
423
435
return err
424
436
}
425
437
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 )
428
443
429
444
artifactsDir , ok := os .LookupEnv ("ARTIFACTS" )
430
445
reportArg := ""
0 commit comments