mirror of https://github.com/knative/client.git
Check deletionTimestamp for "kn revision delete" (#860)
* Check deletionTimestamp for "kn revision delete" Fixes: #815 * Update error message for revision delete Co-authored-by: Navid Shaikh <nshaikh@redhat.com>
This commit is contained in:
parent
e1ad66a60d
commit
bcf2ec3de8
|
|
@ -378,6 +378,13 @@ func getBaseRevision(cl KnServingClient, service *servingv1.Service) (*servingv1
|
||||||
|
|
||||||
// Delete a revision by name
|
// Delete a revision by name
|
||||||
func (cl *knServingClient) DeleteRevision(name string, timeout time.Duration) error {
|
func (cl *knServingClient) DeleteRevision(name string, timeout time.Duration) error {
|
||||||
|
revision, err := cl.client.Revisions(cl.namespace).Get(name, v1.GetOptions{})
|
||||||
|
if err != nil {
|
||||||
|
return clienterrors.GetError(err)
|
||||||
|
}
|
||||||
|
if revision.GetDeletionTimestamp() != nil {
|
||||||
|
return fmt.Errorf("can't delete revision '%s' because it has been already marked for deletion", name)
|
||||||
|
}
|
||||||
if timeout == 0 {
|
if timeout == 0 {
|
||||||
return cl.deleteRevision(name)
|
return cl.deleteRevision(name)
|
||||||
}
|
}
|
||||||
|
|
@ -387,7 +394,7 @@ func (cl *knServingClient) DeleteRevision(name string, timeout time.Duration) er
|
||||||
err, _ := waitForEvent.Wait(name, wait.Options{Timeout: &timeout}, wait.NoopMessageCallback())
|
err, _ := waitForEvent.Wait(name, wait.Options{Timeout: &timeout}, wait.NoopMessageCallback())
|
||||||
waitC <- err
|
waitC <- err
|
||||||
}()
|
}()
|
||||||
err := cl.deleteRevision(name)
|
err = cl.deleteRevision(name)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return clienterrors.GetError(err)
|
return clienterrors.GetError(err)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue