From 0c806ad2899b734c0bd9f74a4bc715e2169dd0d4 Mon Sep 17 00:00:00 2001 From: Manda-supraja26 Date: Mon, 29 Jul 2024 18:26:39 +0530 Subject: [PATCH 01/28] rhoai dashboard ui scale test --- .../files/ods-ci/dashboard_elyra_scale_test.robot | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/dashboard_elyra_scale_test.robot b/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/dashboard_elyra_scale_test.robot index 555cd05a41..819dc436b7 100644 --- a/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/dashboard_elyra_scale_test.robot +++ b/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/dashboard_elyra_scale_test.robot @@ -95,10 +95,11 @@ Create S3 Data Connection Creation Create Pipeline Server To s3 [Tags] Dashboard - Create Pipeline Server dc_name=${DC_NAME} project_title=${PROJECT_NAME} - Wait Until Page Contains No Spinner - Element Should Be Enabled ${PIPELINE_IMPORT_BUTTON} - Sleep 1 minutes + oc_login ${OCP_API_URL} ${TEST_USER.USERNAME} ${TEST_USER.PASSWORD} + Create Pipeline Server dc_name=${DC_NAME} project_title=${PRJ_TITLE} + Verify There Is No "Error Displaying Pipelines" After Creating Pipeline Server + Verify That There Are No Sample Pipelines After Creating Pipeline Server + Wait Until Pipeline Server Is Deployed project_title=${PRJ_TITLE} Capture Page Screenshot From 842f070688ff2c221c16b4775e2e89a845d65d9f Mon Sep 17 00:00:00 2001 From: Manda-supraja26 Date: Mon, 29 Jul 2024 19:21:59 +0530 Subject: [PATCH 02/28] fix in create pipeline server --- .../files/ods-ci/dashboard_elyra_scale_test.robot | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/dashboard_elyra_scale_test.robot b/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/dashboard_elyra_scale_test.robot index 819dc436b7..429f04af10 100644 --- a/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/dashboard_elyra_scale_test.robot +++ b/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/dashboard_elyra_scale_test.robot @@ -96,10 +96,10 @@ Create S3 Data Connection Creation Create Pipeline Server To s3 [Tags] Dashboard oc_login ${OCP_API_URL} ${TEST_USER.USERNAME} ${TEST_USER.PASSWORD} - Create Pipeline Server dc_name=${DC_NAME} project_title=${PRJ_TITLE} + Create Pipeline Server dc_name=${DC_NAME} project_title=${PROJECT_NAME} Verify There Is No "Error Displaying Pipelines" After Creating Pipeline Server Verify That There Are No Sample Pipelines After Creating Pipeline Server - Wait Until Pipeline Server Is Deployed project_title=${PRJ_TITLE} + Wait Until Pipeline Server Is Deployed project_title=${PROJECT_NAME} Capture Page Screenshot From 319a4c5aae0437d788308d577df8f6b406f69330 Mon Sep 17 00:00:00 2001 From: Manda-supraja26 Date: Mon, 29 Jul 2024 20:49:07 +0530 Subject: [PATCH 03/28] fix in pipeline server creation test --- .../ods-ci/dashboard_elyra_scale_test.robot | 34 +++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/dashboard_elyra_scale_test.robot b/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/dashboard_elyra_scale_test.robot index 429f04af10..266dd0b73e 100644 --- a/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/dashboard_elyra_scale_test.robot +++ b/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/dashboard_elyra_scale_test.robot @@ -96,7 +96,7 @@ Create S3 Data Connection Creation Create Pipeline Server To s3 [Tags] Dashboard oc_login ${OCP_API_URL} ${TEST_USER.USERNAME} ${TEST_USER.PASSWORD} - Create Pipeline Server dc_name=${DC_NAME} project_title=${PROJECT_NAME} + Create Pipeline Server Elyra dc_name=${DC_NAME} project_title=${PROJECT_NAME} Verify There Is No "Error Displaying Pipelines" After Creating Pipeline Server Verify That There Are No Sample Pipelines After Creating Pipeline Server Wait Until Pipeline Server Is Deployed project_title=${PROJECT_NAME} @@ -255,4 +255,34 @@ Open Pipeline Elyra Pipeline Run Click Element xpath=//*[@data-testid="active-runs-tab"] Wait Until Page Contains Element xpath=//span[text()='${pipeline_run_name}'] Click Element xpath=//span[text()='${pipeline_run_name}'] - Wait Until Page Contains Element xpath=//div[@data-test-id='topology'] \ No newline at end of file + Wait Until Page Contains Element xpath=//div[@data-test-id='topology'] + +Create Pipeline Server Elyra # robocop: off=too-many-calls-in-keyword + [Documentation] Creates the DS Pipeline server from DS Project details page + ... It assumes the Data Connection is aleady created + ... and you wants to use defaul DB configurations [TEMPORARY] + [Arguments] ${dc_name} ${project_title} + # Every 2 mins the frontend updates its cache and the client polls every 30seconds. + # So the longest you’d have to wait is 2.5 mins. Set 3 min just to make sure + Projects.Move To Tab Pipelines + Wait Until Page Contains Element ${PIPELINES_SERVER_BTN_XP} timeout=180s + Element Should Be Enabled ${PIPELINES_SERVER_BTN_XP} + Click Button ${PIPELINES_SERVER_BTN_XP} + Wait Until Generic Modal Appears + Run Keyword And Continue On Failure Element Should Be Disabled ${PIPELINES_SERVER_CONFIG_BTN_XP} + Select Data Connection Elyra dc_name=${dc_name} + Element Should Be Enabled ${PIPELINES_SERVER_CONFIG_BTN_XP} + Click Element ${PIPELINES_SERVER_CONFIG_BTN_XP} + Wait Until Generic Modal Disappears + Wait Until Project Is Open project_title=${project_title} + ... timeout-pre-spinner=5s timeout-spinner=60s + +Select Data Connection Elyra + [Documentation] Selects an existing data connection from the dropdown + ... in the modal for Pipeline Server creation + [Arguments] ${dc_name} + # robocop: off=line-too-long + Wait Until Page Contains Element xpath://div[@class="pf-v5-c-form__group"][.//label//*[text()="Access key"]]//div[@data-ouia-component-type="PF5/Dropdown"] + Click Element xpath://div[@class="pf-v5-c-form__group"][.//label//*[text()="Access key"]]//div[@data-ouia-component-type="PF5/Dropdown"] + Wait Until Page Contains Element xpath://button//*[text()="${dc_name}"] + Click Element xpath://button//*[text()="${dc_name}"] \ No newline at end of file From dd9cc8459c5116ce6efe354d1f18be0d57e957c2 Mon Sep 17 00:00:00 2001 From: Manda-supraja26 Date: Tue, 30 Jul 2024 15:25:36 +0530 Subject: [PATCH 04/28] pipeline server testcase fix --- .../ods-ci/dashboard_elyra_scale_test.robot | 49 ++++++++++++++++++- 1 file changed, 47 insertions(+), 2 deletions(-) diff --git a/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/dashboard_elyra_scale_test.robot b/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/dashboard_elyra_scale_test.robot index 266dd0b73e..fe4873311b 100644 --- a/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/dashboard_elyra_scale_test.robot +++ b/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/dashboard_elyra_scale_test.robot @@ -99,7 +99,7 @@ Create Pipeline Server To s3 Create Pipeline Server Elyra dc_name=${DC_NAME} project_title=${PROJECT_NAME} Verify There Is No "Error Displaying Pipelines" After Creating Pipeline Server Verify That There Are No Sample Pipelines After Creating Pipeline Server - Wait Until Pipeline Server Is Deployed project_title=${PROJECT_NAME} + Wait Until Pipeline Server Is Deployed Elyra project_title=${PROJECT_NAME} Capture Page Screenshot @@ -285,4 +285,49 @@ Select Data Connection Elyra Wait Until Page Contains Element xpath://div[@class="pf-v5-c-form__group"][.//label//*[text()="Access key"]]//div[@data-ouia-component-type="PF5/Dropdown"] Click Element xpath://div[@class="pf-v5-c-form__group"][.//label//*[text()="Access key"]]//div[@data-ouia-component-type="PF5/Dropdown"] Wait Until Page Contains Element xpath://button//*[text()="${dc_name}"] - Click Element xpath://button//*[text()="${dc_name}"] \ No newline at end of file + Click Element xpath://button//*[text()="${dc_name}"] + +Wait Until Pipeline Server Is Deployed Elyra + [Documentation] Waits until all the expected pods of the pipeline server + ... are running + [Arguments] ${project_title} + Wait Until Keyword Succeeds 10 times 10s + ... Verify Pipeline Server Deployments Elyra project_title=${project_title} + +Verify Pipeline Server Deployments Elyra # robocop: disable + [Documentation] Verifies the correct deployment of DS Pipelines in the rhods namespace + [Arguments] ${project_title} + + ${namespace}= Get Openshift Namespace From Data Science Project + ... project_title=${project_title} + + @{all_pods}= Oc Get kind=Pod namespace=${project_title} label_selector=component=data-science-pipelines + Run Keyword And Continue On Failure Length Should Be ${all_pods} 7 + + @{pipeline_api_server}= Oc Get kind=Pod namespace=${project_title} label_selector=app=ds-pipeline-dspa + ${containerNames}= Create List oauth-proxy ds-pipeline-api-server + Verify Deployment ${pipeline_api_server} 1 2 ${containerNames} + + @{pipeline_metadata_envoy}= Oc Get kind=Pod namespace=${project_title} label_selector=app=ds-pipeline-metadata-envoy-dspa + ${containerNames}= Create List container oauth-proxy + Verify Deployment ${pipeline_metadata_envoy} 1 2 ${containerNames} + + @{pipeline_metadata_grpc}= Oc Get kind=Pod namespace=${project_title} label_selector=app=ds-pipeline-metadata-grpc-dspa + ${containerNames}= Create List container + Verify Deployment ${pipeline_metadata_grpc} 1 1 ${containerNames} + + @{pipeline_persistenceagent}= Oc Get kind=Pod namespace=${project_title} label_selector=app=ds-pipeline-persistenceagent-dspa + ${containerNames}= Create List ds-pipeline-persistenceagent + Verify Deployment ${pipeline_persistenceagent} 1 1 ${containerNames} + + @{pipeline_scheduledworkflow}= Oc Get kind=Pod namespace=${project_title} label_selector=app=ds-pipeline-scheduledworkflow-dspa + ${containerNames}= Create List ds-pipeline-scheduledworkflow + Verify Deployment ${pipeline_scheduledworkflow} 1 1 ${containerNames} + + @{pipeline_workflow_controller}= Oc Get kind=Pod namespace=${project_title} label_selector=app=ds-pipeline-workflow-controller-dspa + ${containerNames}= Create List ds-pipeline-workflow-controller + Verify Deployment ${pipeline_workflow_controller} 1 1 ${containerNames} + + @{mariadb}= Oc Get kind=Pod namespace=${project_title} label_selector=app=mariadb-dspa + ${containerNames}= Create List mariadb + Verify Deployment ${mariadb} 1 1 ${containerNames} \ No newline at end of file From 74da25ab3747a99ee311ce0de58b2d36ce636fa2 Mon Sep 17 00:00:00 2001 From: Manda-supraja26 Date: Tue, 30 Jul 2024 18:38:20 +0530 Subject: [PATCH 05/28] go to project page fix --- .../ods-ci/dashboard_elyra_scale_test.robot | 4 +- .../notebook_scale_test_common.resource | 45 +++++++++++++++++++ 2 files changed, 47 insertions(+), 2 deletions(-) diff --git a/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/dashboard_elyra_scale_test.robot b/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/dashboard_elyra_scale_test.robot index fe4873311b..3d0eca5adb 100644 --- a/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/dashboard_elyra_scale_test.robot +++ b/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/dashboard_elyra_scale_test.robot @@ -75,7 +75,7 @@ Go to the Project page ${has_errors} ${error}= Run Keyword And Ignore Error Project Should Be Listed ${PROJECT_NAME} IF '${has_errors}' != 'PASS' - Create Data Science Project ${PROJECT_NAME} ${TEST_USER.USERNAME}'s project + Create Data Science Project Elyra ${PROJECT_NAME} ${TEST_USER.USERNAME}'s project ELSE Open Data Science Project Details Page ${PROJECT_NAME} END @@ -176,7 +176,7 @@ Just Launch Workbench Switch Window NEW Wait Until Page Contains No Spinner - [Arguments] ${timeout}=30 seconds + [Arguments] ${timeout}=1m Wait Until Page Does Not Contain Element //*[contains(@class, 'pf-c-spinner')] timeout=${timeout} Wait Until Workbench Is Starting diff --git a/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/notebook_scale_test_common.resource b/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/notebook_scale_test_common.resource index c662b0ea04..fc5d4c5a88 100644 --- a/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/notebook_scale_test_common.resource +++ b/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/notebook_scale_test_common.resource @@ -1,6 +1,13 @@ *** Settings *** Resource tests/Resources/RHOSi.resource +*** Variables *** +${PROJECT_CREATE_BTN_XP}= xpath=//button[text()="Create data science project"] +${TITLE_INPUT_XP}= xpath=//input[@id="manage-project-modal-name"] +${GENERIC_CREATE_BTN_XP}= xpath=//button[text()="Create"] +${DESCR_INPUT_XP}= xpath=//textarea[@id="manage-project-modal-description"] +${RESOURCE_INPUT_XP}= xpath=//input[@id="resource-manage-project-modal-name"] + *** Keywords *** Setup @@ -97,3 +104,41 @@ My Run Cell And Check For Errors Wait Until JupyterLab Code Cell Is Not Active ${timeout} ${output} = Get Text (//div[contains(@class,"jp-OutputArea-output")])[last()] Should Not Match ${output} ERROR* + +Create Data Science Project Elyra + [Documentation] Creates a DS Project with the given ${title}, ${description} and ${resource_name}. + ... Reuse project if already exists: ${existing_project} + [Arguments] ${title} ${description} ${resource_name}=${NONE} ${existing_project}=${FALSE} + IF ${existing_project} + ${existing_project}= Run Keyword And Return Status + ... Wait Until Page Contains Element xpath://a[text()="${title}"] + END + IF ${existing_project} + Log DS Project '${title}' already exists, reusing project console=True + Click Link ${title} + ELSE + Wait Until Page Contains Element ${PROJECT_CREATE_BTN_XP} + Click Button ${PROJECT_CREATE_BTN_XP} + Wait Until Page Contains Element ${TITLE_INPUT_XP} + Run Keyword And Warn On Failure Element Should Be Disabled ${GENERIC_CREATE_BTN_XP} + Input Text ${TITLE_INPUT_XP} ${title} + Input Text ${DESCR_INPUT_XP} ${description} + Run Keyword And Continue On Failure Validate Generated Resource Name project_title=${title} + IF "${resource_name}" != "${NONE}" + Clear Element Text ${RESOURCE_INPUT_XP} + Input Text ${RESOURCE_INPUT_XP} ${resource_name} + END + Wait Until Element Is Not Visible xpath://button[@data-ouia-component-id='OUIA-Generated-Button-primary-5'][contains(@class, 'pf-m-disabled')] + Click Button ${GENERIC_CREATE_BTN_XP} + Wait Until Generic Modal Disappears + END + Wait Until Project Is Open project_title=${title} + ${open}= Run Keyword And Return Status Wait Until Project Is Open project_title=${title} + IF ${open} == ${FALSE} + ${is_home_open}= Is Data Science Projects Page Open + IF ${is_home_open} == ${TRUE} + Log message=After DS Project ${title} creation, user did not get redirected to details page...(RHODS-8477) + ... level=WARN + Fail + END + END \ No newline at end of file From 42497f5c3690dc0dfac676167004000eed8924bf Mon Sep 17 00:00:00 2001 From: Manda-supraja26 Date: Mon, 5 Aug 2024 00:13:51 +0530 Subject: [PATCH 06/28] go to project test case --- .../files/ods-ci/notebook_scale_test_common.resource | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/notebook_scale_test_common.resource b/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/notebook_scale_test_common.resource index fc5d4c5a88..790173adac 100644 --- a/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/notebook_scale_test_common.resource +++ b/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/notebook_scale_test_common.resource @@ -130,7 +130,7 @@ Create Data Science Project Elyra END Wait Until Element Is Not Visible xpath://button[@data-ouia-component-id='OUIA-Generated-Button-primary-5'][contains(@class, 'pf-m-disabled')] Click Button ${GENERIC_CREATE_BTN_XP} - Wait Until Generic Modal Disappears + Wait Until Generic Modal Disappears timeout=2m END Wait Until Project Is Open project_title=${title} ${open}= Run Keyword And Return Status Wait Until Project Is Open project_title=${title} From 4ace434ece2037780530fd2f00e29a323af1624f Mon Sep 17 00:00:00 2001 From: Manda-supraja26 Date: Mon, 5 Aug 2024 02:21:30 +0530 Subject: [PATCH 07/28] FIX --- .../ods-ci/dashboard_elyra_scale_test.robot | 21 ++++++++----------- 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/dashboard_elyra_scale_test.robot b/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/dashboard_elyra_scale_test.robot index 3d0eca5adb..30712e0c46 100644 --- a/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/dashboard_elyra_scale_test.robot +++ b/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/dashboard_elyra_scale_test.robot @@ -28,8 +28,8 @@ ${HOST_BUCKET} %{S3_BUCKET_NAME} ${DC_NAME} elyra-s3 ${IMAGE} Standard Data Science -${PV_NAME} ods-ci-pv-elyra -${PV_DESCRIPTION} ods-ci-pv-elyra is a PV created to test Elyra in workbenches +${PV_NAME} ${TEST_USER.USERNAME}_pvc +${PV_DESCRIPTION} ${TEST_USER.USERNAME} is a PV created to test Elyra in workbenches ${PV_SIZE} 2 ${PIPELINE_IMPORT_BUTTON} xpath=//button[@id='import-pipeline-button'] @@ -108,7 +108,7 @@ Create and Start the Workbench ${workbench_exists} ${error}= Run Keyword And Ignore Error Workbench Is Listed ${WORKBENCH_NAME} IF '${workbench_exists}' == 'FAIL' - Create Workbench workbench_title=${WORKBENCH_NAME} workbench_description=Elyra test prj_title=${PROJECT_NAME} image_name=${IMAGE} deployment_size=Tiny storage=Persistent pv_existent=${FALSE} pv_name=${PV_NAME}_${IMAGE} pv_description=${PV_DESCRIPTION} pv_size=${PV_SIZE} + Create Workbench workbench_title=${WORKBENCH_NAME} workbench_description=Elyra test prj_title=${PROJECT_NAME} image_name=${IMAGE} deployment_size=Tiny storage=Persistent pv_existent=${FALSE} pv_name=${PV_NAME} pv_description=${PV_DESCRIPTION} pv_size=${PV_SIZE} END Start Workbench workbench_title=${WORKBENCH_NAME} timeout=300s Capture Page Screenshot @@ -144,9 +144,7 @@ Create and Start the Workbench Sleep 5s Reload Page Page Should Not Contain Application is not available - END - # Login To JupyterLab ${TEST_USER.USERNAME} ${TEST_USER.PASSWORD} ${TEST_USER.AUTH_TYPE} ${PROJECT_NAME} - # Wait Until JupyterLab Is Loaded timeout=60s + END Access To Workbench username=${TEST_USER.USERNAME} password=${TEST_USER.PASSWORD} ... auth_type=${TEST_USER.AUTH_TYPE} Capture Page Screenshot @@ -165,7 +163,7 @@ Check of Pipeline Runs ${pipeline_run_name} = Get Pipeline Run Name Switch To Pipeline Execution Page Is Data Science Project Details Page Open ${PROJECT_NAME} - Verify Elyra Pipeline Run pipeline_run_name=${pipeline_run_name} timeout=5m experiment_name=${EXPERIMENT_NAME} + Verify Elyra Pipeline Run pipeline_run_name=${pipeline_run_name} timeout=10m experiment_name=${EXPERIMENT_NAME} *** Keywords *** @@ -255,7 +253,7 @@ Open Pipeline Elyra Pipeline Run Click Element xpath=//*[@data-testid="active-runs-tab"] Wait Until Page Contains Element xpath=//span[text()='${pipeline_run_name}'] Click Element xpath=//span[text()='${pipeline_run_name}'] - Wait Until Page Contains Element xpath=//div[@data-test-id='topology'] + Wait Until Page Contains Element xpath=//div[@data-test-id='topology'] timeout=30s Create Pipeline Server Elyra # robocop: off=too-many-calls-in-keyword [Documentation] Creates the DS Pipeline server from DS Project details page @@ -268,14 +266,13 @@ Create Pipeline Server Elyra # robocop: off=too-many-calls-in-keyword Wait Until Page Contains Element ${PIPELINES_SERVER_BTN_XP} timeout=180s Element Should Be Enabled ${PIPELINES_SERVER_BTN_XP} Click Button ${PIPELINES_SERVER_BTN_XP} - Wait Until Generic Modal Appears + Wait Until Generic Modal Appears timeout=30S Run Keyword And Continue On Failure Element Should Be Disabled ${PIPELINES_SERVER_CONFIG_BTN_XP} Select Data Connection Elyra dc_name=${dc_name} Element Should Be Enabled ${PIPELINES_SERVER_CONFIG_BTN_XP} Click Element ${PIPELINES_SERVER_CONFIG_BTN_XP} - Wait Until Generic Modal Disappears - Wait Until Project Is Open project_title=${project_title} - ... timeout-pre-spinner=5s timeout-spinner=60s + Wait Until Generic Modal Disappears timeout=30S + Wait Until Project Is Open project_title=${project_title} timeout-pre-spinner=5s timeout-spinner=60s Select Data Connection Elyra [Documentation] Selects an existing data connection from the dropdown From ccd04dbf57da94e2f8a1edbfa62da68104f236d3 Mon Sep 17 00:00:00 2001 From: Manda-supraja26 Date: Mon, 5 Aug 2024 03:03:38 +0530 Subject: [PATCH 08/28] fix --- .../files/ods-ci/dashboard_elyra_scale_test.robot | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/dashboard_elyra_scale_test.robot b/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/dashboard_elyra_scale_test.robot index 30712e0c46..94345fc54a 100644 --- a/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/dashboard_elyra_scale_test.robot +++ b/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/dashboard_elyra_scale_test.robot @@ -246,7 +246,7 @@ Open Pipeline Elyra Pipeline Run [Arguments] ${pipeline_run_name} ${experiment_name}=Default Navigate To Page Experiments Experiments and runs ODHDashboard.Maybe Wait For Dashboard Loading Spinner Page timeout=30s - Wait Until Element Is Visible xpath=//td[@data-label="Experiment" and @class="pf-v5-c-table__td"]/a[text()="standard data science pipeline"] 10s + Wait Until Element Is Visible xpath=//td[@data-label="Experiment" and @class="pf-v5-c-table__td"]/a[text()="standard data science pipeline"] 30s Click Element xpath=//td[@data-label="Experiment" and @class="pf-v5-c-table__td"]/a[text()="standard data science pipeline"] ODHDashboard.Maybe Wait For Dashboard Loading Spinner Page timeout=30s Wait Until Page Contains Element xpath=//*[@data-testid="active-runs-tab"] timeout=30s From 5190630ad3d3205778e14c67adbccfb2feafa8ed Mon Sep 17 00:00:00 2001 From: Manda-supraja26 Date: Tue, 6 Aug 2024 09:10:18 +0530 Subject: [PATCH 09/28] fix --- projects/notebooks/testing/config.yaml | 2 +- .../files/ods-ci/dashboard_elyra_scale_test.robot | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/projects/notebooks/testing/config.yaml b/projects/notebooks/testing/config.yaml index 6cb10f0c52..b44d953f10 100644 --- a/projects/notebooks/testing/config.yaml +++ b/projects/notebooks/testing/config.yaml @@ -273,7 +273,7 @@ tests: # offset to add to the Pod user index when computing the user name start_offset: 0 # how long to wait between user starts, multiplied by the user index - sleep_factor: 5.0 + sleep_factor: 10.0 # number of users to launch at the same time batch_size: 1 diff --git a/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/dashboard_elyra_scale_test.robot b/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/dashboard_elyra_scale_test.robot index 94345fc54a..03a06c1c1d 100644 --- a/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/dashboard_elyra_scale_test.robot +++ b/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/dashboard_elyra_scale_test.robot @@ -251,7 +251,7 @@ Open Pipeline Elyra Pipeline Run ODHDashboard.Maybe Wait For Dashboard Loading Spinner Page timeout=30s Wait Until Page Contains Element xpath=//*[@data-testid="active-runs-tab"] timeout=30s Click Element xpath=//*[@data-testid="active-runs-tab"] - Wait Until Page Contains Element xpath=//span[text()='${pipeline_run_name}'] + Wait Until Page Contains Element xpath=//span[text()='${pipeline_run_name}'] timeout=30s Click Element xpath=//span[text()='${pipeline_run_name}'] Wait Until Page Contains Element xpath=//div[@data-test-id='topology'] timeout=30s From a411068e872162e9b21265ee5fd388b61e2bdf58 Mon Sep 17 00:00:00 2001 From: Manda-supraja26 Date: Tue, 6 Aug 2024 13:17:46 +0530 Subject: [PATCH 10/28] sleep_factor=15 --- projects/notebooks/testing/config.yaml | 2 +- .../files/ods-ci/dashboard_elyra_scale_test.robot | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/projects/notebooks/testing/config.yaml b/projects/notebooks/testing/config.yaml index b44d953f10..3188d11541 100644 --- a/projects/notebooks/testing/config.yaml +++ b/projects/notebooks/testing/config.yaml @@ -273,7 +273,7 @@ tests: # offset to add to the Pod user index when computing the user name start_offset: 0 # how long to wait between user starts, multiplied by the user index - sleep_factor: 10.0 + sleep_factor: 15.0 # number of users to launch at the same time batch_size: 1 diff --git a/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/dashboard_elyra_scale_test.robot b/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/dashboard_elyra_scale_test.robot index 03a06c1c1d..dc34c602bb 100644 --- a/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/dashboard_elyra_scale_test.robot +++ b/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/dashboard_elyra_scale_test.robot @@ -104,7 +104,7 @@ Create Pipeline Server To s3 Capture Page Screenshot Create and Start the Workbench - [Tags] Notebook Spawn + [Tags] Dashboard ${workbench_exists} ${error}= Run Keyword And Ignore Error Workbench Is Listed ${WORKBENCH_NAME} IF '${workbench_exists}' == 'FAIL' From f556afc7e50c5edf8cc3ec579ce01067292d612f Mon Sep 17 00:00:00 2001 From: Manda-supraja26 Date: Tue, 6 Aug 2024 14:11:03 +0530 Subject: [PATCH 11/28] sleep_factor=20 --- projects/notebooks/testing/config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/projects/notebooks/testing/config.yaml b/projects/notebooks/testing/config.yaml index 3188d11541..4863b28a5e 100644 --- a/projects/notebooks/testing/config.yaml +++ b/projects/notebooks/testing/config.yaml @@ -273,7 +273,7 @@ tests: # offset to add to the Pod user index when computing the user name start_offset: 0 # how long to wait between user starts, multiplied by the user index - sleep_factor: 15.0 + sleep_factor: 20.0 # number of users to launch at the same time batch_size: 1 From 759cdb67c3331ab9d827725e60ef6d0c7a949b61 Mon Sep 17 00:00:00 2001 From: Supraja Manda Date: Tue, 20 Aug 2024 06:30:07 +0530 Subject: [PATCH 12/28] tests case update --- projects/notebooks/testing/config.yaml | 2 +- .../files/ods-ci/dashboard_elyra_scale_test.robot | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/projects/notebooks/testing/config.yaml b/projects/notebooks/testing/config.yaml index 4863b28a5e..6cb10f0c52 100644 --- a/projects/notebooks/testing/config.yaml +++ b/projects/notebooks/testing/config.yaml @@ -273,7 +273,7 @@ tests: # offset to add to the Pod user index when computing the user name start_offset: 0 # how long to wait between user starts, multiplied by the user index - sleep_factor: 20.0 + sleep_factor: 5.0 # number of users to launch at the same time batch_size: 1 diff --git a/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/dashboard_elyra_scale_test.robot b/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/dashboard_elyra_scale_test.robot index dc34c602bb..f37dd1dea7 100644 --- a/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/dashboard_elyra_scale_test.robot +++ b/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/dashboard_elyra_scale_test.robot @@ -62,7 +62,7 @@ Go to RHODS Dashboard [Tags] Dashboard Wait For Condition return document.title == ${DASHBOARD_PRODUCT_NAME} timeout=3 minutes - Wait Until Page Contains Launch application timeout=3 minutes + Wait Until Page Contains Data Science Projects timeout=3 minutes Capture Page Screenshot Go to the Project page From cac5adc0d0b0a03e99bf10451a67dd36bb452b32 Mon Sep 17 00:00:00 2001 From: Supraja Manda Date: Tue, 27 Aug 2024 17:02:04 +0530 Subject: [PATCH 13/28] robot framework code --- .../ods-ci/dashboard_elyra_scale_test.robot | 51 ++----------------- 1 file changed, 3 insertions(+), 48 deletions(-) diff --git a/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/dashboard_elyra_scale_test.robot b/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/dashboard_elyra_scale_test.robot index f37dd1dea7..70c473905a 100644 --- a/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/dashboard_elyra_scale_test.robot +++ b/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/dashboard_elyra_scale_test.robot @@ -75,7 +75,7 @@ Go to the Project page ${has_errors} ${error}= Run Keyword And Ignore Error Project Should Be Listed ${PROJECT_NAME} IF '${has_errors}' != 'PASS' - Create Data Science Project Elyra ${PROJECT_NAME} ${TEST_USER.USERNAME}'s project + Create Data Science Project ${PROJECT_NAME} ${TEST_USER.USERNAME}'s project ELSE Open Data Science Project Details Page ${PROJECT_NAME} END @@ -96,11 +96,10 @@ Create S3 Data Connection Creation Create Pipeline Server To s3 [Tags] Dashboard oc_login ${OCP_API_URL} ${TEST_USER.USERNAME} ${TEST_USER.PASSWORD} - Create Pipeline Server Elyra dc_name=${DC_NAME} project_title=${PROJECT_NAME} + Create Pipeline Server dc_name=${DC_NAME} project_title=${PROJECT_NAME} Verify There Is No "Error Displaying Pipelines" After Creating Pipeline Server Verify That There Are No Sample Pipelines After Creating Pipeline Server Wait Until Pipeline Server Is Deployed Elyra project_title=${PROJECT_NAME} - Capture Page Screenshot Create and Start the Workbench @@ -236,54 +235,10 @@ Launch And Access Workbench Elyra Pipelines Verify Elyra Pipeline Run [Documentation] Verifys Elyra Pipeline runs are sucessfull [Arguments] ${pipeline_run_name} ${timeout}=10m ${experiment_name}=Default - Open Pipeline Elyra Pipeline Run ${pipeline_run_name} ${experiment_name} + # Open Pipeline Elyra Pipeline Run ${pipeline_run_name} ${experiment_name} Wait Until Page Contains Element //span[@class='pf-v5-c-label__text' and text()='Succeeded'] timeout=${timeout} Capture Page Screenshot - -Open Pipeline Elyra Pipeline Run - [Documentation] Open the Pipeline Run detail. - [Arguments] ${pipeline_run_name} ${experiment_name}=Default - Navigate To Page Experiments Experiments and runs - ODHDashboard.Maybe Wait For Dashboard Loading Spinner Page timeout=30s - Wait Until Element Is Visible xpath=//td[@data-label="Experiment" and @class="pf-v5-c-table__td"]/a[text()="standard data science pipeline"] 30s - Click Element xpath=//td[@data-label="Experiment" and @class="pf-v5-c-table__td"]/a[text()="standard data science pipeline"] - ODHDashboard.Maybe Wait For Dashboard Loading Spinner Page timeout=30s - Wait Until Page Contains Element xpath=//*[@data-testid="active-runs-tab"] timeout=30s - Click Element xpath=//*[@data-testid="active-runs-tab"] - Wait Until Page Contains Element xpath=//span[text()='${pipeline_run_name}'] timeout=30s - Click Element xpath=//span[text()='${pipeline_run_name}'] - Wait Until Page Contains Element xpath=//div[@data-test-id='topology'] timeout=30s - -Create Pipeline Server Elyra # robocop: off=too-many-calls-in-keyword - [Documentation] Creates the DS Pipeline server from DS Project details page - ... It assumes the Data Connection is aleady created - ... and you wants to use defaul DB configurations [TEMPORARY] - [Arguments] ${dc_name} ${project_title} - # Every 2 mins the frontend updates its cache and the client polls every 30seconds. - # So the longest you’d have to wait is 2.5 mins. Set 3 min just to make sure - Projects.Move To Tab Pipelines - Wait Until Page Contains Element ${PIPELINES_SERVER_BTN_XP} timeout=180s - Element Should Be Enabled ${PIPELINES_SERVER_BTN_XP} - Click Button ${PIPELINES_SERVER_BTN_XP} - Wait Until Generic Modal Appears timeout=30S - Run Keyword And Continue On Failure Element Should Be Disabled ${PIPELINES_SERVER_CONFIG_BTN_XP} - Select Data Connection Elyra dc_name=${dc_name} - Element Should Be Enabled ${PIPELINES_SERVER_CONFIG_BTN_XP} - Click Element ${PIPELINES_SERVER_CONFIG_BTN_XP} - Wait Until Generic Modal Disappears timeout=30S - Wait Until Project Is Open project_title=${project_title} timeout-pre-spinner=5s timeout-spinner=60s - -Select Data Connection Elyra - [Documentation] Selects an existing data connection from the dropdown - ... in the modal for Pipeline Server creation - [Arguments] ${dc_name} - # robocop: off=line-too-long - Wait Until Page Contains Element xpath://div[@class="pf-v5-c-form__group"][.//label//*[text()="Access key"]]//div[@data-ouia-component-type="PF5/Dropdown"] - Click Element xpath://div[@class="pf-v5-c-form__group"][.//label//*[text()="Access key"]]//div[@data-ouia-component-type="PF5/Dropdown"] - Wait Until Page Contains Element xpath://button//*[text()="${dc_name}"] - Click Element xpath://button//*[text()="${dc_name}"] - Wait Until Pipeline Server Is Deployed Elyra [Documentation] Waits until all the expected pods of the pipeline server ... are running From a596b28245ff454e5211a6bf83ee9c5a1375e429 Mon Sep 17 00:00:00 2001 From: Supraja Manda Date: Wed, 28 Aug 2024 17:37:13 +0530 Subject: [PATCH 14/28] Go to project test case delay check --- .../ods-ci/notebook_scale_test_common.resource | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/notebook_scale_test_common.resource b/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/notebook_scale_test_common.resource index 790173adac..47ac2c3103 100644 --- a/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/notebook_scale_test_common.resource +++ b/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/notebook_scale_test_common.resource @@ -111,15 +111,15 @@ Create Data Science Project Elyra [Arguments] ${title} ${description} ${resource_name}=${NONE} ${existing_project}=${FALSE} IF ${existing_project} ${existing_project}= Run Keyword And Return Status - ... Wait Until Page Contains Element xpath://a[text()="${title}"] + ... Wait Until Page Contains Element xpath://a[text()="${title}"] timeout=2m END IF ${existing_project} Log DS Project '${title}' already exists, reusing project console=True Click Link ${title} ELSE - Wait Until Page Contains Element ${PROJECT_CREATE_BTN_XP} + Wait Until Page Contains Element ${PROJECT_CREATE_BTN_XP} timeout=5m Click Button ${PROJECT_CREATE_BTN_XP} - Wait Until Page Contains Element ${TITLE_INPUT_XP} + Wait Until Page Contains Element ${TITLE_INPUT_XP} timeout=5m Run Keyword And Warn On Failure Element Should Be Disabled ${GENERIC_CREATE_BTN_XP} Input Text ${TITLE_INPUT_XP} ${title} Input Text ${DESCR_INPUT_XP} ${description} @@ -128,12 +128,12 @@ Create Data Science Project Elyra Clear Element Text ${RESOURCE_INPUT_XP} Input Text ${RESOURCE_INPUT_XP} ${resource_name} END - Wait Until Element Is Not Visible xpath://button[@data-ouia-component-id='OUIA-Generated-Button-primary-5'][contains(@class, 'pf-m-disabled')] + Wait Until Element Is Not Visible xpath://button[@data-ouia-component-id='OUIA-Generated-Button-primary-5'][contains(@class, 'pf-m-disabled')] timeout=5m Click Button ${GENERIC_CREATE_BTN_XP} - Wait Until Generic Modal Disappears timeout=2m + Wait Until Generic Modal Disappears timeout=5m END - Wait Until Project Is Open project_title=${title} - ${open}= Run Keyword And Return Status Wait Until Project Is Open project_title=${title} + Wait Until Project Is Open project_title=${title} timeout=5m + ${open}= Run Keyword And Return Status Wait Until Project Is Open project_title=${title} timeout=5m IF ${open} == ${FALSE} ${is_home_open}= Is Data Science Projects Page Open IF ${is_home_open} == ${TRUE} From 15e52263206f581512f97a1366a92040a1168178 Mon Sep 17 00:00:00 2001 From: Supraja Manda Date: Wed, 28 Aug 2024 18:34:55 +0530 Subject: [PATCH 15/28] fix --- .../files/ods-ci/dashboard_elyra_scale_test.robot | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/dashboard_elyra_scale_test.robot b/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/dashboard_elyra_scale_test.robot index 70c473905a..9501a3e707 100644 --- a/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/dashboard_elyra_scale_test.robot +++ b/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/dashboard_elyra_scale_test.robot @@ -75,7 +75,7 @@ Go to the Project page ${has_errors} ${error}= Run Keyword And Ignore Error Project Should Be Listed ${PROJECT_NAME} IF '${has_errors}' != 'PASS' - Create Data Science Project ${PROJECT_NAME} ${TEST_USER.USERNAME}'s project + Create Data Science Project Elyra ${PROJECT_NAME} ${TEST_USER.USERNAME}'s project ELSE Open Data Science Project Details Page ${PROJECT_NAME} END From 2c3e974bc1d56ee0a809e2fe1244107a8a25bf76 Mon Sep 17 00:00:00 2001 From: Supraja Manda Date: Wed, 28 Aug 2024 22:55:51 +0530 Subject: [PATCH 16/28] fix --- .../files/ods-ci/notebook_scale_test_common.resource | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/notebook_scale_test_common.resource b/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/notebook_scale_test_common.resource index 47ac2c3103..7fface7ead 100644 --- a/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/notebook_scale_test_common.resource +++ b/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/notebook_scale_test_common.resource @@ -132,8 +132,8 @@ Create Data Science Project Elyra Click Button ${GENERIC_CREATE_BTN_XP} Wait Until Generic Modal Disappears timeout=5m END - Wait Until Project Is Open project_title=${title} timeout=5m - ${open}= Run Keyword And Return Status Wait Until Project Is Open project_title=${title} timeout=5m + Wait Until Project Is Open project_title=${title} + ${open}= Run Keyword And Return Status Wait Until Project Is Open project_title=${title} IF ${open} == ${FALSE} ${is_home_open}= Is Data Science Projects Page Open IF ${is_home_open} == ${TRUE} From 5537549d42d12cee1d73d0930ba29777b26521c6 Mon Sep 17 00:00:00 2001 From: Supraja Manda Date: Thu, 29 Aug 2024 00:43:00 +0530 Subject: [PATCH 17/28] create workbench test case run --- .../files/ods-ci/dashboard_elyra_scale_test.robot | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/dashboard_elyra_scale_test.robot b/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/dashboard_elyra_scale_test.robot index 9501a3e707..b5b8ed9201 100644 --- a/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/dashboard_elyra_scale_test.robot +++ b/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/dashboard_elyra_scale_test.robot @@ -20,18 +20,15 @@ Suite Teardown Tear Down *** Variables *** ${DASHBOARD_PRODUCT_NAME} "%{DASHBOARD_PRODUCT_NAME}" - ${PROJECT_NAME} ${TEST_USER.USERNAME} ${ACCESS_KEY} %{S3_ACCESS_KEY} ${HOST_BASE} %{S3_HOSTNAME} ${HOST_BUCKET} %{S3_BUCKET_NAME} - ${DC_NAME} elyra-s3 ${IMAGE} Standard Data Science ${PV_NAME} ${TEST_USER.USERNAME}_pvc ${PV_DESCRIPTION} ${TEST_USER.USERNAME} is a PV created to test Elyra in workbenches ${PV_SIZE} 2 - ${PIPELINE_IMPORT_BUTTON} xpath=//button[@id='import-pipeline-button'] ${PIPELINES_SERVER_BTN_XP} xpath=//*[@data-testid="create-pipeline-button"] ${SVG_CANVAS} //*[name()="svg" and @class="svg-area"] @@ -42,7 +39,6 @@ ${EXPECTED_COLOR} rgb(0, 102, 204) ${EXPERIMENT_NAME} standard data science pipeline ${NOTEBOOK_SPAWN_WAIT_TIME} 20 minutes ${WORKBENCH_NAME} ${TEST_USER.USERNAME} - ${ODH_DASHBOARD_DO_NOT_WAIT_FOR_SPINNER_PAGE} ${true} *** Test Cases *** @@ -153,7 +149,7 @@ Create and Start the Workbench Verify Hello World Pipeline Elements Set Runtime Image In All Nodes runtime_image=Datascience with Python 3.9 (UBI9) Run Pipeline pipeline_name=${IMAGE} Pipeline - Wait Until Page Contains Element xpath=//a[.="Run Details."] timeout=30s + Wait Until Page Contains Element xpath=//a[.="Run Details."] timeout=1m Capture Page Screenshot Check of Pipeline Runs @@ -211,7 +207,7 @@ Wait Until Pipeline Server Deployed Verify Hello World Pipeline Elements [Documentation] Verifies that the example pipeline is displayed correctly by Elyra - Wait Until Page Contains Element xpath=${SVG_CANVAS} timeout=10s + Wait Until Page Contains Element xpath=${SVG_CANVAS} timeout=2m Maybe Migrate Pipeline Page Should Contain Element xpath=${SVG_CANVAS}${SVG_INTERACTABLE}${SVG_PIPELINE_NODES}${SVG_SINGLE_NODE}//span[.="Load weather data"] # robocop: disable Page Should Contain Element xpath=${SVG_CANVAS}${SVG_INTERACTABLE}${SVG_PIPELINE_NODES}${SVG_SINGLE_NODE}//span[.="Part 1 - Data Cleaning.ipynb"] # robocop: disable From d2ec248bfa2b70de26d4e25c91cff43f4f74e570 Mon Sep 17 00:00:00 2001 From: Supraja Manda Date: Thu, 29 Aug 2024 08:04:37 +0530 Subject: [PATCH 18/28] fix --- .../files/ods-ci/dashboard_elyra_scale_test.robot | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/dashboard_elyra_scale_test.robot b/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/dashboard_elyra_scale_test.robot index b5b8ed9201..9083a82906 100644 --- a/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/dashboard_elyra_scale_test.robot +++ b/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/dashboard_elyra_scale_test.robot @@ -149,7 +149,7 @@ Create and Start the Workbench Verify Hello World Pipeline Elements Set Runtime Image In All Nodes runtime_image=Datascience with Python 3.9 (UBI9) Run Pipeline pipeline_name=${IMAGE} Pipeline - Wait Until Page Contains Element xpath=//a[.="Run Details."] timeout=1m + Wait Until Page Contains Element xpath=//a[.="Run Details."] Capture Page Screenshot Check of Pipeline Runs From 75eecbc5b6631fe54895961655c4bd42957f804c Mon Sep 17 00:00:00 2001 From: Supraja Manda Date: Thu, 29 Aug 2024 15:27:51 +0530 Subject: [PATCH 19/28] fix --- .../files/ods-ci/dashboard_elyra_scale_test.robot | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/dashboard_elyra_scale_test.robot b/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/dashboard_elyra_scale_test.robot index 9083a82906..6dfbe7ff37 100644 --- a/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/dashboard_elyra_scale_test.robot +++ b/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/dashboard_elyra_scale_test.robot @@ -158,7 +158,7 @@ Check of Pipeline Runs ${pipeline_run_name} = Get Pipeline Run Name Switch To Pipeline Execution Page Is Data Science Project Details Page Open ${PROJECT_NAME} - Verify Elyra Pipeline Run pipeline_run_name=${pipeline_run_name} timeout=10m experiment_name=${EXPERIMENT_NAME} + Verify Elyra Pipeline Run pipeline_run_name=${pipeline_run_name} timeout=20m experiment_name=${EXPERIMENT_NAME} *** Keywords *** From c212444afc514f13d16612abb230141cf3242062 Mon Sep 17 00:00:00 2001 From: Supraja Manda Date: Thu, 29 Aug 2024 16:32:50 +0530 Subject: [PATCH 20/28] fix --- .../files/ods-ci/dashboard_elyra_scale_test.robot | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/dashboard_elyra_scale_test.robot b/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/dashboard_elyra_scale_test.robot index 6dfbe7ff37..64d97150b4 100644 --- a/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/dashboard_elyra_scale_test.robot +++ b/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/dashboard_elyra_scale_test.robot @@ -158,7 +158,7 @@ Check of Pipeline Runs ${pipeline_run_name} = Get Pipeline Run Name Switch To Pipeline Execution Page Is Data Science Project Details Page Open ${PROJECT_NAME} - Verify Elyra Pipeline Run pipeline_run_name=${pipeline_run_name} timeout=20m experiment_name=${EXPERIMENT_NAME} + Verify Elyra Pipeline Run pipeline_run_name=${pipeline_run_name} timeout=30m experiment_name=${EXPERIMENT_NAME} *** Keywords *** From 67fbb48bec94a1e15c093c5d61a26c3d4cb9f544 Mon Sep 17 00:00:00 2001 From: Supraja Manda Date: Wed, 11 Sep 2024 16:54:13 +0530 Subject: [PATCH 21/28] fix --- .../files/ods-ci/dashboard_elyra_scale_test.robot | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/dashboard_elyra_scale_test.robot b/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/dashboard_elyra_scale_test.robot index 64d97150b4..b142ff4171 100644 --- a/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/dashboard_elyra_scale_test.robot +++ b/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/dashboard_elyra_scale_test.robot @@ -92,7 +92,7 @@ Create S3 Data Connection Creation Create Pipeline Server To s3 [Tags] Dashboard oc_login ${OCP_API_URL} ${TEST_USER.USERNAME} ${TEST_USER.PASSWORD} - Create Pipeline Server dc_name=${DC_NAME} project_title=${PROJECT_NAME} + Pipelines.Create Pipeline Server dc_name=${DC_NAME} project_title=${PROJECT_NAME} Verify There Is No "Error Displaying Pipelines" After Creating Pipeline Server Verify That There Are No Sample Pipelines After Creating Pipeline Server Wait Until Pipeline Server Is Deployed Elyra project_title=${PROJECT_NAME} From a2a6ba65745abc8be9d77515c73ead21e0aaabad Mon Sep 17 00:00:00 2001 From: Supraja Manda Date: Fri, 13 Sep 2024 16:02:31 +0530 Subject: [PATCH 22/28] ods-ci version change --- projects/notebooks/testing/config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/projects/notebooks/testing/config.yaml b/projects/notebooks/testing/config.yaml index 6cb10f0c52..17bbd9623a 100644 --- a/projects/notebooks/testing/config.yaml +++ b/projects/notebooks/testing/config.yaml @@ -302,7 +302,7 @@ tests: # mode in which the ODS-CI test should be executed image: repo: https://github.com/red-hat-data-services/ods-ci.git - ref: master + ref: releases/2.13.0 # tags to exclude when running the robot test case excluded_tags: None # if true, only create the notebooks but don't start them From a2f2af815e60c7bab15170f0bfce4946bf7846e7 Mon Sep 17 00:00:00 2001 From: Supraja Manda Date: Tue, 17 Sep 2024 15:30:16 +0530 Subject: [PATCH 23/28] fix sleep --- .../files/ods-ci/dashboard_elyra_scale_test.robot | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/dashboard_elyra_scale_test.robot b/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/dashboard_elyra_scale_test.robot index b142ff4171..c4cf935193 100644 --- a/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/dashboard_elyra_scale_test.robot +++ b/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/dashboard_elyra_scale_test.robot @@ -136,7 +136,7 @@ Create and Start the Workbench ${browser log entries str}= Convert To String ${browser log entries} Create File ${OUTPUTDIR}/bug_5912_browser_log_entries.yaml ${browser log entries str} - Sleep 5s + Sleep 30s Reload Page Page Should Not Contain Application is not available END From 3cf4f8bb4700a98574a8598896159574e72e0a0e Mon Sep 17 00:00:00 2001 From: Supraja Manda Date: Thu, 26 Sep 2024 18:47:41 +0530 Subject: [PATCH 24/28] 2.13 version --- .../ods-ci/dashboard_elyra_scale_test.robot | 163 +++++++++--------- 1 file changed, 82 insertions(+), 81 deletions(-) diff --git a/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/dashboard_elyra_scale_test.robot b/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/dashboard_elyra_scale_test.robot index c4cf935193..89e2f3e0b8 100644 --- a/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/dashboard_elyra_scale_test.robot +++ b/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/dashboard_elyra_scale_test.robot @@ -53,6 +53,7 @@ Login to RHODS Dashboard Go To ${ODH_DASHBOARD_URL} Login To RHODS Dashboard ${TEST_USER.USERNAME} ${TEST_USER.PASSWORD} ${TEST_USER.AUTH_TYPE} + Capture Page Screenshot Go to RHODS Dashboard [Tags] Dashboard @@ -78,87 +79,87 @@ Go to the Project page Wait Until Page Contains No Spinner Capture Page Screenshot -Create S3 Data Connection Creation - [Tags] Dashboard - - ${data_connection_exists} ${error}= Run Keyword and Ignore Error Data Connection Should Not Be Listed ${DC_NAME} - IF '${data_connection_exists}' != 'PASS' - Create S3 Data Connection project_title=${PROJECT_NAME} dc_name=${DC_NAME} aws_access_key=${ACCESS_KEY} aws_secret_access=${TEST_USER.PASSWORD} aws_bucket_name=${HOST_BUCKET} aws_s3_endpoint=${HOST_BASE} - ELSE - Recreate S3 Data Connection project_title=${PROJECT_NAME} dc_name=${DC_NAME} aws_access_key=${ACCESS_KEY} aws_secret_access=${TEST_USER.PASSWORD} aws_bucket_name=${HOST_BUCKET} aws_s3_endpoint=${HOST_BASE} - END - Capture Page Screenshot - -Create Pipeline Server To s3 - [Tags] Dashboard - oc_login ${OCP_API_URL} ${TEST_USER.USERNAME} ${TEST_USER.PASSWORD} - Pipelines.Create Pipeline Server dc_name=${DC_NAME} project_title=${PROJECT_NAME} - Verify There Is No "Error Displaying Pipelines" After Creating Pipeline Server - Verify That There Are No Sample Pipelines After Creating Pipeline Server - Wait Until Pipeline Server Is Deployed Elyra project_title=${PROJECT_NAME} - Capture Page Screenshot - -Create and Start the Workbench - [Tags] Dashboard - - ${workbench_exists} ${error}= Run Keyword And Ignore Error Workbench Is Listed ${WORKBENCH_NAME} - IF '${workbench_exists}' == 'FAIL' - Create Workbench workbench_title=${WORKBENCH_NAME} workbench_description=Elyra test prj_title=${PROJECT_NAME} image_name=${IMAGE} deployment_size=Tiny storage=Persistent pv_existent=${FALSE} pv_name=${PV_NAME} pv_description=${PV_DESCRIPTION} pv_size=${PV_SIZE} - END - Start Workbench workbench_title=${WORKBENCH_NAME} timeout=300s - Capture Page Screenshot - Workbench Status Should Be workbench_title=${WORKBENCH_NAME} status=${WORKBENCH_STATUS_RUNNING} - ${workbench_launched} ${error}= Run Keyword And Ignore Error Just Launch Workbench ${WORKBENCH_NAME} - - ${app_is_ready} = Run Keyword And Return Status Page Should Not Contain Application is not available - IF ${app_is_ready} != True - Log message=Workaround for RHODS-5912: reload the page level=WARN - Capture Page Screenshot bug_5912_application_not_available.png - oc_login ${OCP_API_URL} ${TEST_USER.USERNAME} ${TEST_USER.PASSWORD} - ${oa_logs}= Oc Get Pod Logs name=${WORKBENCH_NAME}-0 namespace=${PROJECT_NAME} container=oauth-proxy - ${jl_logs}= Oc Get Pod Logs name=${WORKBENCH_NAME}-0 namespace=${PROJECT_NAME} container=${WORKBENCH_NAME} - Create File ${OUTPUTDIR}/pod_logs.txt OAuth\n-----\n\n${oa_logs} \nJupyterLab\n----------\n\n${jl_logs} - - ${endpoints}= Oc Get kind=Endpoints namespace=${PROJECT_NAME} - ${route}= Oc Get kind=Route name=${WORKBENCH_NAME} namespace=${PROJECT_NAME} api_version=route.openshift.io/v1 - ${endpoints_str}= Convert to String ${endpoints} - Create File ${OUTPUTDIR}/bug_5912.endpoints ${endpoints_str} - ${route_str}= Convert to String ${route} - Create File ${OUTPUTDIR}/bug_5912.route ${route_str} - - ${current_url}= Get Location - Create File ${OUTPUTDIR}/bug_5912.url ${current_url} - - ${current_html} = SeleniumLibrary.Get Source - Create File ${OUTPUTDIR}/bug_5912.html ${current_html} - - ${browser log entries}= Get Browser Console Log Entries - ${browser log entries str}= Convert To String ${browser log entries} - Create File ${OUTPUTDIR}/bug_5912_browser_log_entries.yaml ${browser log entries str} - - Sleep 30s - Reload Page - Page Should Not Contain Application is not available - END - Access To Workbench username=${TEST_USER.USERNAME} password=${TEST_USER.PASSWORD} - ... auth_type=${TEST_USER.AUTH_TYPE} - Capture Page Screenshot - Navigate Home (Root folder) In JupyterLab Sidebar File Browser - Clone Git Repository And Open https://github.com/redhat-rhods-qe/ods-ci-notebooks-main - ... ods-ci-notebooks-main/notebooks/500__jupyterhub/pipelines/v2/elyra/run-pipelines-on-data-science-pipelines/hello-generic-world.pipeline # robocop: disable - Verify Hello World Pipeline Elements - Set Runtime Image In All Nodes runtime_image=Datascience with Python 3.9 (UBI9) - Run Pipeline pipeline_name=${IMAGE} Pipeline - Wait Until Page Contains Element xpath=//a[.="Run Details."] - Capture Page Screenshot - -Check of Pipeline Runs - [Tags] Dashboard - - ${pipeline_run_name} = Get Pipeline Run Name - Switch To Pipeline Execution Page - Is Data Science Project Details Page Open ${PROJECT_NAME} - Verify Elyra Pipeline Run pipeline_run_name=${pipeline_run_name} timeout=30m experiment_name=${EXPERIMENT_NAME} +# Create S3 Data Connection Creation +# [Tags] Dashboard + +# ${data_connection_exists} ${error}= Run Keyword and Ignore Error Data Connection Should Not Be Listed ${DC_NAME} +# IF '${data_connection_exists}' != 'PASS' +# Create S3 Data Connection project_title=${PROJECT_NAME} dc_name=${DC_NAME} aws_access_key=${ACCESS_KEY} aws_secret_access=${TEST_USER.PASSWORD} aws_bucket_name=${HOST_BUCKET} aws_s3_endpoint=${HOST_BASE} +# ELSE +# Recreate S3 Data Connection project_title=${PROJECT_NAME} dc_name=${DC_NAME} aws_access_key=${ACCESS_KEY} aws_secret_access=${TEST_USER.PASSWORD} aws_bucket_name=${HOST_BUCKET} aws_s3_endpoint=${HOST_BASE} +# END +# Capture Page Screenshot + +# Create Pipeline Server To s3 +# [Tags] Dashboard +# oc_login ${OCP_API_URL} ${TEST_USER.USERNAME} ${TEST_USER.PASSWORD} +# Pipelines.Create Pipeline Server dc_name=${DC_NAME} project_title=${PROJECT_NAME} +# Verify There Is No "Error Displaying Pipelines" After Creating Pipeline Server +# Verify That There Are No Sample Pipelines After Creating Pipeline Server +# Wait Until Pipeline Server Is Deployed Elyra project_title=${PROJECT_NAME} +# Capture Page Screenshot + +# Create and Start the Workbench +# [Tags] Dashboard + +# ${workbench_exists} ${error}= Run Keyword And Ignore Error Workbench Is Listed ${WORKBENCH_NAME} +# IF '${workbench_exists}' == 'FAIL' +# Create Workbench workbench_title=${WORKBENCH_NAME} workbench_description=Elyra test prj_title=${PROJECT_NAME} image_name=${IMAGE} deployment_size=Tiny storage=Persistent pv_existent=${FALSE} pv_name=${PV_NAME} pv_description=${PV_DESCRIPTION} pv_size=${PV_SIZE} +# END +# Start Workbench workbench_title=${WORKBENCH_NAME} timeout=300s +# Capture Page Screenshot +# Workbench Status Should Be workbench_title=${WORKBENCH_NAME} status=${WORKBENCH_STATUS_RUNNING} +# ${workbench_launched} ${error}= Run Keyword And Ignore Error Just Launch Workbench ${WORKBENCH_NAME} + +# ${app_is_ready} = Run Keyword And Return Status Page Should Not Contain Application is not available +# IF ${app_is_ready} != True +# Log message=Workaround for RHODS-5912: reload the page level=WARN +# Capture Page Screenshot bug_5912_application_not_available.png +# oc_login ${OCP_API_URL} ${TEST_USER.USERNAME} ${TEST_USER.PASSWORD} +# ${oa_logs}= Oc Get Pod Logs name=${WORKBENCH_NAME}-0 namespace=${PROJECT_NAME} container=oauth-proxy +# ${jl_logs}= Oc Get Pod Logs name=${WORKBENCH_NAME}-0 namespace=${PROJECT_NAME} container=${WORKBENCH_NAME} +# Create File ${OUTPUTDIR}/pod_logs.txt OAuth\n-----\n\n${oa_logs} \nJupyterLab\n----------\n\n${jl_logs} + +# ${endpoints}= Oc Get kind=Endpoints namespace=${PROJECT_NAME} +# ${route}= Oc Get kind=Route name=${WORKBENCH_NAME} namespace=${PROJECT_NAME} api_version=route.openshift.io/v1 +# ${endpoints_str}= Convert to String ${endpoints} +# Create File ${OUTPUTDIR}/bug_5912.endpoints ${endpoints_str} +# ${route_str}= Convert to String ${route} +# Create File ${OUTPUTDIR}/bug_5912.route ${route_str} + +# ${current_url}= Get Location +# Create File ${OUTPUTDIR}/bug_5912.url ${current_url} + +# ${current_html} = SeleniumLibrary.Get Source +# Create File ${OUTPUTDIR}/bug_5912.html ${current_html} + +# ${browser log entries}= Get Browser Console Log Entries +# ${browser log entries str}= Convert To String ${browser log entries} +# Create File ${OUTPUTDIR}/bug_5912_browser_log_entries.yaml ${browser log entries str} + +# Sleep 30s +# Reload Page +# Page Should Not Contain Application is not available +# END +# Access To Workbench username=${TEST_USER.USERNAME} password=${TEST_USER.PASSWORD} +# ... auth_type=${TEST_USER.AUTH_TYPE} +# Capture Page Screenshot +# Navigate Home (Root folder) In JupyterLab Sidebar File Browser +# Clone Git Repository And Open https://github.com/redhat-rhods-qe/ods-ci-notebooks-main +# ... ods-ci-notebooks-main/notebooks/500__jupyterhub/pipelines/v2/elyra/run-pipelines-on-data-science-pipelines/hello-generic-world.pipeline # robocop: disable +# Verify Hello World Pipeline Elements +# Set Runtime Image In All Nodes runtime_image=Datascience with Python 3.9 (UBI9) +# Run Pipeline pipeline_name=${IMAGE} Pipeline +# Wait Until Page Contains Element xpath=//a[.="Run Details."] +# Capture Page Screenshot + +# Check of Pipeline Runs +# [Tags] Dashboard + +# ${pipeline_run_name} = Get Pipeline Run Name +# Switch To Pipeline Execution Page +# Is Data Science Project Details Page Open ${PROJECT_NAME} +# Verify Elyra Pipeline Run pipeline_run_name=${pipeline_run_name} timeout=30m experiment_name=${EXPERIMENT_NAME} *** Keywords *** From ddfb81aecd46b5205fc34615ec2fcef1b782e5ee Mon Sep 17 00:00:00 2001 From: Supraja Manda Date: Mon, 30 Sep 2024 16:39:44 +0530 Subject: [PATCH 25/28] workflow --- .../ods-ci/dashboard_elyra_scale_test.robot | 162 +++++++++--------- 1 file changed, 81 insertions(+), 81 deletions(-) diff --git a/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/dashboard_elyra_scale_test.robot b/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/dashboard_elyra_scale_test.robot index 89e2f3e0b8..f9de7364a0 100644 --- a/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/dashboard_elyra_scale_test.robot +++ b/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/dashboard_elyra_scale_test.robot @@ -79,87 +79,87 @@ Go to the Project page Wait Until Page Contains No Spinner Capture Page Screenshot -# Create S3 Data Connection Creation -# [Tags] Dashboard - -# ${data_connection_exists} ${error}= Run Keyword and Ignore Error Data Connection Should Not Be Listed ${DC_NAME} -# IF '${data_connection_exists}' != 'PASS' -# Create S3 Data Connection project_title=${PROJECT_NAME} dc_name=${DC_NAME} aws_access_key=${ACCESS_KEY} aws_secret_access=${TEST_USER.PASSWORD} aws_bucket_name=${HOST_BUCKET} aws_s3_endpoint=${HOST_BASE} -# ELSE -# Recreate S3 Data Connection project_title=${PROJECT_NAME} dc_name=${DC_NAME} aws_access_key=${ACCESS_KEY} aws_secret_access=${TEST_USER.PASSWORD} aws_bucket_name=${HOST_BUCKET} aws_s3_endpoint=${HOST_BASE} -# END -# Capture Page Screenshot - -# Create Pipeline Server To s3 -# [Tags] Dashboard -# oc_login ${OCP_API_URL} ${TEST_USER.USERNAME} ${TEST_USER.PASSWORD} -# Pipelines.Create Pipeline Server dc_name=${DC_NAME} project_title=${PROJECT_NAME} -# Verify There Is No "Error Displaying Pipelines" After Creating Pipeline Server -# Verify That There Are No Sample Pipelines After Creating Pipeline Server -# Wait Until Pipeline Server Is Deployed Elyra project_title=${PROJECT_NAME} -# Capture Page Screenshot - -# Create and Start the Workbench -# [Tags] Dashboard - -# ${workbench_exists} ${error}= Run Keyword And Ignore Error Workbench Is Listed ${WORKBENCH_NAME} -# IF '${workbench_exists}' == 'FAIL' -# Create Workbench workbench_title=${WORKBENCH_NAME} workbench_description=Elyra test prj_title=${PROJECT_NAME} image_name=${IMAGE} deployment_size=Tiny storage=Persistent pv_existent=${FALSE} pv_name=${PV_NAME} pv_description=${PV_DESCRIPTION} pv_size=${PV_SIZE} -# END -# Start Workbench workbench_title=${WORKBENCH_NAME} timeout=300s -# Capture Page Screenshot -# Workbench Status Should Be workbench_title=${WORKBENCH_NAME} status=${WORKBENCH_STATUS_RUNNING} -# ${workbench_launched} ${error}= Run Keyword And Ignore Error Just Launch Workbench ${WORKBENCH_NAME} - -# ${app_is_ready} = Run Keyword And Return Status Page Should Not Contain Application is not available -# IF ${app_is_ready} != True -# Log message=Workaround for RHODS-5912: reload the page level=WARN -# Capture Page Screenshot bug_5912_application_not_available.png -# oc_login ${OCP_API_URL} ${TEST_USER.USERNAME} ${TEST_USER.PASSWORD} -# ${oa_logs}= Oc Get Pod Logs name=${WORKBENCH_NAME}-0 namespace=${PROJECT_NAME} container=oauth-proxy -# ${jl_logs}= Oc Get Pod Logs name=${WORKBENCH_NAME}-0 namespace=${PROJECT_NAME} container=${WORKBENCH_NAME} -# Create File ${OUTPUTDIR}/pod_logs.txt OAuth\n-----\n\n${oa_logs} \nJupyterLab\n----------\n\n${jl_logs} - -# ${endpoints}= Oc Get kind=Endpoints namespace=${PROJECT_NAME} -# ${route}= Oc Get kind=Route name=${WORKBENCH_NAME} namespace=${PROJECT_NAME} api_version=route.openshift.io/v1 -# ${endpoints_str}= Convert to String ${endpoints} -# Create File ${OUTPUTDIR}/bug_5912.endpoints ${endpoints_str} -# ${route_str}= Convert to String ${route} -# Create File ${OUTPUTDIR}/bug_5912.route ${route_str} - -# ${current_url}= Get Location -# Create File ${OUTPUTDIR}/bug_5912.url ${current_url} - -# ${current_html} = SeleniumLibrary.Get Source -# Create File ${OUTPUTDIR}/bug_5912.html ${current_html} - -# ${browser log entries}= Get Browser Console Log Entries -# ${browser log entries str}= Convert To String ${browser log entries} -# Create File ${OUTPUTDIR}/bug_5912_browser_log_entries.yaml ${browser log entries str} - -# Sleep 30s -# Reload Page -# Page Should Not Contain Application is not available -# END -# Access To Workbench username=${TEST_USER.USERNAME} password=${TEST_USER.PASSWORD} -# ... auth_type=${TEST_USER.AUTH_TYPE} -# Capture Page Screenshot -# Navigate Home (Root folder) In JupyterLab Sidebar File Browser -# Clone Git Repository And Open https://github.com/redhat-rhods-qe/ods-ci-notebooks-main -# ... ods-ci-notebooks-main/notebooks/500__jupyterhub/pipelines/v2/elyra/run-pipelines-on-data-science-pipelines/hello-generic-world.pipeline # robocop: disable -# Verify Hello World Pipeline Elements -# Set Runtime Image In All Nodes runtime_image=Datascience with Python 3.9 (UBI9) -# Run Pipeline pipeline_name=${IMAGE} Pipeline -# Wait Until Page Contains Element xpath=//a[.="Run Details."] -# Capture Page Screenshot - -# Check of Pipeline Runs -# [Tags] Dashboard - -# ${pipeline_run_name} = Get Pipeline Run Name -# Switch To Pipeline Execution Page -# Is Data Science Project Details Page Open ${PROJECT_NAME} -# Verify Elyra Pipeline Run pipeline_run_name=${pipeline_run_name} timeout=30m experiment_name=${EXPERIMENT_NAME} +Create S3 Data Connection Creation + [Tags] Dashboard + + ${data_connection_exists} ${error}= Run Keyword and Ignore Error Data Connection Should Not Be Listed ${DC_NAME} + IF '${data_connection_exists}' != 'PASS' + Create S3 Data Connection project_title=${PROJECT_NAME} dc_name=${DC_NAME} aws_access_key=${ACCESS_KEY} aws_secret_access=${TEST_USER.PASSWORD} aws_bucket_name=${HOST_BUCKET} aws_s3_endpoint=${HOST_BASE} + ELSE + Recreate S3 Data Connection project_title=${PROJECT_NAME} dc_name=${DC_NAME} aws_access_key=${ACCESS_KEY} aws_secret_access=${TEST_USER.PASSWORD} aws_bucket_name=${HOST_BUCKET} aws_s3_endpoint=${HOST_BASE} + END + Capture Page Screenshot + +Create Pipeline Server To s3 + [Tags] Dashboard + oc_login ${OCP_API_URL} ${TEST_USER.USERNAME} ${TEST_USER.PASSWORD} + Pipelines.Create Pipeline Server dc_name=${DC_NAME} project_title=${PROJECT_NAME} + Verify There Is No "Error Displaying Pipelines" After Creating Pipeline Server + Verify That There Are No Sample Pipelines After Creating Pipeline Server + Wait Until Pipeline Server Is Deployed Elyra project_title=${PROJECT_NAME} + Capture Page Screenshot + +Create and Start the Workbench + [Tags] Dashboard + + ${workbench_exists} ${error}= Run Keyword And Ignore Error Workbench Is Listed ${WORKBENCH_NAME} + IF '${workbench_exists}' == 'FAIL' + Create Workbench workbench_title=${WORKBENCH_NAME} workbench_description=Elyra test prj_title=${PROJECT_NAME} image_name=${IMAGE} deployment_size=Tiny storage=Persistent pv_existent=${FALSE} pv_name=${PV_NAME} pv_description=${PV_DESCRIPTION} pv_size=${PV_SIZE} + END + Start Workbench workbench_title=${WORKBENCH_NAME} timeout=300s + Capture Page Screenshot + Workbench Status Should Be workbench_title=${WORKBENCH_NAME} status=${WORKBENCH_STATUS_RUNNING} + ${workbench_launched} ${error}= Run Keyword And Ignore Error Just Launch Workbench ${WORKBENCH_NAME} + + ${app_is_ready} = Run Keyword And Return Status Page Should Not Contain Application is not available + IF ${app_is_ready} != True + Log message=Workaround for RHODS-5912: reload the page level=WARN + Capture Page Screenshot bug_5912_application_not_available.png + oc_login ${OCP_API_URL} ${TEST_USER.USERNAME} ${TEST_USER.PASSWORD} + ${oa_logs}= Oc Get Pod Logs name=${WORKBENCH_NAME}-0 namespace=${PROJECT_NAME} container=oauth-proxy + ${jl_logs}= Oc Get Pod Logs name=${WORKBENCH_NAME}-0 namespace=${PROJECT_NAME} container=${WORKBENCH_NAME} + Create File ${OUTPUTDIR}/pod_logs.txt OAuth\n-----\n\n${oa_logs} \nJupyterLab\n----------\n\n${jl_logs} + + ${endpoints}= Oc Get kind=Endpoints namespace=${PROJECT_NAME} + ${route}= Oc Get kind=Route name=${WORKBENCH_NAME} namespace=${PROJECT_NAME} api_version=route.openshift.io/v1 + ${endpoints_str}= Convert to String ${endpoints} + Create File ${OUTPUTDIR}/bug_5912.endpoints ${endpoints_str} + ${route_str}= Convert to String ${route} + Create File ${OUTPUTDIR}/bug_5912.route ${route_str} + + ${current_url}= Get Location + Create File ${OUTPUTDIR}/bug_5912.url ${current_url} + + ${current_html} = SeleniumLibrary.Get Source + Create File ${OUTPUTDIR}/bug_5912.html ${current_html} + + ${browser log entries}= Get Browser Console Log Entries + ${browser log entries str}= Convert To String ${browser log entries} + Create File ${OUTPUTDIR}/bug_5912_browser_log_entries.yaml ${browser log entries str} + + Sleep 30s + Reload Page + Page Should Not Contain Application is not available + END + Access To Workbench username=${TEST_USER.USERNAME} password=${TEST_USER.PASSWORD} + ... auth_type=${TEST_USER.AUTH_TYPE} + Capture Page Screenshot + Navigate Home (Root folder) In JupyterLab Sidebar File Browser + Clone Git Repository And Open https://github.com/redhat-rhods-qe/ods-ci-notebooks-main + ... ods-ci-notebooks-main/notebooks/500__jupyterhub/pipelines/v2/elyra/run-pipelines-on-data-science-pipelines/hello-generic-world.pipeline # robocop: disable + Verify Hello World Pipeline Elements + Set Runtime Image In All Nodes runtime_image=Datascience with Python 3.9 (UBI9) + Run Pipeline pipeline_name=${IMAGE} Pipeline + Wait Until Page Contains Element xpath=//a[.="Run Details."] + Capture Page Screenshot + +Check of Pipeline Runs + [Tags] Dashboard + + ${pipeline_run_name} = Get Pipeline Run Name + Switch To Pipeline Execution Page + Is Data Science Project Details Page Open ${PROJECT_NAME} + Verify Elyra Pipeline Run pipeline_run_name=${pipeline_run_name} timeout=30m experiment_name=${EXPERIMENT_NAME} *** Keywords *** From bff3a279c903f4949c4a887213a5ec6e3795ef78 Mon Sep 17 00:00:00 2001 From: Supraja Manda Date: Wed, 9 Oct 2024 14:41:51 +0530 Subject: [PATCH 26/28] sleep in workbench creation --- .../ods-ci/dashboard_elyra_scale_test.robot | 66 ++++++++++++++++++- 1 file changed, 64 insertions(+), 2 deletions(-) diff --git a/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/dashboard_elyra_scale_test.robot b/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/dashboard_elyra_scale_test.robot index f9de7364a0..5a0bd5e756 100644 --- a/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/dashboard_elyra_scale_test.robot +++ b/projects/notebooks/toolbox/notebooks_dashboard_scale_test/files/ods-ci/dashboard_elyra_scale_test.robot @@ -104,7 +104,7 @@ Create and Start the Workbench ${workbench_exists} ${error}= Run Keyword And Ignore Error Workbench Is Listed ${WORKBENCH_NAME} IF '${workbench_exists}' == 'FAIL' - Create Workbench workbench_title=${WORKBENCH_NAME} workbench_description=Elyra test prj_title=${PROJECT_NAME} image_name=${IMAGE} deployment_size=Tiny storage=Persistent pv_existent=${FALSE} pv_name=${PV_NAME} pv_description=${PV_DESCRIPTION} pv_size=${PV_SIZE} + Create Workbench Elyra workbench_title=${WORKBENCH_NAME} workbench_description=Elyra test prj_title=${PROJECT_NAME} image_name=${IMAGE} deployment_size=Tiny storage=Persistent pv_existent=${FALSE} pv_name=${PV_NAME} pv_description=${PV_DESCRIPTION} pv_size=${PV_SIZE} END Start Workbench workbench_title=${WORKBENCH_NAME} timeout=300s Capture Page Screenshot @@ -279,4 +279,66 @@ Verify Pipeline Server Deployments Elyra # robocop: disable @{mariadb}= Oc Get kind=Pod namespace=${project_title} label_selector=app=mariadb-dspa ${containerNames}= Create List mariadb - Verify Deployment ${mariadb} 1 1 ${containerNames} \ No newline at end of file + Verify Deployment ${mariadb} 1 1 ${containerNames} + + + +Create Workbench Elyra + [Documentation] Creates a new workbench in a Data Science project. It assumes + ... the DS Project data. It allows to add new or existent PV storage, + ... add Environment variables and select Jupyter image + [Arguments] ${workbench_title} ${workbench_description} ${prj_title} ${image_name} ${deployment_size} + ... ${storage} ${pv_existent} ${pv_name} ${pv_description} ${pv_size} ${gpus}=${NONE} + ... ${press_cancel}=${FALSE} ${version}=default ${envs}=${NONE} + ... ${data_connection}=${NONE} + Open Data Science Project Details Page project_title=${prj_title} tab_id=workbenches + Wait Until Element Is Enabled ${WORKBENCH_CREATE_BTN_XP} + Click Element ${WORKBENCH_CREATE_BTN_XP} + Wait Until Page Contains Element ${WORKBENCH_NAME_INPUT_XP} + Run Keyword And Continue On Failure Element Should Be Disabled ${WORKBENCH_CREATE_BTN_2_XP} + Input Text ${WORKBENCH_NAME_INPUT_XP} ${workbench_title} + Input Text ${WORKBENCH_DESCR_TXT_XP} ${workbench_description} + Run Keyword And Continue On Failure Element Should Be Disabled ${WORKBENCH_CREATE_BTN_2_XP} + Select Workbench Jupyter Image image_name=${image_name} version=${version} + IF "${deployment_size}" != "${NONE}" Select Workbench Container Size size_name=${deployment_size} + IF "${gpus}" != "${NONE}" Select Workbench Number Of GPUs gpus=${gpus} + IF "${envs}" != "${NONE}" + ${envs_copy}= Copy List ${envs} deepcopy=${TRUE} + Add Environment Variables In Workbench env_variables=${envs_copy} + END + IF "${data_connection}" != "${NONE}" + Add Existing Data Connection In Workbench data_connection=${data_connection} + END + ${version_check}= Is RHODS Version Greater Or Equal Than 1.20.0 + IF ${version_check}==True + Run Keyword And Continue On Failure Page Should Not Contain Element + ... xpath=//input[contains(@name,"ephemeral")] + END + IF "${storage}" == "Persistent" + IF ${pv_existent} == ${TRUE} + # Use the `Jump to section` links in the page to scroll the section into view + Click Element //a[@href="#cluster-storage"] + Click Element xpath=//input[@name="persistent-existing-storage-type-radio"] + Select An Existent PV name=${pv_name} + ELSE IF ${pv_existent} == ${FALSE} + # Use the `Jump to section` links in the page to scroll the section into view + Click Element //a[@href="#cluster-storage"] + Click Element xpath=//input[@name="persistent-new-storage-type-radio"] + Fill In New PV Data name=${pv_name} description=${pv_description} size=${pv_size} + Log msg=Delete PVC '${pv_name}' before creating new one via the Workbench dialog + Delete PVC In Project From CLI pvc_title=${pv_name} project_title=${prj_title} + ELSE + Log msg="pv_existent" argument not set, using default PV settings level=WARN + Delete PVC In Project From CLI pvc_title=${workbench_title} project_title=${prj_title} + END + ELSE + Click Element xpath=//input[@name="ephemeral-storage-type-radio"] + END + IF ${press_cancel} == ${TRUE} + Click Button ${GENERIC_CANCEL_BTN_XP} + ELSE + Wait Until Element Is Enabled ${WORKBENCH_CREATE_BTN_2_XP} + Click Button ${WORKBENCH_CREATE_BTN_2_XP} + END + Wait Until Element Is Not Visible //form 1m + Open Data Science Project Details Page project_title=${prj_title} tab_id=workbenches From c3bcf8db142ea7053ef5e8d6a35055a622af082f Mon Sep 17 00:00:00 2001 From: Supraja Manda Date: Thu, 10 Oct 2024 17:59:46 +0530 Subject: [PATCH 27/28] 2.14 Version --- projects/notebooks/testing/config.yaml | 30 +++++++++++++------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/projects/notebooks/testing/config.yaml b/projects/notebooks/testing/config.yaml index 17bbd9623a..3f5452eacc 100644 --- a/projects/notebooks/testing/config.yaml +++ b/projects/notebooks/testing/config.yaml @@ -29,24 +29,23 @@ ci_presets: tests.notebooks.identifier: gating_test tests.notebooks.test_flavor: gating # modify the presets, as they will be applied by the gating test - 'ci_presets.notebook_performance["tests.notebooks.notebook_performance.tests[0].instance_types"]': [m6i.2xlarge] + 'ci_presets.notebook_performance["tests.notebooks.notebook_performance.tests[0].instance_types"]': [ m6i.2xlarge ] 'ci_presets.notebook_scale_test["tests.notebooks.identifier"]': "notebook_gating_test:scale_test" 'ci_presets.notebook_performance["tests.notebooks.identifier"]': "notebook_gating_test:performance_test" notebook_gating_scale_test_light: - extends: [notebook_gating_scale_test] + extends: [ notebook_gating_scale_test ] 'ci_presets.notebook_scale_test["tests.notebooks.users.count"]': 4 'ci_presets.notebook_scale_test["tests.notebooks.repeat"]': 1 'ci_presets.notebook_performance["clusters.sutest.compute.dedicated"]': false - notebook_scale_test_dsg: - extends: [notebook_scale_test] + extends: [ notebook_scale_test ] tests.notebooks.ods_ci.test_case: notebook_dsg_test.robot # run the Jupyter Notebook scale test notebook_scale_test_jupyter: - extends: [notebook_scale_test] + extends: [ notebook_scale_test ] tests.notebooks.ods_ci.test_case: notebook_jupyter_test.robot # run the notebook image performance test on RHODS (benchmark mode) @@ -62,7 +61,7 @@ ci_presets: matbench.lts.opensearch.index: rhoai-notebooks-performance notebook_performance_light: - extends: [notebook_performance] + extends: [ notebook_performance ] tests.notebook_performance.test_only_one_image: true dashboard_scale_test: @@ -112,7 +111,7 @@ ci_presets: 'ci_presets.notebook_scale_test["tests.notebooks.users.count"]': 4 light: - extends: [light_cluster, notebooks_light] + extends: [ light_cluster, notebooks_light ] metal: clusters.sutest.is_metal: true @@ -126,14 +125,14 @@ ci_presets: clusters.create.ocp.use_fips: true icelake: - extends: [metal] + extends: [ metal ] clusters.create.ocp.compute.type: icelake clusters.driver.compute.dedicated: false clusters.sutest.compute.dedicated: false 'ci_presets.notebook_performance["clusters.sutest.compute.dedicated"]': false icelake_notebook_gating_test: - extends: [notebook_gating_scale_test, metal, icelake, use_intlab_os] + extends: [ notebook_gating_scale_test, metal, icelake, use_intlab_os ] 'ci_presets.notebook_scale_test["tests.notebooks.users.count"]': 150 use_intlab_os: @@ -221,10 +220,10 @@ ldap: rhods: catalog: image: brew.registry.redhat.io/rh-osbs/iib - tag: 832635 + tag: 832647 channel: fast version: 2.14.0 - version_name: rc1 + version_name: rc2 opendatahub: false managed_rhoi: true notebooks: @@ -302,7 +301,7 @@ tests: # mode in which the ODS-CI test should be executed image: repo: https://github.com/red-hat-data-services/ods-ci.git - ref: releases/2.13.0 + ref: master # tags to exclude when running the robot test case excluded_tags: None # if true, only create the notebooks but don't start them @@ -357,7 +356,8 @@ tests: # for faster smoke testing test_only_one_image: false - dashboard_scale_test: # enabled by setting 'tests.notebooks.test_flavor: dashboard-scale-test' + dashboard_scale_test: + # enabled by setting 'tests.notebooks.test_flavor: dashboard-scale-test' option: true # List of preset configurations to run as part of the 'gating' test @@ -373,8 +373,8 @@ matbench: download: mode: prefer_cache url: - url_file: - # if true, copy the results downloaded by `matbench download` into the artifacts directory + url_file: # if true, copy the results downloaded by `matbench download` into the artifacts directory + save_to_artifacts: false # directory to plot. Set by notebook_scale_test.sh before launching the visualization test_directory: null From 3bcb03ffdbbdf4dfad66fe30f31e5f6aaa5eb88d Mon Sep 17 00:00:00 2001 From: Supraja Manda Date: Thu, 7 Nov 2024 19:16:32 +0530 Subject: [PATCH 28/28] config.yml --- projects/notebooks/testing/config.yaml | 28 +++++++++++++------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/projects/notebooks/testing/config.yaml b/projects/notebooks/testing/config.yaml index 3f5452eacc..6cb10f0c52 100644 --- a/projects/notebooks/testing/config.yaml +++ b/projects/notebooks/testing/config.yaml @@ -29,23 +29,24 @@ ci_presets: tests.notebooks.identifier: gating_test tests.notebooks.test_flavor: gating # modify the presets, as they will be applied by the gating test - 'ci_presets.notebook_performance["tests.notebooks.notebook_performance.tests[0].instance_types"]': [ m6i.2xlarge ] + 'ci_presets.notebook_performance["tests.notebooks.notebook_performance.tests[0].instance_types"]': [m6i.2xlarge] 'ci_presets.notebook_scale_test["tests.notebooks.identifier"]': "notebook_gating_test:scale_test" 'ci_presets.notebook_performance["tests.notebooks.identifier"]': "notebook_gating_test:performance_test" notebook_gating_scale_test_light: - extends: [ notebook_gating_scale_test ] + extends: [notebook_gating_scale_test] 'ci_presets.notebook_scale_test["tests.notebooks.users.count"]': 4 'ci_presets.notebook_scale_test["tests.notebooks.repeat"]': 1 'ci_presets.notebook_performance["clusters.sutest.compute.dedicated"]': false + notebook_scale_test_dsg: - extends: [ notebook_scale_test ] + extends: [notebook_scale_test] tests.notebooks.ods_ci.test_case: notebook_dsg_test.robot # run the Jupyter Notebook scale test notebook_scale_test_jupyter: - extends: [ notebook_scale_test ] + extends: [notebook_scale_test] tests.notebooks.ods_ci.test_case: notebook_jupyter_test.robot # run the notebook image performance test on RHODS (benchmark mode) @@ -61,7 +62,7 @@ ci_presets: matbench.lts.opensearch.index: rhoai-notebooks-performance notebook_performance_light: - extends: [ notebook_performance ] + extends: [notebook_performance] tests.notebook_performance.test_only_one_image: true dashboard_scale_test: @@ -111,7 +112,7 @@ ci_presets: 'ci_presets.notebook_scale_test["tests.notebooks.users.count"]': 4 light: - extends: [ light_cluster, notebooks_light ] + extends: [light_cluster, notebooks_light] metal: clusters.sutest.is_metal: true @@ -125,14 +126,14 @@ ci_presets: clusters.create.ocp.use_fips: true icelake: - extends: [ metal ] + extends: [metal] clusters.create.ocp.compute.type: icelake clusters.driver.compute.dedicated: false clusters.sutest.compute.dedicated: false 'ci_presets.notebook_performance["clusters.sutest.compute.dedicated"]': false icelake_notebook_gating_test: - extends: [ notebook_gating_scale_test, metal, icelake, use_intlab_os ] + extends: [notebook_gating_scale_test, metal, icelake, use_intlab_os] 'ci_presets.notebook_scale_test["tests.notebooks.users.count"]': 150 use_intlab_os: @@ -220,10 +221,10 @@ ldap: rhods: catalog: image: brew.registry.redhat.io/rh-osbs/iib - tag: 832647 + tag: 832635 channel: fast version: 2.14.0 - version_name: rc2 + version_name: rc1 opendatahub: false managed_rhoi: true notebooks: @@ -356,8 +357,7 @@ tests: # for faster smoke testing test_only_one_image: false - dashboard_scale_test: - # enabled by setting 'tests.notebooks.test_flavor: dashboard-scale-test' + dashboard_scale_test: # enabled by setting 'tests.notebooks.test_flavor: dashboard-scale-test' option: true # List of preset configurations to run as part of the 'gating' test @@ -373,8 +373,8 @@ matbench: download: mode: prefer_cache url: - url_file: # if true, copy the results downloaded by `matbench download` into the artifacts directory - + url_file: + # if true, copy the results downloaded by `matbench download` into the artifacts directory save_to_artifacts: false # directory to plot. Set by notebook_scale_test.sh before launching the visualization test_directory: null