Skip to content
This repository has been archived by the owner on Sep 9, 2024. It is now read-only.

Enable the usage of Device Plugins #38

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

ejalberti
Copy link
Contributor

In certain situations, processing resources are made available through Device Plugins, either because they are structures to be isolated, or because they require some special treatment. In these cases, Intel Power Manager is not able to recognize device plugins and treat them as CPU resources.

This modification aims to enable the use of device plugins as processing resources, whenever this indication is convenient. To do so, the user must declare, during the application of PowerConfig, which "customDevices" must be considered during the admission of the pod.

This modification also exempts the user from using the "CPU" directive in resource requests whenever an entry of custom Device is indicated.

In certain situations, processing resources are made available
through Device Plugins,  either because they are structures to
be isolated, or because  they require  some special treatment.
In these cases,  Intel Power Manager is  not able to recognize
device plugins and treat them as CPU resources.

This modification aims to enable the use of device plugins as
processing resources, whenever this indication is convenient.
To do so,  the user must declare,  during the  application of
PowerConfig, which "customDevices" must  be considered during
the admission of the pod.

This modification also exempts the user from using the "CPU"
directive in resource requests whenever an entry of custom
Device is indicated.

Signed-off-by: Eduardo Alberti <eduardo.alberti@windriver.com>
k8s.io/client-go v0.27.1
k8s.io/klog/v2 v2.100.1
k8s.io/kubelet v0.27.1
k8s.io/api v0.26.3
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

any reason for using an earlier version?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When using newer versions of modules, compilation results in a missing method error. The Controller-runtime calls for a method that has a different implementation than previous versions, causing this error:

0 32.21 /go/pkg/mod/sigs.k8s.io/controller-runtime@v0.14.6/pkg/cache/multi_namespace_cache.go:321:9: cannot use handles (variable of type map[string]"k8s.io/client-go/tools/cache".ResourceEventHandlerRegistration) as "k8s.io/client-go/tools/cache".ResourceEventHandlerRegistration value in return statement: map[string]"k8s.io/client-go/tools/cache".ResourceEventHandlerRegistration does not implement "k8s.io/client-go/tools/cache".ResourceEventHandlerRegistration (missing method HasSynced)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We will investigate. Thank you.

We have to use latest versions for CVE reasons.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey @ejalberti thank you so much for reaching out regarding the device plugin. I was wondering if you would be able to share more details regarding what the plugins are, what test case and environment that and any other general information you can share with us, Thanks a million.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants