Fix kubectl get error when both all-namespaces and namespace are provided.

As per kubectl get help, --namespace should be ignored with all-namespaces,
but kubectl get pods --all-namespaces --namespace=<name-space> gives
following error:

"the namespace from the provided object "default" does not match the
namespace "". You must pass '--namespace=default' to perform this
operation."

This commit fixes this error issue.
This commit is contained in:
Avesh Agarwal
2016-02-08 02:47:20 -05:00
parent 1c6a223eaa
commit c0e1623be2
2 changed files with 31 additions and 0 deletions

View File

@@ -1491,6 +1491,33 @@ __EOF__
# Command
kubectl get pods --sort-by="{metadata.name}"
############################
# Kubectl --all-namespaces #
############################
# Pre-condition: the "default" namespace exists
kube::test::get_object_assert namespaces "{{range.items}}{{$id_field}}:{{end}}" 'default:'
### Create POD
# Pre-condition: no POD exists
kube::test::get_object_assert pods "{{range.items}}{{$id_field}}:{{end}}" ''
# Command
kubectl create "${kube_flags[@]}" -f docs/admin/limitrange/valid-pod.yaml
# Post-condition: valid-pod is created
kube::test::get_object_assert pods "{{range.items}}{{$id_field}}:{{end}}" 'valid-pod:'
### Verify a specific namespace is ignored when all-namespaces is provided
# Command
kubectl get pods --all-namespaces --namespace=default
### Clean up
# Pre-condition: valid-pod exists
kube::test::get_object_assert pods "{{range.items}}{{$id_field}}:{{end}}" 'valid-pod:'
# Command
kubectl delete "${kube_flags[@]}" pod valid-pod --grace-period=0
# Post-condition: valid-pod doesn't exist
kube::test::get_object_assert pods "{{range.items}}{{$id_field}}:{{end}}" ''
kube::test::clear_all
}