mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-11-04 04:08:16 +00:00 
			
		
		
		
	move GCERegionalPersistentDisk feature to k8s.io/cloud-provider
This commit is contained in:
		@@ -47,7 +47,6 @@ go_library(
 | 
				
			|||||||
    importpath = "k8s.io/kubernetes/pkg/cloudprovider/providers/gce",
 | 
					    importpath = "k8s.io/kubernetes/pkg/cloudprovider/providers/gce",
 | 
				
			||||||
    deps = [
 | 
					    deps = [
 | 
				
			||||||
        "//pkg/api/v1/service:go_default_library",
 | 
					        "//pkg/api/v1/service:go_default_library",
 | 
				
			||||||
        "//pkg/features:go_default_library",
 | 
					 | 
				
			||||||
        "//pkg/kubelet/apis:go_default_library",
 | 
					        "//pkg/kubelet/apis:go_default_library",
 | 
				
			||||||
        "//pkg/master/ports:go_default_library",
 | 
					        "//pkg/master/ports:go_default_library",
 | 
				
			||||||
        "//pkg/util/net/sets:go_default_library",
 | 
					        "//pkg/util/net/sets:go_default_library",
 | 
				
			||||||
@@ -74,6 +73,7 @@ go_library(
 | 
				
			|||||||
        "//staging/src/k8s.io/client-go/tools/record:go_default_library",
 | 
					        "//staging/src/k8s.io/client-go/tools/record:go_default_library",
 | 
				
			||||||
        "//staging/src/k8s.io/client-go/util/flowcontrol:go_default_library",
 | 
					        "//staging/src/k8s.io/client-go/util/flowcontrol:go_default_library",
 | 
				
			||||||
        "//staging/src/k8s.io/cloud-provider:go_default_library",
 | 
					        "//staging/src/k8s.io/cloud-provider:go_default_library",
 | 
				
			||||||
 | 
					        "//staging/src/k8s.io/cloud-provider/features:go_default_library",
 | 
				
			||||||
        "//vendor/cloud.google.com/go/compute/metadata:go_default_library",
 | 
					        "//vendor/cloud.google.com/go/compute/metadata:go_default_library",
 | 
				
			||||||
        "//vendor/github.com/GoogleCloudPlatform/k8s-cloud-provider/pkg/cloud:go_default_library",
 | 
					        "//vendor/github.com/GoogleCloudPlatform/k8s-cloud-provider/pkg/cloud:go_default_library",
 | 
				
			||||||
        "//vendor/github.com/GoogleCloudPlatform/k8s-cloud-provider/pkg/cloud/filter:go_default_library",
 | 
					        "//vendor/github.com/GoogleCloudPlatform/k8s-cloud-provider/pkg/cloud/filter:go_default_library",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -38,8 +38,8 @@ import (
 | 
				
			|||||||
	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"
 | 
				
			||||||
 | 
						cloudfeatures "k8s.io/cloud-provider/features"
 | 
				
			||||||
	"k8s.io/klog"
 | 
						"k8s.io/klog"
 | 
				
			||||||
	"k8s.io/kubernetes/pkg/features"
 | 
					 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// DiskType defines a specific type for holding disk types (eg. pd-ssd)
 | 
					// DiskType defines a specific type for holding disk types (eg. pd-ssd)
 | 
				
			||||||
@@ -146,8 +146,8 @@ func (manager *gceServiceManager) CreateRegionalDiskOnCloudProvider(
 | 
				
			|||||||
	diskType string,
 | 
						diskType string,
 | 
				
			||||||
	replicaZones sets.String) error {
 | 
						replicaZones sets.String) error {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if !utilfeature.DefaultFeatureGate.Enabled(features.GCERegionalPersistentDisk) {
 | 
						if !utilfeature.DefaultFeatureGate.Enabled(cloudfeatures.GCERegionalPersistentDisk) {
 | 
				
			||||||
		return fmt.Errorf("the regional PD feature is only available with the %s Kubernetes feature gate enabled", features.GCERegionalPersistentDisk)
 | 
							return fmt.Errorf("the regional PD feature is only available with the %s Kubernetes feature gate enabled", cloudfeatures.GCERegionalPersistentDisk)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	diskTypeURI, err := manager.getDiskTypeURI(
 | 
						diskTypeURI, err := manager.getDiskTypeURI(
 | 
				
			||||||
@@ -247,8 +247,8 @@ func (manager *gceServiceManager) GetDiskFromCloudProvider(
 | 
				
			|||||||
func (manager *gceServiceManager) GetRegionalDiskFromCloudProvider(
 | 
					func (manager *gceServiceManager) GetRegionalDiskFromCloudProvider(
 | 
				
			||||||
	diskName string) (*Disk, error) {
 | 
						diskName string) (*Disk, error) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if !utilfeature.DefaultFeatureGate.Enabled(features.GCERegionalPersistentDisk) {
 | 
						if !utilfeature.DefaultFeatureGate.Enabled(cloudfeatures.GCERegionalPersistentDisk) {
 | 
				
			||||||
		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", cloudfeatures.GCERegionalPersistentDisk)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	ctx, cancel := cloud.ContextWithCallTimeout()
 | 
						ctx, cancel := cloud.ContextWithCallTimeout()
 | 
				
			||||||
@@ -284,8 +284,8 @@ func (manager *gceServiceManager) DeleteDiskOnCloudProvider(
 | 
				
			|||||||
func (manager *gceServiceManager) DeleteRegionalDiskOnCloudProvider(
 | 
					func (manager *gceServiceManager) DeleteRegionalDiskOnCloudProvider(
 | 
				
			||||||
	diskName string) error {
 | 
						diskName string) error {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if !utilfeature.DefaultFeatureGate.Enabled(features.GCERegionalPersistentDisk) {
 | 
						if !utilfeature.DefaultFeatureGate.Enabled(cloudfeatures.GCERegionalPersistentDisk) {
 | 
				
			||||||
		return fmt.Errorf("the regional PD feature is only available with the %s Kubernetes feature gate enabled", features.GCERegionalPersistentDisk)
 | 
							return fmt.Errorf("the regional PD feature is only available with the %s Kubernetes feature gate enabled", cloudfeatures.GCERegionalPersistentDisk)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	ctx, cancel := cloud.ContextWithCallTimeout()
 | 
						ctx, cancel := cloud.ContextWithCallTimeout()
 | 
				
			||||||
@@ -411,8 +411,8 @@ func (manager *gceServiceManager) ResizeDiskOnCloudProvider(disk *Disk, sizeGb i
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func (manager *gceServiceManager) RegionalResizeDiskOnCloudProvider(disk *Disk, sizeGb int64) error {
 | 
					func (manager *gceServiceManager) RegionalResizeDiskOnCloudProvider(disk *Disk, sizeGb int64) error {
 | 
				
			||||||
	if !utilfeature.DefaultFeatureGate.Enabled(features.GCERegionalPersistentDisk) {
 | 
						if !utilfeature.DefaultFeatureGate.Enabled(cloudfeatures.GCERegionalPersistentDisk) {
 | 
				
			||||||
		return fmt.Errorf("the regional PD feature is only available with the %s Kubernetes feature gate enabled", features.GCERegionalPersistentDisk)
 | 
							return fmt.Errorf("the regional PD feature is only available with the %s Kubernetes feature gate enabled", cloudfeatures.GCERegionalPersistentDisk)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	resizeServiceRequest := &compute.RegionDisksResizeRequest{
 | 
						resizeServiceRequest := &compute.RegionDisksResizeRequest{
 | 
				
			||||||
@@ -532,7 +532,7 @@ func (g *Cloud) AttachDisk(diskName string, nodeName types.NodeName, readOnly bo
 | 
				
			|||||||
	// Try fetching as regional PD
 | 
						// Try fetching as regional PD
 | 
				
			||||||
	var disk *Disk
 | 
						var disk *Disk
 | 
				
			||||||
	var mc *metricContext
 | 
						var mc *metricContext
 | 
				
			||||||
	if regional && utilfeature.DefaultFeatureGate.Enabled(features.GCERegionalPersistentDisk) {
 | 
						if regional && utilfeature.DefaultFeatureGate.Enabled(cloudfeatures.GCERegionalPersistentDisk) {
 | 
				
			||||||
		disk, err = g.getRegionalDiskByName(diskName)
 | 
							disk, err = g.getRegionalDiskByName(diskName)
 | 
				
			||||||
		if err != nil {
 | 
							if err != nil {
 | 
				
			||||||
			return err
 | 
								return err
 | 
				
			||||||
@@ -768,7 +768,7 @@ func (g *Cloud) ResizeDisk(diskToResize string, oldSize resource.Quantity, newSi
 | 
				
			|||||||
		}
 | 
							}
 | 
				
			||||||
		return newSizeQuant, mc.Observe(err)
 | 
							return newSizeQuant, mc.Observe(err)
 | 
				
			||||||
	case multiZone:
 | 
						case multiZone:
 | 
				
			||||||
		if !utilfeature.DefaultFeatureGate.Enabled(features.GCERegionalPersistentDisk) {
 | 
							if !utilfeature.DefaultFeatureGate.Enabled(cloudfeatures.GCERegionalPersistentDisk) {
 | 
				
			||||||
			return oldSize, fmt.Errorf("disk.ZoneInfo has unexpected type %T", zoneInfo)
 | 
								return oldSize, fmt.Errorf("disk.ZoneInfo has unexpected type %T", zoneInfo)
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -811,7 +811,7 @@ func (g *Cloud) GetAutoLabelsForPD(name string, zone string) (map[string]string,
 | 
				
			|||||||
		// We could assume the disks exists; we have all the information we need
 | 
							// We could assume the disks exists; we have all the information we need
 | 
				
			||||||
		// However it is more consistent to ensure the disk exists,
 | 
							// However it is more consistent to ensure the disk exists,
 | 
				
			||||||
		// and in future we may gather addition information (e.g. disk type, IOPS etc)
 | 
							// and in future we may gather addition information (e.g. disk type, IOPS etc)
 | 
				
			||||||
		if utilfeature.DefaultFeatureGate.Enabled(features.GCERegionalPersistentDisk) {
 | 
							if utilfeature.DefaultFeatureGate.Enabled(cloudfeatures.GCERegionalPersistentDisk) {
 | 
				
			||||||
			zoneSet, err := volumeutil.LabelZonesToSet(zone)
 | 
								zoneSet, err := volumeutil.LabelZonesToSet(zone)
 | 
				
			||||||
			if err != nil {
 | 
								if err != nil {
 | 
				
			||||||
				klog.Warningf("Failed to parse zone field: %q. Will use raw field.", zone)
 | 
									klog.Warningf("Failed to parse zone field: %q. Will use raw field.", zone)
 | 
				
			||||||
@@ -916,7 +916,7 @@ func (g *Cloud) getRegionalDiskByName(diskName string) (*Disk, error) {
 | 
				
			|||||||
// Prefer getDiskByName, if the zone can be established
 | 
					// Prefer getDiskByName, if the zone can be established
 | 
				
			||||||
// Return cloudprovider.DiskNotFound if the given disk cannot be found in any zone
 | 
					// Return cloudprovider.DiskNotFound if the given disk cannot be found in any zone
 | 
				
			||||||
func (g *Cloud) GetDiskByNameUnknownZone(diskName string) (*Disk, error) {
 | 
					func (g *Cloud) GetDiskByNameUnknownZone(diskName string) (*Disk, error) {
 | 
				
			||||||
	if utilfeature.DefaultFeatureGate.Enabled(features.GCERegionalPersistentDisk) {
 | 
						if utilfeature.DefaultFeatureGate.Enabled(cloudfeatures.GCERegionalPersistentDisk) {
 | 
				
			||||||
		regionalDisk, err := g.getRegionalDiskByName(diskName)
 | 
							regionalDisk, err := g.getRegionalDiskByName(diskName)
 | 
				
			||||||
		if err == nil {
 | 
							if err == nil {
 | 
				
			||||||
			return regionalDisk, err
 | 
								return regionalDisk, err
 | 
				
			||||||
@@ -996,7 +996,7 @@ func (g *Cloud) doDeleteDisk(diskToDelete string) error {
 | 
				
			|||||||
		mc = newDiskMetricContextZonal("delete", disk.Region, zoneInfo.zone)
 | 
							mc = newDiskMetricContextZonal("delete", disk.Region, zoneInfo.zone)
 | 
				
			||||||
		return mc.Observe(g.manager.DeleteDiskOnCloudProvider(zoneInfo.zone, disk.Name))
 | 
							return mc.Observe(g.manager.DeleteDiskOnCloudProvider(zoneInfo.zone, disk.Name))
 | 
				
			||||||
	case multiZone:
 | 
						case multiZone:
 | 
				
			||||||
		if !utilfeature.DefaultFeatureGate.Enabled(features.GCERegionalPersistentDisk) {
 | 
							if !utilfeature.DefaultFeatureGate.Enabled(cloudfeatures.GCERegionalPersistentDisk) {
 | 
				
			||||||
			return fmt.Errorf("disk.ZoneInfo has unexpected type %T", zoneInfo)
 | 
								return fmt.Errorf("disk.ZoneInfo has unexpected type %T", zoneInfo)
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -13,6 +13,7 @@ go_library(
 | 
				
			|||||||
        "//staging/src/k8s.io/apiextensions-apiserver/pkg/features:go_default_library",
 | 
					        "//staging/src/k8s.io/apiextensions-apiserver/pkg/features:go_default_library",
 | 
				
			||||||
        "//staging/src/k8s.io/apiserver/pkg/features:go_default_library",
 | 
					        "//staging/src/k8s.io/apiserver/pkg/features:go_default_library",
 | 
				
			||||||
        "//staging/src/k8s.io/apiserver/pkg/util/feature:go_default_library",
 | 
					        "//staging/src/k8s.io/apiserver/pkg/util/feature:go_default_library",
 | 
				
			||||||
 | 
					        "//staging/src/k8s.io/cloud-provider/features:go_default_library",
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -20,6 +20,7 @@ import (
 | 
				
			|||||||
	apiextensionsfeatures "k8s.io/apiextensions-apiserver/pkg/features"
 | 
						apiextensionsfeatures "k8s.io/apiextensions-apiserver/pkg/features"
 | 
				
			||||||
	genericfeatures "k8s.io/apiserver/pkg/features"
 | 
						genericfeatures "k8s.io/apiserver/pkg/features"
 | 
				
			||||||
	utilfeature "k8s.io/apiserver/pkg/util/feature"
 | 
						utilfeature "k8s.io/apiserver/pkg/util/feature"
 | 
				
			||||||
 | 
						cloudfeatures "k8s.io/cloud-provider/features"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const (
 | 
					const (
 | 
				
			||||||
@@ -282,12 +283,6 @@ const (
 | 
				
			|||||||
	// Enable container log rotation for cri container runtime
 | 
						// Enable container log rotation for cri container runtime
 | 
				
			||||||
	CRIContainerLogRotation utilfeature.Feature = "CRIContainerLogRotation"
 | 
						CRIContainerLogRotation utilfeature.Feature = "CRIContainerLogRotation"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// owner: @verult
 | 
					 | 
				
			||||||
	// GA: v1.13
 | 
					 | 
				
			||||||
	//
 | 
					 | 
				
			||||||
	// Enables the regional PD feature on GCE.
 | 
					 | 
				
			||||||
	GCERegionalPersistentDisk utilfeature.Feature = "GCERegionalPersistentDisk"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	// owner: @krmayankk
 | 
						// owner: @krmayankk
 | 
				
			||||||
	// alpha: v1.10
 | 
						// alpha: v1.10
 | 
				
			||||||
	//
 | 
						//
 | 
				
			||||||
@@ -460,7 +455,7 @@ var defaultKubernetesFeatureGates = map[utilfeature.Feature]utilfeature.FeatureS
 | 
				
			|||||||
	TokenRequestProjection:                      {Default: true, PreRelease: utilfeature.Beta},
 | 
						TokenRequestProjection:                      {Default: true, PreRelease: utilfeature.Beta},
 | 
				
			||||||
	BoundServiceAccountTokenVolume:              {Default: false, PreRelease: utilfeature.Alpha},
 | 
						BoundServiceAccountTokenVolume:              {Default: false, PreRelease: utilfeature.Alpha},
 | 
				
			||||||
	CRIContainerLogRotation:                     {Default: true, PreRelease: utilfeature.Beta},
 | 
						CRIContainerLogRotation:                     {Default: true, PreRelease: utilfeature.Beta},
 | 
				
			||||||
	GCERegionalPersistentDisk:                   {Default: true, PreRelease: utilfeature.GA},
 | 
						cloudfeatures.GCERegionalPersistentDisk:     {Default: true, PreRelease: utilfeature.GA},
 | 
				
			||||||
	CSIMigration:                                {Default: false, PreRelease: utilfeature.Alpha},
 | 
						CSIMigration:                                {Default: false, PreRelease: utilfeature.Alpha},
 | 
				
			||||||
	CSIMigrationGCE:                             {Default: false, PreRelease: utilfeature.Alpha},
 | 
						CSIMigrationGCE:                             {Default: false, PreRelease: utilfeature.Alpha},
 | 
				
			||||||
	CSIMigrationAWS:                             {Default: false, PreRelease: utilfeature.Alpha},
 | 
						CSIMigrationAWS:                             {Default: false, PreRelease: utilfeature.Alpha},
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -32,6 +32,7 @@ go_library(
 | 
				
			|||||||
        "//staging/src/k8s.io/apimachinery/pkg/util/sets:go_default_library",
 | 
					        "//staging/src/k8s.io/apimachinery/pkg/util/sets:go_default_library",
 | 
				
			||||||
        "//staging/src/k8s.io/apiserver/pkg/util/feature:go_default_library",
 | 
					        "//staging/src/k8s.io/apiserver/pkg/util/feature:go_default_library",
 | 
				
			||||||
        "//staging/src/k8s.io/cloud-provider:go_default_library",
 | 
					        "//staging/src/k8s.io/cloud-provider:go_default_library",
 | 
				
			||||||
 | 
					        "//staging/src/k8s.io/cloud-provider/features:go_default_library",
 | 
				
			||||||
        "//vendor/k8s.io/klog:go_default_library",
 | 
					        "//vendor/k8s.io/klog:go_default_library",
 | 
				
			||||||
        "//vendor/k8s.io/utils/exec:go_default_library",
 | 
					        "//vendor/k8s.io/utils/exec:go_default_library",
 | 
				
			||||||
        "//vendor/k8s.io/utils/path:go_default_library",
 | 
					        "//vendor/k8s.io/utils/path:go_default_library",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -28,9 +28,9 @@ import (
 | 
				
			|||||||
	"k8s.io/apimachinery/pkg/util/sets"
 | 
						"k8s.io/apimachinery/pkg/util/sets"
 | 
				
			||||||
	utilfeature "k8s.io/apiserver/pkg/util/feature"
 | 
						utilfeature "k8s.io/apiserver/pkg/util/feature"
 | 
				
			||||||
	cloudprovider "k8s.io/cloud-provider"
 | 
						cloudprovider "k8s.io/cloud-provider"
 | 
				
			||||||
 | 
						cloudfeatures "k8s.io/cloud-provider/features"
 | 
				
			||||||
	"k8s.io/klog"
 | 
						"k8s.io/klog"
 | 
				
			||||||
	gcecloud "k8s.io/kubernetes/pkg/cloudprovider/providers/gce"
 | 
						gcecloud "k8s.io/kubernetes/pkg/cloudprovider/providers/gce"
 | 
				
			||||||
	"k8s.io/kubernetes/pkg/features"
 | 
					 | 
				
			||||||
	kubeletapis "k8s.io/kubernetes/pkg/kubelet/apis"
 | 
						kubeletapis "k8s.io/kubernetes/pkg/kubelet/apis"
 | 
				
			||||||
	"k8s.io/kubernetes/pkg/util/mount"
 | 
						"k8s.io/kubernetes/pkg/util/mount"
 | 
				
			||||||
	"k8s.io/kubernetes/pkg/volume"
 | 
						"k8s.io/kubernetes/pkg/volume"
 | 
				
			||||||
@@ -127,10 +127,10 @@ func (util *GCEDiskUtil) CreateVolume(c *gcePersistentDiskProvisioner, node *v1.
 | 
				
			|||||||
				return "", 0, nil, "", err
 | 
									return "", 0, nil, "", err
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		case "replication-type":
 | 
							case "replication-type":
 | 
				
			||||||
			if !utilfeature.DefaultFeatureGate.Enabled(features.GCERegionalPersistentDisk) {
 | 
								if !utilfeature.DefaultFeatureGate.Enabled(cloudfeatures.GCERegionalPersistentDisk) {
 | 
				
			||||||
				return "", 0, nil, "",
 | 
									return "", 0, nil, "",
 | 
				
			||||||
					fmt.Errorf("the %q option for volume plugin %v is only supported with the %q Kubernetes feature gate enabled",
 | 
										fmt.Errorf("the %q option for volume plugin %v is only supported with the %q Kubernetes feature gate enabled",
 | 
				
			||||||
						k, c.plugin.GetPluginName(), features.GCERegionalPersistentDisk)
 | 
											k, c.plugin.GetPluginName(), cloudfeatures.GCERegionalPersistentDisk)
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
			replicationType = strings.ToLower(v)
 | 
								replicationType = strings.ToLower(v)
 | 
				
			||||||
		case volume.VolumeParameterFSType:
 | 
							case volume.VolumeParameterFSType:
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -188,6 +188,7 @@
 | 
				
			|||||||
  allowedImports:
 | 
					  allowedImports:
 | 
				
			||||||
  - k8s.io/api
 | 
					  - k8s.io/api
 | 
				
			||||||
  - k8s.io/apimachinery
 | 
					  - k8s.io/apimachinery
 | 
				
			||||||
 | 
					  - k8s.io/apiserver
 | 
				
			||||||
  - k8s.io/client-go
 | 
					  - k8s.io/client-go
 | 
				
			||||||
  - k8s.io/klog
 | 
					  - k8s.io/klog
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -35,6 +35,7 @@ filegroup(
 | 
				
			|||||||
    name = "all-srcs",
 | 
					    name = "all-srcs",
 | 
				
			||||||
    srcs = [
 | 
					    srcs = [
 | 
				
			||||||
        ":package-srcs",
 | 
					        ":package-srcs",
 | 
				
			||||||
 | 
					        "//staging/src/k8s.io/cloud-provider/features:all-srcs",
 | 
				
			||||||
        "//staging/src/k8s.io/cloud-provider/node:all-srcs",
 | 
					        "//staging/src/k8s.io/cloud-provider/node:all-srcs",
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    tags = ["automanaged"],
 | 
					    tags = ["automanaged"],
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -90,6 +90,10 @@
 | 
				
			|||||||
			"ImportPath": "github.com/peterbourgon/diskv",
 | 
								"ImportPath": "github.com/peterbourgon/diskv",
 | 
				
			||||||
			"Rev": "5f041e8faa004a95c88a202771f4cc3e991971e6"
 | 
								"Rev": "5f041e8faa004a95c88a202771f4cc3e991971e6"
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								"ImportPath": "github.com/spf13/pflag",
 | 
				
			||||||
 | 
								"Rev": "583c0c0531f06d5278b7d917446061adc344b5cd"
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			"ImportPath": "golang.org/x/crypto/ssh/terminal",
 | 
								"ImportPath": "golang.org/x/crypto/ssh/terminal",
 | 
				
			||||||
			"Rev": "de0752318171da717af4ce24d0a2e8626afaeb11"
 | 
								"Rev": "de0752318171da717af4ce24d0a2e8626afaeb11"
 | 
				
			||||||
@@ -458,6 +462,10 @@
 | 
				
			|||||||
			"ImportPath": "k8s.io/apimachinery/third_party/forked/golang/reflect",
 | 
								"ImportPath": "k8s.io/apimachinery/third_party/forked/golang/reflect",
 | 
				
			||||||
			"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
 | 
								"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								"ImportPath": "k8s.io/apiserver/pkg/util/feature",
 | 
				
			||||||
 | 
								"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			"ImportPath": "k8s.io/client-go/discovery",
 | 
								"ImportPath": "k8s.io/client-go/discovery",
 | 
				
			||||||
			"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
 | 
								"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										24
									
								
								staging/src/k8s.io/cloud-provider/features/BUILD
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								staging/src/k8s.io/cloud-provider/features/BUILD
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,24 @@
 | 
				
			|||||||
 | 
					load("@io_bazel_rules_go//go:def.bzl", "go_library")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					go_library(
 | 
				
			||||||
 | 
					    name = "go_default_library",
 | 
				
			||||||
 | 
					    srcs = ["gce.go"],
 | 
				
			||||||
 | 
					    importmap = "k8s.io/kubernetes/vendor/k8s.io/cloud-provider/features",
 | 
				
			||||||
 | 
					    importpath = "k8s.io/cloud-provider/features",
 | 
				
			||||||
 | 
					    visibility = ["//visibility:public"],
 | 
				
			||||||
 | 
					    deps = ["//staging/src/k8s.io/apiserver/pkg/util/feature:go_default_library"],
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					filegroup(
 | 
				
			||||||
 | 
					    name = "package-srcs",
 | 
				
			||||||
 | 
					    srcs = glob(["**"]),
 | 
				
			||||||
 | 
					    tags = ["automanaged"],
 | 
				
			||||||
 | 
					    visibility = ["//visibility:private"],
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					filegroup(
 | 
				
			||||||
 | 
					    name = "all-srcs",
 | 
				
			||||||
 | 
					    srcs = [":package-srcs"],
 | 
				
			||||||
 | 
					    tags = ["automanaged"],
 | 
				
			||||||
 | 
					    visibility = ["//visibility:public"],
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
							
								
								
									
										33
									
								
								staging/src/k8s.io/cloud-provider/features/gce.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								staging/src/k8s.io/cloud-provider/features/gce.go
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,33 @@
 | 
				
			|||||||
 | 
					/*
 | 
				
			||||||
 | 
					Copyright 2019 The Kubernetes Authors.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Licensed under the Apache License, Version 2.0 (the "License");
 | 
				
			||||||
 | 
					you may not use this file except in compliance with the License.
 | 
				
			||||||
 | 
					You may obtain a copy of the License at
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    http://www.apache.org/licenses/LICENSE-2.0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Unless required by applicable law or agreed to in writing, software
 | 
				
			||||||
 | 
					distributed under the License is distributed on an "AS IS" BASIS,
 | 
				
			||||||
 | 
					WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
				
			||||||
 | 
					See the License for the specific language governing permissions and
 | 
				
			||||||
 | 
					limitations under the License.
 | 
				
			||||||
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					package features
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import (
 | 
				
			||||||
 | 
						utilfeature "k8s.io/apiserver/pkg/util/feature"
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// TODO: this file should ideally live in k8s.io/cloud-provider-gcp, but it is
 | 
				
			||||||
 | 
					// temporarily placed here to remove dependencies to k8s.io/kubernetes in the
 | 
				
			||||||
 | 
					// in-tree GCE cloud provider. Move this to k8s.io/cloud-provider-gcp as soon
 | 
				
			||||||
 | 
					// as it's ready to be used
 | 
				
			||||||
 | 
					const (
 | 
				
			||||||
 | 
						// owner: @verult
 | 
				
			||||||
 | 
						// GA: v1.13
 | 
				
			||||||
 | 
						//
 | 
				
			||||||
 | 
						// Enables the regional PD feature on GCE.
 | 
				
			||||||
 | 
						GCERegionalPersistentDisk utilfeature.Feature = "GCERegionalPersistentDisk"
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
		Reference in New Issue
	
	Block a user