Skip to content

Commit 6dd1919

Browse files
committed
e2e,ovn-k,net-seg: Wait for UDN condition populate
The test may flake in case the condition is not populated on the expected time. Wrap the test assertion with Eventually, so that the test wait for conditions to populate. Signed-off-by: Or Mergi <[email protected]>
1 parent b573a5b commit 6dd1919

File tree

1 file changed

+20
-9
lines changed

1 file changed

+20
-9
lines changed

test/extended/networking/network_segmentation.go

Lines changed: 20 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -690,16 +690,27 @@ var _ = Describe("[sig-network][OCPFeatureGate:NetworkSegmentation][Feature:User
690690
DeferCleanup(cleanup)
691691
Expect(err).NotTo(HaveOccurred())
692692

693-
conditionsJSON, err := e2ekubectl.RunKubectl(f.Namespace.Name, "get", "userdefinednetwork", primaryUdnName, "-o", "jsonpath={.status.conditions}")
694-
Expect(err).NotTo(HaveOccurred())
695-
var actualConditions []metav1.Condition
696-
Expect(json.Unmarshal([]byte(conditionsJSON), &actualConditions)).To(Succeed())
697-
698-
Expect(actualConditions[0].Type).To(SatisfyAny(Equal("NetworkReady"), Equal("NetworkCreated")))
699-
Expect(actualConditions[0].Status).To(Equal(metav1.ConditionFalse))
700-
Expect(actualConditions[0].Reason).To(Equal("SyncError"))
701693
expectedMessage := fmt.Sprintf("primary network already exist in namespace %q: %q", f.Namespace.Name, primaryNadName)
702-
Expect(actualConditions[0].Message).To(Equal(expectedMessage))
694+
Eventually(func(g Gomega) []metav1.Condition {
695+
conditionsJSON, err := e2ekubectl.RunKubectl(f.Namespace.Name, "get", "userdefinednetwork", primaryUdnName, "-o", "jsonpath={.status.conditions}")
696+
g.Expect(err).NotTo(HaveOccurred())
697+
var actualConditions []metav1.Condition
698+
g.Expect(json.Unmarshal([]byte(conditionsJSON), &actualConditions)).To(Succeed())
699+
return normalizeConditions(actualConditions)
700+
}, 5*time.Second, 1*time.Second).Should(SatisfyAny(
701+
ConsistOf(metav1.Condition{
702+
Type: "NetworkCreated",
703+
Status: metav1.ConditionFalse,
704+
Reason: "SyncError",
705+
Message: expectedMessage,
706+
}),
707+
ConsistOf(metav1.Condition{
708+
Type: "NetworkReady",
709+
Status: metav1.ConditionFalse,
710+
Reason: "SyncError",
711+
Message: expectedMessage,
712+
}),
713+
))
703714
})
704715

705716
Context("UDN Pod", func() {

0 commit comments

Comments
 (0)