You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Commit 39c5e16 attached WithRetryCondition(WithRetryAll()) to
echo-ingress-l7-named-port so a transient first-packet loss or Envoy
warm-up on the allowed requests no longer fails the test on the first
attempt. Its message assumed the expected-drop actions were unaffected
beyond "only adding retry delay", but that delay is the whole cost: the
scenario's denied actions are silently dropped by policy, so their curl
hits --connect-timeout and exits 28, and --retry re-issues each one three
times with --retry-delay in between. curl has no zero-delay retry mode, so
every denied action pays the full retry budget re-sending a request that is
meant to fail.
On the v1.18 ci-ipsec-upgrade runs this inflated echo-ingress-l7-named-port
from ~52s to ~450s in the concurrent phase and, once the cli bumped to the
release vendoring 39c5e16, pushed the job past its 45 minute limit.
Gate retry-option generation on the action's expected result in the shared
retryCondition.CurlOptions: retrying an expected drop can never turn it into
the expected result, so return no retry options when a drop is expected. The
expectation is resolved in NewAction before the action's Run closure runs, so
a.ExpectingSuccess() is already known at the call sites. This covers every
retry user, not just echo-ingress-l7-named-port: client-egress-l7-set-header
(also PodToPodWithEndpoints + WithRetryAll) and client-egress-tls-sni
(PodToWorld + WithRetryAll) likewise stopped retrying their denied actions.
The scoped conditions (WithRetryDestIP/DestPort/PodLabel) already matched only
the allowed destinations, so their behavior is unchanged.
The allowed requests keep their retries, so the flake 39c5e16 fixed stays
fixed. While here, clone the shared base curl options per action in
podToPodWithEndpoints so a drop action never inherits retry flags appended by
a sibling success action in the same scenario.
This commit was prepared with AIL:3.
Signed-off-by: André Martins <andre@cilium.io>
0 commit comments