Skip to content

Commit e8903bb

Browse files
committed
test: verify --label flag applies labels to worker nodes
Assisted-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 04011f3 commit e8903bb

1 file changed

Lines changed: 12 additions & 22 deletions

File tree

test/integration/multinode_test.go

Lines changed: 12 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -43,36 +43,21 @@ var _ = Describe("Multi-Node Clusters", func() {
4343
kubeClient, kubeconfigPath := helpers.SetupKubeClient(clusterName)
4444
defer helpers.CleanupKubeconfig(kubeconfigPath)
4545

46-
By("Adding first worker node")
47-
helpers.AddNode(clusterName, node2, "--role", "worker")
46+
By("Adding first worker node with labels")
47+
helpers.AddNode(clusterName, node2, "--role", "worker", "--label", "env=test1")
4848

4949
By("Verifying node2 container is running")
5050
containerName2 := helpers.NodeContainerName(clusterName, node2)
5151
container2 := helpers.GetContainer(containerName2)
5252
Expect(container2).ToNot(BeNil(), "Container %s should exist", containerName2)
5353
Expect(container2.State).To(Equal("running"), "Container should be running")
5454

55-
By("Verifying node2 joined Kubernetes with worker role")
55+
By("Verifying node2 joined Kubernetes with worker role and custom labels")
5656
helpers.WaitForNodeReady(kubeClient, node2, 5*time.Minute)
5757
n2, err := kubeClient.CoreV1().Nodes().Get(context.Background(), node2, metav1.GetOptions{})
5858
Expect(err).ToNot(HaveOccurred())
59-
hasWorkerRole := false
60-
for key := range n2.Labels {
61-
if key == "node-role.kubernetes.io/worker" {
62-
hasWorkerRole = true
63-
break
64-
}
65-
}
66-
hasControlPlaneRole := false
67-
for key := range n2.Labels {
68-
if key == "node-role.kubernetes.io/control-plane" {
69-
hasControlPlaneRole = true
70-
break
71-
}
72-
}
73-
Expect(hasControlPlaneRole).To(BeFalse(), "node2 should not have control-plane role")
74-
// Worker role label may not be set by kubeadm by default, so just verify it's not control-plane
75-
_ = hasWorkerRole
59+
Expect(n2.Labels).ToNot(HaveKey("node-role.kubernetes.io/control-plane"), "node2 should not have control-plane role")
60+
Expect(n2.Labels).To(HaveKeyWithValue("env", "test1"), "node2 should have label env=test1")
7661

7762
By("Verifying DNS entry for node2")
7863
hostsFile := helpers.PodmanExec(helpers.DNSContainerName(clusterName), "cat /var/lib/dnsmasq/cluster-hosts")
@@ -85,8 +70,8 @@ var _ = Describe("Multi-Node Clusters", func() {
8570
Expect(listOutput).To(ContainSubstring(node1), "node list should contain node1")
8671
Expect(listOutput).To(ContainSubstring(node2), "node list should contain node2")
8772

88-
By("Adding second worker node")
89-
helpers.AddNode(clusterName, node3, "--role", "worker")
73+
By("Adding second worker node with different labels")
74+
helpers.AddNode(clusterName, node3, "--role", "worker", "--label", "env=test2")
9075

9176
By("Verifying all three containers are running")
9277
for _, nodeName := range []string{node1, node2, node3} {
@@ -112,6 +97,11 @@ var _ = Describe("Multi-Node Clusters", func() {
11297
Expect(ready).To(BeTrue(), "Node %s should be Ready", node.Name)
11398
}
11499

100+
By("Verifying custom labels on node3")
101+
n3, err := kubeClient.CoreV1().Nodes().Get(context.Background(), node3, metav1.GetOptions{})
102+
Expect(err).ToNot(HaveOccurred())
103+
Expect(n3.Labels).To(HaveKeyWithValue("env", "test2"), "node3 should have label env=test2")
104+
115105
By("Verifying DNS entries for all nodes")
116106
hostsFile = helpers.PodmanExec(helpers.DNSContainerName(clusterName), "cat /var/lib/dnsmasq/cluster-hosts")
117107
Expect(hostsFile).To(ContainSubstring(node1), "cluster-hosts should contain node1")

0 commit comments

Comments
 (0)