@@ -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
784789func (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