node-feature-discovery icon indicating copy to clipboard operation
node-feature-discovery copied to clipboard

Invalid feature name 'cpu-cpuid.' warning is shown in nfd-worker pod logs

Open Chandan-Abhyankar opened this issue 3 years ago • 1 comments

What happened: Invalid feature name 'cpu-cpuid.' warning is shown in nfd-worker pod logs What you expected to happen: Invalid feature name 'cpu-cpuid.' warning should not be shown in nfd-worker pod logs How to reproduce it (as minimally and precisely as possible): Install necessary pre-requisites e.g. git, make, podman-docker, go etc

Take the latest code from master branch git clone https://github.com/kubernetes-sigs/node-feature-discovery.git

Edit the makefile (so it doesn't use the git shasum) $ cd node-feature-discovery $ vi Makefile and save changes Replace VERSION := $(shell git describe --tags --dirty --always) with VERSION ?= '1.0.0'

$ make image

Push image to your preferred registry and deploy it

$ make deploy You should see the following: namespace/node-feature-discovery created customresourcedefinition.apiextensions.k8s.io/nodefeaturerules.nfd.k8s-sigs.io created serviceaccount/nfd-master created clusterrole.rbac.authorization.k8s.io/nfd-master created clusterrolebinding.rbac.authorization.k8s.io/nfd-master created configmap/nfd-worker-conf created service/nfd-master created deployment.apps/nfd-master created daemonset.apps/nfd-worker created

Confirm master and worker pods are running fine on node-feature-discovery namespace. [Cross check recently created image is used in nfd-master deployment and nfd-worker deamonset. If not then change image to what you have recently built]

$ kubectl get pods -n node-feature-discovery NAME READY STATUS RESTARTS AGE nfd-master-845b5bb867-ql65p 1/1 Running 0 88m nfd-worker-nt855 1/1 Running 0 88m

Check pod log for nfd-worker $ kubectl logs nfd-worker-nt855 I1013 06:26:33.193306 1 component.go:36] [core][Channel #1] Channel Connectivity change to READY I1013 06:26:33.196659 1 local.go:115] starting hooks... I1013 06:26:33.198069 1 nfd-worker.go:470] starting feature discovery... W1013 06:26:33.198144 1 nfd-worker.go:523] ignoring invalid feature name 'cpu-cpuid.': [name part must consist of alphanumeric characters, '-', '' or '.', and must start and end with an alphanumeric character (e.g. 'MyName', or 'my.name', or '123-abc', regex used for validation is '([A-Za-z0-9][-A-Za-z0-9.]*)?[A-Za-z0-9]')] I1013 06:26:33.198452 1 nfd-worker.go:482] feature discovery completed I1013 06:26:33.198484 1 nfd-worker.go:563] sending labeling request to nfd-master

Anything else we need to know?:

Environment:

  • Kubernetes version (use kubectl version): -# kubectl version WARNING: This version information is deprecated and will be replaced with the output from kubectl version --short. Use --output=yaml|json to get the full version. Client Version: version.Info{Major:"1", Minor:"25", GitVersion:"v1.25.2", GitCommit:"5835544ca568b757a8ecae5c153f317e5736700e", GitTreeState:"clean", BuildDate:"2022-09-21T14:33:49Z", GoVersion:"go1.19.1", Compiler:"gc", Platform:"linux/ppc64le"} Kustomize Version: v4.5.7 Server Version: version.Info{Major:"1", Minor:"25", GitVersion:"v1.25.2", GitCommit:"5835544ca568b757a8ecae5c153f317e5736700e", GitTreeState:"clean", BuildDate:"2022-09-21T14:27:13Z", GoVersion:"go1.19.1", Compiler:"gc", Platform:"linux/ppc64le"}
  • Cloud provider or hardware configuration:
  • OS (e.g: cat /etc/os-release): RHEL 9
  • Kernel (e.g. uname -a): ppc64le GNU/Linux
  • Install tools:
  • Network plugin and version (if this is a network-related bug):
  • Others:

Chandan-Abhyankar avatar Oct 13 '22 08:10 Chandan-Abhyankar

@Chandan-Abhyankar thanks for reporting this.

I don't have ppc64 HW myself so I cannot verify test this. But I suspect this would fix would fix the immediate issue: https://github.com/kubernetes-sigs/node-feature-discovery/pull/914

Ping @yselkowitz who is the author of the ppc64 cpuid support. Seems that our set of cpuid flags would need an update.

$ vi Makefile and save changes

BTW @Chandan-Abhyankar you don't need to edit the makefile, you can override stuff from the command line:

IMAGE_REGISTRY=example.com/my-registry IMAGE_TAG_NAME=test make image
IMAGE_REGISTRY=example.com/my-registry IMAGE_TAG_NAME=test make push
IMAGE_REGISTRY=example.com/my-registry IMAGE_TAG_NAME=test make deploy

See https://kubernetes-sigs.github.io/node-feature-discovery/stable/advanced/developer-guide.html#customizing-the-build

marquiz avatar Oct 13 '22 12:10 marquiz