tests: run k8s-file-volume on a given node

This test can give false-positive on a multi-node cluster. Changed it to
use the new get_one_kata_node() and the modified exec_host() to run the
setup commands on a given node (that has kata installed) and ensure the
test pod is scheduled at that same node.

Fixes #7619
Signed-off-by: Wainer dos Santos Moschetta <wainersm@redhat.com>
This commit is contained in:
Wainer dos Santos Moschetta 2023-08-10 18:42:19 -03:00
parent 3a00fc9101
commit 666993da8d
2 changed files with 6 additions and 3 deletions

View File

@ -14,7 +14,8 @@ setup() {
[ "${KATA_HYPERVISOR}" == "fc" ] && skip "test not working see: ${fc_limitations}" [ "${KATA_HYPERVISOR}" == "fc" ] && skip "test not working see: ${fc_limitations}"
pod_name="test-file-volume" pod_name="test-file-volume"
container_name="busybox-file-volume-container" container_name="busybox-file-volume-container"
tmp_file=$(exec_host mktemp /tmp/file-volume-test-foo.XXXXX) node="$(get_one_kata_node)"
tmp_file=$(exec_host "$node" mktemp /tmp/file-volume-test-foo.XXXXX)
mount_path="/tmp/foo.txt" mount_path="/tmp/foo.txt"
file_body="test" file_body="test"
get_pod_config_dir get_pod_config_dir
@ -22,11 +23,12 @@ setup() {
@test "Test readonly volume for pods" { @test "Test readonly volume for pods" {
# Write test body to temp file # Write test body to temp file
exec_host "echo "$file_body" > $tmp_file" exec_host "$node" "echo "$file_body" > $tmp_file"
# Create test yaml # Create test yaml
sed -e "s|HOST_FILE|$tmp_file|" ${pod_config_dir}/pod-file-volume.yaml > ${pod_config_dir}/test-pod-file-volume.yaml sed -e "s|HOST_FILE|$tmp_file|" ${pod_config_dir}/pod-file-volume.yaml > ${pod_config_dir}/test-pod-file-volume.yaml
sed -i "s|MOUNT_PATH|$mount_path|" ${pod_config_dir}/test-pod-file-volume.yaml sed -i "s|MOUNT_PATH|$mount_path|" ${pod_config_dir}/test-pod-file-volume.yaml
sed -i "s|NODE|$node|" ${pod_config_dir}/test-pod-file-volume.yaml
# Create pod # Create pod
kubectl create -f "${pod_config_dir}/test-pod-file-volume.yaml" kubectl create -f "${pod_config_dir}/test-pod-file-volume.yaml"
@ -43,6 +45,6 @@ teardown() {
[ "${KATA_HYPERVISOR}" == "firecracker" ] && skip "test not working see: ${fc_limitations}" [ "${KATA_HYPERVISOR}" == "firecracker" ] && skip "test not working see: ${fc_limitations}"
[ "${KATA_HYPERVISOR}" == "fc" ] && skip "test not working see: ${fc_limitations}" [ "${KATA_HYPERVISOR}" == "fc" ] && skip "test not working see: ${fc_limitations}"
kubectl delete pod "$pod_name" kubectl delete pod "$pod_name"
exec_host rm -f $tmp_file exec_host "$node" rm -f $tmp_file
rm -f ${pod_config_dir}/test-pod-file-volume.yaml.yaml rm -f ${pod_config_dir}/test-pod-file-volume.yaml.yaml
} }

View File

@ -11,6 +11,7 @@ spec:
terminationGracePeriodSeconds: 0 terminationGracePeriodSeconds: 0
runtimeClassName: kata runtimeClassName: kata
restartPolicy: Never restartPolicy: Never
nodeName: NODE
volumes: volumes:
- name: shared-file - name: shared-file
hostPath: hostPath: