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