Skip to content

Commit

Permalink
move running provisioning host to jenkins agent in bml
Browse files Browse the repository at this point in the history
Signed-off-by: Sunnatillo <[email protected]>
  • Loading branch information
Sunnatillo committed Mar 4, 2025
1 parent 804242f commit 6dc3d26
Show file tree
Hide file tree
Showing 4 changed files with 33 additions and 98 deletions.
22 changes: 11 additions & 11 deletions jenkins/scripts/bare_metal_lab/tasks/deploy-tasks.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -47,17 +47,6 @@
cmd: "brctl addif provisioning eno1"
become: true

- name: Deploy bmhosts
template:
src: "templates/bmhosts_crs.yaml.j2"
dest: "/opt/metal3-dev-env/bmhosts_crs.yaml"

- name: Apply bmhosts manifest
shell:
cmd: kubectl apply -f ./bmhosts_crs.yaml -n metal3
chdir: "/opt/metal3-dev-env/"
tags: kubectl_apply

- name: Set VLAN 3 interface to be up
shell:
cmd: "ip link set up dev bmext"
Expand All @@ -80,6 +69,17 @@
when: brctl_grep_bmext.rc != 0
tags: bmext

- name: Deploy bmhosts
template:
src: "templates/bmhosts_crs.yaml.j2"
dest: "/opt/metal3-dev-env/bmhosts_crs.yaml"

- name: Apply bmhosts manifest
shell:
cmd: kubectl apply -f ./bmhosts_crs.yaml -n metal3
chdir: "/opt/metal3-dev-env/"
tags: kubectl_apply

- name: Wait until all BMHs become available .
kubernetes.core.k8s_info:
api_version: metal3.io/v1alpha1
Expand Down
23 changes: 4 additions & 19 deletions jenkins/scripts/bml_cleanup.sh
Original file line number Diff line number Diff line change
Expand Up @@ -8,24 +8,9 @@ set -eu
# Usage:
# cleanup_bml.sh
#
echo "Cleaning up the lab"
# Execute remote script
# shellcheck disable=SC2029

TEST_EXECUTER_IP="192.168.1.3"
CI_DIR="$(dirname "$(readlink -f "${0}")")"

echo "Cleaning up the lab"

ssh \
-o StrictHostKeyChecking=no \
-o UserKnownHostsFile=/dev/null \
-o ServerAliveInterval=15 \
-o ServerAliveCountMax=10 \
-o SendEnv="BML_ILO_USERNAME" \
-o SendEnv="BML_ILO_PASSWORD" \
-o SendEnv="GITHUB_TOKEN" \
-o SendEnv="REPO_NAME" \
-o SendEnv="BML_METAL3_DEV_ENV_REPO" \
-o SendEnv="BML_METAL3_DEV_ENV_BRANCH" \
-o SendEnv="PR_ID" \
-i "${METAL3_CI_USER_KEY}" \
"${METAL3_CI_USER}"@"${TEST_EXECUTER_IP}" \
ANSIBLE_FORCE_COLOR=true ansible-playbook -v /tmp/bare_metal_lab/cleanup-lab.yaml --skip-tags "clone"
ANSIBLE_FORCE_COLOR=true ansible-playbook -v "${CI_DIR}"/bare_metal_lab/cleanup-lab.yaml --skip-tags "clone"
80 changes: 17 additions & 63 deletions jenkins/scripts/bml_integration_test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,12 @@ set -xeu

CI_DIR="$(dirname "$(readlink -f "${0}")")"

REPO_ORG="${REPO_ORG:-metal3-io}"
REPO_NAME="${REPO_NAME:-metal3-dev-env}"
REPO_BRANCH="${REPO_BRANCH:-main}"
UPDATED_REPO="${UPDATED_REPO:-https://github.com/${REPO_ORG}/${REPO_NAME}.git}"
UPDATED_BRANCH="${UPDATED_BRANCH:-main}"
PR_ID="${PR_ID:-}"
export REPO_ORG="${REPO_ORG:-metal3-io}"
export REPO_NAME="${REPO_NAME:-metal3-dev-env}"
export REPO_BRANCH="${REPO_BRANCH:-main}"
export UPDATED_REPO="${UPDATED_REPO:-https://github.com/${REPO_ORG}/${REPO_NAME}.git}"
export UPDATED_BRANCH="${UPDATED_BRANCH:-main}"
export PR_ID="${PR_ID:-}"

if [[ "${REPO_NAME}" == "metal3-dev-env" ]]; then
export BML_METAL3_DEV_ENV_REPO="${UPDATED_REPO}"
Expand All @@ -31,66 +31,20 @@ else
export BML_METAL3_DEV_ENV_BRANCH="main"
fi

CAPI_VERSION="${CAPI_VERSION:-v1beta1}"
CAPM3_VERSION="${CAPM3_VERSION:-v1beta1}"
CAPM3RELEASEBRANCH="${CAPM3RELEASEBRANCH:-main}"
BMORELEASEBRANCH="${BMORELEASEBRANCH:-main}"
BARE_METAL_LAB=true

TEST_EXECUTER_IP="192.168.1.3"

cat <<-EOF >"${CI_DIR}/files/vars.sh"
REPO_ORG="${REPO_ORG}"
REPO_NAME="${REPO_NAME}"
REPO_BRANCH="${REPO_BRANCH}"
UPDATED_REPO="${UPDATED_REPO}"
UPDATED_BRANCH="${UPDATED_BRANCH}"
CAPI_VERSION="${CAPI_VERSION}"
CAPM3_VERSION="${CAPM3_VERSION}"
CAPM3RELEASEBRANCH="${CAPM3RELEASEBRANCH}"
BMORELEASEBRANCH="${BMORELEASEBRANCH}"
IMAGE_OS="${IMAGE_OS}"
TARGET_NODE_MEMORY="${TARGET_NODE_MEMORY}"
BARE_METAL_LAB="${BARE_METAL_LAB}"
EOF

cat "${CI_DIR}/integration_test_env.sh" >>"${CI_DIR}/files/vars.sh"

declare -a SSH_OPTIONS=(
-o StrictHostKeyChecking=no
-o UserKnownHostsFile=/dev/null
-o ServerAliveInterval=15
-o ServerAliveCountMax=10
-i "${METAL3_CI_USER_KEY}"
)

# Send Remote script to Executer
scp -r \
"${CI_DIR}/files/run_integration_tests.sh" \
"${CI_DIR}/files/vars.sh" \
"${CI_DIR}/bare_metal_lab/" \
"${METAL3_CI_USER}@${TEST_EXECUTER_IP}:/tmp/" >/dev/null
export CAPI_VERSION="${CAPI_VERSION:-v1beta1}"
export CAPM3_VERSION="${CAPM3_VERSION:-v1beta1}"
export CAPM3RELEASEBRANCH="${CAPM3RELEASEBRANCH:-main}"
export BMORELEASEBRANCH="${BMORELEASEBRANCH:-main}"
export BARE_METAL_LAB=true
export IMAGE_OS="${IMAGE_OS}"
export TARGET_NODE_MEMORY="${TARGET_NODE_MEMORY}"

echo "Setting up the lab"
# Execute remote script
# shellcheck disable=SC2029
ssh \
-o SendEnv="BML_ILO_USERNAME" \
-o SendEnv="BML_ILO_PASSWORD" \
-o SendEnv="GITHUB_TOKEN" \
-o SendEnv="REPO_NAME" \
-o SendEnv="BML_METAL3_DEV_ENV_REPO" \
-o SendEnv="BML_METAL3_DEV_ENV_BRANCH" \
-o SendEnv="PR_ID" \
"${SSH_OPTIONS[@]}" \
"${METAL3_CI_USER}"@"${TEST_EXECUTER_IP}" \
ANSIBLE_FORCE_COLOR=true ansible-playbook -v /tmp/bare_metal_lab/deploy-lab.yaml

ANSIBLE_FORCE_COLOR=true ansible-playbook -v "${CI_DIR}"/bare_metal_lab/deploy-lab.yaml

echo "Running the tests"
# Execute remote script
# shellcheck disable=SC2029
ssh \
"${SSH_OPTIONS[@]}" \
"${METAL3_CI_USER}"@"${TEST_EXECUTER_IP}" \
PATH=/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/bin \
/tmp/run_integration_tests.sh /tmp/vars.sh "${GITHUB_TOKEN}"

"${CI_DIR}/files/run_integration_tests.sh" "${GITHUB_TOKEN}"
6 changes: 1 addition & 5 deletions jenkins/scripts/files/run_integration_tests.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,7 @@

set -eux

VARS_FILE="${1:?}"
export GITHUB_TOKEN="${2:?}"

# shellcheck disable=SC1090
source "${VARS_FILE}"
export GITHUB_TOKEN="${1:?}"

export CAPI_VERSION
export CAPM3_VERSION
Expand Down

0 comments on commit 6dc3d26

Please sign in to comment.