1
0
Fork 0
mirror of https://github.com/kubernetes-sigs/node-feature-discovery.git synced 2024-12-14 11:57:51 +00:00
Commit graph

936 commits

Author SHA1 Message Date
Markus Lehtonen
852cf4b61d source: introduce FeatureSource interface
Specify a new interface for managing "raw" feature data. This is the
first step to separate raw feature data from node labels. None of the
feature sources implement this interface, yet.

This patch unifies the data format of "raw" features by dividing them
into three different basic types.
- keys, a set of names without any associated values, e.g. CPUID flags
  or loaded kernel modules
- values, a map of key-value pairs, for features with a single value,
  e.g. kernel config flags or os version
- instances, a list of instances each of which has multiple attributes
  (key-value pairs of their own), e.g. PCI or USB devices

The new feature data types are defined in a new "pkg/api/feature"
package, catering decoupling and re-usability of code e.g. within future
extentions of the NFD gRPC API.

Rename the Discover() method of LabelSource interface to GetLabels().
2021-09-20 09:58:07 +03:00
Kubernetes Prow Robot
102003f8b3
Merge pull request #597 from marquiz/devel/source-register
source: make sources register themselves
2021-09-19 09:10:09 -07:00
Kubernetes Prow Robot
4ee535f1e5
Merge pull request #599 from marquiz/fixes/example-config
deployment: fix formatting of the worker conf sample
2021-09-19 09:02:09 -07:00
Markus Lehtonen
3706de9308 deployment: fix formatting of the worker conf sample 2021-09-17 14:25:48 +03:00
Markus Lehtonen
81378a3235 source: make sources register themselves
Implement new registration infrastructure under the "source" package.
This change loosens the coupling between label sources and the
nfd-worker, making it easier to refactor and move the code around.

Also, create a separate interface (ConfigurableSource) for configurable
feature sources in order to eliminate boilerplate code.

Add safety checks to the sources that they actually implement the
interfaces they should.

In sake of consistency and predictability (of behavior) change all
methods of the sources to use pointer receivers.

Add simple unit tests for the new functionality and include source/...
into make test target.
2021-09-15 18:41:37 +03:00
Kubernetes Prow Robot
5c7706c5bd
Merge pull request #596 from marquiz/devel/label-source
source: rename FeatureSource to LabelSource
2021-09-15 07:44:31 -07:00
Markus Lehtonen
befa7e9796 source: rename FeatureSource to LabelSource
Prepare for separating feature detection from label creation.
2021-09-13 22:48:33 +03:00
Kubernetes Prow Robot
795a7e543e
Merge pull request #592 from marquiz/devel/logging-verbosity
source/network: silence annoying/useless log message
2021-09-13 01:16:09 -07:00
Markus Lehtonen
bd5ee9c616 source/network: silence annoying/useless log message
However, log an error if something unexpected happens, i.e. the file to
read maximum number of vfs exists (sriov_totalvfs) but read fails.
2021-09-13 09:40:06 +03:00
Kubernetes Prow Robot
dc7bda0023
Merge pull request #590 from ArangoGutierrez/fix/docs_borkenlink
Fix broken link for worker-conf example
2021-09-02 10:36:57 -07:00
Carlos Eduardo Arango Gutierrez
f9e09e5fd4
Fix broken link for worker-conf example
Signed-off-by: Carlos Eduardo Arango Gutierrez <carangog@redhat.com>
2021-09-02 11:41:03 -05:00
Kubernetes Prow Robot
92920d48d3
Merge pull request #589 from vaibhav2107/link-deploy
Fix a link in deployment-and-usage.md
2021-09-02 05:46:10 -07:00
Vaibhav
ac720ef57a Fix a link in deployment-and-usage.md 2021-09-01 22:41:04 +05:30
Kubernetes Prow Robot
189f86bec8
Merge pull request #548 from marquiz/devel/profile-ns
nfd-master: allow profile.node.kubernetes.io label ns
2021-08-27 07:24:04 -07:00
Kubernetes Prow Robot
487588bc62
Merge pull request #585 from jonkerj/optional-hostpaths
deployment: make /usr/src hostpath mount optional
2021-08-27 01:18:04 -07:00
Kubernetes Prow Robot
f307870347
Merge pull request #586 from marquiz/devel/verify-kustomize
scripts/test-infra: verify buildability of kustomize overlays
2021-08-26 11:30:21 -07:00
Markus Lehtonen
8132d17f89 scripts/test-infra: verify buildability of kustomize overlays
Not perfect and fool proof evidence but better than nothing.
2021-08-26 19:47:25 +03:00
Kubernetes Prow Robot
a47ef9f48e
Merge pull request #587 from swatisehgal/fix-gitignore
Only add kustomization.yaml in the root to .gitignore
2021-08-26 08:33:23 -07:00
Swati Sehgal
4f65f30b7c Only add kustomization.yaml in the root to .gitignore
The current addition of kustomization.yaml to gitignore file
means that any file in the project tree with the name
kustomization.yaml will be ignored. However, that is not
the desired behaviour. One of the primary examples of this
is when we add deployments corresponding to nfd-topology-updater,
we want to be able to ensure that the kustomization.yamls are not
ignored.

Signed-off-by: Swati Sehgal <swsehgal@redhat.com>
2021-08-26 15:27:03 +01:00
Jorik Jonker
501ff37592 deployment: optional mount of /usr/src
This commit makes the mount of /usr/src optional in the Helm chart, and
removes it from the kustomization. Reason is that some systems do not
have a /usr/src (such as Talos) *and* have a R/O filesystem. Since
/usr/src is optional per FHS 3.0, NFD should not assume its presence.

Signed-off-by: Jorik Jonker <jorik@kippendief.biz>
2021-08-26 10:52:26 +02:00
Vaibhav Goel
87feb9610b
Fix the typo in deployment-and-usage.md (#575)
* Fix the typo in deployment-and-usage.md

* Update in doc/get-started/deployment-and-usage.md
2021-08-25 00:32:39 -07:00
Kubernetes Prow Robot
e16d4c9b20
Merge pull request #543 from marquiz/devel/custom-kconfig-refactor
source/custom: refactor kconfig rule internal representation
2021-08-24 06:45:14 -07:00
Kubernetes Prow Robot
f24606be36
Merge pull request #583 from marquiz/fixes/gitignore
gitignore: add kustomization.yaml
2021-08-23 12:50:22 -07:00
Markus Lehtonen
0ab8edf7a1 gitignore: add kustomization.yaml
Want to ignore kustomization.yaml which is auto-generated by the make
yamls target.
2021-08-23 16:24:22 +03:00
Kubernetes Prow Robot
a20c8872fb
Merge pull request #552 from marquiz/devel/worker-refactor
nfd-worker: split out gRPC connection handling
2021-08-23 05:58:00 -07:00
Markus Lehtonen
112744bc50 nfd-worker: split out gRPC connection handling
Refactor the worker code and split out gRPC client connection handling
into a separate base type. The intent is to promote re-usability of code
for other NFD clients, too.
2021-08-20 15:29:27 +03:00
Kubernetes Prow Robot
150b8271fa
Merge pull request #580 from marquiz/devel/readme
README: update deployment instructions to use v0.9.0
2021-08-20 04:51:24 -07:00
Markus Lehtonen
45a5b83a5e README: update deployment instructions to use v0.9.0 2021-08-20 09:05:40 +03:00
Kubernetes Prow Robot
6e53fbc1ef
Merge pull request #578 from marquiz/fixes/kustomize
kustomize: fix broken master-worker-combined base
2021-08-19 13:29:25 -07:00
Markus Lehtonen
a3b2d97513 kustomize: fix broken master-worker-combined base
Got broken unnoticed with the addition of liveness and readiness probes.
2021-08-19 23:22:28 +03:00
Kubernetes Prow Robot
37b3af0810
Merge pull request #577 from marquiz/fixes/scripts
scripts: fix prepare-release.sh to update all kustomize files
2021-08-19 12:21:25 -07:00
Markus Lehtonen
9db5807bf4 scripts: fix prepare-release.sh to update all kustomize files 2021-08-19 22:15:58 +03:00
Kubernetes Prow Robot
c07c6354fc
Merge pull request #572 from marquiz/docs/cstate
docs: clarify the cpu.cstate feature
2021-08-19 07:55:24 -07:00
Kubernetes Prow Robot
a0a8304958
Merge pull request #571 from jschintag/cstate-fix
cstate/pstate: Skip check on non intel arches
2021-08-19 07:43:24 -07:00
Jan Schintag
ac0e5b1b52 cstate/pstate: Skip check on non intel arches
Intel driver is not available on other arches, skip check.

Signed-off-by: Jan Schintag <jan.schintag@de.ibm.com>
2021-08-19 16:37:54 +02:00
Kubernetes Prow Robot
440159a0e9
Merge pull request #563 from ArangoGutierrez/devel/issue522
Add Readiness and liveliness probes to nfd-master
2021-08-18 09:40:08 -07:00
Kubernetes Prow Robot
234f385cdd
Merge pull request #570 from marquiz/devel/errors
Better error reporting of kernel and cpu feature sources
2021-08-18 08:44:08 -07:00
Carlos Eduardo Arango Gutierrez
dece85b394
Add livenessProbe via grpc to nfd-master
Signed-off-by: Carlos Eduardo Arango Gutierrez <carangog@redhat.com>
2021-08-18 10:23:10 -05:00
Kubernetes Prow Robot
137a10f239
Merge pull request #573 from marquiz/devel/kustomize
Move to kustomize
2021-08-18 06:06:08 -07:00
Markus Lehtonen
7dfd7d289f docs: document all the provided kustomize overlays 2021-08-18 15:10:25 +03:00
Markus Lehtonen
63c1256d08 Drop deployment templates
Resort to kustomize, instead. Update docs and scripts, accordingly.

Bump cert-manager version in the deployment instructions to v1.5.1.
2021-08-18 15:10:25 +03:00
Markus Lehtonen
1f8a6d7819 kustomize: add standard-combined overlay
Replicates nfd-daemonset-combined.yaml.template.

In addition to the overlay we need to add a separate set of patches
under components/common in order to handle the double-container pod.
2021-08-18 15:10:25 +03:00
Markus Lehtonen
b38cf997d5 kustomize: add prune overlay
Add an overlay for deploying "nfd-master --prune". Replaces
nfd-prune.yaml.template.
2021-08-18 15:10:25 +03:00
Markus Lehtonen
787ebfe441 kustomize: add Job example deployment
Add a new base kustomization for worker Job and an overlay stitching up
the complete deployment. Replaces nfd-worker-job.yaml.template.
2021-08-18 15:10:25 +03:00
Markus Lehtonen
3737e0f6a3 kustomize: add an example custom rules configmap
Add an example kustomize overlay for deploying a configmap specifying
extra rules for the custom feature source.
2021-08-18 14:05:57 +03:00
Markus Lehtonen
03b67f8d6a kustomize: add support for cert-manager
Add an example kustomize overlay for enabling cert-manager in an NFD
deployment.
2021-08-18 14:05:57 +03:00
Markus Lehtonen
8117c099a3 deployment: add kustomize base
Implement functionality virtually replicating deployment templates for
nfd-master and nfd-worker daemonset (nfd-master.yaml.template and
nfd-worker-daemonset.yaml.template) by adding a kustomize overlay named
"default".

We split the resources into multiple bases (rbac, master and
worker-daemonset) so that relevant parts are re-usable in
other deployment scenarios added later (e.g. "one-shot job", and
"combined daemonset").

This patch adds one component (components/common) doing the required
kustomization for the example deployment.
2021-08-18 14:05:57 +03:00
Markus Lehtonen
0f2554abf1 helm: move files under deployment/helm 2021-08-16 14:44:26 +03:00
Markus Lehtonen
4ef58d7fc8 docs: clarify the cpu.cstate feature 2021-08-13 11:43:03 +03:00
Markus Lehtonen
43e0f83940 source/cpu: better error reporting
Drop confusing errors in the log when intel pstate or cstate driver is
not enabled in the system. However, we still log an error if sysfs is
not available at all, in which case we're not able to detect these
correctly.
2021-08-13 09:16:03 +03:00