mirror of
https://github.com/k3s-io/kubernetes.git
synced 2026-01-04 23:17:50 +00:00
this patch do tow things:
1.add dry-run flag for create job subcommand 2.add cmd-util test for create job subcommand modified: pkg/kubectl/cmd/create_job.go modified: hack/make-rules/test-cmd-util.sh
This commit is contained in:
@@ -77,6 +77,7 @@ selfsubjectaccessreviews="selfsubjectaccessreviews"
|
||||
customresourcedefinitions="customresourcedefinitions"
|
||||
daemonsets="daemonsets"
|
||||
controllerrevisions="controllerrevisions"
|
||||
job="jobs"
|
||||
|
||||
|
||||
# include shell2junit library
|
||||
@@ -4006,6 +4007,46 @@ run_service_accounts_tests() {
|
||||
set +o errexit
|
||||
}
|
||||
|
||||
run_job_tests() {
|
||||
set -o nounset
|
||||
set -o errexit
|
||||
|
||||
create_and_use_new_namespace
|
||||
kube::log::status "Testing job"
|
||||
|
||||
### Create a new namespace
|
||||
# Pre-condition: the test-jobs namespace does not exist
|
||||
kube::test::get_object_assert 'namespaces' '{{range.items}}{{ if eq $id_field \"test-jobs\" }}found{{end}}{{end}}:' ':'
|
||||
# Command
|
||||
kubectl create namespace test-jobs
|
||||
# Post-condition: namespace 'test-jobs' is created.
|
||||
kube::test::get_object_assert 'namespaces/test-jobs' "{{$id_field}}" 'test-jobs'
|
||||
|
||||
### Create a cronjob in a specific namespace
|
||||
kubectl run pi --schedule="59 23 31 2 *" --namespace=test-jobs --generator=cronjob/v1beta1 "--image=$IMAGE_PERL" --restart=OnFailure -- perl -Mbignum=bpi -wle 'print bpi(20)' "${kube_flags[@]}"
|
||||
# Post-Condition: assertion object exists
|
||||
kube::test::get_object_assert 'cronjob/pi --namespace=test-jobs' "{{$id_field}}" 'pi'
|
||||
|
||||
### Create a job in dry-run mode
|
||||
output_message=$(kubectl create job test-job --from=cronjob/pi --dry-run=true --namespace=test-jobs -o name)
|
||||
# Post-condition: The text 'job.batch/test-job' should be part of the output
|
||||
kube::test::if_has_string "${output_message}" 'job.batch/test-job'
|
||||
# Post-condition: The test-job wasn't created actually
|
||||
kube::test::get_object_assert jobs "{{range.items}}{{$id_field}}{{end}}" ''
|
||||
|
||||
### Create a job in a specific namespace
|
||||
kubectl create job test-job --from=cronjob/pi --namespace=test-jobs
|
||||
# Post-Condition: assertion object exists
|
||||
kube::test::get_object_assert 'job/test-job --namespace=test-jobs' "{{$id_field}}" 'test-job'
|
||||
#Clean up
|
||||
kubectl delete job test-job --namespace=test-jobs
|
||||
kubectl delete cronjob pi --namespace=test-jobs
|
||||
kubectl delete namespace test-jobs
|
||||
|
||||
set +o nounset
|
||||
set +o errexit
|
||||
}
|
||||
|
||||
run_pod_templates_tests() {
|
||||
set -o nounset
|
||||
set -o errexit
|
||||
@@ -4980,6 +5021,14 @@ runTests() {
|
||||
record_command run_service_accounts_tests
|
||||
fi
|
||||
|
||||
####################
|
||||
# Job #
|
||||
####################
|
||||
|
||||
if kube::test::if_supports_resource "${job}" ; then
|
||||
record_command run_job_tests
|
||||
fi
|
||||
|
||||
#################
|
||||
# Pod templates #
|
||||
#################
|
||||
|
||||
Reference in New Issue
Block a user