Skip to content

Commit

Permalink
chore: minor refactoring
Browse files Browse the repository at this point in the history
       - typo in autoscaling docs
       - drop the Decoder field in md, ms struct in webhook alias
       - change the decoder field to be set internally
  • Loading branch information
aiden-von committed Nov 21, 2023
1 parent 8d7ca40 commit 88f3d1a
Show file tree
Hide file tree
Showing 7 changed files with 22 additions and 33 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,6 @@ The defaulting logic is as follows:
* if it's a new MachineDeployment or MachineSet, use min size
* if the replicas field of the old MachineDeployment or MachineSet is < min size, use min size
* if the replicas field of the old MachineDeployment or MachineSet is > max size, use max size
* if the replicas field of the old MachineDeployment or MachineSet is in the (min size, max size) range, keep the value from the oldMD and oldMS
* if the replicas field of the old MachineDeployment or MachineSet is in the (min size, max size) range, keep the value from the oldMD or oldMS
* otherwise, use 1
</aside>
5 changes: 2 additions & 3 deletions internal/controllers/topology/cluster/reconcile_state_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -3241,9 +3241,8 @@ func newFakeMachineDeploymentTopologyState(name string, infrastructureMachineTem

scheme := runtime.NewScheme()
_ = clusterv1.AddToScheme(scheme)
if err := (&webhooks.MachineDeployment{
Decoder: admission.NewDecoder(scheme),
}).Default(admission.NewContextWithRequest(ctx, admission.Request{}), mdState.Object); err != nil {
if err := (&webhooks.MachineDeployment{}).
Default(admission.NewContextWithRequest(ctx, admission.Request{}), mdState.Object); err != nil {
panic(err)
}
return mdState
Expand Down
8 changes: 4 additions & 4 deletions internal/webhooks/machinedeployment.go
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,8 @@ import (
)

func (webhook *MachineDeployment) SetupWebhookWithManager(mgr ctrl.Manager) error {
if webhook.Decoder == nil {
webhook.Decoder = admission.NewDecoder(mgr.GetScheme())
if webhook.decoder == nil {
webhook.decoder = admission.NewDecoder(mgr.GetScheme())
}

return ctrl.NewWebhookManagedBy(mgr).
Expand All @@ -58,7 +58,7 @@ func (webhook *MachineDeployment) SetupWebhookWithManager(mgr ctrl.Manager) erro

// MachineDeployment implements a validation and defaulting webhook for MachineDeployment.
type MachineDeployment struct {
Decoder *admission.Decoder
decoder *admission.Decoder
}

var _ webhook.CustomDefaulter = &MachineDeployment{}
Expand All @@ -83,7 +83,7 @@ func (webhook *MachineDeployment) Default(ctx context.Context, obj runtime.Objec
var oldMD *clusterv1.MachineDeployment
if req.Operation == v1.Update {
oldMD = &clusterv1.MachineDeployment{}
if err := webhook.Decoder.DecodeRaw(req.OldObject, oldMD); err != nil {
if err := webhook.decoder.DecodeRaw(req.OldObject, oldMD); err != nil {
return errors.Wrapf(err, "failed to decode oldObject to MachineDeployment")
}
}
Expand Down
10 changes: 5 additions & 5 deletions internal/webhooks/machinedeployment_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ func TestMachineDeploymentDefault(t *testing.T) {
scheme := runtime.NewScheme()
g.Expect(clusterv1.AddToScheme(scheme)).To(Succeed())
webhook := &MachineDeployment{
Decoder: admission.NewDecoder(scheme),
decoder: admission.NewDecoder(scheme),
}

reqCtx := admission.NewContextWithRequest(ctx, admission.Request{
Expand Down Expand Up @@ -403,7 +403,7 @@ func TestMachineDeploymentValidation(t *testing.T) {
scheme := runtime.NewScheme()
g.Expect(clusterv1.AddToScheme(scheme)).To(Succeed())
webhook := MachineDeployment{
Decoder: admission.NewDecoder(scheme),
decoder: admission.NewDecoder(scheme),
}

if tt.expectErr {
Expand Down Expand Up @@ -475,7 +475,7 @@ func TestMachineDeploymentVersionValidation(t *testing.T) {
scheme := runtime.NewScheme()
g.Expect(clusterv1.AddToScheme(scheme)).To(Succeed())
webhook := MachineDeployment{
Decoder: admission.NewDecoder(scheme),
decoder: admission.NewDecoder(scheme),
}

if tt.expectErr {
Expand Down Expand Up @@ -537,7 +537,7 @@ func TestMachineDeploymentClusterNameImmutable(t *testing.T) {
scheme := runtime.NewScheme()
g.Expect(clusterv1.AddToScheme(scheme)).To(Succeed())
webhook := MachineDeployment{
Decoder: admission.NewDecoder(scheme),
decoder: admission.NewDecoder(scheme),
}

warnings, err := webhook.ValidateUpdate(ctx, oldMD, newMD)
Expand Down Expand Up @@ -589,7 +589,7 @@ func TestMachineDeploymentTemplateMetadataValidation(t *testing.T) {
scheme := runtime.NewScheme()
g.Expect(clusterv1.AddToScheme(scheme)).To(Succeed())
webhook := MachineDeployment{
Decoder: admission.NewDecoder(scheme),
decoder: admission.NewDecoder(scheme),
}

if tt.expectErr {
Expand Down
8 changes: 4 additions & 4 deletions internal/webhooks/machineset.go
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,8 @@ import (
)

func (webhook *MachineSet) SetupWebhookWithManager(mgr ctrl.Manager) error {
if webhook.Decoder == nil {
webhook.Decoder = admission.NewDecoder(mgr.GetScheme())
if webhook.decoder == nil {
webhook.decoder = admission.NewDecoder(mgr.GetScheme())
}

return ctrl.NewWebhookManagedBy(mgr).
Expand All @@ -59,7 +59,7 @@ func (webhook *MachineSet) SetupWebhookWithManager(mgr ctrl.Manager) error {

// MachineSet implements a validation and defaulting webhook for MachineSet.
type MachineSet struct {
Decoder *admission.Decoder
decoder *admission.Decoder
}

var _ webhook.CustomDefaulter = &MachineSet{}
Expand All @@ -85,7 +85,7 @@ func (webhook *MachineSet) Default(ctx context.Context, obj runtime.Object) erro
var oldMS *clusterv1.MachineSet
if req.Operation == v1.Update {
oldMS = &clusterv1.MachineSet{}
if err := webhook.Decoder.DecodeRaw(req.OldObject, oldMS); err != nil {
if err := webhook.decoder.DecodeRaw(req.OldObject, oldMS); err != nil {
return errors.Wrapf(err, "failed to decode oldObject to MachineSet")
}
}
Expand Down
2 changes: 1 addition & 1 deletion internal/webhooks/machineset_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ func TestMachineSetDefault(t *testing.T) {
scheme := runtime.NewScheme()
g.Expect(clusterv1.AddToScheme(scheme)).To(Succeed())
webhook := &MachineSet{
Decoder: admission.NewDecoder(scheme),
decoder: admission.NewDecoder(scheme),
}

reqCtx := admission.NewContextWithRequest(ctx, admission.Request{})
Expand Down
20 changes: 5 additions & 15 deletions webhooks/alias.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,9 @@ limitations under the License.
package webhooks

import (
"sigs.k8s.io/cluster-api/internal/webhooks"
ctrl "sigs.k8s.io/controller-runtime"
"sigs.k8s.io/controller-runtime/pkg/client"
"sigs.k8s.io/controller-runtime/pkg/webhook/admission"

"sigs.k8s.io/cluster-api/internal/webhooks"
)

// Cluster implements a validating and defaulting webhook for Cluster.
Expand Down Expand Up @@ -57,27 +55,19 @@ func (webhook *Machine) SetupWebhookWithManager(mgr ctrl.Manager) error {
}

// MachineDeployment implements a validating and defaulting webhook for MachineDeployment.
type MachineDeployment struct {
Decoder *admission.Decoder
}
type MachineDeployment struct{}

// SetupWebhookWithManager sets up MachineDeployment webhooks.
func (webhook *MachineDeployment) SetupWebhookWithManager(mgr ctrl.Manager) error {
return (&webhooks.MachineDeployment{
Decoder: webhook.Decoder,
}).SetupWebhookWithManager(mgr)
return (&webhooks.MachineDeployment{}).SetupWebhookWithManager(mgr)
}

// MachineSet implements a validating and defaulting webhook for MachineSet.
type MachineSet struct {
Decoder *admission.Decoder
}
type MachineSet struct{}

// SetupWebhookWithManager sets up MachineSet webhooks.
func (webhook *MachineSet) SetupWebhookWithManager(mgr ctrl.Manager) error {
return (&webhooks.MachineSet{
Decoder: webhook.Decoder,
}).SetupWebhookWithManager(mgr)
return (&webhooks.MachineSet{}).SetupWebhookWithManager(mgr)
}

// MachineHealthCheck implements a validating and defaulting webhook for MachineHealthCheck.
Expand Down

0 comments on commit 88f3d1a

Please sign in to comment.