Skip to content

Commit cd3c3fe

Browse files
committed
Merge pull request kubernetes#12373 from cjcullen/network
Use full URLs for GCE networks
2 parents 33178dc + 5882c35 commit cd3c3fe

File tree

1 file changed

+13
-8
lines changed

1 file changed

+13
-8
lines changed

pkg/cloudprovider/gce/gce.go

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ type GCECloud struct {
5959
zone string
6060
instanceID string
6161
externalID string
62-
networkName string
62+
networkURL string
6363

6464
// Used for accessing the metadata server
6565
metadataAccess func(string) (string, error)
@@ -166,6 +166,7 @@ func newGCECloud(config io.Reader) (*GCECloud, error) {
166166
if err != nil {
167167
return nil, err
168168
}
169+
networkURL := gceNetworkURL(projectID, networkName)
169170
tokenSource := google.ComputeTokenSource("")
170171
if config != nil {
171172
var cfg Config
@@ -177,7 +178,11 @@ func newGCECloud(config io.Reader) (*GCECloud, error) {
177178
projectID = cfg.Global.ProjectID
178179
}
179180
if cfg.Global.NetworkName != "" {
180-
networkName = cfg.Global.NetworkName
181+
if strings.Contains(cfg.Global.NetworkName, "/") {
182+
networkURL = cfg.Global.NetworkName
183+
} else {
184+
networkURL = gceNetworkURL(cfg.Global.ProjectID, cfg.Global.NetworkName)
185+
}
181186
}
182187
if cfg.Global.TokenURL != "" {
183188
tokenSource = newAltTokenSource(cfg.Global.TokenURL)
@@ -199,7 +204,7 @@ func newGCECloud(config io.Reader) (*GCECloud, error) {
199204
zone: zone,
200205
instanceID: instanceID,
201206
externalID: externalID,
202-
networkName: networkName,
207+
networkURL: networkURL,
203208
metadataAccess: getMetadata,
204209
}, nil
205210
}
@@ -426,7 +431,7 @@ func (gce *GCECloud) CreateTCPLoadBalancer(name, region string, externalIP net.I
426431
firewall := &compute.Firewall{
427432
Name: makeFirewallName(name),
428433
Description: fmt.Sprintf("KubernetesAutoGenerated_OnlyAllowTrafficForDestinationIP_%s", fwd.IPAddress),
429-
Network: gce.gceNetworkName(),
434+
Network: gce.networkURL,
430435
SourceRanges: []string{"0.0.0.0/0"},
431436
TargetTags: []string{hostTag},
432437
Allowed: []*compute.FirewallAllowed{
@@ -759,7 +764,7 @@ func (gce *GCECloud) ListRoutes(clusterName string) ([]*cloudprovider.Route, err
759764
}
760765
var routes []*cloudprovider.Route
761766
for _, r := range res.Items {
762-
if path.Base(r.Network) != gce.networkName {
767+
if r.Network != gce.networkURL {
763768
continue
764769
}
765770
// Not managed if route description != "k8s-node-route"
@@ -777,8 +782,8 @@ func (gce *GCECloud) ListRoutes(clusterName string) ([]*cloudprovider.Route, err
777782
return routes, nil
778783
}
779784

780-
func (gce *GCECloud) gceNetworkName() string {
781-
return fmt.Sprintf("global/networks/%s", gce.networkName)
785+
func gceNetworkURL(project, network string) string {
786+
return fmt.Sprintf("https://www.googleapis.com/compute/v1/projects/%s/global/networks/%s", project, network)
782787
}
783788

784789
func (gce *GCECloud) CreateRoute(clusterName string, nameHint string, route *cloudprovider.Route) error {
@@ -789,7 +794,7 @@ func (gce *GCECloud) CreateRoute(clusterName string, nameHint string, route *clo
789794
Name: routeName,
790795
DestRange: route.DestinationCIDR,
791796
NextHopInstance: fmt.Sprintf("zones/%s/instances/%s", gce.zone, instanceName),
792-
Network: gce.gceNetworkName(),
797+
Network: gce.networkURL,
793798
Priority: 1000,
794799
Description: k8sNodeRouteTag,
795800
}).Do()

0 commit comments

Comments
 (0)