From bbe69fb54820f6c1d0116e1d04744ceec40e7f38 Mon Sep 17 00:00:00 2001 From: Yevgeny Shnaidman Date: Tue, 7 May 2024 14:33:33 +0300 Subject: [PATCH] Adding NODE_ADDRESS env variable to topology DSto support default configz --- internal/daemonset/daemonset.go | 18 +++++++++++++++--- .../testdata/test_topology_daemonset.yaml | 6 +++++- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/internal/daemonset/daemonset.go b/internal/daemonset/daemonset.go index 6fdf9e9f..a35b74ee 100644 --- a/internal/daemonset/daemonset.go +++ b/internal/daemonset/daemonset.go @@ -75,7 +75,7 @@ func (d *daemonset) SetTopologyDaemonsetAsDesired(ctx context.Context, nfdInstan "nfd-topology-updater", }, Args: getArgs(nfdInstance), - Env: getEnvs(), + Env: getTopologyEnvs(), SecurityContext: getSecurityContext(), VolumeMounts: getVolumeMounts(), }, @@ -115,7 +115,7 @@ func getArgs(nfdInstance *nfdv1.NodeFeatureDiscovery) []string { } } -func getEnvs() []corev1.EnvVar { +func getWorkerEnvs() []corev1.EnvVar { return []corev1.EnvVar{ { Name: "NODE_NAME", @@ -128,6 +128,18 @@ func getEnvs() []corev1.EnvVar { } } +func getTopologyEnvs() []corev1.EnvVar { + nodeAddressEnv := corev1.EnvVar{ + Name: "NODE_ADDRESS", + ValueFrom: &corev1.EnvVarSource{ + FieldRef: &corev1.ObjectFieldSelector{ + FieldPath: "status.hostIP", + }, + }, + } + return append(getWorkerEnvs(), nodeAddressEnv) +} + func getSecurityContext() *corev1.SecurityContext { return &corev1.SecurityContext{ RunAsUser: ptr.To[int64](0), @@ -216,7 +228,7 @@ func (d *daemonset) SetWorkerDaemonsetAsDesired(ctx context.Context, nfdInstance DNSPolicy: corev1.DNSClusterFirstWithHostNet, Containers: []corev1.Container{ { - Env: getEnvs(), + Env: getWorkerEnvs(), Image: nfdInstance.Spec.Operand.ImagePath(), Name: "nfd-worker", Command: []string{"nfd-worker"}, diff --git a/internal/daemonset/testdata/test_topology_daemonset.yaml b/internal/daemonset/testdata/test_topology_daemonset.yaml index bbd7350d..1f6072a1 100644 --- a/internal/daemonset/testdata/test_topology_daemonset.yaml +++ b/internal/daemonset/testdata/test_topology_daemonset.yaml @@ -28,7 +28,11 @@ spec: - name: NODE_NAME valueFrom: fieldRef: - fieldPath: spec.nodeName + fieldPath: spec.nodeName + - name: NODE_ADDRESS + valueFrom: + fieldRef: + fieldPath: status.hostIP image: test-image imagePullPolicy: Always command: