1
0
mirror of https://github.com/rancher/norman.git synced 2025-08-27 03:18:28 +00:00

Merge pull request #206 from ibuildthecloud/master

After failing to remove finalizer refresh finalizer list
This commit is contained in:
Darren Shepherd 2018-10-15 16:12:14 -07:00 committed by GitHub
commit 04cb04ac06
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -97,22 +97,22 @@ func (o *objectLifecycleAdapter) finalize(metadata metav1.Object, obj runtime.Ob
}
func (o *objectLifecycleAdapter) removeFinalizer(name string, obj runtime.Object) error {
metadata, err := meta.Accessor(obj)
if err != nil {
return err
}
var finalizers []string
for _, finalizer := range metadata.GetFinalizers() {
if finalizer == name {
continue
}
finalizers = append(finalizers, finalizer)
}
metadata.SetFinalizers(finalizers)
for i := 0; i < 3; i++ {
_, err := o.objectClient.Update(metadata.GetName(), obj)
metadata, err := meta.Accessor(obj)
if err != nil {
return err
}
var finalizers []string
for _, finalizer := range metadata.GetFinalizers() {
if finalizer == name {
continue
}
finalizers = append(finalizers, finalizer)
}
metadata.SetFinalizers(finalizers)
_, err = o.objectClient.Update(metadata.GetName(), obj)
if err == nil {
return nil
}
@ -121,16 +121,9 @@ func (o *objectLifecycleAdapter) removeFinalizer(name string, obj runtime.Object
if err != nil {
return err
}
metadata, err := meta.Accessor(obj)
if err != nil {
return err
}
metadata.SetFinalizers(finalizers)
}
return fmt.Errorf("failed to remove finalizer on %s:%s", metadata.GetNamespace(), metadata.GetName())
return fmt.Errorf("failed to remove finalizer on %s", name)
}
func (o *objectLifecycleAdapter) createKey() string {