mirror of
https://github.com/kubernetes-sigs/node-feature-discovery.git
synced 2025-03-14 20:56:42 +00:00
Add common utility function for getting node name
This commit is contained in:
parent
7b94c8bd38
commit
aa97105854
7 changed files with 18 additions and 19 deletions
|
@ -26,7 +26,6 @@ import (
|
|||
"k8s.io/klog/v2"
|
||||
kubeletconfigv1beta1 "k8s.io/kubelet/config/v1beta1"
|
||||
|
||||
nfdclient "sigs.k8s.io/node-feature-discovery/pkg/nfd-client"
|
||||
topology "sigs.k8s.io/node-feature-discovery/pkg/nfd-client/topology-updater"
|
||||
"sigs.k8s.io/node-feature-discovery/pkg/resourcemonitor"
|
||||
"sigs.k8s.io/node-feature-discovery/pkg/topologypolicy"
|
||||
|
@ -111,12 +110,12 @@ func parseArgs(flags *flag.FlagSet, osArgs ...string) (*topology.Args, *resource
|
|||
}
|
||||
|
||||
if len(resourcemonitorArgs.KubeletConfigURI) == 0 {
|
||||
if len(nfdclient.NodeName()) == 0 {
|
||||
if len(utils.NodeName()) == 0 {
|
||||
fmt.Fprintf(flags.Output(), "unable to determine the default kubelet config endpoint 'https://${NODE_NAME}:%d/configz' due to empty NODE_NAME environment, "+
|
||||
"please either define the NODE_NAME environment variable or specify endpoint with the -kubelet-config-uri flag\n", kubeletSecurePort)
|
||||
os.Exit(1)
|
||||
}
|
||||
resourcemonitorArgs.KubeletConfigURI = fmt.Sprintf("https://%s:%d/configz", nfdclient.NodeName(), kubeletSecurePort)
|
||||
resourcemonitorArgs.KubeletConfigURI = fmt.Sprintf("https://%s:%d/configz", utils.NodeName(), kubeletSecurePort)
|
||||
}
|
||||
|
||||
return args, resourcemonitorArgs
|
||||
|
|
|
@ -56,15 +56,6 @@ type Args struct {
|
|||
Klog map[string]*utils.KlogFlagVal
|
||||
}
|
||||
|
||||
var nodeName string
|
||||
|
||||
func init() {
|
||||
nodeName = os.Getenv("NODE_NAME")
|
||||
}
|
||||
|
||||
// NodeName returns the name of the k8s node we're running on.
|
||||
func NodeName() string { return nodeName }
|
||||
|
||||
// NewNfdBaseClient creates a new NfdBaseClient instance.
|
||||
func NewNfdBaseClient(args *Args) (NfdBaseClient, error) {
|
||||
nfd := NfdBaseClient{args: *args}
|
||||
|
|
|
@ -78,7 +78,7 @@ func NewTopologyUpdater(args Args, resourcemonitorArgs resourcemonitor.Args, pol
|
|||
args: args,
|
||||
resourcemonitorArgs: resourcemonitorArgs,
|
||||
nodeInfo: &staticNodeInfo{
|
||||
nodeName: os.Getenv("NODE_NAME"),
|
||||
nodeName: utils.NodeName(),
|
||||
tmPolicy: policy,
|
||||
},
|
||||
stop: make(chan struct{}, 1),
|
||||
|
|
|
@ -157,7 +157,7 @@ func newDefaultConfig() *NFDConfig {
|
|||
// one request if OneShot is set to 'true' in the worker args.
|
||||
func (w *nfdWorker) Run() error {
|
||||
klog.Infof("Node Feature Discovery Worker %s", version.Get())
|
||||
klog.Infof("NodeName: '%s'", clientcommon.NodeName())
|
||||
klog.Infof("NodeName: '%s'", utils.NodeName())
|
||||
klog.Infof("Kubernetes namespace: '%s'", w.kubernetesNamespace)
|
||||
|
||||
// Create watcher for config file and read initial configuration
|
||||
|
@ -559,7 +559,7 @@ func (w *nfdWorker) advertiseFeatureLabels(labels Labels) error {
|
|||
labelReq := pb.SetLabelsRequest{Labels: labels,
|
||||
Features: source.GetAllFeatures(),
|
||||
NfdVersion: version.Get(),
|
||||
NodeName: clientcommon.NodeName()}
|
||||
NodeName: utils.NodeName()}
|
||||
|
||||
cli, err := w.getGrpcClient()
|
||||
if err != nil {
|
||||
|
@ -581,7 +581,7 @@ func (m *nfdWorker) updateNodeFeatureObject(labels Labels) error {
|
|||
if err != nil {
|
||||
return err
|
||||
}
|
||||
nodename := clientcommon.NodeName()
|
||||
nodename := utils.NodeName()
|
||||
namespace := m.kubernetesNamespace
|
||||
|
||||
features := source.GetAllFeatures()
|
||||
|
|
|
@ -21,7 +21,6 @@ import (
|
|||
"crypto/x509"
|
||||
"fmt"
|
||||
"net"
|
||||
"os"
|
||||
"path"
|
||||
"regexp"
|
||||
"sort"
|
||||
|
@ -101,7 +100,7 @@ type nfdMaster struct {
|
|||
// NewNfdMaster creates a new NfdMaster server instance.
|
||||
func NewNfdMaster(args *Args) (NfdMaster, error) {
|
||||
nfd := &nfdMaster{args: *args,
|
||||
nodeName: os.Getenv("NODE_NAME"),
|
||||
nodeName: utils.NodeName(),
|
||||
namespace: utils.GetKubernetesNamespace(),
|
||||
ready: make(chan bool, 1),
|
||||
stop: make(chan struct{}, 1),
|
||||
|
|
|
@ -21,6 +21,16 @@ import (
|
|||
"strings"
|
||||
)
|
||||
|
||||
var nodeName string
|
||||
|
||||
// NodeName returns the name of the k8s node we're running on.
|
||||
func NodeName() string {
|
||||
if nodeName == "" {
|
||||
nodeName = os.Getenv("NODE_NAME")
|
||||
}
|
||||
return nodeName
|
||||
}
|
||||
|
||||
// GetKubernetesNamespace returns the kubernetes namespace we're running under,
|
||||
// or an empty string if the namespace cannot be determined.
|
||||
func GetKubernetesNamespace() string {
|
||||
|
|
|
@ -82,7 +82,7 @@ func (s *systemSource) Discover() error {
|
|||
|
||||
// Get node name
|
||||
s.features.Attributes[NameFeature] = nfdv1alpha1.NewAttributeFeatures(nil)
|
||||
s.features.Attributes[NameFeature].Elements["nodename"] = os.Getenv("NODE_NAME")
|
||||
s.features.Attributes[NameFeature].Elements["nodename"] = utils.NodeName()
|
||||
|
||||
// Get os-release information
|
||||
release, err := parseOSRelease()
|
||||
|
|
Loading…
Add table
Reference in a new issue