Merge pull request #74140 from Liujingfang1/kflag

add -k flag in cli-runtime and kubectl to process kustomization directories
This commit is contained in:
Kubernetes Prow Robot
2019-02-26 19:40:16 -08:00
committed by GitHub
41 changed files with 754 additions and 26 deletions

View File

@@ -223,6 +223,21 @@ __EOF__
# cleanup
kubectl delete -f hack/testdata/service-revision2.yaml "${kube_flags[@]}"
## kubectl apply -k somedir
kubectl apply -k hack/testdata/kustomize
kube::test::get_object_assert 'configmap test-the-map' "{{${id_field}}}" 'test-the-map'
kube::test::get_object_assert 'deployment test-the-deployment' "{{${id_field}}}" 'test-the-deployment'
kube::test::get_object_assert 'service test-the-service' "{{${id_field}}}" 'test-the-service'
# cleanup
kubectl delete -k hack/testdata/kustomize
## kubectl apply --kustomize somedir
kubectl apply --kustomize hack/testdata/kustomize
kube::test::get_object_assert 'configmap test-the-map' "{{${id_field}}}" 'test-the-map'
kube::test::get_object_assert 'deployment test-the-deployment' "{{${id_field}}}" 'test-the-deployment'
kube::test::get_object_assert 'service test-the-service' "{{${id_field}}}" 'test-the-service'
# cleanup
kubectl delete --kustomize hack/testdata/kustomize
set +o nounset
set +o errexit

View File

@@ -108,3 +108,28 @@ run_create_job_tests() {
set +o nounset
set +o errexit
}
run_kubectl_create_kustomization_directory_tests() {
set -o nounset
set -o errexit
## kubectl create -k <dir> for kustomization directory
# Pre-condition: no ConfigMap, Deployment, Service exist
kube::test::get_object_assert configmaps "{{range.items}}{{$id_field}}:{{end}}" ''
kube::test::get_object_assert deployment "{{range.items}}{{$id_field}}:{{end}}" ''
kube::test::get_object_assert services "{{range.items}}{{$id_field}}:{{end}}" ''
# Command
kubectl create -k hack/testdata/kustomize
# Post-condition: test-the-map, test-the-deployment, test-the-service exist
# Check that all items in the list are printed
kube::test::get_object_assert 'configmap test-the-map' "{{${id_field}}}" 'test-the-map'
kube::test::get_object_assert 'deployment test-the-deployment' "{{${id_field}}}" 'test-the-deployment'
kube::test::get_object_assert 'service test-the-service' "{{${id_field}}}" 'test-the-service'
# cleanup
kubectl delete -k hack/testdata/kustomize
set +o nounset
set +o errexit
}

View File

@@ -202,6 +202,29 @@ run_kubectl_get_tests() {
# cleanup
kubectl delete pods redis-master valid-pod "${kube_flags[@]}"
### Test 'kubectl get -k <dir>' prints all the items built from a kustomization directory
# Pre-condition: no ConfigMap, Deployment, Service exist
kube::test::get_object_assert configmaps "{{range.items}}{{$id_field}}:{{end}}" ''
kube::test::get_object_assert deployment "{{range.items}}{{$id_field}}:{{end}}" ''
kube::test::get_object_assert services "{{range.items}}{{$id_field}}:{{end}}" ''
# Command
kubectl apply -k hack/testdata/kustomize
# Post-condition: test-the-map, test-the-deployment, test-the-service exist
# Check that all items in the list are printed
output_message=$(kubectl get -k hack/testdata/kustomize -o jsonpath="{..metadata.name}" "${kube_flags[@]}")
kube::test::if_has_string "${output_message}" "test-the-map"
kube::test::if_has_string "${output_message}" "test-the-deployment"
kube::test::if_has_string "${output_message}" "test-the-service"
# cleanup
kubectl delete -k hack/testdata/kustomize
# Check that all items in the list are deleted
kube::test::get_object_assert configmaps "{{range.items}}{{$id_field}}:{{end}}" ''
kube::test::get_object_assert deployment "{{range.items}}{{$id_field}}:{{end}}" ''
kube::test::get_object_assert services "{{range.items}}{{$id_field}}:{{end}}" ''
set +o nounset
set +o errexit
}

View File

@@ -510,6 +510,9 @@ runTests() {
if kube::test::if_supports_resource "${secrets}" ; then
record_command run_create_secret_tests
fi
if kube::test::if_supports_resource "${deployments}"; then
record_command run_kubectl_create_kustomization_directory_tests
fi
######################
# Delete #