@@ -558,7 +558,13 @@ func testImage(imageConfig *internalGCEImage, junitFilePrefix string) *TestResul
558
558
559
559
// Provision a gce instance using image
560
560
func createInstance (imageConfig * internalGCEImage ) (string , error ) {
561
- klog .V (1 ).Infof ("Creating instance %+v" , * imageConfig )
561
+ p , err := computeService .Projects .Get (* project ).Do ()
562
+ if err != nil {
563
+ return "" , fmt .Errorf ("failed to get project info %q" , * project )
564
+ }
565
+ // Use default service account
566
+ serviceAccount := p .DefaultServiceAccount
567
+ klog .V (1 ).Infof ("Creating instance %+v with service account %q" , * imageConfig , serviceAccount )
562
568
name := imageToInstanceName (imageConfig )
563
569
i := & compute.Instance {
564
570
Name : name ,
@@ -583,6 +589,14 @@ func createInstance(imageConfig *internalGCEImage) (string, error) {
583
589
},
584
590
},
585
591
},
592
+ ServiceAccounts : []* compute.ServiceAccount {
593
+ {
594
+ Email : serviceAccount ,
595
+ Scopes : []string {
596
+ "https://www.googleapis.com/auth/cloud-platform" ,
597
+ },
598
+ },
599
+ },
586
600
}
587
601
588
602
for _ , accelerator := range imageConfig .resources .Accelerators {
@@ -602,7 +616,6 @@ func createInstance(imageConfig *internalGCEImage) (string, error) {
602
616
i .GuestAccelerators = append (i .GuestAccelerators , ac )
603
617
}
604
618
605
- var err error
606
619
i .Metadata = imageConfig .metadata
607
620
if _ , err := computeService .Instances .Get (* project , * zone , i .Name ).Do (); err != nil {
608
621
op , err := computeService .Instances .Insert (* project , * zone , i ).Do ()
0 commit comments