Skip to content

tests: fix grpc topotest xdist collection mismatch in CI (backport #22048) - #22193

Merged
Jafaral merged 3 commits into
stable/10.6from
mergify/bp/stable/10.6/pr-22048
Jun 5, 2026
Merged

tests: fix grpc topotest xdist collection mismatch in CI (backport #22048)#22193
Jafaral merged 3 commits into
stable/10.6from
mergify/bp/stable/10.6/pr-22048

Conversation

@mergify

@mergify mergify Bot commented Jun 3, 2026

Copy link
Copy Markdown

Fix intermittent CI topotest failures where pytest-xdist aborts with Different tests were collected between gw0 and gw5 because grpc_basic was collected on some workers but module-skipped on others.

Example CI failure here


This is an automatic backport of pull request #22048 done by Mergify.

@mergify mergify Bot added the conflicts label Jun 3, 2026
@mergify

mergify Bot commented Jun 3, 2026

Copy link
Copy Markdown
Author

Cherry-pick of 54429f5 has failed:

Jafar: fixed

@greptile-apps

greptile-apps Bot commented Jun 3, 2026

Copy link
Copy Markdown

Target branch is not in the allowed branches list.

@frrbot frrbot Bot added the tests Topotests, make check, etc label Jun 3, 2026
Jafaral added 3 commits June 3, 2026 23:16
Follow-up to ea85c7c ("fix grpc_basic xdist collection mismatch"):
that commit made missing grpc imports skip consistently, but the
per-worker grpc-query --check subprocess could still fail on some xdist
workers while others collected grpc_basic tests, aborting CI with
"Different tests were collected". Rely on the import guard only; proto
generation still runs when tests execute grpc-query.

Signed-off-by: Jafar Al-Gharaibeh <jafar@atcorp.com>
(cherry picked from commit 54429f5)
When parallel collection fails, xdist records errors named gw0, gw5, etc.
analyze.py turned those into nonexistent gw5.py rerun targets. Skip worker
ids so CI serial reruns only real topotest modules.

Signed-off-by: Jafar Al-Gharaibeh <jafar@atcorp.com>
(cherry picked from commit 2717992)
After dropping the collection-time grpc-query --check guard, CI always
collected grpc_basic when Python grpc was installed, but grpc.s (frr-grpc)
might not be installed. Zebra then failed to start with -M grpc and
surfaced as a misleading mgmtd connection timeout. Skip the module when
the northbound gRPC module is absent.

Signed-off-by: Jafar Al-Gharaibeh <jafar@atcorp.com>
(cherry picked from commit 94abacf)
@Jafaral
Jafaral force-pushed the mergify/bp/stable/10.6/pr-22048 branch from 5e90ae9 to 3b22785 Compare June 4, 2026 04:22
@Jafaral
Jafaral merged commit 5134bd2 into stable/10.6 Jun 5, 2026
22 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size/M stable/10.6 tests Topotests, make check, etc

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant