Skip to content

Commit cec6222

Browse files
Merge pull request #29948 from eggfoobar/change-image-arbiter-test
NO-JIRA: upkeep: change to use image shell image
2 parents 5be1d97 + 759820f commit cec6222

File tree

1 file changed

+28
-50
lines changed

1 file changed

+28
-50
lines changed

test/extended/two_node/arbiter_topology.go

Lines changed: 28 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import (
1111

1212
v1 "github.com/openshift/api/config/v1"
1313
exutil "github.com/openshift/origin/test/extended/util"
14+
"github.com/openshift/origin/test/extended/util/image"
1415
appv1 "k8s.io/api/apps/v1"
1516
corev1 "k8s.io/api/core/v1"
1617
kapierror "k8s.io/apimachinery/pkg/api/errors"
@@ -121,30 +122,33 @@ var _ = g.Describe("[sig-apps][apigroup:apps.openshift.io][OCPFeatureGate:Highly
121122
g.It("should be created on arbiter nodes when arbiter node is selected", func() {
122123
g.By("Waiting for Arbiter node to become Ready")
123124
var arbiterNodeName string
124-
timeout := time.Now().Add(2 * time.Minute) // Maximum wait time of 2 minutes
125-
126-
for time.Now().Before(timeout) {
125+
ctx, cancel := context.WithTimeout(context.Background(), 2*time.Minute)
126+
defer cancel()
127+
err := wait.PollUntilContextTimeout(ctx, 5*time.Second, 300*time.Second, true, func(ctx context.Context) (done bool, err error) {
127128
arbiterNodes, err := oc.AdminKubeClient().CoreV1().Nodes().List(context.Background(), metav1.ListOptions{
128129
LabelSelector: labelNodeRoleArbiter,
129130
})
130-
o.Expect(err).To(o.BeNil(), "Expected to retrieve Arbiter nodes without error")
131-
132-
if len(arbiterNodes.Items) != 1 {
133-
time.Sleep(5 * time.Second)
134-
continue
131+
if kapierror.IsTimeout(err) {
132+
return false, nil
133+
} else if err != nil {
134+
return false, err
135+
}
136+
if len(arbiterNodes.Items) == 0 {
137+
return false, nil
135138
}
136-
if isNodeReady(arbiterNodes.Items[0]) {
137-
arbiterNodeName = arbiterNodes.Items[0].Name
139+
// We only need the name of one arbiter node
140+
for _, node := range arbiterNodes.Items {
141+
arbiterNodeName = node.Name
138142
break
139143
}
144+
return true, err
145+
})
140146

141-
time.Sleep(5 * time.Second)
142-
}
143-
144-
o.Expect(arbiterNodeName).NotTo(o.BeEmpty(), "Timed out waiting for the Arbiter node to become Ready")
147+
o.Expect(err).To(o.BeNil(), "Error getting arbiter node list")
148+
o.Expect(arbiterNodeName).NotTo(o.BeEmpty(), "Arbiter node name should not be empty")
145149

146150
g.By("Creating an Arbiter deployment (on Arbiter node)")
147-
_, err := createArbiterDeployment(oc, arbiterNodeName)
151+
_, err = createArbiterDeployment(oc, arbiterNodeName)
148152
o.Expect(err).To(o.BeNil(), "Expected Arbiter busybox deployment creation to succeed")
149153

150154
g.By("Validating Arbiter deployment")
@@ -294,18 +298,7 @@ var _ = g.Describe("[sig-etcd][apigroup:config.openshift.io][OCPFeatureGate:High
294298
func createNormalDeployment(oc *exutil.CLI) (*appv1.Deployment, error) {
295299
var replicas int32 = 1
296300

297-
container := corev1.Container{
298-
Name: "busybox",
299-
Image: "busybox",
300-
Command: []string{"sleep", "3600"},
301-
Resources: corev1.ResourceRequirements{
302-
Requests: corev1.ResourceList{
303-
corev1.ResourceCPU: resource.MustParse("20m"),
304-
corev1.ResourceMemory: resource.MustParse("50Mi"),
305-
},
306-
},
307-
}
308-
301+
container := containerSpec()
309302
deployment := &appv1.Deployment{
310303
TypeMeta: metav1.TypeMeta{
311304
APIVersion: "apps/v1",
@@ -339,17 +332,7 @@ func createNormalDeployment(oc *exutil.CLI) (*appv1.Deployment, error) {
339332
func createArbiterDeployment(oc *exutil.CLI, arbiterNodeName string) (*appv1.Deployment, error) {
340333
var replicas int32 = 1
341334

342-
container := corev1.Container{
343-
Name: "busybox",
344-
Image: "busybox",
345-
Command: []string{"sleep", "3600"},
346-
Resources: corev1.ResourceRequirements{
347-
Requests: corev1.ResourceList{
348-
corev1.ResourceCPU: resource.MustParse("20m"),
349-
corev1.ResourceMemory: resource.MustParse("50Mi"),
350-
},
351-
},
352-
}
335+
container := containerSpec()
353336

354337
deployment := &appv1.Deployment{
355338
TypeMeta: metav1.TypeMeta{
@@ -382,10 +365,10 @@ func createArbiterDeployment(oc *exutil.CLI, arbiterNodeName string) (*appv1.Dep
382365
Create(context.Background(), deployment, metav1.CreateOptions{})
383366
}
384367

385-
func createDaemonSetDeployment(oc *exutil.CLI) (*appv1.DaemonSet, error) {
386-
container := corev1.Container{
368+
func containerSpec() corev1.Container {
369+
return corev1.Container{
387370
Name: "busybox",
388-
Image: "busybox",
371+
Image: image.ShellImage(),
389372
Command: []string{"sleep", "3600"},
390373
Resources: corev1.ResourceRequirements{
391374
Requests: corev1.ResourceList{
@@ -394,6 +377,10 @@ func createDaemonSetDeployment(oc *exutil.CLI) (*appv1.DaemonSet, error) {
394377
},
395378
},
396379
}
380+
}
381+
382+
func createDaemonSetDeployment(oc *exutil.CLI) (*appv1.DaemonSet, error) {
383+
container := containerSpec()
397384

398385
daemonSet := &appv1.DaemonSet{
399386
TypeMeta: metav1.TypeMeta{
@@ -424,15 +411,6 @@ func createDaemonSetDeployment(oc *exutil.CLI) (*appv1.DaemonSet, error) {
424411
Create(context.Background(), daemonSet, metav1.CreateOptions{})
425412
}
426413

427-
func isNodeReady(node corev1.Node) bool {
428-
for _, condition := range node.Status.Conditions {
429-
if condition.Type == corev1.NodeReady && condition.Status == corev1.ConditionTrue {
430-
return true
431-
}
432-
}
433-
return false
434-
}
435-
436414
func isPodRunning(pod corev1.Pod) bool {
437415
return pod.Status.Phase == corev1.PodRunning
438416
}

0 commit comments

Comments
 (0)