1
0
Fork 0
mirror of https://github.com/kubernetes-sigs/node-feature-discovery.git synced 2025-03-05 16:27:05 +00:00
Commit graph

1594 commits

Author SHA1 Message Date
Fabiano Fidêncio
10672e1bba cpu: Expose the total number of keys for TDX
The total amount of keys that can be used on a specific TDX system is
exposed via the cgroups misc.capacity. See:

```
$ cat /sys/fs/cgroup/misc.capacity
tdx 31
```

The first step to properly manage the amount of keys present in a node
is exposing it via the NFD, and that's exactly what this commit does.

An example of how it ends up being exposed via the NFD:

```
$ kubectl get node 984fee00befb.jf.intel.com -o jsonpath='{.metadata.labels}'  | jq | grep tdx.total_keys
  "feature.node.kubernetes.io/cpu-security.tdx.total_keys": "31",
```

Signed-off-by: Fabiano Fidêncio <fabiano.fidencio@intel.com>
2023-03-31 09:12:26 +02:00
Kubernetes Prow Robot
243c05e329
Merge pull request #1097 from ArangoGutierrez/amd_sev
cpu: expose AMD SEV support
2023-03-30 08:53:48 -07:00
Carlos Eduardo Arango Gutierrez
7171cfd4eb
cpu: expose AMD SEV support
Signed-off-by: Carlos Eduardo Arango Gutierrez <eduardoa@nvidia.com>
Co-authored-by: Carlos Eduardo Arango Gutierrez <eduardoa@nvidia.com>
Co-authored-by: Markus Lehtonen <markus.lehtonen@intel.com>
2023-03-30 15:19:43 +02:00
Kubernetes Prow Robot
821e042dbf
Merge pull request #1091 from AhmedGrati/feat-helm-enable-taints
feat: add enableTaints to helm chart
2023-03-21 02:59:09 -07:00
AhmedGrati
02b3b7c7e0 feat: add enableTaints to helm chart
Signed-off-by: AhmedGrati <ahmedgrati1999@gmail.com>
2023-03-21 10:49:24 +01:00
Kubernetes Prow Robot
b0a45cdb36
Merge pull request #1092 from AhmedGrati/add-debug-dump-worker-config
chore: add debug dump of nfd worker configuration
2023-03-21 01:55:08 -07:00
AhmedGrati
d0a6289c0f chore: add debug dump of nfd worker configuration
Signed-off-by: AhmedGrati <ahmedgrati1999@gmail.com>
2023-03-18 00:49:07 +01:00
Kubernetes Prow Robot
13f92faa77
Merge pull request #1031 from k8stopologyawareschedwg/reactive_updates
topology-updater: reactive updates
2023-03-17 10:13:17 -07:00
Talor Itzhak
5c6be580f4 reactive updates: add an option to disable the feature
Access to the kubelet state directory may raise concerns in some setups, added an option to disable it.
The feature is enabled by default.

Signed-off-by: Talor Itzhak <titzhak@redhat.com>
2023-03-16 11:53:16 +02:00
Talor Itzhak
727de56191 documentaion: document the reactive updates feature
Signed-off-by: Talor Itzhak <titzhak@redhat.com>
2023-03-16 11:53:12 +02:00
Talor Itzhak
91daff3b59 deployment/helm: update helm charts
Adding kubelet state directory mount

Signed-off-by: Talor Itzhak <titzhak@redhat.com>
2023-03-16 11:51:45 +02:00
Kubernetes Prow Robot
c14be60798
Merge pull request #1085 from fmuyassarov/ignore-cov-report
gitignore: ignore codecov coverage report
2023-03-16 01:39:16 -07:00
Kubernetes Prow Robot
4af31733c3
Merge pull request #1090 from ArangoGutierrez/update_prune_helm
kustomize: trim prune overlay
2023-03-15 12:51:05 -07:00
Carlos Eduardo Arango Gutierrez
355807f98c
kustomize: trim prune overlay
Signed-off-by: Carlos Eduardo Arango Gutierrez <eduardoa@nvidia.com>
2023-03-15 20:36:45 +01:00
Kubernetes Prow Robot
a06e44ef0b
Merge pull request #1083 from fmuyassarov/mockery
codegen: fix code-generation
2023-03-15 06:46:16 -07:00
Kubernetes Prow Robot
6688a2f232
Merge pull request #1087 from marquiz/devel/strigsetval
pkg/utils: add UnmarshalJSON method to StringSetVal
2023-03-15 01:44:15 -07:00
Markus Lehtonen
4a8fc811be pkg/utils: add UnmarshalJSON method to StringSetVal
Make it possible to specify values in yaml as an array like

  conf:
    - foo
    - bar

Instead of unwieldy map like

  conf:
    foo:
    bar:
2023-03-14 10:53:24 +02:00
Muyassarov, Feruzjon
28a2be436f gitignore: ignore codecov coverage report
We don't necessarily need to keep the codecov coverage report on the
git. As such, adding it to the gitignore to avoid it from accidental
commiting.

Signed-off-by: Muyassarov, Feruzjon <feruzjon.muyassarov@intel.com>
2023-03-13 12:08:32 +02:00
Talor Itzhak
6de13fe456 e2e: reactive updates test
Signed-off-by: Talor Itzhak <titzhak@redhat.com>
2023-03-12 12:43:17 +02:00
Talor Itzhak
8924213d14 topology-updater: make it possible to disable sleep-interval
Especially convenient for testing porpuses and
completely harmless

Signed-off-by: Talor Itzhak <titzhak@redhat.com>
2023-03-12 12:43:17 +02:00
Talor Itzhak
8afd819132 deployment/topology-updater: add mount for kubelet state dir
This mount is needed for watching the state files

Signed-off-by: Talor Itzhak <titzhak@redhat.com>
2023-03-12 12:43:13 +02:00
Talor Itzhak
1c12876815 topology-updater: log event type that triggered update
Specify the event type as part of the log message.
In order to reduce the log volume, make it V4

Signed-off-by: Talor Itzhak <titzhak@redhat.com>
2023-03-12 12:37:24 +02:00
Talor Itzhak
7b248ecae2 topology-updater: update CRs when notified
When a message received via the channel,
the main loop updates the `NodeResourceTopology` objects.

The notifier will send a message via the channel if:
1. It reached the sleep timeout.
2. It detected a change in Kubelet state files

Signed-off-by: Talor Itzhak <titzhak@redhat.com>
2023-03-12 12:37:24 +02:00
Talor Itzhak
175e0c81aa topology-updater: add kubelet-state-dir flag
On different Kubernetes flavors like OpenShift for exmaple,
the Kubelet state directory path is different. make it configurable
for maximum flexability.

Signed-off-by: Talor Itzhak <titzhak@redhat.com>
2023-03-12 12:37:24 +02:00
Talor Itzhak
0f65b87329 kubeletnotifier: introduce kubeletnotifier package
Enabling reactive update for nfd-topology-updater
by detecting changes in Kubelet state/checkpoint files,
and signaling to the main loop to update the NodeResourceTopology
objects.

This has high value when scaling is an issue.
Having multiple pods deployed in between single update instance
might reflect incorrect resource accounting in the NRT CRs.
Example:
Time Interval = 5s
t0 - New update sent to NRT CRs
t1 - Schedule guaranteed podA
t2 - Schedule guaranteed podB
time elapsed between t0-t2 < 5 seconds,
IOW the update on t0 is the recent update.

In t2 the resource accounting reflected by NRT
is not aligned with the actual accounting because
NRT CRs doesn't reflect the change happened in t1.

With this reactive update feature we expect an update to be trigger
between t1 and t2 so the NRT objects will reflect more accurate
picture.

There still might be a scenario when the updates
aren't fast enough, but this is an additional
future planned optimization.

The notifier has two event types:
1. Time based - keeping the old behavior, trigger
an update per interval.
2. FS event - trigger an update when Kubelet state/checkpoint files modified.

Signed-off-by: Talor Itzhak <titzhak@redhat.com>
2023-03-12 12:37:24 +02:00
Muyassarov, Feruzjon
e3a856b405 update re-generated code with make-generate results
Update generated code based on the updated from re-running make
generate.

Signed-off-by: Muyassarov, Feruzjon <feruzjon.muyassarov@intel.com>
2023-03-11 22:15:11 +02:00
Muyassarov, Feruzjon
99595f5fab omit go version control information (buildvcs)
Omit go version control information (buildvcs), otherwise
go command fails to obtain vcs status as shown below:

error obtaining VCS status: exit status 128
	Use -buildvcs=false to disable VCS stamping.

Signed-off-by: Muyassarov, Feruzjon <feruzjon.muyassarov@intel.com>
2023-03-11 22:14:24 +02:00
Muyassarov, Feruzjon
a58cc0a53b dependency: bump the mockery version to 2.20.0
Signed-off-by: Muyassarov, Feruzjon <feruzjon.muyassarov@intel.com>
2023-03-11 22:14:04 +02:00
Kubernetes Prow Robot
adea670ded
Merge pull request #1077 from marquiz/devel/deps
go.mod: update kubernetes to v1.26.2
2023-03-10 05:54:40 -08:00
Markus Lehtonen
5e5b1749d9 go.mod: update kubernetes to v1.26.2
Also updates golang.org/x/net to v0.7.0.
2023-03-10 15:31:16 +02:00
Kubernetes Prow Robot
56d186b4d1
Merge pull request #1070 from AhmedGrati/feat-implement-e2e-denylabelns-flag
test: implement e2e test of the deny-label-ns flag
2023-03-10 05:10:39 -08:00
Kubernetes Prow Robot
260c2f26ba
Merge pull request #1082 from marquiz/devel/ci-lint
scripts/test-infra: bump golangci-lint to v1.51.2
2023-03-10 02:30:41 -08:00
Markus Lehtonen
28cb0cd15d scripts/test-infra: bump golangci-lint to v1.51.2 2023-03-10 12:12:09 +02:00
AhmedGrati
16abfd7b0e test: implement e2e test of the deny-label-ns flag
Signed-off-by: AhmedGrati <ahmedgrati1999@gmail.com>
2023-03-10 11:11:36 +01:00
Kubernetes Prow Robot
fb69bac17f
Merge pull request #1076 from Sajiyah-Salat/sajiyah-#1075
Update worker-configuration-reference.md
2023-03-09 13:06:30 -08:00
Kubernetes Prow Robot
37504109d6
Merge pull request #1080 from marquiz/devel/deploy-topology-updater
deployment: fixes for mounting kubelet config
2023-03-09 09:50:02 -08:00
Kubernetes Prow Robot
d90a4f4d04
Merge pull request #1078 from marquiz/devel/helm
helm: fix topology-updater rbac
2023-03-09 09:42:02 -08:00
Markus Lehtonen
ed8a87b131 helm: fix handling of topologyUpdater.kubeletConfigPath
By default we use the configz API endpoint so no mounts are needed.
2023-03-09 17:49:31 +02:00
Markus Lehtonen
33a1e3d114 kustomize: drop mount for kubelet config in topology-updater
We use the configz endpoint nowadays.
2023-03-09 17:48:56 +02:00
Markus Lehtonen
40644aab60 helm: create topology-updater RBAC rules by default
Create RBAC rules if topology-updater is enabled. Previously installing
with topologyUpdater.enable=true (without
topologyUpdater.rbac.create=true) resulted in a crashloogbackoff as RBAC
was missing.
2023-03-09 16:16:09 +02:00
Markus Lehtonen
40d7139257 helm: fix topology-updater rbac clusterrole
Access to nodes/proxy resource was accidentally given to nfd-master
(which really doesn't need it), not topology-updater.
2023-03-09 16:15:03 +02:00
Sajiyah Salat
43bcacbb42
Create worker-configuration-reference.md 2023-03-08 21:34:52 +05:30
Sajiyah Salat
7082c31d6c
Update worker-configuration-reference.md 2023-03-08 21:33:44 +05:30
Sajiyah Salat
fb2d70a313
Update worker-configuration-reference.md 2023-03-08 21:28:45 +05:30
Kubernetes Prow Robot
9e55028c92
Merge pull request #1069 from fmuyassarov/codecov
test: add code coverage reporting
2023-03-07 06:58:42 -08:00
Kubernetes Prow Robot
f84e05e035
Merge pull request #1066 from AhmedGrati/fix-customization-guide-typos
docs: fix usage customization guide typos
2023-03-07 06:58:35 -08:00
Kubernetes Prow Robot
2b865759fd
Merge pull request #1073 from marquiz/devel/e2e-worker-wait
test/e2e: reduce worker wait-for-ready period to 2s
2023-03-07 04:18:18 -08:00
Kubernetes Prow Robot
9d517162ba
Merge pull request #1074 from marquiz/devel/e2e-crd-cleanup
test/e2e: cleanup NodeFeature objects before/after tests
2023-03-07 03:52:18 -08:00
Markus Lehtonen
66f6ea76dd test/e2e: cleanup NodeFeature objects before/after tests
Make sure that stale NodeFeature objects from previous test case are not
interfering the next one.
2023-03-07 13:24:01 +02:00
Markus Lehtonen
67bb6c2d5f test/e2e: reduce worker wait-for-ready period to 2s
Reduce the wait time of nfd-worker pods to be in ready-state (before
proceeding with tests) from five to two seconds. Make tests faster to
run. Two seconds should be enough for nfd-workers to do their job and
get nodes labeled.
2023-03-07 11:35:42 +02:00