mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-04 09:49:50 +00:00
Add a test to test-cmd.sh for update --patch
This commit is contained in:
parent
3de11e2fa8
commit
1a7d811b4a
@ -141,6 +141,7 @@ for version in "${kube_api_versions[@]}"; do
|
|||||||
rc_status_replicas_field=".status.replicas"
|
rc_status_replicas_field=".status.replicas"
|
||||||
rc_container_image_field=".spec.template.spec.containers"
|
rc_container_image_field=".spec.template.spec.containers"
|
||||||
port_field="(index .spec.ports 0).port"
|
port_field="(index .spec.ports 0).port"
|
||||||
|
image_field="(index .spec.containers 0).image"
|
||||||
|
|
||||||
# Passing no arguments to create is an error
|
# Passing no arguments to create is an error
|
||||||
! kubectl create
|
! kubectl create
|
||||||
@ -306,6 +307,14 @@ for version in "${kube_api_versions[@]}"; do
|
|||||||
# Post-condition: valid-pod POD is running
|
# Post-condition: valid-pod POD is running
|
||||||
kube::test::get_object_assert pods "{{range.items}}{{$id_field}}:{{end}}" 'valid-pod:'
|
kube::test::get_object_assert pods "{{range.items}}{{$id_field}}:{{end}}" 'valid-pod:'
|
||||||
|
|
||||||
|
## --patch update pod can change image
|
||||||
|
# Pre-condition: valid-pod POD is running
|
||||||
|
kube::test::get_object_assert pods "{{range.items}}{{$id_field}}:{{end}}" 'valid-pod:'
|
||||||
|
# Command
|
||||||
|
kubectl update "${kube_flags[@]}" pod valid-pod --patch='{"spec":{"containers":[{"name": "kubernetes-serve-hostname", "image": "nginx"}]}}'
|
||||||
|
# Post-condition: valid-pod POD has image nginx
|
||||||
|
kube::test::get_object_assert pods "{{range.items}}{{$image_field}}:{{end}}" 'nginx:'
|
||||||
|
|
||||||
### Overwriting an existing label is not permitted
|
### Overwriting an existing label is not permitted
|
||||||
# Pre-condition: name is valid-pod
|
# Pre-condition: name is valid-pod
|
||||||
kube::test::get_object_assert 'pod valid-pod' "{{${labels_field}.name}}" 'valid-pod'
|
kube::test::get_object_assert 'pod valid-pod' "{{${labels_field}.name}}" 'valid-pod'
|
||||||
@ -615,6 +624,15 @@ __EOF__
|
|||||||
|
|
||||||
kube::test::describe_object_assert nodes "127.0.0.1" "Name:" "Labels:" "CreationTimestamp:" "Conditions:" "Addresses:" "Capacity:" "Pods:"
|
kube::test::describe_object_assert nodes "127.0.0.1" "Name:" "Labels:" "CreationTimestamp:" "Conditions:" "Addresses:" "Capacity:" "Pods:"
|
||||||
|
|
||||||
|
### --patch update can mark node unschedulable
|
||||||
|
# Pre-condition: node is schedulable
|
||||||
|
kube::test::get_object_assert "nodes 127.0.0.1" "{{.spec.unschedulable}}" '<no value>'
|
||||||
|
kubectl update "${kube_flags[@]}" nodes "127.0.0.1" --patch='{"spec":{"unschedulable":true}}'
|
||||||
|
# Post-condition: node is unschedulable
|
||||||
|
kube::test::get_object_assert "nodes 127.0.0.1" "{{.spec.unschedulable}}" 'true'
|
||||||
|
kubectl update "${kube_flags[@]}" nodes "127.0.0.1" --patch='{"spec":{"unschedulable":null}}'
|
||||||
|
# Post-condition: node is schedulable
|
||||||
|
kube::test::get_object_assert "nodes 127.0.0.1" "{{.spec.unschedulable}}" '<no value>'
|
||||||
|
|
||||||
###########
|
###########
|
||||||
# Nodes #
|
# Nodes #
|
||||||
|
Loading…
Reference in New Issue
Block a user