Skip to content

Commit c25239f

Browse files
authored
Device plugins 0.34.0 (#82)
* dev plugin operator: pass secret to operator Signed-off-by: Tuomas Katila <[email protected]> * device plugins 0.34.0 New NPU plugin, FPGA and DLB not updated due to deprecation. Signed-off-by: Tuomas Katila <[email protected]> --------- Signed-off-by: Tuomas Katila <[email protected]>
1 parent 162a5ae commit c25239f

26 files changed

+371
-44
lines changed

charts/device-plugin-operator/Chart.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@ apiVersion: v2
22
name: intel-device-plugins-operator
33
description: A Helm chart for Intel Device Plugins Operator for Kubernetes
44
type: application
5-
version: 0.32.1
6-
appVersion: "0.32.1"
5+
version: 0.34.0
6+
appVersion: "0.34.0"

charts/device-plugin-operator/crds/deviceplugin.intel.com_dlbdeviceplugins.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
33
kind: CustomResourceDefinition
44
metadata:
55
annotations:
6-
controller-gen.kubebuilder.io/version: v0.16.1
6+
controller-gen.kubebuilder.io/version: v0.18.0
77
name: dlbdeviceplugins.deviceplugin.intel.com
88
spec:
99
group: deviceplugin.intel.com
@@ -31,7 +31,7 @@ spec:
3131
schema:
3232
openAPIV3Schema:
3333
description: |-
34-
DlbDevicePlugin is the Schema for the dlbdeviceplugins API. It represents
34+
DEPRECATED: DlbDevicePlugin is the Schema for the dlbdeviceplugins API. It represents
3535
the DLB device plugin responsible for advertising Intel DLB hardware resources to
3636
the kubelet.
3737
properties:

charts/device-plugin-operator/crds/deviceplugin.intel.com_dsadeviceplugins.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
33
kind: CustomResourceDefinition
44
metadata:
55
annotations:
6-
controller-gen.kubebuilder.io/version: v0.16.1
6+
controller-gen.kubebuilder.io/version: v0.18.0
77
name: dsadeviceplugins.deviceplugin.intel.com
88
spec:
99
group: deviceplugin.intel.com

charts/device-plugin-operator/crds/deviceplugin.intel.com_fpgadeviceplugins.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
33
kind: CustomResourceDefinition
44
metadata:
55
annotations:
6-
controller-gen.kubebuilder.io/version: v0.16.1
6+
controller-gen.kubebuilder.io/version: v0.18.0
77
name: fpgadeviceplugins.deviceplugin.intel.com
88
spec:
99
group: deviceplugin.intel.com
@@ -31,7 +31,7 @@ spec:
3131
schema:
3232
openAPIV3Schema:
3333
description: |-
34-
FpgaDevicePlugin is the Schema for the fpgadeviceplugins API. It represents
34+
DEPRECATED: FpgaDevicePlugin is the Schema for the fpgadeviceplugins API. It represents
3535
the FPGA device plugin responsible for advertising Intel FPGA hardware resources to
3636
the kubelet.
3737
properties:

charts/device-plugin-operator/crds/deviceplugin.intel.com_gpudeviceplugins.yaml

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
33
kind: CustomResourceDefinition
44
metadata:
55
annotations:
6-
controller-gen.kubebuilder.io/version: v0.16.1
6+
controller-gen.kubebuilder.io/version: v0.18.0
77
name: gpudeviceplugins.deviceplugin.intel.com
88
spec:
99
group: deviceplugin.intel.com
@@ -55,6 +55,20 @@ spec:
5555
spec:
5656
description: GpuDevicePluginSpec defines the desired state of GpuDevicePlugin.
5757
properties:
58+
allowIDs:
59+
description: |-
60+
AllowIDs is a comma-separated list of PCI IDs of GPU devices that should only be advertised by the plugin.
61+
If not set, all devices are advertised.
62+
The list can contain IDs in the form of '0x1234,0x49a4,0x50b4'.
63+
Cannot be used together with DenyIDs.
64+
type: string
65+
denyIDs:
66+
description: |-
67+
DenyIDs is a comma-separated list of PCI IDs of GPU devices that should only be denied by the plugin.
68+
If not set, all devices are advertised.
69+
The list can contain IDs in the form of '0x1234,0x49a4,0x50b4'.
70+
Cannot be used together with AllowIDs.
71+
type: string
5872
enableMonitoring:
5973
description: |-
6074
EnableMonitoring enables the monitoring resource ('i915_monitoring')
@@ -81,16 +95,11 @@ spec:
8195
description: |-
8296
PreferredAllocationPolicy sets the mode of allocating GPU devices on a node.
8397
See documentation for detailed description of the policies. Only valid when SharedDevNum > 1 is set.
84-
Not applicable with ResourceManager.
8598
enum:
8699
- balanced
87100
- packed
88101
- none
89102
type: string
90-
resourceManager:
91-
description: ResourceManager handles the fractional resource management
92-
for multi-GPU nodes. Enable only for clusters with GPU Aware Scheduling.
93-
type: boolean
94103
sharedDevNum:
95104
description: SharedDevNum is a number of containers that can share
96105
the same GPU device.

charts/device-plugin-operator/crds/deviceplugin.intel.com_iaadeviceplugins.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
33
kind: CustomResourceDefinition
44
metadata:
55
annotations:
6-
controller-gen.kubebuilder.io/version: v0.16.1
6+
controller-gen.kubebuilder.io/version: v0.18.0
77
name: iaadeviceplugins.deviceplugin.intel.com
88
spec:
99
group: deviceplugin.intel.com
Lines changed: 191 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,191 @@
1+
---
2+
apiVersion: apiextensions.k8s.io/v1
3+
kind: CustomResourceDefinition
4+
metadata:
5+
annotations:
6+
controller-gen.kubebuilder.io/version: v0.18.0
7+
name: npudeviceplugins.deviceplugin.intel.com
8+
spec:
9+
group: deviceplugin.intel.com
10+
names:
11+
kind: NpuDevicePlugin
12+
listKind: NpuDevicePluginList
13+
plural: npudeviceplugins
14+
singular: npudeviceplugin
15+
scope: Cluster
16+
versions:
17+
- additionalPrinterColumns:
18+
- jsonPath: .status.desiredNumberScheduled
19+
name: Desired
20+
type: integer
21+
- jsonPath: .status.numberReady
22+
name: Ready
23+
type: integer
24+
- jsonPath: .spec.nodeSelector
25+
name: Node Selector
26+
type: string
27+
- jsonPath: .metadata.creationTimestamp
28+
name: Age
29+
type: date
30+
name: v1
31+
schema:
32+
openAPIV3Schema:
33+
description: |-
34+
NpuDevicePlugin is the Schema for the npudeviceplugins API. It represents
35+
the NPU device plugin responsible for advertising Intel NPU hardware resources to
36+
the kubelet.
37+
properties:
38+
apiVersion:
39+
description: |-
40+
APIVersion defines the versioned schema of this representation of an object.
41+
Servers should convert recognized schemas to the latest internal value, and
42+
may reject unrecognized values.
43+
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
44+
type: string
45+
kind:
46+
description: |-
47+
Kind is a string value representing the REST resource this object represents.
48+
Servers may infer this from the endpoint the client submits requests to.
49+
Cannot be updated.
50+
In CamelCase.
51+
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
52+
type: string
53+
metadata:
54+
type: object
55+
spec:
56+
description: NpuDevicePluginSpec defines the desired state of NpuDevicePlugin.
57+
properties:
58+
image:
59+
description: Image is a container image with NPU device plugin executable.
60+
type: string
61+
logLevel:
62+
description: LogLevel sets the plugin's log level.
63+
minimum: 0
64+
type: integer
65+
nodeSelector:
66+
additionalProperties:
67+
type: string
68+
description: NodeSelector provides a simple way to constrain device
69+
plugin pods to nodes with particular labels.
70+
type: object
71+
sharedDevNum:
72+
description: SharedDevNum is a number of containers that can share
73+
the same NPU device.
74+
minimum: 1
75+
type: integer
76+
tolerations:
77+
description: Specialized nodes (e.g., with accelerators) can be Tainted
78+
to make sure unwanted pods are not scheduled on them. Tolerations
79+
can be set for the plugin pod to neutralize the Taint.
80+
items:
81+
description: |-
82+
The pod this Toleration is attached to tolerates any taint that matches
83+
the triple <key,value,effect> using the matching operator <operator>.
84+
properties:
85+
effect:
86+
description: |-
87+
Effect indicates the taint effect to match. Empty means match all taint effects.
88+
When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
89+
type: string
90+
key:
91+
description: |-
92+
Key is the taint key that the toleration applies to. Empty means match all taint keys.
93+
If the key is empty, operator must be Exists; this combination means to match all values and all keys.
94+
type: string
95+
operator:
96+
description: |-
97+
Operator represents a key's relationship to the value.
98+
Valid operators are Exists and Equal. Defaults to Equal.
99+
Exists is equivalent to wildcard for value, so that a pod can
100+
tolerate all taints of a particular category.
101+
type: string
102+
tolerationSeconds:
103+
description: |-
104+
TolerationSeconds represents the period of time the toleration (which must be
105+
of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,
106+
it is not set, which means tolerate the taint forever (do not evict). Zero and
107+
negative values will be treated as 0 (evict immediately) by the system.
108+
format: int64
109+
type: integer
110+
value:
111+
description: |-
112+
Value is the taint value the toleration matches to.
113+
If the operator is Exists, the value should be empty, otherwise just a regular string.
114+
type: string
115+
type: object
116+
type: array
117+
type: object
118+
status:
119+
description: NpuDevicePluginStatus defines the observed state of NpuDevicePlugin.
120+
properties:
121+
controlledDaemonSet:
122+
description: ControlledDaemoSet references the DaemonSet controlled
123+
by the operator.
124+
properties:
125+
apiVersion:
126+
description: API version of the referent.
127+
type: string
128+
fieldPath:
129+
description: |-
130+
If referring to a piece of an object instead of an entire object, this string
131+
should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].
132+
For example, if the object reference is to a container within a pod, this would take on a value like:
133+
"spec.containers{name}" (where "name" refers to the name of the container that triggered
134+
the event) or if no container name is specified "spec.containers[2]" (container with
135+
index 2 in this pod). This syntax is chosen only to have some well-defined way of
136+
referencing a part of an object.
137+
type: string
138+
kind:
139+
description: |-
140+
Kind of the referent.
141+
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
142+
type: string
143+
name:
144+
description: |-
145+
Name of the referent.
146+
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
147+
type: string
148+
namespace:
149+
description: |-
150+
Namespace of the referent.
151+
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
152+
type: string
153+
resourceVersion:
154+
description: |-
155+
Specific resourceVersion to which this reference is made, if any.
156+
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency
157+
type: string
158+
uid:
159+
description: |-
160+
UID of the referent.
161+
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids
162+
type: string
163+
type: object
164+
x-kubernetes-map-type: atomic
165+
desiredNumberScheduled:
166+
description: |-
167+
The total number of nodes that should be running the device plugin
168+
pod (including nodes correctly running the device plugin pod).
169+
format: int32
170+
type: integer
171+
nodeNames:
172+
description: The list of Node names where the device plugin pods are
173+
running.
174+
items:
175+
type: string
176+
type: array
177+
numberReady:
178+
description: |-
179+
The number of nodes that should be running the device plugin pod and have one
180+
or more of the device plugin pod running and ready.
181+
format: int32
182+
type: integer
183+
required:
184+
- desiredNumberScheduled
185+
- numberReady
186+
type: object
187+
type: object
188+
served: true
189+
storage: true
190+
subresources:
191+
status: {}

charts/device-plugin-operator/crds/deviceplugin.intel.com_qatdeviceplugins.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
33
kind: CustomResourceDefinition
44
metadata:
55
annotations:
6-
controller-gen.kubebuilder.io/version: v0.16.1
6+
controller-gen.kubebuilder.io/version: v0.18.0
77
name: qatdeviceplugins.deviceplugin.intel.com
88
spec:
99
group: deviceplugin.intel.com
@@ -83,6 +83,7 @@ spec:
8383
- 4xxxvf
8484
- 420xxvf
8585
- c4xxxvf
86+
- 6xxxvf
8687
type: string
8788
type: array
8889
logLevel:

charts/device-plugin-operator/crds/deviceplugin.intel.com_sgxdeviceplugins.yaml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
33
kind: CustomResourceDefinition
44
metadata:
55
annotations:
6-
controller-gen.kubebuilder.io/version: v0.16.1
6+
controller-gen.kubebuilder.io/version: v0.18.0
77
name: sgxdeviceplugins.deviceplugin.intel.com
88
spec:
99
group: deviceplugin.intel.com
@@ -55,6 +55,10 @@ spec:
5555
spec:
5656
description: SgxDevicePluginSpec defines the desired state of SgxDevicePlugin.
5757
properties:
58+
dcapInfraResources:
59+
description: DcapInfraResources flag enables two special resources
60+
for Intel DCAP infrastructure containers.
61+
type: boolean
5862
enclaveLimit:
5963
description: EnclaveLimit is a number of containers that can share
6064
the same SGX enclave device.

charts/device-plugin-operator/crds/fpga.intel.com_acceleratorfunctions.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
33
kind: CustomResourceDefinition
44
metadata:
55
annotations:
6-
controller-gen.kubebuilder.io/version: v0.16.1
6+
controller-gen.kubebuilder.io/version: v0.18.0
77
name: acceleratorfunctions.fpga.intel.com
88
spec:
99
group: fpga.intel.com

0 commit comments

Comments
 (0)