Skip to content

Commit d427137

Browse files
committed
Wait for egressfirewall rules to applied successfully before sending traffic
1 parent e603cd9 commit d427137

File tree

1 file changed

+14
-0
lines changed

1 file changed

+14
-0
lines changed

test/extended/networking/egress_firewall.go

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ import (
44
"context"
55
"fmt"
66
"net"
7+
"strings"
8+
"time"
79

810
configv1 "github.com/openshift/api/config/v1"
911
"github.com/openshift/origin/test/extended/kubevirt"
@@ -12,6 +14,7 @@ import (
1214

1315
kapiv1 "k8s.io/api/core/v1"
1416
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
17+
"k8s.io/apimachinery/pkg/util/wait"
1518
e2e "k8s.io/kubernetes/test/e2e/framework"
1619
frameworkpod "k8s.io/kubernetes/test/e2e/framework/pod"
1720
admissionapi "k8s.io/pod-security-admission/api"
@@ -114,6 +117,17 @@ func doEgressFwTest(f *e2e.Framework, mgmtFw *e2e.Framework, oc *exutil.CLI, man
114117
err := oc.AsAdmin().Run("create").Args("-f", egFwYaml).Execute()
115118
o.Expect(err).NotTo(o.HaveOccurred(), "created egress-firewall object")
116119

120+
g.By("waiting for egressfirewall rules to be applied successfully")
121+
egfwName, err := oc.AsAdmin().Run("get").Args("egressfirewall", "-o", "jsonpath={.items[0].metadata.name}").Output()
122+
o.Expect(err).NotTo(o.HaveOccurred(), "failed to get egressfirewall object")
123+
124+
err = wait.PollUntilContextTimeout(context.TODO(), 100*time.Millisecond, 1*time.Second, true, func(ctx context.Context) (bool, error) {
125+
out, err := oc.AsAdmin().Run("get").Args("egressfirewall", egfwName, "-o", "jsonpath={.status.status}").Output()
126+
o.Expect(err).NotTo(o.HaveOccurred(), "failed to get egressfirewall object")
127+
return strings.Contains(out, "EgressFirewall Rules applied"), nil
128+
})
129+
o.Expect(err).NotTo(o.HaveOccurred(), "failed to wait for egressfirewall rules to be applied successfully")
130+
117131
o.Expect(sendEgressFwTraffic(f, mgmtFw, oc, egressFWTestPod, nodeSelectorSupport, checkWildcard)).To(o.Succeed())
118132

119133
g.By("deleting test pod")

0 commit comments

Comments
 (0)