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

49 commits

Author SHA1 Message Date
Markus Lehtonen
47a97db35a Import from sigs.k8s.io/node-feature-discovery 2018-12-04 15:15:46 +02:00
Markus Lehtonen
4053010dd9 Make the kernel feature source configurable
Adding two config options:
- kernel config file to read
- kconfig options that are detected
2018-12-04 09:34:56 +02:00
Markus Lehtonen
9474ef0815 Add validation for feature label names 2018-11-30 11:51:41 +02:00
Markus Lehtonen
a84b5c9d82 Support feature detector hooks
Implement a new feature source named 'local' whose only purpose is to
run feature source hooks found under
/etc/kubernetes/node-feature-discovery/source.d/ It tries to execute all
files found under the directory, in alphabetical order.

This feature source provides users a mechanism to implement custom
feature sources in a pluggable way, without modifying nfd source code or
Docker images.

The hooks are supposed to print all discovered features in stdout, one
feature per line. The output in stdout is used in the node label as is.
Full node label name will have the following format:
  feature.node.kubernetes.io/<hook name>-<feature name>
Stderr from the hooks is propagated to nfd log.
2018-11-30 11:51:41 +02:00
Markus Lehtonen
0259f0652a Drop 'nfd' prefix from the label names
No need for that anymore as annotations are used to keep track of labels
managed by nfd. This also makes the feature labels more generic with no
traces of the NFD project name. This makes way for "standardizing" the
node feature labels in a larger architectural scope, in case that was
something that would be pursued in the future.
2018-11-30 09:56:31 +02:00
Markus Lehtonen
15f8f4437b Store published label names in annotations
Add new 'nfd.node.kubernetes.io/feature-labels' annotation to store all
the feature labels added by NFD. This annotation is used by NFD by
cleaning up old labels when doing re-labeling.

In this scheme NFD does not need to rely on NFD-specific prefix in
feature label, and, is always able to reliably clean up old label.
2018-11-30 09:56:31 +02:00
Markus Lehtonen
81752b2df1 Refactor AddLabels() to add namespace
Makes sure all NFD labels are in the same namespace.
2018-11-30 09:56:31 +02:00
Markus Lehtonen
9e4aade6b8 Delete labels in the deprecated namespace
Remove labels in the old, deprecated,
node.alpha.kubernetes-incubator.io namespace. We want clean up the
deprecated labels when deploying new version of NFD.
2018-11-30 09:56:31 +02:00
Markus Lehtonen
035efad4ad Advertise NFD version as an Annotation instead of a Label
Add new 'nfd.node.kubernetes.io/version' annotation for advertising the
version of NFD that created the feature labels on the node. Introduces
new 'nfd.node.kubernetes.io' namespace that is supposed to be used by
all future NFD annotations. The old
'node.alpha.kubernetes-incubator.io/node-feature-discovery.version' is
dropped in favor of the new annotation.

Annotations are better suited for this kind of metadata. NFD version
should not be used for pod scheduling, especially because all the nodes
in the cluster should normally run the same version of NFD.
2018-11-30 09:56:31 +02:00
Markus Lehtonen
2cefd312a8 Change label namespace to feature.node.kubernetes.io 2018-11-30 09:56:31 +02:00
Markus Lehtonen
86947fc16b Implement kernel version detection
Add a new 'kernel' feature source, detecting the kernel version. The
kernel version is split into multiple labels in order to make this more
usable in label selectors. Kernel version in the format X.Y.Z-patch will
be presented as
  node.alpha.kubernetes-incubator.io/nfd-kernel-version.full=X.Y.Z-patch
  node.alpha.kubernetes-incubator.io/nfd-kernel-version.major=X
  node.alpha.kubernetes-incubator.io/nfd-kernel-version.minor=Y
  node.alpha.kubernetes-incubator.io/nfd-kernel-version.revision=Z

The '.full' label will always be avaiable. The other labels if these
components can be parsed from the kernel version number.
2018-10-10 13:21:49 +03:00
Markus Lehtonen
56c2ab3d58 Support for non-binary labels
Make it possible to advertise also other than simple 'true' values for
feature labels.
2018-10-10 13:21:49 +03:00
Markus Lehtonen
b0d0797936 Add config support for the pci feature source
User can now configure the list of device classes to detect, either via
a configuration file or by using the --options command line flag.

An example of a command line flag to detect all network controllers and
("main class 0x02) and VGA display controllers ("main" class 0x03 and
subclass 0x00) would be:
  --options='{"sources": {"pci": {"deviceClassWhitelist": ["02", "0300"] } } }'
2018-10-10 12:36:20 +03:00
Markus Lehtonen
74d6993e9b Implement PCI feature source
This feature source detects the presence of PCI devices. At the moment,
it only advertises GPUs and accelerator cards, i.e. device classes 0x03,
0x0b40 and 0x12.

The label format is:
  node.alpha.kubernetes-incubator.io/nfd-pci-<device label>.present
where <device label> is composed of raw PCI IDs:
  <class id>_<vendor id>
2018-10-10 12:36:20 +03:00
Markus Lehtonen
244e049729 Make it possible to override config options from command line
Implement new '--options' command line flag that can be used to specify
config options from command line. Options specified via this command
line flag will override those read from the config file. The same format
as in the config file must be used, that is, the flag value must be
valid YAML or JSON.
2018-10-10 10:24:34 +03:00
Markus Lehtonen
917151728a Add config file support
Support yaml/json based config file for nfd. This commit does not add
any actual consumers for the config file, yet.

By default, nfd tries to read
/etc/kubernetes/node-feature-discovery/node-feature-discovery.conf.
This can be changed by specifying the --config command line flag.
2018-10-10 10:24:34 +03:00
Markus Lehtonen
175305b1ad Implement detection of IOMMU (#136) (#137)
* Arrange feature sources alphabetically

Just a cosmetic change, but, a small readability improvement.

* Implement detection of IOMMU (#136)

Add a new feature source, i.e. 'iommu', which detects if an IOMMU is
present and enabled in the kernel. The new node label is
  node.alpha.kubernetes-incubator.io/nfd-iommu-present
2018-07-24 08:24:45 -07:00
Markus Lehtonen
01e2110a5c Make it possible to run nfd as a DaemonSet (#105)
* Re-order imports in main.go alphabetically
* Refactor argument parsing
* Run nfd periodically in a loop by default
* Implement --sleep-interval command line option
* Add template for running nfd as a Kubernetes DaemonSet
2018-04-11 09:33:06 -07:00
Naga Ravi Chaitanya Elluri
60de66fc03 Advertise selinux status by adding labels
This commit:
- enables node-feature-dicovery to advertise selinux status
  on the node by adding a label.

- update the template to mount /sys into the container, this is
  needed to know about the selinux status on the host

- adds selinux source for unit tests
2018-04-09 16:13:45 -04:00
Olev Kartau
00615be083 Add memory source and NUMA detection.
If multiple nodes are marked online in
/sys/devices/system/node/online, it's a sign of NUMA
architecture. Mark it using nfd-memory-numa label.
2018-03-29 09:43:42 +03:00
Olev Kartau
e22ae236cd Added nonrotational storage detection
This change adds feature source "storage".
Add label if any non-rotational block device is present in the node.
The label will be: nfd-storage-nonrotationaldisk=true
2018-03-27 14:30:27 +03:00
Olev Kartau
aaeba895c6 Get node name from spec.nodeName instead of indirectly from pod. (#93)
spec.nodeName allows to get node name directly, without
using pod and podnamespace as intermediate steps.
2018-03-12 09:04:37 -07:00
Markus Lehtonen
b999a1a6f4 Fix unit tests (#98)
* Update unit tests

Make the unit tests pass, again.

* Update project dependencies

* Enable unittests in travis
2018-03-01 10:49:57 -08:00
swatisehgal
41da99a435 Adding SR-IOV capability discovery to node-feature-discovery (#49)
* Adding SR-IOV capability discovery to node-feature-discovery

* SR-IOV capability discovery in NFD : code update after PR review
- using hostnetwork instead of volume mount in file node-feature-discovery-job.json.template
- iterating through network interfaces that are "up" in sources.go
- inserting logs in sources.go
- change in feature source name from "netid" to "network" in sources.go, README.md and main.go

*  Added code for labels sriov=true (sriov_totalvfs > 0) and sriov-configured=true (sriov_numvfs > 0)

* Code Refactored: Added Network package and network.go
2017-11-28 15:47:11 +01:00
Andy Xie
0ea8ff631e refactor sources to source pkg 2017-09-05 21:35:33 -07:00
Mohammad Asif Siddiqui
c786cd21ca Fix Typo to improve GoReportCard 2017-08-14 21:13:45 +08:00
Balaji Subramaniam
689dfbe1c8 Improved unit test coverage.
- Refactored code for testing purposes.
- Misc. comment changes.
2016-12-19 13:54:08 -08:00
nfd-merge-bot
307348468a Merge pull request #31 from ConnorDoyle/update-namespace
Automatic merge from submit-queue

Update published label prefix.

Fixes #27.
- Changed prefix from `node.alpha.intel.com/nfd` to
  `node.alpha.kubernetes-incubator.io/nfd`
2016-11-16 08:52:47 -08:00
nfd-merge-bot
8c37ae2ee7 Merge pull request #46 from balajismaniam/enable-graceful-failure
Automatic merge from submit-queue

Enabled graceful failure if discovery for a source fails.

Fixes #37.
- Handles errors from discovery of source.
- Handles panics from discovery of source using recover().
- Added tests.

Before: 
```sh
>docker run quay.io/kubernetes_incubator/node-feature-discovery:e7f35ed --sources=cpuid,pstate,fake --no-publish
2016/11/15 22:39:55 node.alpha.intel.com/node-feature-discovery.version = e7f35ed-dirty
2016/11/15 22:39:55 node.alpha.intel.com/nfd-cpuid-NX = true
2016/11/15 22:39:55 node.alpha.intel.com/nfd-cpuid-MMX = true
2016/11/15 22:39:55 node.alpha.intel.com/nfd-cpuid-SSE = true
2016/11/15 22:39:55 node.alpha.intel.com/nfd-cpuid-SSE4.2 = true
2016/11/15 22:39:55 node.alpha.intel.com/nfd-cpuid-RDTSCP = true
2016/11/15 22:39:55 node.alpha.intel.com/nfd-cpuid-RDSEED = true
2016/11/15 22:39:55 node.alpha.intel.com/nfd-cpuid-MMXEXT = true
2016/11/15 22:39:55 node.alpha.intel.com/nfd-cpuid-SSE3 = true
2016/11/15 22:39:55 node.alpha.intel.com/nfd-cpuid-AVX = true
2016/11/15 22:39:55 node.alpha.intel.com/nfd-cpuid-LZCNT = true
2016/11/15 22:39:55 node.alpha.intel.com/nfd-cpuid-POPCNT = true
2016/11/15 22:39:55 node.alpha.intel.com/nfd-cpuid-CMOV = true
2016/11/15 22:39:55 node.alpha.intel.com/nfd-cpuid-SSSE3 = true
2016/11/15 22:39:55 node.alpha.intel.com/nfd-cpuid-AESNI = true
2016/11/15 22:39:55 node.alpha.intel.com/nfd-cpuid-CLMUL = true
2016/11/15 22:39:55 node.alpha.intel.com/nfd-cpuid-SSE2 = true
2016/11/15 22:39:55 node.alpha.intel.com/nfd-cpuid-SSE4.1 = true
2016/11/15 22:39:55 node.alpha.intel.com/nfd-cpuid-RDRAND = true
2016/11/15 22:39:55 node.alpha.intel.com/nfd-cpuid-CX16 = true
2016/11/15 22:39:55 discovery failed for source [pstate]: can't detect whether turbo boost is enabled: open /sys/devices/system/cpu/intel_pstate/no_turbo: no such file or directory
```

After:
```sh
>docker run quay.io/kubernetes_incubator/node-feature-discovery:e7f35ed-dirty --sources=cpuid,pstate,fake --no-publish
2016/11/15 22:38:55 node.alpha.intel.com/node-feature-discovery.version = e7f35ed-dirty
2016/11/15 22:38:55 node.alpha.intel.com/nfd-cpuid-RDTSCP = true
2016/11/15 22:38:55 node.alpha.intel.com/nfd-cpuid-CMOV = true
2016/11/15 22:38:55 node.alpha.intel.com/nfd-cpuid-MMX = true
2016/11/15 22:38:55 node.alpha.intel.com/nfd-cpuid-SSE2 = true
2016/11/15 22:38:55 node.alpha.intel.com/nfd-cpuid-RDSEED = true
2016/11/15 22:38:55 node.alpha.intel.com/nfd-cpuid-SSE = true
2016/11/15 22:38:55 node.alpha.intel.com/nfd-cpuid-SSE4.2 = true
2016/11/15 22:38:55 node.alpha.intel.com/nfd-cpuid-AESNI = true
2016/11/15 22:38:55 node.alpha.intel.com/nfd-cpuid-POPCNT = true
2016/11/15 22:38:55 node.alpha.intel.com/nfd-cpuid-CX16 = true
2016/11/15 22:38:55 node.alpha.intel.com/nfd-cpuid-MMXEXT = true
2016/11/15 22:38:55 node.alpha.intel.com/nfd-cpuid-SSSE3 = true
2016/11/15 22:38:55 node.alpha.intel.com/nfd-cpuid-SSE4.1 = true
2016/11/15 22:38:55 node.alpha.intel.com/nfd-cpuid-LZCNT = true
2016/11/15 22:38:55 node.alpha.intel.com/nfd-cpuid-RDRAND = true
2016/11/15 22:38:55 node.alpha.intel.com/nfd-cpuid-NX = true
2016/11/15 22:38:55 node.alpha.intel.com/nfd-cpuid-SSE3 = true
2016/11/15 22:38:55 node.alpha.intel.com/nfd-cpuid-AVX = true
2016/11/15 22:38:55 node.alpha.intel.com/nfd-cpuid-CLMUL = true
2016/11/15 22:38:55 discovery failed for source [pstate]: can't detect whether turbo boost is enabled: open /sys/devices/system/cpu/intel_pstate/no_turbo: no such file or directory
2016/11/15 22:38:55 continuing ...
2016/11/15 22:38:55 node.alpha.intel.com/nfd-fake-fakefeature1 = true
2016/11/15 22:38:55 node.alpha.intel.com/nfd-fake-fakefeature2 = true
2016/11/15 22:38:55 node.alpha.intel.com/nfd-fake-fakefeature3 = true
```
2016-11-15 16:42:45 -08:00
Balaji Subramaniam
398deb7cc1 Enabled graceful failure if discovery for a source fails.
- Handles errors from discovery of source.
- Handles panics from discovery of source using recover().
- Added tests.
2016-11-15 16:24:53 -08:00
Connor Doyle
58c075c98b Use out-of-tree k8s go client. 2016-11-15 16:00:51 -08:00
nfd-merge-bot
e7f35ed85e Merge pull request #36 from IRCody/logger
Automatic merge from submit-queue

Fixes #21: Splits label/version output to stdout

Previously the output for labels/nfd version was output to stderr along with errors. This PR adds stderr/stdout loggers and outputs labels/nfd version to stdout. This doesn't change the output on the terminal but it does allow another tool to deal with stdout and errors separately. 

Before:

```
-% docker run quay.io/kubernetes_incubator/node-feature-discovery:419702fc3dc8 2> error

-% cat error                                                                                                                                                                                                                                                                                    
2016-10-28 21:26:44.023070 I | node.alpha.intel.com/node-feature-discovery.version = 769caf8-dirty
2016-10-28 21:26:44.023294 I | node.alpha.intel.com/769caf8-dirty-cpuid-SSE4.1 = true
2016-10-28 21:26:44.023330 I | node.alpha.intel.com/769caf8-dirty-cpuid-BMI1 = true
2016-10-28 21:26:44.023341 I | node.alpha.intel.com/769caf8-dirty-cpuid-CLMUL = true
2016-10-28 21:26:44.023348 I | node.alpha.intel.com/769caf8-dirty-cpuid-SSE2 = true
2016-10-28 21:26:44.023357 I | node.alpha.intel.com/769caf8-dirty-cpuid-AVX = true
2016-10-28 21:26:44.023363 I | node.alpha.intel.com/769caf8-dirty-cpuid-AVX2 = true
2016-10-28 21:26:44.023371 I | node.alpha.intel.com/769caf8-dirty-cpuid-HTT = true
2016-10-28 21:26:44.023377 I | node.alpha.intel.com/769caf8-dirty-cpuid-CMOV = true
2016-10-28 21:26:44.023387 I | node.alpha.intel.com/769caf8-dirty-cpuid-NX = true
2016-10-28 21:26:44.023399 I | node.alpha.intel.com/769caf8-dirty-cpuid-MMX = true
2016-10-28 21:26:44.023405 I | node.alpha.intel.com/769caf8-dirty-cpuid-SSE = true
2016-10-28 21:26:44.023414 I | node.alpha.intel.com/769caf8-dirty-cpuid-SSE3 = true
2016-10-28 21:26:44.023422 I | node.alpha.intel.com/769caf8-dirty-cpuid-SSE4.2 = true
2016-10-28 21:26:44.023432 I | node.alpha.intel.com/769caf8-dirty-cpuid-FMA3 = true
2016-10-28 21:26:44.023441 I | node.alpha.intel.com/769caf8-dirty-cpuid-BMI2 = true
2016-10-28 21:26:44.023451 I | node.alpha.intel.com/769caf8-dirty-cpuid-AESNI = true
2016-10-28 21:26:44.023461 I | node.alpha.intel.com/769caf8-dirty-cpuid-RDRAND = true
2016-10-28 21:26:44.023471 I | node.alpha.intel.com/769caf8-dirty-cpuid-RDTSCP = true
2016-10-28 21:26:44.023480 I | node.alpha.intel.com/769caf8-dirty-cpuid-CX16 = true
2016-10-28 21:26:44.023486 I | node.alpha.intel.com/769caf8-dirty-cpuid-MMXEXT = true
2016-10-28 21:26:44.023494 I | node.alpha.intel.com/769caf8-dirty-cpuid-SSSE3 = true
2016-10-28 21:26:44.023500 I | node.alpha.intel.com/769caf8-dirty-cpuid-F16C = true
2016-10-28 21:26:44.023510 I | node.alpha.intel.com/769caf8-dirty-cpuid-LZCNT = true
2016-10-28 21:26:44.023515 I | node.alpha.intel.com/769caf8-dirty-cpuid-POPCNT = true
2016-10-28 21:26:44.023523 I | node.alpha.intel.com/769caf8-dirty-cpuid-ERMS = true
2016-10-28 21:26:44.033911 I | node.alpha.intel.com/769caf8-dirty-rdt-RDTMON = true
2016-10-28 21:26:44.034034 I | node.alpha.intel.com/769caf8-dirty-pstate-turbo = true
2016-10-28 21:26:44.034061 I | can't get kubernetes client: unable to load in-cluster configuration, KUBERNETES_SERVICE_HOST and KUBERNETES_SERVICE_PORT must be defined
2016-10-28 21:26:44.034069 I | failed to advertise labels: unable to load in-cluster configuration, KUBERNETES_SERVICE_HOST and KUBERNETES_SERVICE_PORT must be defined
```

After:

```
-% docker run quay.io/kubernetes_incubator/node-feature-discovery:5927cfc0a79f 2> error
2016/10/28 21:28:00 node.alpha.intel.com/node-feature-discovery.version = be5a271-dirty
2016/10/28 21:28:00 node.alpha.intel.com/nfd-cpuid-NX = true
2016/10/28 21:28:00 node.alpha.intel.com/nfd-cpuid-SSE = true
2016/10/28 21:28:00 node.alpha.intel.com/nfd-cpuid-SSE4.1 = true
2016/10/28 21:28:00 node.alpha.intel.com/nfd-cpuid-AVX2 = true
2016/10/28 21:28:00 node.alpha.intel.com/nfd-cpuid-F16C = true
2016/10/28 21:28:00 node.alpha.intel.com/nfd-cpuid-BMI2 = true
2016/10/28 21:28:00 node.alpha.intel.com/nfd-cpuid-HTT = true
2016/10/28 21:28:00 node.alpha.intel.com/nfd-cpuid-RDRAND = true
2016/10/28 21:28:00 node.alpha.intel.com/nfd-cpuid-ERMS = true
2016/10/28 21:28:00 node.alpha.intel.com/nfd-cpuid-CX16 = true
2016/10/28 21:28:00 node.alpha.intel.com/nfd-cpuid-CMOV = true
2016/10/28 21:28:00 node.alpha.intel.com/nfd-cpuid-MMX = true
2016/10/28 21:28:00 node.alpha.intel.com/nfd-cpuid-MMXEXT = true
2016/10/28 21:28:00 node.alpha.intel.com/nfd-cpuid-SSE4.2 = true
2016/10/28 21:28:00 node.alpha.intel.com/nfd-cpuid-AVX = true
2016/10/28 21:28:00 node.alpha.intel.com/nfd-cpuid-FMA3 = true
2016/10/28 21:28:00 node.alpha.intel.com/nfd-cpuid-BMI1 = true
2016/10/28 21:28:00 node.alpha.intel.com/nfd-cpuid-CLMUL = true
2016/10/28 21:28:00 node.alpha.intel.com/nfd-cpuid-SSE2 = true
2016/10/28 21:28:00 node.alpha.intel.com/nfd-cpuid-SSE3 = true
2016/10/28 21:28:00 node.alpha.intel.com/nfd-cpuid-AESNI = true
2016/10/28 21:28:00 node.alpha.intel.com/nfd-cpuid-SSSE3 = true
2016/10/28 21:28:00 node.alpha.intel.com/nfd-cpuid-LZCNT = true
2016/10/28 21:28:00 node.alpha.intel.com/nfd-cpuid-POPCNT = true
2016/10/28 21:28:00 node.alpha.intel.com/nfd-cpuid-RDTSCP = true
2016/10/28 21:28:00 node.alpha.intel.com/nfd-rdt-RDTMON = true
2016/10/28 21:28:00 node.alpha.intel.com/nfd-pstate-turbo = true

-% cat error
2016/10/28 21:28:00 can't get kubernetes client: unable to load in-cluster configuration, KUBERNETES_SERVICE_HOST and KUBERNETES_SERVICE_PORT must be defined
2016/10/28 21:28:00 failed to advertise labels: unable to load in-cluster configuration, KUBERNETES_SERVICE_HOST and KUBERNETES_SERVICE_PORT must be defined
```
2016-11-10 06:22:29 -08:00
Cody Roseborough
88c15c2358 Fixes #25: Deletes non-discovered nfd labels
Adds RemoveLabels() to remove all labels from a node that contains the
supplied search string. Uses this to remove node-feature-discovery
labels prior to re-applying newly discovered labels.

This behavior applies to consecutive runs of node-feature-discovery and
whatever restrictions are placed on it. For example if a whitelist is
specified that changes the labels that are discovered, any labels that
do not match the whitelist will be removed. Adds a small note to the
readme to point out this fact.

Adds tests to main_test.go to test the behavior of AddLabels and
RemoveLabels.
2016-11-02 14:40:17 -07:00
Cody Roseborough
d940ce6e31 Fixes #21: Splits label/version output to stdout
Adds loggers for stdout/stderr and outputs labels and the version to
stdout.
2016-10-28 14:18:04 -07:00
Connor Doyle
9443bc65ab Update published label prefix.
- Changed prefix from `node.alpha.intel.com/nfd` to
  `node.alpha.kubernetes-incubator.io/nfd`
2016-10-26 15:36:12 -07:00
nfd-merge-bot
be5a271e8f Merge pull request #28 from ConnorDoyle/rm-version-from-keys
Automatic merge from submit-queue

Removed version from published label keys.

Fixes #24
2016-10-26 12:22:24 -07:00
Connor Doyle
abb5164508 Removed version from published label keys. 2016-10-26 11:26:51 -07:00
Connor Doyle
906412d961 Updated CLI usage info in README. 2016-10-25 20:05:20 -07:00
nfd-merge-bot
2e58484ea1 Merge pull request #26 from balajismaniam/fake-source
Automatic merge from submit-queue

Added fake feature source for testing purposes.

The fake source adds three fake features. I tested it manually. 

```sh
>docker run quay.io/kubernetes_incubator/node-feature-discovery:31ec894-dirty --source=fake --no-publish
2016-10-25 22:04:09.446666 I | node.alpha.intel.com/node-feature-discovery.version = 31ec894-dirty
2016-10-25 22:04:09.446939 I | node.alpha.intel.com/31ec894-dirty-fake-fakefeature1 = true
2016-10-25 22:04:09.447595 I | node.alpha.intel.com/31ec894-dirty-fake-fakefeature2 = true
2016-10-25 22:04:09.447659 I | node.alpha.intel.com/31ec894-dirty-fake-fakefeature3 = true
```
2016-10-25 15:52:20 -07:00
Balaji Subramaniam
af0f97dcef Added fake feature source for testing purposes. 2016-10-25 14:57:40 -07:00
Cody Roseborough
769caf8f45 Adds label-whitelist option.
The --label-whitelist option takes a regex and matches against labels.
If set, labels will only be published if they match the whitelist regex.
2016-10-17 11:31:35 -07:00
Connor Doyle
570d1ae5be Replayed commit history. 2016-08-31 11:44:06 -07:00
Balaji Subramaniam
d5a9c621f9 Added tests.
- Updated mock tests.
- Refactored to get more coverage.
- Minor changes to normalize error reporting.
2016-08-30 14:42:59 -07:00
Connor Doyle
e79ffd2c2a Refactored feature sources.
- Added interface FeatureSource, moved cpuid, rdt and pstate
  discovery logic into implementations.
- Updated logging output to make it more machine-readable
  (one feature, in label-format, per line).
- Normalized label names (derived from the underlying feature source).
- Added makefile.
- Added command-line argument parsing and proper CLI documentation.
- Added ability to filter the enabled feature sources: cpuid,rdt,pstate.
- Added ability to print the software version and exit.
- Added ability to print the CLI help.
- Updated README.
- Updated dep versions.
- Added -s -w to ldflags.
- Output version label along with discovered feature labels.
- Added sources section to README.
- Normalized README link for pstate
2016-08-30 14:41:59 -07:00
Connor Doyle
4bd63cb7f3 Automatically determine git version for labels.
- Added git version to published labels.
- Minor formatting fix in job template.
- Added .travis.yml and added build status image link to README.
- Added .gitignore.
2016-08-30 14:34:58 -07:00
Balaji Subramaniam
9c8b1bc8b3 Changed Dockerfile to use stable tag. Minor changes to readme. 2016-08-30 14:34:58 -07:00
Balaji Subramaniam
eaa116f565 Added more logging. Changed formatting. 2016-08-30 14:34:58 -07:00
Balaji Subramaniam
d96f50e7c6 1. Enabled RDT discovery.
2. Updated the ds to a job for node labelling.
3. Added script to run a job in each node.
4. Updated Readme.
2016-07-12 02:30:49 +02:00
Balaji Subramaniam
15a4d0ef2e Initial Commit. 2016-07-01 11:46:05 -07:00