mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-31 23:37:01 +00:00
Merge pull request #15667 from JanetKuo/kubectl-watch-list
Auto commit by PR queue bot
This commit is contained in:
commit
77207d75e1
@ -808,7 +808,6 @@ __EOF__
|
||||
######################
|
||||
|
||||
kube::log::status "Testing kubectl(${version}:multiple resources)"
|
||||
# TODO: add test for types like ReplicationControllerList, ServiceList
|
||||
|
||||
FILES="hack/testdata/multi-resource-yaml
|
||||
hack/testdata/multi-resource-list
|
||||
@ -866,8 +865,13 @@ __EOF__
|
||||
fi
|
||||
fi
|
||||
# Command
|
||||
# kubectl create -f "${file}" "${kube_flags[@]}" # test fails here now
|
||||
kubectl get -f "${file}" "${kube_flags[@]}"
|
||||
# Command: watching multiple resources should return "not supported" error
|
||||
WATCH_ERROR_FILE="${KUBE_TEMP}/kubectl-watch-error"
|
||||
kubectl get -f "${file}" "${kube_flags[@]}" "--watch" 2> ${WATCH_ERROR_FILE} || true
|
||||
if ! grep -q "watch is only supported on individual resources and resource collections" "${WATCH_ERROR_FILE}"; then
|
||||
kube::log::error_exit "kubectl watch multiple resource returns unexpected error or non-error: $(cat ${WATCH_ERROR_FILE})" "1"
|
||||
fi
|
||||
kubectl describe -f "${file}" "${kube_flags[@]}"
|
||||
# Command
|
||||
kubectl replace -f $replace_file --force "${kube_flags[@]}"
|
||||
|
@ -146,7 +146,7 @@ func RunGet(f *cmdutil.Factory, out io.Writer, cmd *cobra.Command, args []string
|
||||
return err
|
||||
}
|
||||
if len(infos) != 1 {
|
||||
return fmt.Errorf("watch is only supported on a single resource - %d resources were found", len(infos))
|
||||
return fmt.Errorf("watch is only supported on individual resources and resource collections - %d resources were found", len(infos))
|
||||
}
|
||||
info := infos[0]
|
||||
mapping := info.ResourceMapping()
|
||||
|
@ -199,7 +199,7 @@ func (r *Result) Watch(resourceVersion string) (watch.Interface, error) {
|
||||
return nil, err
|
||||
}
|
||||
if len(info) != 1 {
|
||||
return nil, fmt.Errorf("watch is only supported on a single resource - %d resources were found", len(info))
|
||||
return nil, fmt.Errorf("watch is only supported on individual resources and resource collections - %d resources were found", len(info))
|
||||
}
|
||||
return info[0].Watch(resourceVersion)
|
||||
}
|
||||
|
@ -564,6 +564,9 @@ func RetrieveLatest(info *Info, err error) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if runtime.IsListType(info.Object) {
|
||||
return fmt.Errorf("watch is only supported on individual resources and resource collections, but a list of resources is found")
|
||||
}
|
||||
if len(info.Name) == 0 {
|
||||
return nil
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user