mirror of
https://github.com/kata-containers/kata-containers.git
synced 2025-09-22 17:27:34 +00:00
tests/k8s: add new_pod_config() to lib.sh
Copied the new_pod_config() and pod-config.yaml.in from CCv0 branch tests' integration/kubernetes/confidential/tests_common.sh and fixtures. Unlike the original version, new_pod_config() now gets the runtimeclass by parameter as the RUNTIMECLASS environment variable seems not broadly used on main branch's CI. The pod-config.yaml.in was changed as the diff shows below. In particular the imagePullSecrets was removed to avoid it throwing a warning on the pod's log. ``` --- a/tests/integration/kubernetes/runtimeclass_workloads/pod-config.yaml.in +++ b/tests/integration/kubernetes/runtimeclass_workloads/pod-config.yaml.in @@ -5,12 +5,10 @@ apiVersion: v1 kind: Pod metadata: - name: busybox-cc + name: test-e2e spec: runtimeClassName: $RUNTIMECLASS containers: - - name: nginx + - name: test_container image: $IMAGE - imagePullPolicy: Always - imagePullSecrets: - - name: cococred \ No newline at end of file + imagePullPolicy: Always \ No newline at end of file ``` Co-authored-by: Georgina Kinge <georgina.kinge@ibm.com> Co-authored-by: Megan Wright <Megan.Wright@ibm.com> Co-authored-by: stevenhorsman <steven@uk.ibm.com> Signed-off-by: Wainer dos Santos Moschetta <wainersm@redhat.com>
This commit is contained in:
@@ -15,6 +15,8 @@ k8s_delete_all_pods_if_any_exists() {
|
||||
kubectl delete --all pods
|
||||
}
|
||||
|
||||
FIXTURES_DIR="${BATS_TEST_DIRNAME}/runtimeclass_workloads"
|
||||
|
||||
# Wait until the pod is not 'Ready'. Fail if it hits the timeout.
|
||||
#
|
||||
# Parameters:
|
||||
@@ -72,3 +74,28 @@ assert_pod_fail() {
|
||||
echo "Attempt to create the container but it should fail"
|
||||
! k8s_create_pod "$container_config" || /bin/false
|
||||
}
|
||||
|
||||
# Create a pod configuration out of a template file.
|
||||
#
|
||||
# Parameters:
|
||||
# $1 - the container image.
|
||||
# $2 - the runtimeclass
|
||||
#
|
||||
# Return:
|
||||
# the path to the configuration file. The caller should not care about
|
||||
# its removal afterwards as it is created under the bats temporary
|
||||
# directory.
|
||||
#
|
||||
new_pod_config() {
|
||||
local base_config="${FIXTURES_DIR}/pod-config.yaml.in"
|
||||
local image="$1"
|
||||
local runtimeclass="$2"
|
||||
local new_config
|
||||
|
||||
# The runtimeclass is not optional.
|
||||
[ -n "$runtimeclass" ] || return 1
|
||||
|
||||
new_config=$(mktemp "${BATS_FILE_TMPDIR}/$(basename "${base_config}").XXX")
|
||||
IMAGE="$image" RUNTIMECLASS="$runtimeclass" envsubst < "$base_config" > "$new_config"
|
||||
echo "$new_config"
|
||||
}
|
@@ -0,0 +1,14 @@
|
||||
# Copyright (c) 2021, 2022 IBM Corporation
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
apiVersion: v1
|
||||
kind: Pod
|
||||
metadata:
|
||||
name: test-e2e
|
||||
spec:
|
||||
runtimeClassName: $RUNTIMECLASS
|
||||
containers:
|
||||
- name: test-container
|
||||
image: $IMAGE
|
||||
imagePullPolicy: Always
|
Reference in New Issue
Block a user