Skip to content

Commit

Permalink
refactor: Remove unnecessary meta.Accessor
Browse files Browse the repository at this point in the history
  • Loading branch information
tommy351 committed Dec 16, 2020
1 parent feefdb1 commit 08b59c1
Show file tree
Hide file tree
Showing 7 changed files with 12 additions and 43 deletions.
1 change: 0 additions & 1 deletion cmd/controller/wire_gen.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

21 changes: 8 additions & 13 deletions internal/controller/resourcetemplate/reconciler.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,8 @@ import (
"github.com/tommy351/pullup/pkg/apis/pullup/v1beta1"
corev1 "k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/api/errors"
"k8s.io/apimachinery/pkg/api/meta"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/apimachinery/pkg/types"
"k8s.io/apimachinery/pkg/util/strategicpatch"
Expand Down Expand Up @@ -50,7 +48,6 @@ var ReconcilerSet = wire.NewSet(

type Reconciler struct {
Client client.Client
Scheme *runtime.Scheme
Recorder record.EventRecorder
APIReader client.Reader
}
Expand Down Expand Up @@ -164,11 +161,11 @@ func (r *Reconciler) deleteInactiveResources(ctx context.Context, rt *v1beta1.Re
}

func (r *Reconciler) getObject(ctx context.Context, gvk schema.GroupVersionKind, key client.ObjectKey) (client.Object, error) {
return k8s.GetObject(ctx, r.APIReader, r.Scheme, gvk, key)
return k8s.GetObject(ctx, r.APIReader, r.Client.Scheme(), gvk, key)
}

func (r *Reconciler) newEmptyObject(gvk schema.GroupVersionKind, key client.ObjectKey) (client.Object, error) {
obj, err := k8s.NewEmptyObject(r.Scheme, gvk)
obj, err := k8s.NewEmptyObject(r.Client.Scheme(), gvk)
if err != nil {
return nil, fmt.Errorf("failed to create a new object: %w", err)
}
Expand Down Expand Up @@ -304,7 +301,7 @@ func (r *Reconciler) applyResource(ctx context.Context, rt *v1beta1.ResourceTemp

setObjectName(obj, currentName)

if err := controllerutil.SetControllerReference(rt, obj, r.Scheme); err != nil {
if err := controllerutil.SetControllerReference(rt, obj, r.Client.Scheme()); err != nil {
return controller.Result{
Error: fmt.Errorf("failed to set controller reference: %w", err),
Reason: ReasonFailed,
Expand Down Expand Up @@ -332,13 +329,11 @@ func (r *Reconciler) applyResource(ctx context.Context, rt *v1beta1.ResourceTemp
}
}

if accessor, err := meta.Accessor(current); err == nil {
if !metav1.IsControlledBy(accessor, rt) {
return controller.Result{
EventType: corev1.EventTypeWarning,
Message: fmt.Sprintf("Resource already exists and is not managed by pullup: %s", getObjectName(current)),
Reason: ReasonResourceExists,
}
if !metav1.IsControlledBy(current, rt) {
return controller.Result{
EventType: corev1.EventTypeWarning,
Message: fmt.Sprintf("Resource already exists and is not managed by pullup: %s", getObjectName(current)),
Reason: ReasonResourceExists,
}
}

Expand Down
1 change: 0 additions & 1 deletion internal/controller/resourcetemplate/wire.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ func NewReconciler(mgr manager.Manager) *Reconciler {
wire.Build(
controller.NewClient,
controller.NewEventRecorder,
controller.NewScheme,
controller.NewAPIReader,
ReconcilerSet,
)
Expand Down
2 changes: 0 additions & 2 deletions internal/controller/resourcetemplate/wire_gen.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 0 additions & 5 deletions internal/controller/wire.go
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package controller

import (
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/client-go/tools/record"
"sigs.k8s.io/controller-runtime/pkg/client"
"sigs.k8s.io/controller-runtime/pkg/manager"
Expand All @@ -15,10 +14,6 @@ func NewClient(mgr manager.Manager) client.Client {
return mgr.GetClient()
}

func NewScheme(mgr manager.Manager) *runtime.Scheme {
return mgr.GetScheme()
}

func NewAPIReader(mgr manager.Manager) client.Reader {
return mgr.GetAPIReader()
}
15 changes: 2 additions & 13 deletions internal/testenv/object.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ import (
"github.com/tommy351/pullup/internal/k8s"
corev1 "k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/api/errors"
"k8s.io/apimachinery/pkg/api/meta"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/apimachinery/pkg/types"
Expand Down Expand Up @@ -46,12 +45,7 @@ func setOwnerReferences(ctx context.Context, obj client.Object) error {
return fmt.Errorf("failed to get the resource: %w", err)
}

refMeta, err := meta.Accessor(refObj)
if err != nil {
return fmt.Errorf("failed to get the accessor: %w", err)
}

newRefs[i].UID = refMeta.GetUID()
newRefs[i].UID = refObj.GetUID()
}
}

Expand Down Expand Up @@ -113,12 +107,7 @@ func CreateObjects(objects []client.Object) error {
ctx := context.Background()

for _, obj := range objects {
metaObj, err := meta.Accessor(obj)
if err != nil {
return fmt.Errorf("failed to get the accessor: %w", err)
}

if ns := metaObj.GetNamespace(); ns != "" {
if ns := obj.GetNamespace(); ns != "" {
if err := createNamespace(ctx, ns); err != nil {
return err
}
Expand Down
10 changes: 2 additions & 8 deletions internal/testenv/recorder.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ import (
"context"
"fmt"

"k8s.io/apimachinery/pkg/api/meta"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/types"
"sigs.k8s.io/controller-runtime/pkg/client"
Expand Down Expand Up @@ -111,16 +110,11 @@ func (r *recorderStatusClient) append(changeType string, obj client.Object) {
return
}

o, err := meta.Accessor(obj)
if err != nil {
return
}

r.changes = append(r.changes, Change{
GroupVersionKind: gvk,
NamespacedName: types.NamespacedName{
Namespace: o.GetNamespace(),
Name: o.GetName(),
Namespace: obj.GetNamespace(),
Name: obj.GetName(),
},
Type: changeType,
})
Expand Down

0 comments on commit 08b59c1

Please sign in to comment.