Updating the registry to return whether the resource was immediately deleted

This commit is contained in:
nikhiljindal
2017-02-06 17:22:37 -08:00
parent 746cc5d284
commit 1d32897eed
23 changed files with 48 additions and 42 deletions

View File

@@ -175,7 +175,7 @@ func (m *ThirdPartyResourceServer) removeAllThirdPartyResources(registry *thirdp
}
for ix := range list.Items {
item := &list.Items[ix]
if _, err := registry.Delete(ctx, item.Name, nil); err != nil {
if _, _, err := registry.Delete(ctx, item.Name, nil); err != nil {
return err
}
}

View File

@@ -79,6 +79,6 @@ func (s *storage) GetCSR(ctx genericapirequest.Context, name string, options *me
}
func (s *storage) DeleteCSR(ctx genericapirequest.Context, name string) error {
_, err := s.Delete(ctx, name, nil)
_, _, err := s.Delete(ctx, name, nil)
return err
}

View File

@@ -87,7 +87,6 @@ func (s *storage) UpdateConfigMap(ctx genericapirequest.Context, cfg *api.Config
}
func (s *storage) DeleteConfigMap(ctx genericapirequest.Context, name string) error {
_, err := s.Delete(ctx, name, nil)
_, _, err := s.Delete(ctx, name, nil)
return err
}

View File

@@ -71,6 +71,6 @@ func (s *storage) UpdateEndpoints(ctx genericapirequest.Context, endpoints *api.
}
func (s *storage) DeleteEndpoints(ctx genericapirequest.Context, name string) error {
_, err := s.Delete(ctx, name, nil)
_, _, err := s.Delete(ctx, name, nil)
return err
}

View File

@@ -77,6 +77,6 @@ func (s *storage) UpdateNamespace(ctx genericapirequest.Context, namespace *api.
}
func (s *storage) DeleteNamespace(ctx genericapirequest.Context, namespaceID string) error {
_, err := s.Delete(ctx, namespaceID, nil)
_, _, err := s.Delete(ctx, namespaceID, nil)
return err
}

View File

@@ -82,10 +82,10 @@ func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, *StatusREST, *Finaliz
}
// Delete enforces life-cycle rules for namespace termination
func (r *REST) Delete(ctx genericapirequest.Context, name string, options *metav1.DeleteOptions) (runtime.Object, error) {
func (r *REST) Delete(ctx genericapirequest.Context, name string, options *metav1.DeleteOptions) (runtime.Object, bool, error) {
nsObj, err := r.Get(ctx, name, &metav1.GetOptions{})
if err != nil {
return nil, err
return nil, false, err
}
namespace := nsObj.(*api.Namespace)
@@ -105,7 +105,7 @@ func (r *REST) Delete(ctx genericapirequest.Context, name string, options *metav
name,
fmt.Errorf("Precondition failed: UID in precondition: %v, UID in object meta: %v", *options.Preconditions.UID, namespace.UID),
)
return nil, err
return nil, false, err
}
// upon first request to delete, we switch the phase to start namespace termination
@@ -113,7 +113,7 @@ func (r *REST) Delete(ctx genericapirequest.Context, name string, options *metav
if namespace.DeletionTimestamp.IsZero() {
key, err := r.Store.KeyFunc(ctx, name)
if err != nil {
return nil, err
return nil, false, err
}
preconditions := storage.Preconditions{UID: options.Preconditions.UID}
@@ -159,16 +159,16 @@ func (r *REST) Delete(ctx genericapirequest.Context, name string, options *metav
if _, ok := err.(*apierrors.StatusError); !ok {
err = apierrors.NewInternalError(err)
}
return nil, err
return nil, false, err
}
return out, nil
return out, false, nil
}
// prior to final deletion, we must ensure that finalizers is empty
if len(namespace.Spec.Finalizers) != 0 {
err = apierrors.NewConflict(api.Resource("namespaces"), namespace.Name, fmt.Errorf("The system is ensuring all content is removed from this namespace. Upon completion, this namespace will automatically be purged by the system."))
return nil, err
return nil, false, err
}
return r.Store.Delete(ctx, name, options)
}

View File

@@ -78,6 +78,6 @@ func (s *storage) GetNode(ctx genericapirequest.Context, name string, options *m
}
func (s *storage) DeleteNode(ctx genericapirequest.Context, name string) error {
_, err := s.Delete(ctx, name, nil)
_, _, err := s.Delete(ctx, name, nil)
return err
}

View File

@@ -136,7 +136,7 @@ func (r *EvictionREST) Create(ctx genericapirequest.Context, obj runtime.Object)
// At this point there was either no PDB or we succeded in decrementing
// Try the delete
_, err = r.store.Delete(ctx, eviction.Name, eviction.DeleteOptions)
_, _, err = r.store.Delete(ctx, eviction.Name, eviction.DeleteOptions)
if err != nil {
return nil, err
}

View File

@@ -90,6 +90,6 @@ func (s *storage) UpdateController(ctx genericapirequest.Context, controller *ap
}
func (s *storage) DeleteController(ctx genericapirequest.Context, controllerID string) error {
_, err := s.Delete(ctx, controllerID, nil)
_, _, err := s.Delete(ctx, controllerID, nil)
return err
}

View File

@@ -77,6 +77,6 @@ func (s *storage) UpdateSecret(ctx genericapirequest.Context, secret *api.Secret
}
func (s *storage) DeleteSecret(ctx genericapirequest.Context, name string) error {
_, err := s.Delete(ctx, name, nil)
_, _, err := s.Delete(ctx, name, nil)
return err
}

View File

@@ -74,7 +74,7 @@ func (s *storage) GetService(ctx genericapirequest.Context, name string, options
}
func (s *storage) DeleteService(ctx genericapirequest.Context, name string) error {
_, err := s.Delete(ctx, name, nil)
_, _, err := s.Delete(ctx, name, nil)
return err
}

View File

@@ -77,6 +77,6 @@ func (s *storage) UpdateServiceAccount(ctx genericapirequest.Context, serviceAcc
}
func (s *storage) DeleteServiceAccount(ctx genericapirequest.Context, name string) error {
_, err := s.Delete(ctx, name, nil)
_, _, err := s.Delete(ctx, name, nil)
return err
}

View File

@@ -82,6 +82,6 @@ func (s *storage) UpdateDeployment(ctx genericapirequest.Context, deployment *ex
}
func (s *storage) DeleteDeployment(ctx genericapirequest.Context, deploymentID string) error {
_, err := s.Delete(ctx, deploymentID, nil)
_, _, err := s.Delete(ctx, deploymentID, nil)
return err
}

View File

@@ -91,6 +91,6 @@ func (s *storage) UpdateReplicaSet(ctx genericapirequest.Context, replicaSet *ex
}
func (s *storage) DeleteReplicaSet(ctx genericapirequest.Context, replicaSetID string) error {
_, err := s.Delete(ctx, replicaSetID, nil)
_, _, err := s.Delete(ctx, replicaSetID, nil)
return err
}

View File

@@ -78,6 +78,6 @@ func (s *storage) UpdateThirdPartyResourceData(ctx genericapirequest.Context, Th
}
func (s *storage) DeleteThirdPartyResourceData(ctx genericapirequest.Context, name string) error {
_, err := s.Delete(ctx, name, nil)
_, _, err := s.Delete(ctx, name, nil)
return err
}

View File

@@ -79,7 +79,7 @@ func (s *storage) GetClusterRole(ctx genericapirequest.Context, name string, opt
}
func (s *storage) DeleteClusterRole(ctx genericapirequest.Context, name string) error {
_, err := s.Delete(ctx, name, nil)
_, _, err := s.Delete(ctx, name, nil)
return err
}

View File

@@ -79,7 +79,7 @@ func (s *storage) GetClusterRoleBinding(ctx genericapirequest.Context, name stri
}
func (s *storage) DeleteClusterRoleBinding(ctx genericapirequest.Context, name string) error {
_, err := s.Delete(ctx, name, nil)
_, _, err := s.Delete(ctx, name, nil)
return err
}

View File

@@ -79,7 +79,7 @@ func (s *storage) GetRole(ctx genericapirequest.Context, name string, options *m
}
func (s *storage) DeleteRole(ctx genericapirequest.Context, name string) error {
_, err := s.Delete(ctx, name, nil)
_, _, err := s.Delete(ctx, name, nil)
return err
}

View File

@@ -80,7 +80,7 @@ func (s *storage) GetRoleBinding(ctx genericapirequest.Context, name string, opt
}
func (s *storage) DeleteRoleBinding(ctx genericapirequest.Context, name string) error {
_, err := s.Delete(ctx, name, nil)
_, _, err := s.Delete(ctx, name, nil)
return err
}