mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-24 12:15:52 +00:00
Adds integration test for apply failures when applying multiple resources
This commit is contained in:
parent
b75990cc7b
commit
1083c0fe05
19
hack/testdata/multi-resource.yaml
vendored
Normal file
19
hack/testdata/multi-resource.yaml
vendored
Normal file
@ -0,0 +1,19 @@
|
||||
# Tests that initial failures to not block subsequent applies.
|
||||
# Pod must be before namespace, so it initially fails. Second
|
||||
# apply of pod should succeed, since namespace finally exists.
|
||||
apiVersion: v1
|
||||
kind: Pod
|
||||
metadata:
|
||||
name: test-pod
|
||||
namespace: multi-resource-ns
|
||||
labels:
|
||||
name: test-pod-label
|
||||
spec:
|
||||
containers:
|
||||
- name: kubernetes-pause
|
||||
image: k8s.gcr.io/pause:2.0
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Namespace
|
||||
metadata:
|
||||
name: multi-resource-ns
|
@ -274,6 +274,19 @@ __EOF__
|
||||
# cleanup
|
||||
kubectl delete --kustomize hack/testdata/kustomize
|
||||
|
||||
## kubectl apply multiple resources with initial failure.
|
||||
# Pre-Condition: no POD exists
|
||||
kube::test::get_object_assert pods "{{range.items}}{{${id_field:?}}}:{{end}}" ''
|
||||
# First pass, namespace is created, but pod is not (since namespace does not exist yet).
|
||||
kubectl apply -f hack/testdata/multi-resource.yaml "${kube_flags[@]:?}"
|
||||
output_message=$(! kubectl get pods test-pod 2>&1 "${kube_flags[@]:?}")
|
||||
kube::test::if_has_string "${output_message}" 'pods "test-pod" not found'
|
||||
# Second pass, pod is created (now that namespace exists).
|
||||
kubectl apply -f hack/testdata/multi-resource.yaml "${kube_flags[@]:?}"
|
||||
kube::test::get_object_assert 'pod test-pod' "{{${id_field}}}" 'test-pod'
|
||||
# cleanup
|
||||
kubectl delete -f hack/testdata/multi-resource.yaml
|
||||
|
||||
set +o nounset
|
||||
set +o errexit
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user