Skip to content
This repository was archived by the owner on Oct 10, 2023. It is now read-only.

Commit a2f3962

Browse files
committed
move delete pkgi function to management components
1 parent 054fa95 commit a2f3962

File tree

2 files changed

+29
-24
lines changed

2 files changed

+29
-24
lines changed

addons/pkg/util/addon_util.go

-24
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,9 @@ import (
1414
"gopkg.in/yaml.v2"
1515
corev1 "k8s.io/api/core/v1"
1616
apierrors "k8s.io/apimachinery/pkg/api/errors"
17-
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
1817
clusterapiv1beta1 "sigs.k8s.io/cluster-api/api/v1beta1"
1918
"sigs.k8s.io/controller-runtime/pkg/client"
2019

21-
"sigs.k8s.io/controller-runtime/pkg/controller/controllerutil"
22-
2320
kappctrl "github.com/vmware-tanzu/carvel-kapp-controller/pkg/apis/kappctrl/v1alpha1"
2421
pkgiv1alpha1 "github.com/vmware-tanzu/carvel-kapp-controller/pkg/apis/packaging/v1alpha1"
2522
kapppkgv1alpha1 "github.com/vmware-tanzu/carvel-kapp-controller/pkg/apiserver/apis/datapackaging/v1alpha1"
@@ -220,27 +217,6 @@ func GetPackageInstallFromAddonSecret(ctx context.Context,
220217
return pkgi, nil
221218
}
222219

223-
// DeletePackageInstall deletes the PackageInstall CR
224-
func DeletePackageInstall(ctx context.Context, c client.Client, pkgiName, pkgiNamespace string) error {
225-
pkgi := &pkgiv1alpha1.PackageInstall{
226-
ObjectMeta: metav1.ObjectMeta{
227-
Name: pkgiName,
228-
Namespace: pkgiNamespace,
229-
},
230-
}
231-
pkgi.Spec.NoopDelete = true
232-
233-
if _, err := controllerutil.CreateOrPatch(ctx, c, pkgi, nil); err != nil {
234-
return errors.Errorf("failed to patch PackageInstall resource %s/%s", pkgiNamespace, pkgiName)
235-
}
236-
237-
if err = c.Delete(ctx, pkgi); err != nil {
238-
return errors.Errorf("failed to delete PackageInstall resource %s/%s", pkgiNamespace, pkgiName)
239-
}
240-
241-
return nil
242-
}
243-
244220
// IsAppPresent returns true if app is present on the cluster
245221
func IsAppPresent(ctx context.Context,
246222
localClient client.Client,

pkg/v1/tkg/managementcomponents/management_component_install.go

+29
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,15 @@ package managementcomponents
55

66
import (
77
"context"
8+
"fmt"
89
"os"
910
"time"
1011

1112
"github.com/pkg/errors"
1213
"golang.org/x/sync/errgroup"
1314
"k8s.io/apimachinery/pkg/labels"
1415
"k8s.io/apimachinery/pkg/selection"
16+
"k8s.io/apimachinery/pkg/types"
1517
crtclient "sigs.k8s.io/controller-runtime/pkg/client"
1618

1719
kappipkg "github.com/vmware-tanzu/carvel-kapp-controller/pkg/apis/packaging/v1alpha1"
@@ -196,3 +198,30 @@ func WaitForManagementPackages(clusterClient clusterclient.Client, packageInstal
196198
}
197199
return nil
198200
}
201+
202+
// DeletePackageInstall deletes the PackageInstall CR
203+
func noopDeletePackageInstall(ctx context.Context, clusterClient clusterclient.Client, pkgClient tkgpackageclient.TKGPackageClient, pkgiName, pkgiNamespace string) error {
204+
pkgi := &kappipkg.PackageInstall{}
205+
err := clusterClient.GetResource(pkgi, pkgiName, pkgiNamespace, nil, nil)
206+
if err != nil {
207+
return errors.Wrapf(err, "unable to get PackageInstall resource %s", pkgiName)
208+
}
209+
210+
patchPkgiSpec := fmt.Sprintf("{\"spec\":{ \"noopDelete\": %t}}", true)
211+
err = clusterClient.PatchResource(pkgi, pkgiName, pkgiNamespace, patchPkgiSpec, types.MergePatchType, nil)
212+
if err != nil {
213+
return errors.Wrapf(err, "failed to patch PackageInstall resource %s", pkgiName)
214+
}
215+
216+
packageInstalledOp := &tkgpackagedatamodel.PackageOptions{
217+
PkgInstallName: pkgiName,
218+
Namespace: pkgiNamespace,
219+
}
220+
err = pkgClient.UninstallPackageSync(packageInstalledOp)
221+
//err = clusterClient.DeleteResource(pkgi)
222+
if err != nil {
223+
return errors.Wrapf(err, "failed to delete PackageInstall resource %s", pkgiName)
224+
}
225+
226+
return nil
227+
}

0 commit comments

Comments
 (0)