1
0
Fork 0
mirror of https://github.com/kubernetes-sigs/node-feature-discovery.git synced 2025-03-28 02:37:11 +00:00

Send raw features over gRPC

Enable transfer of raw features between nfd-worker and nfd-master.
This commit is contained in:
Markus Lehtonen 2021-04-23 08:39:54 +03:00
parent d4d9a03732
commit 47e7c47594
2 changed files with 18 additions and 3 deletions

View file

@ -32,6 +32,7 @@ import (
"k8s.io/klog/v2"
"sigs.k8s.io/yaml"
"sigs.k8s.io/node-feature-discovery/pkg/api/feature"
pb "sigs.k8s.io/node-feature-discovery/pkg/labeler"
nfdclient "sigs.k8s.io/node-feature-discovery/pkg/nfd-client"
"sigs.k8s.io/node-feature-discovery/pkg/utils"
@ -479,6 +480,17 @@ func getFeatureLabels(source source.LabelSource, labelWhiteList regexp.Regexp) (
return labels, nil
}
// getFeatures returns raw features from all feature sources
func getFeatures() map[string]*feature.DomainFeatures {
features := make(map[string]*feature.DomainFeatures)
for name, src := range source.GetAllFeatureSources() {
features[name] = src.GetFeatures()
}
return features
}
// advertiseFeatureLabels advertises the feature labels to a Kubernetes node
// via the NFD server.
func advertiseFeatureLabels(client pb.LabelerClient, labels Labels) error {
@ -488,6 +500,7 @@ func advertiseFeatureLabels(client pb.LabelerClient, labels Labels) error {
klog.Infof("sending labeling request to nfd-master")
labelReq := pb.SetLabelsRequest{Labels: labels,
Features: getFeatures(),
NfdVersion: version.Get(),
NodeName: nfdclient.NodeName()}
_, err := client.SetLabels(ctx, &labelReq)

View file

@ -384,10 +384,12 @@ func (m *nfdMaster) SetLabels(c context.Context, r *pb.SetLabelsRequest) (*pb.Se
if err != nil {
return &pb.SetLabelsReply{}, err
}
if klog.V(1).Enabled() {
switch {
case klog.V(2).Enabled():
utils.KlogDump(2, "REQUEST", " ", r)
case klog.V(1).Enabled():
klog.Infof("REQUEST Node: %q NFD-version: %q Labels: %s", r.NodeName, r.NfdVersion, r.Labels)
} else {
default:
klog.Infof("received labeling request for node %q", r.NodeName)
}