Skip to content

Commit 3bfea73

Browse files
Merge pull request #29694 from Neilhamza/adjust-etcd-master-number-OCPEDGE16789
OCPEDGE-1678: Fix failed etcd test on arbiter ci run
2 parents 07c5e03 + abc27eb commit 3bfea73

File tree

1 file changed

+24
-15
lines changed

1 file changed

+24
-15
lines changed

test/extended/etcd/invariants.go

Lines changed: 24 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -25,51 +25,60 @@ var _ = g.Describe("[sig-etcd] etcd", func() {
2525
g.It("cluster has the same number of master nodes and voting members from the endpoints configmap [Early][apigroup:config.openshift.io]", func() {
2626
exutil.SkipIfExternalControlplaneTopology(oc, "clusters with external controlplane topology don't have master nodes")
2727
masterNodeLabelSelectorString := "node-role.kubernetes.io/master"
28-
masterNodeList, err := oc.KubeClient().CoreV1().Nodes().List(context.TODO(), metav1.ListOptions{LabelSelector: masterNodeLabelSelectorString})
28+
controlPlaneNodeList, err := oc.KubeClient().CoreV1().Nodes().List(context.TODO(), metav1.ListOptions{LabelSelector: masterNodeLabelSelectorString})
2929
o.Expect(err).ToNot(o.HaveOccurred())
3030

31+
controlPlaneTopology, err := exutil.GetControlPlaneTopology(oc)
32+
o.Expect(err).ToNot(o.HaveOccurred())
33+
34+
if *controlPlaneTopology == configv1.HighlyAvailableArbiterMode {
35+
arbiterNodeLabelSelectorString := "node-role.kubernetes.io/arbiter"
36+
arbiterNodeList, err := oc.KubeClient().CoreV1().Nodes().List(context.TODO(), metav1.ListOptions{LabelSelector: arbiterNodeLabelSelectorString})
37+
o.Expect(err).ToNot(o.HaveOccurred())
38+
controlPlaneNodeList.Items = append(controlPlaneNodeList.Items, arbiterNodeList.Items...)
39+
}
40+
3141
ipFamily := getCurrentNetworkTopology(oc)
32-
currentMasterNodesIPListSet := sets.NewString()
33-
for _, masterNode := range masterNodeList.Items {
34-
for _, masterNodeAddress := range masterNode.Status.Addresses {
35-
if masterNodeAddress.Type == corev1.NodeInternalIP {
42+
currentControlPlaneNodesIPListSet := sets.NewString()
43+
for _, controlPlaneNode := range controlPlaneNodeList.Items {
44+
for _, nodeAddress := range controlPlaneNode.Status.Addresses {
45+
if nodeAddress.Type == corev1.NodeInternalIP {
3646
switch ipFamily {
3747
case "tcp4":
38-
isIPv4, err := isIPv4(masterNodeAddress.Address)
48+
isIPv4, err := isIPv4(nodeAddress.Address)
3949
o.Expect(err).ToNot(o.HaveOccurred())
4050
if isIPv4 {
41-
currentMasterNodesIPListSet.Insert(masterNodeAddress.Address)
51+
currentControlPlaneNodesIPListSet.Insert(nodeAddress.Address)
4252
}
4353
case "tcp6":
44-
isIPv4, err := isIPv4(masterNodeAddress.Address)
54+
isIPv4, err := isIPv4(nodeAddress.Address)
4555
o.Expect(err).ToNot(o.HaveOccurred())
4656
if !isIPv4 {
47-
currentMasterNodesIPListSet.Insert(masterNodeAddress.Address)
57+
currentControlPlaneNodesIPListSet.Insert(nodeAddress.Address)
4858
}
4959
default:
5060
g.GinkgoT().Fatalf("unexpected ip family: %q", ipFamily)
5161
}
5262
}
5363
}
5464
}
55-
5665
etcdEndpointsConfigMap, err := oc.KubeClient().CoreV1().ConfigMaps("openshift-etcd").Get(context.TODO(), "etcd-endpoints", metav1.GetOptions{})
5766
o.Expect(err).ToNot(o.HaveOccurred())
5867
currentVotingMemberIPListSet := sets.NewString()
5968
for _, votingMemberIP := range etcdEndpointsConfigMap.Data {
6069
currentVotingMemberIPListSet.Insert(votingMemberIP)
6170
}
6271

63-
if currentVotingMemberIPListSet.Len() != currentMasterNodesIPListSet.Len() {
72+
if currentVotingMemberIPListSet.Len() != currentControlPlaneNodesIPListSet.Len() {
6473
g.GinkgoT().Fatalf(
6574
"incorrect number of voting members found in openshift-etcd/etcd-endpoints, expected it to match the number of master nodes = %d, members from the cm = %v, master nodes = %v",
66-
currentMasterNodesIPListSet.Len(),
75+
currentControlPlaneNodesIPListSet.Len(),
6776
currentVotingMemberIPListSet.List(),
68-
currentMasterNodesIPListSet.List())
77+
currentControlPlaneNodesIPListSet.List())
6978
}
7079

71-
if !currentVotingMemberIPListSet.Equal(currentMasterNodesIPListSet) {
72-
g.GinkgoT().Fatalf("IPs of voting members from openshift-etcd/etcd-endpoints =%v don't match master nodes IPs = %v ", currentVotingMemberIPListSet.List(), currentMasterNodesIPListSet.List())
80+
if !currentVotingMemberIPListSet.Equal(currentControlPlaneNodesIPListSet) {
81+
g.GinkgoT().Fatalf("IPs of voting members from openshift-etcd/etcd-endpoints =%v don't match master nodes IPs = %v ", currentVotingMemberIPListSet.List(), currentControlPlaneNodesIPListSet.List())
7382
}
7483
})
7584
})

0 commit comments

Comments
 (0)