Node Feature Discover Operator

Deployment

  • Deploy the NFD operator from OperatorHub, and control the install channel

./run_toolbox.py nfd_operator deploy_from_operatorhub [--channel=CHANNEL, eg: 4.7]
./run_toolbox.py nfd_operator undeploy_from_operatorhub

Testing and Waiting

  • Test NFD deployment

(search for feature.node.kubernetes.io/system-os_release.ID=rhcos label)

./run_toolbox.py nfd has_labels
  • Test with NFD if NVIDIA GPU nodes are available

Search for these NVIDIA GPU PCI labels (that’s the labels used by the GPU Operator):

feature.node.kubernetes.io/pci-10de.present
feature.node.kubernetes.io/pci-0302_10de.present
feature.node.kubernetes.io/pci-0300_10de.present
./run_toolbox.py nfd has_gpu_nodes
  • Wait with NFD for GPU nodes to become available

./run_toolbox.py nfd wait_gpu_nodes
  • Deploy NFD Operator from its master branch

./run_toolbox.py nfd_operator deploy_from_commit <repo> <ref> [tag]

Example:

./run_toolbox.py nfd_operator deploy_from_commit https://github.com/openshift/cluster-nfd-operator.git master

End-to-end Testing

  • Test NFD Operator from its master branch

./run_toolbox.py local_ci deploy "run nfd-operator test_master_branch" https://github.com/openshift-psap/ci-artifacts master

Cleaning Up

  • Uninstall and cleanup NFD labels

./run_toolbox.py nfd_operator undeploy_from_operatorhub