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 7e2a7180..39835929 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 6c3aa2ac..a491b97e 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 2f43306e..a16ae6e6 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 55fd81d9..2a9ae48e 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 56585e37..0857042a 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 249f4150..98fcafa2 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 03270e8b..3d581e6f 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 1a5e77f4..1ccad58c 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 08eaf0b8..80207c37 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 3ef8ff6f..fd6500a7 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 b439295f..a33a9cf5 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 b953b750..151d2e28 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 03270e8b..3d581e6f 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 d0a527e3..0a2b9343 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 1f48d329..a58c249e 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 8ca4a2c2..38f516b0 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 1adcd397..21568298 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 93e485d9..21729ee8 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 076bd262..d6b2ce55 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 c8346909..4a8b6ca0 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 cb2f4a0a..3c9da72c 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 8a417a58..d7e52507 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 3ea7a22d..87a9242e 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 45a3dfb9..a686dd47 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 461ed7df..9d85c5a9 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 cc27e37a..7abc17ed 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 a5f9cae9..8a51c6eb 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 dd8c2fce..22713d2d 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 38f516b0..47110e4b 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.