diff --git a/cmd/metalctl/app/move.go b/cmd/metalctl/app/move.go index 5b1d4c3..655813f 100644 --- a/cmd/metalctl/app/move.go +++ b/cmd/metalctl/app/move.go @@ -36,8 +36,8 @@ func NewMoveCommand() *cobra.Command { move.Flags().StringVar(&namespace, "namespace", "", "namespace to filter CRs to migrate. Defaults to all namespaces if not specified") move.Flags().BoolVar(&dryRun, "dry-run", false, "show what would be moved without executing the migration") move.Flags().BoolVar(&verbose, "verbose", false, "enable verbose logging for detailed output during migration") - move.MarkFlagRequired("source-kubeconfig") - move.MarkFlagRequired("target-kubeconfig") + _ = move.MarkFlagRequired("source-kubeconfig") + _ = move.MarkFlagRequired("target-kubeconfig") if verbose { slog.SetLogLoggerLevel(slog.LevelDebug) diff --git a/cmdutils/move.go b/cmdutils/move.go index a77850a..423ae5f 100644 --- a/cmdutils/move.go +++ b/cmdutils/move.go @@ -117,8 +117,8 @@ func cleanup(ctx context.Context, cl client.Client, crs []*unstructured.Unstruct return errors.Join(cleanupErrs...) } -func moveCrs(ctx context.Context, cl client.Client, crsTrees []*Node, ownerUid ...types.UID) (movedCrs []*unstructured.Unstructured, err error) { - movedCrs = make([]*unstructured.Unstructured, 0) +func moveCrs(ctx context.Context, cl client.Client, crsTrees []*Node, ownerUid ...types.UID) ([]*unstructured.Unstructured, error) { + movedCrs := make([]*unstructured.Unstructured, 0) for _, crsTree := range crsTrees { cr := crsTree.Cr.DeepCopy() @@ -128,15 +128,15 @@ func moveCrs(ctx context.Context, cl client.Client, crsTrees []*Node, ownerUid . cr.SetOwnerReferences(ownerReferences) } cr.SetResourceVersion("") - if err = cl.Create(ctx, cr); err != nil { + if err := cl.Create(ctx, cr); err != nil { err = fmt.Errorf("CR %s couldn't be created in the target cluster: %w", crName(cr), err) - return + return movedCrs, err } movedCrs = append(movedCrs, cr) } for _, crsTree := range crsTrees { - err = wait.PollUntilContextTimeout(ctx, pollInterval, pollTimeout, true, func(ctx context.Context) (bool, error) { + err := wait.PollUntilContextTimeout(ctx, pollInterval, pollTimeout, true, func(ctx context.Context) (bool, error) { // get CR from target cluster cr := crsTree.Cr.DeepCopy() if err := cl.Get(ctx, client.ObjectKeyFromObject(cr), cr); err != nil { @@ -153,11 +153,11 @@ func moveCrs(ctx context.Context, cl client.Client, crsTrees []*Node, ownerUid . return true, err }) if err != nil { - return + return movedCrs, err } } - return + return movedCrs, nil } func copyStatus(ctx context.Context, cl client.Client, sourceCr, targetCr *unstructured.Unstructured) error { diff --git a/cmdutils/move_test.go b/cmdutils/move_test.go index a046362..565b150 100644 --- a/cmdutils/move_test.go +++ b/cmdutils/move_test.go @@ -50,7 +50,7 @@ var _ = Describe("metalctl move", func() { sourceBmc := &metalv1alpha1.BMC{ObjectMeta: metav1.ObjectMeta{GenerateName: "test-"}, Spec: metalv1alpha1.BMCSpec{EndpointRef: &v1.LocalObjectReference{}}} - controllerutil.SetOwnerReference(sourceEndpoint, sourceBmc, k8sSchema.Scheme) + Expect(controllerutil.SetOwnerReference(sourceEndpoint, sourceBmc, k8sSchema.Scheme)).To(Succeed()) Expect(clients.Source.Create(ctx, sourceBmc)).To(Succeed()) Eventually(func(g Gomega) error { return clients.Source.Get(ctx, client.ObjectKeyFromObject(sourceBmc), sourceBmc) @@ -67,7 +67,7 @@ var _ = Describe("metalctl move", func() { }).Should(Succeed()) sourceBmcSecret := &metalv1alpha1.BMCSecret{ObjectMeta: metav1.ObjectMeta{GenerateName: "test-"}} - controllerutil.SetOwnerReference(sourceBmc, sourceBmcSecret, k8sSchema.Scheme) + Expect(controllerutil.SetOwnerReference(sourceBmc, sourceBmcSecret, k8sSchema.Scheme)).To(Succeed()) Expect(clients.Source.Create(ctx, sourceBmcSecret)).To(Succeed()) // target cluster setup @@ -84,7 +84,7 @@ var _ = Describe("metalctl move", func() { crsSchema = append(crsSchema, schema.GroupVersionKind{Group: "metal.ironcore.dev", Version: "v1alpha1", Kind: crdKind}) } err := Move(context.TODO(), clients, crsSchema, "", false) - Expect(err).To(BeNil()) + Expect(err).ToNot(HaveOccurred()) Eventually(func(g Gomega) error { return clients.Target.Get(ctx, client.ObjectKeyFromObject(targetCommonEndpoint), targetCommonEndpoint)