Skip to content

Commit

Permalink
Merge pull request Mellanox#557 from ArangoGutierrez/nfd_nfr
Browse files Browse the repository at this point in the history
Sync NFD Helm Charts and config with the GPU-Operator
  • Loading branch information
adrianchiris authored Jul 4, 2023
2 parents 6c21718 + ca22320 commit b83f735
Show file tree
Hide file tree
Showing 28 changed files with 2,248 additions and 42 deletions.
3 changes: 2 additions & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,8 @@ COPY deployment/network-operator chart
# copy CRDs from helm charts
RUN mkdir crds && \
cp -r chart/crds /workspace/crds/network-operator/ && \
cp -r chart/charts/sriov-network-operator/crds /workspace/crds/sriov-network-operator/
cp -r chart/charts/sriov-network-operator/crds /workspace/crds/sriov-network-operator/ && \
cp -r chart/charts/node-feature-discovery/crds /workspace/crds/node-feature-discovery/

# Build
RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -a -o manager main.go
Expand Down
25 changes: 15 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,8 @@ For more information please visit the official [documentation](https://docs.nvid
## Prerequisites
### Kubernetes Node Feature Discovery (NFD)
NVIDIA Network operator relies on Node labeling to get the cluster to the desired state.
[Node Feature Discovery](https://github.com/kubernetes-sigs/node-feature-discovery) `v0.10.1` or newer is expected to be deployed to provide the appropriate labeling:
[Node Feature Discovery](https://github.com/kubernetes-sigs/node-feature-discovery) `v0.13.2` or newer is deployed by default via HELM chart installation.
NFD is used to label nodes with the following labels:

- PCI vendor and device information
- RDMA capability
Expand All @@ -59,19 +60,23 @@ NVIDIA Network operator relies on Node labeling to get the cluster to the desire
__Example NFD worker configurations:__

```yaml
sources:
custom:
pci:
deviceClassWhitelist:
- "02"
- "0200"
- "0207"
deviceLabelFields:
- "vendor"
config:
sources:
pci:
deviceClassWhitelist:
- "02"
- "0200"
- "0207"
- "0300"
- "0302"
deviceLabelFields:
- vendor
```
>\* Required for GPUDirect driver container deployment
If NFD is already deployed in the cluster, make sure to pass `--set nfd.enabled=false` to the helm install command to avoid conflicts.

## Resource Definitions
The Operator Acts on the following CRDs:

Expand Down
2 changes: 1 addition & 1 deletion deployment/network-operator/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ dependencies:
- condition: nfd.enabled
name: node-feature-discovery
repository: "http://kubernetes-sigs.github.io/node-feature-discovery/charts"
version: 0.10.1
version: 0.13.2
- condition: sriovNetworkOperator.enabled
name: sriov-network-operator
repository: ""
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Patterns to ignore when building packages.
# This supports shell glob matching, relative path matching, and
# negation (prefixed with !). Only one pattern per line.
.DS_Store
# Common VCS dirs
.git/
.gitignore
.bzr/
.bzrignore
.hg/
.hgignore
.svn/
# Common backup files
*.swp
*.bak
*.tmp
*.orig
*~
# Various IDEs
.project
.idea/
*.tmproj
.vscode/
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
apiVersion: v2
appVersion: v0.13.2
description: 'Detects hardware features available on each node in a Kubernetes cluster,
and advertises those features using node labels. '
home: https://github.com/kubernetes-sigs/node-feature-discovery
keywords:
- feature-discovery
- feature-detection
- node-labels
name: node-feature-discovery
sources:
- https://github.com/kubernetes-sigs/node-feature-discovery
type: application
version: 0.13.2
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Node Feature Discovery

Node Feature Discovery (NFD) is a Kubernetes add-on for detecting hardware
features and system configuration. Detected features are advertised as node
labels. NFD provides flexible configuration and extension points for a wide
range of vendor and application specific node labeling needs.

See
[NFD documentation](https://kubernetes-sigs.github.io/node-feature-discovery/v0.13/deployment/helm.html)
for deployment instructions.
Loading

0 comments on commit b83f735

Please sign in to comment.