Problem
When creating a large number of Skupper v2 Listener and Connector resources (paired by routingKey), all CRs appear in the API, but it takes a long time until every resource reports Ready=True.
Reproduce
-
Repo scenario: skupper/tests/e2e/scenarios/service-scale
-
Command (example):
make test TEST="service-scale" \
EXTRA_VARS="-e service_count=300 -e ready_retries=400 -e ready_delay=3"
-
Cluster: kind (single control plane), MetalLB, Skupper v2 controller (dev cluster setup).
Observed behavior
From the API model, Ready for these resources depends on per-resource Configured work and Matched to the peer (HasMatchingListener / HasMatchingConnector) derived from the linked network view. Even when all CRs are already created, finishing Configured + updating matching + writing status for hundreds of resources appears to take many minutes.
Problem
When creating a large number of Skupper v2
ListenerandConnectorresources (paired byroutingKey), all CRs appear in the API, but it takes a long time until every resource reportsReady=True.Reproduce
Repo scenario:
skupper/tests/e2e/scenarios/service-scaleCommand (example):
Cluster: kind (single control plane), MetalLB, Skupper v2 controller (dev cluster setup).
Observed behavior
Full playbook wall time on the order of ~15–17 minutes for 300 pairs; a large fraction is spent in Ansible waits:
While investigating live with
kubectl:Connectorobjects often showedPending/ notReadywithNo matching listenersuntil the pairedListenerside was present and reflected in Skupper’s matching logic.Readyis not implied by “CR exists.”ListenerReadycounts increased gradually and sometimes stalled before completing, suggesting a reconciliation / status-propagation tailFrom the API model,
Readyfor these resources depends on per-resourceConfiguredwork andMatchedto the peer (HasMatchingListener/HasMatchingConnector) derived from the linked network view. Even when all CRs are already created, finishingConfigured+ updating matching + writing status for hundreds of resources appears to take many minutes.