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

147 commits

Author SHA1 Message Date
Kubernetes Prow Robot
dbc70713f7
Merge pull request #716 from marquiz/devel/iommu-version
source/pci: detect intel-iommu/version
2022-03-15 05:32:12 -07:00
Vaibhav Goel
b070684af0
Fixed the incorrect references (#769)
* Fixed the incorrect references in customization guide

* Fixd the line length issue on PR

* Fixed again the length issue

* Updated customization.md
2022-03-15 05:16:11 -07:00
Cam Hutchison
678080c5f1 docs: Update default K8S_NAMESPACE
Change the default K8S_NAMESPACE to node-feature-discovery from
kube-system. The default was changed in the Makefile in commit
5d4484a1d9, but the docs were not updated
to correspond with that.
2022-02-14 19:19:49 +11:00
Kubernetes Prow Robot
27ccbcec55
Merge pull request #754 from marquiz/documentation/custom-config
docs: use new custom rule format in worker config reference
2022-01-25 09:30:31 -08:00
Markus Lehtonen
fc32386287 docs: re-fix operator deployment instructions
Back to how it was - the 'stable' channel went away in the latest NFD
update on community-opetors (operatorhub.io).
2022-01-25 18:27:15 +02:00
Kubernetes Prow Robot
8bb3c84578
Merge pull request #726 from marquiz/documentation/operator-deployment
docs: fix operator deployment instructions
2022-01-25 05:42:32 -08:00
Kaito Ii
a717cfd716
docs: update helm document to match values.yaml (#727)
* update helm document to match values.yaml

* Add links
2022-01-25 01:00:32 -08:00
Markus Lehtonen
e3661bda30 docs: use new custom rule format in worker config reference
Also, update the reference linking to the documentation of the custom
source to point to the customization guide.
2022-01-25 10:31:21 +02:00
Markus Lehtonen
3a70803352 docs: drop topology-updater cmdline help from developer guide
Similar to what we did for nfd-master and nfd-worker in
0d21b3d720.
2022-01-21 17:06:52 +02:00
Markus Lehtonen
7e1f5cb347 docs: clarify deployment requirements 2022-01-21 15:21:51 +02:00
Markus Lehtonen
64b3838579 source/pci: detect intel-iommu/version
Discover "iommu/intel-iommu/version" sysfs attribute for pci devices.
This information is available for custom label rules.

An example custom rule:

  - name: "iommu version rule"
    labels:
      iommu.version_1: "true"
    matchFeatures:
      - feature: pci.device
        matchExpressions:
          "iommu/intel-iommu/version": {op: In, value: ["1:0"]}
2022-01-21 15:16:37 +02:00
Markus Lehtonen
f302962519 docs: fix operator deployment instructions 2022-01-21 15:15:20 +02:00
Kubernetes Prow Robot
8ea6b765c8
Merge pull request #698 from zvonkok/multi-arch
Multi ARCH build amd64, arm64
2022-01-20 07:21:52 -08:00
Zvonko Kaiser
c69e47a27a Iniital multi arch build 2022-01-20 15:41:08 +01:00
Kubernetes Prow Robot
cc08c39902
Merge pull request #715 from marquiz/documentation/features
docs: small fix in block and net features in customization guide
2022-01-11 06:41:17 -08:00
Markus Lehtonen
58a1b04b2f docs: small fix in block and net features in customization guide
In the list of available features, list 'name' separately as it's not
from a sysfs file like the other attributes.
2022-01-11 12:01:55 +02:00
Markus Lehtonen
152f3531fe source/pci: add iommu_group/type attribute
Add "iommu_group/type" to the list of PCI device attributes that are
discovered. The value is the raw value from sysfs (i.e DMA, DMA-FQ or
identity).

No built-in (automatic) labels are generated based on this, but, the
attribute is available for custom label rules to use. Examples of custom
rules:

  - name: "iommu enabled rule"
    labels:
      iommu.enabled: "true"
    matchFeatures:
      - feature: pci.device
        matchExpressions:
          "iommu_group/type": {op: NotIn, value: ["unknown"]}

  - name: "iommu passthrough rule"
    labels:
      iommu.passthrough: "true"
    matchFeatures:
      - feature: pci.device
        matchExpressions:
          "iommu_group/type": {op: In, value: ["identity"]}
2022-01-11 11:54:54 +02:00
Markus Lehtonen
fc25bf2dc2 docs: small tinkering on the TLS documentation
Add cross-referencing links to the helm deployment and configuration
sections. Use correct names for the tls related helm options
(tls.enabled and tls.certManager).
2022-01-10 19:12:05 +02:00
Kubernetes Prow Robot
5a2e0ce5a6
Merge pull request #704 from marquiz/documentation/customization-guide
docs: add customization guide
2022-01-10 08:17:13 -08:00
Dave Baker
9215d171c5 Initial bash at new TLS docs 2022-01-10 11:40:43 +00:00
Markus Lehtonen
302aa5a82a docs: add customization guide
Add a separate customization guide. Move documentation of the custom and
local sources there. Also, cover the new NodeFeatureRules custom
resource and the new expression-based label rule format.

This patch also simplifies the "Feature labels" page, describing
built-in labels. Reformat the tables describing feature labels.
2022-01-08 09:56:05 +02:00
Kubernetes Prow Robot
1567900238
Merge pull request #677 from marquiz/devel/iommu-deprecation
source/iommu: deprecate and disable by default
2022-01-05 10:05:48 -08:00
Kubernetes Prow Robot
ffb6a294e5
Merge pull request #699 from marquiz/devel/helm-featurerule-controller
deployment/helm: disable nfr controller for parallel instances
2022-01-05 06:08:34 -08:00
Markus Lehtonen
edb3e6824c deployment/helm: disable nfr controller for parallel instances
Change the helm chart so that the NodeFeatureRule controller will be
disabled for other than the default deployment (i.e. all deployments
where master.instance is non-empty), unless explicitly set to true. With
this we try to ensure that there is only on controller instance for the
CR, avoiding contention and conflicts.
2022-01-04 21:25:02 +02:00
Markus Lehtonen
812073a025 deployment/helm: refactor nfd-master rbac parameters
Move top-level serviceAccount and rbac fields under master, making the
Helm chart more coherent.

Also, drop unused rbac.serviceAccountName and
rbac.serviceAccountAnnotations from values.yaml.
2022-01-04 16:30:11 +02:00
Dave Baker
b0834d7862 Enable TLS and cert-manager created certs for helm chart 2022-01-04 12:27:02 +00:00
Markus Lehtonen
838a375f85 source/iommu: deprecate and disable by default
Deprecate the iommu source and disable it by default.
2021-12-20 10:21:29 +02:00
Markus Lehtonen
b89429a4db source/local: don't prefix label names with the filename
Implicitly injecting the filename of the hook/featurefile into the name
of the label is confusing, counter-intuitive and unnecessarily complex
to understand. It's much clearer to advertise features and labels as
presented in the feature file / output of the hook.

NOTE: this breaks backwards compatibility with usage scenarios that rely
on prefixing the label with the filename.
2021-12-13 09:00:59 +02:00
Markus Lehtonen
df25b81c2e docs: fix mistake in md format
Accidentally introduced in a57a25f63c.
2021-12-08 14:39:30 +02:00
Markus Lehtonen
58e1461d90 nfd-worker: add -feature-sources command line flag
Allows controlling (enable/disable) the "raw" feature detection.
Especially useful for development and testing.
2021-12-03 09:42:35 +02:00
Markus Lehtonen
df6909ed5e nfd-worker: add core.featureSources config option
Add a configuration option for controlling the enabled "raw" feature
sources. This is useful e.g. in testing and development, plus it also
allows fully shutting down discovery of features that are not needed in
a deployment. Supplements core.labelSources which controls the
enablement of label sources.
2021-12-03 09:42:35 +02:00
Markus Lehtonen
8cd58af613 nfd-worker: disable sources more easily
Make it easier to disable single sources by prefixing the source name
with a dash ('-') in the core.sources config option (or -sources cmdline
flag).
2021-12-02 10:36:51 +02:00
Markus Lehtonen
f00be091e3 docs: amend the documentation of core.labelSources option 2021-12-02 10:36:51 +02:00
Markus Lehtonen
a22bab2d3d docs: update docs on label-sources option
Update documentation on core.labelSources/core.sources config file
options and -label-sources/-sources command line flags.
2021-12-01 17:11:49 +02:00
Kubernetes Prow Robot
86bfe74cd7 Merge pull request #671 from marquiz/fixes/single-dash-flags
Use single-dash format of cmdline flags
2021-12-01 06:45:15 -08:00
Markus Lehtonen
a57a25f63c Use single-dash format of cmdline flags
Use the single-dash (i.e. '-option' instead of '--option') format
consistently accross log messages and documentation. This is the format
that was mostly used, already, and shown by command line help of the
binaries, for example.
2021-11-25 18:03:54 +02:00
Markus Lehtonen
0d21b3d720 docs: drop cmdline help from developer guide
These just keep getting out of sync and do not provide much value. Also,
we do have dedicated cmdline reference for all the executables.
2021-11-25 13:56:09 +02:00
Mikko Ylinen
8a39434659 source/cpu: detect Intel SGX
Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
2021-11-23 15:57:31 +02:00
Markus Lehtonen
e8872462dc nfd-master: add -featurerules-controller flag
Add a new command line flag for disabling/enabling the controller for
NodeFeatureRule objects. In practice, disabling the controller disables
all labels generated from rules in NodeFeatureRule objects.
2021-11-22 16:57:42 +02:00
Markus Lehtonen
e6e32a88c3 nfd-master: implement controller for NodeFeatureRule CRs
Implement a simple controller stub that operates on NodeFeatureRule
objects. The controller does not yet have any functionality other than
logging changes in the (NodeFeatureRule) objecs it is watching.

Also update the documentation on the -no-publish flag to match the new
functionality.
2021-11-22 16:57:42 +02:00
Kubernetes Prow Robot
ec57057d3c
Merge pull request #659 from vaibhav2107/contri-slack
Update the link of slack channel
2021-11-18 00:19:04 -08:00
Vaibhav
e4385d2402 Update the link of slack channel 2021-11-18 11:39:18 +05:30
Markus Lehtonen
c3e2315834 pkg/apis/nfd: specify CRD for custom labeling rules
Add a cluster-scoped Custom Resource Definition for specifying labeling
rules. Nodes (node features, node objects) are cluster-level objects and
thus the natural and encouraged setup is to only have one NFD deployment
per cluster - the set of underlying features of the node stays the same
independent of how many parallel NFD deployments you have. Our extension
points (hooks, feature files and now CRs) can be be used by multiple
actors (depending on us) simultaneously. Having the CRD cluster-scoped
hopefully drives deployments in this direction. It also should make
deployment of vendor-specific labeling rules easy as there is no need to
worry about the namespace.

This patch virtually replicates the source.custom.FeatureSpec in a CRD
API (located in the pkg/apis/nfd/v1alpha1 package) with the notable
exception that "MatchOn" legacy rules are not supported. Legacy rules
are left out in order to keep the CRD simple and clean.

The duplicate functionality in source/custom will be dropped by upcoming
patches.

This patch utilizes controller-gen (from sigs.k8s.io/controller-tools)
for generating the CRD and deepcopy methods. Code can be (re-)generated
with "make generate". Install controller-gen with:

  go install sigs.k8s.io/controller-tools/cmd/controller-gen@v0.7.0

Update kustomize and helm deployments to deploy the CRD.
2021-11-17 13:40:23 +02:00
Swati Sehgal
b444ef95a8 NFD-Topology-Updater: Bump NRT API to version v0.0.12
The NodeResourceTopology API has been made cluster
scoped as in the current context a CR corresponds to
a Node and since Node is a cluster scoped resource it
makes sense to make NRT cluster scoped as well.

Ref: https://github.com/k8stopologyawareschedwg/noderesourcetopology-api/pull/18
Signed-off-by: Swati Sehgal <swsehgal@redhat.com>
2021-11-16 13:28:23 +00:00
Ukri Niemimuukko
90598d3b5a More topology updater documentation typo fixes
Signed-off-by: Ukri Niemimuukko <ukri.niemimuukko@intel.com>
2021-11-12 14:25:32 +02:00
Kubernetes Prow Robot
b26a12cc17
Merge pull request #640 from eliaskoromilas/worker-config
deployment: Implicitly generate the worker ConfigMap name
2021-11-12 03:38:28 -08:00
Ukri Niemimuukko
0a2e3bb18d Topology-updater introduction typo fix
Signed-off-by: Ukri Niemimuukko <ukri.niemimuukko@intel.com>
2021-11-12 12:10:33 +02:00
Elias Koromilas
e22b937391 Implicitly generate the worker ConfigMap name
Signed-off-by: Elias Koromilas <elias.koromilas@gmail.com>
2021-11-03 11:21:58 +02:00
Swati Sehgal
ab62172a8d Documentation capturing enablement of NFD-Topology-Updater in NFD
Prior to this feature, NFD consisted of only software components namely
nfd-master and nfd-worker. We have introduced another software component
called nfd-topology-updater.

NFD-Topology-Updater is a daemon responsible for examining allocated resources
on a worker node to account for allocatable resources on a per-zone basis (where
a zone can be a NUMA node). It then communicates the information to nfd-master
which does the CRD creation corresponding to all the nodes in the cluster. One
instance of nfd-topology-updater is supposed to be running on each node of the
cluster.

Signed-off-by: Swati Sehgal <swsehgal@redhat.com>
2021-10-29 10:14:38 +01:00
Markus Lehtonen
9e9ff951b2 docs: mention minimum required kubectl version
Kubectl prior to v1.21 contains too old version of kustomize for our
(kustomize-based) deployment to work.
2021-10-26 18:01:25 +03:00