It looks like this is your first time using Cypress: 15.17.0 ❯ Verifying Cypress can run /cypress_cache/15.17.0/Cypress ✔ Verified Cypress! /cypress_cache/15.17.0/Cypress Opening Cypress... Warning: The allowCypressEnv configuration option is enabled. This allows any browser code to read values from Cypress.env(). This is insecure and will be removed in a future major version. 1. Replace Cypress.env() calls with cy.env() (for sensitive values) or Cypress.expose() (for public configuration) 2. Set allowCypressEnv: false in your Cypress configuration to disable Cypress.env() Learn more: https://on.cypress.io/cypress-env-migration @cypress/grep: filtering using tag(s) "@SmokeSet1" ================================================================================ (Run Starting) ┌────────────────────────────────────────────────────────────────────────────────────────────────┐ │ Cypress: 15.17.0 │ │ Browser: Electron 138 (headless) │ │ Node Version: v22.22.0 (/usr/bin/node-22) │ │ Specs: 18 found (applications/testAboutDialog.cy.ts, dashboardNavigation/testApplicat │ │ ionLinks.cy.ts, dashboardNavigation/testManifestLinks.cy.ts, dataScienceProjec │ │ ts/testProjectAdminPermissions.cy.ts, featureStore/testFeatureStoreRbac.cy.ts, │ │ learningResources/test...) │ │ Searched: cypress/tests/e2e/applications/testAboutDialog.cy.ts, cypress/tests/e2e/dashbo │ │ ardNavigation/testApplicationLinks.cy.ts, cypress/tests/e2e/dashboardNavigatio │ │ n/testManifestLinks.cy.ts, cypress/tests/e2e/dataScienceProjects/testProjectAd │ │ minPermissions.cy.ts, cypress/tests/e2e/featureStore/testFeatureStoreRbac.cy.t │ │ s, cypress/tests/e2e/learningResources/testCustomResourceCreation.cy.ts, cypre │ │ ss/tests/e2e/modelCatalog/testCatalogSettingsAvailable.cy.ts, cypress/tests/e2 │ │ e/modelCatalog/testModelCatalogAvailable.cy.ts, cypress/tests/e2e/modelCatalog │ │ /testPerformanceFiltersAvailable.cy.ts, cypress/tests/e2e/applications/enabled │ │ /testNotebookAdministration.cy.ts, cypress/tests/e2e/applications/explore/test │ │ EnabledISVs.cy.ts, cypress/tests/e2e/dataScienceProjects/workbenches/testWorkb │ │ enchStorageClasses.cy.ts, cypress/tests/e2e/dataScienceProjects/workbenches/wo │ │ rkbenches.cy.ts, cypress/tests/e2e/modelTraining/trainJobs/testTrainjobLifecyc │ │ le.cy.ts, cypress/tests/e2e/modelTraining/trainJobs/testTrainjobProgression.cy │ │ .ts, cypress/tests/e2e/settings/hardwareProfiles/testDeleteAppliedHardwareProf │ │ ile.cy.ts, cypress/tests/e2e/settings/hardwareProfiles/testHardwareProfiles.cy │ │ .ts, cypress/tests/e2e/settings/hardwareProfiles/testModifyAppliedHardwareProf │ │ ile.cy.ts │ │ Experiments: experimentalInteractiveRunEvents=true,experimentalMemoryManagement=true │ └────────────────────────────────────────────────────────────────────────────────────────────────┘ Remove output folder /workspace/tests-shared/tests-payload/results/SmokeSet1/e2e ──────────────────────────────────────────────────────────────────────────────────────────────────── Running: applications/testAboutDialog.cy.ts (1 of 18) [2026-07-05T21:07:19.075Z] [INFO] Setting tests timeout to: 480 seconds Verify RHODS About Dialog [2026-07-05T21:07:19.101Z] [INFO] Starting 480s timeout for: Verify RHODS About Dialog contains correct information [2026-07-05T21:07:19.120Z] [INFO] Test title: Verify RHODS About Dialog contains correct information [2026-07-05T21:07:19.133Z] [INFO] Test tags: ["@Smoke","@SmokeSet1","@Dashboard","@RHOAIENG-21403","@NonConcurrent"] [2026-07-05T21:07:19.140Z] [INFO] Skip tags: ["@Bug","@Maintain","@Featureflagged","@ModelServingCI","@KServeCI","@ModelServing","@MaaSCI","@ProjectsCI","@PipelinesCI","@Pipelines","@ci-dashboard-regression-tags","@ModelRegistryCI","@AutoMLCI","@Tier1","@ODS-327","@ODS-492"] [2026-07-05T21:07:19.150Z] [INFO] Grep tags: ["@SmokeSet1"] [2026-07-05T21:07:19.163Z] [INFO] Auto-detecting installed product (RHOAI or ODH)... [2026-07-05T21:07:19.863Z] [INFO] [EXEC] oc get csv -n redhat-ods-operator -o json | jq -r '[.items[] | select(.spec.displayName | test("Red Hat OpenShift AI")) | select(.status.phase != "Failed")] | first // empty' [2026-07-05T21:07:19.872Z] [INFO] Command exit code: 0 [2026-07-05T21:07:19.895Z] [INFO] Prepare the CSV JSON for the tests according to the installed Product: Red Hat OpenShift AI [2026-07-05T21:07:20.365Z] [INFO] [EXEC] oc get csv -n redhat-ods-operator -o json | jq -r '[.items[] | select(.spec.displayName | test("Red Hat OpenShift AI")) | select(.status.phase != "Failed")] | first // empty' [2026-07-05T21:07:20.384Z] [INFO] Command exit code: 0 [2026-07-05T21:07:20.411Z] [INFO] [STEP 1] Login to Red Hat OpenShift AI [2026-07-05T21:07:20.430Z] [INFO] Navigate to: https://rh-ai.apps.rosa.nmanos-konflux1.durx.p3.openshiftapps.com/ [2026-07-05T21:07:20.948Z] [INFO] OAuth login flow detected - completing authentication [2026-07-05T21:07:22.936Z] [INFO] [STEP 2] Open the About dialog [2026-07-05T21:07:24.395Z] [INFO] [STEP 3] Verify product 'Red Hat OpenShift AI' in About dialog [2026-07-05T21:07:24.449Z] [INFO] [STEP 4] Verify product 'Red Hat OpenShift AI' in About image [2026-07-05T21:07:24.508Z] [INFO] [STEP 5] Verify Red Hat OpenShift AI version in About dialog [2026-07-05T21:07:24.552Z] [INFO] [STEP 6] Verify Red Hat OpenShift AI channel in About dialog [2026-07-05T21:07:24.921Z] [INFO] [EXEC] oc get subscription -A -o json | jq -r '.items[] | select(.status.installedCSV != null) | select(.status.installedCSV | test("rhods-operator")) | .spec.channel' | head -n 1 [2026-07-05T21:07:24.951Z] [INFO] Command exit code: 0 [2026-07-05T21:07:24.989Z] [INFO] [STEP 7] Verify admin access level [2026-07-05T21:07:25.077Z] [INFO] Verify versions in About dialog's table for component: Dashboard [2026-07-05T21:07:25.450Z] [INFO] [EXEC] oc get Dashboard -A -o jsonpath='{.items[*].status.releases[*].version}' [2026-07-05T21:07:25.458Z] [INFO] Command exit code: 0 [2026-07-05T21:07:25.486Z] [INFO] Retrieved version of Dashboard: [2026-07-05T21:07:25.510Z] [INFO] Verify versions in About dialog's table for component: Pipelines [2026-07-05T21:07:25.852Z] [INFO] [EXEC] oc get Pipelines -A -o jsonpath='{.items[*].status.releases[*].version}' [2026-07-05T21:07:25.859Z] [INFO] Command exit code: 0 [2026-07-05T21:07:25.906Z] [INFO] Retrieved version of Pipelines: [2026-07-05T21:07:25.942Z] [INFO] Verify versions in About dialog's table for component: Kueue [2026-07-05T21:07:26.276Z] [INFO] [EXEC] oc get Kueue -A -o jsonpath='{.items[*].status.releases[*].version}' [2026-07-05T21:07:26.323Z] [INFO] Command exit code: 0 [2026-07-05T21:07:26.369Z] [INFO] Retrieved version of Kueue: [2026-07-05T21:07:26.395Z] [INFO] Verify versions in About dialog's table for component: Model registry [2026-07-05T21:07:26.819Z] [INFO] [EXEC] oc get Modelregistry -A -o jsonpath='{.items[*].status.releases[*].version}' [2026-07-05T21:07:26.825Z] [INFO] Command exit code: 0 [2026-07-05T21:07:26.855Z] [INFO] Retrieved version of Model registry: latest latest [2026-07-05T21:07:26.891Z] [INFO] Verify versions in About dialog's table for component: Feast operator [2026-07-05T21:07:27.242Z] [INFO] [EXEC] oc get Feastoperator -A -o jsonpath='{.items[*].status.releases[*].version}' [2026-07-05T21:07:27.299Z] [INFO] Command exit code: 0 [2026-07-05T21:07:27.353Z] [INFO] Retrieved version of Feast operator: 0.63.0 [2026-07-05T21:07:27.384Z] [INFO] Verify versions in About dialog's table for component: Model server and metrics [2026-07-05T21:07:27.912Z] [INFO] [EXEC] oc get Modelserverandmetrics -A -o jsonpath='{.items[*].status.releases[*].version}' [2026-07-05T21:07:27.974Z] [INFO] Command exit code: 1 [2026-07-05T21:07:28.054Z] [INFO] Failed to retrieve version of Model server and metrics: error: the server doesn't have a resource type "Modelserverandmetrics" [2026-07-05T21:07:28.083Z] [INFO] Verify versions in About dialog's table for component: Ray [2026-07-05T21:07:28.545Z] [INFO] [EXEC] oc get Ray -A -o jsonpath='{.items[*].status.releases[*].version}' [2026-07-05T21:07:28.577Z] [INFO] Command exit code: 0 [2026-07-05T21:07:28.653Z] [INFO] Retrieved version of Ray: 1.4.2 [2026-07-05T21:07:28.711Z] [INFO] Verify versions in About dialog's table for component: Training operator [2026-07-05T21:07:29.218Z] [INFO] [EXEC] oc get Trainingoperator -A -o jsonpath='{.items[*].status.releases[*].version}' [2026-07-05T21:07:29.249Z] [INFO] Command exit code: 0 [2026-07-05T21:07:29.263Z] [INFO] Retrieved version of Training operator: 1.9.0 [2026-07-05T21:07:29.353Z] [INFO] Verify versions in About dialog's table for component: TrustyAI [2026-07-05T21:07:30.051Z] [INFO] [EXEC] oc get TrustyAI -A -o jsonpath='{.items[*].status.releases[*].version}' [2026-07-05T21:07:30.058Z] [INFO] Command exit code: 0 [2026-07-05T21:07:30.134Z] [INFO] Retrieved version of TrustyAI: v1.37.0 v0.28.0 v1.37.0 v0.4.8 0.9.4 v0.2.0 v0.2.1 v0.3.0 [2026-07-05T21:07:30.143Z] [INFO] Verify versions in About dialog's table for component: Workbenches [2026-07-05T21:07:30.656Z] [INFO] [EXEC] oc get Workbenches -A -o jsonpath='{.items[*].status.releases[*].version}' [2026-07-05T21:07:30.726Z] [INFO] Command exit code: 0 [2026-07-05T21:07:30.734Z] [INFO] Retrieved version of Workbenches: 1.10.0 [2026-07-05T21:07:30.740Z] [INFO] Verify versions in About dialog's table for component: Trainer [2026-07-05T21:07:31.312Z] [INFO] [EXEC] oc get Trainer -A -o jsonpath='{.items[*].status.releases[*].version}' [2026-07-05T21:07:31.374Z] [INFO] Command exit code: 0 [2026-07-05T21:07:31.467Z] [INFO] Retrieved version of Trainer: 2.1.0 [2026-07-05T21:07:31.514Z] [INFO] Verify versions in About dialog's table for component: MLflow [2026-07-05T21:07:32.154Z] [INFO] [EXEC] oc get MLflow -A -o jsonpath='{.items[*].status.releases[*].version}' [2026-07-05T21:07:32.227Z] [INFO] Command exit code: 0 [2026-07-05T21:07:32.346Z] [INFO] Retrieved version of MLflow: ✓ Verify RHODS About Dialog contains correct information (13414ms) 1 passing (14s) [mochawesome] Report JSON saved to /workspace/tests-shared/tests-payload/results/SmokeSet1/e2e/.jsons/mochawesome.json (Results) ┌────────────────────────────────────────────────────────────────────────────────────────────────┐ │ Tests: 1 │ │ Passing: 1 │ │ Failing: 0 │ │ Pending: 0 │ │ Skipped: 0 │ │ Screenshots: 0 │ │ Video: false │ │ Duration: 13 seconds │ │ Spec Ran: applications/testAboutDialog.cy.ts │ └────────────────────────────────────────────────────────────────────────────────────────────────┘ ──────────────────────────────────────────────────────────────────────────────────────────────────── Running: dashboardNavigation/testApplicationLinks.cy.ts (2 of 18) [2026-07-05T21:07:36.227Z] [INFO] Setting tests timeout to: 480 seconds Verify the RHOAI Application and Switcher links in the Dashboard Navigation [2026-07-05T21:07:36.248Z] [INFO] Starting 480s timeout for: Verify the various application tabs and switcher links are operational [2026-07-05T21:07:36.312Z] [INFO] Test title: Verify the various application tabs and switcher links are operational [2026-07-05T21:07:36.328Z] [INFO] Test tags: ["@Smoke","@SmokeSet1","@ODS-771","@Dashboard","@NonConcurrent"] [2026-07-05T21:07:36.342Z] [INFO] Skip tags: ["@Bug","@Maintain","@Featureflagged","@ModelServingCI","@KServeCI","@ModelServing","@MaaSCI","@ProjectsCI","@PipelinesCI","@Pipelines","@ci-dashboard-regression-tags","@ModelRegistryCI","@AutoMLCI","@Tier1","@ODS-327","@ODS-492"] [2026-07-05T21:07:36.355Z] [INFO] Grep tags: ["@SmokeSet1"] [2026-07-05T21:07:36.412Z] [INFO] [STEP 1] Log into the application [2026-07-05T21:07:36.425Z] [INFO] Navigate to: https://rh-ai.apps.rosa.nmanos-konflux1.durx.p3.openshiftapps.com/ [2026-07-05T21:07:36.649Z] [INFO] OAuth login flow detected - completing authentication [2026-07-05T21:07:39.316Z] [INFO] [STEP 2] Click the Application Launcher [2026-07-05T21:07:40.142Z] [INFO] [STEP 3] Extract the Application and Switcher URLs [2026-07-05T21:07:40.325Z] [INFO] Extracted URLs: /, https://console-openshift-console.apps.rosa.nmanos-konflux1.durx.p3.openshiftapps.com:, https://cloud.redhat.com/openshift/details/b7c47ef5-e041-4d36-af77-f67068d1baba, /, /projects, /ai-hub/models, /maas/tokens, /develop-train/feature-store/overview, /develop-train/feature-store/entities, /develop-train/feature-store/data-sources, /develop-train/feature-store/datasets, /develop-train/feature-store/features, /develop-train/feature-store/feature-views, /develop-train/feature-store/feature-services, /develop-train/pipelines/definitions, /develop-train/pipelines/runs, /develop-train/pipelines/artifacts, /develop-train/pipelines/executions, /develop-train/mlflow/experiments, /develop-train/training-jobs, /observe-monitor/workload-metrics, /learning-resources, /applications/enabled, /applications/explore [2026-07-05T21:07:40.415Z] [INFO] Verify that each URL is accessible and that a 200 is returned [2026-07-05T21:07:40.566Z] [INFO] ✅ / - Status: 200 [2026-07-05T21:07:41.142Z] [INFO] ✅ https://console-openshift-console.apps.rosa.nmanos-konflux1.durx.p3.openshiftapps.com: - Status: 200 [2026-07-05T21:07:41.773Z] [INFO] ✅ https://cloud.redhat.com/openshift/details/b7c47ef5-e041-4d36-af77-f67068d1baba - Status: 200 [2026-07-05T21:07:41.822Z] [INFO] ✅ / - Status: 200 [2026-07-05T21:07:41.923Z] [INFO] ✅ /projects - Status: 200 [2026-07-05T21:07:42.014Z] [INFO] ✅ /ai-hub/models - Status: 200 [2026-07-05T21:07:42.115Z] [INFO] ✅ /maas/tokens - Status: 200 [2026-07-05T21:07:42.234Z] [INFO] ✅ /develop-train/feature-store/overview - Status: 200 [2026-07-05T21:07:42.338Z] [INFO] ✅ /develop-train/feature-store/entities - Status: 200 [2026-07-05T21:07:42.436Z] [INFO] ✅ /develop-train/feature-store/data-sources - Status: 200 [2026-07-05T21:07:42.610Z] [INFO] ✅ /develop-train/feature-store/datasets - Status: 200 [2026-07-05T21:07:42.728Z] [INFO] ✅ /develop-train/feature-store/features - Status: 200 [2026-07-05T21:07:42.820Z] [INFO] ✅ /develop-train/feature-store/feature-views - Status: 200 [2026-07-05T21:07:42.938Z] [INFO] ✅ /develop-train/feature-store/feature-services - Status: 200 [2026-07-05T21:07:43.111Z] [INFO] ✅ /develop-train/pipelines/definitions - Status: 200 [2026-07-05T21:07:43.160Z] [INFO] ✅ /develop-train/pipelines/runs - Status: 200 [2026-07-05T21:07:43.257Z] [INFO] ✅ /develop-train/pipelines/artifacts - Status: 200 [2026-07-05T21:07:43.352Z] [INFO] ✅ /develop-train/pipelines/executions - Status: 200 [2026-07-05T21:07:43.451Z] [INFO] ✅ /develop-train/mlflow/experiments - Status: 200 [2026-07-05T21:07:43.542Z] [INFO] ✅ /develop-train/training-jobs - Status: 200 [2026-07-05T21:07:43.639Z] [INFO] ✅ /observe-monitor/workload-metrics - Status: 200 [2026-07-05T21:07:43.723Z] [INFO] ✅ /learning-resources - Status: 200 [2026-07-05T21:07:43.796Z] [INFO] ✅ /applications/enabled - Status: 200 [2026-07-05T21:07:43.873Z] [INFO] ✅ /applications/explore - Status: 200 ✓ Verify the various application tabs and switcher links are operational (7864ms) 1 passing (8s) [mochawesome] Report JSON saved to /workspace/tests-shared/tests-payload/results/SmokeSet1/e2e/.jsons/mochawesome_001.json (Results) ┌────────────────────────────────────────────────────────────────────────────────────────────────┐ │ Tests: 1 │ │ Passing: 1 │ │ Failing: 0 │ │ Pending: 0 │ │ Skipped: 0 │ │ Screenshots: 0 │ │ Video: false │ │ Duration: 7 seconds │ │ Spec Ran: dashboardNavigation/testApplicationLinks.cy.ts │ └────────────────────────────────────────────────────────────────────────────────────────────────┘ ──────────────────────────────────────────────────────────────────────────────────────────────────── Running: dashboardNavigation/testManifestLinks.cy.ts (3 of 18) [2026-07-05T21:07:48.734Z] [INFO] Setting tests timeout to: 480 seconds Verify that all the URLs referenced in the Manifest directory are operational - Validates URL format and checks for common mistakes in manifest files (fast, stable) - Checks URL reachability with tolerance for transient errors (429, 502, 503, 504) [2026-07-05T21:07:48.820Z] [INFO] No tests were executed. Skipping soft assertions. 0 passing (289ms) 2 pending [mochawesome] Report JSON saved to /workspace/tests-shared/tests-payload/results/SmokeSet1/e2e/.jsons/mochawesome_002.json (Results) ┌────────────────────────────────────────────────────────────────────────────────────────────────┐ │ Tests: 2 │ │ Passing: 0 │ │ Failing: 0 │ │ Pending: 2 │ │ Skipped: 0 │ │ Screenshots: 0 │ │ Video: false │ │ Duration: 0 seconds │ │ Spec Ran: dashboardNavigation/testManifestLinks.cy.ts │ └────────────────────────────────────────────────────────────────────────────────────────────────┘ ──────────────────────────────────────────────────────────────────────────────────────────────────── Running: dataScienceProjects/testProjectAdminPermissions.cy.ts (4 of 18) [2026-07-05T21:07:54.916Z] [INFO] Setting tests timeout to: 480 seconds Verify that users can provide admin project permissions to non-admin users/groups [2026-07-05T21:07:54.928Z] [INFO] Starting 480s timeout for: Verify that user can be added as an Admin for a Project [2026-07-05T21:07:54.933Z] [INFO] Test title: Verify that user can be added as an Admin for a Project [2026-07-05T21:07:54.940Z] [INFO] Test tags: ["@Smoke","@SmokeSet1","@ODS-2194","@ODS-2201","@ODS-2208","@Dashboard"] [2026-07-05T21:07:55.016Z] [INFO] Skip tags: ["@Bug","@Maintain","@Featureflagged","@ModelServingCI","@KServeCI","@ModelServing","@MaaSCI","@ProjectsCI","@PipelinesCI","@Pipelines","@ci-dashboard-regression-tags","@ModelRegistryCI","@AutoMLCI","@Tier1","@ODS-327","@ODS-492"] [2026-07-05T21:07:55.022Z] [INFO] Grep tags: ["@SmokeSet1"] [2026-07-05T21:07:55.046Z] [INFO] Loaded project name: cypress-user-perm-test-526006 [2026-07-05T21:07:55.112Z] [INFO] Executing command: oc get project "cypress-user-perm-test-526006" -o name [2026-07-05T21:07:55.718Z] [INFO] [EXEC] oc get project "cypress-user-perm-test-526006" -o name [2026-07-05T21:07:55.726Z] [INFO] Command result: {"stdout":"","stderr":"Error from server (NotFound): namespaces \"cypress-user-perm-test-526006\" not found","exitCode":1} [2026-07-05T21:07:55.735Z] [INFO] Project 'cypress-user-perm-test-526006' does not exist. [2026-07-05T21:07:55.747Z] [INFO] Creating project cypress-user-perm-test-526006 [2026-07-05T21:07:56.635Z] [INFO] [EXEC] oc new-project cypress-user-perm-test-526006 [2026-07-05T21:07:57.419Z] [INFO] [EXEC] oc label namespace cypress-user-perm-test-526006 opendatahub.io/dashboard=true --overwrite [2026-07-05T21:07:57.428Z] [INFO] Executing command: oc get project "cypress-user-perm-test-526006" -o name [2026-07-05T21:07:58.051Z] [INFO] [EXEC] oc get project "cypress-user-perm-test-526006" -o name [2026-07-05T21:07:58.109Z] [INFO] Command result: {"stdout":"project.project.openshift.io/cypress-user-perm-test-526006","stderr":"","exitCode":0} [2026-07-05T21:07:58.118Z] [INFO] Project 'cypress-user-perm-test-526006' exists. [2026-07-05T21:07:58.126Z] [INFO] Project cypress-user-perm-test-526006 confirmed to be created and verified successfully [2026-07-05T21:07:58.141Z] [INFO] [STEP 1] Log into the application [2026-07-05T21:07:58.149Z] [INFO] Navigate to: https://rh-ai.apps.rosa.nmanos-konflux1.durx.p3.openshiftapps.com/ [2026-07-05T21:07:58.533Z] [INFO] OAuth login flow detected - completing authentication [2026-07-05T21:08:01.916Z] [INFO] [STEP 2] Navigate to the Project list tab and search for cypress-user-perm-test-526006 [2026-07-05T21:08:08.811Z] [INFO] [STEP 3] Assign admin user Project Permissions [2026-07-05T21:08:15.114Z] [INFO] [STEP 4] Save the user and validate that htpasswd-cluster-admin-user has been saved with admin permissions ✓ Verify that user can be added as an Admin for a Project (20493ms) [2026-07-05T21:08:15.648Z] [INFO] Starting 480s timeout for: Verify user can assign access permissions to user group [2026-07-05T21:08:15.711Z] [INFO] Test title: Verify user can assign access permissions to user group [2026-07-05T21:08:15.717Z] [INFO] Test tags: ["@Smoke","@SmokeSet1","@ODS-2194","@ODS-2201","@ODS-2208","@Dashboard","@NonConcurrent"] [2026-07-05T21:08:15.723Z] [INFO] Skip tags: ["@Bug","@Maintain","@Featureflagged","@ModelServingCI","@KServeCI","@ModelServing","@MaaSCI","@ProjectsCI","@PipelinesCI","@Pipelines","@ci-dashboard-regression-tags","@ModelRegistryCI","@AutoMLCI","@Tier1","@ODS-327","@ODS-492"] [2026-07-05T21:08:15.729Z] [INFO] Grep tags: ["@SmokeSet1"] [2026-07-05T21:08:15.818Z] [INFO] [STEP 1] Log into the application [2026-07-05T21:08:15.908Z] [INFO] Navigate to: https://rh-ai.apps.rosa.nmanos-konflux1.durx.p3.openshiftapps.com/ [2026-07-05T21:08:16.250Z] [INFO] OAuth login flow detected - completing authentication [2026-07-05T21:08:19.132Z] [INFO] [STEP 2] Navigate to the Project list tab and search for cypress-user-perm-test-526006 [2026-07-05T21:08:26.230Z] [INFO] [STEP 3] Assign admin group Project Permissions [2026-07-05T21:08:35.517Z] [INFO] [STEP 4] Save the group and validate that htpasswd-cluster-admin-user has been saved with admin permissions ✓ Verify user can assign access permissions to user group (20295ms) [2026-07-05T21:08:36.617Z] [INFO] Starting 480s timeout for: Verify that user can access the created project with Admin rights [2026-07-05T21:08:36.621Z] [INFO] Test title: Verify that user can access the created project with Admin rights [2026-07-05T21:08:36.712Z] [INFO] Test tags: ["@Smoke","@SmokeSet1","@ODS-2194","@ODS-2201","@ODS-2208","@Dashboard","@NonConcurrent"] [2026-07-05T21:08:36.809Z] [INFO] Skip tags: ["@Bug","@Maintain","@Featureflagged","@ModelServingCI","@KServeCI","@ModelServing","@MaaSCI","@ProjectsCI","@PipelinesCI","@Pipelines","@ci-dashboard-regression-tags","@ModelRegistryCI","@AutoMLCI","@Tier1","@ODS-327","@ODS-492"] [2026-07-05T21:08:36.819Z] [INFO] Grep tags: ["@SmokeSet1"] [2026-07-05T21:08:36.918Z] [INFO] [STEP 1] Log into the application as non-admin [2026-07-05T21:08:36.926Z] [INFO] Navigate to: https://rh-ai.apps.rosa.nmanos-konflux1.durx.p3.openshiftapps.com/ [2026-07-05T21:08:37.433Z] [INFO] OAuth login flow detected - completing authentication [2026-07-05T21:08:40.120Z] [INFO] [STEP 2] Verify that the user has access to the created project and can access Permissions [2026-07-05T21:08:49.726Z] [INFO] Deleting Project cypress-user-perm-test-526006 after the test has finished. [2026-07-05T21:08:50.821Z] [INFO] [EXEC] oc delete project cypress-user-perm-test-526006 --wait=false --ignore-not-found ✓ Verify that user can access the created project with Admin rights (12897ms) 3 passing (56s) [mochawesome] Report JSON saved to /workspace/tests-shared/tests-payload/results/SmokeSet1/e2e/.jsons/mochawesome_003.json (Results) ┌────────────────────────────────────────────────────────────────────────────────────────────────┐ │ Tests: 3 │ │ Passing: 3 │ │ Failing: 0 │ │ Pending: 0 │ │ Skipped: 0 │ │ Screenshots: 0 │ │ Video: false │ │ Duration: 56 seconds │ │ Spec Ran: dataScienceProjects/testProjectAdminPermissions.cy.ts │ └────────────────────────────────────────────────────────────────────────────────────────────────┘ ──────────────────────────────────────────────────────────────────────────────────────────────────── Running: featureStore/testFeatureStoreRbac.cy.ts (5 of 18) [2026-07-05T21:09:02.014Z] [INFO] Setting tests timeout to: 480 seconds Verify RBAC scoped Feature Store discovery by namespace access [2026-07-05T21:09:02.031Z] [INFO] Starting 480s timeout for: Admin user can discover the Feature Store project [2026-07-05T21:09:02.035Z] [INFO] Test title: Admin user can discover the Feature Store project [2026-07-05T21:09:02.118Z] [INFO] Test tags: ["@Dashboard","@FeatureStore","@FeatureStoreCI","@Smoke","@SmokeSet1"] [2026-07-05T21:09:02.125Z] [INFO] Skip tags: ["@Bug","@Maintain","@Featureflagged","@ModelServingCI","@KServeCI","@ModelServing","@MaaSCI","@ProjectsCI","@PipelinesCI","@Pipelines","@ci-dashboard-regression-tags","@ModelRegistryCI","@AutoMLCI","@Tier1","@ODS-327","@ODS-492"] [2026-07-05T21:09:02.133Z] [INFO] Grep tags: ["@SmokeSet1"] [2026-07-05T21:09:02.228Z] [INFO] Ensure admin oc session for setup [2026-07-05T21:09:03.215Z] [INFO] [EXEC] oc whoami [2026-07-05T21:09:05.238Z] [INFO] [EXEC] oc login -u "***" -p "***" --server="https://api.nmanos-konflux1.durx.p3.openshiftapps.com:443" --insecure-skip-tls-verify [2026-07-05T21:09:05.313Z] [INFO] Check if the operator is RHOAI [2026-07-05T21:09:06.139Z] [INFO] [EXEC] oc get subscription -A -o json | jq -r '.items[] | select(.spec.name=="rhods-operator") | .spec.channel' [2026-07-05T21:09:06.216Z] [INFO] Command exit code: 0 [2026-07-05T21:09:06.225Z] [INFO] RHOAI confirmed (subscription channel="beta"). [2026-07-05T21:09:06.311Z] [INFO] Create namespace: test-fs-ui-proj-108259 [2026-07-05T21:09:06.317Z] [INFO] Executing command: oc get project "test-fs-ui-proj-108259" -o name [2026-07-05T21:09:07.116Z] [INFO] [EXEC] oc get project "test-fs-ui-proj-108259" -o name [2026-07-05T21:09:07.123Z] [INFO] Command result: {"stdout":"project.project.openshift.io/test-fs-ui-proj-108259","stderr":"","exitCode":0} [2026-07-05T21:09:07.131Z] [INFO] Project 'test-fs-ui-proj-108259' exists. [2026-07-05T21:09:07.139Z] [INFO] Project test-fs-ui-proj-108259 already exists. Deleting it. [2026-07-05T21:09:58.127Z] [INFO] [EXEC] oc delete project test-fs-ui-proj-108259 --wait [2026-07-05T21:09:58.154Z] [INFO] Waiting for project test-fs-ui-proj-108259 to be fully deleted... [2026-07-05T21:09:58.213Z] [INFO] Executing command: oc get project "test-fs-ui-proj-108259" -o name [2026-07-05T21:09:58.620Z] [INFO] [EXEC] oc get project "test-fs-ui-proj-108259" -o name [2026-07-05T21:09:58.641Z] [INFO] Command result: {"stdout":"","stderr":"Error from server (NotFound): namespaces \"test-fs-ui-proj-108259\" not found","exitCode":1} [2026-07-05T21:09:58.726Z] [INFO] Project 'test-fs-ui-proj-108259' does not exist. [2026-07-05T21:09:58.833Z] [INFO] Creating project test-fs-ui-proj-108259 [2026-07-05T21:09:59.440Z] [INFO] [EXEC] oc new-project test-fs-ui-proj-108259 [2026-07-05T21:09:59.964Z] [INFO] [EXEC] oc label namespace test-fs-ui-proj-108259 opendatahub.io/dashboard=true --overwrite [2026-07-05T21:09:59.974Z] [INFO] Executing command: oc get project "test-fs-ui-proj-108259" -o name [2026-07-05T21:10:00.299Z] [INFO] [EXEC] oc get project "test-fs-ui-proj-108259" -o name [2026-07-05T21:10:00.306Z] [INFO] Command result: {"stdout":"project.project.openshift.io/test-fs-ui-proj-108259","stderr":"","exitCode":0} [2026-07-05T21:10:00.314Z] [INFO] Project 'test-fs-ui-proj-108259' exists. [2026-07-05T21:10:00.324Z] [INFO] Apply FeatureStore CR in namespace: test-fs-ui-proj-108259 [2026-07-05T21:10:00.821Z] [INFO] [EXEC] oc apply -f /tmp/cypress-yaml-1783285800328-z4e2a98qh.yaml && rm -f /tmp/cypress-yaml-1783285800328-z4e2a98qh.yaml [2026-07-05T21:10:00.854Z] [INFO] Command exit code: 0 [2026-07-05T21:10:00.873Z] [INFO] Finding pods with command: oc get pods -n test-fs-ui-proj-108259 -o custom-columns="NAMESPACE:.metadata.namespace,NAME:.metadata.name" --no-headers | grep test-s3 [2026-07-05T21:10:11.321Z] [INFO] [EXEC] oc get pods -n test-fs-ui-proj-108259 -o custom-columns="NAMESPACE:.metadata.namespace,NAME:.metadata.name" --no-headers | grep test-s3 [2026-07-05T21:10:11.354Z] [INFO] Parsed: namespace = test-fs-ui-proj-108259, podName = feast-test-s3-575f9bd4f7-xnbgx [2026-07-05T21:10:11.360Z] [INFO] Found 1 matching pods [2026-07-05T21:10:11.376Z] [INFO] Executing command to wait for pod readiness: oc wait --for=condition=Ready pod/feast-test-s3-575f9bd4f7-xnbgx -n test-fs-ui-proj-108259 --timeout=300s [2026-07-05T21:10:19.723Z] [INFO] [EXEC] oc wait --for=condition=Ready pod/feast-test-s3-575f9bd4f7-xnbgx -n test-fs-ui-proj-108259 --timeout=300s [2026-07-05T21:10:19.744Z] [INFO] Pod is ready: pod/feast-test-s3-575f9bd4f7-xnbgx condition met [2026-07-05T21:10:19.811Z] [INFO] [STEP 1] Log in as admin user [2026-07-05T21:10:19.820Z] [INFO] Navigate to: https://rh-ai.apps.rosa.nmanos-konflux1.durx.p3.openshiftapps.com/ [2026-07-05T21:10:20.263Z] [INFO] OAuth login flow detected - completing authentication [2026-07-05T21:10:23.252Z] [INFO] [STEP 2] Navigate to the Feature Store Overview page [2026-07-05T21:10:35.690Z] [INFO] Starting 480s timeout for: Admin user can discover the Feature Store project [2026-07-05T21:10:35.710Z] [INFO] Test title: Admin user can discover the Feature Store project [2026-07-05T21:10:35.716Z] [INFO] Test tags: ["@Dashboard","@FeatureStore","@FeatureStoreCI","@Smoke","@SmokeSet1"] [2026-07-05T21:10:35.721Z] [INFO] Skip tags: ["@Bug","@Maintain","@Featureflagged","@ModelServingCI","@KServeCI","@ModelServing","@MaaSCI","@ProjectsCI","@PipelinesCI","@Pipelines","@ci-dashboard-regression-tags","@ModelRegistryCI","@AutoMLCI","@Tier1","@ODS-327","@ODS-492"] [2026-07-05T21:10:35.726Z] [INFO] Grep tags: ["@SmokeSet1"] [2026-07-05T21:10:35.741Z] [INFO] Ensure admin oc session for setup [2026-07-05T21:10:36.135Z] [INFO] [EXEC] oc whoami [2026-07-05T21:10:36.144Z] [INFO] Check if the operator is RHOAI [2026-07-05T21:10:36.720Z] [INFO] [EXEC] oc get subscription -A -o json | jq -r '.items[] | select(.spec.name=="rhods-operator") | .spec.channel' [2026-07-05T21:10:36.729Z] [INFO] Command exit code: 0 [2026-07-05T21:10:36.738Z] [INFO] RHOAI confirmed (subscription channel="beta"). [2026-07-05T21:10:36.753Z] [INFO] Create namespace: test-fs-ui-proj-108259 [2026-07-05T21:10:36.759Z] [INFO] Executing command: oc get project "test-fs-ui-proj-108259" -o name [2026-07-05T21:10:37.212Z] [INFO] [EXEC] oc get project "test-fs-ui-proj-108259" -o name [2026-07-05T21:10:37.220Z] [INFO] Command result: {"stdout":"project.project.openshift.io/test-fs-ui-proj-108259","stderr":"","exitCode":0} [2026-07-05T21:10:37.227Z] [INFO] Project 'test-fs-ui-proj-108259' exists. [2026-07-05T21:10:37.236Z] [INFO] Project test-fs-ui-proj-108259 already exists. Deleting it. [2026-07-05T21:11:24.291Z] [INFO] [EXEC] oc delete project test-fs-ui-proj-108259 --wait [2026-07-05T21:11:24.323Z] [INFO] Waiting for project test-fs-ui-proj-108259 to be fully deleted... [2026-07-05T21:11:24.329Z] [INFO] Executing command: oc get project "test-fs-ui-proj-108259" -o name [2026-07-05T21:11:24.680Z] [INFO] [EXEC] oc get project "test-fs-ui-proj-108259" -o name [2026-07-05T21:11:24.687Z] [INFO] Command result: {"stdout":"","stderr":"Error from server (NotFound): namespaces \"test-fs-ui-proj-108259\" not found","exitCode":1} [2026-07-05T21:11:24.714Z] [INFO] Project 'test-fs-ui-proj-108259' does not exist. [2026-07-05T21:11:24.728Z] [INFO] Creating project test-fs-ui-proj-108259 [2026-07-05T21:11:25.150Z] [INFO] [EXEC] oc new-project test-fs-ui-proj-108259 [2026-07-05T21:11:25.507Z] [INFO] [EXEC] oc label namespace test-fs-ui-proj-108259 opendatahub.io/dashboard=true --overwrite [2026-07-05T21:11:25.515Z] [INFO] Executing command: oc get project "test-fs-ui-proj-108259" -o name [2026-07-05T21:11:25.814Z] [INFO] [EXEC] oc get project "test-fs-ui-proj-108259" -o name [2026-07-05T21:11:25.825Z] [INFO] Command result: {"stdout":"project.project.openshift.io/test-fs-ui-proj-108259","stderr":"","exitCode":0} [2026-07-05T21:11:25.835Z] [INFO] Project 'test-fs-ui-proj-108259' exists. [2026-07-05T21:11:25.845Z] [INFO] Apply FeatureStore CR in namespace: test-fs-ui-proj-108259 [2026-07-05T21:11:26.629Z] [INFO] [EXEC] oc apply -f /tmp/cypress-yaml-1783285885847-qdy6resad.yaml && rm -f /tmp/cypress-yaml-1783285885847-qdy6resad.yaml [2026-07-05T21:11:26.636Z] [INFO] Command exit code: 0 [2026-07-05T21:11:26.640Z] [INFO] Finding pods with command: oc get pods -n test-fs-ui-proj-108259 -o custom-columns="NAMESPACE:.metadata.namespace,NAME:.metadata.name" --no-headers | grep test-s3 [2026-07-05T21:11:37.019Z] [INFO] [EXEC] oc get pods -n test-fs-ui-proj-108259 -o custom-columns="NAMESPACE:.metadata.namespace,NAME:.metadata.name" --no-headers | grep test-s3 [2026-07-05T21:11:37.036Z] [INFO] Parsed: namespace = test-fs-ui-proj-108259, podName = feast-test-s3-575f9bd4f7-nphtx [2026-07-05T21:11:37.046Z] [INFO] Found 1 matching pods [2026-07-05T21:11:37.052Z] [INFO] Executing command to wait for pod readiness: oc wait --for=condition=Ready pod/feast-test-s3-575f9bd4f7-nphtx -n test-fs-ui-proj-108259 --timeout=300s [2026-07-05T21:11:45.479Z] [INFO] [EXEC] oc wait --for=condition=Ready pod/feast-test-s3-575f9bd4f7-nphtx -n test-fs-ui-proj-108259 --timeout=300s [2026-07-05T21:11:45.487Z] [INFO] Pod is ready: pod/feast-test-s3-575f9bd4f7-nphtx condition met [2026-07-05T21:11:45.499Z] [INFO] [STEP 1] Log in as admin user [2026-07-05T21:11:45.514Z] [INFO] Navigate to: https://rh-ai.apps.rosa.nmanos-konflux1.durx.p3.openshiftapps.com/ [2026-07-05T21:11:45.879Z] [INFO] OAuth login flow detected - completing authentication [2026-07-05T21:11:48.131Z] [INFO] [STEP 2] Navigate to the Feature Store Overview page 1) Admin user can discover the Feature Store project [2026-07-05T21:12:00.014Z] [INFO] Starting 480s timeout for: Non-admin user without namespace access cannot discover the Feature Store project [2026-07-05T21:12:00.017Z] [INFO] Test title: Non-admin user without namespace access cannot discover the Feature Store project [2026-07-05T21:12:00.022Z] [INFO] Test tags: ["@Dashboard","@FeatureStore","@FeatureStoreCI","@Smoke","@SmokeSet1"] [2026-07-05T21:12:00.026Z] [INFO] Skip tags: ["@Bug","@Maintain","@Featureflagged","@ModelServingCI","@KServeCI","@ModelServing","@MaaSCI","@ProjectsCI","@PipelinesCI","@Pipelines","@ci-dashboard-regression-tags","@ModelRegistryCI","@AutoMLCI","@Tier1","@ODS-327","@ODS-492"] [2026-07-05T21:12:00.030Z] [INFO] Grep tags: ["@SmokeSet1"] [2026-07-05T21:12:00.040Z] [INFO] [STEP 1] Log in as non-admin user (no access to the test namespace) [2026-07-05T21:12:00.045Z] [INFO] Navigate to: https://rh-ai.apps.rosa.nmanos-konflux1.durx.p3.openshiftapps.com/ [2026-07-05T21:12:00.212Z] [INFO] OAuth login flow detected - completing authentication [2026-07-05T21:12:01.368Z] [INFO] [STEP 2] Navigate to the Feature Store Overview page [2026-07-05T21:12:12.624Z] [INFO] Starting 480s timeout for: Non-admin user without namespace access cannot discover the Feature Store project [2026-07-05T21:12:12.627Z] [INFO] Test title: Non-admin user without namespace access cannot discover the Feature Store project [2026-07-05T21:12:12.631Z] [INFO] Test tags: ["@Dashboard","@FeatureStore","@FeatureStoreCI","@Smoke","@SmokeSet1"] [2026-07-05T21:12:12.635Z] [INFO] Skip tags: ["@Bug","@Maintain","@Featureflagged","@ModelServingCI","@KServeCI","@ModelServing","@MaaSCI","@ProjectsCI","@PipelinesCI","@Pipelines","@ci-dashboard-regression-tags","@ModelRegistryCI","@AutoMLCI","@Tier1","@ODS-327","@ODS-492"] [2026-07-05T21:12:12.639Z] [INFO] Grep tags: ["@SmokeSet1"] [2026-07-05T21:12:12.650Z] [INFO] Ensure admin oc session for setup [2026-07-05T21:12:12.915Z] [INFO] [EXEC] oc whoami [2026-07-05T21:12:12.919Z] [INFO] Check if the operator is RHOAI [2026-07-05T21:12:13.375Z] [INFO] [EXEC] oc get subscription -A -o json | jq -r '.items[] | select(.spec.name=="rhods-operator") | .spec.channel' [2026-07-05T21:12:13.413Z] [INFO] Command exit code: 0 [2026-07-05T21:12:13.420Z] [INFO] RHOAI confirmed (subscription channel="beta"). [2026-07-05T21:12:13.432Z] [INFO] Create namespace: test-fs-ui-proj-108259 [2026-07-05T21:12:13.438Z] [INFO] Executing command: oc get project "test-fs-ui-proj-108259" -o name [2026-07-05T21:12:13.817Z] [INFO] [EXEC] oc get project "test-fs-ui-proj-108259" -o name [2026-07-05T21:12:13.824Z] [INFO] Command result: {"stdout":"project.project.openshift.io/test-fs-ui-proj-108259","stderr":"","exitCode":0} [2026-07-05T21:12:13.832Z] [INFO] Project 'test-fs-ui-proj-108259' exists. [2026-07-05T21:12:13.842Z] [INFO] Project test-fs-ui-proj-108259 already exists. Deleting it. [2026-07-05T21:13:00.641Z] [INFO] [EXEC] oc delete project test-fs-ui-proj-108259 --wait [2026-07-05T21:13:00.651Z] [INFO] Waiting for project test-fs-ui-proj-108259 to be fully deleted... [2026-07-05T21:13:00.659Z] [INFO] Executing command: oc get project "test-fs-ui-proj-108259" -o name [2026-07-05T21:13:00.937Z] [INFO] [EXEC] oc get project "test-fs-ui-proj-108259" -o name [2026-07-05T21:13:00.946Z] [INFO] Command result: {"stdout":"","stderr":"Error from server (NotFound): namespaces \"test-fs-ui-proj-108259\" not found","exitCode":1} [2026-07-05T21:13:00.954Z] [INFO] Project 'test-fs-ui-proj-108259' does not exist. [2026-07-05T21:13:00.969Z] [INFO] Creating project test-fs-ui-proj-108259 [2026-07-05T21:13:01.495Z] [INFO] [EXEC] oc new-project test-fs-ui-proj-108259 [2026-07-05T21:13:01.926Z] [INFO] [EXEC] oc label namespace test-fs-ui-proj-108259 opendatahub.io/dashboard=true --overwrite [2026-07-05T21:13:01.933Z] [INFO] Executing command: oc get project "test-fs-ui-proj-108259" -o name [2026-07-05T21:13:02.373Z] [INFO] [EXEC] oc get project "test-fs-ui-proj-108259" -o name [2026-07-05T21:13:02.381Z] [INFO] Command result: {"stdout":"project.project.openshift.io/test-fs-ui-proj-108259","stderr":"","exitCode":0} [2026-07-05T21:13:02.389Z] [INFO] Project 'test-fs-ui-proj-108259' exists. [2026-07-05T21:13:02.410Z] [INFO] Apply FeatureStore CR in namespace: test-fs-ui-proj-108259 [2026-07-05T21:13:02.981Z] [INFO] [EXEC] oc apply -f /tmp/cypress-yaml-1783285982412-xil28fhgk.yaml && rm -f /tmp/cypress-yaml-1783285982412-xil28fhgk.yaml [2026-07-05T21:13:02.988Z] [INFO] Command exit code: 0 [2026-07-05T21:13:02.992Z] [INFO] Finding pods with command: oc get pods -n test-fs-ui-proj-108259 -o custom-columns="NAMESPACE:.metadata.namespace,NAME:.metadata.name" --no-headers | grep test-s3 [2026-07-05T21:13:13.429Z] [INFO] [EXEC] oc get pods -n test-fs-ui-proj-108259 -o custom-columns="NAMESPACE:.metadata.namespace,NAME:.metadata.name" --no-headers | grep test-s3 [2026-07-05T21:13:13.452Z] [INFO] Parsed: namespace = test-fs-ui-proj-108259, podName = feast-test-s3-575f9bd4f7-lm5wm [2026-07-05T21:13:13.460Z] [INFO] Found 1 matching pods [2026-07-05T21:13:13.514Z] [INFO] Executing command to wait for pod readiness: oc wait --for=condition=Ready pod/feast-test-s3-575f9bd4f7-lm5wm -n test-fs-ui-proj-108259 --timeout=300s [2026-07-05T21:13:22.061Z] [INFO] [EXEC] oc wait --for=condition=Ready pod/feast-test-s3-575f9bd4f7-lm5wm -n test-fs-ui-proj-108259 --timeout=300s [2026-07-05T21:13:22.069Z] [INFO] Pod is ready: pod/feast-test-s3-575f9bd4f7-lm5wm condition met [2026-07-05T21:13:22.080Z] [INFO] [STEP 1] Log in as non-admin user (no access to the test namespace) [2026-07-05T21:13:22.086Z] [INFO] Navigate to: https://rh-ai.apps.rosa.nmanos-konflux1.durx.p3.openshiftapps.com/ [2026-07-05T21:13:22.415Z] [INFO] OAuth login flow detected - completing authentication [2026-07-05T21:13:24.419Z] [INFO] [STEP 2] Navigate to the Feature Store Overview page 2) Non-admin user without namespace access cannot discover the Feature Store project [2026-07-05T21:13:35.647Z] [INFO] Restore admin oc session for cleanup [2026-07-05T21:13:35.898Z] [INFO] [EXEC] oc whoami [2026-07-05T21:13:35.903Z] [INFO] Delete namespace: test-fs-ui-proj-108259 [2026-07-05T21:13:36.186Z] [INFO] [EXEC] oc delete project test-fs-ui-proj-108259 --wait=false --ignore-not-found 0 passing (5m) 2 failing 1) Verify RBAC scoped Feature Store discovery by namespace access Admin user can discover the Feature Store project: Test steps were: 1. Ensure admin oc session for setup 2. Check if the operator is RHOAI 3. Create namespace: test-fs-ui-proj-108259 4. Apply FeatureStore CR in namespace: test-fs-ui-proj-108259 5. Log in as admin user 6. Navigate to: https://rh-ai.apps.rosa.nmanos-konflux1.durx.p3.openshiftapps.com/ 7. Navigate to the Feature Store Overview page Timed out retrying after 10000ms: Unable to find an element by: [data-testid="app-page-title"] Ignored nodes: comments, script, style Red Hat OpenShift AI