Change regional PD cloud provider references to use the beta API

This commit is contained in:
Cheng Xing 2018-02-26 11:43:33 -08:00
parent c74c826452
commit 10cc971388
3 changed files with 30 additions and 30 deletions

View File

@ -88,8 +88,8 @@ const (
// Defaults to 5 * 2 = 10 seconds before the LB will steer traffic away // Defaults to 5 * 2 = 10 seconds before the LB will steer traffic away
gceHcUnhealthyThreshold = int64(5) gceHcUnhealthyThreshold = int64(5)
gceComputeAPIEndpoint = "https://www.googleapis.com/compute/v1/" gceComputeAPIEndpoint = "https://www.googleapis.com/compute/v1/"
gceComputeAPIEndpointAlpha = "https://www.googleapis.com/compute/alpha/" gceComputeAPIEndpointBeta = "https://www.googleapis.com/compute/beta/"
) )
// gceObject is an abstraction of all GCE API object in go client // gceObject is an abstraction of all GCE API object in go client
@ -878,10 +878,10 @@ func (manager *gceServiceManager) getProjectsAPIEndpoint() string {
return projectsApiEndpoint return projectsApiEndpoint
} }
func (manager *gceServiceManager) getProjectsAPIEndpointAlpha() string { func (manager *gceServiceManager) getProjectsAPIEndpointBeta() string {
projectsApiEndpoint := gceComputeAPIEndpointAlpha + "projects/" projectsApiEndpoint := gceComputeAPIEndpointBeta + "projects/"
if manager.gce.service != nil { if manager.gce.service != nil {
projectsApiEndpoint = manager.gce.serviceAlpha.BasePath projectsApiEndpoint = manager.gce.serviceBeta.BasePath
} }
return projectsApiEndpoint return projectsApiEndpoint

View File

@ -34,7 +34,7 @@ import (
volumeutil "k8s.io/kubernetes/pkg/volume/util" volumeutil "k8s.io/kubernetes/pkg/volume/util"
"github.com/golang/glog" "github.com/golang/glog"
computealpha "google.golang.org/api/compute/v0.alpha" computebeta "google.golang.org/api/compute/v0.beta"
compute "google.golang.org/api/compute/v1" compute "google.golang.org/api/compute/v1"
"google.golang.org/api/googleapi" "google.golang.org/api/googleapi"
utilfeature "k8s.io/apiserver/pkg/util/feature" utilfeature "k8s.io/apiserver/pkg/util/feature"
@ -123,7 +123,7 @@ func (manager *gceServiceManager) CreateDiskOnCloudProvider(
diskType string, diskType string,
zone string) (gceObject, error) { zone string) (gceObject, error) {
diskTypeURI, err := manager.getDiskTypeURI( diskTypeURI, err := manager.getDiskTypeURI(
manager.gce.region /* diskRegion */, singleZone{zone}, diskType, false /* useAlphaAPI */) manager.gce.region /* diskRegion */, singleZone{zone}, diskType, false /* useBetaAPI */)
if err != nil { if err != nil {
return nil, err return nil, err
} }
@ -147,7 +147,7 @@ func (manager *gceServiceManager) CreateRegionalDiskOnCloudProvider(
if utilfeature.DefaultFeatureGate.Enabled(features.GCERegionalPersistentDisk) { if utilfeature.DefaultFeatureGate.Enabled(features.GCERegionalPersistentDisk) {
diskTypeURI, err := manager.getDiskTypeURI( diskTypeURI, err := manager.getDiskTypeURI(
manager.gce.region /* diskRegion */, multiZone{replicaZones}, diskType, true /* useAlphaAPI */) manager.gce.region /* diskRegion */, multiZone{replicaZones}, diskType, true /* useBetaAPI */)
if err != nil { if err != nil {
return nil, err return nil, err
} }
@ -157,15 +157,15 @@ func (manager *gceServiceManager) CreateRegionalDiskOnCloudProvider(
fullyQualifiedReplicaZones, manager.getReplicaZoneURI(replicaZone, true)) fullyQualifiedReplicaZones, manager.getReplicaZoneURI(replicaZone, true))
} }
diskToCreateAlpha := &computealpha.Disk{ diskToCreateBeta := &computebeta.Disk{
Name: name, Name: name,
SizeGb: sizeGb, SizeGb: sizeGb,
Description: tagsStr, Description: tagsStr,
Type: diskTypeURI, Type: diskTypeURI,
ReplicaZones: fullyQualifiedReplicaZones, ReplicaZones: fullyQualifiedReplicaZones,
} }
return manager.gce.serviceAlpha.RegionDisks.Insert( return manager.gce.serviceBeta.RegionDisks.Insert(
manager.gce.projectID, manager.gce.region, diskToCreateAlpha).Do() manager.gce.projectID, manager.gce.region, diskToCreateBeta).Do()
} }
return nil, fmt.Errorf("the regional PD feature is only available with the %s Kubernetes feature gate enabled", features.GCERegionalPersistentDisk) return nil, fmt.Errorf("the regional PD feature is only available with the %s Kubernetes feature gate enabled", features.GCERegionalPersistentDisk)
@ -241,24 +241,24 @@ func (manager *gceServiceManager) GetRegionalDiskFromCloudProvider(
diskName string) (*GCEDisk, error) { diskName string) (*GCEDisk, error) {
if utilfeature.DefaultFeatureGate.Enabled(features.GCERegionalPersistentDisk) { if utilfeature.DefaultFeatureGate.Enabled(features.GCERegionalPersistentDisk) {
diskAlpha, err := manager.gce.serviceAlpha.RegionDisks.Get( diskBeta, err := manager.gce.serviceBeta.RegionDisks.Get(
manager.gce.projectID, manager.gce.region, diskName).Do() manager.gce.projectID, manager.gce.region, diskName).Do()
if err != nil { if err != nil {
return nil, err return nil, err
} }
zones := sets.NewString() zones := sets.NewString()
for _, zoneURI := range diskAlpha.ReplicaZones { for _, zoneURI := range diskBeta.ReplicaZones {
zones.Insert(lastComponent(zoneURI)) zones.Insert(lastComponent(zoneURI))
} }
return &GCEDisk{ return &GCEDisk{
ZoneInfo: multiZone{zones}, ZoneInfo: multiZone{zones},
Region: lastComponent(diskAlpha.Region), Region: lastComponent(diskBeta.Region),
Name: diskAlpha.Name, Name: diskBeta.Name,
Kind: diskAlpha.Kind, Kind: diskBeta.Kind,
Type: diskAlpha.Type, Type: diskBeta.Type,
SizeGb: diskAlpha.SizeGb, SizeGb: diskBeta.SizeGb,
}, nil }, nil
} }
@ -275,7 +275,7 @@ func (manager *gceServiceManager) DeleteDiskOnCloudProvider(
func (manager *gceServiceManager) DeleteRegionalDiskOnCloudProvider( func (manager *gceServiceManager) DeleteRegionalDiskOnCloudProvider(
diskName string) (gceObject, error) { diskName string) (gceObject, error) {
if utilfeature.DefaultFeatureGate.Enabled(features.GCERegionalPersistentDisk) { if utilfeature.DefaultFeatureGate.Enabled(features.GCERegionalPersistentDisk) {
return manager.gce.serviceAlpha.RegionDisks.Delete( return manager.gce.serviceBeta.RegionDisks.Delete(
manager.gce.projectID, manager.gce.region, diskName).Do() manager.gce.projectID, manager.gce.region, diskName).Do()
} }
@ -327,11 +327,11 @@ func (manager *gceServiceManager) getDiskSourceURI(disk *GCEDisk) (string, error
} }
func (manager *gceServiceManager) getDiskTypeURI( func (manager *gceServiceManager) getDiskTypeURI(
diskRegion string, diskZoneInfo zoneType, diskType string, useAlphaAPI bool) (string, error) { diskRegion string, diskZoneInfo zoneType, diskType string, useBetaAPI bool) (string, error) {
var getProjectsAPIEndpoint string var getProjectsAPIEndpoint string
if useAlphaAPI { if useBetaAPI {
getProjectsAPIEndpoint = manager.getProjectsAPIEndpointAlpha() getProjectsAPIEndpoint = manager.getProjectsAPIEndpointBeta()
} else { } else {
getProjectsAPIEndpoint = manager.getProjectsAPIEndpoint() getProjectsAPIEndpoint = manager.getProjectsAPIEndpoint()
} }
@ -363,10 +363,10 @@ func (manager *gceServiceManager) getDiskTypeURI(
} }
} }
func (manager *gceServiceManager) getReplicaZoneURI(zone string, useAlphaAPI bool) string { func (manager *gceServiceManager) getReplicaZoneURI(zone string, useBetaAPI bool) string {
var getProjectsAPIEndpoint string var getProjectsAPIEndpoint string
if useAlphaAPI { if useBetaAPI {
getProjectsAPIEndpoint = manager.getProjectsAPIEndpointAlpha() getProjectsAPIEndpoint = manager.getProjectsAPIEndpointBeta()
} else { } else {
getProjectsAPIEndpoint = manager.getProjectsAPIEndpoint() getProjectsAPIEndpoint = manager.getProjectsAPIEndpoint()
} }
@ -420,10 +420,10 @@ func (manager *gceServiceManager) ResizeDiskOnCloudProvider(disk *GCEDisk, sizeG
func (manager *gceServiceManager) RegionalResizeDiskOnCloudProvider(disk *GCEDisk, sizeGb int64) (gceObject, error) { func (manager *gceServiceManager) RegionalResizeDiskOnCloudProvider(disk *GCEDisk, sizeGb int64) (gceObject, error) {
if utilfeature.DefaultFeatureGate.Enabled(features.GCERegionalPersistentDisk) { if utilfeature.DefaultFeatureGate.Enabled(features.GCERegionalPersistentDisk) {
resizeServiceRequest := &computealpha.RegionDisksResizeRequest{ resizeServiceRequest := &computebeta.RegionDisksResizeRequest{
SizeGb: sizeGb, SizeGb: sizeGb,
} }
return manager.gce.serviceAlpha.RegionDisks.Resize(manager.gce.projectID, disk.Region, disk.Name, resizeServiceRequest).Do() return manager.gce.serviceBeta.RegionDisks.Resize(manager.gce.projectID, disk.Region, disk.Name, resizeServiceRequest).Do()
} }
return nil, fmt.Errorf("the regional PD feature is only available with the %s Kubernetes feature gate enabled", features.GCERegionalPersistentDisk) return nil, fmt.Errorf("the regional PD feature is only available with the %s Kubernetes feature gate enabled", features.GCERegionalPersistentDisk)
} }

View File

@ -116,7 +116,7 @@ func TestCreateRegionalDisk_Basic(t *testing.T) {
tags := make(map[string]string) tags := make(map[string]string)
tags["test-tag"] = "test-value" tags["test-tag"] = "test-value"
expectedDiskTypeURI := gceComputeAPIEndpointAlpha + "projects/" + fmt.Sprintf( expectedDiskTypeURI := gceComputeAPIEndpointBeta + "projects/" + fmt.Sprintf(
diskTypeURITemplateRegional, gceProjectId, gceRegion, diskType) diskTypeURITemplateRegional, gceProjectId, gceRegion, diskType)
expectedDescription := "{\"test-tag\":\"test-value\"}" expectedDescription := "{\"test-tag\":\"test-value\"}"
@ -753,7 +753,7 @@ func (manager *FakeServiceManager) CreateDiskOnCloudProvider(
return manager.opBeta, nil return manager.opBeta, nil
case targetAlpha: case targetAlpha:
manager.opAlpha = &computealpha.Operation{} manager.opAlpha = &computealpha.Operation{}
diskTypeURI := gceComputeAPIEndpointAlpha + "projects/" + fmt.Sprintf(diskTypeURITemplateSingleZone, manager.gceProjectID, zone, diskType) diskTypeURI := gceComputeAPIEndpointBeta + "projects/" + fmt.Sprintf(diskTypeURITemplateSingleZone, manager.gceProjectID, zone, diskType)
diskToCreateAlpha := &computealpha.Disk{ diskToCreateAlpha := &computealpha.Disk{
Name: name, Name: name,
SizeGb: sizeGb, SizeGb: sizeGb,
@ -779,7 +779,7 @@ func (manager *FakeServiceManager) CreateRegionalDiskOnCloudProvider(
diskType string, diskType string,
zones sets.String) (gceObject, error) { zones sets.String) (gceObject, error) {
manager.createDiskCalled = true manager.createDiskCalled = true
diskTypeURI := gceComputeAPIEndpointAlpha + "projects/" + fmt.Sprintf(diskTypeURITemplateRegional, manager.gceProjectID, manager.gceRegion, diskType) diskTypeURI := gceComputeAPIEndpointBeta + "projects/" + fmt.Sprintf(diskTypeURITemplateRegional, manager.gceProjectID, manager.gceRegion, diskType)
switch t := manager.targetAPI; t { switch t := manager.targetAPI; t {
case targetStable: case targetStable: