Skip to content

Commit

Permalink
Device plugins 0.30 release (#55)
Browse files Browse the repository at this point in the history
* device plugins: change default nodeFeatureRule to true

nodeSelector defaults to NFD label making it more logical
to have the rule on by default.

Signed-off-by: Tuomas Katila <tuomas.katila@intel.com>

* dp operator: set rbac proxy's seccompProfile

Signed-off-by: Tuomas Katila <tuomas.katila@intel.com>

* device plugins: 0.30.0 release

Update CRDs for all plugins: support tolerations
GPU support i915 and xe KMDs
QAT support 420xx device

Signed-off-by: Tuomas Katila <tuomas.katila@intel.com>

---------

Signed-off-by: Tuomas Katila <tuomas.katila@intel.com>
  • Loading branch information
tkatila committed May 15, 2024
1 parent d709e35 commit c4c753e
Show file tree
Hide file tree
Showing 34 changed files with 733 additions and 303 deletions.
4 changes: 2 additions & 2 deletions charts/device-plugin-operator/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@ apiVersion: v2
name: intel-device-plugins-operator
description: A Helm chart for Intel Device Plugins Operator for Kubernetes
type: application
version: 0.29.0
appVersion: "0.29.0"
version: 0.30.0
appVersion: "0.30.0"
2 changes: 1 addition & 1 deletion charts/device-plugin-operator/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ You may also run `helm show values` on this chart's dependencies for additional
| `manager.image.hub` | `intel` |
| `manager.image.tag` | `` |
| `kubeRbacProxy.image.hub` | `gcr.io` |
| `kubeRbacProxy.image.tag` | `v0.14.1` |
| `kubeRbacProxy.image.tag` | `v0.16.0` |
| `kubeRbacProxy.image.pullPolicy` | `IfNotPresent` |
| `privateRegistry.registryUrl` | `` |
| `privateRegistry.registryUser` | `` |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.13.0
controller-gen.kubebuilder.io/version: v0.14.0
name: dlbdeviceplugins.deviceplugin.intel.com
spec:
group: deviceplugin.intel.com
Expand All @@ -30,19 +30,25 @@ spec:
name: v1
schema:
openAPIV3Schema:
description: DlbDevicePlugin is the Schema for the dlbdeviceplugins API. It
represents the DLB device plugin responsible for advertising Intel DLB hardware
resources to the kubelet.
description: |-
DlbDevicePlugin is the Schema for the dlbdeviceplugins API. It represents
the DLB device plugin responsible for advertising Intel DLB hardware resources to
the kubelet.
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
description: |-
APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
type: string
kind:
description: 'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
description: |-
Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
type: string
metadata:
type: object
Expand All @@ -66,6 +72,47 @@ spec:
description: NodeSelector provides a simple way to constrain device
plugin pods to nodes with particular labels.
type: object
tolerations:
description: Specialized nodes (e.g., with accelerators) can be Tainted
to make sure unwanted pods are not scheduled on them. Tolerations
can be set for the plugin pod to neutralize the Taint.
items:
description: |-
The pod this Toleration is attached to tolerates any taint that matches
the triple <key,value,effect> using the matching operator <operator>.
properties:
effect:
description: |-
Effect indicates the taint effect to match. Empty means match all taint effects.
When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
type: string
key:
description: |-
Key is the taint key that the toleration applies to. Empty means match all taint keys.
If the key is empty, operator must be Exists; this combination means to match all values and all keys.
type: string
operator:
description: |-
Operator represents a key's relationship to the value.
Valid operators are Exists and Equal. Defaults to Equal.
Exists is equivalent to wildcard for value, so that a pod can
tolerate all taints of a particular category.
type: string
tolerationSeconds:
description: |-
TolerationSeconds represents the period of time the toleration (which must be
of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,
it is not set, which means tolerate the taint forever (do not evict). Zero and
negative values will be treated as 0 (evict immediately) by the system.
format: int64
type: integer
value:
description: |-
Value is the taint value the toleration matches to.
If the operator is Exists, the value should be empty, otherwise just a regular string.
type: string
type: object
type: array
type: object
status:
description: DlbDevicePluginStatus defines the observed state of DlbDevicePlugin.
Expand All @@ -78,40 +125,47 @@ spec:
description: API version of the referent.
type: string
fieldPath:
description: 'If referring to a piece of an object instead of
an entire object, this string should contain a valid JSON/Go
field access statement, such as desiredState.manifest.containers[2].
For example, if the object reference is to a container within
a pod, this would take on a value like: "spec.containers{name}"
(where "name" refers to the name of the container that triggered
the event) or if no container name is specified "spec.containers[2]"
(container with index 2 in this pod). This syntax is chosen
only to have some well-defined way of referencing a part of
an object. TODO: this design is not final and this field is
subject to change in the future.'
description: |-
If referring to a piece of an object instead of an entire object, this string
should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].
For example, if the object reference is to a container within a pod, this would take on a value like:
"spec.containers{name}" (where "name" refers to the name of the container that triggered
the event) or if no container name is specified "spec.containers[2]" (container with
index 2 in this pod). This syntax is chosen only to have some well-defined way of
referencing a part of an object.
TODO: this design is not final and this field is subject to change in the future.
type: string
kind:
description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
description: |-
Kind of the referent.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
type: string
name:
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
description: |-
Name of the referent.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
type: string
namespace:
description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
description: |-
Namespace of the referent.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
type: string
resourceVersion:
description: 'Specific resourceVersion to which this reference
is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
description: |-
Specific resourceVersion to which this reference is made, if any.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency
type: string
uid:
description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
description: |-
UID of the referent.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids
type: string
type: object
x-kubernetes-map-type: atomic
desiredNumberScheduled:
description: The total number of nodes that should be running the
device plugin pod (including nodes correctly running the device
plugin pod).
description: |-
The total number of nodes that should be running the device plugin
pod (including nodes correctly running the device plugin pod).
format: int32
type: integer
nodeNames:
Expand All @@ -121,9 +175,9 @@ spec:
type: string
type: array
numberReady:
description: The number of nodes that should be running the device
plugin pod and have one or more of the device plugin pod running
and ready.
description: |-
The number of nodes that should be running the device plugin pod and have one
or more of the device plugin pod running and ready.
format: int32
type: integer
required:
Expand Down
Loading

0 comments on commit c4c753e

Please sign in to comment.