From c7cf63382af4b125cb3de70804f8f8930fe01bc0 Mon Sep 17 00:00:00 2001 From: Aleem Haji Date: Sat, 22 Feb 2025 13:24:02 -0500 Subject: [PATCH] Fix fetching kubeadm join command from invalid masters (#77) * Fixes wrong masters used for initializing another * Adds a degenerate test case for node management --- cmd/hope/utils/nodes_test.go | 12 ++++++------ pkg/hope/node_management.go | 2 +- pkg/hope/node_management_test.go | 18 ++++++++++++++++++ 3 files changed, 25 insertions(+), 7 deletions(-) create mode 100644 pkg/hope/node_management_test.go diff --git a/cmd/hope/utils/nodes_test.go b/cmd/hope/utils/nodes_test.go index 18a38c9..6bcd402 100644 --- a/cmd/hope/utils/nodes_test.go +++ b/cmd/hope/utils/nodes_test.go @@ -57,12 +57,12 @@ var testNodes []hope.Node = []hope.Node{ Memory: 2048, }, { - Name: "test-master-02", - Role: hope.NodeRoleMaster.String(), - User: "packer", - Host: "192.168.1.10", - Cpu: 2, - Memory: 2048, + Name: "test-master-02", + Role: hope.NodeRoleMaster.String(), + User: "packer", + Host: "192.168.1.10", + Cpu: 2, + Memory: 2048, }, { Name: "test-master-03", diff --git a/pkg/hope/node_management.go b/pkg/hope/node_management.go index 1a08e71..765a445 100644 --- a/pkg/hope/node_management.go +++ b/pkg/hope/node_management.go @@ -154,7 +154,7 @@ func CreateClusterMaster(log *logrus.Entry, node *Node, podNetworkCidr string, l return err } - existingMasters := (*masters)[1:] + existingMasters := lbMasters[1:] joinCommand, err := KubeadmGetClusterJoinCommandFromAnyMaster(&existingMasters) if err != nil { return err diff --git a/pkg/hope/node_management_test.go b/pkg/hope/node_management_test.go new file mode 100644 index 0000000..2c86824 --- /dev/null +++ b/pkg/hope/node_management_test.go @@ -0,0 +1,18 @@ +package hope + +import ( + "testing" +) + +import ( + log "github.com/sirupsen/logrus" + "github.com/stretchr/testify/assert" +) + +func TestSetupCommonNodeRequirementsNotKubernetesNode(t *testing.T) { + node := Node{ + Role: "load-balancer", + } + err := setupCommonNodeRequirements(log.WithFields(log.Fields{}), &node) + assert.Error(t, err, "Node has role load-balancer, should not prepare as Kubernetes node") +}