(op *deleteOperation)
| 262 | } |
| 263 | |
| 264 | func (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 | } |
no test coverage detected