Skip to content

Commit d5d4ce2

Browse files
authored
Merge pull request #3867 from mjudeikis/sar.sarring
Adjust deep SAR for SA
2 parents 97480a1 + caf036c commit d5d4ce2

File tree

5 files changed

+533
-108
lines changed

5 files changed

+533
-108
lines changed

cmd/sharded-test-server/main.go

Lines changed: 20 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -231,7 +231,26 @@ func start(proxyFlags, shardFlags []string, logDirPath, workDirPath string, numb
231231
shards[i] = shard
232232
}
233233

234-
// Start virtual-workspace servers
234+
// Wait for shards to be ready before starting virtual workspaces.
235+
// Virtual workspaces depend on shards for token authentication (TokenReview),
236+
// so shards must be fully ready before VWs can accept authenticated requests.
237+
shardsErrCh := make(chan indexErrTuple)
238+
for i, s := range shards {
239+
terminatedCh, err := s.WaitForReady(ctx)
240+
if err != nil {
241+
return err
242+
}
243+
err = testshard.ScrapeMetrics(ctx, s, workDirPath)
244+
if err != nil {
245+
return err
246+
}
247+
go func(i int, terminatedCh <-chan error) {
248+
err := <-terminatedCh
249+
shardsErrCh <- indexErrTuple{i, err}
250+
}(i, terminatedCh)
251+
}
252+
253+
// Start virtual-workspace servers after shards are ready
235254
vwPort := "6444"
236255
var virtualWorkspaces []*VirtualWorkspace
237256
if standaloneVW {
@@ -250,23 +269,6 @@ func start(proxyFlags, shardFlags []string, logDirPath, workDirPath string, numb
250269
}
251270
}
252271

253-
// Wait for shards to be ready
254-
shardsErrCh := make(chan indexErrTuple)
255-
for i, s := range shards {
256-
terminatedCh, err := s.WaitForReady(ctx)
257-
if err != nil {
258-
return err
259-
}
260-
err = testshard.ScrapeMetrics(ctx, s, workDirPath)
261-
if err != nil {
262-
return err
263-
}
264-
go func(i int, terminatedCh <-chan error) {
265-
err := <-terminatedCh
266-
shardsErrCh <- indexErrTuple{i, err}
267-
}(i, terminatedCh)
268-
}
269-
270272
// Wait for virtual workspaces to be ready
271273
virtualWorkspacesErrCh := make(chan indexErrTuple)
272274
if standaloneVW {

go.mod

Lines changed: 32 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -52,38 +52,38 @@ require (
5252
)
5353

5454
replace (
55-
k8s.io/api => github.com/kcp-dev/kubernetes/staging/src/k8s.io/api v0.0.0-20251216144411-4b3495fdcb9d
56-
k8s.io/apiextensions-apiserver => github.com/kcp-dev/kubernetes/staging/src/k8s.io/apiextensions-apiserver v0.0.0-20251216144411-4b3495fdcb9d
57-
k8s.io/apimachinery => github.com/kcp-dev/kubernetes/staging/src/k8s.io/apimachinery v0.0.0-20251216144411-4b3495fdcb9d
58-
k8s.io/apiserver => github.com/kcp-dev/kubernetes/staging/src/k8s.io/apiserver v0.0.0-20251216144411-4b3495fdcb9d
59-
k8s.io/cli-runtime => github.com/kcp-dev/kubernetes/staging/src/k8s.io/cli-runtime v0.0.0-20251216144411-4b3495fdcb9d
60-
k8s.io/client-go => github.com/kcp-dev/kubernetes/staging/src/k8s.io/client-go v0.0.0-20251216144411-4b3495fdcb9d
61-
k8s.io/cloud-provider => github.com/kcp-dev/kubernetes/staging/src/k8s.io/cloud-provider v0.0.0-20251216144411-4b3495fdcb9d
62-
k8s.io/cluster-bootstrap => github.com/kcp-dev/kubernetes/staging/src/k8s.io/cluster-bootstrap v0.0.0-20251216144411-4b3495fdcb9d
63-
k8s.io/code-generator => github.com/kcp-dev/kubernetes/staging/src/k8s.io/code-generator v0.0.0-20251216144411-4b3495fdcb9d
64-
k8s.io/component-base => github.com/kcp-dev/kubernetes/staging/src/k8s.io/component-base v0.0.0-20251216144411-4b3495fdcb9d
65-
k8s.io/component-helpers => github.com/kcp-dev/kubernetes/staging/src/k8s.io/component-helpers v0.0.0-20251216144411-4b3495fdcb9d
66-
k8s.io/controller-manager => github.com/kcp-dev/kubernetes/staging/src/k8s.io/controller-manager v0.0.0-20251216144411-4b3495fdcb9d
67-
k8s.io/cri-api => github.com/kcp-dev/kubernetes/staging/src/k8s.io/cri-api v0.0.0-20251216144411-4b3495fdcb9d
68-
k8s.io/cri-client => github.com/kcp-dev/kubernetes/staging/src/k8s.io/cri-client v0.0.0-20251216144411-4b3495fdcb9d
69-
k8s.io/csi-translation-lib => github.com/kcp-dev/kubernetes/staging/src/k8s.io/csi-translation-lib v0.0.0-20251216144411-4b3495fdcb9d
70-
k8s.io/dynamic-resource-allocation => github.com/kcp-dev/kubernetes/staging/src/k8s.io/dynamic-resource-allocation v0.0.0-20251216144411-4b3495fdcb9d
71-
k8s.io/endpointslice => github.com/kcp-dev/kubernetes/staging/src/k8s.io/endpointslice v0.0.0-20251216144411-4b3495fdcb9d
72-
k8s.io/externaljwt => github.com/kcp-dev/kubernetes/staging/src/k8s.io/externaljwt v0.0.0-20251216144411-4b3495fdcb9d
73-
k8s.io/kms => github.com/kcp-dev/kubernetes/staging/src/k8s.io/kms v0.0.0-20251216144411-4b3495fdcb9d
74-
k8s.io/kube-aggregator => github.com/kcp-dev/kubernetes/staging/src/k8s.io/kube-aggregator v0.0.0-20251216144411-4b3495fdcb9d
75-
k8s.io/kube-controller-manager => github.com/kcp-dev/kubernetes/staging/src/k8s.io/kube-controller-manager v0.0.0-20251216144411-4b3495fdcb9d
76-
k8s.io/kube-proxy => github.com/kcp-dev/kubernetes/staging/src/k8s.io/kube-proxy v0.0.0-20251216144411-4b3495fdcb9d
77-
k8s.io/kube-scheduler => github.com/kcp-dev/kubernetes/staging/src/k8s.io/kube-scheduler v0.0.0-20251216144411-4b3495fdcb9d
78-
k8s.io/kubectl => github.com/kcp-dev/kubernetes/staging/src/k8s.io/kubectl v0.0.0-20251216144411-4b3495fdcb9d
79-
k8s.io/kubelet => github.com/kcp-dev/kubernetes/staging/src/k8s.io/kubelet v0.0.0-20251216144411-4b3495fdcb9d
80-
k8s.io/kubernetes => github.com/kcp-dev/kubernetes v0.0.0-20251216144411-4b3495fdcb9d
81-
k8s.io/metrics => github.com/kcp-dev/kubernetes/staging/src/k8s.io/metrics v0.0.0-20251216144411-4b3495fdcb9d
82-
k8s.io/mount-utils => github.com/kcp-dev/kubernetes/staging/src/k8s.io/mount-utils v0.0.0-20251216144411-4b3495fdcb9d
83-
k8s.io/pod-security-admission => github.com/kcp-dev/kubernetes/staging/src/k8s.io/pod-security-admission v0.0.0-20251216144411-4b3495fdcb9d
84-
k8s.io/sample-apiserver => github.com/kcp-dev/kubernetes/staging/src/k8s.io/sample-apiserver v0.0.0-20251216144411-4b3495fdcb9d
85-
k8s.io/sample-cli-plugin => github.com/kcp-dev/kubernetes/staging/src/k8s.io/sample-cli-plugin v0.0.0-20251216144411-4b3495fdcb9d
86-
k8s.io/sample-controller => github.com/kcp-dev/kubernetes/staging/src/k8s.io/sample-controller v0.0.0-20251216144411-4b3495fdcb9d
55+
k8s.io/api => github.com/kcp-dev/kubernetes/staging/src/k8s.io/api v0.0.0-20260302103047-1393ab398c11
56+
k8s.io/apiextensions-apiserver => github.com/kcp-dev/kubernetes/staging/src/k8s.io/apiextensions-apiserver v0.0.0-20260302103047-1393ab398c11
57+
k8s.io/apimachinery => github.com/kcp-dev/kubernetes/staging/src/k8s.io/apimachinery v0.0.0-20260302103047-1393ab398c11
58+
k8s.io/apiserver => github.com/kcp-dev/kubernetes/staging/src/k8s.io/apiserver v0.0.0-20260302103047-1393ab398c11
59+
k8s.io/cli-runtime => github.com/kcp-dev/kubernetes/staging/src/k8s.io/cli-runtime v0.0.0-20260302103047-1393ab398c11
60+
k8s.io/client-go => github.com/kcp-dev/kubernetes/staging/src/k8s.io/client-go v0.0.0-20260302103047-1393ab398c11
61+
k8s.io/cloud-provider => github.com/kcp-dev/kubernetes/staging/src/k8s.io/cloud-provider v0.0.0-20260302103047-1393ab398c11
62+
k8s.io/cluster-bootstrap => github.com/kcp-dev/kubernetes/staging/src/k8s.io/cluster-bootstrap v0.0.0-20260302103047-1393ab398c11
63+
k8s.io/code-generator => github.com/kcp-dev/kubernetes/staging/src/k8s.io/code-generator v0.0.0-20260302103047-1393ab398c11
64+
k8s.io/component-base => github.com/kcp-dev/kubernetes/staging/src/k8s.io/component-base v0.0.0-20260302103047-1393ab398c11
65+
k8s.io/component-helpers => github.com/kcp-dev/kubernetes/staging/src/k8s.io/component-helpers v0.0.0-20260302103047-1393ab398c11
66+
k8s.io/controller-manager => github.com/kcp-dev/kubernetes/staging/src/k8s.io/controller-manager v0.0.0-20260302103047-1393ab398c11
67+
k8s.io/cri-api => github.com/kcp-dev/kubernetes/staging/src/k8s.io/cri-api v0.0.0-20260302103047-1393ab398c11
68+
k8s.io/cri-client => github.com/kcp-dev/kubernetes/staging/src/k8s.io/cri-client v0.0.0-20260302103047-1393ab398c11
69+
k8s.io/csi-translation-lib => github.com/kcp-dev/kubernetes/staging/src/k8s.io/csi-translation-lib v0.0.0-20260302103047-1393ab398c11
70+
k8s.io/dynamic-resource-allocation => github.com/kcp-dev/kubernetes/staging/src/k8s.io/dynamic-resource-allocation v0.0.0-20260302103047-1393ab398c11
71+
k8s.io/endpointslice => github.com/kcp-dev/kubernetes/staging/src/k8s.io/endpointslice v0.0.0-20260302103047-1393ab398c11
72+
k8s.io/externaljwt => github.com/kcp-dev/kubernetes/staging/src/k8s.io/externaljwt v0.0.0-20260302103047-1393ab398c11
73+
k8s.io/kms => github.com/kcp-dev/kubernetes/staging/src/k8s.io/kms v0.0.0-20260302103047-1393ab398c11
74+
k8s.io/kube-aggregator => github.com/kcp-dev/kubernetes/staging/src/k8s.io/kube-aggregator v0.0.0-20260302103047-1393ab398c11
75+
k8s.io/kube-controller-manager => github.com/kcp-dev/kubernetes/staging/src/k8s.io/kube-controller-manager v0.0.0-20260302103047-1393ab398c11
76+
k8s.io/kube-proxy => github.com/kcp-dev/kubernetes/staging/src/k8s.io/kube-proxy v0.0.0-20260302103047-1393ab398c11
77+
k8s.io/kube-scheduler => github.com/kcp-dev/kubernetes/staging/src/k8s.io/kube-scheduler v0.0.0-20260302103047-1393ab398c11
78+
k8s.io/kubectl => github.com/kcp-dev/kubernetes/staging/src/k8s.io/kubectl v0.0.0-20260302103047-1393ab398c11
79+
k8s.io/kubelet => github.com/kcp-dev/kubernetes/staging/src/k8s.io/kubelet v0.0.0-20260302103047-1393ab398c11
80+
k8s.io/kubernetes => github.com/kcp-dev/kubernetes v0.0.0-20260302103047-1393ab398c11
81+
k8s.io/metrics => github.com/kcp-dev/kubernetes/staging/src/k8s.io/metrics v0.0.0-20260302103047-1393ab398c11
82+
k8s.io/mount-utils => github.com/kcp-dev/kubernetes/staging/src/k8s.io/mount-utils v0.0.0-20260302103047-1393ab398c11
83+
k8s.io/pod-security-admission => github.com/kcp-dev/kubernetes/staging/src/k8s.io/pod-security-admission v0.0.0-20260302103047-1393ab398c11
84+
k8s.io/sample-apiserver => github.com/kcp-dev/kubernetes/staging/src/k8s.io/sample-apiserver v0.0.0-20260302103047-1393ab398c11
85+
k8s.io/sample-cli-plugin => github.com/kcp-dev/kubernetes/staging/src/k8s.io/sample-cli-plugin v0.0.0-20260302103047-1393ab398c11
86+
k8s.io/sample-controller => github.com/kcp-dev/kubernetes/staging/src/k8s.io/sample-controller v0.0.0-20260302103047-1393ab398c11
8787
)
8888

8989
replace (

0 commit comments

Comments
 (0)