Skip to content

Commit

Permalink
Merge branch 'master' into feature/Validate_ServiceMeshControlPlaneAl…
Browse files Browse the repository at this point in the history
…readyCreated
  • Loading branch information
asanzgom authored Sep 2, 2024
2 parents 3b085ac + f85a462 commit 2296ab1
Show file tree
Hide file tree
Showing 16 changed files with 82 additions and 78 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ CHANNEL="$(oc get packagemanifest gpu-operator-certified -n openshift-marketplac

CSVNAME="$(oc get packagemanifests/gpu-operator-certified -n openshift-marketplace -o json | jq -r '.status.channels[] | select(.name == "'$CHANNEL'") | .currentCSV')"

sed -i'' -e "0,/v1.11/s//$CHANNEL/g" -e "s/gpu-operator-certified.v1.11.0/$CSVNAME/g" "$GPU_INSTALL_DIR/gpu_install.yaml"
sed -i'' -e "0,/v1.11/s//$CHANNEL/g" "$GPU_INSTALL_DIR/gpu_install.yaml"

oc apply -f "$GPU_INSTALL_DIR/gpu_install.yaml"
oc apply -f "$GPU_INSTALL_DIR/../nfd_operator.yaml"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@ spec:
name: gpu-operator-certified
source: certified-operators
sourceNamespace: openshift-marketplace
startingCSV: "gpu-operator-certified.v1.11.1"

---
apiVersion: operators.coreos.com/v1alpha1
Expand Down
3 changes: 2 additions & 1 deletion ods_ci/tasks/Resources/Provisioning/GPU/nfd_deploy.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@ spec:
instance: "" # instance is empty by default
topologyupdater: false # False by default
operand:
image: registry.redhat.io/openshift4/ose-node-feature-discovery:v4.11
# Image digest for registry.redhat.io/openshift4/ose-node-feature-discovery:v4.11
image: registry.redhat.io/openshift4/ose-node-feature-discovery@sha256:d6242132d2ddec00c46d22b63015a33af821eace0150ba47d185cd992fee317d
imagePullPolicy: Always
workerConfig:
configData: |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ spec:
name: caikit
containers:
- name: kserve-container
image: quay.io/modh/text-generation-inference@sha256:f13c99c27a168a64e98692ff37af21d42a546a9e92ab1c0c7dff463419564f2a
image: quay.io/modh/text-generation-inference@sha256:792e1500548c293eae428cf079fce836e68fbf7d4f7a53b5958c5158a70edfbf
command: ["text-generation-launcher"]
args: ["--model-name=/mnt/models/artifacts/"]
env:
Expand All @@ -23,7 +23,7 @@ spec:
## Note: cannot add readiness/liveness probes to this container because knative will refuse them.
# multi-container probing will be available after https://github.com/knative/serving/pull/14853 is merged
- name: transformer-container
image: quay.io/modh/caikit-tgis-serving@sha256:24c5e0ee02473aa70275692e8b11f0fcc35caaab33b19a447f920877cc704bac
image: quay.io/modh/caikit-tgis-serving@sha256:3a2477e143c494280a81e50c31adb54fc9f2fd0a84dde3b31cf9f6929fb2d1f9
env:
- name: RUNTIME_LOCAL_MODELS_DIR
value: /mnt/models
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ spec:
name: caikit
containers:
- name: kserve-container
image: quay.io/modh/text-generation-inference@sha256:f13c99c27a168a64e98692ff37af21d42a546a9e92ab1c0c7dff463419564f2a
image: quay.io/modh/text-generation-inference@sha256:792e1500548c293eae428cf079fce836e68fbf7d4f7a53b5958c5158a70edfbf
command: ["text-generation-launcher"]
args: ["--model-name=/mnt/models/artifacts/"]
env:
Expand All @@ -21,7 +21,7 @@ spec:
# cpu: 8
# memory: 16Gi
- name: transformer-container
image: quay.io/modh/caikit-tgis-serving@sha256:24c5e0ee02473aa70275692e8b11f0fcc35caaab33b19a447f920877cc704bac
image: quay.io/modh/caikit-tgis-serving@sha256:3a2477e143c494280a81e50c31adb54fc9f2fd0a84dde3b31cf9f6929fb2d1f9
env:
- name: TRANSFORMERS_CACHE
value: /tmp/transformers_cache
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ spec:
- --rest_bind_address=0.0.0.0
- --target_device=AUTO
- --metrics_enable
image: quay.io/modh/openvino_model_server@sha256:9ccb29967f39b5003cf395cc686a443d288869578db15d0d37ed8ebbeba19375
image: quay.io/modh/openvino_model_server@sha256:9086c1ba1ba30d358194c534f0563923aab02d03954e43e9f3647136b44a5daf
name: kserve-container
ports:
- containerPort: 8888
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ spec:
name: pytorch
containers:
- name: kserve-container
image: quay.io/modh/text-generation-inference@sha256:f13c99c27a168a64e98692ff37af21d42a546a9e92ab1c0c7dff463419564f2a
image: quay.io/modh/text-generation-inference@sha256:792e1500548c293eae428cf079fce836e68fbf7d4f7a53b5958c5158a70edfbf
command: ["text-generation-launcher"]
args:
- "--model-name=/mnt/models/"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ spec:
- '--model=/mnt/models'
- '--served-model-name={{.Name}}'
- '--distributed-executor-backend=mp'
image: quay.io/modh/vllm@sha256:b51fde66f162f1a78e8c027320dddf214732d5345953b1599a84fe0f0168c619
image: quay.io/modh/vllm@sha256:a2593489ee20b8e5f01358a9aa984fc90618c6335f4c8e138e94ce635ffb112a
name: kserve-container
command:
- python3
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ spec:
- '--model=/mnt/models'
- '--served-model-name={{.Name}}'
- '--distributed-executor-backend=mp'
image: quay.io/modh/vllm@sha256:b51fde66f162f1a78e8c027320dddf214732d5345953b1599a84fe0f0168c619
image: quay.io/modh/vllm@sha256:a2593489ee20b8e5f01358a9aa984fc90618c6335f4c8e138e94ce635ffb112a
name: kserve-container
command:
- python3
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ spec:
containers:
- name: kserve-container
#image: kserve/vllmserver:latest
image: quay.io/modh/vllm@sha256:e14cae9114044dc9fe71e99c3db692a892b2caffe04283067129ab1093a7bde5
image: quay.io/modh/vllm@sha256:a2593489ee20b8e5f01358a9aa984fc90618c6335f4c8e138e94ce635ffb112a
startupProbe:
httpGet:
port: 8080
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ ${ADMIN_GROUPS_SECTION}= //div[@data-testid="data-science-administrator-group
${ADMIN_GROUPS_LIST}= ${ADMIN_GROUPS_SECTION}//div[@role="group" and @aria-label="Current selections"]
${USER_GROUPS_SECTION}= //div[@data-testid="data-science-user-groups"]
${USER_GROUPS_LIST}= ${USER_GROUPS_SECTION}//div[@role="group" and @aria-label="Current selections"]
${SAVE_BUTTON}= //button[@data-testid="save-button"]
${SAVE_BUTTON}= //button[@data-testid="save-new-button"]

*** Keywords ***
Add OpenShift Groups To Data Science Administrators
Expand Down
33 changes: 33 additions & 0 deletions ods_ci/tests/Resources/RHOSi.resource
Original file line number Diff line number Diff line change
Expand Up @@ -115,3 +115,36 @@ Assign Vars According To Product
Set Suite Variable ${DASHBOARD_LABEL_SELECTOR} app.kubernetes.io/part-of=dashboard
Set Suite Variable ${APPLICATIONS_NAMESPACE} opendatahub
END

Gather Release Attributes From DSC And DSCI
[Documentation] Gathers the release.name and release.value attributes from the dsc and dsci
${DSC_RELEASE_NAME}= Get Resource Attribute ${OPERATOR_NAMESPACE}
... DataScienceCluster ${DSC_NAME} ${RELEASE_NAME_ATTRIBUTE_PATH}
${DSCI_RELEASE_NAME}= Get Resource Attribute ${OPERATOR_NAMESPACE}
... DSCInitialization ${DSCI_NAME} ${RELEASE_NAME_ATTRIBUTE_PATH}
${DSC_RELEASE_VERSION}= Get Resource Attribute ${OPERATOR_NAMESPACE}
... DataScienceCluster ${DSC_NAME} ${RELEASE_VERSION_ATTRIBUTE_PATH}
${DSCI_RELEASE_VERSION}= Get Resource Attribute ${OPERATOR_NAMESPACE}
... DSCInitialization ${DSCI_NAME} ${RELEASE_VERSION_ATTRIBUTE_PATH}

Set Suite Variable ${DSC_RELEASE_NAME}
Set Suite Variable ${DSCI_RELEASE_NAME}
Set Suite Variable ${DSC_RELEASE_VERSION}
Set Suite Variable ${DSCI_RELEASE_VERSION}

Set Expected Value For Release Name
[Documentation] Sets the expected value for release.name attribute from the DSC and DSCI.
... ODH: Open Data Hub
... RHOAI managed: OpenShift AI Cloud Service
... RHOAI selfmanaged: OpenShift AI Self-Managed
IF "${PRODUCT}" == "RHODS"
IF ${IS_SELF_MANAGED}
${expected_release_name}= Set Variable ${RHOAI_SELFMANAGED_RELEASE_NAME}
ELSE
${expected_release_name}= Set Variable ${RHOAI_MANAGED_RELEASE_NAME}
END
ELSE IF "${PRODUCT}" == "ODH"
${expected_release_name}= Set Variable ${ODH_RELEASE_NAME}
END

Set Suite Variable ${expected_release_name}
Original file line number Diff line number Diff line change
Expand Up @@ -7,44 +7,27 @@ Resource ../../../../Resources/RHOSi.resource
Resource ../../../../Resources/OCP.resource
Resource ../../../../Resources/Common.robot
Resource ../../../../../tasks/Resources/RHODS_OLM/install/oc_install.robot
Suite Setup RHOSi Setup
Suite Setup Operator Setup
Suite Teardown RHOSi Teardown


*** Test Cases ***
Verify That DSC And DSCI Release.Name Attribute matches required value
Verify That DSC And DSCI Release.Name Attribute matches ${expected_release_name}
[Documentation] Tests the release.name attribute from the DSC and DSCI matches the desired value.
... ODH: Open Data Hub
... RHOAI managed: OpenShift AI Cloud Service
... RHOAI selfmanaged: OpenShift AI Self-Managed
[Tags] Smoke
... Operator
... RHOAIENG-9760
${DSC_RELEASE_NAME}= Get Resource Attribute ${OPERATOR_NAMESPACE}
... DataScienceCluster ${DSC_NAME} ${RELEASE_NAME_ATTRIBUTE_PATH}
${DSCI_RELEASE_NAME}= Get Resource Attribute ${OPERATOR_NAMESPACE}
... DSCInitialization ${DSCI_NAME} ${RELEASE_NAME_ATTRIBUTE_PATH}

IF "${PRODUCT}" == "RHODS"
Run Keyword If RHODS Is Self-Managed Should Be Equal As Strings ${DSC_RELEASE_NAME} ${RHOAI_SELFMANAGED_RELEASE_NAME}
Run Keyword If RHODS Is Self-Managed Should Be Equal As Strings ${DSCI_RELEASE_NAME} ${RHOAI_SELFMANAGED_RELEASE_NAME}
Run Keyword If RHODS Is Managed Should Be Equal As Strings ${DSC_RELEASE_NAME} ${RHOAI_MANAGED_RELEASE_NAME}
Run Keyword If RHODS Is Managed Should Be Equal As Strings ${DSCI_RELEASE_NAME} ${RHOAI_MANAGED_RELEASE_NAME}
ELSE IF "${PRODUCT}" == "ODH"
Should Be Equal As Strings ${DSC_RELEASE_NAME} ${ODH_RELEASE_NAME}
Should Be Equal As Strings ${DSCI_RELEASE_NAME} ${ODH_RELEASE_NAME}
END
Should Be Equal As Strings ${DSC_RELEASE_NAME} ${expected_release_name}
Should Be Equal As Strings ${DSCI_RELEASE_NAME} ${expected_release_name}

Verify That DSC And DSCI Release.Version Attribute matches the value in the subscription
[Documentation] Tests the release.version attribute from the DSC and DSCI matches the value in the subscription.
[Tags] Smoke
... Operator
... RHOAIENG-8082
${DSC_RELEASE_VERSION}= Get Resource Attribute ${OPERATOR_NAMESPACE}
... DataScienceCluster ${DSC_NAME} ${RELEASE_VERSION_ATTRIBUTE_PATH}
${DSCI_RELEASE_VERSION}= Get Resource Attribute ${OPERATOR_NAMESPACE}
... DSCInitialization ${DSCI_NAME} ${RELEASE_VERSION_ATTRIBUTE_PATH}

${rc} ${csv_name}= Run And Return Rc And Output
... oc get subscription -n ${OPERATOR_NAMESPACE} -l ${OPERATOR_SUBSCRIPTION_LABEL} -ojson | jq '.items[0].status.currentCSV' | tr -d '"'

Expand All @@ -62,6 +45,7 @@ Verify Odh-deployer Checks Cluster Platform Type
... Tier1
... ODS-1316
... AutomationBug
... Operator
${cluster_platform_type}= Fetch Cluster Platform Type
IF "${cluster_platform_type}" == "AWS" or "${cluster_platform_type}" == "OpenStack"
${odhdeployer_logs_content}= Set Variable
Expand All @@ -87,6 +71,7 @@ Verify That The Operator Pod Does Not Get Stuck After Upgrade
[Tags] Sanity
... Tier1
... ODS-818
... Operator
${operator_pod_info}= Fetch operator Pod Info
${length}= Get length ${operator_pod_info}
IF ${length} == 2
Expand All @@ -102,6 +87,7 @@ Verify Clean Up ODS Deployer Post-Migration
... ODS-1767
... Sanity
... AutomationBug
... Operator
${version_check} = Is RHODS Version Greater Or Equal Than 1.17.0
IF ${version_check} == False
Log Skipping test case as RHODS version is less than 1.17.0
Expand Down Expand Up @@ -155,6 +141,12 @@ Verify Clean Up ODS Deployer Post-Migration
Should Be Equal ${dashboardConfig[0]["spec"]["notebookController"]["pvcSize"]} 20Gi

*** Keywords ***
Operator Setup
[Documentation] Setup for the Operator tests
RHOSi Setup
Gather Release Attributes From DSC And DSCI
Set Expected Value For Release Name

Fetch Odh-deployer Pod Info
[Documentation] Fetches information about odh-deployer pod
... Args:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ Verify that the must-gather image provides RHODS logs and info
... ODS-505
... Operator
... MustGather
... ExcludeOnODH
Get must-gather Logs
Verify logs for ${APPLICATIONS_NAMESPACE}
IF "${PRODUCT}" == "RHODS"
Expand Down
33 changes: 0 additions & 33 deletions ods_ci/tests/Tests/0200__rhoai_upgrade/0203__post_upgrade.robot
Original file line number Diff line number Diff line change
Expand Up @@ -285,39 +285,6 @@ Managed RHOAI Upgrade Test Teardown
@{list_values} = Create List 1
Run Keyword And Warn On Failure Should Contain ${list_values} ${resp.json()["data"]["result"][0]["value"][-1]}

Gather Release Attributes From DSC And DSCI
[Documentation] Gathers the release.name and release.value attributes from the dsc and dsci
${DSC_RELEASE_NAME}= Get Resource Attribute ${OPERATOR_NAMESPACE}
... DataScienceCluster ${DSC_NAME} ${RELEASE_NAME_ATTRIBUTE_PATH}
${DSCI_RELEASE_NAME}= Get Resource Attribute ${OPERATOR_NAMESPACE}
... DSCInitialization ${DSCI_NAME} ${RELEASE_NAME_ATTRIBUTE_PATH}
${DSC_RELEASE_VERSION}= Get Resource Attribute ${OPERATOR_NAMESPACE}
... DataScienceCluster ${DSC_NAME} ${RELEASE_VERSION_ATTRIBUTE_PATH}
${DSCI_RELEASE_VERSION}= Get Resource Attribute ${OPERATOR_NAMESPACE}
... DSCInitialization ${DSCI_NAME} ${RELEASE_VERSION_ATTRIBUTE_PATH}

Set Suite Variable ${DSC_RELEASE_NAME}
Set Suite Variable ${DSCI_RELEASE_NAME}
Set Suite Variable ${DSC_RELEASE_VERSION}
Set Suite Variable ${DSCI_RELEASE_VERSION}

Set Expected Value For Release Name
[Documentation] Sets the expected value for release.name attribute from the DSC and DSCI.
... ODH: Open Data Hub
... RHOAI managed: OpenShift AI Cloud Service
... RHOAI selfmanaged: OpenShift AI Self-Managed
IF "${PRODUCT}" == "RHODS"
IF ${IS_SELF_MANAGED}
${expected_release_name}= Set Variable ${RHOAI_SELFMANAGED_RELEASE_NAME}
ELSE
${expected_release_name}= Set Variable ${RHOAI_MANAGED_RELEASE_NAME}
END
ELSE IF "${PRODUCT}" == "ODH"
${expected_release_name}= Set Variable ${ODH_RELEASE_NAME}
END

Set Suite Variable ${expected_release_name}

Upgrade Suite Setup
[Documentation] Set of action to run as Suite setup
${IS_SELF_MANAGED}= Is RHODS Self-Managed
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ Resource ../../Resources/ODS.robot
Resource ../../Resources/Common.robot
Resource ../../Resources/Page/ODH/ODHDashboard/ODHDashboard.robot
Resource ../../Resources/Page/ODH/ODHDashboard/ODHDataSciencePipelines.resource
Resource ../../Resources/Page/ODH/ODHDashboard/ODHDataScienceProject/Permissions.resource
Library DateTime
Library ../../../libs/DataSciencePipelinesAPI.py
Library ../../../libs/DataSciencePipelinesKfp.py
Expand All @@ -26,16 +27,20 @@ Verify Ods Users Can Create And Run A Data Science Pipeline Using The kfp Python
[Tags] Smoke Tier1 ODS-2203
${emtpy_dict}= Create Dictionary
End To End Pipeline Workflow Using Kfp
... username=${TEST_USER.USERNAME}
... password=${TEST_USER.PASSWORD}
... admin_username=${TEST_USER.USERNAME}
... admin_password=${TEST_USER.PASSWORD}
... username=${TEST_USER_3.USERNAME}
... password=${TEST_USER_3.PASSWORD}
... project=${PROJECT_NAME}
... python_file=flip_coin.py
... method_name=flipcoin_pipeline
... status_check_timeout=440
... pipeline_params=${emtpy_dict}
End To End Pipeline Workflow Using Kfp
... username=${TEST_USER.USERNAME}
... password=${TEST_USER.PASSWORD}
... admin_username=${TEST_USER.USERNAME}
... admin_password=${TEST_USER.PASSWORD}
... username=${TEST_USER_3.USERNAME}
... password=${TEST_USER_3.PASSWORD}
... project=${PROJECT_NAME}
... python_file=iris_pipeline.py
... method_name=my_pipeline
Expand All @@ -49,8 +54,10 @@ Verify Upload Download In Data Science Pipelines Using The kfp Python Package
[Tags] Sanity Tier1 ODS-2683
${upload_download_dict}= Create Dictionary mlpipeline_minio_artifact_secret=value bucket_name=value
End To End Pipeline Workflow Using Kfp
... username=${TEST_USER.USERNAME}
... password=${TEST_USER.PASSWORD}
... admin_username=${TEST_USER.USERNAME}
... admin_password=${TEST_USER.PASSWORD}
... username=${TEST_USER_3.USERNAME}
... password=${TEST_USER_3.PASSWORD}
... project=${PROJECT_NAME}
... python_file=upload_download.py
... method_name=wire_up_pipeline
Expand All @@ -68,8 +75,10 @@ Verify Ods Users Can Create And Run A Data Science Pipeline With Ray Using The k
Skip If Component Is Not Enabled codeflare
${ray_dict}= Create Dictionary
End To End Pipeline Workflow Using Kfp
... username=${TEST_USER.USERNAME}
... password=${TEST_USER.PASSWORD}
... admin_username=${TEST_USER.USERNAME}
... admin_password=${TEST_USER.PASSWORD}
... username=${TEST_USER_3.USERNAME}
... password=${TEST_USER_3.PASSWORD}
... project=${PROJECT_NAME}
... python_file=ray_integration.py
... method_name=ray_integration
Expand All @@ -84,19 +93,21 @@ Verify Ods Users Can Create And Run A Data Science Pipeline With Ray Using The k
End To End Pipeline Workflow Using Kfp
[Documentation] Create, run and double check the pipeline result using Kfp python package. In the end,
... clean the pipeline resources.
[Arguments] ${username} ${password} ${project} ${python_file} ${method_name}
... ${pipeline_params} ${status_check_timeout}=160 ${ray}=${FALSE}
[Arguments] ${username} ${password} ${admin_username} ${admin_password} ${project} ${python_file}
... ${method_name} ${pipeline_params} ${status_check_timeout}=160 ${ray}=${FALSE}
Remove Pipeline Project ${project}
New Project ${project}
Install DataSciencePipelinesApplication CR ${project}
${status} Login And Wait Dsp Route ${username} ${password} ${project}
${status} Login And Wait Dsp Route ${admin_username} ${admin_password} ${project}
Should Be True ${status} == 200 Could not login to the Data Science Pipelines Rest API OR DSP routing is not working
# we remove and add a new project for sanity. LocalQueue is per namespace
IF ${ray} == ${TRUE}
Setup Kueue Resources ${project} cluster-queue-user resource-flavor-user local-queue-user
END
# The run_robot_test.sh is sending the --variablefile ${TEST_VARIABLES_FILE} which may contain the `PIP_INDEX_URL`
# and `PIP_TRUSTED_HOST` variables, e.g. for disconnected testing.
Launch Data Science Project Main Page username=${admin_username} password=${admin_password}
Assign Contributor Permissions To User ${username} in Project ${project}
${pip_index_url} = Get Variable Value ${PIP_INDEX_URL} ${NONE}
${pip_trusted_host} = Get Variable Value ${PIP_TRUSTED_HOST} ${NONE}
Log pip_index_url = ${pip_index_url} / pip_trusted_host = ${pip_trusted_host}
Expand Down

0 comments on commit 2296ab1

Please sign in to comment.