From 3dd77bf576fcd847812ff4604d62de0658219e53 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Bombo?= Date: Wed, 15 Jan 2025 16:24:03 -0600 Subject: [PATCH] tests: Introduce new env variables to ease development MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It can be useful to set these variables during local testing: * AZ_REGION: Region for the cluster. * AZ_NODEPOOL_TAGS: Node pool tags for the cluster. * GENPOLICY_BINARY: Path to the genpolicy binary. * GENPOLICY_SETTINGS_DIR: Directory holding the genpolicy settings. I've also made it so that tests_common.sh modifies the duplicated genpolicy-settings.json (used for testing) instead of the original git-tracked one. Signed-off-by: Aurélien Bombo --- tests/gha-run-k8s-common.sh | 5 ++++- tests/integration/kubernetes/tests_common.sh | 9 +++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/tests/gha-run-k8s-common.sh b/tests/gha-run-k8s-common.sh index 54e01261bf..e0ebea1aa0 100644 --- a/tests/gha-run-k8s-common.sh +++ b/tests/gha-run-k8s-common.sh @@ -9,6 +9,8 @@ source "${tests_dir}/common.bash" kubernetes_dir="${tests_dir}/integration/kubernetes" helm_chart_dir="${repo_root_dir}/tools/packaging/kata-deploy/helm-chart/kata-deploy" +AZ_REGION="${AZ_REGION:-eastus}" +AZ_NODEPOOL_TAGS="${AZ_NODEPOOL_TAGS:-}" GENPOLICY_PULL_METHOD="${GENPOLICY_PULL_METHOD:-oci-distribution}" GH_PR_NUMBER="${GH_PR_NUMBER:-}" HELM_DEFAULT_INSTALLATION="${HELM_DEFAULT_INSTALLATION:-false}" @@ -138,7 +140,7 @@ function create_cluster() { "GENPOLICY_PULL_METHOD=${GENPOLICY_PULL_METHOD:0:1}") az group create \ - -l eastus \ + -l "${AZ_REGION}" \ -n "${rg}" # Required by e.g. AKS App Routing for KBS installation. @@ -154,6 +156,7 @@ function create_cluster() { --generate-ssh-keys --tags "${tags[@]}") [[ "${KATA_HOST_OS}" = "cbl-mariner" ]] && aks_create+=( --os-sku AzureLinux --workload-runtime KataVmIsolation) + [[ -n "${AZ_NODEPOOL_TAGS}" ]] && aks_create+=(--nodepool-tags "${AZ_NODEPOOL_TAGS}") "${aks_create[@]}" } diff --git a/tests/integration/kubernetes/tests_common.sh b/tests/integration/kubernetes/tests_common.sh index 643334397f..bd2c406aca 100644 --- a/tests/integration/kubernetes/tests_common.sh +++ b/tests/integration/kubernetes/tests_common.sh @@ -37,6 +37,8 @@ K8S_TEST_DIR="${kubernetes_dir:-"${BATS_TEST_DIRNAME}"}" AUTO_GENERATE_POLICY="${AUTO_GENERATE_POLICY:-}" GENPOLICY_PULL_METHOD="${GENPOLICY_PULL_METHOD:-}" +GENPOLICY_BINARY="${GENPOLICY_BINARY:-"/opt/kata/bin/genpolicy"}" +GENPOLICY_SETTINGS_DIR="${GENPOLICY_SETTINGS_DIR:-"/opt/kata/share/defaults/kata-containers"}" KATA_HYPERVISOR="${KATA_HYPERVISOR:-}" KATA_HOST_OS="${KATA_HOST_OS:-}" RUNS_ON_AKS="${RUNS_ON_AKS:-false}" @@ -160,12 +162,11 @@ install_genpolicy_drop_ins() { # genpolicy-settings.json and genpolicy-settings.d/*.json (drop-ins). create_common_genpolicy_settings() { declare -r genpolicy_settings_dir="$1" - declare -r default_genpolicy_settings_dir="/opt/kata/share/defaults/kata-containers" auto_generate_policy_enabled || return 0 - cp "${default_genpolicy_settings_dir}/genpolicy-settings.json" "${genpolicy_settings_dir}" - cp "${default_genpolicy_settings_dir}/rules.rego" "${genpolicy_settings_dir}" + cp "${GENPOLICY_SETTINGS_DIR}/genpolicy-settings.json" "${genpolicy_settings_dir}" + cp "${GENPOLICY_SETTINGS_DIR}/rules.rego" "${genpolicy_settings_dir}" mkdir -p "${genpolicy_settings_dir}/genpolicy-settings.d" install_genpolicy_drop_ins \ @@ -222,7 +223,7 @@ auto_generate_policy_no_added_flags() { declare -r additional_flags="${4:-""}" auto_generate_policy_enabled || return 0 - local genpolicy_command="RUST_LOG=info /opt/kata/bin/genpolicy -u -y ${yaml_file}" + local genpolicy_command="RUST_LOG=info ${GENPOLICY_BINARY} -u -y ${yaml_file}" genpolicy_command+=" -p ${settings_dir}/rules.rego" genpolicy_command+=" -j ${settings_dir}"