mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-25 04:33:26 +00:00
Change regional PD cloud provider references to use the beta API
This commit is contained in:
parent
c74c826452
commit
10cc971388
@ -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
|
||||||
|
@ -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)
|
||||||
}
|
}
|
||||||
|
@ -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:
|
||||||
|
Loading…
Reference in New Issue
Block a user