mirror of
https://github.com/kubernetes-sigs/node-feature-discovery.git
synced 2025-03-15 04:57:56 +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"
|
"k8s.io/klog/v2"
|
||||||
kubeletconfigv1beta1 "k8s.io/kubelet/config/v1beta1"
|
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"
|
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/resourcemonitor"
|
||||||
"sigs.k8s.io/node-feature-discovery/pkg/topologypolicy"
|
"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(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, "+
|
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)
|
"please either define the NODE_NAME environment variable or specify endpoint with the -kubelet-config-uri flag\n", kubeletSecurePort)
|
||||||
os.Exit(1)
|
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
|
return args, resourcemonitorArgs
|
||||||
|
|
|
@ -56,15 +56,6 @@ type Args struct {
|
||||||
Klog map[string]*utils.KlogFlagVal
|
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.
|
// NewNfdBaseClient creates a new NfdBaseClient instance.
|
||||||
func NewNfdBaseClient(args *Args) (NfdBaseClient, error) {
|
func NewNfdBaseClient(args *Args) (NfdBaseClient, error) {
|
||||||
nfd := NfdBaseClient{args: *args}
|
nfd := NfdBaseClient{args: *args}
|
||||||
|
|
|
@ -78,7 +78,7 @@ func NewTopologyUpdater(args Args, resourcemonitorArgs resourcemonitor.Args, pol
|
||||||
args: args,
|
args: args,
|
||||||
resourcemonitorArgs: resourcemonitorArgs,
|
resourcemonitorArgs: resourcemonitorArgs,
|
||||||
nodeInfo: &staticNodeInfo{
|
nodeInfo: &staticNodeInfo{
|
||||||
nodeName: os.Getenv("NODE_NAME"),
|
nodeName: utils.NodeName(),
|
||||||
tmPolicy: policy,
|
tmPolicy: policy,
|
||||||
},
|
},
|
||||||
stop: make(chan struct{}, 1),
|
stop: make(chan struct{}, 1),
|
||||||
|
|
|
@ -157,7 +157,7 @@ func newDefaultConfig() *NFDConfig {
|
||||||
// one request if OneShot is set to 'true' in the worker args.
|
// one request if OneShot is set to 'true' in the worker args.
|
||||||
func (w *nfdWorker) Run() error {
|
func (w *nfdWorker) Run() error {
|
||||||
klog.Infof("Node Feature Discovery Worker %s", version.Get())
|
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)
|
klog.Infof("Kubernetes namespace: '%s'", w.kubernetesNamespace)
|
||||||
|
|
||||||
// Create watcher for config file and read initial configuration
|
// 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,
|
labelReq := pb.SetLabelsRequest{Labels: labels,
|
||||||
Features: source.GetAllFeatures(),
|
Features: source.GetAllFeatures(),
|
||||||
NfdVersion: version.Get(),
|
NfdVersion: version.Get(),
|
||||||
NodeName: clientcommon.NodeName()}
|
NodeName: utils.NodeName()}
|
||||||
|
|
||||||
cli, err := w.getGrpcClient()
|
cli, err := w.getGrpcClient()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -581,7 +581,7 @@ func (m *nfdWorker) updateNodeFeatureObject(labels Labels) error {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
nodename := clientcommon.NodeName()
|
nodename := utils.NodeName()
|
||||||
namespace := m.kubernetesNamespace
|
namespace := m.kubernetesNamespace
|
||||||
|
|
||||||
features := source.GetAllFeatures()
|
features := source.GetAllFeatures()
|
||||||
|
|
|
@ -21,7 +21,6 @@ import (
|
||||||
"crypto/x509"
|
"crypto/x509"
|
||||||
"fmt"
|
"fmt"
|
||||||
"net"
|
"net"
|
||||||
"os"
|
|
||||||
"path"
|
"path"
|
||||||
"regexp"
|
"regexp"
|
||||||
"sort"
|
"sort"
|
||||||
|
@ -101,7 +100,7 @@ type nfdMaster struct {
|
||||||
// NewNfdMaster creates a new NfdMaster server instance.
|
// NewNfdMaster creates a new NfdMaster server instance.
|
||||||
func NewNfdMaster(args *Args) (NfdMaster, error) {
|
func NewNfdMaster(args *Args) (NfdMaster, error) {
|
||||||
nfd := &nfdMaster{args: *args,
|
nfd := &nfdMaster{args: *args,
|
||||||
nodeName: os.Getenv("NODE_NAME"),
|
nodeName: utils.NodeName(),
|
||||||
namespace: utils.GetKubernetesNamespace(),
|
namespace: utils.GetKubernetesNamespace(),
|
||||||
ready: make(chan bool, 1),
|
ready: make(chan bool, 1),
|
||||||
stop: make(chan struct{}, 1),
|
stop: make(chan struct{}, 1),
|
||||||
|
|
|
@ -21,6 +21,16 @@ import (
|
||||||
"strings"
|
"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,
|
// GetKubernetesNamespace returns the kubernetes namespace we're running under,
|
||||||
// or an empty string if the namespace cannot be determined.
|
// or an empty string if the namespace cannot be determined.
|
||||||
func GetKubernetesNamespace() string {
|
func GetKubernetesNamespace() string {
|
||||||
|
|
|
@ -82,7 +82,7 @@ func (s *systemSource) Discover() error {
|
||||||
|
|
||||||
// Get node name
|
// Get node name
|
||||||
s.features.Attributes[NameFeature] = nfdv1alpha1.NewAttributeFeatures(nil)
|
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
|
// Get os-release information
|
||||||
release, err := parseOSRelease()
|
release, err := parseOSRelease()
|
||||||
|
|
Loading…
Add table
Reference in a new issue