Skip to content

Commit 3e61007

Browse files
committed
Added default firewall rule check and creation logic
1 parent bb3d6da commit 3e61007

File tree

1 file changed

+23
-1
lines changed

1 file changed

+23
-1
lines changed

test/remote/run_remote/run_remote.go

+23-1
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,8 @@ func init() {
7878
}
7979

8080
const (
81-
defaultMachine = "n1-standard-1"
81+
defaultMachine = "n1-standard-1"
82+
defaultFirewallRule = "default-allow-ssh"
8283
)
8384

8485
var (
@@ -333,6 +334,27 @@ func createInstance(serviceAccount string) (string, error) {
333334

334335
name := "gce-pd-csi-e2e"
335336
myuuid := string(uuid.NewUUID())
337+
338+
// Create default filewall rule if it does not exist
339+
if _, err = computeService.Firewalls.Get(*project, defaultFirewallRule).Do(); err != nil {
340+
glog.Infof("Default firewall rule %v does not exist, creating", defaultFirewallRule)
341+
f := &compute.Firewall{
342+
Name: defaultFirewallRule,
343+
Allowed: []*compute.FirewallAllowed{
344+
&compute.FirewallAllowed{
345+
IPProtocol: "tcp",
346+
Ports: []string{"22"},
347+
},
348+
},
349+
}
350+
_, err = computeService.Firewalls.Insert(*project, f).Do()
351+
if err != nil {
352+
return "", fmt.Errorf("Failed to insert required default SSH Firewall Rule %v: %v", defaultFirewallRule, err)
353+
}
354+
} else {
355+
glog.Infof("Default firewall rule %v already exists, skipping creation", defaultFirewallRule)
356+
}
357+
336358
glog.V(4).Infof("Creating instance: %v", name)
337359

338360
// TODO: Pick a better boot disk image

0 commit comments

Comments
 (0)