Skip to content

Commit 77dbc43

Browse files
milantracygvisor-bot
authored andcommitted
Fix broken deps.
PiperOrigin-RevId: 916656271
1 parent fb5ef64 commit 77dbc43

1 file changed

Lines changed: 17 additions & 6 deletions

File tree

test/kubernetes/testcluster/objects.go

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ func (n *Namespace) NewPod(name string) *v13.Pod {
139139

140140
// GetPersistentVolume gets a persistent volume spec for benchmarks.
141141
func (n *Namespace) GetPersistentVolume(name, size string) *v13.PersistentVolumeClaim {
142-
return &v13.PersistentVolumeClaim{
142+
pvc := &v13.PersistentVolumeClaim{
143143
TypeMeta: v1.TypeMeta{
144144
Kind: "PersistentVolumeClaim",
145145
APIVersion: apiV1,
@@ -150,13 +150,24 @@ func (n *Namespace) GetPersistentVolume(name, size string) *v13.PersistentVolume
150150
},
151151
Spec: v13.PersistentVolumeClaimSpec{
152152
AccessModes: []v13.PersistentVolumeAccessMode{v13.ReadWriteOnce},
153-
Resources: v13.ResourceRequirements{
154-
Requests: v13.ResourceList{
155-
v13.ResourceStorage: resource.MustParse(size),
156-
},
157-
},
158153
},
159154
}
155+
156+
// Use reflection to set Spec.Resources.Requests in a compatible way for
157+
// both k8s.io/api v0.23 (ResourceRequirements) and v0.32+
158+
// (VolumeResourceRequirements).
159+
vSpec := reflect.ValueOf(&pvc.Spec).Elem()
160+
vResources := vSpec.FieldByName("Resources")
161+
if vResources.IsValid() {
162+
vRequests := vResources.FieldByName("Requests")
163+
if vRequests.IsValid() && vRequests.CanSet() {
164+
reqs := v13.ResourceList{
165+
v13.ResourceStorage: resource.MustParse(size),
166+
}
167+
vRequests.Set(reflect.ValueOf(reqs))
168+
}
169+
}
170+
return pvc
160171
}
161172

162173
// GetService gets a service spec for benchmarks.

0 commit comments

Comments
 (0)