Merge pull request #96702 from lingsamuel/wait-for-delete-ignore-not-found

Fix `kubectl wait --for=delete` ignore not found

Kubernetes-commit: c05810cc5d7dc1ca4d67a3557fec8961a21daeb8
This commit is contained in:
Kubernetes Publisher 2021-05-07 20:29:17 -07:00
commit 1ad2d7545e
5 changed files with 9 additions and 16 deletions

2
Godeps/Godeps.json generated
View file

@ -1040,7 +1040,7 @@
},
{
"ImportPath": "k8s.io/api",
"Rev": "8c6483ecf45e"
"Rev": "645b51b988c5"
},
{
"ImportPath": "k8s.io/apimachinery",

4
go.mod
View file

@ -32,7 +32,7 @@ require (
github.com/stretchr/testify v1.6.1
golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073
gopkg.in/yaml.v2 v2.4.0
k8s.io/api v0.0.0-20210518101607-13f29098a509
k8s.io/api v0.0.0-20210518101612-645b51b988c5
k8s.io/apimachinery v0.0.0-20210518100457-96c076bf1d97
k8s.io/cli-runtime v0.0.0-20210518124922-8a120cfd4c50
k8s.io/client-go v0.0.0-20210518102928-9a82c6a51a32
@ -48,7 +48,7 @@ require (
)
replace (
k8s.io/api => k8s.io/api v0.0.0-20210506172159-8c6483ecf45e
k8s.io/api => k8s.io/api v0.0.0-20210518101612-645b51b988c5
k8s.io/apimachinery => k8s.io/apimachinery v0.0.0-20210518100457-96c076bf1d97
k8s.io/cli-runtime => k8s.io/cli-runtime v0.0.0-20210518124922-8a120cfd4c50
k8s.io/client-go => k8s.io/client-go v0.0.0-20210518102928-9a82c6a51a32

4
go.sum
View file

@ -731,8 +731,8 @@ honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWh
honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg=
honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
k8s.io/api v0.0.0-20210506172159-8c6483ecf45e h1:qHyhF6qKQVHrfQmOto8W6vEj7OASwoH8x1+p0l/81Dk=
k8s.io/api v0.0.0-20210506172159-8c6483ecf45e/go.mod h1:IgKLK42qxUHnMxdcdbEBFOo+TfTANemQTLg3gcGe8/M=
k8s.io/api v0.0.0-20210518101612-645b51b988c5 h1:GLRNBuRJhGvAYAhnBTzL24cTvPJKTdHf+jKtp/2EkSI=
k8s.io/api v0.0.0-20210518101612-645b51b988c5/go.mod h1:mfjSaVjQka7B+LlvX2q/KG3mXhs8HgdQT3ipatqYfU0=
k8s.io/apimachinery v0.0.0-20210518100457-96c076bf1d97 h1:hKyy5Pr8MoGjcqM5AYHQjpizciRmC8dz4N3XG4LZwuQ=
k8s.io/apimachinery v0.0.0-20210518100457-96c076bf1d97/go.mod h1:fBRSkoylGO2QUTae8Wb2wac6pZ83/r+tL6HFSXGbzfs=
k8s.io/cli-runtime v0.0.0-20210518124922-8a120cfd4c50 h1:f0rVBw9d3DbPN6QLGO9++zqdlBgEW4PJYCM8MTFu1/Y=

View file

@ -249,7 +249,8 @@ func (o *WaitOptions) RunWait() error {
return err
}
visitor := o.ResourceFinder.Do()
if visitor, ok := visitor.(*resource.Result); ok && strings.ToLower(o.ForCondition) == "delete" {
isForDelete := strings.ToLower(o.ForCondition) == "delete"
if visitor, ok := visitor.(*resource.Result); ok && isForDelete {
visitor.IgnoreErrors(apierrors.IsNotFound)
}
@ -257,7 +258,7 @@ func (o *WaitOptions) RunWait() error {
if err != nil {
return err
}
if visitCount == 0 {
if visitCount == 0 && !isForDelete {
return errNoMatchingResources
}
return err

View file

@ -985,15 +985,7 @@ func TestWaitForDeletionIgnoreNotFound(t *testing.T) {
listMapping := map[schema.GroupVersionResource]string{
{Group: "group", Version: "version", Resource: "theresource"}: "TheKindList",
}
infos := []*resource.Info{
{
Mapping: &meta.RESTMapping{
Resource: schema.GroupVersionResource{Group: "group", Version: "version", Resource: "theresource"},
},
Name: "name-foo",
Namespace: "ns-foo",
},
}
infos := []*resource.Info{}
fakeClient := dynamicfakeclient.NewSimpleDynamicClientWithCustomListKinds(scheme, listMapping)
o := &WaitOptions{