Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit99f55ae

Browse files
authored
Merge pull request#132662 from gnufied/bump-recovery-feature-ga
Bump recovery feature ga
2 parentsd7cce80 +c126870 commit99f55ae

File tree

10 files changed

+64
-1
lines changed

10 files changed

+64
-1
lines changed

‎pkg/api/persistentvolumeclaim/util_test.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -449,6 +449,7 @@ func TestDropDisabledVolumeAttributesClass(t *testing.T) {
449449
}
450450

451451
funcTestDropDisabledFieldsFromStatus(t*testing.T) {
452+
featuregatetesting.SetFeatureGateEmulationVersionDuringTest(t,utilfeature.DefaultFeatureGate,version.MustParse("1.33"))
452453
tests:= []struct {
453454
namestring
454455
enableRecoverVolumeExpansionFailurebool

‎pkg/apis/core/validation/validation_test.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2333,6 +2333,7 @@ func TestAlphaPVVolumeModeUpdate(t *testing.T) {
23332333
}
23342334

23352335
func TestValidatePersistentVolumeClaimUpdate(t *testing.T) {
2336+
featuregatetesting.SetFeatureGateEmulationVersionDuringTest(t, utilfeature.DefaultFeatureGate, version.MustParse("1.33"))
23362337
block := core.PersistentVolumeBlock
23372338
file := core.PersistentVolumeFilesystem
23382339
invalidAPIGroup := "^invalid"
@@ -20140,6 +20141,7 @@ func TestValidateLimitRange(t *testing.T) {
2014020141
}
2014120142

2014220143
func TestValidatePersistentVolumeClaimStatusUpdate(t *testing.T) {
20144+
featuregatetesting.SetFeatureGateEmulationVersionDuringTest(t, utilfeature.DefaultFeatureGate, version.MustParse("1.33"))
2014320145
validClaim := testVolumeClaim("foo", "ns", core.PersistentVolumeClaimSpec{
2014420146
AccessModes: []core.PersistentVolumeAccessMode{
2014520147
core.ReadWriteOnce,

‎pkg/features/kube_features.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1523,6 +1523,7 @@ var defaultVersionedKubernetesFeatureGates = map[featuregate.Feature]featuregate
15231523
RecoverVolumeExpansionFailure: {
15241524
{Version:version.MustParse("1.23"),Default:false,PreRelease:featuregate.Alpha},
15251525
{Version:version.MustParse("1.32"),Default:true,PreRelease:featuregate.Beta},
1526+
{Version:version.MustParse("1.34"),Default:true,PreRelease:featuregate.GA,LockToDefault:true},// GA in 1.34; remove in 1.37
15261527
},
15271528

15281529
RecursiveReadOnlyMounts: {

‎pkg/quota/v1/evaluator/core/persistent_volume_claims_test.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ import (
2525
"k8s.io/apimachinery/pkg/api/resource"
2626
metav1"k8s.io/apimachinery/pkg/apis/meta/v1"
2727
"k8s.io/apimachinery/pkg/runtime/schema"
28+
"k8s.io/apimachinery/pkg/util/version"
2829
"k8s.io/apiserver/pkg/admission"
2930
quota"k8s.io/apiserver/pkg/quota/v1"
3031
"k8s.io/apiserver/pkg/quota/v1/generic"
@@ -159,6 +160,7 @@ func TestPersistentVolumeClaimEvaluatorMatchingScopes(t *testing.T) {
159160
}
160161

161162
funcTestPersistentVolumeClaimEvaluatorUsage(t*testing.T) {
163+
featuregatetesting.SetFeatureGateEmulationVersionDuringTest(t,utilfeature.DefaultFeatureGate,version.MustParse("1.33"))
162164
classGold:="gold"
163165
validClaim:=testVolumeClaim("foo","ns", core.PersistentVolumeClaimSpec{
164166
Selector:&metav1.LabelSelector{

‎pkg/volume/util/operationexecutor/node_expander_test.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import (
2323
v1"k8s.io/api/core/v1"
2424
"k8s.io/apimachinery/pkg/api/resource"
2525
"k8s.io/apimachinery/pkg/util/sets"
26+
"k8s.io/apimachinery/pkg/util/version"
2627
utilfeature"k8s.io/apiserver/pkg/util/feature"
2728
featuregatetesting"k8s.io/component-base/featuregate/testing"
2829
"k8s.io/kubernetes/pkg/features"
@@ -45,6 +46,8 @@ func newFakeActualStateOfWorld() *fakeActualStateOfWorld {
4546
}
4647

4748
funcTestNodeExpander(t*testing.T) {
49+
featuregatetesting.SetFeatureGateEmulationVersionDuringTest(t,utilfeature.DefaultFeatureGate,version.MustParse("1.33"))
50+
4851
nodeResizeFailed:=v1.PersistentVolumeClaimNodeResizeInfeasible
4952

5053
nodeResizePending:=v1.PersistentVolumeClaimNodeResizePending

‎pkg/volume/util/operationexecutor/operation_generator_test.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ import (
3434
metav1"k8s.io/apimachinery/pkg/apis/meta/v1"
3535
"k8s.io/apimachinery/pkg/types"
3636
"k8s.io/apimachinery/pkg/util/uuid"
37+
"k8s.io/apimachinery/pkg/util/version"
3738
fakeclient"k8s.io/client-go/kubernetes/fake"
3839
"k8s.io/component-base/metrics/testutil"
3940
"k8s.io/kubernetes/pkg/volume"
@@ -93,6 +94,7 @@ func TestOperationGenerator_GenerateUnmapVolumeFunc_PluginName(t *testing.T) {
9394
}
9495

9596
funcTestOperationGenerator_GenerateExpandAndRecoverVolumeFunc(t*testing.T) {
97+
featuregatetesting.SetFeatureGateEmulationVersionDuringTest(t,utilfeature.DefaultFeatureGate,version.MustParse("1.33"))
9698
nodeResizePending:=v1.PersistentVolumeClaimNodeResizePending
9799
nodeResizeFailed:=v1.PersistentVolumeClaimNodeResizeInfeasible
98100
vartests= []struct {
@@ -193,6 +195,7 @@ func TestOperationGenerator_nodeExpandVolume(t *testing.T) {
193195
x:=resource.MustParse(size)
194196
return&x
195197
}
198+
featuregatetesting.SetFeatureGateEmulationVersionDuringTest(t,utilfeature.DefaultFeatureGate,version.MustParse("1.33"))
196199

197200
nodeResizeFailed:=v1.PersistentVolumeClaimNodeResizeInfeasible
198201
nodeResizePending:=v1.PersistentVolumeClaimNodeResizePending
@@ -321,6 +324,7 @@ func TestOperationGenerator_nodeExpandVolume(t *testing.T) {
321324
}
322325

323326
funcTestExpandDuringMount(t*testing.T) {
327+
featuregatetesting.SetFeatureGateEmulationVersionDuringTest(t,utilfeature.DefaultFeatureGate,version.MustParse("1.33"))
324328
nodeResizePending:=v1.PersistentVolumeClaimNodeResizePending
325329
vartests= []struct {
326330
namestring
@@ -403,6 +407,7 @@ func TestExpandDuringMount(t *testing.T) {
403407
}
404408
}
405409
funcTestCheckForRecoveryFromExpansion(t*testing.T) {
410+
featuregatetesting.SetFeatureGateEmulationVersionDuringTest(t,utilfeature.DefaultFeatureGate,version.MustParse("1.33"))
406411
tests:= []struct {
407412
namestring
408413
pvc*v1.PersistentVolumeClaim

‎pkg/volume/util/resize_util_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ import (
2525
v1"k8s.io/api/core/v1"
2626
"k8s.io/apimachinery/pkg/api/resource"
2727
metav1"k8s.io/apimachinery/pkg/apis/meta/v1"
28+
"k8s.io/apimachinery/pkg/util/version"
2829
utilfeature"k8s.io/apiserver/pkg/util/feature"
2930
clientset"k8s.io/client-go/kubernetes"
3031
"k8s.io/client-go/kubernetes/fake"
@@ -174,7 +175,7 @@ func TestMergeResizeCondition(t *testing.T) {
174175

175176
funcTestResizeFunctions(t*testing.T) {
176177
basePVC:=makePVC([]v1.PersistentVolumeClaimCondition{})
177-
178+
featuregatetesting.SetFeatureGateEmulationVersionDuringTest(t,utilfeature.DefaultFeatureGate,version.MustParse("1.33"))
178179
tests:= []struct {
179180
namestring
180181
pvc*v1.PersistentVolumeClaim

‎plugin/pkg/admission/noderestriction/admission_test.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ import (
3636
"k8s.io/apimachinery/pkg/runtime/schema"
3737
"k8s.io/apimachinery/pkg/types"
3838
"k8s.io/apimachinery/pkg/util/sets"
39+
"k8s.io/apimachinery/pkg/util/version"
3940
"k8s.io/apiserver/pkg/admission"
4041
"k8s.io/apiserver/pkg/authentication/user"
4142
"k8s.io/apiserver/pkg/authorization/authorizer"
@@ -1972,6 +1973,7 @@ func TestAdmitPVCStatus(t *testing.T) {
19721973
mynode:=&user.DefaultInfo{Name:"system:node:mynode",Groups: []string{"system:nodes"}}
19731974

19741975
nodeExpansionFailed:=api.PersistentVolumeClaimNodeResizeInfeasible
1976+
featuregatetesting.SetFeatureGateEmulationVersionDuringTest(t,feature.DefaultFeatureGate,version.MustParse("1.33"))
19751977

19761978
tests:= []struct {
19771979
namestring

‎test/compatibility_lifecycle/reference/versioned_feature_list.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1199,6 +1199,10 @@
11991199
lockToDefault:false
12001200
preRelease:Beta
12011201
version:"1.32"
1202+
-default:true
1203+
lockToDefault:true
1204+
preRelease:GA
1205+
version:"1.34"
12021206
-name:RecursiveReadOnlyMounts
12031207
versionedSpecs:
12041208
-default:false

‎test/e2e/storage/local_volume_resize.go

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,13 @@ var _ = utils.SIGDescribe("PersistentVolumes-expansion", func() {
122122
gomega.Expect(pv).NotTo(gomega.BeNil())
123123
testVol.pv=pv
124124

125+
// since there is no external-resizer involved for this local volume,
126+
// we need to update the PVC status to reflect the new size.
127+
pvc,err:=modifyPVCStatus(ctx,testVol.pvc,newSize,f.ClientSet)
128+
framework.ExpectNoError(err,"while updating pvc status to more size")
129+
gomega.Expect(pvc).NotTo(gomega.BeNil())
130+
testVol.pvc=pvc
131+
125132
ginkgo.By("Waiting for file system resize to finish")
126133
testVol.pvc,err=testsuites.WaitForFSResize(ctx,testVol.pvc,f.ClientSet)
127134
framework.ExpectNoError(err,"while waiting for fs resize to finish")
@@ -134,6 +141,41 @@ var _ = utils.SIGDescribe("PersistentVolumes-expansion", func() {
134141

135142
})
136143

144+
funcmodifyPVCStatus(ctx context.Context,pvc*v1.PersistentVolumeClaim,size resource.Quantity,c clientset.Interface) (*v1.PersistentVolumeClaim,error) {
145+
pvcName:=pvc.Name
146+
pvcToUpdate:=pvc.DeepCopy()
147+
148+
varlastErrorerror
149+
waitErr:=wait.PollUntilContextTimeout(ctx,5*time.Second,csiResizeWaitPeriod,true,func(ctx context.Context) (bool,error) {
150+
varerrerror
151+
pvcToUpdate,err=c.CoreV1().PersistentVolumeClaims(pvc.Namespace).Get(ctx,pvcName, metav1.GetOptions{})
152+
iferr!=nil {
153+
returnfalse,fmt.Errorf("error fetching pvc %s: %w",pvcName,err)
154+
}
155+
pvcToUpdate.Status.AllocatedResources= v1.ResourceList{
156+
v1.ResourceStorage:size,
157+
}
158+
pvcToUpdate.Status.AllocatedResourceStatuses=map[v1.ResourceName]v1.ClaimResourceStatus{
159+
v1.ResourceStorage:v1.PersistentVolumeClaimNodeResizePending,
160+
}
161+
162+
pvcToUpdate,err=c.CoreV1().PersistentVolumeClaims(pvc.Namespace).UpdateStatus(ctx,pvcToUpdate, metav1.UpdateOptions{})
163+
iferr!=nil {
164+
framework.Logf("error updating PVC %s: %v",pvcName,err)
165+
lastError=err
166+
returnfalse,nil
167+
}
168+
returntrue,nil
169+
})
170+
ifwait.Interrupted(waitErr) {
171+
returnnil,fmt.Errorf("timed out attempting to update PVC size. last update error: %w",lastError)
172+
}
173+
ifwaitErr!=nil {
174+
returnnil,fmt.Errorf("failed to expand PVC size: %w",waitErr)
175+
}
176+
returnpvcToUpdate,nil
177+
}
178+
137179
funcUpdatePVSize(ctx context.Context,pv*v1.PersistentVolume,size resource.Quantity,c clientset.Interface) (*v1.PersistentVolume,error) {
138180
pvName:=pv.Name
139181
pvToUpdate:=pv.DeepCopy()

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp