■ ■ ■ ■ ■ ■
pkg/service/velero_backup.go
| skipped 317 lines |
318 | 318 | | if err != nil { |
319 | 319 | | return err |
320 | 320 | | } |
321 | | - | err = kubeClient.CoreV1().Namespaces().Delete(context.Background(), "velero", metav1.DeleteOptions{}) |
| 321 | + | co := context.Background() |
| 322 | + | err = kubeClient.CoreV1().Namespaces().Delete(co, "velero", metav1.DeleteOptions{}) |
322 | 323 | | if err != nil { |
323 | 324 | | return err |
324 | 325 | | } |
325 | | - | err = kubeClient.RbacV1().ClusterRoleBindings().Delete(context.Background(), "velero", metav1.DeleteOptions{}) |
| 326 | + | err = kubeClient.RbacV1().ClusterRoleBindings().Delete(co, "velero", metav1.DeleteOptions{}) |
326 | 327 | | if err != nil { |
327 | 328 | | return err |
328 | 329 | | } |
| skipped 1 lines |
330 | 331 | | if err != nil { |
331 | 332 | | return err |
332 | 333 | | } |
333 | | - | listPvOptions := metav1.ListOptions{ |
| 334 | + | listOptions := metav1.ListOptions{ |
334 | 335 | | LabelSelector: "component=velero", |
335 | 336 | | } |
336 | | - | err = exClient.ApiextensionsV1().CustomResourceDefinitions().DeleteCollection(context.Background(), metav1.DeleteOptions{}, listPvOptions) |
| 337 | + | crds, err := exClient.ApiextensionsV1().CustomResourceDefinitions().List(co, listOptions) |
337 | 338 | | if err != nil { |
338 | 339 | | return err |
339 | 340 | | } |
| 341 | + | for _, crd := range crds.Items { |
| 342 | + | err = exClient.ApiextensionsV1().CustomResourceDefinitions().Delete(co, crd.Name, metav1.DeleteOptions{}) |
| 343 | + | if err != nil { |
| 344 | + | return err |
| 345 | + | } |
| 346 | + | } |
| 347 | + | |
340 | 348 | | if err := db.DB.Where("cluster = ?", cluster.Name).Delete(&model.ClusterVelero{}).Error; err != nil { |
341 | 349 | | return err |
342 | 350 | | } |
| skipped 155 lines |