Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
K
k3s
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Jacklull
k3s
Commits
1dd550cf
Unverified
Commit
1dd550cf
authored
May 03, 2019
by
Kubernetes Prow Robot
Committed by
GitHub
May 03, 2019
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #77412 from liggitt/GCERegionalPersistentDisk
Lock GCERegionalPersistentDisk feature on
parents
bcd7219b
63ddfc1d
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
15 additions
and
59 deletions
+15
-59
BUILD
pkg/cloudprovider/providers/gce/BUILD
+0
-2
gce_disks.go
pkg/cloudprovider/providers/gce/gce_disks.go
+14
-48
kube_features.go
pkg/features/kube_features.go
+1
-1
BUILD
pkg/volume/gcepd/BUILD
+0
-1
gce_util.go
pkg/volume/gcepd/gce_util.go
+0
-7
No files found.
pkg/cloudprovider/providers/gce/BUILD
View file @
1dd550cf
...
@@ -52,7 +52,6 @@ go_library(
...
@@ -52,7 +52,6 @@ go_library(
"//staging/src/k8s.io/apimachinery/pkg/util/version:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/util/version:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/util/wait:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/util/wait:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/watch:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/watch:go_default_library",
"//staging/src/k8s.io/apiserver/pkg/util/feature:go_default_library",
"//staging/src/k8s.io/client-go/informers:go_default_library",
"//staging/src/k8s.io/client-go/informers:go_default_library",
"//staging/src/k8s.io/client-go/kubernetes:go_default_library",
"//staging/src/k8s.io/client-go/kubernetes:go_default_library",
"//staging/src/k8s.io/client-go/kubernetes/scheme:go_default_library",
"//staging/src/k8s.io/client-go/kubernetes/scheme:go_default_library",
...
@@ -62,7 +61,6 @@ go_library(
...
@@ -62,7 +61,6 @@ 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",
"//staging/src/k8s.io/cloud-provider/service/helpers:go_default_library",
"//staging/src/k8s.io/cloud-provider/service/helpers:go_default_library",
"//staging/src/k8s.io/cloud-provider/volume:go_default_library",
"//staging/src/k8s.io/cloud-provider/volume:go_default_library",
"//staging/src/k8s.io/cloud-provider/volume/errors:go_default_library",
"//staging/src/k8s.io/cloud-provider/volume/errors:go_default_library",
...
...
pkg/cloudprovider/providers/gce/gce_disks.go
View file @
1dd550cf
...
@@ -37,8 +37,6 @@ import (
...
@@ -37,8 +37,6 @@ import (
"github.com/GoogleCloudPlatform/k8s-cloud-provider/pkg/cloud/meta"
"github.com/GoogleCloudPlatform/k8s-cloud-provider/pkg/cloud/meta"
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"
cloudfeatures
"k8s.io/cloud-provider/features"
"k8s.io/klog"
"k8s.io/klog"
)
)
...
@@ -146,10 +144,6 @@ func (manager *gceServiceManager) CreateRegionalDiskOnCloudProvider(
...
@@ -146,10 +144,6 @@ func (manager *gceServiceManager) CreateRegionalDiskOnCloudProvider(
diskType
string
,
diskType
string
,
replicaZones
sets
.
String
)
error
{
replicaZones
sets
.
String
)
error
{
if
!
utilfeature
.
DefaultFeatureGate
.
Enabled
(
cloudfeatures
.
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
(
manager
.
gce
.
region
/* diskRegion */
,
multiZone
{
replicaZones
},
diskType
)
manager
.
gce
.
region
/* diskRegion */
,
multiZone
{
replicaZones
},
diskType
)
if
err
!=
nil
{
if
err
!=
nil
{
...
@@ -247,10 +241,6 @@ func (manager *gceServiceManager) GetDiskFromCloudProvider(
...
@@ -247,10 +241,6 @@ func (manager *gceServiceManager) GetDiskFromCloudProvider(
func
(
manager
*
gceServiceManager
)
GetRegionalDiskFromCloudProvider
(
func
(
manager
*
gceServiceManager
)
GetRegionalDiskFromCloudProvider
(
diskName
string
)
(
*
Disk
,
error
)
{
diskName
string
)
(
*
Disk
,
error
)
{
if
!
utilfeature
.
DefaultFeatureGate
.
Enabled
(
cloudfeatures
.
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
()
defer
cancel
()
defer
cancel
()
diskBeta
,
err
:=
manager
.
gce
.
c
.
RegionDisks
()
.
Get
(
ctx
,
meta
.
RegionalKey
(
diskName
,
manager
.
gce
.
region
))
diskBeta
,
err
:=
manager
.
gce
.
c
.
RegionDisks
()
.
Get
(
ctx
,
meta
.
RegionalKey
(
diskName
,
manager
.
gce
.
region
))
...
@@ -284,10 +274,6 @@ func (manager *gceServiceManager) DeleteDiskOnCloudProvider(
...
@@ -284,10 +274,6 @@ func (manager *gceServiceManager) DeleteDiskOnCloudProvider(
func
(
manager
*
gceServiceManager
)
DeleteRegionalDiskOnCloudProvider
(
func
(
manager
*
gceServiceManager
)
DeleteRegionalDiskOnCloudProvider
(
diskName
string
)
error
{
diskName
string
)
error
{
if
!
utilfeature
.
DefaultFeatureGate
.
Enabled
(
cloudfeatures
.
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
()
defer
cancel
()
defer
cancel
()
return
manager
.
gce
.
c
.
RegionDisks
()
.
Delete
(
ctx
,
meta
.
RegionalKey
(
diskName
,
manager
.
gce
.
region
))
return
manager
.
gce
.
c
.
RegionDisks
()
.
Delete
(
ctx
,
meta
.
RegionalKey
(
diskName
,
manager
.
gce
.
region
))
...
@@ -411,9 +397,6 @@ func (manager *gceServiceManager) ResizeDiskOnCloudProvider(disk *Disk, sizeGb i
...
@@ -411,9 +397,6 @@ 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
(
cloudfeatures
.
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
{
SizeGb
:
sizeGb
,
SizeGb
:
sizeGb
,
...
@@ -532,7 +515,7 @@ func (g *Cloud) AttachDisk(diskName string, nodeName types.NodeName, readOnly bo
...
@@ -532,7 +515,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
(
cloudfeatures
.
GCERegionalPersistentDisk
)
{
if
regional
{
disk
,
err
=
g
.
getRegionalDiskByName
(
diskName
)
disk
,
err
=
g
.
getRegionalDiskByName
(
diskName
)
if
err
!=
nil
{
if
err
!=
nil
{
return
err
return
err
...
@@ -768,10 +751,6 @@ func (g *Cloud) ResizeDisk(diskToResize string, oldSize resource.Quantity, newSi
...
@@ -768,10 +751,6 @@ 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
(
cloudfeatures
.
GCERegionalPersistentDisk
)
{
return
oldSize
,
fmt
.
Errorf
(
"disk.ZoneInfo has unexpected type %T"
,
zoneInfo
)
}
mc
=
newDiskMetricContextRegional
(
"resize"
,
disk
.
Region
)
mc
=
newDiskMetricContextRegional
(
"resize"
,
disk
.
Region
)
err
:=
g
.
manager
.
RegionalResizeDiskOnCloudProvider
(
disk
,
requestGIB
)
err
:=
g
.
manager
.
RegionalResizeDiskOnCloudProvider
(
disk
,
requestGIB
)
...
@@ -811,26 +790,19 @@ func (g *Cloud) GetAutoLabelsForPD(name string, zone string) (map[string]string,
...
@@ -811,26 +790,19 @@ 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
(
cloudfeatures
.
GCERegionalPersistentDisk
)
{
zoneSet
,
err
:=
volumehelpers
.
LabelZonesToSet
(
zone
)
zoneSet
,
err
:=
volumehelpers
.
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
)
}
}
if
len
(
zoneSet
)
>
1
{
if
len
(
zoneSet
)
>
1
{
// Regional PD
// Regional PD
disk
,
err
=
g
.
getRegionalDiskByName
(
name
)
disk
,
err
=
g
.
getRegionalDiskByName
(
name
)
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
err
return
nil
,
err
}
}
else
{
// Zonal PD
disk
,
err
=
g
.
getDiskByName
(
name
,
zone
)
if
err
!=
nil
{
return
nil
,
err
}
}
}
}
else
{
}
else
{
// Zonal PD
disk
,
err
=
g
.
getDiskByName
(
name
,
zone
)
disk
,
err
=
g
.
getDiskByName
(
name
,
zone
)
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
err
return
nil
,
err
...
@@ -916,11 +888,9 @@ func (g *Cloud) getRegionalDiskByName(diskName string) (*Disk, error) {
...
@@ -916,11 +888,9 @@ 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
(
cloudfeatures
.
GCERegionalPersistentDisk
)
{
regionalDisk
,
err
:=
g
.
getRegionalDiskByName
(
diskName
)
regionalDisk
,
err
:=
g
.
getRegionalDiskByName
(
diskName
)
if
err
==
nil
{
if
err
==
nil
{
return
regionalDisk
,
err
return
regionalDisk
,
err
}
}
}
// Note: this is the gotcha right now with GCE PD support:
// Note: this is the gotcha right now with GCE PD support:
...
@@ -996,10 +966,6 @@ func (g *Cloud) doDeleteDisk(diskToDelete string) error {
...
@@ -996,10 +966,6 @@ 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
(
cloudfeatures
.
GCERegionalPersistentDisk
)
{
return
fmt
.
Errorf
(
"disk.ZoneInfo has unexpected type %T"
,
zoneInfo
)
}
mc
=
newDiskMetricContextRegional
(
"delete"
,
disk
.
Region
)
mc
=
newDiskMetricContextRegional
(
"delete"
,
disk
.
Region
)
return
mc
.
Observe
(
g
.
manager
.
DeleteRegionalDiskOnCloudProvider
(
disk
.
Name
))
return
mc
.
Observe
(
g
.
manager
.
DeleteRegionalDiskOnCloudProvider
(
disk
.
Name
))
case
nil
:
case
nil
:
...
...
pkg/features/kube_features.go
View file @
1dd550cf
...
@@ -486,7 +486,7 @@ var defaultKubernetesFeatureGates = map[utilfeature.Feature]utilfeature.FeatureS
...
@@ -486,7 +486,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
},
cloudfeatures
.
GCERegionalPersistentDisk
:
{
Default
:
true
,
PreRelease
:
utilfeature
.
GA
},
cloudfeatures
.
GCERegionalPersistentDisk
:
{
Default
:
true
,
PreRelease
:
utilfeature
.
GA
,
LockToDefault
:
true
},
// remove in 1.17
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
},
...
...
pkg/volume/gcepd/BUILD
View file @
1dd550cf
...
@@ -30,7 +30,6 @@ go_library(
...
@@ -30,7 +30,6 @@ 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",
"//staging/src/k8s.io/cloud-provider/volume:go_default_library",
"//staging/src/k8s.io/cloud-provider/volume:go_default_library",
"//staging/src/k8s.io/cloud-provider/volume/helpers:go_default_library",
"//staging/src/k8s.io/cloud-provider/volume/helpers:go_default_library",
"//vendor/k8s.io/klog:go_default_library",
"//vendor/k8s.io/klog:go_default_library",
...
...
pkg/volume/gcepd/gce_util.go
View file @
1dd550cf
...
@@ -25,9 +25,7 @@ import (
...
@@ -25,9 +25,7 @@ import (
"k8s.io/api/core/v1"
"k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/util/sets"
"k8s.io/apimachinery/pkg/util/sets"
utilfeature
"k8s.io/apiserver/pkg/util/feature"
cloudprovider
"k8s.io/cloud-provider"
cloudprovider
"k8s.io/cloud-provider"
cloudfeatures
"k8s.io/cloud-provider/features"
cloudvolume
"k8s.io/cloud-provider/volume"
cloudvolume
"k8s.io/cloud-provider/volume"
volumehelpers
"k8s.io/cloud-provider/volume/helpers"
volumehelpers
"k8s.io/cloud-provider/volume/helpers"
"k8s.io/klog"
"k8s.io/klog"
...
@@ -127,11 +125,6 @@ func (util *GCEDiskUtil) CreateVolume(c *gcePersistentDiskProvisioner, node *v1.
...
@@ -127,11 +125,6 @@ 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
(
cloudfeatures
.
GCERegionalPersistentDisk
)
{
return
""
,
0
,
nil
,
""
,
fmt
.
Errorf
(
"the %q option for volume plugin %v is only supported with the %q Kubernetes feature gate enabled"
,
k
,
c
.
plugin
.
GetPluginName
(),
cloudfeatures
.
GCERegionalPersistentDisk
)
}
replicationType
=
strings
.
ToLower
(
v
)
replicationType
=
strings
.
ToLower
(
v
)
case
volume
.
VolumeParameterFSType
:
case
volume
.
VolumeParameterFSType
:
fstype
=
v
fstype
=
v
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment