mirror of
https://github.com/kata-containers/kata-containers.git
synced 2026-01-30 05:52:15 +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:
|
||||
@@ -71,4 +73,29 @@ 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