MCPcopy
hub / github.com/operator-framework/operator-sdk / deleteObjects

Method deleteObjects

internal/olm/operator/uninstall.go:207–237  ·  view source on GitHub ↗
(ctx context.Context, waitForDelete bool, objs ...client.Object)

Source from the content-addressed store, hash-verified

205}
206
207func (u *Uninstall) deleteObjects(ctx context.Context, waitForDelete bool, objs ...client.Object) error {
208 for _, obj := range objs {
209 if obj == nil {
210 continue
211 }
212 gvks, _, err := u.config.Scheme.ObjectKinds(obj)
213 if err != nil {
214 return err
215 }
216 lowerKind := strings.ToLower(gvks[0].Kind)
217 if err := u.config.Client.Delete(ctx, obj); err != nil && !apierrors.IsNotFound(err) {
218 return fmt.Errorf("delete %s %q: %v", lowerKind, obj.GetName(), err)
219 } else if err == nil {
220 u.Logf("%s %q deleted", lowerKind, obj.GetName())
221 }
222 if waitForDelete {
223 key := client.ObjectKeyFromObject(obj)
224 if err := wait.PollUntilContextCancel(ctx, 250*time.Millisecond, false, func(pctx context.Context) (bool, error) {
225 if err := u.config.Client.Get(pctx, key, obj); apierrors.IsNotFound(err) {
226 return true, nil
227 } else if err != nil {
228 return false, err
229 }
230 return false, nil
231 }); err != nil {
232 return fmt.Errorf("wait for %s deleted: %v", lowerKind, err)
233 }
234 }
235 }
236 return nil
237}
238
239// getCRDs returns the list of CRDs required by a CSV.
240func getCRDs(csv *v1alpha1.ClusterServiceVersion) (crds []client.Object) {

Callers 2

RunMethod · 0.95
deleteOperatorGroupMethod · 0.95

Calls 2

DeleteMethod · 0.45
GetMethod · 0.45

Tested by

no test coverage detected