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:
parent
d4d9a03732
commit
47e7c47594
2 changed files with 18 additions and 3 deletions
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue