kubectl: apply prune should fallback to basic delete when a resource has no reaper

This commit is contained in:
Mike Danese
2016-10-14 10:18:24 -07:00
parent a474b2b9a0
commit c17a8a773d
4 changed files with 33 additions and 5 deletions

View File

@@ -343,10 +343,7 @@ func (p *pruner) prune(namespace string, mapping *meta.RESTMapping, shortOutput
func (p *pruner) delete(namespace, name string, mapping *meta.RESTMapping, c resource.RESTClient) error {
if !p.cascade {
if err := resource.NewHelper(c, mapping).Delete(namespace, name); err != nil {
return err
}
return nil
return resource.NewHelper(c, mapping).Delete(namespace, name)
}
cs, err := p.clientsetFunc()
if err != nil {
@@ -354,7 +351,10 @@ func (p *pruner) delete(namespace, name string, mapping *meta.RESTMapping, c res
}
r, err := kubectl.ReaperFor(mapping.GroupVersionKind.GroupKind(), cs)
if err != nil {
return err
if _, ok := err.(*kubectl.NoSuchReaperError); !ok {
return err
}
return resource.NewHelper(c, mapping).Delete(namespace, name)
}
if err := r.Stop(namespace, name, 2*time.Minute, api.NewDeleteOptions(int64(p.gracePeriod))); err != nil {
return err