Skip to content

Commit a2cf688

Browse files
committed
adjust appwrapper controller startup
1 parent ea14576 commit a2cf688

File tree

5 files changed

+28
-27
lines changed

5 files changed

+28
-27
lines changed

.github/workflows/olm_tests.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,10 @@ jobs:
5454
- name: Setup and start KinD cluster
5555
uses: ./common/github-actions/kind
5656

57+
- name: Deploy Kueue
58+
run: |
59+
make kueue-e2e
60+
5761
- name: Install OLM
5862
run: |
5963
kubectl create -f https://github.com/operator-framework/operator-lifecycle-manager/releases/download/${OLM_VERSION}/crds.yaml

config/rbac/role.yaml

Lines changed: 1 addition & 0 deletions
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

Lines changed: 1 addition & 2 deletions
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

Lines changed: 4 additions & 4 deletions
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

Lines changed: 18 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -188,14 +188,17 @@ func main() {
188188
}
189189

190190
setupLog.Info("setting up indexers")
191-
exitOnError(setupIndexers(ctx, mgr, kubeClient, cfg), "unable to setup indexers")
191+
exitOnError(setupIndexers(ctx, mgr, cfg), "unable to setup indexers")
192192

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

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

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

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

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

0 commit comments

Comments
 (0)