Skip to content

Commit a67dd1f

Browse files
committed
adjust appwrapper controller startup
1 parent f59d8cb commit a67dd1f

File tree

4 files changed

+24
-27
lines changed

4 files changed

+24
-27
lines changed

config/rbac/role.yaml

+1
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@ rules:
6161
verbs:
6262
- get
6363
- list
64+
- watch
6465
- apiGroups:
6566
- apps
6667
resources:

go.mod

+1-2
Original file line numberDiff line numberDiff line change
@@ -97,8 +97,7 @@ require (
9797
gopkg.in/inf.v0 v0.9.1 // indirect
9898
gopkg.in/yaml.v2 v2.4.0 // indirect
9999
gopkg.in/yaml.v3 v3.0.1 // indirect
100-
k8s.io/apiextensions-apiserver v0.29.0 // indirect
101-
k8s.io/apiserver v0.29.1 // indirect
100+
k8s.io/apiserver v0.29.2 // indirect
102101
k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00 // indirect
103102
sigs.k8s.io/jobset v0.3.1 // indirect
104103
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect

go.sum

+4-4
Original file line numberDiff line numberDiff line change
@@ -494,13 +494,13 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh
494494
k8s.io/api v0.23.3/go.mod h1:w258XdGyvCmnBj/vGzQMj6kzdufJZVUwEM1U2fRJwSQ=
495495
k8s.io/api v0.29.2 h1:hBC7B9+MU+ptchxEqTNW2DkUosJpp1P+Wn6YncZ474A=
496496
k8s.io/api v0.29.2/go.mod h1:sdIaaKuU7P44aoyyLlikSLayT6Vb7bvJNCX105xZXY0=
497-
k8s.io/apiextensions-apiserver v0.29.0 h1:0VuspFG7Hj+SxyF/Z/2T0uFbI5gb5LRgEyUVE3Q4lV0=
498-
k8s.io/apiextensions-apiserver v0.29.0/go.mod h1:TKmpy3bTS0mr9pylH0nOt/QzQRrW7/h7yLdRForMZwc=
497+
k8s.io/apiextensions-apiserver v0.29.2 h1:UK3xB5lOWSnhaCk0RFZ0LUacPZz9RY4wi/yt2Iu+btg=
498+
k8s.io/apiextensions-apiserver v0.29.2/go.mod h1:aLfYjpA5p3OwtqNXQFkhJ56TB+spV8Gc4wfMhUA3/b8=
499499
k8s.io/apimachinery v0.23.3/go.mod h1:BEuFMMBaIbcOqVIJqNZJXGFTP4W6AycEpb5+m/97hrM=
500500
k8s.io/apimachinery v0.29.2 h1:EWGpfJ856oj11C52NRCHuU7rFDwxev48z+6DSlGNsV8=
501501
k8s.io/apimachinery v0.29.2/go.mod h1:6HVkd1FwxIagpYrHSwJlQqZI3G9LfYWRPAkUvLnXTKU=
502-
k8s.io/apiserver v0.29.1 h1:e2wwHUfEmMsa8+cuft8MT56+16EONIEK8A/gpBSco+g=
503-
k8s.io/apiserver v0.29.1/go.mod h1:V0EpkTRrJymyVT3M49we8uh2RvXf7fWC5XLB0P3SwRw=
502+
k8s.io/apiserver v0.29.2 h1:+Z9S0dSNr+CjnVXQePG8TcBWHr3Q7BmAr7NraHvsMiQ=
503+
k8s.io/apiserver v0.29.2/go.mod h1:B0LieKVoyU7ykQvPFm7XSdIHaCHSzCzQWPFa5bqbeMQ=
504504
k8s.io/client-go v0.29.2 h1:FEg85el1TeZp+/vYJM7hkDlSTFZ+c5nnK44DJ4FyoRg=
505505
k8s.io/client-go v0.29.2/go.mod h1:knlvFZE58VpqbQpJNbCbctTVXcd35mMyAAwBdpt4jrA=
506506
k8s.io/code-generator v0.23.3/go.mod h1:S0Q1JVA+kSzTI1oUvbKAxZY/DYbA/ZUb4Uknog12ETk=

main.go

+18-21
Original file line numberDiff line numberDiff line change
@@ -187,14 +187,17 @@ func main() {
187187
}
188188

189189
setupLog.Info("setting up indexers")
190-
exitOnError(setupIndexers(ctx, mgr, kubeClient, cfg), "unable to setup indexers")
190+
exitOnError(setupIndexers(ctx, mgr, cfg), "unable to setup indexers")
191191

192-
setupLog.Info("setting up health endpoints")
192+
setupLog.Info("setting up health endpoints")
193193
exitOnError(setupProbeEndpoints(mgr, cfg, certsReady), "unable to set up health check")
194194

195195
setupLog.Info("setting up RayCluster controller")
196196
go waitForRayClusterAPIandSetupController(ctx, mgr, cfg, isOpenShift(ctx, kubeClient.DiscoveryClient), certsReady)
197197

198+
setupLog.Info("setting up AppWrapper controller")
199+
go setupAppWrapperController(mgr, cfg, certsReady)
200+
198201
setupLog.Info("starting manager")
199202
exitOnError(mgr.Start(ctx), "error running manager")
200203
}
@@ -265,31 +268,25 @@ func waitForRayClusterAPIandSetupController(ctx context.Context, mgr ctrl.Manage
265268
}
266269
}
267270
}
271+
}
272+
273+
func setupAppWrapperController(mgr ctrl.Manager, cfg *config.CodeFlareOperatorConfiguration, certsReady chan struct{}) {
274+
setupLog.Info("Waiting for certificate generation to complete")
275+
<-certsReady
276+
setupLog.Info("Certs ready")
268277

269278
if cfg.AppWrapper != nil && ptr.Deref(cfg.AppWrapper.Enabled, false) {
270-
hasAW, errAW := hasAPIResourceForGVK(dc, awv1beta2.GroupVersion.WithKind("AppWrapper"))
271-
hasWL, errWL := hasAPIResourceForGVK(dc, kueue.GroupVersion.WithKind("Workload"))
272-
if hasAW && hasWL {
273-
exitOnError(awctrl.SetupWebhooks(mgr, cfg.AppWrapper.Config), "error setting up AppWrapper webhook")
274-
exitOnError(awctrl.SetupControllers(mgr, cfg.AppWrapper.Config), "error setting up AppWrapper controller")
275-
} else if errAW != nil || errWL != nil {
276-
exitOnError(err, "Could not determine if Workload and AppWrapper CRDs present on cluster.")
277-
} else {
278-
setupLog.Info("AppWrapper controller disabled", "Workload CRD present", hasWL,
279-
"AppWrapper CRD present", hasAW, "Config flag value", *cfg.AppWrapper.Enabled)
280-
}
279+
exitOnError(awctrl.SetupWebhooks(mgr, cfg.AppWrapper.Config), "error setting up AppWrapper webhook")
280+
exitOnError(awctrl.SetupControllers(mgr, cfg.AppWrapper.Config), "error setting up AppWrapper controller")
281+
} else {
282+
setupLog.Info("AppWrapper controller disabled", "Config flag value", *cfg.AppWrapper.Enabled)
281283
}
282284
}
283285

284-
func setupIndexers(ctx context.Context, mgr ctrl.Manager, dc discovery.DiscoveryInterface, cfg *config.CodeFlareOperatorConfiguration) error {
286+
func setupIndexers(ctx context.Context, mgr ctrl.Manager, cfg *config.CodeFlareOperatorConfiguration) error {
285287
if cfg.AppWrapper != nil && ptr.Deref(cfg.AppWrapper.Enabled, false) {
286-
hasWL, errWL := hasAPIResourceForGVK(dc, kueue.GroupVersion.WithKind("Workload"))
287-
if hasWL {
288-
if err := awctrl.SetupIndexers(ctx, mgr, cfg.AppWrapper.Config); err != nil {
289-
return fmt.Errorf("workload indexer: %w", err)
290-
}
291-
} else if errWL != nil {
292-
return fmt.Errorf("checking Workload CR: %w", errWL)
288+
if err := awctrl.SetupIndexers(ctx, mgr, cfg.AppWrapper.Config); err != nil {
289+
return fmt.Errorf("workload indexer: %w", err)
293290
}
294291
}
295292
return nil

0 commit comments

Comments
 (0)