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

1368 commits

Author SHA1 Message Date
Talor Itzhak
6364803b0c e2e: move pod utils to a seperate package
By moving those utils in to a seperate package,
we can make the functions names shorter and clearer.

For example, instead of:
```
testutils.NFDWorkerPod(opts...)
testutils.NFDMasterPod(opts...)
testutils.SpecWithContainerImage(...)
```
we'll have:
```
testpod.NFDWorker(opts...)
testpod.NFDMaster(opts...)
testpod.SpecWithContainerImage(...)
```

It will also make the package more isolated and portable.

Signed-off-by: Talor Itzhak <titzhak@redhat.com>
2022-11-29 13:47:00 +02:00
Kubernetes Prow Robot
87573b08ba
Merge pull request #971 from marquiz/fixes/e2e
test/e2e: remove dropped -sleep-interval arg
2022-11-29 01:01:22 -08:00
Markus Lehtonen
6f02ef92de test/e2e: remove dropped -sleep-interval arg
Replace with a ConfigMap-based configuration.
2022-11-29 10:22:48 +02:00
Kubernetes Prow Robot
efc833d1c7
Merge pull request #970 from marquiz/docs/worker-helm-sa-params
docs: document helm chart params related to worker serviceaccount
2022-11-28 08:36:08 -08:00
Kubernetes Prow Robot
a4627758d9
Merge pull request #969 from marquiz/docs/helm-params-fix
docs: revise topology-updater helm chart rbac parameters
2022-11-28 08:26:07 -08:00
Markus Lehtonen
d0a4cf7564 docs: document helm chart params related to worker serviceaccount 2022-11-28 18:07:17 +02:00
Markus Lehtonen
c1fa8b2f28 docs: revise topology-updater helm chart rbac parameters 2022-11-28 17:49:19 +02:00
Kubernetes Prow Robot
3139897588
Merge pull request #968 from marquiz/devel/worker-flags
nfd-worker: drop deprecated command line flags
2022-11-28 00:26:07 -08:00
Kubernetes Prow Robot
ef2c498a6f
Merge pull request #966 from k8stopologyawareschedwg/sc_for_master
e2e: add SecurityContext to master
2022-11-24 22:18:04 -08:00
Kubernetes Prow Robot
7bab38a51e
Merge pull request #965 from marquiz/devel/e2e-confifmap
test/e2e: add helper for creating new configmaps
2022-11-24 15:46:04 -08:00
Talor Itzhak
f31b70dce4 e2e: add SecurityContext to master
The master pod need these `SecurityContext` configurations
In order to run inside a namespace with restricted policy

Signed-off-by: Talor Itzhak <titzhak@redhat.com>
2022-11-24 14:48:01 +02:00
Markus Lehtonen
0174a6405b test/e2e: add helper for creating new configmaps
Implement a simple helper for creating a configmap with one key. One key
(one config file) is enough for our current tests.
2022-11-24 10:56:15 +02:00
Markus Lehtonen
eb8e29c80a nfd-worker: drop deprecated command line flags
Drop the following flags that were deprecated already in v0.8.0:

-sleep-interval  (replaced by core.sleepInterval config file option)
-label-whitelist (replaced by core.labelWhiteList config file option)
-sources         (replaced by -label-sources flag)
2022-11-23 22:33:51 +02:00
Kubernetes Prow Robot
213bbdc8d7
Merge pull request #964 from marquiz/devel/e2e-pod-opts
test/e2e: more flexible pod spec generation
2022-11-23 10:32:15 -08:00
Markus Lehtonen
1719ce6736 test/e2e: more flexible pod spec generation
Change the pod spec generator functions to accept parameterization in
the form of more generic "mutator functions". This makes the addition of
new test specific pod spec customizations a lot cleaner. Plus, hopefully
makes the code a bit more readable as well.

Also, slightly simplify the SpecWithConfigMap() but dropping one
redundant argument.

Inspired by latest contributions by Talor Itzhak (titzhak@redhat.com).
2022-11-23 09:36:14 +02:00
Kubernetes Prow Robot
592d6c67d0
Merge pull request #949 from k8stopologyawareschedwg/exclude_list
topology-updater: introduce exclude-list
2022-11-21 23:26:13 -08:00
Talor Itzhak
d495376f06 docs: topology-updater: update docs for exclude-list feature
Update the docs with explanations and examples
about the exclude-list feature.

Signed-off-by: Talor Itzhak <titzhak@redhat.com>
2022-11-21 21:31:51 +02:00
Talor Itzhak
f832a7e4a8 helm: topology-updater: enable the configuration via helm
- Add a helm template with a config example for the exclude-list.
- Add mount for the topology-updater.conf file
- Update the templates Makefile target

Signed-off-by: Talor Itzhak <titzhak@redhat.com>
2022-11-21 21:31:37 +02:00
Talor Itzhak
8b5918a2e9 kustomize: topology-updater: enable the configuration via kustomization
Add a kustomization file with a config example for the exclude-list.

Signed-off-by: Talor Itzhak <titzhak@redhat.com>
2022-11-21 21:31:14 +02:00
Talor Itzhak
2896541bf1 e2e: topology-updater: add e2e test for exclude-list feature
Signed-off-by: Talor Itzhak <titzhak@redhat.com>
2022-11-21 21:30:53 +02:00
Talor Itzhak
1385d50222 e2e: topology-updater: decouple configuration from creation
Different tests requires different configuration
of the topology-updater DaemonSet.
Here, we decouple the configuration from the creation part
using `JustBeforeEach` so that each test container
will has its own configuration.

Additional reading:
https://onsi.github.io/ginkgo/#separating-creation-and-configuration-justbeforeeach

Signed-off-by: Talor Itzhak <titzhak@redhat.com>
2022-11-21 14:08:25 +02:00
Talor Itzhak
5b0788ced4 topology-updater: introduce exclude-list
The exclude-list allows to filter specific resource accounting
from NRT's objects per node basis.

The CRs created by the topology-updater are used by the scheduler-plugin
as a source of truth for making scheduling decisions.
As such, this feature allows to hide specific information
from the scheduler, which in turn
will affect the scheduling decision.
A common use case is when user would like to perform scheduling
decisions which are based on a specific resource.
In that case, we can exclude all the other resources
which we don't want the scheduler to exemine.

The exclude-list is provided to the topology-updater via a ConfigMap.
Resource type's names specified in the list should match the names
as shown here: https://pkg.go.dev/k8s.io/api/core/v1#ResourceName

This is a resurrection of an old work started here:
https://github.com/kubernetes-sigs/node-feature-discovery/pull/545

Signed-off-by: Talor Itzhak <titzhak@redhat.com>
2022-11-21 14:08:25 +02:00
Kubernetes Prow Robot
2c0b6f345f
Merge pull request #961 from k8stopologyawareschedwg/fix_topologyupdater_e2e
e2e: topologyupdater: fix and stabilize tests
2022-11-21 03:56:31 -08:00
Talor Itzhak
546d0c3a1b e2e: topologyupdater: wait for deletion
It might take time for the CRD to get deleted
and it might cause some falkiness in the tests.

Now before we create the CRD, we make sure to delete
the old object, wait for it deletion to complete
and only then create a new CRD object.

Signed-off-by: Talor Itzhak <titzhak@redhat.com>
2022-11-21 12:26:42 +02:00
Talor Itzhak
1b6fad6427 e2e: topologyupdater: insert condition check into eventually
We might not get the most updated node topology
resource on the first `GET` call.
Hence, put the whole check inside `Eventually`,
and check for the most updated node topology resource on every
iteration.

Signed-off-by: Talor Itzhak <titzhak@redhat.com>
2022-11-21 12:26:42 +02:00
Talor Itzhak
a65278d890 e2e: podSecurity: adapt PodSecurity constraints
The tested pods have some lax spec wrt security,
hence a restrict podSecurity namespace won't allow running those pods.

In topology-updater tests, the topology-updater pod
needs to run the container as root
so change the namespace podSecurity from restricted to priviliged.

In node-feature-discovery tests, we don't need root access,
so add the required security context configuration.

Signed-off-by: Talor Itzhak <titzhak@redhat.com>
2022-11-21 12:26:36 +02:00
Kubernetes Prow Robot
be8012e035
Merge pull request #960 from marquiz/fixes/e2e
test/e2e: fix topologu-updater cmdline args
2022-11-17 04:12:39 -08:00
Markus Lehtonen
a32ed5ecb1 test/e2e: fix topologu-updater cmdline args
The -kubelet-config-file flag got renamed to -kubelet-config-uri and the
expected format changed from plain filepath to URI.
2022-11-17 13:53:41 +02:00
Kubernetes Prow Robot
bbd383b302
Merge pull request #959 from marquiz/docs/deps
docs: update github-pages gem to v227
2022-11-16 14:32:50 -08:00
Markus Lehtonen
6f49421c0e docs: update github-pages gem to v227 2022-11-16 21:08:13 +02:00
Kubernetes Prow Robot
554145f477
Merge pull request #842 from Garrybest/pr_config
nfd-topology-updater: retrieve kubelet config from API `/configz`
2022-11-11 04:12:11 -08:00
Garrybest
3ec1b94020 get kubelet config from configz
Signed-off-by: Garrybest <garrybest@foxmail.com>
2022-11-08 23:52:35 +08:00
Kubernetes Prow Robot
add6f187f6
Merge pull request #927 from yselkowitz/cpuid
cpu: fix 32-bit ARMv8 CPU flags
2022-11-08 07:08:23 -08:00
Kubernetes Prow Robot
49119ed74b
Merge pull request #952 from fmuyassarov/add-client-arg
Add argument to updateNodeFeatures method to pass client from caller
2022-11-07 01:54:16 -08:00
Feruzjon Muyassarov
7ea0e0b0a7 Add argument to updateNodeFeatures method to pass client from caller
This commit adds an argument to updateNodeFeatures method for receiving
client argument, which currently gets initialized within the method
itself. This is a minor improvement for https://github.com/kubernetes-sigs/node-feature-discovery/pull/910.

Ref:https://github.com/kubernetes-sigs/node-feature-discovery/pull/910#discussion_r1012703631

Signed-off-by: Feruzjon Muyassarov <feruzjon.muyassarov@intel.com>
2022-11-06 22:37:11 +02:00
Kubernetes Prow Robot
c1c235070c
Merge pull request #950 from marquiz/devel/docs-restructure
docs: restructure docs
2022-11-03 01:41:36 -07:00
Markus Lehtonen
6171c745a4 docs: restructure docs
Introduce two main sections "Deployment" and "Usage" and move "Developer
guide" to the top level, too. In particular, split the huge
deployment-and-usage file into multiple parts under the new main
sections. Move customization guide from "Advanced" to "Usage".
This patch also renames "Advanced" to "Reference" as only that is left
there is reference documentation.
2022-11-03 10:26:56 +02:00
Kubernetes Prow Robot
34781af9e5
Merge pull request #917 from fmuyassarov/ephemeral-e2e
add ephemeral environment for e2e test execution
2022-11-02 10:35:15 -07:00
Kubernetes Prow Robot
601d6943dc
Merge pull request #948 from marquiz/fixes/docs
docs: update the name of the base image
2022-11-02 10:05:16 -07:00
Feruzjon Muyassarov
0118215826 Add ephemeral E2E test environment
This patch adds a script to run E2E test on kind ephemeral cluster
that gets deleted by the end of each test. Eventually, we will use
this script on pull requests as a presubmit test.

Signed-off-by: Feruzjon Muyassarov <feruzjon.muyassarov@intel.com>
2022-11-02 15:30:56 +02:00
Markus Lehtonen
3a279ce751 docs: update the name of the base image 2022-11-02 15:10:46 +02:00
Kubernetes Prow Robot
8bbccee970
Merge pull request #946 from marquiz/devel/readme
README: update deployment instructions to use v0.11.3
2022-11-01 04:08:45 -07:00
Markus Lehtonen
b81fc42cd3 README: update deployment instructions to use v0.11.3 2022-11-01 11:31:36 +02:00
Kubernetes Prow Robot
f454e74bba
Merge pull request #938 from fmuyassarov/increase-timeout
Increase image waiting timeout
2022-10-28 06:46:31 -07:00
Feruzjon Muyassarov
ea8906203a Increase image waiting timeout
We recently increase timeout for image building and pushing to GCR
due to some failures with timeout. This commit extends timeout for
waiting that image to be published.
Signed-off-by: Feruzjon Muyassarov <feruzjon.muyassarov@intel.com>
2022-10-27 23:26:26 +03:00
Kubernetes Prow Robot
671b35667a
Merge pull request #936 from fmuyassarov/increase-build-timeout
Increase allowed image build timeout for 500s
2022-10-27 05:54:32 -07:00
Kubernetes Prow Robot
e5c8180558
Merge pull request #937 from pacoxu/master
Stop using the beta.kubernetes.io/os and arch labels
2022-10-27 05:36:32 -07:00
Paco Xu
4e12ed8aac Stop using the beta.kubernetes.io/os and arch labels 2022-10-27 11:03:14 +08:00
Feruzjon Muyassarov
3f33bd94ef Increase allowed image build timeout
Signed-off-by: Feruzjon Muyassarov <feruzjon.muyassarov@intel.com>
2022-10-27 01:03:25 +03:00
Kubernetes Prow Robot
0a95533fe3
Merge pull request #935 from marquiz/fixes/rule-templating
apis/nfd: fix NodeFeatureRule templating
2022-10-26 01:08:36 -07:00