Skip to content

Commit

Permalink
Merge branch 'red-hat-data-services:master' into master
Browse files Browse the repository at this point in the history
  • Loading branch information
tarukumar authored Dec 14, 2023
2 parents 5037e7d + ac355c4 commit 51b27ad
Show file tree
Hide file tree
Showing 19 changed files with 196 additions and 44 deletions.
6 changes: 6 additions & 0 deletions ods_ci/libs/DataSciencePipelinesAPI.py
Original file line number Diff line number Diff line change
Expand Up @@ -310,6 +310,12 @@ def get_default_storage(self):
break
return storage_class['metadata']['name']

def get_openshift_server(self):
return self.run_oc('oc whoami --show-server=true')[0].replace('\n', '')

def get_openshift_token(self):
return self.run_oc('oc whoami --show-token=true')[0].replace('\n', '')

def run_oc(self, command):
process = subprocess.Popen(command.split(), stdout=subprocess.PIPE)
output, error = process.communicate()
Expand Down
4 changes: 3 additions & 1 deletion ods_ci/libs/DataSciencePipelinesKfpTekton.py
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,9 @@ def kfp_tekton_create_run_from_pipeline_func(
result = client.create_run_from_pipeline_func(
pipeline_func=pipeline, arguments={
'mlpipeline_minio_artifact_secret': mlpipeline_minio_artifact_secret["data"],
'bucket_name': bucket_name
'bucket_name': bucket_name,
'openshift_server': self.api.get_openshift_server(),
'openshift_token': self.api.get_openshift_token()
}
)
# easy to debug and double check failures
Expand Down
2 changes: 1 addition & 1 deletion ods_ci/tasks/Resources/RHODS_OLM/install/oc_install.robot
Original file line number Diff line number Diff line change
Expand Up @@ -306,7 +306,7 @@ Install Kserve Dependencies
... catalog_source_name=redhat-operators
... operator_group_name=serverless-operators
... operator_group_ns=${SERVERLESS_NS}
... operator_group_target_ns=${NONE}}
... operator_group_target_ns=${NONE}
Wait For Pods To Be Ready label_selector=name=knative-openshift
... namespace=${SERVERLESS_NS}
Wait For Pods To Be Ready label_selector=name=knative-openshift-ingress
Expand Down
4 changes: 2 additions & 2 deletions ods_ci/tests/Resources/Files/AppsInfoDictionary_latest.json
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@
"matching": "full"
},
"1": {
"text": "Adding users for OpenShift Data Science",
"text": "Adding users for Red Hat OpenShift AI",
"url": "https://access.redhat.com/documentation/en-us/red_hat_openshift_data_science/1/html/managing_users_and_user_resources/adding-users-for-openshift-data-science_useradd",
"matching": "full"
}
Expand Down Expand Up @@ -275,7 +275,7 @@
],
"provider": "by Starburst",
"title": "Starburst Enterprise",
"description": "Starburst Enterprise platform (SEP) is the commericial distribution of Trino, which is an open-source, Massively Parallel Processing (MPP) ANSI SQL query engine. Starburst simplifies data access for your RHODS workloads by providing fast access to all of your data, no matter where it lives. Starburst does this by connecting directly to each data source and pulling the data back into memory for processing, alleviating the need to copy or move the data into a single location first.",
"description": "Starburst Enterprise platform (SEP) is the commericial distribution of Trino, which is an open-source, Massively Parallel Processing (MPP) ANSI SQL query engine. Starburst simplifies data access for your Red Hat OpenShift AI workloads by providing fast access to all of your data, no matter where it lives. Starburst does this by connecting directly to each data source and pulling the data back into memory for processing, alleviating the need to copy or move the data into a single location first.",
"rhods_type": ["Self-managed"],
"image": "data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1NzcuMzMgMTU5LjEiPjxkZWZzPjxzdHlsZT4uY2xzLTF7ZmlsbDojMjUzNzQ2O30uY2xzLTJ7ZmlsbDojMDBhN2I1O308L3N0eWxlPjwvZGVmcz48dGl0bGU+U3RhcmJ1cnN0X0xvZ29fTm9UYWdfUkdCPC90aXRsZT48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0yMjQuNzMsODEuMzFhMjYsMjYsMCwwLDAtNi40OS0zLjUyYy0yLjQxLS45LTQuNzktMS43My03LjE3LTIuNTFxLTIuODgtMS01LjUyLTEuOTJhMTguOTIsMTguOTIsMCwwLDEtNC43MS0yLjQ2LDExLjkyLDExLjkyLDAsMCwxLTMuMzItMy42MiwxMC41MSwxMC41MSwwLDAsMS0xLjI1LTUuMzksMTEuODYsMTEuODYsMCwwLDEsMS4zLTUuNjksMTIuMDgsMTIuMDgsMCwwLDEsMy40My00LDE0LjYzLDE0LjYzLDAsMCwxLDQuNzItMi4zNiwxNy43NiwxNy43NiwwLDAsMSw1LjExLS43NywxNy40NSwxNy40NSwwLDAsMSw4LjM5LDEuODcsMTYuNzQsMTYuNzQsMCwwLDEsNS42OCw1bDUuNS00LjQzQTIwLjM3LDIwLjM3LDAsMCwwLDIyMyw0NS42NGEyNi4zNiwyNi4zNiwwLDAsMC0xMS44NS0yLjQ2LDI4LjkyLDI4LjkyLDAsMCwwLTcuNjIsMS4wNiwyMS43MywyMS43MywwLDAsMC03LDMuMzgsMTcuNzMsMTcuNzMsMCwwLDAtNS4xNSw1Ljg4LDE3LjIzLDE3LjIzLDAsMCwwLTIsOC40OCwxNy4zMywxNy4zMywwLDAsMCwxLjU5LDcuODEsMTYuNDMsMTYuNDMsMCwwLDAsNC4yLDUuMzVBMjIuMjQsMjIuMjQsMCwwLDAsMjAxLDc4LjY2cTMuMjcsMS4zNSw2LjY1LDIuNDFjMi4xOC43MSw0LjI3LDEuNDEsNi4yNiwyLjEyYTIyLjkxLDIyLjkxLDAsMCwxLDUuMzEsMi42NSwxMi41OSwxMi41OSwwLDAsMSwzLjcxLDQsMTIuOTQsMTIuOTQsMCwwLDEsMCwxMS42NywxNCwxNCwwLDAsMS0zLjU3LDQuMTQsMTQuOTMsMTQuOTMsMCwwLDEtNC44NywyLjUxLDE4LjM3LDE4LjM3LDAsMCwxLTUuMy44MiwxNy41OSwxNy41OSwwLDAsMS05LjQtMi40NiwxOC4zMiwxOC4zMiwwLDAsMS02LjIyLTYuMTJsLTYsNC40M2EyMy4xOCwyMy4xOCwwLDAsMCw0LjI0LDQuNDQsMjQuNCwyNC40LDAsMCwwLDUuMjEsMy4xOCwyOC4zMiwyOC4zMiwwLDAsMCw1Ljg3LDEuODgsMzAuODIsMzAuODIsMCwwLDAsNi4xNy42MiwyOC45LDI4LjksMCwwLDAsOC0xLjE1LDIwLjg3LDIwLjg3LDAsMCwwLDcuMTEtMy41NywxOC40MywxOC40MywwLDAsMCw1LjA3LTYuMTIsMTguODIsMTguODIsMCwwLDAsMi04LjgyLDE3LjM4LDE3LjM4LDAsMCwwLTEuODMtOC40NCwxNy4xOSwxNy4xOSwwLDAsMC00LjcxLTUuNDkiLz48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0yNTIuMjQsNTUuMzNoLTYuNTZWNjguMDZoLTkuMzV2NS40OWg5LjM1VjEwMS43YTE0LjEzLDE0LjEzLDAsMCwwLDEuMTEsNi4wNywxMC4wNiwxMC4wNiwwLDAsMCwyLjg1LDMuNjcsOS42NCw5LjY0LDAsMCwwLDMuNzUsMS44MywxNi43NywxNi43NywwLDAsMCwzLjg2LjQ4LDIzLjc4LDIzLjc4LDAsMCwwLDQuMS0uMzQsMTkuODgsMTkuODgsMCwwLDAsMy42MS0xbC0uMjktNS42OWExNCwxNCwwLDAsMS0yLjg0LDEuMDYsMTEuMjYsMTEuMjYsMCwwLDEtMi44NC4zOSwxMC4yMSwxMC4yMSwwLDAsMS0yLjcxLS4zNCw0LjcyLDQuNzIsMCwwLDEtMi4xNi0xLjI1LDUuODYsNS44NiwwLDAsMS0xLjQtMi41NiwxNSwxNSwwLDAsMS0uNDgtNC4xNFY3My41NUgyNjVWNjguMDZIMjUyLjI0WiIvPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTMwNS41NCw5NGExNi44NywxNi44NywwLDAsMS0xLDUuNjksMTQuNjQsMTQuNjQsMCwwLDEtMi44LDQuNzcsMTMsMTMsMCwwLDEtNC41MywzLjI3LDE0Ljg3LDE0Ljg3LDAsMCwxLTYuMTcsMS4yMSwxNi43OSwxNi43OSwwLDAsMS0zLjgtLjQ0LDEwLjM2LDEwLjM2LDAsMCwxLTMuNDMtMS40NCw3LjcyLDcuNzIsMCwwLDEtMi40Ni0yLjY1LDguMiw4LjIsMCwwLDEtLjkxLTQuMDUsNi41OSw2LjU5LDAsMCwxLDIuMTItNS4xMSwxNC4xNCwxNC4xNCwwLDAsMSw1LjQ1LTIuOTRBMzUuNTQsMzUuNTQsMCwwLDEsMjk1LjQ3LDkxYzIuNzMtLjIyLDUuNDUtLjM0LDguMTQtLjM0aDEuOTNabTYuMTcsOS4wNlY4My4yOWExNy44NywxNy44NywwLDAsMC0xLjM1LTcuMjNBMTMuNzgsMTMuNzgsMCwwLDAsMzA2LjYxLDcxYTE2LjQyLDE2LjQyLDAsMCwwLTUuNi0zLDIyLjI3LDIyLjI3LDAsMCwwLTYuODQtMSwyNy42OSwyNy42OSwwLDAsMC0xMC4zNiwxLjgzLDIxLjU0LDIxLjU0LDAsMCwwLTcuMzgsNC42M2wzLjY2LDQuMzRBMTcuODgsMTcuODgsMCwwLDEsMjg2LDczLjg0YTE5LjM3LDE5LjM3LDAsMCwxLDcuNTEtMS40NWMzLjkzLDAsNi45MSwxLDksMi44N3MzLjA4LDQuODIsMy4wOCw4LjcxdjEuNDRxLTYuMTcsMC0xMS45LjQzYTQxLjQ4LDQxLjQ4LDAsMCwwLTEwLjE3LDEuOTQsMTUuOTEsMTUuOTEsMCwwLDAtNy4wOSw0LjU0Yy0xLjc3LDItMi42NSw0Ljc5LTIuNjUsOC4yN2ExMi42NywxMi42NywwLDAsMCwxLjUsNi4zOSwxMy4yNCwxMy4yNCwwLDAsMCwzLjc2LDQuMjUsMTQuODEsMTQuODEsMCwwLDAsNSwyLjM3LDIxLDIxLDAsMCwwLDUuMzUuNzMsMjAuNjEsMjAuNjEsMCwwLDAsOS40LTIsMTkuMSwxOS4xLDAsMCwwLDctNi41MWguMTlhMzcuMjgsMzcuMjgsMCwwLDAsLjE5LDMuNzZjLjEzLDEuMjkuMjksMi40OC40OSwzLjU3aDUuODdhMzUuODUsMzUuODUsMCwwLDEtLjU3LTQuNzNjLS4xNC0xLjg2LS4yLTMuNjYtLjItNS4zOSIvPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTM0NS4zNCw2Ni45YTE2LDE2LDAsMCwwLTE0LjQ3LDguODdoLS4xOWMwLTEsMC0yLjE5LS4xLTMuNjdzLS4xNi0yLjgyLS4yOC00SDMyNGMuMTMsMS41NC4yMiwzLjI3LjI5LDUuMnMuMDksMy41MS4wOSw0LjczdjM1LjE4SDMzMVY5MC4wOWEyMy44OSwyMy44OSwwLDAsMSwxLjExLTcuNzRBMTUuOTQsMTUuOTQsMCwwLDEsMzM1LDc3LjA2YTEwLjc3LDEwLjc3LDAsMCwxLDQuMTktMywxMy40NiwxMy40NiwwLDAsMSw1LTEsMTguODYsMTguODYsMCwwLDEsMi43LjE5LDEzLjgsMTMuOCwwLDAsMSwxLjkyLjM4bC44Ny02LjI2QTExLjksMTEuOSwwLDAsMCwzNDcuNiw2N2EyMi4yNCwyMi4yNCwwLDAsMC0yLjI2LS4xIi8+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMzk4LjkxLDk3LjdhMTcsMTcsMCwwLDEtMy4zMyw1Ljc4LDE1LDE1LDAsMCwxLTUuMzUsMy44NiwxNy44MywxNy44MywwLDAsMS03LjIzLDEuNCwxNy4xNCwxNy4xNCwwLDAsMS02Ljk0LTEuNCwxNi45LDE2LjksMCwwLDEtNS40OS0zLjgxQTE3LjM3LDE3LjM3LDAsMCwxLDM2Nyw5Ny43OWEyMC40OCwyMC40OCwwLDAsMSwwLTE0LjM2LDE3Ljg3LDE3Ljg3LDAsMCwxLDMuNjItNS43OCwxNi41OSwxNi41OSwwLDAsMSw1LjQ5LTMuODYsMTcuMTQsMTcuMTQsMCwwLDEsNi45NC0xLjQsMTcuMzUsMTcuMzUsMCwwLDEsNy4yMywxLjQ1LDE1LjM2LDE1LjM2LDAsMCwxLDUuMzUsMy45MSwxNi45NCwxNi45NCwwLDAsMSwzLjMzLDUuNzgsMjIuMjIsMjIuMjIsMCwwLDEsMCwxNC4xN20xLjY5LTI0YTIxLjkxLDIxLjkxLDAsMCwwLTcuMzMtNSwyNC4yMiwyNC4yMiwwLDAsMC05LjU5LTEuODMsMjEuNDQsMjEuNDQsMCwwLDAtOS41NCwyLjI3LDE4LjU2LDE4LjU2LDAsMCwwLTcuNTIsNi42OWgtLjJWNDAuMjloLTYuNTV2NzIuODhoNi41NXYtNy42MmguMmExOC40NiwxOC40NiwwLDAsMCw3LjUyLDYuNTYsMjEuNzksMjEuNzksMCwwLDAsOS41NCwyLjIyLDI0LjQsMjQuNCwwLDAsMCw5LjU5LTEuODMsMjIuMDksMjIuMDksMCwwLDAsNy4zMy01LDIyLjgsMjIuOCwwLDAsMCw0LjcyLTcuNTIsMjYuNzEsMjYuNzEsMCwwLDAsMC0xOC43LDIyLjgsMjIuOCwwLDAsMC00LjcyLTcuNTIiLz48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik00NTQsMTAzLjI0VjY4LjA2aC02LjU1VjkxLjE5YTI0LDI0LDAsMCwxLTEuMTYsNy44NiwxNi4xLDE2LjEsMCwwLDEtMy4wOCw1LjQ5LDEyLjM1LDEyLjM1LDAsMCwxLTQuMzksMy4yMywxMi42MiwxMi42MiwwLDAsMS01LjA2LDEuMDYsMTMuNDUsMTMuNDUsMCwwLDEtNS45My0xLjE1LDkuNDgsOS40OCwwLDAsMS0zLjc2LTMuMjMsMTMuNjQsMTMuNjQsMCwwLDEtMi01LDMzLjQ2LDMzLjQ2LDAsMCwxLS41Ny02LjQ2di0yNWgtNi41NlY5NS43MnEwLDguMzksNC4yOSwxMy41dDEyLjg3LDUuMTFhMTguMywxOC4zLDAsMCwwLDkuMTYtMi40NiwxNC44NCwxNC44NCwwLDAsMCw2LjI2LTYuNDFoLjJxMCwxLjQ0LjA5LDMuNjZjLjA3LDEuNDguMTYsMi44My4yOSw0aDYuMjdjLS4xMy0xLjU0LS4yMy0zLjI4LS4yOS01LjJzLS4xLTMuNTEtLjEtNC43MyIvPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTQ4Ni40Nyw2Ni45YTE1Ljc4LDE1Ljc4LDAsMCwwLTguNjgsMi40NkExNS41NiwxNS41NiwwLDAsMCw0NzIsNzUuNzdoLS4xOWMwLTEsMC0yLjE5LS4xLTMuNjdzLS4xNi0yLjgyLS4yOS00aC02LjI2Yy4xMiwxLjU0LjIyLDMuMjcuMjgsNS4ycy4xLDMuNTEuMSw0LjczdjM1LjE4aDYuNTVWOTAuMDlhMjMuODksMjMuODksMCwwLDEsMS4xMS03Ljc0LDE2LDE2LDAsMCwxLDIuOS01LjI5LDEwLjYyLDEwLjYyLDAsMCwxLDQuMTktMywxMy40NCwxMy40NCwwLDAsMSw1LTEsMTguODYsMTguODYsMCwwLDEsMi43LjE5LDE0LDE0LDAsMCwxLDEuOTMuMzhsLjg3LTYuMjZhMTIuMTgsMTIuMTgsMCwwLDAtMi4wOC0uMzgsMjIuMTEsMjIuMTEsMCwwLDAtMi4yNi0uMSIvPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTUxMy40Niw4Ny4xNGEyNSwyNSwwLDAsMS04LjE5LTIuODQsNS40Niw1LjQ2LDAsMCwxLTIuNi00Ljg3LDYsNiwwLDAsMSwuODItMy4xOEE2LjY3LDYuNjcsMCwwLDEsNTA1LjY2LDc0YTkuMzIsOS4zMiwwLDAsMSwzLjA4LTEuMjUsMTUuNzgsMTUuNzgsMCwwLDEsMy40Ny0uMzksMTIuNjcsMTIuNjcsMCwwLDEsNi43LDEuNzksMTEuNDQsMTEuNDQsMCwwLDEsNC4zOCw0LjU4bDUtMy43NmExNC43OCwxNC43OCwwLDAsMC02LjY1LTYsMjEuMDcsMjEuMDcsMCwwLDAtOS4xNi0yLjEyLDIzLjI5LDIzLjI5LDAsMCwwLTYsLjc3QTE2LjE4LDE2LjE4LDAsMCwwLDUwMS4zNyw3MGExMS43NSwxMS43NSwwLDAsMC0zLjYyLDRBMTIuMTcsMTIuMTcsMCwwLDAsNDk2LjQsODBhMTAuMzIsMTAuMzIsMCwwLDAsMS4yNSw1LjMsMTEuNTcsMTEuNTcsMCwwLDAsMy4xOCwzLjUyQTE0Ljc3LDE0Ljc3LDAsMCwwLDUwNSw5MWMxLjUyLjQ4LDMsLjg4LDQuMjksMS4yMWE0NC4yOSw0NC4yOSwwLDAsMSw5Ljg5LDMuMzIsNS43Miw1LjcyLDAsMCwxLDMuNDIsNS4zNSw3LjI1LDcuMjUsMCwwLDEtLjg3LDMuNzEsNy4zNSw3LjM1LDAsMCwxLTIuMzEsMi40Niw5LjM3LDkuMzcsMCwwLDEtMy4zOCwxLjM1LDIwLjI5LDIwLjI5LDAsMCwxLTQsLjM4LDE0Ljc2LDE0Ljc2LDAsMCwxLTEyLjU0LTdsLTUuMiwzLjg1YTE4LjM2LDE4LjM2LDAsMCwwLDcuOSw2LjY2LDI0LjQ5LDI0LjQ5LDAsMCwwLDkuOTMsMi4xMiwyNi40LDI2LjQsMCwwLDAsNi4xMi0uNzMsMTUuNjMsMTUuNjMsMCwwLDAsNS40NS0yLjQxLDEyLjksMTIuOSwwLDAsMCwzLjktNC4zMywxMy4wNiwxMy4wNiwwLDAsMCwxLjUtNi41MSwxMC4zNywxMC4zNywwLDAsMC0zLjgxLTguNDRxLTMuODEtMy4xMi0xMS44MS00Ljc3Ii8+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNNTY0LDczLjU1VjY4LjA2SDU1MS4zMVY1NS4zM2gtNi41NlY2OC4wNkg1MzUuNHY1LjQ5aDkuMzVWMTAxLjdhMTQuMTMsMTQuMTMsMCwwLDAsMS4xMSw2LjA3LDkuNjksOS42OSwwLDAsMCw2LjYsNS41LDE2LjcsMTYuNywwLDAsMCwzLjg2LjQ4LDIyLjcxLDIyLjcxLDAsMCwwLDQuMDktLjM0LDE5LDE5LDAsMCwwLDMuNjItMWwtLjI5LTUuNjlhMTQsMTQsMCwwLDEtMi44NCwxLjA2LDExLjMzLDExLjMzLDAsMCwxLTIuODUuMzksMTAuMTksMTAuMTksMCwwLDEtMi43LS4zNCw0Ljg0LDQuODQsMCwwLDEtMi4xNy0xLjI1LDUuOTEsNS45MSwwLDAsMS0xLjM5LTIuNTYsMTQuNjEsMTQuNjEsMCwwLDEtLjQ4LTQuMTRWNzMuNTVaIi8+PHBhdGggY2xhc3M9ImNscy0yIiBkPSJNMTA2LjI2LDczLjQyLDgzLjgyLDloLS4wOGE3MC40OSw3MC40OSwwLDAsMC0xMC4xMi44MWwzMS4wNiw2NC4yNWExNi44MywxNi44MywwLDAsMSwxLjU4LS42NCIvPjxwYXRoIGNsYXNzPSJjbHMtMiIgZD0iTTEwMS4yOCw3Ni4zNCw0OS4zLDE4YTcwLjk0LDcwLjk0LDAsMCwwLTkuMTUsNi4xNGw1OS45Myw1My40YTE1LjIzLDE1LjIzLDAsMCwxLDEuMi0xLjIxIi8+PHBhdGggY2xhc3M9ImNscy0yIiBkPSJNOTcuOCw4MSwyMi41Myw0NC41N2E2OS40Myw2OS40MywwLDAsMC00LjgxLDEwLjI5TDk3LjE2LDgyLjUyQTEyLjYsMTIuNiwwLDAsMSw5Ny44LDgxIi8+PHBhdGggY2xhc3M9ImNscy0yIiBkPSJNOTYuMjcsODcuMzljMC0uMjkuMDctLjU2LjA5LS44NUwxMy4zLDgxLjc2QTcxLjIxLDcxLjIxLDAsMCwwLDE0LjUsOTNsODEuODYtNC43MmMwLS4yOS0uMDktLjU2LS4wOS0uODUiLz48cGF0aCBjbGFzcz0iY2xzLTIiIGQ9Ik05Ny4xNiw5Mi4yNiwyNC4zOSwxMTcuNmE3MS41LDcxLjUsMCwwLDAsNi41LDguNTdMOTcuOCw5My44M2ExMi42LDEyLjYsMCwwLDEtLjY0LTEuNTciLz48cGF0aCBjbGFzcz0iY2xzLTIiIGQ9Ik0xMDAuMDgsOTcuMjMsNTAuMjQsMTQxLjY1YTcwLjM1LDcwLjM1LDAsMCwwLDksNGw0Mi4wNS00Ny4yYTE1LjIzLDE1LjIzLDAsMCwxLTEuMi0xLjIxIi8+PHBhdGggY2xhc3M9ImNscy0yIiBkPSJNMTA0LjY4LDEwMC43Miw4MC44OCwxNTBjMSwwLDEuOS4xNCwyLjg2LjE0LDEuOTEsMCwzLjc4LS4xNCw1LjY0LS4yOGwxNi44OC00OC40NmExNC41LDE0LjUsMCwwLDEtMS41OC0uNjQiLz48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0xMTEuMTMsMTAyLjI0Yy0uMywwLS41Ny0uMDctLjg2LS4wOGwtMi41MSw0My42NmE3MC42Miw3MC42MiwwLDAsMCw2LjU3LTIuNzdMMTEyLDEwMi4xNmMtLjI5LDAtLjU2LjA4LS44NS4wOCIvPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTEyMSw5OC40NGwxOS45MiwyMi4zNmMxLTEuNCwyLTIuODQsMi44OC00LjMybC0yMS42LTE5LjI1YTE1LjIzLDE1LjIzLDAsMCwxLTEuMiwxLjIxIi8+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMTI1Ljg5LDg2LjU0YzAsLjI5LjA5LjU2LjA5Ljg1cy0uMDcuNTctLjA5Ljg1bDI3LjU3LDEuNTljLjI0LTEuNjIuNDQtMy4yNS41Ni00LjkxWiIvPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTEyMi4xNyw3Ny41NWwyNy4wNy0yNC4xMnEtMS4yLTMtMi42Ni01LjgzTDEyMSw3Ni4zNGExNS4yMywxNS4yMywwLDAsMSwxLjIsMS4yMSIvPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTExMC4yNyw3Mi42MmMuMjksMCwuNTYtLjA4Ljg2LS4wOHMuNTYuMDcuODUuMDhsMy4yMy01Ni4xNWE3MS44NSw3MS44NSwwLDAsMC04LjM3LTMuNTNaIi8+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMTE2LDEwMS4zNmwxMS42MywzMy4zOGMxLjU2LTEuMjQsMy0yLjU2LDQuNDktMy45MmwtMTQuNTQtMzAuMWExNC41LDE0LjUsMCwwLDEtMS41OC42NCIvPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTEyNC40NSw5My44M2wyNC43NSwxMmMuNi0xLjUsMS4xNy0zLDEuNjYtNC41NmwtMjUuNzctOWExMi42LDEyLjYsMCwwLDEtLjY0LDEuNTciLz48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0xMjUuMDksODIuNTNsMjguODUtMTBjLS4xOC0xLjgzLS40OS0zLjYxLS44MS01LjM5TDEyNC40NSw4MWExMi43NCwxMi43NCwwLDAsMSwuNjQsMS41OCIvPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTEzNy4xNSwzMy41NEE2OS42NSw2OS42NSwwLDAsMCwxMzEuODEsMjhMMTE2LDczLjQyYTE2LjgzLDE2LjgzLDAsMCwxLDEuNTguNjRaIi8+PC9zdmc+",
"sidebar_h1": "Starburst Enterprise",
Expand Down
88 changes: 88 additions & 0 deletions ods_ci/tests/Resources/Files/pipeline-samples/ray_integration.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
from kfp import components, dsl
from ods_ci.libs.DataSciencePipelinesKfpTekton import DataSciencePipelinesKfpTekton


def ray_fn(openshift_server:str, openshift_token:str) -> int:
from codeflare_sdk.cluster.cluster import Cluster, ClusterConfiguration
from codeflare_sdk.cluster.auth import TokenAuthentication
import ray

print('before login')
auth = TokenAuthentication(
token=openshift_token,
server=openshift_server,
skip_tls=True
)
auth_return = auth.login()
print(f'auth_return: "{auth_return}"')
print('after login')
cluster = Cluster(ClusterConfiguration(
name='raytest',
# namespace must exist, and it is the same from 432__data-science-pipelines-tekton.robot
namespace='pipelineskfptekton1',
num_workers=1,
head_cpus='500m',
min_memory=1,
max_memory=1,
num_gpus=0,
image="quay.io/project-codeflare/ray:latest-py39-cu118",
instascale=False
))
# workaround for https://github.com/project-codeflare/codeflare-sdk/pull/412
cluster_file_name = '/opt/app-root/src/.codeflare/appwrapper/raytest.yaml'
# Read in the file
with open(cluster_file_name, 'r') as file:
filedata = file.read()

# Replace the target string
filedata = filedata.replace('busybox:1.28', 'quay.io/project-codeflare/busybox:latest')

# Write the file out again
with open(cluster_file_name, 'w') as file:
file.write(filedata)
# end workaround

# always clean the resources
cluster.down()
print(cluster.status())
cluster.up()
cluster.wait_ready()
print(cluster.status())
print(cluster.details())

ray_dashboard_uri = cluster.cluster_dashboard_uri()
ray_cluster_uri = cluster.cluster_uri()
print(ray_dashboard_uri)
print(ray_cluster_uri)

# before proceeding make sure the cluster exists and the uri is not empty
assert ray_cluster_uri, "Ray cluster needs to be started and set before proceeding"

# reset the ray context in case there's already one.
ray.shutdown()
# establish connection to ray cluster
ray.init(address=ray_cluster_uri)
print("Ray cluster is up and running: ", ray.is_initialized())

@ray.remote
def train_fn():
return 100

result = ray.get(train_fn.remote())
assert 100 == result
ray.shutdown()
cluster.down()
auth.logout()
return result


@dsl.pipeline(
name="Ray Integration Test",
description="Ray Integration Test",
)
def ray_integration(openshift_server, openshift_token):
ray_op = components.create_component_from_func(
ray_fn, base_image=DataSciencePipelinesKfpTekton.base_image,
packages_to_install=['codeflare-sdk']
)
ray_op(openshift_server, openshift_token)
8 changes: 6 additions & 2 deletions ods_ci/tests/Resources/OCP.resource
Original file line number Diff line number Diff line change
Expand Up @@ -138,6 +138,10 @@ Get Pod Hardware Resources And Limits
RETURN ${resources}

Container Hardware Resources Should Match Expected
[Documentation] This keyword checks that the requests/limits set in a specific container in a pod contain the
... requests and limits passed in with `exp_requests` and `exp_limits`. This means that the container might have
... additional requests/limits set which are not explicitly checked against. If you want to make sure you're
... checking all attributes you have to explicitly pass them in with `exp_requests/limits`.
[Arguments] ${container_name} ${pod_label_selector} ${namespace}
... ${exp_requests}=${NONE} ${exp_limits}=${NONE}
${resources_dict}= Get Pod Hardware Resources And Limits label_selector=${pod_label_selector}
Expand All @@ -146,15 +150,15 @@ Container Hardware Resources Should Match Expected
Dictionary Should Not Contain Key ${resources_dict} requests
ELSE
${requests}= Set Variable ${resources_dict}[requests]
FOR ${index} ${resource} IN ENUMERATE @{requests.keys()}
FOR ${index} ${resource} IN ENUMERATE @{exp_requests.keys()}
Should Be Equal As Strings ${requests}[${resource}] ${exp_requests}[${resource}]
END
END
IF ${exp_limits} == ${NONE}
Dictionary Should Not Contain Key ${resources_dict} limits
ELSE
${limits}= Set Variable ${resources_dict}[limits]
FOR ${index} ${resource} IN ENUMERATE @{limits.keys()}
FOR ${index} ${resource} IN ENUMERATE @{exp_limits.keys()}
Should Be Equal As Strings ${limits}[${resource}] ${exp_limits}[${resource}]
END
END
Expand Down
6 changes: 3 additions & 3 deletions ods_ci/tests/Resources/ODS.robot
Original file line number Diff line number Diff line change
Expand Up @@ -62,20 +62,20 @@ Get "Usage Data Collection" Key

Is Usage Data Collection Enabled
[Documentation] Returns a boolean with the value of configmap odh-segment-key-config > segmentKeyEnabled
... which can be seen also in ODS Dashboard > Cluster Settings > "Usage Data Collection"
... which can be seen also in ODS Dashboard > Cluster settings > "Usage Data Collection"
${usage_data_collection_enabled}= Run
... oc get configmap odh-segment-key-config -n ${APPLICATIONS_NAMESPACE} -o jsonpath='{.data.segmentKeyEnabled}'
${usage_data_collection_enabled}= Convert To Boolean ${usage_data_collection_enabled}
RETURN ${usage_data_collection_enabled}

Usage Data Collection Should Be Enabled
[Documentation] Fails if "Usage Data Collection" is not enabled in ODS Dashboard > Cluster Settings
[Documentation] Fails if "Usage Data Collection" is not enabled in ODS Dashboard > Cluster settings
[Arguments] ${msg}="Usage Data Collection" should be enabled
${enabled}= ODS.Is Usage Data Collection Enabled
Should Be True ${enabled} msg=${msg}

Usage Data Collection Should Not Be Enabled
[Documentation] Fails if "Usage Data Collection" is enabled in ODS Dashboard > Cluster Settings
[Documentation] Fails if "Usage Data Collection" is enabled in ODS Dashboard > Cluster settings
[Arguments] ${msg}="Usage Data Collection" should not be enabled
${enabled}= ODS.Is Usage Data Collection Enabled
Should Not Be True ${enabled} msg=${msg}
Expand Down
Loading

0 comments on commit 51b27ad

Please sign in to comment.