Skip to content

Commit bbc734a

Browse files
yevgeny-shnaidmank8s-ci-robot
authored andcommitted
Switching KMM to work with the new build/sign flow
changing the manager's main to use MIC and MBSC reconcilers instead of BuildSignReconciler
1 parent 732308d commit bbc734a

File tree

6 files changed

+27
-37
lines changed

6 files changed

+27
-37
lines changed

cmd/manager/main.go

+20-33
Original file line numberDiff line numberDiff line change
@@ -22,26 +22,23 @@ import (
2222
"os"
2323
"strconv"
2424

25+
"github.com/kubernetes-sigs/kernel-module-management/internal/mbsc"
2526
"github.com/kubernetes-sigs/kernel-module-management/internal/mic"
2627
"github.com/kubernetes-sigs/kernel-module-management/internal/node"
2728
"github.com/kubernetes-sigs/kernel-module-management/internal/pod"
2829

2930
"github.com/kubernetes-sigs/kernel-module-management/api/v1beta1"
3031
"github.com/kubernetes-sigs/kernel-module-management/api/v1beta2"
31-
buildpod "github.com/kubernetes-sigs/kernel-module-management/internal/build/pod"
3232
"github.com/kubernetes-sigs/kernel-module-management/internal/buildsign"
3333
buildsignpod "github.com/kubernetes-sigs/kernel-module-management/internal/buildsign/pod"
3434
"github.com/kubernetes-sigs/kernel-module-management/internal/cmd"
3535
"github.com/kubernetes-sigs/kernel-module-management/internal/config"
36-
"github.com/kubernetes-sigs/kernel-module-management/internal/constants"
3736
"github.com/kubernetes-sigs/kernel-module-management/internal/controllers"
3837
"github.com/kubernetes-sigs/kernel-module-management/internal/filter"
3938
"github.com/kubernetes-sigs/kernel-module-management/internal/metrics"
4039
"github.com/kubernetes-sigs/kernel-module-management/internal/module"
4140
"github.com/kubernetes-sigs/kernel-module-management/internal/nmc"
42-
"github.com/kubernetes-sigs/kernel-module-management/internal/preflight"
4341
"github.com/kubernetes-sigs/kernel-module-management/internal/registry"
44-
signpod "github.com/kubernetes-sigs/kernel-module-management/internal/sign/pod"
4542

4643
"k8s.io/apimachinery/pkg/runtime"
4744
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
@@ -124,6 +121,8 @@ func main() {
124121
nodeAPI := node.NewNode(client)
125122
kernelAPI := module.NewKernelMapper(buildSignHelperAPI)
126123
micAPI := mic.New(client, scheme)
124+
mbscAPI := mbsc.New(client, scheme)
125+
imagePullerAPI := pod.NewImagePuller(client, scheme)
127126

128127
dpc := controllers.NewDevicePluginReconciler(
129128
client,
@@ -168,6 +167,10 @@ func main() {
168167
cmd.FatalError(setupLogger, err, "unable to create controller", "name", controllers.NodeLabelModuleVersionReconcilerName)
169168
}
170169

170+
if err = controllers.NewMICReconciler(client, micAPI, mbscAPI, imagePullerAPI, scheme).SetupWithManager(mgr); err != nil {
171+
cmd.FatalError(setupLogger, err, "unable to create controller", "name", controllers.MICReconcilerName)
172+
}
173+
171174
if managed {
172175
setupLogger.Info("Starting as managed")
173176

@@ -179,30 +182,11 @@ func main() {
179182
cmd.FatalError(setupLogger, err, "unable to create controller", "name", controllers.NodeKernelClusterClaimReconcilerName)
180183
}
181184
} else {
182-
buildSignPodAPI := buildsignpod.NewBuildSignPodManager(client)
183-
184-
buildAPI := buildpod.NewBuildManager(
185-
client,
186-
buildpod.NewMaker(client, buildSignHelperAPI, buildSignPodAPI, scheme),
187-
buildSignPodAPI,
188-
registryAPI,
189-
)
190-
191-
signAPI := signpod.NewSignPodManager(
192-
client,
193-
signpod.NewSigner(client, scheme, buildSignPodAPI),
194-
buildSignPodAPI,
195-
registryAPI,
196-
)
197-
bsc := controllers.NewBuildSignReconciler(
198-
client,
199-
buildAPI,
200-
signAPI,
201-
kernelAPI,
202-
filterAPI,
203-
nodeAPI)
204-
if err = bsc.SetupWithManager(mgr, constants.KernelLabel); err != nil {
205-
cmd.FatalError(setupLogger, err, "unable to create controller", "name", controllers.BuildSignReconcilerName)
185+
builSignAPI := buildsignpod.NewManager(client, buildSignHelperAPI, scheme)
186+
187+
mbscr := controllers.NewMBSCReconciler(client, builSignAPI, mbscAPI)
188+
if err = mbscr.SetupWithManager(mgr); err != nil {
189+
cmd.FatalError(setupLogger, err, "unable to create controller", "name", controllers.MBSCReconcilerName)
206190
}
207191

208192
helper := controllers.NewJobEventReconcilerHelper(client)
@@ -215,12 +199,15 @@ func main() {
215199
cmd.FatalError(setupLogger, err, "unable to create controller", "name", controllers.JobGCReconcilerName)
216200
}
217201

218-
preflightStatusUpdaterAPI := preflight.NewStatusUpdater(client)
219-
preflightAPI := preflight.NewPreflightAPI(client, buildAPI, signAPI, registryAPI, preflightStatusUpdaterAPI, kernelAPI)
202+
//[TODO] - update the preflight flow with the MIC/MBSC implementation and then uncomment the preflight conroller
203+
/*
204+
preflightStatusUpdaterAPI := preflight.NewStatusUpdater(client)
205+
preflightAPI := preflight.NewPreflightAPI(client, buildAPI, signAPI, registryAPI, preflightStatusUpdaterAPI, kernelAPI)
220206
221-
if err = controllers.NewPreflightValidationReconciler(client, filterAPI, metricsAPI, preflightStatusUpdaterAPI, preflightAPI).SetupWithManager(mgr); err != nil {
222-
cmd.FatalError(setupLogger, err, "unable to create controller", "name", controllers.PreflightValidationReconcilerName)
223-
}
207+
if err = controllers.NewPreflightValidationReconciler(client, filterAPI, metricsAPI, preflightStatusUpdaterAPI, preflightAPI).SetupWithManager(mgr); err != nil {
208+
cmd.FatalError(setupLogger, err, "unable to create controller", "name", controllers.PreflightValidationReconcilerName)
209+
}
210+
*/
224211
}
225212

226213
//+kubebuilder:scaffold:builder

config/manager/kustomization.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ patches:
99

1010
images:
1111
- name: controller
12-
newName: gcr.io/k8s-staging-kmm/kernel-module-management-operator
13-
newTag: latest
12+
newName: quay.io/yshnaidm/kmmo
13+
newTag: metrics
1414
- name: worker
1515
newName: gcr.io/k8s-staging-kmm/kernel-module-management-worker
1616
newTag: latest

config/rbac/role.yaml

+1
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@ rules:
8080
- kmm.sigs.x-k8s.io
8181
resources:
8282
- modulebuildsignconfigs/status
83+
- moduleimagesconfigs/status
8384
- modules/status
8485
- preflightvalidations/status
8586
verbs:

internal/controllers/mbsc_reconciler.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ func NewMBSCReconciler(
5353
}
5454

5555
// SetupWithManager sets up the controller with the Manager.
56-
func (r *mbscReconciler) SetupWithManager(mgr ctrl.Manager, kernelLabel string) error {
56+
func (r *mbscReconciler) SetupWithManager(mgr ctrl.Manager) error {
5757
return ctrl.NewControllerManagedBy(mgr).
5858
For(&kmmv1beta1.ModuleBuildSignConfig{}).
5959
Owns(&v1.Pod{}).

internal/controllers/mic_reconciler.go

+3
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,9 @@ func (r *micReconciler) SetupWithManager(mgr ctrl.Manager) error {
6363
)
6464
}
6565

66+
//+kubebuilder:rbac:groups=kmm.sigs.x-k8s.io,resources=moduleimagesconfigs,verbs=get;list;watch;patch;create;delete
67+
//+kubebuilder:rbac:groups=kmm.sigs.x-k8s.io,resources=moduleimagesconfigs/status,verbs=get;update;patch
68+
6669
func (r *micReconciler) Reconcile(ctx context.Context, micObj *kmmv1beta1.ModuleImagesConfig) (ctrl.Result, error) {
6770
res := ctrl.Result{}
6871
if micObj.GetDeletionTimestamp() != nil {

internal/controllers/module_reconciler.go

-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@ import (
3535
//+kubebuilder:rbac:groups="core",resources=namespaces,verbs=get;list;patch;watch
3636
//+kubebuilder:rbac:groups="core",resources=nodes,verbs=get;watch
3737
//+kubebuilder:rbac:groups=kmm.sigs.x-k8s.io,resources=nodemodulesconfigs,verbs=get;list;watch;patch;create;delete
38-
//+kubebuilder:rbac:groups=kmm.sigs.x-k8s.io,resources=moduleimagesconfigs,verbs=get;list;watch;patch;create;delete
3938

4039
const (
4140
ModuleReconcilerName = "ModuleReconciler"

0 commit comments

Comments
 (0)