Skip to content

Commit

Permalink
Move Kubeadm API v1beta1 webhooks to separate package
Browse files Browse the repository at this point in the history
  • Loading branch information
odvarkadaniel committed Sep 13, 2023
1 parent 3723124 commit 68d90d2
Show file tree
Hide file tree
Showing 9 changed files with 262 additions and 160 deletions.
20 changes: 12 additions & 8 deletions controlplane/kubeadm/internal/controllers/controller_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -251,8 +251,9 @@ func TestReconcileNoClusterOwnerRef(t *testing.T) {
},
},
}
kcp.Default()
_, err := kcp.ValidateCreate()
webhook := &webhooks.KubeadmControlPlane{}
g.Expect(webhook.Default(ctx, kcp)).To(Succeed())
_, err := webhook.ValidateCreate(ctx, kcp)
g.Expect(err).ToNot(HaveOccurred())

fakeClient := newFakeClient(kcp.DeepCopy())
Expand Down Expand Up @@ -330,8 +331,9 @@ func TestReconcileNoCluster(t *testing.T) {
},
},
}
kcp.Default()
_, err := kcp.ValidateCreate()
webhook := &webhooks.KubeadmControlPlane{}
g.Expect(webhook.Default(ctx, kcp)).To(Succeed())
_, err := webhook.ValidateCreate(ctx, kcp)
g.Expect(err).ToNot(HaveOccurred())

fakeClient := newFakeClient(kcp.DeepCopy())
Expand Down Expand Up @@ -381,8 +383,9 @@ func TestReconcilePaused(t *testing.T) {
},
},
}
kcp.Default()
_, err := kcp.ValidateCreate()
webhook := &webhooks.KubeadmControlPlane{}
g.Expect(webhook.Default(ctx, kcp)).To(Succeed())
_, err := webhook.ValidateCreate(ctx, kcp)
g.Expect(err).ToNot(HaveOccurred())
fakeClient := newFakeClient(kcp.DeepCopy(), cluster.DeepCopy())
r := &KubeadmControlPlaneReconciler{
Expand Down Expand Up @@ -436,8 +439,9 @@ func TestReconcileClusterNoEndpoints(t *testing.T) {
},
},
}
kcp.Default()
_, err := kcp.ValidateCreate()
webhook := &webhooks.KubeadmControlPlane{}
g.Expect(webhook.Default(ctx, kcp)).To(Succeed())
_, err := webhook.ValidateCreate(ctx, kcp)
g.Expect(err).ToNot(HaveOccurred())

fakeClient := newFakeClient(kcp.DeepCopy(), cluster.DeepCopy())
Expand Down
26 changes: 16 additions & 10 deletions controlplane/kubeadm/internal/controllers/status_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ import (
clusterv1 "sigs.k8s.io/cluster-api/api/v1beta1"
controlplanev1 "sigs.k8s.io/cluster-api/controlplane/kubeadm/api/v1beta1"
"sigs.k8s.io/cluster-api/controlplane/kubeadm/internal"
"sigs.k8s.io/cluster-api/internal/webhooks"
"sigs.k8s.io/cluster-api/util/conditions"
)

Expand Down Expand Up @@ -65,8 +66,9 @@ func TestKubeadmControlPlaneReconciler_updateStatusNoMachines(t *testing.T) {
},
},
}
kcp.Default()
_, err := kcp.ValidateCreate()
webhook := &webhooks.KubeadmControlPlane{}
g.Expect(webhook.Default(ctx, kcp)).To(Succeed())
_, err := webhook.ValidateCreate(ctx, kcp)
g.Expect(err).ToNot(HaveOccurred())

fakeClient := newFakeClient(kcp.DeepCopy(), cluster.DeepCopy())
Expand Down Expand Up @@ -128,8 +130,9 @@ func TestKubeadmControlPlaneReconciler_updateStatusAllMachinesNotReady(t *testin
},
},
}
kcp.Default()
_, err := kcp.ValidateCreate()
webhook := &webhooks.KubeadmControlPlane{}
g.Expect(webhook.Default(ctx, kcp)).To(Succeed())
_, err := webhook.ValidateCreate(ctx, kcp)
g.Expect(err).ToNot(HaveOccurred())

machines := map[string]*clusterv1.Machine{}
Expand Down Expand Up @@ -201,8 +204,9 @@ func TestKubeadmControlPlaneReconciler_updateStatusAllMachinesReady(t *testing.T
},
},
}
kcp.Default()
_, err := kcp.ValidateCreate()
webhook := &webhooks.KubeadmControlPlane{}
g.Expect(webhook.Default(ctx, kcp)).To(Succeed())
_, err := webhook.ValidateCreate(ctx, kcp)
g.Expect(err).ToNot(HaveOccurred())

objs := []client.Object{cluster.DeepCopy(), kcp.DeepCopy(), kubeadmConfigMap()}
Expand Down Expand Up @@ -282,8 +286,9 @@ func TestKubeadmControlPlaneReconciler_updateStatusMachinesReadyMixed(t *testing
},
},
}
kcp.Default()
_, err := kcp.ValidateCreate()
webhook := &webhooks.KubeadmControlPlane{}
g.Expect(webhook.Default(ctx, kcp)).To(Succeed())
_, err := webhook.ValidateCreate(ctx, kcp)
g.Expect(err).ToNot(HaveOccurred())
machines := map[string]*clusterv1.Machine{}
objs := []client.Object{cluster.DeepCopy(), kcp.DeepCopy()}
Expand Down Expand Up @@ -363,8 +368,9 @@ func TestKubeadmControlPlaneReconciler_machinesCreatedIsIsTrueEvenWhenTheNodesAr
},
},
}
kcp.Default()
_, err := kcp.ValidateCreate()
webhook := &webhooks.KubeadmControlPlane{}
g.Expect(webhook.Default(ctx, kcp)).To(Succeed())
_, err := webhook.ValidateCreate(ctx, kcp)
g.Expect(err).ToNot(HaveOccurred())
machines := map[string]*clusterv1.Machine{}
objs := []client.Object{cluster.DeepCopy(), kcp.DeepCopy()}
Expand Down
5 changes: 3 additions & 2 deletions controlplane/kubeadm/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ import (
"sigs.k8s.io/cluster-api/feature"
"sigs.k8s.io/cluster-api/util/flags"
"sigs.k8s.io/cluster-api/version"
"sigs.k8s.io/cluster-api/webhooks"
)

var (
Expand Down Expand Up @@ -342,7 +343,7 @@ func setupReconcilers(ctx context.Context, mgr ctrl.Manager) {
}

func setupWebhooks(mgr ctrl.Manager) {
if err := (&controlplanev1.KubeadmControlPlane{}).SetupWebhookWithManager(mgr); err != nil {
if err := (&webhooks.KubeadmControlPlane{}).SetupWebhookWithManager(mgr); err != nil {
setupLog.Error(err, "unable to create webhook", "webhook", "KubeadmControlPlane")
os.Exit(1)
}
Expand All @@ -354,7 +355,7 @@ func setupWebhooks(mgr ctrl.Manager) {
os.Exit(1)
}

if err := (&controlplanev1.KubeadmControlPlaneTemplate{}).SetupWebhookWithManager(mgr); err != nil {
if err := (&webhooks.KubeadmControlPlaneTemplate{}).SetupWebhookWithManager(mgr); err != nil {
setupLog.Error(err, "unable to create webhook", "webhook", "KubeadmControlPlaneTemplate")
os.Exit(1)
}
Expand Down
5 changes: 4 additions & 1 deletion internal/test/envtest/environment.go
Original file line number Diff line number Diff line change
Expand Up @@ -300,7 +300,10 @@ func newEnvironment(uncachedObjs ...client.Object) *Environment {
if err := (&bootstrapv1.KubeadmConfigTemplate{}).SetupWebhookWithManager(mgr); err != nil {
klog.Fatalf("unable to create webhook: %+v", err)
}
if err := (&controlplanev1.KubeadmControlPlane{}).SetupWebhookWithManager(mgr); err != nil {
if err := (&webhooks.KubeadmControlPlaneTemplate{}).SetupWebhookWithManager(mgr); err != nil {
klog.Fatalf("unable to create webhook: %+v", err)
}
if err := (&webhooks.KubeadmControlPlane{}).SetupWebhookWithManager(mgr); err != nil {
klog.Fatalf("unable to create webhook: %+v", err)
}
if err := (&addonsv1.ClusterResourceSet{}).SetupWebhookWithManager(mgr); err != nil {
Expand Down
Loading

0 comments on commit 68d90d2

Please sign in to comment.