Skip to content

Commit 797475e

Browse files
committed
DRA: add device taints API
This adds the "DeviceTaint" top-level type to v1alpha3 and related fields to ResourceSlice and ResourceClaim. It's complete enough bring up an API server and generate files.
1 parent 7fb028a commit 797475e

File tree

32 files changed

+2382
-46
lines changed

32 files changed

+2382
-46
lines changed

pkg/api/testing/defaulting_test.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,14 +135,20 @@ func TestDefaulting(t *testing.T) {
135135
{Group: "rbac.authorization.k8s.io", Version: "v1", Kind: "ClusterRoleBindingList"}: {},
136136
{Group: "rbac.authorization.k8s.io", Version: "v1", Kind: "RoleBinding"}: {},
137137
{Group: "rbac.authorization.k8s.io", Version: "v1", Kind: "RoleBindingList"}: {},
138+
{Group: "resource.k8s.io", Version: "v1alpha3", Kind: "DeviceTaintRule"}: {},
139+
{Group: "resource.k8s.io", Version: "v1alpha3", Kind: "DeviceTaintRuleList"}: {},
138140
{Group: "resource.k8s.io", Version: "v1alpha3", Kind: "ResourceClaim"}: {},
139141
{Group: "resource.k8s.io", Version: "v1alpha3", Kind: "ResourceClaimList"}: {},
140142
{Group: "resource.k8s.io", Version: "v1alpha3", Kind: "ResourceClaimTemplate"}: {},
141143
{Group: "resource.k8s.io", Version: "v1alpha3", Kind: "ResourceClaimTemplateList"}: {},
144+
{Group: "resource.k8s.io", Version: "v1alpha3", Kind: "ResourceSlice"}: {},
145+
{Group: "resource.k8s.io", Version: "v1alpha3", Kind: "ResourceSliceList"}: {},
142146
{Group: "resource.k8s.io", Version: "v1beta1", Kind: "ResourceClaim"}: {},
143147
{Group: "resource.k8s.io", Version: "v1beta1", Kind: "ResourceClaimList"}: {},
144148
{Group: "resource.k8s.io", Version: "v1beta1", Kind: "ResourceClaimTemplate"}: {},
145149
{Group: "resource.k8s.io", Version: "v1beta1", Kind: "ResourceClaimTemplateList"}: {},
150+
{Group: "resource.k8s.io", Version: "v1beta1", Kind: "ResourceSlice"}: {},
151+
{Group: "resource.k8s.io", Version: "v1beta1", Kind: "ResourceSliceList"}: {},
146152
{Group: "admissionregistration.k8s.io", Version: "v1alpha1", Kind: "ValidatingAdmissionPolicy"}: {},
147153
{Group: "admissionregistration.k8s.io", Version: "v1alpha1", Kind: "ValidatingAdmissionPolicyList"}: {},
148154
{Group: "admissionregistration.k8s.io", Version: "v1alpha1", Kind: "ValidatingAdmissionPolicyBinding"}: {},

pkg/apis/resource/fuzzer/fuzzer.go

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,9 @@ limitations under the License.
1717
package fuzzer
1818

1919
import (
20+
"time"
21+
22+
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
2023
"k8s.io/apimachinery/pkg/runtime"
2124
runtimeserializer "k8s.io/apimachinery/pkg/runtime/serializer"
2225
"k8s.io/kubernetes/pkg/apis/resource"
@@ -57,6 +60,24 @@ var Funcs = func(codecs runtimeserializer.CodecFactory) []interface{} {
5760
}[c.Int31n(2)]
5861
}
5962
},
63+
func(r *resource.DeviceToleration, c randfill.Continue) {
64+
c.FillNoCustom(r)
65+
if r.Operator == "" {
66+
r.Operator = []resource.DeviceTolerationOperator{
67+
resource.DeviceTolerationOpEqual,
68+
resource.DeviceTolerationOpExists,
69+
}[c.Int31n(2)]
70+
}
71+
},
72+
func(r *resource.DeviceTaint, c randfill.Continue) {
73+
c.FillNoCustom(r)
74+
if r.TimeAdded == nil {
75+
// Current time is more or less random.
76+
// Truncate to seconds because sub-second resolution
77+
// does not survive round-tripping.
78+
r.TimeAdded = &metav1.Time{Time: time.Now().Truncate(time.Second)}
79+
}
80+
},
6081
func(r *resource.OpaqueDeviceConfiguration, c randfill.Continue) {
6182
c.FillNoCustom(r)
6283
// Match the fuzzer default content for runtime.Object.

pkg/apis/resource/register.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,8 @@ func addKnownTypes(scheme *runtime.Scheme) error {
5454
scheme.AddKnownTypes(SchemeGroupVersion,
5555
&DeviceClass{},
5656
&DeviceClassList{},
57+
&DeviceTaintRule{},
58+
&DeviceTaintRuleList{},
5759
&ResourceClaim{},
5860
&ResourceClaimList{},
5961
&ResourceClaimTemplate{},

0 commit comments

Comments
 (0)