Merge pull request #117034 from ardaguclu/events-support-fullnames

kubectl events: Support fully qualified names for --for flag
This commit is contained in:
Kubernetes Prow Robot 2023-04-11 20:20:41 -07:00 committed by GitHub
commit a9edbee708
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 19 additions and 4 deletions

View File

@ -386,11 +386,18 @@ func decodeResourceTypeName(mapper meta.RESTMapper, s string) (gvk schema.GroupV
}
resource, name := seg[0], seg[1]
var gvr schema.GroupVersionResource
gvr, err = mapper.ResourceFor(schema.GroupVersionResource{Resource: resource})
fullySpecifiedGVR, groupResource := schema.ParseResourceArg(strings.ToLower(resource))
gvr := schema.GroupVersionResource{}
if fullySpecifiedGVR != nil {
gvr, _ = mapper.ResourceFor(*fullySpecifiedGVR)
}
if gvr.Empty() {
gvr, err = mapper.ResourceFor(groupResource.WithVersion(""))
if err != nil {
return
}
}
gvk, err = mapper.KindFor(gvr)
if err != nil {
return

View File

@ -57,6 +57,14 @@ run_kubectl_events_tests() {
output_message=$(kubectl events -n test-events --for=Cronjob/pi "${kube_flags[@]:?}" 2>&1)
kube::test::if_has_string "${output_message}" "Warning" "InvalidSchedule" "Cronjob/pi"
# Post-Condition: events returns event for fully qualified Cronjob.v1.batch/pi when --for flag is used
output_message=$(kubectl events -n test-events --for Cronjob.v1.batch/pi "${kube_flags[@]:?}" 2>&1)
kube::test::if_has_string "${output_message}" "Warning" "InvalidSchedule" "Cronjob/pi"
# Post-Condition: events returns event for fully qualified without version Cronjob.batch/pi when --for flag is used
output_message=$(kubectl events -n test-events --for=Cronjob.batch/pi "${kube_flags[@]:?}" 2>&1)
kube::test::if_has_string "${output_message}" "Warning" "InvalidSchedule" "Cronjob/pi"
# Post-Condition: events returns event for Cronjob/pi when watch is enabled
output_message=$(kubectl events -n test-events --for=Cronjob/pi --watch --request-timeout=1 "${kube_flags[@]:?}" 2>&1)
kube::test::if_has_string "${output_message}" "Warning" "InvalidSchedule" "Cronjob/pi"