mirror of
https://github.com/kata-containers/kata-containers.git
synced 2025-07-31 23:36:12 +00:00
tests/k8s: add set_metadata_annotation() to lib.sh
This new function allow to the annotations to metadata section in a yaml configuration file. Co-authored-by: Ryan Savino <ryan.savino@amd.com> Signed-off-by: Wainer dos Santos Moschetta <wainersm@redhat.com>
This commit is contained in:
parent
a13eecf7f3
commit
9a9c7a5c6f
@ -98,4 +98,35 @@ new_pod_config() {
|
||||
new_config=$(mktemp "${BATS_FILE_TMPDIR}/$(basename "${base_config}").XXX")
|
||||
IMAGE="$image" RUNTIMECLASS="$runtimeclass" envsubst < "$base_config" > "$new_config"
|
||||
echo "$new_config"
|
||||
}
|
||||
|
||||
# Set an annotation on configuration metadata.
|
||||
#
|
||||
# Usually you will pass a pod configuration file where the 'metadata'
|
||||
# is relative to the 'root' path. Other configuration files like deployments,
|
||||
# the annotation should be set on 'spec.template.metadata', so use the 4th
|
||||
# parameter of this function to pass the base metadata path (for deployments
|
||||
# cases, it will be 'spec.template' for example).
|
||||
#
|
||||
# Parameters:
|
||||
# $1 - the yaml file
|
||||
# $2 - the annotation key
|
||||
# $3 - the annotation value
|
||||
# $4 - (optional) base metadata path
|
||||
set_metadata_annotation() {
|
||||
local yaml="${1}"
|
||||
local key="${2}"
|
||||
local value="${3}"
|
||||
local metadata_path="${4:-}"
|
||||
local annotation_key=""
|
||||
|
||||
[ -n "$metadata_path" ] && annotation_key+="${metadata_path}."
|
||||
|
||||
# yaml annotation key name.
|
||||
annotation_key+="metadata.annotations.\"${key}\""
|
||||
|
||||
echo "$annotation_key"
|
||||
# yq set annotations in yaml. Quoting the key because it can have
|
||||
# dots.
|
||||
yq w -i --style=double "${yaml}" "${annotation_key}" "${value}"
|
||||
}
|
Loading…
Reference in New Issue
Block a user