Skip to content

Commit 33571d4

Browse files
authored
Merge pull request #2350 from marquiz/devel/kubectl-plugin
kubectl-nfd: fix test subcommand
2 parents 4ea2711 + 3734f0c commit 33571d4

File tree

2 files changed

+15
-7
lines changed

2 files changed

+15
-7
lines changed

cmd/kubectl-nfd/subcmd/test.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,10 @@ func init() {
4949
testCmd.Flags().StringVarP(&nodefeaturerule, "nodefeaturerule-file", "f", "", "Path to the NodeFeatureRule file to validate")
5050
testCmd.Flags().StringVarP(&node, "nodename", "n", "", "Node to validate against")
5151
testCmd.Flags().StringVarP(&kubeconfig, "kubeconfig", "k", "", "kubeconfig file to use")
52-
err := testCmd.MarkFlagRequired("nodefeaturerule-file")
53-
if err != nil {
52+
if err := testCmd.MarkFlagRequired("nodefeaturerule-file"); err != nil {
53+
panic(err)
54+
}
55+
if err := testCmd.MarkFlagRequired("nodename"); err != nil {
5456
panic(err)
5557
}
5658
}

pkg/kubectl-nfd/test.go

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,15 +17,16 @@ limitations under the License.
1717
package kubectlnfd
1818

1919
import (
20+
"context"
2021
"fmt"
2122
"os"
22-
"time"
23+
"strings"
2324

25+
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
2426
k8sLabels "k8s.io/apimachinery/pkg/labels"
2527
"k8s.io/client-go/tools/clientcmd"
2628

2729
nfdclientset "sigs.k8s.io/node-feature-discovery/api/generated/clientset/versioned"
28-
nfdinformers "sigs.k8s.io/node-feature-discovery/api/generated/informers/externalversions"
2930
nfdv1alpha1 "sigs.k8s.io/node-feature-discovery/api/nfd/v1alpha1"
3031

3132
"sigs.k8s.io/yaml"
@@ -46,14 +47,19 @@ func Test(nodefeaturerulepath, nodeName, kubeconfig string) []error {
4647
}
4748

4849
nfdClient := nfdclientset.NewForConfigOrDie(config)
49-
informerFactory := nfdinformers.NewSharedInformerFactory(nfdClient, 1*time.Second)
50-
featureLister := informerFactory.Nfd().V1alpha1().NodeFeatures().Lister()
5150

5251
sel := k8sLabels.SelectorFromSet(k8sLabels.Set{nfdv1alpha1.NodeFeatureObjNodeNameLabel: nodeName})
53-
objs, err := featureLister.List(sel)
52+
list, err := nfdClient.NfdV1alpha1().NodeFeatures(metav1.NamespaceAll).List(context.TODO(), metav1.ListOptions{LabelSelector: sel.String()})
5453
if err != nil {
5554
return []error{fmt.Errorf("failed to get NodeFeature resources for node %q: %w", nodeName, err)}
5655
}
56+
objs := list.Items
57+
names := make([]string, len(objs))
58+
for i, o := range objs {
59+
names[i] = o.Namespace + "/" + o.Name
60+
}
61+
fmt.Printf("Found %d NodeFeature objects for node %q: %s\n", len(objs), nodeName, strings.Join(names, ", "))
62+
5763
features := nfdv1alpha1.NewNodeFeatureSpec()
5864
if len(objs) > 0 {
5965
features = objs[0].Spec.DeepCopy()

0 commit comments

Comments
 (0)