MCPcopy Create free account
hub / github.com/flant/shell-operator / executeDeleteOperation

Method executeDeleteOperation

pkg/kube/object_patch/patch.go:264–307  ·  view source on GitHub ↗
(op *deleteOperation)

Source from the content-addressed store, hash-verified

262}
263
264func (o *ObjectPatcher) executeDeleteOperation(op *deleteOperation) error {
265 gvk, err := o.kubeClient.GroupVersionResource(op.apiVersion, op.kind)
266 if err != nil {
267 return err
268 }
269
270 log.Debug("Started Delete API call")
271 err = o.kubeClient.Dynamic().
272 Resource(gvk).
273 Namespace(op.namespace).
274 Delete(context.TODO(), op.name, metav1.DeleteOptions{PropagationPolicy: &op.deletionPropagation}, op.subresource)
275
276 log.Debug("Finished Delete API call")
277 if errors.IsNotFound(err) {
278 return nil
279 }
280
281 if err != nil {
282 return err
283 }
284
285 if op.deletionPropagation != metav1.DeletePropagationForeground {
286 return nil
287 }
288
289 log.Debug("Waiting for object deletion")
290
291 err = wait.PollUntilContextTimeout(context.TODO(), time.Second, 20*time.Second, false, func(ctx context.Context) (bool, error) {
292 log.Debug("Started Get API call")
293 _, err := o.kubeClient.Dynamic().
294 Resource(gvk).
295 Namespace(op.namespace).
296 Get(ctx, op.name, metav1.GetOptions{})
297
298 log.Debug("Finished Get API call")
299 if errors.IsNotFound(err) {
300 return true, nil
301 }
302
303 return false, err
304 })
305
306 return err
307}

Callers 1

ExecuteOperationMethod · 0.95

Calls 4

GroupVersionResourceMethod · 0.80
DynamicMethod · 0.80
GetMethod · 0.65
DeleteMethod · 0.45

Tested by

no test coverage detected