-
Notifications
You must be signed in to change notification settings - Fork 82
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Build ODS-CI test image on release-2.13 branch #2125
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,49 @@ | ||
FROM quay.io/centos/centos:stream9 | ||
|
||
# Use this build arg to set any default test script arguments | ||
ENV RUN_SCRIPT_ARGS=${RUN_SCRIPT_ARGS} | ||
ENV ROBOT_EXTRA_ARGS='' | ||
ENV SET_ENVIRONMENT=0 | ||
ENV RETURN_PW=0 | ||
ENV OC_HOST=${OC_HOST} | ||
ENV RUN_FROM_CONTAINER=1 | ||
ENV SE_BROWSER_PATH=/usr/bin/chromium-browser | ||
ARG OC_VERSION=4.13 | ||
ARG OC_CHANNEL=stable | ||
ARG PYTHON_VERSION=3.11 | ||
|
||
ENV ODS_VENV="/ods_venv" \ | ||
HOME="/ods_venv" \ | ||
PATH="ods_venv/bin:${PATH}" \ | ||
AM_I_IN_CONTAINER="Yes" \ | ||
PYTHONUNBUFFERED="True" | ||
|
||
WORKDIR /ods_venv | ||
|
||
COPY . ${ODS_VENV} | ||
COPY ods_ci/test-variables.yml.example ${ODS_VENV}/ods_ci/test-variables.yml | ||
|
||
RUN dnf install epel-release -y &&\ | ||
dnf -y update &&\ | ||
dnf install -y jq git unzip chromium chromedriver httpd-tools gcc \ | ||
python3 python3-devel python3-distro python-pip python${PYTHON_VERSION} python${PYTHON_VERSION}-devel &&\ | ||
dnf clean all && rm -rf /var/cache/yum &&\ | ||
curl --proto "=https" -L https://github.com/mikefarah/yq/releases/download/v4.34.1/yq_linux_amd64 -o /usr/bin/yq &&\ | ||
chmod +x /usr/bin/yq &&\ | ||
curl --proto "=https" -L https://mirror.openshift.com/pub/openshift-v$(echo ${OC_VERSION} | cut -d'.' -f 1)/x86_64/clients/ocp/${OC_CHANNEL}-${OC_VERSION}/openshift-client-linux.tar.gz -o ${HOME}/oc_client.tar.gz && \ | ||
tar xvf ${HOME}/oc_client.tar.gz -C /usr/local/bin/ && \ | ||
rm -rf ${HOME}/oc_client.tar.gz && rm /usr/local/bin/README.md && chmod 755 /usr/local/bin/oc && oc version --client && \ | ||
curl --proto "=https" -L https://github.com/openshift-online/ocm-cli/releases/download/v0.1.62/ocm-linux-amd64 -o ${HOME}/ocm && \ | ||
mv ${HOME}/ocm /usr/local/bin/ && chmod 755 /usr/local/bin/ocm && ocm version | ||
|
||
RUN alternatives --install /usr/local/bin/python3 python3 /usr/bin/python${PYTHON_VERSION} 1 | ||
RUN python3 --version | ||
RUN curl -sSL https://install.python-poetry.org | python3 - | ||
ENV PATH="${PATH}:${HOME}/.local/bin" | ||
RUN poetry install | ||
|
||
RUN chgrp -R 0 ${ODS_VENV} && \ | ||
chmod -R g+rwX ${ODS_VENV} | ||
|
||
USER 1001 | ||
WORKDIR ${ODS_VENV}/ods_ci |
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 📝 [shellcheck] reported by reviewdog 🐶 ods-ci/ods_ci/build/install_idp.sh Line 6 in 7ef9f15
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 📝 [shellcheck] reported by reviewdog 🐶 ods-ci/ods_ci/build/install_idp.sh Line 6 in 7ef9f15
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 📝 [shellcheck] reported by reviewdog 🐶 ods-ci/ods_ci/build/install_idp.sh Line 16 in 7ef9f15
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 📝 [shellcheck] reported by reviewdog 🐶 ods-ci/ods_ci/build/install_idp.sh Line 16 in 7ef9f15
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 📝 [shellcheck] reported by reviewdog 🐶 ods-ci/ods_ci/build/install_idp.sh Line 18 in 7ef9f15
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. [shellcheck] reported by reviewdog 🐶 ods-ci/ods_ci/build/install_idp.sh Line 28 in 7ef9f15
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. [shellcheck] reported by reviewdog 🐶 ods-ci/ods_ci/build/install_idp.sh Line 35 in 7ef9f15
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🚫 [shellcheck] reported by reviewdog 🐶 ods-ci/ods_ci/build/install_idp.sh Line 37 in 7ef9f15
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 📝 [shellcheck] reported by reviewdog 🐶 ods-ci/ods_ci/build/install_idp.sh Line 41 in 7ef9f15
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -450,6 +450,34 @@ if [ "${USE_OCM_IDP}" -eq 1 ] | |
then | ||
perform_ocm_login | ||
fi | ||
|
||
function update_test_config(){ | ||
echo "Update test config file..." | ||
TEST_VARIABLES_FILE="test-variables.yml" | ||
|
||
AWS_SHARED_CREDENTIALS_FILE="${CLUSTER_PROFILE_DIR}/.awscred" | ||
AWS_ACCESS_KEY_ID=$(cat $AWS_SHARED_CREDENTIALS_FILE | grep aws_access_key_id | tr -d ' ' | cut -d '=' -f 2) | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. |
||
AWS_SECRET_ACCESS_KEY=$(cat $AWS_SHARED_CREDENTIALS_FILE | grep aws_secret_access_key | tr -d ' ' | cut -d '=' -f 2) | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. |
||
yq -i '.OCP_API_URL=env(OC_HOST)' $TEST_VARIABLES_FILE | ||
yq -i '.OCP_CONSOLE_URL=env(OCP_CONSOLE)' $TEST_VARIABLES_FILE | ||
yq -i '.ODH_DASHBOARD_URL=env(RHODS_DASHBOARD)' $TEST_VARIABLES_FILE | ||
yq -i '.BROWSER.NAME="firefox"' $TEST_VARIABLES_FILE | ||
yq -i '.S3.AWS_ACCESS_KEY_ID=env(AWS_ACCESS_KEY_ID)' $TEST_VARIABLES_FILE | ||
yq -i '.S3.AWS_SECRET_ACCESS_KEY=env(AWS_SECRET_ACCESS_KEY)' $TEST_VARIABLES_FILE | ||
} | ||
|
||
validate_user_config_file | ||
check_installation | ||
install_identity_provider | ||
update_test_config | ||
|
||
echo "Performing oc login using TEST username and password" | ||
username=$(yq eval '.TEST_USER.USERNAME' test-variables.yml) | ||
password=$(yq eval '.TEST_USER.PASSWORD' test-variables.yml) | ||
oc login "$OC_HOST" --username $username --password $password --insecure-skip-tls-verify=true | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. |
||
retVal=$? | ||
if [ $retVal -ne 0 ]; then | ||
echo "The oc login command seems to have failed" | ||
echo "Please review the content of $TEST_VARIABLES_FILE" | ||
exit "$retVal" | ||
fi |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
export SET_ENVIRONMENT=1 | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. |
||
export RUN_SCRIPT_ARGS="skip-oclogin true --set-urls-variables true" | ||
export ROBOT_EXTRA_ARGS="-i Smoke --dryrun" | ||
|
||
TEST_CASE_FILE="tests/Tests" | ||
TEST_VARIABLES_FILE="test-variables.yml" | ||
|
||
echo "Install IDP users and map them to test config file" | ||
./build/install_idp.sh | ||
|
||
if [[ -z "${TEST_SUITE}" ]]; then | ||
echo "Define TEST_SUITE" | ||
exit 1 | ||
fi | ||
|
||
if [[ -z "${ARTIFACT_DIR}" ]]; then | ||
echo "Define ARTIFACT_DIR" | ||
ARTIFACT_DIR="/tmp" | ||
fi | ||
|
||
poetry run robot --include ${TEST_SUITE} -d ${ARTIFACT_DIR} -x xunit_test_result.xml -r test_report.html --variablefile ${TEST_VARIABLES_FILE} ${TEST_CASE_FILE} | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
📝 [shellcheck] reported by reviewdog 🐶
Double quote to prevent globbing and word splitting. SC2086
ods-ci/ods_ci/build/install_idp.sh
Line 6 in 7ef9f15