From d77d5ebd21ef1e18c15d93c915a877f23da67c72 Mon Sep 17 00:00:00 2001 From: Fiona Waters Date: Tue, 10 Sep 2024 10:42:58 +0100 Subject: [PATCH 1/2] Upgrade Ray to version 2.35 --- .../additional-demos/hf_interactive.ipynb | 2 +- .../additional-demos/local_interactive.ipynb | 2 +- .../additional-demos/ray_job_client.ipynb | 2 +- demo-notebooks/guided-demos/0_basic_ray.ipynb | 2 +- .../guided-demos/1_cluster_job_client.ipynb | 2 +- .../guided-demos/2_basic_interactive.ipynb | 2 +- .../notebook-ex-outputs/0_basic_ray.ipynb | 2 +- .../1_cluster_job_client.ipynb | 2 +- .../2_basic_interactive.ipynb | 2 +- .../notebook-ex-outputs/interactivetest.yaml | 4 +- .../notebook-ex-outputs/jobtest.yaml | 4 +- .../notebook-ex-outputs/raytest.yaml | 4 +- .../preview_nbs/0_basic_ray.ipynb | 2 +- .../preview_nbs/1_cluster_job_client.ipynb | 2 +- .../preview_nbs/2_basic_interactive.ipynb | 2 +- docs/cluster-configuration.md | 2 +- poetry.lock | 41 ++++++++++++------- pyproject.toml | 2 +- .../templates/base-template.yaml | 6 +-- tests/e2e/support.py | 2 +- tests/test-case-bad.yaml | 6 +-- tests/test-case-custom-image.yaml | 2 +- tests/test-case-no-kueue-no-aw.yaml | 6 +-- tests/test-case-no-mcad.yamls | 6 +-- tests/test-case.yaml | 6 +-- tests/test-default-appwrapper.yaml | 6 +-- tests/unit_test.py | 6 +-- tests/unit_test_support.py | 2 +- 28 files changed, 71 insertions(+), 58 deletions(-) diff --git a/demo-notebooks/additional-demos/hf_interactive.ipynb b/demo-notebooks/additional-demos/hf_interactive.ipynb index 7e2a7180f..398359299 100644 --- a/demo-notebooks/additional-demos/hf_interactive.ipynb +++ b/demo-notebooks/additional-demos/hf_interactive.ipynb @@ -68,7 +68,7 @@ "source": [ "Here, we want to define our cluster by specifying the resources we require for our batch workload. Below, we define our cluster object (which generates a corresponding Ray Cluster).\n", "\n", - "NOTE: 'quay.io/rhoai/ray:2.23.0-py39-cu121' is the default community image used by the CodeFlare SDK for creating a RayCluster resource. \n", + "NOTE: 'quay.io/modh/ray:2.35.0-py39-cu121' is the default image used by the CodeFlare SDK for creating a RayCluster resource. \n", "If you have your own Ray image which suits your purposes, specify it in image field to override the default image." ] }, diff --git a/demo-notebooks/additional-demos/local_interactive.ipynb b/demo-notebooks/additional-demos/local_interactive.ipynb index 6c3aa2ac5..a491b97e8 100644 --- a/demo-notebooks/additional-demos/local_interactive.ipynb +++ b/demo-notebooks/additional-demos/local_interactive.ipynb @@ -35,7 +35,7 @@ "metadata": {}, "source": [ "\n", - "NOTE: 'quay.io/rhoai/ray:2.23.0-py39-cu121' is the default community image used by the CodeFlare SDK for creating a RayCluster resource. \n", + "NOTE: 'quay.io/modh/ray:2.35.0-py39-cu121' is the default image used by the CodeFlare SDK for creating a RayCluster resource. \n", "If you have your own Ray image which suits your purposes, specify it in image field to override the default image." ] }, diff --git a/demo-notebooks/additional-demos/ray_job_client.ipynb b/demo-notebooks/additional-demos/ray_job_client.ipynb index 2f43306e9..a16ae6e6b 100644 --- a/demo-notebooks/additional-demos/ray_job_client.ipynb +++ b/demo-notebooks/additional-demos/ray_job_client.ipynb @@ -41,7 +41,7 @@ "metadata": {}, "source": [ "\n", - "NOTE: 'quay.io/rhoai/ray:2.23.0-py39-cu121' is the default community image used by the CodeFlare SDK for creating a RayCluster resource. \n", + "NOTE: 'quay.io/modh/ray:2.35.0-py39-cu121' is the default image used by the CodeFlare SDK for creating a RayCluster resource. \n", "If you have your own Ray image which suits your purposes, specify it in image field to override the default image." ] }, diff --git a/demo-notebooks/guided-demos/0_basic_ray.ipynb b/demo-notebooks/guided-demos/0_basic_ray.ipynb index 55fd81d94..2a9ae48e4 100644 --- a/demo-notebooks/guided-demos/0_basic_ray.ipynb +++ b/demo-notebooks/guided-demos/0_basic_ray.ipynb @@ -47,7 +47,7 @@ "source": [ "Here, we want to define our cluster by specifying the resources we require for our batch workload. Below, we define our cluster object (which generates a corresponding RayCluster).\n", "\n", - "NOTE: 'quay.io/rhoai/ray:2.23.0-py39-cu121' is the default community image used by the CodeFlare SDK for creating a RayCluster resource. \n", + "NOTE: 'quay.io/modh/ray:2.35.0-py39-cu121' is the default image used by the CodeFlare SDK for creating a RayCluster resource. \n", "If you have your own Ray image which suits your purposes, specify it in image field to override the default image." ] }, diff --git a/demo-notebooks/guided-demos/1_cluster_job_client.ipynb b/demo-notebooks/guided-demos/1_cluster_job_client.ipynb index 56585e373..0857042a1 100644 --- a/demo-notebooks/guided-demos/1_cluster_job_client.ipynb +++ b/demo-notebooks/guided-demos/1_cluster_job_client.ipynb @@ -41,7 +41,7 @@ "source": [ "Here, we want to define our cluster by specifying the resources we require for our batch workload. Below, we define our cluster object (which generates a corresponding RayCluster).\n", "\n", - "NOTE: 'quay.io/rhoai/ray:2.23.0-py39-cu121' is the default community image used by the CodeFlare SDK for creating a RayCluster resource. \n", + "NOTE: 'quay.io/modh/ray:2.35.0-py39-cu121' is the default image used by the CodeFlare SDK for creating a RayCluster resource. \n", "If you have your own Ray image which suits your purposes, specify it in image field to override the default image." ] }, diff --git a/demo-notebooks/guided-demos/2_basic_interactive.ipynb b/demo-notebooks/guided-demos/2_basic_interactive.ipynb index 249f41504..98fcafa21 100644 --- a/demo-notebooks/guided-demos/2_basic_interactive.ipynb +++ b/demo-notebooks/guided-demos/2_basic_interactive.ipynb @@ -44,7 +44,7 @@ "source": [ "Once again, let's start by running through the same cluster setup as before:\n", "\n", - "NOTE: 'quay.io/rhoai/ray:2.23.0-py39-cu121' is the default community image used by the CodeFlare SDK for creating a RayCluster resource. \n", + "NOTE: 'quay.io/modh/ray:2.35.0-py39-cu121' is the default image used by the CodeFlare SDK for creating a RayCluster resource. \n", "If you have your own Ray image which suits your purposes, specify it in image field to override the default image." ] }, diff --git a/demo-notebooks/guided-demos/notebook-ex-outputs/0_basic_ray.ipynb b/demo-notebooks/guided-demos/notebook-ex-outputs/0_basic_ray.ipynb index 03270e8b7..3d581e6fb 100644 --- a/demo-notebooks/guided-demos/notebook-ex-outputs/0_basic_ray.ipynb +++ b/demo-notebooks/guided-demos/notebook-ex-outputs/0_basic_ray.ipynb @@ -47,7 +47,7 @@ "source": [ "Here, we want to define our cluster by specifying the resources we require for our batch workload. Below, we define our cluster object (which generates a corresponding RayCluster).\n", "\n", - "NOTE: 'quay.io/rhoai/ray:2.23.0-py39-cu121' is the default community image used by the CodeFlare SDK for creating a RayCluster resource. \n", + "NOTE: 'quay.io/modh/ray:2.35.0-py39-cu121' is the default image used by the CodeFlare SDK for creating a RayCluster resource. \n", "If you have your own Ray image which suits your purposes, specify it in image field to override the default image." ] }, diff --git a/demo-notebooks/guided-demos/notebook-ex-outputs/1_cluster_job_client.ipynb b/demo-notebooks/guided-demos/notebook-ex-outputs/1_cluster_job_client.ipynb index 1a5e77f4e..1ccad58cc 100644 --- a/demo-notebooks/guided-demos/notebook-ex-outputs/1_cluster_job_client.ipynb +++ b/demo-notebooks/guided-demos/notebook-ex-outputs/1_cluster_job_client.ipynb @@ -41,7 +41,7 @@ "source": [ "Here, we want to define our cluster by specifying the resources we require for our batch workload. Below, we define our cluster object (which generates a corresponding RayCluster).\n", "\n", - "NOTE: 'quay.io/rhoai/ray:2.23.0-py39-cu121' is the default community image used by the CodeFlare SDK for creating a RayCluster resource. \n", + "NOTE: 'quay.io/modh/ray:2.35.0-py39-cu121' is the default image used by the CodeFlare SDK for creating a RayCluster resource. \n", "If you have your own Ray image which suits your purposes, specify it in image field to override the default image." ] }, diff --git a/demo-notebooks/guided-demos/notebook-ex-outputs/2_basic_interactive.ipynb b/demo-notebooks/guided-demos/notebook-ex-outputs/2_basic_interactive.ipynb index 08eaf0b81..80207c37e 100644 --- a/demo-notebooks/guided-demos/notebook-ex-outputs/2_basic_interactive.ipynb +++ b/demo-notebooks/guided-demos/notebook-ex-outputs/2_basic_interactive.ipynb @@ -44,7 +44,7 @@ "source": [ "Once again, let's start by running through the same cluster setup as before:\n", "\n", - "NOTE: 'quay.io/rhoai/ray:2.23.0-py39-cu121' is the default community image used by the CodeFlare SDK for creating a RayCluster resource. \n", + "NOTE: 'quay.io/modh/ray:2.35.0-py39-cu121' is the default image used by the CodeFlare SDK for creating a RayCluster resource. \n", "If you have your own Ray image which suits your purposes, specify it in image field to override the default image." ] }, diff --git a/demo-notebooks/guided-demos/notebook-ex-outputs/interactivetest.yaml b/demo-notebooks/guided-demos/notebook-ex-outputs/interactivetest.yaml index 3ef8ff6fb..fd6500a71 100644 --- a/demo-notebooks/guided-demos/notebook-ex-outputs/interactivetest.yaml +++ b/demo-notebooks/guided-demos/notebook-ex-outputs/interactivetest.yaml @@ -81,7 +81,7 @@ spec: value: /home/ray/workspace/tls/server.key - name: RAY_TLS_CA_CERT value: /home/ray/workspace/tls/ca.crt - image: quay.io/rhoai/ray:2.23.0-py39-cu121 + image: quay.io/modh/ray:2.35.0-py39-cu121 imagePullPolicy: Always lifecycle: preStop: @@ -147,7 +147,7 @@ spec: value: /home/ray/workspace/tls/server.key - name: RAY_TLS_CA_CERT value: /home/ray/workspace/tls/ca.crt - image: quay.io/rhoai/ray:2.23.0-py39-cu121 + image: quay.io/modh/ray:2.35.0-py39-cu121 lifecycle: preStop: exec: diff --git a/demo-notebooks/guided-demos/notebook-ex-outputs/jobtest.yaml b/demo-notebooks/guided-demos/notebook-ex-outputs/jobtest.yaml index b439295f6..a33a9cf54 100644 --- a/demo-notebooks/guided-demos/notebook-ex-outputs/jobtest.yaml +++ b/demo-notebooks/guided-demos/notebook-ex-outputs/jobtest.yaml @@ -70,7 +70,7 @@ spec: value: /home/ray/workspace/tls/server.key - name: RAY_TLS_CA_CERT value: /home/ray/workspace/tls/ca.crt - image: quay.io/rhoai/ray:2.23.0-py39-cu121 + image: quay.io/modh/ray:2.35.0-py39-cu121 imagePullPolicy: Always lifecycle: preStop: @@ -127,7 +127,7 @@ spec: value: /home/ray/workspace/tls/server.key - name: RAY_TLS_CA_CERT value: /home/ray/workspace/tls/ca.crt - image: quay.io/rhoai/ray:2.23.0-py39-cu121 + image: quay.io/modh/ray:2.35.0-py39-cu121 lifecycle: preStop: exec: diff --git a/demo-notebooks/guided-demos/notebook-ex-outputs/raytest.yaml b/demo-notebooks/guided-demos/notebook-ex-outputs/raytest.yaml index b953b7504..151d2e28c 100644 --- a/demo-notebooks/guided-demos/notebook-ex-outputs/raytest.yaml +++ b/demo-notebooks/guided-demos/notebook-ex-outputs/raytest.yaml @@ -70,7 +70,7 @@ spec: value: /home/ray/workspace/tls/server.key - name: RAY_TLS_CA_CERT value: /home/ray/workspace/tls/ca.crt - image: quay.io/rhoai/ray:2.23.0-py39-cu121 + image: quay.io/modh/ray:2.35.0-py39-cu121 imagePullPolicy: Always lifecycle: preStop: @@ -127,7 +127,7 @@ spec: value: /home/ray/workspace/tls/server.key - name: RAY_TLS_CA_CERT value: /home/ray/workspace/tls/ca.crt - image: quay.io/rhoai/ray:2.23.0-py39-cu121 + image: quay.io/modh/ray:2.35.0-py39-cu121 lifecycle: preStop: exec: diff --git a/demo-notebooks/guided-demos/preview_nbs/0_basic_ray.ipynb b/demo-notebooks/guided-demos/preview_nbs/0_basic_ray.ipynb index 03270e8b7..3d581e6fb 100644 --- a/demo-notebooks/guided-demos/preview_nbs/0_basic_ray.ipynb +++ b/demo-notebooks/guided-demos/preview_nbs/0_basic_ray.ipynb @@ -47,7 +47,7 @@ "source": [ "Here, we want to define our cluster by specifying the resources we require for our batch workload. Below, we define our cluster object (which generates a corresponding RayCluster).\n", "\n", - "NOTE: 'quay.io/rhoai/ray:2.23.0-py39-cu121' is the default community image used by the CodeFlare SDK for creating a RayCluster resource. \n", + "NOTE: 'quay.io/modh/ray:2.35.0-py39-cu121' is the default image used by the CodeFlare SDK for creating a RayCluster resource. \n", "If you have your own Ray image which suits your purposes, specify it in image field to override the default image." ] }, diff --git a/demo-notebooks/guided-demos/preview_nbs/1_cluster_job_client.ipynb b/demo-notebooks/guided-demos/preview_nbs/1_cluster_job_client.ipynb index d0a527e30..0a2b93431 100644 --- a/demo-notebooks/guided-demos/preview_nbs/1_cluster_job_client.ipynb +++ b/demo-notebooks/guided-demos/preview_nbs/1_cluster_job_client.ipynb @@ -41,7 +41,7 @@ "source": [ "Here, we want to define our cluster by specifying the resources we require for our batch workload. Below, we define our cluster object (which generates a corresponding RayCluster).\n", "\n", - "NOTE: 'quay.io/rhoai/ray:2.23.0-py39-cu121' is the default community image used by the CodeFlare SDK for creating a RayCluster resource. \n", + "NOTE: 'quay.io/modh/ray:2.35.0-py39-cu121' is the default image used by the CodeFlare SDK for creating a RayCluster resource. \n", "If you have your own Ray image which suits your purposes, specify it in image field to override the default image." ] }, diff --git a/demo-notebooks/guided-demos/preview_nbs/2_basic_interactive.ipynb b/demo-notebooks/guided-demos/preview_nbs/2_basic_interactive.ipynb index 1f48d329f..a58c249ef 100644 --- a/demo-notebooks/guided-demos/preview_nbs/2_basic_interactive.ipynb +++ b/demo-notebooks/guided-demos/preview_nbs/2_basic_interactive.ipynb @@ -44,7 +44,7 @@ "source": [ "Once again, let's start by running through the same cluster setup as before:\n", "\n", - "NOTE: 'quay.io/rhoai/ray:2.23.0-py39-cu121' is the default community image used by the CodeFlare SDK for creating a RayCluster resource. \n", + "NOTE: 'quay.io/modh/ray:2.35.0-py39-cu121' is the default image used by the CodeFlare SDK for creating a RayCluster resource. \n", "If you have your own Ray image which suits your purposes, specify it in image field to override the default image." ] }, diff --git a/docs/cluster-configuration.md b/docs/cluster-configuration.md index 8ca4a2c26..38f516b08 100644 --- a/docs/cluster-configuration.md +++ b/docs/cluster-configuration.md @@ -23,7 +23,7 @@ cluster = Cluster(ClusterConfiguration( labels={"exampleLabel": "example", "secondLabel": "example"}, )) ``` -Note: 'quay.io/rhoai/ray:2.23.0-py39-cu121' is the default community image used by the CodeFlare SDK for creating a RayCluster resource. If you have your own Ray image which suits your purposes, specify it in image field to override the default image. +Note: 'quay.io/modh/ray:2.35.0-py39-cu121' is the default image used by the CodeFlare SDK for creating a RayCluster resource. If you have your own Ray image which suits your purposes, specify it in image field to override the default image. The `labels={"exampleLabel": "example"}` parameter can be used to apply additional labels to the RayCluster resource. diff --git a/poetry.lock b/poetry.lock index 1adcd3973..215682980 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,4 +1,4 @@ -# This file is automatically @generated by Poetry 1.8.3 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.7.1 and should not be changed by hand. [[package]] name = "aiohttp" @@ -2160,20 +2160,31 @@ files = [ [[package]] name = "ray" -version = "2.23.0" +version = "2.35.0" description = "Ray provides a simple, universal API for building distributed applications." optional = false python-versions = ">=3.8" files = [ - {file = "ray-2.23.0-cp310-cp310-macosx_10_15_x86_64.whl", hash = "sha256:4f5ea8dc8fc014704ea12ef8a569abf0deca2ba2a6f157dc5fdd1789db4e0a65"}, - {file = "ray-2.23.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fc950898871c3ecf3b921295c5fcf47b4a30b57b54be8f369014fb1eb9b4cfa5"}, - {file = "ray-2.23.0-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:55610f8eae65ce5686bde75a5782ce63e2a0112ccd2262b8acd707264da6dbea"}, - {file = "ray-2.23.0-cp311-cp311-macosx_10_15_x86_64.whl", hash = "sha256:1a43d94ce3f14490e6f1e3e868fd6a5f3be4878cbf83c4bcdc741861d6a4dbf6"}, - {file = "ray-2.23.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f2d2c1d59d7c8bd8b97288f7ae9a6bf762bd4e703b57787282400d3176dd159d"}, - {file = "ray-2.23.0-cp311-cp311-manylinux2014_x86_64.whl", hash = "sha256:15c109fd9969326323c8bdb0701cd9af21c85f465002f74950622f9a580ec4e5"}, - {file = "ray-2.23.0-cp39-cp39-macosx_10_15_x86_64.whl", hash = "sha256:e7d059f094dedae36dddeaf792ebb74d4eed1a8ab1fb540dbffce4ac22694800"}, - {file = "ray-2.23.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:7c305f31674fb8319c147d66e27dd210c7ad6d375626307ddfc62137a26d4155"}, - {file = "ray-2.23.0-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:b40f85c67ee3d58732b4021460c4297eb418f466313d70b577e5bf9fbb4c2d16"}, + {file = "ray-2.35.0-cp310-cp310-macosx_10_15_x86_64.whl", hash = "sha256:1e7e2d2e987be728a81821b6fd2bccb23e4d8a6cca8417db08b24f06a08d8476"}, + {file = "ray-2.35.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8bd48be4c362004d31e5df072fd58b929efc67adfefc0adece41483b15f84539"}, + {file = "ray-2.35.0-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:ef41e9254f3e18a90a8cf13fac9e35ac086eb778079ab6c76a37d3a6059186c5"}, + {file = "ray-2.35.0-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:1994aaf9996ffc45019856545e817d527ad572762f1af76ad669ae4e786fcfd6"}, + {file = "ray-2.35.0-cp310-cp310-win_amd64.whl", hash = "sha256:d3b7a7d73f818e249064460ffa95402ebd852bf97d9ec6167b8b0d95be03da9f"}, + {file = "ray-2.35.0-cp311-cp311-macosx_10_15_x86_64.whl", hash = "sha256:e29754fac4b69a9cb0d089841af59ec6fb10b5d4a248b7c579d319ca2ed1c96f"}, + {file = "ray-2.35.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d7a606c8ca53c64fc496703e9fd15d1a1ffb50e6b457a33d3622be2f13fc30a5"}, + {file = "ray-2.35.0-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:ac561e20a62ce941b74d02a0b92b7765c6ba87cc22e24f34f64ded2c454ba64e"}, + {file = "ray-2.35.0-cp311-cp311-manylinux2014_x86_64.whl", hash = "sha256:587af570cbe5f6cedca854f15107740e63c67207bee900713cb2ee38f6ebf20f"}, + {file = "ray-2.35.0-cp311-cp311-win_amd64.whl", hash = "sha256:8e406cce41679790146d4d2b1b0cb0b413ca35276e43b68ee796366169c1dbde"}, + {file = "ray-2.35.0-cp312-cp312-macosx_10_15_x86_64.whl", hash = "sha256:eb86355a3a0e794e2f1dbd5a84805dddfca64921ad0999b7fa5276e40d243692"}, + {file = "ray-2.35.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:7b746913268d5ea5e19bff0eb6bdc7e0538036892a8b57c08411787481195df2"}, + {file = "ray-2.35.0-cp312-cp312-manylinux2014_aarch64.whl", hash = "sha256:e2ccfd144180f03d38b02a81afdac2b437f27e46736bf2653a1f0e8d67ea56cd"}, + {file = "ray-2.35.0-cp312-cp312-manylinux2014_x86_64.whl", hash = "sha256:2ca1a0de41d4462fd764598a5981cf55fc955599f38f9a1ae10868e94c6dd80d"}, + {file = "ray-2.35.0-cp312-cp312-win_amd64.whl", hash = "sha256:c5600f745bb0e4df840a5cd51e82b1acf517f73505df9869fe3e369966956129"}, + {file = "ray-2.35.0-cp39-cp39-macosx_10_15_x86_64.whl", hash = "sha256:5e98d2bac394b806109782f316740c5b3c3f10a50117c8e28200a528df734928"}, + {file = "ray-2.35.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c395b46efd0dd871424b1b8d6baf99f91983946fbe351ff66ea34e8919daff29"}, + {file = "ray-2.35.0-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:4e6314bfdb8c73abcac13f41cc3d935dd1a8ad94c65005a4bfdc4861dc8b070d"}, + {file = "ray-2.35.0-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:70a154e3071cbb4d7a9b68f2dcf491b96b760be0ec6e2ef11a766071ac6acfef"}, + {file = "ray-2.35.0-cp39-cp39-win_amd64.whl", hash = "sha256:dd8bdf9d16989684486db9ebcd23679140e2d6769fcdaadc05e8cac6b373023e"}, ] [package.dependencies] @@ -2207,10 +2218,12 @@ smart-open = {version = "*", optional = true, markers = "extra == \"default\""} virtualenv = {version = ">=20.0.24,<20.21.1 || >20.21.1", optional = true, markers = "extra == \"default\""} [package.extras] +adag = ["cupy-cuda12x"] air = ["aiohttp (>=3.7)", "aiohttp-cors", "colorful", "fastapi", "fsspec", "grpcio (>=1.32.0)", "grpcio (>=1.42.0)", "memray", "numpy (>=1.20)", "opencensus", "pandas", "pandas (>=1.3)", "prometheus-client (>=0.7.1)", "py-spy (>=0.2.0)", "pyarrow (>=6.0.1)", "pydantic (<2.0.dev0 || >=2.5.dev0,<3)", "requests", "smart-open", "starlette", "tensorboardX (>=1.9)", "uvicorn[standard]", "virtualenv (>=20.0.24,!=20.21.1)", "watchfiles"] -all = ["aiohttp (>=3.7)", "aiohttp-cors", "colorful", "dm-tree", "fastapi", "fsspec", "grpcio (!=1.56.0)", "grpcio (>=1.32.0)", "grpcio (>=1.42.0)", "gymnasium (==0.28.1)", "lz4", "memray", "numpy (>=1.20)", "opencensus", "opentelemetry-api", "opentelemetry-exporter-otlp", "opentelemetry-sdk", "pandas", "pandas (>=1.3)", "prometheus-client (>=0.7.1)", "py-spy (>=0.2.0)", "pyarrow (>=6.0.1)", "pydantic (<2.0.dev0 || >=2.5.dev0,<3)", "pyyaml", "ray-cpp (==2.23.0)", "requests", "rich", "scikit-image", "scipy", "smart-open", "starlette", "tensorboardX (>=1.9)", "typer", "uvicorn[standard]", "virtualenv (>=20.0.24,!=20.21.1)", "watchfiles"] +all = ["aiohttp (>=3.7)", "aiohttp-cors", "colorful", "cupy-cuda12x", "dm-tree", "fastapi", "fsspec", "grpcio (!=1.56.0)", "grpcio (>=1.32.0)", "grpcio (>=1.42.0)", "gymnasium (==0.28.1)", "lz4", "memray", "numpy (>=1.20)", "opencensus", "opentelemetry-api", "opentelemetry-exporter-otlp", "opentelemetry-sdk", "pandas", "pandas (>=1.3)", "prometheus-client (>=0.7.1)", "py-spy (>=0.2.0)", "pyarrow (>=6.0.1)", "pydantic (<2.0.dev0 || >=2.5.dev0,<3)", "pyyaml", "requests", "rich", "scikit-image", "scipy", "smart-open", "starlette", "tensorboardX (>=1.9)", "typer", "uvicorn[standard]", "virtualenv (>=20.0.24,!=20.21.1)", "watchfiles"] +all-cpp = ["aiohttp (>=3.7)", "aiohttp-cors", "colorful", "cupy-cuda12x", "dm-tree", "fastapi", "fsspec", "grpcio (!=1.56.0)", "grpcio (>=1.32.0)", "grpcio (>=1.42.0)", "gymnasium (==0.28.1)", "lz4", "memray", "numpy (>=1.20)", "opencensus", "opentelemetry-api", "opentelemetry-exporter-otlp", "opentelemetry-sdk", "pandas", "pandas (>=1.3)", "prometheus-client (>=0.7.1)", "py-spy (>=0.2.0)", "pyarrow (>=6.0.1)", "pydantic (<2.0.dev0 || >=2.5.dev0,<3)", "pyyaml", "ray-cpp (==2.35.0)", "requests", "rich", "scikit-image", "scipy", "smart-open", "starlette", "tensorboardX (>=1.9)", "typer", "uvicorn[standard]", "virtualenv (>=20.0.24,!=20.21.1)", "watchfiles"] client = ["grpcio (!=1.56.0)"] -cpp = ["ray-cpp (==2.23.0)"] +cpp = ["ray-cpp (==2.35.0)"] data = ["fsspec", "numpy (>=1.20)", "pandas (>=1.3)", "pyarrow (>=6.0.1)"] default = ["aiohttp (>=3.7)", "aiohttp-cors", "colorful", "grpcio (>=1.32.0)", "grpcio (>=1.42.0)", "memray", "opencensus", "prometheus-client (>=0.7.1)", "py-spy (>=0.2.0)", "pydantic (<2.0.dev0 || >=2.5.dev0,<3)", "requests", "smart-open", "virtualenv (>=20.0.24,!=20.21.1)"] observability = ["opentelemetry-api", "opentelemetry-exporter-otlp", "opentelemetry-sdk"] @@ -2807,4 +2820,4 @@ test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", [metadata] lock-version = "2.0" python-versions = "^3.9" -content-hash = "f02d9217a65ea7004e4c8cb726fa4117f7bf23dfd3f986810fd3a2e4659d66eb" +content-hash = "cbff1a5a7da645b81c7de962eadeb2a8378eb9f783ebed526a3634f1d97e2bf5" diff --git a/pyproject.toml b/pyproject.toml index 93e485d97..21729ee8a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -23,7 +23,7 @@ keywords = ['codeflare', 'python', 'sdk', 'client', 'batch', 'scale'] python = "^3.9" openshift-client = "1.0.18" rich = "^12.5" -ray = {version = "2.23.0", extras = ["data", "default"]} +ray = {version = "2.35.0", extras = ["data", "default"]} kubernetes = ">= 25.3.0, < 27" cryptography = "40.0.2" executing = "1.2.0" diff --git a/src/codeflare_sdk/templates/base-template.yaml b/src/codeflare_sdk/templates/base-template.yaml index 076bd2623..d6b2ce55d 100644 --- a/src/codeflare_sdk/templates/base-template.yaml +++ b/src/codeflare_sdk/templates/base-template.yaml @@ -12,7 +12,7 @@ metadata: namespace: default spec: # The version of Ray you are using. Make sure all Ray containers are running this version of Ray. - rayVersion: '2.23.0' + rayVersion: '2.35.0' # If enableInTreeAutoscaling is true, the autoscaler sidecar will be added to the Ray head pod. # Ray autoscaler integration is supported only for Ray versions >= 1.11.0 # Ray autoscaler integration is Beta with KubeRay >= 0.3.0 and Ray >= 2.0.0. @@ -69,7 +69,7 @@ spec: containers: # The Ray head pod - name: ray-head - image: quay.io/rhoai/ray:2.23.0-py39-cu121 + image: quay.io/modh/ray:2.35.0-py39-cu121 imagePullPolicy: Always ports: - containerPort: 6379 @@ -150,7 +150,7 @@ spec: spec: containers: - name: machine-learning # must consist of lower case alphanumeric characters or '-', and must start and end with an alphanumeric character (e.g. 'my-name', or '123-abc' - image: quay.io/rhoai/ray:2.23.0-py39-cu121 + image: quay.io/modh/ray:2.35.0-py39-cu121 # environment variables to set in the container.Optional. # Refer to https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/ lifecycle: diff --git a/tests/e2e/support.py b/tests/e2e/support.py index c8346909a..4a8b6ca0d 100644 --- a/tests/e2e/support.py +++ b/tests/e2e/support.py @@ -8,7 +8,7 @@ def get_ray_image(): - default_ray_image = "quay.io/rhoai/ray:2.23.0-py39-cu121" + default_ray_image = "quay.io/modh/ray:2.35.0-py39-cu121" return os.getenv("RAY_IMAGE", default_ray_image) diff --git a/tests/test-case-bad.yaml b/tests/test-case-bad.yaml index cb2f4a0aa..3c9da72c6 100644 --- a/tests/test-case-bad.yaml +++ b/tests/test-case-bad.yaml @@ -43,7 +43,7 @@ spec: valueFrom: fieldRef: fieldPath: status.podIP - image: quay.io/rhoai/ray:2.23.0-py39-cu121 + image: quay.io/modh/ray:2.35.0-py39-cu121 imagePullPolicy: Always lifecycle: preStop: @@ -67,7 +67,7 @@ spec: requests: cpu: 2 memory: 8G - rayVersion: 2.23.0 + rayVersion: 2.35.0 workerGroupSpecs: - groupName: small-group-unit-test-cluster maxReplicas: 2 @@ -90,7 +90,7 @@ spec: valueFrom: fieldRef: fieldPath: status.podIP - image: quay.io/rhoai/ray:2.23.0-py39-cu121 + image: quay.io/modh/ray:2.35.0-py39-cu121 lifecycle: preStop: exec: diff --git a/tests/test-case-custom-image.yaml b/tests/test-case-custom-image.yaml index 8a417a581..d7e525076 100644 --- a/tests/test-case-custom-image.yaml +++ b/tests/test-case-custom-image.yaml @@ -88,7 +88,7 @@ spec: name: odh-trusted-ca-bundle optional: true name: odh-ca-cert - rayVersion: 2.23.0 + rayVersion: 2.35.0 workerGroupSpecs: - groupName: small-group-unit-test-cluster-custom-image maxReplicas: 2 diff --git a/tests/test-case-no-kueue-no-aw.yaml b/tests/test-case-no-kueue-no-aw.yaml index 3ea7a22d1..87a9242eb 100644 --- a/tests/test-case-no-kueue-no-aw.yaml +++ b/tests/test-case-no-kueue-no-aw.yaml @@ -31,7 +31,7 @@ spec: template: spec: containers: - - image: quay.io/rhoai/ray:2.23.0-py39-cu121 + - image: quay.io/modh/ray:2.35.0-py39-cu121 imagePullPolicy: Always lifecycle: preStop: @@ -85,7 +85,7 @@ spec: name: odh-trusted-ca-bundle optional: true name: odh-ca-cert - rayVersion: 2.23.0 + rayVersion: 2.35.0 workerGroupSpecs: - groupName: small-group-unit-test-no-kueue maxReplicas: 2 @@ -103,7 +103,7 @@ spec: key: value spec: containers: - - image: quay.io/rhoai/ray:2.23.0-py39-cu121 + - image: quay.io/modh/ray:2.35.0-py39-cu121 lifecycle: preStop: exec: diff --git a/tests/test-case-no-mcad.yamls b/tests/test-case-no-mcad.yamls index 45a3dfb9f..a686dd476 100644 --- a/tests/test-case-no-mcad.yamls +++ b/tests/test-case-no-mcad.yamls @@ -34,7 +34,7 @@ spec: template: spec: containers: - - image: quay.io/rhoai/ray:2.23.0-py39-cu121 + - image: quay.io/modh/ray:2.35.0-py39-cu121 imagePullPolicy: Always lifecycle: preStop: @@ -88,7 +88,7 @@ spec: name: odh-trusted-ca-bundle optional: true name: odh-ca-cert - rayVersion: 2.23.0 + rayVersion: 2.35.0 workerGroupSpecs: - groupName: small-group-unit-test-cluster-ray maxReplicas: 2 @@ -106,7 +106,7 @@ spec: key: value spec: containers: - - image: quay.io/rhoai/ray:2.23.0-py39-cu121 + - image: quay.io/modh/ray:2.35.0-py39-cu121 lifecycle: preStop: exec: diff --git a/tests/test-case.yaml b/tests/test-case.yaml index 461ed7dfc..9d85c5a94 100644 --- a/tests/test-case.yaml +++ b/tests/test-case.yaml @@ -39,7 +39,7 @@ spec: template: spec: containers: - - image: quay.io/rhoai/ray:2.23.0-py39-cu121 + - image: quay.io/modh/ray:2.35.0-py39-cu121 imagePullPolicy: Always lifecycle: preStop: @@ -93,7 +93,7 @@ spec: name: odh-trusted-ca-bundle optional: true name: odh-ca-cert - rayVersion: 2.23.0 + rayVersion: 2.35.0 workerGroupSpecs: - groupName: small-group-unit-test-cluster maxReplicas: 2 @@ -111,7 +111,7 @@ spec: key: value spec: containers: - - image: quay.io/rhoai/ray:2.23.0-py39-cu121 + - image: quay.io/modh/ray:2.35.0-py39-cu121 lifecycle: preStop: exec: diff --git a/tests/test-default-appwrapper.yaml b/tests/test-default-appwrapper.yaml index cc27e37a1..7abc17edb 100644 --- a/tests/test-default-appwrapper.yaml +++ b/tests/test-default-appwrapper.yaml @@ -40,7 +40,7 @@ spec: spec: imagePullSecrets: [] containers: - - image: quay.io/rhoai/ray:2.23.0-py39-cu121 + - image: quay.io/modh/ray:2.35.0-py39-cu121 imagePullPolicy: Always lifecycle: preStop: @@ -92,7 +92,7 @@ spec: name: odh-trusted-ca-bundle optional: true name: odh-ca-cert - rayVersion: 2.23.0 + rayVersion: 2.35.0 workerGroupSpecs: - groupName: small-group-unit-test-default-cluster maxReplicas: 1 @@ -111,7 +111,7 @@ spec: spec: imagePullSecrets: [] containers: - - image: quay.io/rhoai/ray:2.23.0-py39-cu121 + - image: quay.io/modh/ray:2.35.0-py39-cu121 lifecycle: preStop: exec: diff --git a/tests/unit_test.py b/tests/unit_test.py index a5f9cae96..8a51c6eb9 100644 --- a/tests/unit_test.py +++ b/tests/unit_test.py @@ -1245,7 +1245,7 @@ def get_ray_obj(group, version, namespace, plural, cls=None): }, }, }, - "rayVersion": "2.23.0", + "rayVersion": "2.35.0", "workerGroupSpecs": [ { "groupName": "small-group-quicktest", @@ -1478,7 +1478,7 @@ def get_ray_obj(group, version, namespace, plural, cls=None): } }, }, - "rayVersion": "2.23.0", + "rayVersion": "2.35.0", "workerGroupSpecs": [ { "groupName": "small-group-quicktest2", @@ -1846,7 +1846,7 @@ def get_aw_obj(group, version, namespace, plural): } }, }, - "rayVersion": "2.23.0", + "rayVersion": "2.35.0", "workerGroupSpecs": [ { "groupName": "small-group-quicktest", diff --git a/tests/unit_test_support.py b/tests/unit_test_support.py index dd8c2fceb..22713d2d5 100644 --- a/tests/unit_test_support.py +++ b/tests/unit_test_support.py @@ -45,7 +45,7 @@ def createClusterWrongType(): appwrapper=True, machine_types=[True, False], image_pull_secrets=["unit-test-pull-secret"], - image="quay.io/rhoai/ray:2.23.0-py39-cu121", + image="quay.io/modh/ray:2.35.0-py39-cu121", write_to_file=True, labels={1: 1}, ) From 6b7f8057cb80e5fb866865d9a12448ee5c30cc7d Mon Sep 17 00:00:00 2001 From: Fiona Waters Date: Fri, 13 Sep 2024 11:31:13 +0100 Subject: [PATCH 2/2] adding reference to rocm compatible image --- docs/cluster-configuration.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/cluster-configuration.md b/docs/cluster-configuration.md index 38f516b08..47110e4b1 100644 --- a/docs/cluster-configuration.md +++ b/docs/cluster-configuration.md @@ -23,7 +23,7 @@ cluster = Cluster(ClusterConfiguration( labels={"exampleLabel": "example", "secondLabel": "example"}, )) ``` -Note: 'quay.io/modh/ray:2.35.0-py39-cu121' is the default image used by the CodeFlare SDK for creating a RayCluster resource. If you have your own Ray image which suits your purposes, specify it in image field to override the default image. +Note: 'quay.io/modh/ray:2.35.0-py39-cu121' is the default image used by the CodeFlare SDK for creating a RayCluster resource. If you have your own Ray image which suits your purposes, specify it in image field to override the default image. If you are using ROCm compatible GPUs you can use 'quay.io/modh/ray:2.35.0-py39-rocm61'. You can also find documentation on building a custom image [here](https://github.com/opendatahub-io/distributed-workloads/tree/main/images/runtime/examples). The `labels={"exampleLabel": "example"}` parameter can be used to apply additional labels to the RayCluster resource.