diff --git a/.github/workflows/dry_run.yml b/.github/workflows/dry_run.yml index bdc51adea..bc148c9c7 100644 --- a/.github/workflows/dry_run.yml +++ b/.github/workflows/dry_run.yml @@ -21,8 +21,9 @@ jobs: - name: Execute ods-ci dryrun run: | - mv ods_ci/test-variables.yml.example ods_ci/test-variables.yml - ./ods_ci/run_robot_test.sh --extra-robot-args '--dryrun' --skip-oclogin true --no-output-subfolder true + cd ods_ci + mv test-variables.yml.example test-variables.yml + ./run_robot_test.sh --extra-robot-args '--dryrun' --skip-oclogin true --no-output-subfolder true - name: Save PR number and artifacts run: | diff --git a/README.md b/README.md index 1c0f5a734..6792c66d9 100644 --- a/README.md +++ b/README.md @@ -10,11 +10,16 @@ and its upstream project, [Open Data Hub](https://opendatahub.io/). 2. [Poetry](https://python-poetry.org/docs/#installation) tool installed and added to your `$PATH`. + # Quick Start + 1. Move to the ods_ci folder inside ods-ci repo + ```bash + cd ods_ci + ``` 1. Create a variables file for all of the global test values ```bash # Create the initial test variables from the example template variables file - cp ods_ci/test-variables.yml.example ods_ci/test-variables.yml + cp test-variables.yml.example test-variables.yml ``` 2. Edit the test variables file to include information required for this test run. You will need to add info required for test execution: @@ -28,26 +33,26 @@ and its upstream project, [Open Data Hub](https://opendatahub.io/). 3. Run this script that will create the virtual environment, install the required packages and kickoff the Robot test suite. ```bash # Running all the tests - sh ods_ci/run_robot_test.sh + sh run_robot_test.sh # Running Smoke test suite via tag - sh ods_ci/run_robot_test.sh --include Smoke + sh run_robot_test.sh --include Smoke # Running a specific test via tag - sh ods_ci/run_robot_test.sh --include ODS-XYZ + sh run_robot_test.sh --include ODS-XYZ # Running tests in Open Data Hub: # You need to set accordingly the PRODUCT, APPLICATIONS_NAMESPACE, MONITORING_NAMESPACE, # OPERATOR_NAMESPACE and NOTEBOOKS_NAMESPACE in test-variables.yaml (or pass them as parameters # when launching the tests) and overwrite some local variables used in the test suites # adding --variablefile ./ods_ci/test-variables-odh-overwrite.yml - sh ods_ci/run_robot_test.sh \ + sh run_robot_test.sh \ --test-variable PRODUCT:ODH \ --test-variable APPLICATIONS_NAMESPACE:opendatahub \ --test-variable MONITORING_NAMESPACE:opendatahub \ --test-variable OPERATOR_NAMESPACE:openshift-operators \ --test-variable NOTEBOOKS_NAMESPACE:opendatahub \ - --extra-robot-args '--variablefile ./ods_ci/test-variables-odh-overwrite.yml' \ + --extra-robot-args '--variablefile test-variables-odh-overwrite.yml' \ --include OpenDataHub ``` diff --git a/ods_ci/build/clean_idp.sh b/ods_ci/build/clean_idp.sh index 50aa60511..17453b0ca 100755 --- a/ods_ci/build/clean_idp.sh +++ b/ods_ci/build/clean_idp.sh @@ -74,7 +74,7 @@ uninstall_identity_provider(){ # delete htpasswd and LDAp idp # delete ldap deployment and idp # oc wait --for=delete $(oc get namespace openldap) - oc delete -f ods_ci/configs/templates/ldap/ldap.yaml + oc delete -f configs/templates/ldap/ldap.yaml if [ "${USE_OCM_IDP}" -eq 1 ] then ocm delete idp -c "${CLUSTER_NAME}" ldap-provider-qe @@ -105,14 +105,14 @@ function check_installation(){ echo $ocm_clusterid while read -r line; do if [[ $line == *"ldap"* ]] || [[ $line == *"htpasswd"* ]] ; then - found=1 + found=1 fi done < <(ocm get /api/clusters_mgmt/v1/clusters/$ocm_clusterid/identity_providers) if [ -z $found ] then echo -e "\033[0;33m LDAP and/or htpasswd Identity not found. Skipping removal of IDPs \033[0m" exit 0 - else + else echo -e "\033[0;33m LDAP and/or htpasswd Identity providers found. Going to remove IDPs \033[0m" fi else @@ -138,14 +138,14 @@ function check_uninstallation(){ while read -r line; do if [[ $line == *"ldap"* ]] || [[ $line == *"htpasswd"* ]] ; then echo -e "\033[0;33m LDAP and/or htpasswd Identity providers are still installed. Please check the cluster \033[0m" - found=1 + found=1 exit 0 fi done < <(ocm get /api/clusters_mgmt/v1/clusters/$ocm_clusterid/identity_providers) if [ -z $found ] then echo -e "\033[0;33m LDAP and/or htpasswd Identity providers have been deleted from the cluster \033[0m" - else + else echo -e "\033[0;33m LDAP and/or htpasswd Identity providers are still installed. Please check the cluster \033[0m" fi else @@ -167,7 +167,7 @@ while [ "$#" -gt 0 ]; do OC_HOST=$1 shift ;; - + --use-ocm) shift USE_OCM_IDP=$1 @@ -214,4 +214,4 @@ if [ "${USE_OCM_IDP}" -eq 1 ] fi check_installation uninstall_identity_provider -check_uninstallation \ No newline at end of file +check_uninstallation diff --git a/ods_ci/build/install_idp.sh b/ods_ci/build/install_idp.sh index 437f835dd..e71edf708 100755 --- a/ods_ci/build/install_idp.sh +++ b/ods_ci/build/install_idp.sh @@ -30,7 +30,7 @@ function generate_rand_string(){ function generate_rand_user_base_suffix(){ array=() - for i in {a..z} {A..Z}; + for i in {a..z} {A..Z}; do array[$RANDOM]=$i done @@ -63,14 +63,14 @@ function generate_custom_suffixes(){ quotes_flag=$(echo $suffix | egrep -o '".+"') if [[ -n $quotes_flag ]]; then complete_name=$(echo $complete_name | tr -d '"') - fi + fi USERS_ARR+=($complete_name) PWS_ARR+=($pw) done } function extract_testvariables_users_mapping(){ - test_user_mapping=$(jq -r --arg idpname $1 --arg test_user $2 '.[][$idpname][$test_user]' ods_ci/configs/templates/user_config.json) + test_user_mapping=$(jq -r --arg idpname $1 --arg test_user $2 '.[][$idpname][$test_user]' configs/templates/user_config.json) users_string=$3 if [[ "$test_user_mapping" = *"<RAND_BASE>"* ]]; then test_user_regex=$(echo "${test_user_mapping/<RAND_BASE>/"[a-zA-Z]+"}") @@ -82,7 +82,7 @@ function extract_testvariables_users_mapping(){ } function generate_users_creds(){ echo "--> Generating users based on requested configuration" - idp=$(jq --arg idpname $1 '.[][$idpname]' ods_ci/configs/templates/user_config.json) + idp=$(jq --arg idpname $1 '.[][$idpname]' configs/templates/user_config.json) USERS_ARR=() PWS_ARR=() pw=$(echo $idp | jq -r '.pw') @@ -144,12 +144,12 @@ function set_htpasswd_users_and_login(){ else htp_string=$(htpasswd -b -B -n $cluster_adm_user $htp_pw) oc create secret generic htpasswd-secret --from-literal=htpasswd="$htp_string" -n openshift-config - OAUTH_HTPASSWD_JSON="$(cat ods_ci/configs/resources/oauth_htp_idp.json)" + OAUTH_HTPASSWD_JSON="$(cat configs/resources/oauth_htp_idp.json)" oc patch oauth cluster --type json -p '[{"op": "add", "path": "/spec/identityProviders/-", "value": '"$OAUTH_HTPASSWD_JSON"'}]' - cp ods_ci/configs/templates/ca-rolebinding.yaml ods_ci/configs/ca-rolebinding.yaml - sed -i "s/<rolebinding_name>/ods-ci-htp-admin/g" ods_ci/configs/ca-rolebinding.yaml - sed -i "s/<username>/$cluster_adm_user/g" ods_ci/configs/ca-rolebinding.yaml - oc apply -f ods_ci/configs/ca-rolebinding.yaml + cp configs/templates/ca-rolebinding.yaml configs/ca-rolebinding.yaml + sed -i'' -e "s/<rolebinding_name>/ods-ci-htp-admin/g" configs/ca-rolebinding.yaml + sed -i'' -e "s/<username>/$cluster_adm_user/g" configs/ca-rolebinding.yaml + oc apply -f configs/ca-rolebinding.yaml fi # login using htpasswd echo "----> Performing log in with newly created HTP user" @@ -158,17 +158,17 @@ function set_htpasswd_users_and_login(){ # add more htpasswd users, if present echo "---> Adding additional HTP users, if needed per requested configuration" secret_name=$(oc get oauth cluster -o json | jq -r '.spec.identityProviders[] | select(.htpasswd!=null) | .htpasswd.fileData.name') - oc get secret $secret_name -ojsonpath={.data.htpasswd} -n openshift-config | base64 --decode > ods_ci/configs/users.htpasswd + oc get secret $secret_name -ojsonpath={.data.htpasswd} -n openshift-config | base64 --decode > configs/users.htpasswd update_secret=0 for htp_user in "${HTP_USERS[@]}"; do if [[ ! "$htp_user" = "$cluster_adm_user" ]] then - htpasswd -bB ods_ci/configs/users.htpasswd $htp_user $htp_pw + htpasswd -bB configs/users.htpasswd $htp_user $htp_pw update_secret=1 fi done if [[ $update_secret -eq 1 ]]; then - oc create secret generic $secret_name --from-file=htpasswd=ods_ci/configs/users.htpasswd --dry-run=client -o yaml -n openshift-config | oc replace -f - + oc create secret generic $secret_name --from-file=htpasswd=configs/users.htpasswd --dry-run=client -o yaml -n openshift-config | oc replace -f - else echo "----> SKIP" fi @@ -176,16 +176,16 @@ function set_htpasswd_users_and_login(){ # update test-variables.yml with admin creds export adm_user=$cluster_adm_user export adm_p=$htp_pw - yq --inplace '.OCP_ADMIN_USER.AUTH_TYPE="htpasswd"' ods_ci/test-variables.yml - yq --inplace '.OCP_ADMIN_USER.USERNAME=env(adm_user)' ods_ci/test-variables.yml - yq --inplace '.OCP_ADMIN_USER.PASSWORD=env(adm_p)' ods_ci/test-variables.yml + yq --inplace '.OCP_ADMIN_USER.AUTH_TYPE="htpasswd"' test-variables.yml + yq --inplace '.OCP_ADMIN_USER.USERNAME=env(adm_user)' test-variables.yml + yq --inplace '.OCP_ADMIN_USER.PASSWORD=env(adm_p)' test-variables.yml } function set_ldap_users(){ generate_users_creds ldap LDAP_USERS=("${USERS_ARR[@]}") - LDAP_PWS=("${PWS_ARR[@]}") + LDAP_PWS=("${PWS_ARR[@]}") ldap_users_str=$(printf ,%s ${LDAP_USERS[@]}) ldap_pws_str=$(printf ,%s ${LDAP_PWS[@]}) ldap_users_str=${ldap_users_str:1} @@ -195,16 +195,16 @@ function set_ldap_users(){ rand_base64=$(echo -n $ldap_pws_str | base64 -w 0) # update ldap.yaml with creds echo "--> configuring LDAP server and users" - cp ods_ci/configs/templates/ldap/ldap.yaml ods_ci/configs/ldap.yaml - sed -i "s/<users_string>/$users_base64/g" ods_ci/configs/ldap.yaml - sed -i "s/<passwords_string>/$rand_base64/g" ods_ci/configs/ldap.yaml + cp configs/templates/ldap/ldap.yaml configs/ldap.yaml + sed -i'' -e "s/<users_string>/$users_base64/g" configs/ldap.yaml + sed -i'' -e "s/<passwords_string>/$rand_base64/g" configs/ldap.yaml rand=$(generate_rand_string) export RAND_ADMIN=$rand rand_base64=$(echo -n $rand | base64 -w 0) - sed -i "s/<adminpassword>/$rand_base64/g" ods_ci/configs/ldap.yaml + sed -i'' -e "s/<adminpassword>/$rand_base64/g" configs/ldap.yaml # create ldap deployment - oc apply -f ods_ci/configs/ldap.yaml + oc apply -f configs/ldap.yaml if [ "${USE_OCM_IDP}" -eq 1 ] then ocm_clusterid=$(ocm list clusters --no-headers --parameter search="api.url = '${OC_HOST}'" | awk '{print $1}') @@ -213,14 +213,14 @@ function set_ldap_users(){ echo "Cluster $OC_HOST not found. Please fix it and try again..." exit 1 fi - cp ods_ci/utils/scripts/ocm/templates/create_ldap_idp.jinja ods_ci/configs/create_ldap_idp.jinja - sed -i "s/{{ LDAP_BIND_PASSWORD }}/$RAND_ADMIN/g" ods_ci/configs/create_ldap_idp.jinja - sed -i "s/{{ LDAP_BIND_DN }}/cn=admin,dc=example,dc=org/g" ods_ci/configs/create_ldap_idp.jinja - sed -i 's/{{ LDAP_URL }}/ldap:\/\/openldap.openldap.svc.cluster.local:1389\/dc=example,dc=org?uid/g' ods_ci/configs/create_ldap_idp.jinja - ocm post /api/clusters_mgmt/v1/clusters/${ocm_clusterid}/identity_providers --body=ods_ci/configs/create_ldap_idp.jinja + cp utils/scripts/ocm/templates/create_ldap_idp.jinja configs/create_ldap_idp.jinja + sed -i'' -e "s/{{ LDAP_BIND_PASSWORD }}/$RAND_ADMIN/g" configs/create_ldap_idp.jinja + sed -i'' -e "s/{{ LDAP_BIND_DN }}/cn=admin,dc=example,dc=org/g" configs/create_ldap_idp.jinja + sed -i'' -e 's/{{ LDAP_URL }}/ldap:\/\/openldap.openldap.svc.cluster.local:1389\/dc=example,dc=org?uid/g' configs/create_ldap_idp.jinja + ocm post /api/clusters_mgmt/v1/clusters/${ocm_clusterid}/identity_providers --body=configs/create_ldap_idp.jinja else oc create secret generic ldap-bind-password --from-literal=bindPassword="$RAND_ADMIN" -n openshift-config - OAUTH_LDAP_JSON="$(cat ods_ci/configs/resources/oauth_ldap_idp.json)" + OAUTH_LDAP_JSON="$(cat configs/resources/oauth_ldap_idp.json)" oc patch oauth cluster --type json -p '[{"op": "add", "path": "/spec/identityProviders/-", "value": '"$OAUTH_LDAP_JSON"'}]' fi @@ -230,21 +230,21 @@ function set_ldap_users(){ test_user_4=$(extract_testvariables_users_mapping ldap TEST_USER_4 $ldap_users_str) export ldap_pw=$ldap_pw export username=$test_user - yq --inplace '.TEST_USER.AUTH_TYPE="ldap-provider-qe"' ods_ci/test-variables.yml - yq --inplace '.TEST_USER.USERNAME=env(username)' ods_ci/test-variables.yml - yq --inplace '.TEST_USER.PASSWORD=env(ldap_pw)' ods_ci/test-variables.yml + yq --inplace '.TEST_USER.AUTH_TYPE="ldap-provider-qe"' test-variables.yml + yq --inplace '.TEST_USER.USERNAME=env(username)' test-variables.yml + yq --inplace '.TEST_USER.PASSWORD=env(ldap_pw)' test-variables.yml export username=$test_user_2 - yq --inplace '.TEST_USER_2.AUTH_TYPE="ldap-provider-qe"' ods_ci/test-variables.yml - yq --inplace '.TEST_USER_2.USERNAME=env(username)' ods_ci/test-variables.yml - yq --inplace '.TEST_USER_2.PASSWORD=env(ldap_pw)' ods_ci/test-variables.yml + yq --inplace '.TEST_USER_2.AUTH_TYPE="ldap-provider-qe"' test-variables.yml + yq --inplace '.TEST_USER_2.USERNAME=env(username)' test-variables.yml + yq --inplace '.TEST_USER_2.PASSWORD=env(ldap_pw)' test-variables.yml export username=$test_user_3 - yq --inplace '.TEST_USER_3.AUTH_TYPE="ldap-provider-qe"' ods_ci/test-variables.yml - yq --inplace '.TEST_USER_3.USERNAME=env(username)' ods_ci/test-variables.yml - yq --inplace '.TEST_USER_3.PASSWORD=env(ldap_pw)' ods_ci/test-variables.yml + yq --inplace '.TEST_USER_3.AUTH_TYPE="ldap-provider-qe"' test-variables.yml + yq --inplace '.TEST_USER_3.USERNAME=env(username)' test-variables.yml + yq --inplace '.TEST_USER_3.PASSWORD=env(ldap_pw)' test-variables.yml export username=$test_user_4 - yq --inplace '.TEST_USER_4.AUTH_TYPE="ldap-provider-qe"' ods_ci/test-variables.yml - yq --inplace '.TEST_USER_4.USERNAME=env(username)' ods_ci/test-variables.yml - yq --inplace '.TEST_USER_4.PASSWORD=env(ldap_pw)' ods_ci/test-variables.yml + yq --inplace '.TEST_USER_4.AUTH_TYPE="ldap-provider-qe"' test-variables.yml + yq --inplace '.TEST_USER_4.USERNAME=env(username)' test-variables.yml + yq --inplace '.TEST_USER_4.PASSWORD=env(ldap_pw)' test-variables.yml } @@ -254,7 +254,7 @@ function create_groups_and_assign_users(){ oc adm groups new rhods-noaccess oc adm groups new dedicated-admins for prefix in "${prefixes[@]}"; do - groups=$(jq -r --arg idpname ldap --arg pref $prefix '.[][$idpname].groups_map[$pref][]' ods_ci/configs/templates/user_config.json) + groups=$(jq -r --arg idpname ldap --arg pref $prefix '.[][$idpname].groups_map[$pref][]' configs/templates/user_config.json) echo $groups groups=($groups) for group in "${groups[@]}"; do @@ -294,7 +294,7 @@ function install_identity_provider(){ echo "Stage) Setting LDAP Identity provider" set_ldap_users echo "Stage) Configure RHODS test user groups" - create_groups_and_assign_users + create_groups_and_assign_users echo "Stage) Sleeping 180sec to wait for IDPs to become available" sleep 180 } @@ -335,7 +335,7 @@ function check_installation(){ function validate_user_config_fields_and_values(){ echo "--> Going through requested users configuration" - idp=$(jq --arg idpname $1 '.[][$idpname]' ods_ci/configs/templates/user_config.json) + idp=$(jq --arg idpname $1 '.[][$idpname]' configs/templates/user_config.json) pw=$(echo $idp | jq -r '.pw') if [[ $pw = "null" || -z "${pw// }" ]]; then echo ".pw must be set with a custom value (i.e., no empty string or whitespacesonly) or <GEN_RAMDOM_PW>" @@ -424,7 +424,7 @@ function validate_user_config_fields_and_values(){ echo "The given suffix type $suffix_type is not supported..try again" esac if [[ $1 = "ldap" ]]; then - groups=$(jq -r --arg idpname ldap --arg pref $prefix '.[][$idpname].groups_map[$pref][]' ods_ci/configs/templates/user_config.json) + groups=$(jq -r --arg idpname ldap --arg pref $prefix '.[][$idpname].groups_map[$pref][]' configs/templates/user_config.json) groups=($groups) if [[ $groups = "null" || -z "${groups// }" || ! ${#groups[@]} -gt 0 ]]; then echo ".groups_map must be set and have more than 0 element!" @@ -436,12 +436,12 @@ function validate_user_config_fields_and_values(){ function validate_user_config_file(){ echo "Stage) validating user_config.json" - if [ ! -f "ods_ci/configs/templates/user_config.json" ]; then - echo user_config.json is not present in ods_ci/configs/templates! Fix it and try again... + if [ ! -f "configs/templates/user_config.json" ]; then + echo user_config.json is not present in configs/templates! Fix it and try again... exit 1 else echo user_config.json found! Starting json validation.. - fi + fi validate_user_config_fields_and_values htpasswd validate_user_config_fields_and_values ldap } diff --git a/ods_ci/build/run.sh b/ods_ci/build/run.sh index eda9e536a..a9ef04990 100644 --- a/ods_ci/build/run.sh +++ b/ods_ci/build/run.sh @@ -21,10 +21,10 @@ if [ "${SET_ENVIRONMENT}" -eq 1 ]; then \ fi fi echo "-----| SET_ENVIRONMENT option is enabled. ODS-CI is going to configure the test environment for you..|-----" - ./ods_ci/build/install_idp.sh + ./build/install_idp.sh fi fi echo "-----| ODS-CI is starting the tests run...|-----" -./ods_ci/run_robot_test.sh --skip-install ${RUN_SCRIPT_ARGS} --extra-robot-args "${ROBOT_EXTRA_ARGS}" +./run_robot_test.sh --skip-install ${RUN_SCRIPT_ARGS} --extra-robot-args "${ROBOT_EXTRA_ARGS}" diff --git a/ods_ci/run_robot_test.sh b/ods_ci/run_robot_test.sh index 12974e410..da7b7a219 100755 --- a/ods_ci/run_robot_test.sh +++ b/ods_ci/run_robot_test.sh @@ -4,10 +4,10 @@ SKIP_OC_LOGIN=false SERVICE_ACCOUNT="" SA_NAMESPACE="default" SET_RHODS_URLS=false -TEST_CASE_FILE=ods_ci/tests/Tests -TEST_VARIABLES_FILE=ods_ci/test-variables.yml +TEST_CASE_FILE=tests/Tests +TEST_VARIABLES_FILE=test-variables.yml TEST_VARIABLES="" -TEST_ARTIFACT_DIR="ods_ci/test-output" +TEST_ARTIFACT_DIR="test-output" EXTRA_ROBOT_ARGS="" SKIP_INSTALL=0 TEST_INCLUDE_TAG="" @@ -388,7 +388,7 @@ if ${EMAIL_REPORT} rm rf_results.tar.gz tar cvzf rf_results.tar.gz $(find "${TEST_ARTIFACT_DIR}" -regex '.*\(xml\|html\)$') &> /dev/null fi - python3 ods_ci/utils/scripts/Sender/send_report.py send_email_report -s "${EMAIL_FROM}" -r "${EMAIL_TO}" -b "ODS-CI: Run Results" \ + python3 utils/scripts/Sender/send_report.py send_email_report -s "${EMAIL_FROM}" -r "${EMAIL_TO}" -b "ODS-CI: Run Results" \ -v "${EMAIL_SERVER}" -a "rf_results.tar.gz" -u "${EMAIL_SERVER_USER}" -p "${EMAIL_SERVER_PW}" \ -l "${EMAIL_SERVER_SSL}" -d "${EMAIL_SERVER_UNSECURE}" fi diff --git a/ods_ci/tests/Resources/CLI/AcceleratorProfiles/AcceleratorProfiles.resource b/ods_ci/tests/Resources/CLI/AcceleratorProfiles/AcceleratorProfiles.resource index 939142a2c..c017f9d2a 100644 --- a/ods_ci/tests/Resources/CLI/AcceleratorProfiles/AcceleratorProfiles.resource +++ b/ods_ci/tests/Resources/CLI/AcceleratorProfiles/AcceleratorProfiles.resource @@ -3,7 +3,7 @@ Documentation Collection of keywords to interact with the administration of A *** Variables *** -${ACCELERATOR_RESOURCES_DIRPATH}= ods_ci/tests/Resources/Files/accelerator +${ACCELERATOR_RESOURCES_DIRPATH}= tests/Resources/Files/accelerator *** Keywords *** diff --git a/ods_ci/tests/Resources/CLI/Minio.resource b/ods_ci/tests/Resources/CLI/Minio.resource index 1d1937f2d..bcc5cd1aa 100644 --- a/ods_ci/tests/Resources/CLI/Minio.resource +++ b/ods_ci/tests/Resources/CLI/Minio.resource @@ -5,7 +5,7 @@ Resource ../Common.robot *** Variables *** -${MINIO_RESOURCES_DIRPATH}= ods_ci/tests/Resources/Files/minio +${MINIO_RESOURCES_DIRPATH}= tests/Resources/Files/minio ${MINIO_POD_FILEPATH}= ${MINIO_RESOURCES_DIRPATH}/minio.yaml ${MINIO_SECRET_FILEPATH}= ${MINIO_RESOURCES_DIRPATH}/minio_secret.yaml ${MINIO_SA_FILEPATH}= ${MINIO_RESOURCES_DIRPATH}/minio_serviceaccount.yaml @@ -71,4 +71,4 @@ Clean Up Minio Namespace ${rc} ${out}= Run And Return Rc And Output oc delete project ${namespace} Should Be Equal As Integers ${rc} ${0} ${rc} ${out}= Run And Return Rc And Output oc wait --for=delete namespace ${namespace} --timeout=20s - Should Be Equal As Integers ${rc} ${0} \ No newline at end of file + Should Be Equal As Integers ${rc} ${0} diff --git a/ods_ci/tests/Resources/CLI/ModelServing/llm.resource b/ods_ci/tests/Resources/CLI/ModelServing/llm.resource index 73d7c334f..c919d2ff3 100644 --- a/ods_ci/tests/Resources/CLI/ModelServing/llm.resource +++ b/ods_ci/tests/Resources/CLI/ModelServing/llm.resource @@ -6,7 +6,7 @@ Resource ../../../Resources/Page/ODH/ODHDashboard/ODHDashboardAPI.resou *** Variables *** -${LLM_RESOURCES_DIRPATH}= ods_ci/tests/Resources/Files/llm +${LLM_RESOURCES_DIRPATH}= tests/Resources/Files/llm ${EXP_RESPONSES_FILEPATH}= ${LLM_RESOURCES_DIRPATH}/model_expected_responses.json ${RUNTIME_FORMATS_FILEPATH}= ${LLM_RESOURCES_DIRPATH}/runtime_query_formats.json ${INFERENCESERVICE_FILEPATH}= ${LLM_RESOURCES_DIRPATH}/serving_runtimes/base/isvc.yaml diff --git a/ods_ci/tests/Resources/Common.robot b/ods_ci/tests/Resources/Common.robot index 230f3c028..5284e4fc6 100644 --- a/ods_ci/tests/Resources/Common.robot +++ b/ods_ci/tests/Resources/Common.robot @@ -14,8 +14,8 @@ Resource RHOSi.resource *** Variables *** @{DEFAULT_CHARS_TO_ESCAPE}= : / . -${UWM_CONFIG_FILEPATH}= ods_ci/tests/Resources/Files/uwm_cm_conf.yaml -${UWM_ENABLE_FILEPATH}= ods_ci/tests/Resources/Files/uwm_cm_enable.yaml +${UWM_CONFIG_FILEPATH}= tests/Resources/Files/uwm_cm_conf.yaml +${UWM_ENABLE_FILEPATH}= tests/Resources/Files/uwm_cm_enable.yaml *** Keywords *** diff --git a/ods_ci/tests/Resources/Page/ODH/JupyterHub/LaunchJupyterHub.robot b/ods_ci/tests/Resources/Page/ODH/JupyterHub/LaunchJupyterHub.robot index bd28b96bc..16b9cb75b 100644 --- a/ods_ci/tests/Resources/Page/ODH/JupyterHub/LaunchJupyterHub.robot +++ b/ods_ci/tests/Resources/Page/ODH/JupyterHub/LaunchJupyterHub.robot @@ -3,7 +3,7 @@ Library JupyterLibrary *** Variables *** -# This variable is overriden for ODH runs via 'ods_ci/test-variables-odh-overwrite.yml' +# This variable is overriden for ODH runs via 'test-variables-odh-overwrite.yml' ${ODH_DASHBOARD_PROJECT_NAME}= Red Hat OpenShift AI diff --git a/ods_ci/tests/Resources/Page/ODH/ODHDashboard/ODHDashboard.robot b/ods_ci/tests/Resources/Page/ODH/ODHDashboard/ODHDashboard.robot index 931e1849f..80d89bec0 100644 --- a/ods_ci/tests/Resources/Page/ODH/ODHDashboard/ODHDashboard.robot +++ b/ods_ci/tests/Resources/Page/ODH/ODHDashboard/ODHDashboard.robot @@ -30,7 +30,7 @@ ${OFFICIAL_BADGE_XP_OLD}= div[@class='pf-v5-c-card__title']//img[contains(@clas ${FALLBK_IMAGE_XP}= ${HEADER_XP}/svg[contains(@class, 'odh-card__header-fallback-img')] ${IMAGE_XP}= ${HEADER_XP}//picture[contains(@class,'pf-m-picture')]/source ${IMAGE_XP_OLD}= ${HEADER_XP}/img[contains(@class, 'odh-card__header-brand')] -${APPS_DICT_PATH_LATEST}= ods_ci/tests/Resources/Files/AppsInfoDictionary_latest.json +${APPS_DICT_PATH_LATEST}= tests/Resources/Files/AppsInfoDictionary_latest.json ${SIDEBAR_TEXT_CONTAINER_XP}= //div[contains(@class,'odh-markdown-view')] ${SUCCESS_MSG_XP}= //div[@class='pf-v5-c-alert pf-m-success'] ${PAGE_TITLE_XP}= //*[@data-testid="app-page-title"] diff --git a/ods_ci/tests/Resources/Page/ODH/ODHDashboard/ODHDataSciencePipelines.resource b/ods_ci/tests/Resources/Page/ODH/ODHDashboard/ODHDataSciencePipelines.resource index 308b670a3..c733c799e 100644 --- a/ods_ci/tests/Resources/Page/ODH/ODHDashboard/ODHDataSciencePipelines.resource +++ b/ods_ci/tests/Resources/Page/ODH/ODHDashboard/ODHDataSciencePipelines.resource @@ -10,7 +10,7 @@ Resource ODHDataScienceProject/Pipelines.resource *** Variables *** -${DATA_SCIENCE_PIPELINES_APPLICATION_PATH}= ods_ci/tests/Resources/Files +${DATA_SCIENCE_PIPELINES_APPLICATION_PATH}= tests/Resources/Files ${PIPELINES_IMPORT_BTN_FORM_XP}= xpath://*[@data-testid="import-button"] ${PIPELINE_NAME_INPUT_XP}= xpath://*[@data-testid="pipeline-name"] ${PIPELINE_DESC_INPUT_XP}= xpath://*[@data-testid="pipeline-description"] diff --git a/ods_ci/tests/Resources/Page/ODH/ODHDashboard/ODHModelServing.resource b/ods_ci/tests/Resources/Page/ODH/ODHDashboard/ODHModelServing.resource index 807d912e8..4f07c31f3 100644 --- a/ods_ci/tests/Resources/Page/ODH/ODHDashboard/ODHModelServing.resource +++ b/ods_ci/tests/Resources/Page/ODH/ODHDashboard/ODHModelServing.resource @@ -25,7 +25,7 @@ ${MS_TABLE_STATUS_SUCCESS}= //span[contains(@class,"pf-v5-c-icon__content")] ${MS_TABLE_STATUS_FAILURE}= //span[contains(@class,"pf-v5-c-icon__content")][contains(@class,"pf-m-danger")] ${KSERVE_MODAL_HEADER}= //header[@class="pf-v5-c-modal-box__header"]/h1[.="Deploy model"] ${KSERVE_RUNTIME_DROPDOWN}= //button[@data-testid="serving-runtime-template-selection"] -${LLM_RESOURCES_DIRPATH}= ods_ci/tests/Resources/Files/llm +${LLM_RESOURCES_DIRPATH}= tests/Resources/Files/llm ${DEPLOY_MODEL_BTN}= //button[contains(@data-testid,"deploy")] diff --git a/ods_ci/tests/Tests/100__deploy/100__installation/102__post_install.robot b/ods_ci/tests/Tests/100__deploy/100__installation/102__post_install.robot index dce57bf32..f4ecb09f1 100644 --- a/ods_ci/tests/Tests/100__deploy/100__installation/102__post_install.robot +++ b/ods_ci/tests/Tests/100__deploy/100__installation/102__post_install.robot @@ -275,13 +275,13 @@ Verify RHODS Notebooks Network Policies ${CR_name} = Get User CR Notebook Name username=${TEST_USER.USERNAME} ${policy_ctrl} = Run ... oc get networkpolicy ${CR_name}-ctrl-np -n ${NOTEBOOKS_NAMESPACE} -o json | jq '.spec.ingress[0]' - ${expected_policy_ctrl} = Get File ods_ci/tests/Resources/Files/expected_ctrl_np.txt + ${expected_policy_ctrl} = Get File tests/Resources/Files/expected_ctrl_np.txt Should Be Equal As Strings ${policy_ctrl} ${expected_policy_ctrl} Log ${policy_ctrl} Log ${expected_policy_ctrl} ${policy_oauth} = Run ... oc get networkpolicy ${CR_name}-oauth-np -n ${NOTEBOOKS_NAMESPACE} -o json | jq '.spec.ingress[0]' - ${expected_policy_oauth} = Get File ods_ci/tests/Resources/Files/expected_oauth_np.txt + ${expected_policy_oauth} = Get File tests/Resources/Files/expected_oauth_np.txt Should Be Equal As Strings ${policy_oauth} ${expected_policy_oauth} Log ${policy_oauth} Log ${expected_policy_oauth} diff --git a/ods_ci/tests/Tests/100__deploy/120__upgrades/120__pre_upgrades.robot b/ods_ci/tests/Tests/100__deploy/120__upgrades/120__pre_upgrades.robot index 0db67eedd..cf969a400 100644 --- a/ods_ci/tests/Tests/100__deploy/120__upgrades/120__pre_upgrades.robot +++ b/ods_ci/tests/Tests/100__deploy/120__upgrades/120__pre_upgrades.robot @@ -25,8 +25,8 @@ Suite Teardown RHOSi Teardown *** Variables *** ${CUSTOM_CULLER_TIMEOUT} 60000 ${S_SIZE} 25 -${INFERENCE_INPUT}= @ods_ci/tests/Resources/Files/modelmesh-mnist-input.json -${INFERENCE_INPUT_OPENVINO}= @ods_ci/tests/Resources/Files/openvino-example-input.json +${INFERENCE_INPUT}= @tests/Resources/Files/modelmesh-mnist-input.json +${INFERENCE_INPUT_OPENVINO}= @tests/Resources/Files/openvino-example-input.json ${EXPECTED_INFERENCE_OUTPUT}= {"model_name":"test-model__isvc-83d6fab7bd","model_version":"1","outputs":[{"name":"Plus214_Output_0","datatype":"FP32","shape":[1,10],"data":[-8.233053,-7.7497034,-3.4236815,12.3630295,-12.079103,17.266596,-10.570976,0.7130762,3.321715,1.3621228]}]} ${EXPECTED_INFERENCE_OUTPUT_OPENVINO}= {"model_name":"test-model__isvc-8655dc7979","model_version":"1","outputs":[{"name":"Func/StatefulPartitionedCall/output/_13:0","datatype":"FP32","shape":[1,1],"data":[0.99999994]}]} ${PRJ_TITLE}= model-serving-upgrade @@ -75,7 +75,7 @@ Verify RHODS Accept Multiple Admin Groups And CRD Gets Updates Verify Custom Image Can Be Added [Documentation] Create Custome notebook using Cli [Tags] Upgrade - Oc Apply kind=ImageStream src=ods_ci/tests/Tests/100__deploy/120__upgrades/custome_image.yaml + Oc Apply kind=ImageStream src=tests/Tests/100__deploy/120__upgrades/custome_image.yaml Verify User Can Disable The Runtime [Documentation] Disable the Serving runtime using Cli @@ -112,7 +112,7 @@ Verify Model Can Be Deployed Via UI For Upgrade Verify User Can Deploy Custom Runtime For Upgrade [Tags] Upgrade - Create Custom Serving Runtime Using Template By CLI ods_ci/tests/Resources/Files/caikit_runtime_template.yaml + Create Custom Serving Runtime Using Template By CLI tests/Resources/Files/caikit_runtime_template.yaml Begin Web Test Menu.Navigate To Page Settings Serving runtimes Wait Until Page Contains Add serving runtime timeout=15s diff --git a/ods_ci/tests/Tests/100__deploy/120__upgrades/122__post_ugrade.robot b/ods_ci/tests/Tests/100__deploy/120__upgrades/122__post_ugrade.robot index 03ef6cfd3..12d036028 100644 --- a/ods_ci/tests/Tests/100__deploy/120__upgrades/122__post_ugrade.robot +++ b/ods_ci/tests/Tests/100__deploy/120__upgrades/122__post_ugrade.robot @@ -21,8 +21,8 @@ Resource ../../../Resources/Page/HybridCloudConsole/OCM.robot *** Variables *** ${S_SIZE} 25 -${INFERENCE_INPUT}= @ods_ci/tests/Resources/Files/modelmesh-mnist-input.json -${INFERENCE_INPUT_OPENVINO}= @ods_ci/tests/Resources/Files/openvino-example-input.json +${INFERENCE_INPUT}= @tests/Resources/Files/modelmesh-mnist-input.json +${INFERENCE_INPUT_OPENVINO}= @tests/Resources/Files/openvino-example-input.json ${EXPECTED_INFERENCE_OUTPUT}= {"model_name":"test-model__isvc-83d6fab7bd","model_version":"1","outputs":[{"name":"Plus214_Output_0","datatype":"FP32","shape":[1,10],"data":[-8.233053,-7.7497034,-3.4236815,12.3630295,-12.079103,17.266596,-10.570976,0.7130762,3.321715,1.3621228]}]} ${EXPECTED_INFERENCE_OUTPUT_OPENVINO}= {"model_name":"test-model__isvc-8655dc7979","model_version":"1","outputs":[{"name":"Func/StatefulPartitionedCall/output/_13:0","datatype":"FP32","shape":[1,1],"data":[0.99999994]}]} ${PRJ_TITLE}= model-serving-upgrade diff --git a/ods_ci/tests/Tests/100__deploy/130__operators/130__rhods_operator/131__rhods_operatorv2.robot b/ods_ci/tests/Tests/100__deploy/130__operators/130__rhods_operator/131__rhods_operatorv2.robot index 53b2df3fc..9a605e31b 100644 --- a/ods_ci/tests/Tests/100__deploy/130__operators/130__rhods_operator/131__rhods_operatorv2.robot +++ b/ods_ci/tests/Tests/100__deploy/130__operators/130__rhods_operator/131__rhods_operatorv2.robot @@ -76,7 +76,7 @@ Verify Component Resources [Documentation] Currently always fails, need a better way to check [Arguments] ${component} Enable Single Component ${component} - ${filepath} = Set Variable ods_ci/tests/Resources/Files/operatorV2/ + ${filepath} = Set Variable tests/Resources/Files/operatorV2/ ${expected} = Get File ${filepath}${component}.txt Run oc get $(oc api-resources --namespaced=true --verbs=list -o name | awk '{printf "%s%s",sep,$0;sep=","}') --ignore-not-found -n ${APPLICATIONS_NAMESPACE} -o=custom-columns=KIND:.kind,NAME:.metadata.name | sort -k1,1 -k2,2 | grep -v "PackageManifest\\|Event\\|ClusterServiceVersion" > ${filepath}${component}_runtime.txt # robocop: disable Process Resource List filename_in=${filepath}${component}_runtime.txt diff --git a/ods_ci/tests/Tests/100__deploy/130__operators/130__rhods_operator/133__kservewaw_rhoai_installation.robot b/ods_ci/tests/Tests/100__deploy/130__operators/130__rhods_operator/133__kservewaw_rhoai_installation.robot index f891ab195..9a7ae8f3c 100644 --- a/ods_ci/tests/Tests/100__deploy/130__operators/130__rhods_operator/133__kservewaw_rhoai_installation.robot +++ b/ods_ci/tests/Tests/100__deploy/130__operators/130__rhods_operator/133__kservewaw_rhoai_installation.robot @@ -31,7 +31,7 @@ Install RHOAI For KserveRaw Fail Use a clean cluster to run this installation END IF "${cluster_type}" == "selfmanaged" - ${file_path} = Set Variable ods_ci/tests/Resources/Files/operatorV2/ + ${file_path} = Set Variable tests/Resources/Files/operatorV2/ ${rc} ${out} = Run And Return Rc And Output oc create ns ${OPERATOR_NAMESPACE} IF ${rc}!=0 Fail Log ${out} console=yes @@ -67,7 +67,7 @@ Install RHOAI For KserveRaw FAIL Vanilla KserveRaw can only be installed in self-managed clusters END Verify KserveRaw Installtion - ${filepath} = Set Variable ods_ci/tests/Resources/Files/operatorV2/ + ${filepath} = Set Variable tests/Resources/Files/operatorV2/ ${rc} ${out} = Run And Return Rc And Output oc apply -f ${file_path}kserve_raw_dsci.yaml IF ${rc}!=0 Fail ${rc} ${out} = Run And Return Rc And Output oc apply -f ${file_path}kserve_raw_dsc.yaml diff --git a/ods_ci/tests/Tests/400__ods_dashboard/400__ods_dashboard.robot b/ods_ci/tests/Tests/400__ods_dashboard/400__ods_dashboard.robot index f749a84ee..614b1907c 100644 --- a/ods_ci/tests/Tests/400__ods_dashboard/400__ods_dashboard.robot +++ b/ods_ci/tests/Tests/400__ods_dashboard/400__ods_dashboard.robot @@ -59,7 +59,7 @@ Verify Content In RHODS Explore Section ... ProductBug ... AutomationBugOnODH # TODO: In ODH there are only 2 Apps, we excpect 7 Apps according to: - # ods_ci/tests/Resources/Files/AppsInfoDictionary_latest.json + # tests/Resources/Files/AppsInfoDictionary_latest.json ${EXP_DATA_DICT}= Load Expected Data Of RHODS Explore Section Click Link Explore Wait For RHODS Dashboard To Load expected_page=Explore @@ -73,7 +73,7 @@ Verify RHODS Explore Section Contains Only Expected ISVs ... ODS-1890 ... AutomationBugOnODH # TODO: In ODH there are only 2 Apps, we excpect 7 Apps according to: - # ods_ci/tests/Resources/Files/AppsInfoDictionary_latest.json + # tests/Resources/Files/AppsInfoDictionary_latest.json ${EXP_DATA_DICT}= Load Expected Data Of RHODS Explore Section Click Link Explore Wait For RHODS Dashboard To Load expected_page=Explore diff --git a/ods_ci/tests/Tests/400__ods_dashboard/413__ods_dashboard_user_mgmt.robot b/ods_ci/tests/Tests/400__ods_dashboard/413__ods_dashboard_user_mgmt.robot index 7efd8eb0a..0ecf35fc7 100644 --- a/ods_ci/tests/Tests/400__ods_dashboard/413__ods_dashboard_user_mgmt.robot +++ b/ods_ci/tests/Tests/400__ods_dashboard/413__ods_dashboard_user_mgmt.robot @@ -52,7 +52,7 @@ Verify Unauthorized User Is Not Able To Spawn Jupyter Notebook ... Note: this test configures user access via ODH Dashboard UI in setting appropriate ... groups in `Settings -> User management` section. There is an another test that changes ... users/groups via `oc adm groups` command,see: `Verify User Can Set Custom RHODS Groups` - ... in ods_ci/tests/Tests/500__jupyterhub/jupyterhub-user-access.robot + ... in tests/Tests/500__jupyterhub/jupyterhub-user-access.robot [Tags] ODS-1680 ... Tier1 ... Sanity diff --git a/ods_ci/tests/Tests/400__ods_dashboard/415__ods_custom_docs.robot b/ods_ci/tests/Tests/400__ods_dashboard/415__ods_custom_docs.robot index 4db7977d6..303baaf91 100644 --- a/ods_ci/tests/Tests/400__ods_dashboard/415__ods_custom_docs.robot +++ b/ods_ci/tests/Tests/400__ods_dashboard/415__ods_custom_docs.robot @@ -11,16 +11,16 @@ Test Tags Dashboard *** Variables *** -${QS_YAML}= ods_ci/tests/Resources/Files/custom_quickstart.yaml -${APP_YAML}= ods_ci/tests/Resources/Files/custom_app.yaml -${HOWTO_YAML}= ods_ci/tests/Resources/Files/custom_doc_howto.yaml -${TUTORIAL_YAML}= ods_ci/tests/Resources/Files/custom_doc_tutorial.yaml +${QS_YAML}= tests/Resources/Files/custom_quickstart.yaml +${APP_YAML}= tests/Resources/Files/custom_app.yaml +${HOWTO_YAML}= tests/Resources/Files/custom_doc_howto.yaml +${TUTORIAL_YAML}= tests/Resources/Files/custom_doc_tutorial.yaml &{EXPECTED_ITEMS_TITLES}= quickstart=TEST - Custom Quick Start ... application=TEST - Custom ODS-CI Application ... howto=TEST - Custom How-To Documentation ... tutorial=TEST - Custom Tutorial Documentation @{EXPECTED_QUICKSTART_IDS}= custom-quick-start-test -${CUSTOM_APP_DICT_PATH}= ods_ci/tests/Resources/Files/CustomAppInfoDictionary.json +${CUSTOM_APP_DICT_PATH}= tests/Resources/Files/CustomAppInfoDictionary.json *** Test Cases *** diff --git a/ods_ci/tests/Tests/400__ods_dashboard/415__ods_dashboard_projects/415__ods_dashboard_projects.robot b/ods_ci/tests/Tests/400__ods_dashboard/415__ods_dashboard_projects/415__ods_dashboard_projects.robot index cca50ea99..675b72af8 100644 --- a/ods_ci/tests/Tests/400__ods_dashboard/415__ods_dashboard_projects/415__ods_dashboard_projects.robot +++ b/ods_ci/tests/Tests/400__ods_dashboard/415__ods_dashboard_projects/415__ods_dashboard_projects.robot @@ -46,8 +46,8 @@ ${DC_S3_ENDPOINT}= custom.endpoint.s3.com ${DC_S3_REGION}= ods-ci-region ${DC_S3_TYPE}= Object storage @{IMAGE_LIST} Minimal Python CUDA PyTorch Standard Data Science TensorFlow -${ENV_SECRET_FILEPATH}= ods_ci/tests/Resources/Files/env_vars_secret.yaml -${ENV_CM_FILEPATH}= ods_ci/tests/Resources/Files/env_vars_cm.yaml +${ENV_SECRET_FILEPATH}= tests/Resources/Files/env_vars_secret.yaml +${ENV_CM_FILEPATH}= tests/Resources/Files/env_vars_cm.yaml ${NEW_PRJ_DESCRIPTION}= ${PRJ_TITLE} is a New edited test project for validating DS Projects feature ${NEW_PRJ_TITLE}= ODS-CI DS Project Updated diff --git a/ods_ci/tests/Tests/400__ods_dashboard/420__model_serving/420__model_serving.robot b/ods_ci/tests/Tests/400__ods_dashboard/420__model_serving/420__model_serving.robot index d1d92cab7..0fe7990bf 100644 --- a/ods_ci/tests/Tests/400__ods_dashboard/420__model_serving/420__model_serving.robot +++ b/ods_ci/tests/Tests/400__ods_dashboard/420__model_serving/420__model_serving.robot @@ -14,8 +14,8 @@ Suite Teardown Model Serving Suite Teardown Test Tags ModelMesh *** Variables *** -${INFERENCE_INPUT}= @ods_ci/tests/Resources/Files/modelmesh-mnist-input.json -${INFERENCE_INPUT_OPENVINO}= @ods_ci/tests/Resources/Files/openvino-example-input.json +${INFERENCE_INPUT}= @tests/Resources/Files/modelmesh-mnist-input.json +${INFERENCE_INPUT_OPENVINO}= @tests/Resources/Files/openvino-example-input.json ${PRJ_TITLE}= model-serving-project-420 ${PRJ_DESCRIPTION}= project used for model serving tests ${MODEL_CREATED}= ${FALSE} diff --git a/ods_ci/tests/Tests/400__ods_dashboard/420__model_serving/423__model_serving_customruntimes.robot b/ods_ci/tests/Tests/400__ods_dashboard/420__model_serving/423__model_serving_customruntimes.robot index 684d14380..846608788 100644 --- a/ods_ci/tests/Tests/400__ods_dashboard/420__model_serving/423__model_serving_customruntimes.robot +++ b/ods_ci/tests/Tests/400__ods_dashboard/420__model_serving/423__model_serving_customruntimes.robot @@ -9,7 +9,7 @@ Suite Teardown Custom Serving Runtime Suite Teardown *** Variables *** -${RESOURCES_DIRPATH}= ods_ci/tests/Resources/Files +${RESOURCES_DIRPATH}= tests/Resources/Files ${OVMS_RUNTIME_FILEPATH}= ${RESOURCES_DIRPATH}/ovms_servingruntime.yaml ${UPLOADED_OVMS_DISPLAYED_NAME}= ODS-CI Custom OpenVINO Model Server ${PRJ_TITLE}= CustomServingRuntimesProject @@ -66,7 +66,7 @@ Verify RHODS Users Can Deploy A Model Using A Custom Serving Runtime ... Create Data Science Project If Not Exists project_title=${PRJ_TITLE} username=${TEST_USER_3.USERNAME} ... description=${PRJ_DESCRIPTION} ${model_name}= Set Variable test-model-csr - ${inference_input}= Set Variable @ods_ci/tests/Resources/Files/modelmesh-mnist-input.json + ${inference_input}= Set Variable @tests/Resources/Files/modelmesh-mnist-input.json ${exp_inference_output}= Set Variable {"model_name":"test-model-csr__isvc-85fe09502b","model_version":"1","outputs":[{"name":"Plus214_Output_0","datatype":"FP32","shape":[1,10],"data":[-8.233053,-7.7497034,-3.4236815,12.3630295,-12.079103,17.266596,-10.570976,0.7130762,3.321715,1.3621228]}]} Open Data Science Project Details Page project_title=${PRJ_TITLE} tab_id=data-connections Create S3 Data Connection project_title=${PRJ_TITLE} dc_name=model-serving-connection diff --git a/ods_ci/tests/Tests/400__ods_dashboard/420__model_serving/424__model_serving_bias_metrics.robot b/ods_ci/tests/Tests/400__ods_dashboard/420__model_serving/424__model_serving_bias_metrics.robot index a7b8d91b4..f4f177d32 100644 --- a/ods_ci/tests/Tests/400__ods_dashboard/420__model_serving/424__model_serving_bias_metrics.robot +++ b/ods_ci/tests/Tests/400__ods_dashboard/420__model_serving/424__model_serving_bias_metrics.robot @@ -21,7 +21,7 @@ ${MODEL_ALPHA}= demo-loan-nn-onnx-alpha ${MODEL_PATH_ALPHA}= trusty/loan_model_alpha.onnx ${MODEL_BETA}= demo-loan-nn-onnx-beta ${MODEL_PATH_BETA}= trusty/loan_model_beta.onnx -${TRUSTYAI_RESOURCEPATH}= ods_ci/tests/Resources/Files/TrustyAI +${TRUSTYAI_RESOURCEPATH}= tests/Resources/Files/TrustyAI ${TRUSTYAI_CR_FILEPATH}= ${TRUSTYAI_RESOURCEPATH}/trustyai_cr.yaml ${aws_bucket}= ${S3.BUCKET_1.NAME} ${RUNTIME_NAME}= Model Bias Serving Test @@ -146,7 +146,7 @@ Send Batch Inference Data to Model [Documentation] Send Batch Inference data to the already deployed model using Curl commands [Arguments] ${model_name} ${project_name} ${lower_range}=1 ${upper_range}=5 FOR ${counter} IN RANGE ${lower_range} ${upper_range} - ${inference_input}= Set Variable @ods_ci/tests/Resources/Files/TrustyAI/loan_default_batched/batch_${counter}.json + ${inference_input}= Set Variable @tests/Resources/Files/TrustyAI/loan_default_batched/batch_${counter}.json ${inference_output}= Get Model Inference ${model_name} ${inference_input} token_auth=${FALSE} ... project_title=${project_name} Should Contain ${inference_output} model_name diff --git a/ods_ci/tests/Tests/400__ods_dashboard/420__model_serving/425__model_serving_ovms_on_kserve.robot b/ods_ci/tests/Tests/400__ods_dashboard/420__model_serving/425__model_serving_ovms_on_kserve.robot index cfb2a6f24..197339caf 100644 --- a/ods_ci/tests/Tests/400__ods_dashboard/420__model_serving/425__model_serving_ovms_on_kserve.robot +++ b/ods_ci/tests/Tests/400__ods_dashboard/420__model_serving/425__model_serving_ovms_on_kserve.robot @@ -16,8 +16,8 @@ Test Tags Kserve *** Variables *** -${INFERENCE_INPUT}= @ods_ci/tests/Resources/Files/modelmesh-mnist-input.json -${INFERENCE_INPUT_OPENVINO}= @ods_ci/tests/Resources/Files/openvino-example-input.json +${INFERENCE_INPUT}= @tests/Resources/Files/modelmesh-mnist-input.json +${INFERENCE_INPUT_OPENVINO}= @tests/Resources/Files/openvino-example-input.json ${PRJ_TITLE}= model-serving-project ${PRJ_DESCRIPTION}= project used for model serving tests ${MODEL_CREATED}= ${FALSE} diff --git a/ods_ci/tests/Tests/400__ods_dashboard/420__model_serving/LLMs/422__model_serving_caikit_py_client.robot b/ods_ci/tests/Tests/400__ods_dashboard/420__model_serving/LLMs/422__model_serving_caikit_py_client.robot index fb8a7077a..337e06196 100644 --- a/ods_ci/tests/Tests/400__ods_dashboard/420__model_serving/LLMs/422__model_serving_caikit_py_client.robot +++ b/ods_ci/tests/Tests/400__ods_dashboard/420__model_serving/LLMs/422__model_serving_caikit_py_client.robot @@ -17,7 +17,7 @@ ${MODEL_S3_DIR}= bloom-560m/bloom-560m-caikit ${ISVC_NAME}= bloom-560m-caikit ${MODEL_ID}= ${ISVC_NAME} ${STORAGE_URI}= s3://${S3.BUCKET_3.NAME}/${MODEL_S3_DIR}/ -${CERTS_BASE_FOLDER}= ods_ci/tests/Resources/CLI/ModelServing +${CERTS_BASE_FOLDER}= tests/Resources/CLI/ModelServing ${NOTEBOOK_FILENAME}= caikit-py-query.ipynb ${CERTS_GENERATED}= ${FALSE} ${WORKBENCH_TITLE}= caikit-nlp-client-wrk diff --git a/ods_ci/tests/Tests/400__ods_dashboard/420__model_serving/LLMs/422__model_serving_llm.robot b/ods_ci/tests/Tests/400__ods_dashboard/420__model_serving/LLMs/422__model_serving_llm.robot index e76872568..27789555c 100644 --- a/ods_ci/tests/Tests/400__ods_dashboard/420__model_serving/LLMs/422__model_serving_llm.robot +++ b/ods_ci/tests/Tests/400__ods_dashboard/420__model_serving/LLMs/422__model_serving_llm.robot @@ -19,7 +19,7 @@ ${SERVERLESS_NS}= openshift-serverless ${SERVERLESS_CR_NS}= knative-serving ${SERVERLESS_KNATIVECR_FILEPATH}= ${LLM_RESOURCES_DIRPATH}/knativeserving_istio.yaml ${SERVERLESS_GATEWAYS_FILEPATH}= ${LLM_RESOURCES_DIRPATH}/gateways.yaml -${WILDCARD_GEN_SCRIPT_FILEPATH}= ods_ci/utils/scripts/generate-wildcard-certs.sh +${WILDCARD_GEN_SCRIPT_FILEPATH}= utils/scripts/generate-wildcard-certs.sh ${SERVICEMESH_OP_NAME}= servicemeshoperator ${SERVICEMESH_SUB_NAME}= servicemeshoperator ${SERVICEMESH_CONTROLPLANE_FILEPATH}= ${LLM_RESOURCES_DIRPATH}/smcp.yaml @@ -722,7 +722,7 @@ Deploy Serverless CRs Configure KNative Gateways [Documentation] Sets up the KNative (Serverless) Gateways - ${base_dir}= Set Variable ods_ci/tmp/certs + ${base_dir}= Set Variable tmp/certs ${exists}= Run Keyword And Return Status ... Directory Should Exist ${base_dir} IF ${exists} == ${FALSE} diff --git a/ods_ci/tests/Tests/400__ods_dashboard/420__model_serving/LLMs/422__model_serving_llm_UI.robot b/ods_ci/tests/Tests/400__ods_dashboard/420__model_serving/LLMs/422__model_serving_llm_UI.robot index 82bea149f..fcd320639 100644 --- a/ods_ci/tests/Tests/400__ods_dashboard/420__model_serving/LLMs/422__model_serving_llm_UI.robot +++ b/ods_ci/tests/Tests/400__ods_dashboard/420__model_serving/LLMs/422__model_serving_llm_UI.robot @@ -16,7 +16,7 @@ Test Tags KServe *** Variables *** -${LLM_RESOURCES_DIRPATH}= ods_ci/tests/Resources/Files/llm +${LLM_RESOURCES_DIRPATH}= tests/Resources/Files/llm ${TEST_NS}= singlemodel ${EXP_RESPONSES_FILEPATH}= ${LLM_RESOURCES_DIRPATH}/model_expected_responses.json ${FLAN_MODEL_S3_DIR}= flan-t5-small/flan-t5-small-caikit diff --git a/ods_ci/tests/Tests/400__ods_dashboard/420__model_serving/LLMs/422__model_serving_llm_other_runtimes_UI.robot b/ods_ci/tests/Tests/400__ods_dashboard/420__model_serving/LLMs/422__model_serving_llm_other_runtimes_UI.robot index f15f8676c..71b745467 100644 --- a/ods_ci/tests/Tests/400__ods_dashboard/420__model_serving/LLMs/422__model_serving_llm_other_runtimes_UI.robot +++ b/ods_ci/tests/Tests/400__ods_dashboard/420__model_serving/LLMs/422__model_serving_llm_other_runtimes_UI.robot @@ -9,7 +9,7 @@ Test Tags KServe *** Variables *** -${LLM_RESOURCES_DIRPATH}= ods_ci/tests/Resources/Files/llm +${LLM_RESOURCES_DIRPATH}= tests/Resources/Files/llm ${TEST_NS}= runtimes-ui ${EXP_RESPONSES_FILEPATH}= ${LLM_RESOURCES_DIRPATH}/model_expected_responses.json ${FLAN_MODEL_S3_DIR}= flan-t5-small/flan-t5-small-hf diff --git a/ods_ci/tests/Tests/400__ods_dashboard/430__data_science_pipelines/431__data-science-pipelines-api.robot b/ods_ci/tests/Tests/400__ods_dashboard/430__data_science_pipelines/431__data-science-pipelines-api.robot index b805b8e39..9812800e8 100644 --- a/ods_ci/tests/Tests/400__ods_dashboard/430__data_science_pipelines/431__data-science-pipelines-api.robot +++ b/ods_ci/tests/Tests/400__ods_dashboard/430__data_science_pipelines/431__data-science-pipelines-api.robot @@ -46,7 +46,7 @@ Verify DSPO Operator Reconciliation Retry Wait Until Keyword Succeeds 15 times 1s ... Double Check If DSPA Was Created ${local_project_name} DSPA Should Reconcile - ${rc} ${out} = Run And Return Rc And Output oc apply -f ods_ci/tests/Resources/Files/dummy-storage-creds.yaml -n ${local_project_name} + ${rc} ${out} = Run And Return Rc And Output oc apply -f tests/Resources/Files/dummy-storage-creds.yaml -n ${local_project_name} IF ${rc}!=0 Fail # one pod is good when reconciliation finished Wait For Pods Number 1 namespace=${local_project_name} timeout=60 diff --git a/ods_ci/tests/Tests/400__ods_dashboard/430__data_science_pipelines/434__data-science-pipelines-ui.robot b/ods_ci/tests/Tests/400__ods_dashboard/430__data_science_pipelines/434__data-science-pipelines-ui.robot index 069679e56..b06993c84 100644 --- a/ods_ci/tests/Tests/400__ods_dashboard/430__data_science_pipelines/434__data-science-pipelines-ui.robot +++ b/ods_ci/tests/Tests/400__ods_dashboard/430__data_science_pipelines/434__data-science-pipelines-ui.robot @@ -18,7 +18,7 @@ ${PIPELINE_TEST_NAME}= ${PIPELINE_TEST_BASENAME}-${TEST_USER_3.USERNAME} ${DC_NAME}= ds-pipeline-conn ${PIPELINE_TEST_BASENAME}= iris ${PIPELINE_TEST_DESC}= test pipeline definition -${PIPELINE_TEST_FILEPATH}= ods_ci/tests/Resources/Files/pipeline-samples/v2/iris_pipeline_compiled.yaml +${PIPELINE_TEST_FILEPATH}= tests/Resources/Files/pipeline-samples/iris_pipeline_compiled.yaml ${PIPELINE_TEST_RUN_BASENAME}= ${PIPELINE_TEST_BASENAME}-run diff --git a/ods_ci/tests/Tests/500__jupyterhub/jupyterhub-user-access.robot b/ods_ci/tests/Tests/500__jupyterhub/jupyterhub-user-access.robot index 1ffc472d5..6ac1f33b9 100644 --- a/ods_ci/tests/Tests/500__jupyterhub/jupyterhub-user-access.robot +++ b/ods_ci/tests/Tests/500__jupyterhub/jupyterhub-user-access.robot @@ -30,8 +30,8 @@ Verify User Can Set Custom RHODS Groups ... command. There is an another test that changes users/groups ... via ODH Dashboard UI in `Settings -> User management` section, see: ... `Verify Unauthorized User Is Not Able To Spawn Jupyter Notebook` in - ... ods_ci/tests/Tests/400__ods_dashboard/413__ods_dashboard_user_mgmt.robot - [Tags] Sanity Tier1 + ... tests/Tests/400__ods_dashboard/413__ods_dashboard_user_mgmt.robot + [Tags] Sanity Tier1 ... ODS-293 ODS-503 [Setup] Set Standard RHODS Groups Variables Create Custom Groups diff --git a/ods_ci/tests/Tests/505__must_gather/test-must-gather-logs.robot b/ods_ci/tests/Tests/505__must_gather/test-must-gather-logs.robot index 5df281e5a..151480a46 100644 --- a/ods_ci/tests/Tests/505__must_gather/test-must-gather-logs.robot +++ b/ods_ci/tests/Tests/505__must_gather/test-must-gather-logs.robot @@ -25,7 +25,7 @@ Verify that the must-gather image provides RHODS logs and info *** Keywords *** Get must-gather Logs [Documentation] Runs the must-gather image and obtains the ODH/RHOAI logs - ${output}= Run process ods_ci/tests/Tests/505__must_gather/get-must-gather-logs.sh shell=yes + ${output}= Run process tests/Tests/505__must_gather/get-must-gather-logs.sh shell=yes Should Not Contain ${output.stdout} FAIL ${must-gather-dir}= Run ls -d must-gather.local.* ${namespaces-log-dir}= Run ls -d ${must-gather-dir}/quay-io-modh-must-gather-sha256-*/namespaces