1
0
Fork 0
mirror of https://github.com/kubernetes-sigs/node-feature-discovery.git synced 2024-12-15 17:50:49 +00:00
Commit graph

560 commits

Author SHA1 Message Date
Markus Lehtonen
057f31d7e3 fsource/local: lint fixes 2020-05-20 21:48:06 +03:00
Markus Lehtonen
a65d05bd9c source/panic_fake: rename module to make lint happy 2020-05-20 21:48:06 +03:00
Markus Lehtonen
853609f721 nfd-master: lint fixes 2020-05-20 21:48:06 +03:00
Markus Lehtonen
80becea590 source/custom: make linter happy
Might not agree with all that naming arbitrariness but it's easier just
to bend over.
2020-05-20 21:48:06 +03:00
Markus Lehtonen
523aa894a3 pkg/cpuid: lint fixes 2020-05-20 21:48:06 +03:00
Markus Lehtonen
2f4e038f10 test/e2e: drop dot imports
Make linter happy.
2020-05-20 21:48:06 +03:00
Markus Lehtonen
73602e8f28 test/e2e: goling fixes 2020-05-20 21:48:06 +03:00
Markus Lehtonen
705d17b9f1 cmd: replace deprecated docopt.Parse with ParseArgs 2020-05-20 21:48:06 +03:00
Markus Lehtonen
c7b1d67b6b nfd-worker: drop deprecated grpc.WithTimeout 2020-05-20 21:48:06 +03:00
Markus Lehtonen
91f3ddcc45 nfd-worker: lint fixes 2020-05-20 21:48:06 +03:00
Markus Lehtonen
4e04d1d61c Makefile: add ci-lint target
Use golangci-lint to make use of a number of different linters.
2020-05-20 21:48:06 +03:00
Jordan Jacobelli
e3a9616c8b source/custom: minor change in usb rule for gofmt
Signed-off-by: Jordan Jacobelli <jordanjacobelli04@gmail.com>
2020-05-20 19:15:20 +02:00
Kubernetes Prow Robot
67b3da2f31
Merge pull request #314 from marquiz/devel/gofmt
Check gofmt
2020-05-20 09:42:19 -07:00
Kubernetes Prow Robot
48a558a16c
Merge pull request #312 from marquiz/devel/gomod
go.mod: tidy
2020-05-20 09:28:20 -07:00
Kubernetes Prow Robot
589b974985
Merge pull request #311 from marquiz/devel/ignores
Update gitignore and dockerignore
2020-05-20 08:40:18 -07:00
Kubernetes Prow Robot
b2d44d0f2a
Merge pull request #316 from marquiz/devel/docs-annotations
README: document node annotations
2020-05-20 08:36:19 -07:00
Kubernetes Prow Robot
1ba75bfd7c
Merge pull request #310 from adaptant-labs/usb-discovery
Add support for USB device discovery
2020-05-20 08:26:19 -07:00
Paul Mundt
c0ea69411b usb: Add support for USB device discovery
This builds on the PCI support to enable the discovery of USB devices.

This is primarily intended to be used for the discovery of Edge-based
heterogeneous accelerators that are connected via USB, such as the Coral
USB Accelerator and the Intel NCS2 - our main motivation for adding this
capability to NFD, and as part of our work in the SODALITE H2020
project.

USB devices may define their base class at either the device or
interface levels. In the case where no device class is set, the
per-device interfaces are enumerated instead. USB devices may
furthermore have multiple interfaces, which may or may not use the
identical class across each interface. We therefore report device
existence for each unique class definition to enable more fine-grained
labelling and node selection.

The default labelling format includes the class, vendor and device
(product) IDs, as follows:

	feature.node.kubernetes.io/usb-fe_1a6e_089a.present=true

As with PCI, a subset of device classes are whitelisted for matching.
By default, there are only a subset of device classes under which
accelerators tend to be mapped, which is used as the basis for
the whitelist. These are:

	- Video
	- Miscellaneous
	- Application Specific
	- Vendor Specific

For those interested in matching other classes, this may be extended
by using the UsbId rule provided through the custom source. A full
list of class codes is provided by the USB-IF at:

	https://www.usb.org/defined-class-codes

For the moment, owing to a lack of a demonstrable use case, neither
the subclass nor the protocol information are exposed. If this
becomes necessary, support for these attributes can be trivially
added.

Signed-off-by: Paul Mundt <paul.mundt@adaptant.io>
2020-05-20 16:18:39 +02:00
Markus Lehtonen
e8a15b59ab README: document node annotations
Shortly describe node annotations created/managed bu NFD.
2020-05-19 19:50:42 +03:00
Markus Lehtonen
3185393141 travis: verify gofmt 2020-05-19 14:29:55 +03:00
Markus Lehtonen
1a2f54367e source/cpu: mangle through gofmt 2020-05-19 14:28:07 +03:00
Markus Lehtonen
447eee261d Makefile: add gofmt and gofmt-verify targets
For re-formatting the code and checking that we comply.

Inspired by what we have in node-feature-discovery-operator.
2020-05-19 14:24:44 +03:00
Markus Lehtonen
6344656d54 go.mod: tidy 2020-05-19 11:05:02 +03:00
Markus Lehtonen
4c1a57f2fe dockerignore: tidy up and update
Drop outdated items and add example deployment yaml files.
2020-05-19 10:13:54 +03:00
Markus Lehtonen
e59d4e6018 gitignore: tidy up
Drop outdated patterns.
2020-05-19 10:12:13 +03:00
Kubernetes Prow Robot
1465da4cdc
Merge pull request #309 from paroque28/replace
Proposal kernel.go: Replace forbidden symbols and check format
2020-05-17 03:05:36 -07:00
Pablo Rodriguez
3c81ff9d80 kernel.go: Replace forbidden symbols
Some Kernel versions include symbols such as "+".
Yocto L4T kernel is an example of this behaviour.
To fix this error all unknown symbols are replaced by an underscore.

Signed-off-by: Pablo Rodriguez <paroque28@gmail.com>
2020-05-15 17:58:08 +00:00
Kubernetes Prow Robot
1bdf0525f9
Merge pull request #303 from marquiz/devel/yaml
Switch to sigs.k8s.io/yaml
2020-04-23 10:25:12 -07:00
Markus Lehtonen
409dc11389 Switch to sigs.k8s.io/yaml
Replace github.com/ghodss/yaml.
2020-04-23 16:54:14 +03:00
Kubernetes Prow Robot
b8a7a6c927
Merge pull request #299 from marquiz/devel/os-release
source/system: do not publish empty version labels
2020-04-23 05:45:45 -07:00
Kubernetes Prow Robot
36f6b925a1
Merge pull request #302 from marquiz/devel/source-fix
Oneliner fixes to sources
2020-04-23 05:35:45 -07:00
Markus Lehtonen
674c9f71ed source/cpu: drop leftover debug print 2020-04-22 21:29:19 +03:00
Markus Lehtonen
fbf0b07525 source/custom: gofmt fix 2020-04-22 21:28:02 +03:00
Kubernetes Prow Robot
6d1aa73ca1
Merge pull request #298 from marquiz/devel/version
version: allow undefined version
2020-03-24 09:46:48 -07:00
Kubernetes Prow Robot
7c4ff52a3c
Merge pull request #290 from adrianchiris/custom_features
Support custom features
2020-03-24 08:26:48 -07:00
Adrian Chiris
297f8134de Clarify Custom Features section in README
- Add Nomenclature
- Rewording to match the defined nomenclature
- Reorganize Custom Feature section for clarity
2020-03-22 14:46:16 +02:00
Kubernetes Prow Robot
014e4c84b8
Merge pull request #291 from uniemimu/master
master: add extended resource support
2020-03-20 05:58:37 -07:00
Markus Lehtonen
9eb98040e9 source/system: do not publish empty version labels
Do not publish non-existing version components as empty labels.
2020-03-20 10:16:01 +02:00
Markus Lehtonen
8c964b9daf version: allow undefined version
Just print a warning instead of exiting with an error if no version has
been specified at build-time. This was pointless and just annoying at
development time when doing builds with go directly.
2020-03-20 07:21:43 +02:00
Ukri Niemimuukko
903a939836 nfd-master: add extended resource support
This adds support for making selected labels extended resources.

Labels which have integer values, can be promoted to Kubernetes extended
resources by listing them to the added command line flag
`--resource-labels`. These labels won't then show in the node label
section, they will appear only as extended resources.

Signed-off-by: Ukri Niemimuukko <ukri.niemimuukko@intel.com>
2020-03-19 13:19:22 +02:00
Adrian Chiris
f5307ddf7a Documentation updates
- Update README.md with `custom` source
- Update nfd-worker configuration example
2020-03-19 11:10:13 +02:00
Adrian Chiris
192b3d7bdd Add 'custom' feature Source to nfd-worker 2020-03-19 09:32:07 +02:00
Adrian Chiris
e4e3a9f68e Implement the 'custom' feature Source
- Implement the 'custom' feature source utilizing the
  match rules implemented in previous commit.

- Add a static custom feature list for:
  1. rdma.capable - marks a node where devices that support
     RDMA are present.
  2. rdma.enabled - marks a node where rdma modules have
     been loaded.
  A user may extend these features with additional match rules via
  NFD configuration file.
2020-03-19 09:31:59 +02:00
Adrian Chiris
b9ab93559b Add Match Rules package to be used in Custom Source
- Add a Rule interface to help describe the contract
  between a match rule and the Custom source that uses it.

- Add PciIdRule - a rule that matches on the PCI attributes:
  class, vendor, device. Each is provided as a list of elements(strings).
  Match operation: OR will be performed per element and AND will be
  performed per attribute.
  An empty attribute will not be included in the matching process.
  Example:
  {
    "class": ["0200"]
    "vendor": ["15b3"]
    "device": ["1014", "1016"]
  }

- Add LoadedKmodRule - a rule that matches a list of kernel
  modules with the kernel modules currently loaded in the node.
  Example:
  {
    ["rdma_cm", "ib_core"]
  }
2020-03-17 18:00:05 +02:00
Adrian Chiris
0cfe03012b Add new feature Source - Custom with stubbed implementation 2020-03-12 15:15:16 +02:00
Adrian Chiris
a1a2429df1 Move PCI introspection logic to its own internal package
This will enable code reuse across sources while preventing
packages which are not under 'source' to import it.

subsequent commits will introduce the 'custom' source which
will use the logic.
2020-03-12 15:09:27 +02:00
Kubernetes Prow Robot
4b799b7e8f
Merge pull request #294 from RenaudWasTaken/deployment
Change nfd-master deployment mechanism from daemonset to deployment
2020-03-09 04:57:34 -07:00
Renaud Gaubert
db994410a7 Change nfd-master deployment mechanism from daemonset to deployment
Signed-off-by: Renaud Gaubert <rgaubert@nvidia.com>
2020-03-06 15:35:02 -08:00
Kubernetes Prow Robot
ef5419c307
Merge pull request #295 from RenaudWasTaken/gitignore
Update gitignore to include yaml files generated from template
2020-03-06 00:33:23 -08:00
Renaud Gaubert
8cc4b08cc6 Update gitignore to include yaml files generated from template
Signed-off-by: Renaud Gaubert <rgaubert@nvidia.com>
2020-03-05 16:30:09 -08:00