From a2c05da32ea996a5e5cba6003defa43a202d263f Mon Sep 17 00:00:00 2001 From: Bobbins228 Date: Wed, 8 May 2024 14:17:50 +0100 Subject: [PATCH 1/9] Updated Ray version to 2.20.0 --- .github/workflows/e2e_tests.yaml | 1 + poetry.lock | 279 +++++++----------- pyproject.toml | 4 +- .../templates/base-template.yaml | 2 +- tests/test-case-bad.yaml | 2 +- tests/test-case-no-mcad.yamls | 2 +- tests/test-case.yaml | 2 +- tests/test-default-appwrapper.yaml | 2 +- tests/unit_test.py | 6 +- 9 files changed, 114 insertions(+), 186 deletions(-) diff --git a/.github/workflows/e2e_tests.yaml b/.github/workflows/e2e_tests.yaml index b83afb4b8..08aeef111 100644 --- a/.github/workflows/e2e_tests.yaml +++ b/.github/workflows/e2e_tests.yaml @@ -43,6 +43,7 @@ jobs: sudo rm -rf /opt/ghc sudo rm -rf "/usr/local/share/boost" sudo rm -rf "$AGENT_TOOLSDIRECTORY" + sudo apt install python3.9 docker rmi $(docker image ls -aq) echo "Final status:" df -h diff --git a/poetry.lock b/poetry.lock index e0fa9acbf..2bcedf96a 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,4 +1,4 @@ -# This file is automatically @generated by Poetry 1.8.2 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.8.1 and should not be changed by hand. [[package]] name = "aiohttp" @@ -124,17 +124,6 @@ files = [ [package.dependencies] frozenlist = ">=1.1.0" -[[package]] -name = "ansicon" -version = "1.89.0" -description = "Python wrapper for loading Jason Hood's ANSICON" -optional = false -python-versions = "*" -files = [ - {file = "ansicon-1.89.0-py2.py3-none-any.whl", hash = "sha256:f1def52d17f65c2c9682cf8370c03f541f410c1752d6a14029f97318e4b9dfec"}, - {file = "ansicon-1.89.0.tar.gz", hash = "sha256:e4d039def5768a47e4afec8e89e83ec3ae5a26bf00ad851f914d1240b444d2b1"}, -] - [[package]] name = "appnope" version = "0.1.4" @@ -238,22 +227,6 @@ files = [ tests = ["pytest (>=3.2.1,!=3.3.0)"] typecheck = ["mypy"] -[[package]] -name = "blessed" -version = "1.20.0" -description = "Easy, practical library for making terminal apps, by providing an elegant, well-documented interface to Colors, Keyboard input, and screen Positioning capabilities." -optional = false -python-versions = ">=2.7" -files = [ - {file = "blessed-1.20.0-py2.py3-none-any.whl", hash = "sha256:0c542922586a265e699188e52d5f5ac5ec0dd517e5a1041d90d2bbf23f906058"}, - {file = "blessed-1.20.0.tar.gz", hash = "sha256:2cdd67f8746e048f00df47a2880f4d6acbcdb399031b604e34ba8f71d5787680"}, -] - -[package.dependencies] -jinxed = {version = ">=1.1.0", markers = "platform_system == \"Windows\""} -six = ">=1.9.0" -wcwidth = ">=0.1.4" - [[package]] name = "cachetools" version = "5.3.1" @@ -914,25 +887,6 @@ protobuf = ">=3.19.5,<3.20.0 || >3.20.0,<3.20.1 || >3.20.1,<4.21.1 || >4.21.1,<4 [package.extras] grpc = ["grpcio (>=1.44.0,<2.0.0.dev0)"] -[[package]] -name = "gpustat" -version = "1.1.1" -description = "An utility to monitor NVIDIA GPU status and usage" -optional = false -python-versions = ">=3.6" -files = [ - {file = "gpustat-1.1.1.tar.gz", hash = "sha256:c18d3ed5518fc16300c42d694debc70aebb3be55cae91f1db64d63b5fa8af9d8"}, -] - -[package.dependencies] -blessed = ">=1.17.1" -nvidia-ml-py = ">=11.450.129" -psutil = ">=5.6.0" - -[package.extras] -completion = ["shtab"] -test = ["mockito (>=1.2.1)", "pytest (>=5.4.1)", "pytest-runner"] - [[package]] name = "grpcio" version = "1.60.0" @@ -1029,24 +983,6 @@ docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker perf = ["ipython"] testing = ["flufl.flake8", "importlib-resources (>=1.3)", "packaging", "pyfakefs", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy (>=0.9.1)", "pytest-perf (>=0.9.2)", "pytest-ruff"] -[[package]] -name = "importlib-resources" -version = "6.1.0" -description = "Read resources from Python packages" -optional = false -python-versions = ">=3.8" -files = [ - {file = "importlib_resources-6.1.0-py3-none-any.whl", hash = "sha256:aa50258bbfa56d4e33fbd8aa3ef48ded10d1735f11532b8df95388cc6bdb7e83"}, - {file = "importlib_resources-6.1.0.tar.gz", hash = "sha256:9d48dcccc213325e810fd723e7fbb45ccb39f6cf5c31f00cf2b965f5f10f3cb9"}, -] - -[package.dependencies] -zipp = {version = ">=3.1.0", markers = "python_version < \"3.10\""} - -[package.extras] -docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (<7.2.5)", "sphinx (>=3.5)", "sphinx-lint"] -testing = ["pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy (>=0.9.1)", "pytest-ruff", "zipp (>=3.17)"] - [[package]] name = "iniconfig" version = "2.0.0" @@ -1138,18 +1074,21 @@ qa = ["flake8 (==5.0.4)", "mypy (==0.971)", "types-setuptools (==67.2.0.1)"] testing = ["Django", "attrs", "colorama", "docopt", "pytest (<7.0.0)"] [[package]] -name = "jinxed" -version = "1.2.1" -description = "Jinxed Terminal Library" +name = "jinja2" +version = "3.1.4" +description = "A very fast and expressive template engine." optional = false -python-versions = "*" +python-versions = ">=3.7" files = [ - {file = "jinxed-1.2.1-py2.py3-none-any.whl", hash = "sha256:37422659c4925969c66148c5e64979f553386a4226b9484d910d3094ced37d30"}, - {file = "jinxed-1.2.1.tar.gz", hash = "sha256:30c3f861b73279fea1ed928cfd4dfb1f273e16cd62c8a32acfac362da0f78f3f"}, + {file = "jinja2-3.1.4-py3-none-any.whl", hash = "sha256:bc5dd2abb727a5319567b7a813e6a2e7318c39f4f487cfe6c89c6f9c7d25197d"}, + {file = "jinja2-3.1.4.tar.gz", hash = "sha256:4a3aee7acbbe7303aede8e9648d13b8bf88a429282aa6122a993f0ac800cb369"}, ] [package.dependencies] -ansicon = {version = "*", markers = "platform_system == \"Windows\""} +MarkupSafe = ">=2.0" + +[package.extras] +i18n = ["Babel (>=2.7)"] [[package]] name = "jsonschema" @@ -1164,9 +1103,7 @@ files = [ [package.dependencies] attrs = ">=22.2.0" -importlib-resources = {version = ">=1.4.0", markers = "python_version < \"3.9\""} jsonschema-specifications = ">=2023.03.6" -pkgutil-resolve-name = {version = ">=1.3.10", markers = "python_version < \"3.9\""} referencing = ">=0.28.4" rpds-py = ">=0.7.1" @@ -1186,7 +1123,6 @@ files = [ ] [package.dependencies] -importlib-resources = {version = ">=1.4.0", markers = "python_version < \"3.9\""} referencing = ">=0.28.0" [[package]] @@ -1334,18 +1270,73 @@ files = [ [[package]] name = "matplotlib-inline" -version = "0.1.6" +version = "0.1.7" description = "Inline Matplotlib backend for Jupyter" optional = false -python-versions = ">=3.5" +python-versions = ">=3.8" files = [ - {file = "matplotlib-inline-0.1.6.tar.gz", hash = "sha256:f887e5f10ba98e8d2b150ddcf4702c1e5f8b3a20005eb0f74bfdbd360ee6f304"}, - {file = "matplotlib_inline-0.1.6-py3-none-any.whl", hash = "sha256:f1f41aab5328aa5aaea9b16d083b128102f8712542f819fe7e6a420ff581b311"}, + {file = "matplotlib_inline-0.1.7-py3-none-any.whl", hash = "sha256:df192d39a4ff8f21b1895d72e6a13f5fcc5099f00fa84384e0ea28c2cc0653ca"}, + {file = "matplotlib_inline-0.1.7.tar.gz", hash = "sha256:8423b23ec666be3d16e16b60bdd8ac4e86e840ebd1dd11a30b9f117f2fa0ab90"}, ] [package.dependencies] traitlets = "*" +[[package]] +name = "memray" +version = "1.10.0" +description = "A memory profiler for Python applications" +optional = false +python-versions = ">=3.7.0" +files = [ + {file = "memray-1.10.0-cp310-cp310-macosx_10_14_x86_64.whl", hash = "sha256:843a688877691746f9d1835cfa8a65139948471bdd78720435808d20bc30a1cc"}, + {file = "memray-1.10.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6937d7ef67d18ccc01c3250cdf3b4ef1445b859ee8756f09e3d11bd3ff0c7d67"}, + {file = "memray-1.10.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:23e8c402625cfb32d0e9edb5ec0945f3e5e54bc6b0c5699f6284302082b80bd4"}, + {file = "memray-1.10.0-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:f16c5c8730b616613dc8bafe32649ca6bd7252606251eb00148582011758d0b5"}, + {file = "memray-1.10.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c7aeb47174c42e99740a8e2b3b6fe0932c95d987258d48a746974ead19176c26"}, + {file = "memray-1.10.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:2ce59ef485db3634de98b3a026d2450fc0a875e3a58a9ea85f7a89098841defe"}, + {file = "memray-1.10.0-cp311-cp311-macosx_10_14_x86_64.whl", hash = "sha256:53a8f66af18b1f3bcf5c9f3c95ae4134dd675903a38f9d0e6341b7bca01b63d0"}, + {file = "memray-1.10.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:9627184c926252c8f719c301f1fefe970f0d033c643a6448b93fed2889d1ea94"}, + {file = "memray-1.10.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c3a14960838d89a91747885897d34134afb65883cc3b0ed7ff30fe1af00f9fe6"}, + {file = "memray-1.10.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:22f2a47871c172a0539bd72737bb6b294fc10c510464066b825d90fcd3bb4916"}, + {file = "memray-1.10.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3c401c57f49c4c5f1fecaee1e746f537cdc6680da05fb963dc143bd08ee109bf"}, + {file = "memray-1.10.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:ce22a887a585ef5020896de89ffc793e531b65ccc81fbafcc7886010c2c562b3"}, + {file = "memray-1.10.0-cp312-cp312-macosx_10_14_x86_64.whl", hash = "sha256:b75040f28e8678d0e9c4907d55c95cf26db8ef5adc9941a228f1b280a9efd9c0"}, + {file = "memray-1.10.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:95e563d9c976e429ad597ad2720d95cebbe8bac891a3082465439143e2740772"}, + {file = "memray-1.10.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:663d463e89a64bae4a6b2f8c837d11a3d094834442d536a4165e1d31899a3500"}, + {file = "memray-1.10.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0a21745fb516b7a6efcd40aa7487c59e9313fcfc782d0193fcfcf00b48426874"}, + {file = "memray-1.10.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cf6d683c4f8d25c6ad06ae18715f218983c5eb86803953615e902d632fdf6ec1"}, + {file = "memray-1.10.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:6b311e91203be71e1a0ce5e4f978137765bcb1045f3bf5646129c83c5b96ab3c"}, + {file = "memray-1.10.0-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:68bd8df023c8a32f44c11d997e5c536837e27c0955daf557d3a377edd55a1dd3"}, + {file = "memray-1.10.0-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:322ed0b69014a0969b777768d461a785203f81f9864386b666b5b26645d9c294"}, + {file = "memray-1.10.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a9e985fb7646b0475c303919d19211d2aa54e5a9e2cd2a102472299be5dbebd3"}, + {file = "memray-1.10.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:4eba29179772b4a2e440a065b320b03bc2e73fe2648bdf7936aa3b9a086fab4a"}, + {file = "memray-1.10.0-cp38-cp38-macosx_10_14_x86_64.whl", hash = "sha256:b681519357d94f5f0857fbc6029e7c44d3f41436109e955a14fd312d8317bc35"}, + {file = "memray-1.10.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:8196c684f1be8fe423e5cdd2356d4255a2cb482a1f3e89612b70d2a2862cf5bb"}, + {file = "memray-1.10.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:898acd60f57a10dc5aaf1fd64aa2f821f0420114f3f60c3058083788603f173a"}, + {file = "memray-1.10.0-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:6fd13ef666c7fced9768d1cfabf71dc6dfa6724935a8dff463495ac2dc5e13a4"}, + {file = "memray-1.10.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e356af93e3b031c83957e9ac1a653f5aaba5df1e357dd17142f5ed19bb3dc660"}, + {file = "memray-1.10.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:92c372cb262eddd23049f945ca9527f0e4cc7c40a070aade1802d066f680885b"}, + {file = "memray-1.10.0-cp39-cp39-macosx_10_14_x86_64.whl", hash = "sha256:38393c86ce6d0a08e6ec0eb1401d49803b7c0c950c2565386751cdc81568cba8"}, + {file = "memray-1.10.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:3a8bb7fbd8303c4f0017ba7faef6b88f904cda2931ed667cbf3b98f024b3bc44"}, + {file = "memray-1.10.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:8d56f37a34125684746c13d24bd7a3fb17549b0bb355eb50969eb11e05e3ba62"}, + {file = "memray-1.10.0-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:85c32d6613d81b075f740e398c4d653e0803cd48e82c33dcd584c109d6782666"}, + {file = "memray-1.10.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:566602b2143e06b3d592901d98c52ce4599e71aa2555146eeb5cec03506f9498"}, + {file = "memray-1.10.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:391aac6c9f744528d3186bc82d708a1acc83525778f804045d7c96f860f8ec98"}, + {file = "memray-1.10.0.tar.gz", hash = "sha256:38322e052b882790993412f1840517a51818aa55c47037f69915b2007f2c4cee"}, +] + +[package.dependencies] +jinja2 = ">=2.9" +rich = ">=11.2.0" + +[package.extras] +benchmark = ["asv"] +dev = ["Cython", "IPython", "asv", "black", "bump2version", "check-manifest", "flake8", "furo", "greenlet", "ipython", "isort", "mypy", "pytest", "pytest-cov", "setuptools", "sphinx", "sphinx-argparse", "towncrier"] +docs = ["IPython", "bump2version", "furo", "sphinx", "sphinx-argparse", "towncrier"] +lint = ["black", "check-manifest", "flake8", "isort", "mypy"] +test = ["Cython", "greenlet", "ipython", "pytest", "pytest-cov", "setuptools"] + [[package]] name = "msgpack" version = "1.0.7" @@ -1542,17 +1533,6 @@ files = [ {file = "numpy-1.24.4.tar.gz", hash = "sha256:80f5e3a4e498641401868df4208b74581206afbee7cf7b8329daae82676d9463"}, ] -[[package]] -name = "nvidia-ml-py" -version = "12.535.133" -description = "Python Bindings for the NVIDIA Management Library" -optional = false -python-versions = "*" -files = [ - {file = "nvidia-ml-py-12.535.133.tar.gz", hash = "sha256:b1559af0d57dd20955bf58d05afff7b166ddd44947eb3051c9905638799eb1dc"}, - {file = "nvidia_ml_py-12.535.133-py3-none-any.whl", hash = "sha256:91d808d3f246d30bead2a0a2540b74b9e9fc584a9c3f1f55abfc2940c4e44fd2"}, -] - [[package]] name = "oauthlib" version = "3.2.2" @@ -1765,17 +1745,6 @@ files = [ {file = "pickleshare-0.7.5.tar.gz", hash = "sha256:87683d47965c1da65cdacaf31c8441d12b8044cdec9aca500cd78fc2c683afca"}, ] -[[package]] -name = "pkgutil-resolve-name" -version = "1.3.10" -description = "Resolve a name to an object." -optional = false -python-versions = ">=3.6" -files = [ - {file = "pkgutil_resolve_name-1.3.10-py3-none-any.whl", hash = "sha256:ca27cc078d25c5ad71a9de0a7a330146c4e014c2462d9af19c6b828280649c5e"}, - {file = "pkgutil_resolve_name-1.3.10.tar.gz", hash = "sha256:357d6c9e6a755653cfd78893817c0853af365dd51ec97f3d358a819373bbd174"}, -] - [[package]] name = "platformdirs" version = "3.11.0" @@ -1856,34 +1825,6 @@ files = [ {file = "protobuf-4.24.4.tar.gz", hash = "sha256:5a70731910cd9104762161719c3d883c960151eea077134458503723b60e3667"}, ] -[[package]] -name = "psutil" -version = "5.9.6" -description = "Cross-platform lib for process and system monitoring in Python." -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" -files = [ - {file = "psutil-5.9.6-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:fb8a697f11b0f5994550555fcfe3e69799e5b060c8ecf9e2f75c69302cc35c0d"}, - {file = "psutil-5.9.6-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:91ecd2d9c00db9817a4b4192107cf6954addb5d9d67a969a4f436dbc9200f88c"}, - {file = "psutil-5.9.6-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:10e8c17b4f898d64b121149afb136c53ea8b68c7531155147867b7b1ac9e7e28"}, - {file = "psutil-5.9.6-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:18cd22c5db486f33998f37e2bb054cc62fd06646995285e02a51b1e08da97017"}, - {file = "psutil-5.9.6-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:ca2780f5e038379e520281e4c032dddd086906ddff9ef0d1b9dcf00710e5071c"}, - {file = "psutil-5.9.6-cp27-none-win32.whl", hash = "sha256:70cb3beb98bc3fd5ac9ac617a327af7e7f826373ee64c80efd4eb2856e5051e9"}, - {file = "psutil-5.9.6-cp27-none-win_amd64.whl", hash = "sha256:51dc3d54607c73148f63732c727856f5febec1c7c336f8f41fcbd6315cce76ac"}, - {file = "psutil-5.9.6-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:c69596f9fc2f8acd574a12d5f8b7b1ba3765a641ea5d60fb4736bf3c08a8214a"}, - {file = "psutil-5.9.6-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:92e0cc43c524834af53e9d3369245e6cc3b130e78e26100d1f63cdb0abeb3d3c"}, - {file = "psutil-5.9.6-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:748c9dd2583ed86347ed65d0035f45fa8c851e8d90354c122ab72319b5f366f4"}, - {file = "psutil-5.9.6-cp36-cp36m-win32.whl", hash = "sha256:3ebf2158c16cc69db777e3c7decb3c0f43a7af94a60d72e87b2823aebac3d602"}, - {file = "psutil-5.9.6-cp36-cp36m-win_amd64.whl", hash = "sha256:ff18b8d1a784b810df0b0fff3bcb50ab941c3b8e2c8de5726f9c71c601c611aa"}, - {file = "psutil-5.9.6-cp37-abi3-win32.whl", hash = "sha256:a6f01f03bf1843280f4ad16f4bde26b817847b4c1a0db59bf6419807bc5ce05c"}, - {file = "psutil-5.9.6-cp37-abi3-win_amd64.whl", hash = "sha256:6e5fb8dc711a514da83098bc5234264e551ad980cec5f85dabf4d38ed6f15e9a"}, - {file = "psutil-5.9.6-cp38-abi3-macosx_11_0_arm64.whl", hash = "sha256:daecbcbd29b289aac14ece28eca6a3e60aa361754cf6da3dfb20d4d32b6c7f57"}, - {file = "psutil-5.9.6.tar.gz", hash = "sha256:e4b92ddcd7dd4cdd3f900180ea1e104932c7bce234fb88976e2a3b296441225a"}, -] - -[package.extras] -test = ["enum34", "ipaddress", "mock", "pywin32", "wmi"] - [[package]] name = "ptyprocess" version = "0.7.0" @@ -2279,35 +2220,26 @@ files = [ [[package]] name = "ray" -version = "2.7.0" +version = "2.20.0" description = "Ray provides a simple, universal API for building distributed applications." optional = false -python-versions = "*" +python-versions = ">=3.8" files = [ - {file = "ray-2.7.0-cp310-cp310-macosx_10_15_x86_64.whl", hash = "sha256:bc911655908b61b2e9f59b8df158fcc62cd32080c468b484b539ebf0a4111d04"}, - {file = "ray-2.7.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0ee8c14e1521559cd5802bfad3f0aba4a77afdfba57dd446162a7449c6e8ff68"}, - {file = "ray-2.7.0-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:ebde44af7d479ede21d1c2e68b5ccd8264e18df6e4f3c216d9e99c31e819bde6"}, - {file = "ray-2.7.0-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:b83621f5d2d4079e6ae624c3bf30046a4fefa0ea7ea5e4a4dfe4b50c580b3768"}, - {file = "ray-2.7.0-cp310-cp310-win_amd64.whl", hash = "sha256:8e1b06abba6e227b8dde1ad861c587fb2608a6970d270e4755cd24a6f37ed565"}, - {file = "ray-2.7.0-cp311-cp311-macosx_10_15_x86_64.whl", hash = "sha256:5442d48719f033831a324f05b332d6e7181970d721e9504be2091cc9d9735394"}, - {file = "ray-2.7.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ca8225878cce7b9e2d0ca9668d9370893a7cee35629d11a3889a1b66a0007218"}, - {file = "ray-2.7.0-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:a3f59dbb0780f9fa11f5bf96bef853b4cb95245456d4400e1c7bf2e514d12ab2"}, - {file = "ray-2.7.0-cp311-cp311-manylinux2014_x86_64.whl", hash = "sha256:8384b3f30bc1446ef810e9e894afa03238c5ac40d3c40c0740d82f347112015d"}, - {file = "ray-2.7.0-cp311-cp311-win_amd64.whl", hash = "sha256:8d4530e7024375505552dabd3f4441fc9ac7a5562365a81ba9afa14185433879"}, - {file = "ray-2.7.0-cp37-cp37m-macosx_10_15_x86_64.whl", hash = "sha256:c491b8051eef82b77d136c48a23d16485c0e54233303ccf68e9fe69a06c517e6"}, - {file = "ray-2.7.0-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:1684c434886cb7b263cdf98ed39d75dec343e949f7b14f3385d83bfe70ee8c80"}, - {file = "ray-2.7.0-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:856a9ae164b9b0aeaad54f3e78986eb19900ed3c74e26f51b02a7d8826c97e59"}, - {file = "ray-2.7.0-cp37-cp37m-win_amd64.whl", hash = "sha256:34925a90b6239de42592bb4524dcbdc59a9c65f1f74ad4d9f97f636bd59c73d7"}, - {file = "ray-2.7.0-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:60db240f37d80a80492e09a8d1e29b79d034431c6fcb651401e9e2d24d850793"}, - {file = "ray-2.7.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:835155fdeb8698eae426f3d9416e6b8165197fe5c1c74e1b02a429fc7f4ddcd2"}, - {file = "ray-2.7.0-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:442b7568946081d38c8addbc528e7b09fc1ee25453b4800c86b7e5ba4bce9dd3"}, - {file = "ray-2.7.0-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:3825292b777b423e2cd34bf66e8e1e7701b04c6a5308f9f291ad5929b289dc47"}, - {file = "ray-2.7.0-cp38-cp38-win_amd64.whl", hash = "sha256:ce700322662946ad5c62a39b78e81feebcb855d378c49f5df6477c22f0ac1e5a"}, - {file = "ray-2.7.0-cp39-cp39-macosx_10_15_x86_64.whl", hash = "sha256:327c23aac5dd26ee4abe6cee70320322d63fdf97c6028fbb9555724b46a8f3e3"}, - {file = "ray-2.7.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a09021d45312ab7a44109b251984718b65fbff77df0b55e30e651193cdf42bff"}, - {file = "ray-2.7.0-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:f05fcb609962d14f4d23cc88a9d07cafa7077ce3c5d5ee99cd08a19067b7eecf"}, - {file = "ray-2.7.0-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:0e0f7dbeb4444940c72b64fdecd6f331593466914b2dffeed03ce97225acec14"}, - {file = "ray-2.7.0-cp39-cp39-win_amd64.whl", hash = "sha256:29a0866316756ae18e232dd074adbf408dcdabe95d135a9a96b9a8c24393c983"}, + {file = "ray-2.20.0-cp310-cp310-macosx_10_15_x86_64.whl", hash = "sha256:8855a5df8b3e6b8bcb5582a8491c50d0237e70751f941e8978bd6408245b7838"}, + {file = "ray-2.20.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c0566b28c75aad1d47b9403c3901a85db586ce7191fdc6978e07ad56e80bf82b"}, + {file = "ray-2.20.0-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:738c68f4114754f846b3d03b730b42a6468f8b54665732da9f9108aa1d3ecbe3"}, + {file = "ray-2.20.0-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:2c7f8cd468cbba009d7ebd8a8da66026aeb520f7f4183dd6f49419d75bc84415"}, + {file = "ray-2.20.0-cp310-cp310-win_amd64.whl", hash = "sha256:611d34d0c659652a38ef482a82dfc362074984617765e1d5a414337e4f914cfd"}, + {file = "ray-2.20.0-cp311-cp311-macosx_10_15_x86_64.whl", hash = "sha256:f7816767e644014f65afbfceb6adfb08c15784a4227aa331b28ac90d1b757a58"}, + {file = "ray-2.20.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:8e98df29fd6dac52c87c1f5be5ad99601a8955eaabe921e5cab29b27775250ce"}, + {file = "ray-2.20.0-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:e84ddad1521e06c91fc641f2b856d33ca2bfa314784172862c41a5184e0e760b"}, + {file = "ray-2.20.0-cp311-cp311-manylinux2014_x86_64.whl", hash = "sha256:d9b13815fae5c9a68c9a02f21e1c49c58a5bb6565cb9ed5d48571cacce7568f2"}, + {file = "ray-2.20.0-cp311-cp311-win_amd64.whl", hash = "sha256:6ac1dcb303ddf53d2d87bc5b719e8c38f0a5efe41e175b6ba563fb65b5f4e9a2"}, + {file = "ray-2.20.0-cp39-cp39-macosx_10_15_x86_64.whl", hash = "sha256:1de0810f77ae4a0bf055aa2bdcb161be1d6d1b67b4095e85a5b3fbb6e0dadcd2"}, + {file = "ray-2.20.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:3f3519dd7794ead4d3e17d4570593b2a10e8db062836907517e85b4e769dec1a"}, + {file = "ray-2.20.0-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:5a2cb9f100bbb6351372519b03ddc21d9fa6c8716621237273a59a6e250a8204"}, + {file = "ray-2.20.0-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:64b394a6462a2ac2401b1b004f2cc7ac31e429388abf27024072a55702f1159c"}, + {file = "ray-2.20.0-cp39-cp39-win_amd64.whl", hash = "sha256:65938f7bd28a825d90c643465ad6b1334d97d16e381c409b19269e4dcc043341"}, ] [package.dependencies] @@ -2319,18 +2251,14 @@ colorful = {version = "*", optional = true, markers = "extra == \"default\""} filelock = "*" frozenlist = "*" fsspec = {version = "*", optional = true, markers = "extra == \"data\""} -gpustat = {version = ">=1.0.0", optional = true, markers = "extra == \"default\""} grpcio = [ {version = ">=1.32.0", optional = true, markers = "python_version < \"3.10\" and extra == \"default\""}, {version = ">=1.42.0", optional = true, markers = "python_version >= \"3.10\" and extra == \"default\""}, ] jsonschema = "*" +memray = {version = "*", optional = true, markers = "sys_platform != \"win32\" and extra == \"default\""} msgpack = ">=1.0.0,<2.0.0" -numpy = [ - {version = ">=1.16", markers = "python_version < \"3.9\""}, - {version = ">=1.20", optional = true, markers = "extra == \"data\""}, - {version = ">=1.19.3", markers = "python_version >= \"3.9\""}, -] +numpy = {version = ">=1.20", optional = true, markers = "extra == \"data\""} opencensus = {version = "*", optional = true, markers = "extra == \"default\""} packaging = "*" pandas = {version = ">=1.3", optional = true, markers = "extra == \"data\""} @@ -2338,23 +2266,23 @@ prometheus-client = {version = ">=0.7.1", optional = true, markers = "extra == \ protobuf = ">=3.15.3,<3.19.5 || >3.19.5" py-spy = {version = ">=0.2.0", optional = true, markers = "extra == \"default\""} pyarrow = {version = ">=6.0.1", optional = true, markers = "extra == \"data\""} -pydantic = {version = "<2", optional = true, markers = "extra == \"default\""} +pydantic = {version = "<2.0.dev0 || >=2.5.dev0,<3", optional = true, markers = "extra == \"default\""} pyyaml = "*" requests = "*" smart-open = {version = "*", optional = true, markers = "extra == \"default\""} -virtualenv = {version = ">=20.0.24,<20.21.1", optional = true, markers = "extra == \"default\""} +virtualenv = {version = ">=20.0.24,<20.21.1 || >20.21.1", optional = true, markers = "extra == \"default\""} [package.extras] -air = ["aiohttp (>=3.7)", "aiohttp-cors", "aiorwlock", "colorful", "fastapi", "fsspec", "gpustat (>=1.0.0)", "grpcio (>=1.32.0)", "grpcio (>=1.42.0)", "numpy (>=1.20)", "opencensus", "pandas", "pandas (>=1.3)", "prometheus-client (>=0.7.1)", "py-spy (>=0.2.0)", "pyarrow (>=6.0.1)", "pydantic (<2)", "requests", "smart-open", "starlette", "tensorboardX (>=1.9)", "uvicorn", "virtualenv (>=20.0.24,<20.21.1)", "watchfiles"] -all = ["aiohttp (>=3.7)", "aiohttp-cors", "aiorwlock", "colorful", "dm-tree", "fastapi", "fsspec", "gpustat (>=1.0.0)", "grpcio (!=1.56.0)", "grpcio (>=1.32.0)", "grpcio (>=1.42.0)", "gymnasium (==0.28.1)", "lz4", "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)", "pyyaml", "ray-cpp (==2.7.0)", "requests", "rich", "scikit-image", "scipy", "smart-open", "starlette", "tensorboardX (>=1.9)", "typer", "uvicorn", "virtualenv (>=20.0.24,<20.21.1)", "watchfiles"] -client = ["grpcio (!=1.56.0)"] -cpp = ["ray-cpp (==2.7.0)"] +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", "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.20.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"] +cpp = ["ray-cpp (==2.20.0)"] data = ["fsspec", "numpy (>=1.20)", "pandas (>=1.3)", "pyarrow (>=6.0.1)"] -default = ["aiohttp (>=3.7)", "aiohttp-cors", "colorful", "gpustat (>=1.0.0)", "grpcio (>=1.32.0)", "grpcio (>=1.42.0)", "opencensus", "prometheus-client (>=0.7.1)", "py-spy (>=0.2.0)", "pydantic (<2)", "requests", "smart-open", "virtualenv (>=20.0.24,<20.21.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"] rllib = ["dm-tree", "fsspec", "gymnasium (==0.28.1)", "lz4", "pandas", "pyarrow (>=6.0.1)", "pyyaml", "requests", "rich", "scikit-image", "scipy", "tensorboardX (>=1.9)", "typer"] -serve = ["aiohttp (>=3.7)", "aiohttp-cors", "aiorwlock", "colorful", "fastapi", "gpustat (>=1.0.0)", "grpcio (>=1.32.0)", "grpcio (>=1.42.0)", "opencensus", "prometheus-client (>=0.7.1)", "py-spy (>=0.2.0)", "pydantic (<2)", "requests", "smart-open", "starlette", "uvicorn", "virtualenv (>=20.0.24,<20.21.1)", "watchfiles"] -serve-grpc = ["aiohttp (>=3.7)", "aiohttp-cors", "aiorwlock", "colorful", "fastapi", "gpustat (>=1.0.0)", "grpcio (>=1.32.0)", "grpcio (>=1.42.0)", "opencensus", "prometheus-client (>=0.7.1)", "py-spy (>=0.2.0)", "pydantic (<2)", "requests", "smart-open", "starlette", "uvicorn", "virtualenv (>=20.0.24,<20.21.1)", "watchfiles"] +serve = ["aiohttp (>=3.7)", "aiohttp-cors", "colorful", "fastapi", "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", "starlette", "uvicorn[standard]", "virtualenv (>=20.0.24,!=20.21.1)", "watchfiles"] +serve-grpc = ["aiohttp (>=3.7)", "aiohttp-cors", "colorful", "fastapi", "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", "starlette", "uvicorn[standard]", "virtualenv (>=20.0.24,!=20.21.1)", "watchfiles"] train = ["fsspec", "pandas", "pyarrow (>=6.0.1)", "requests", "tensorboardX (>=1.9)"] tune = ["fsspec", "pandas", "pyarrow (>=6.0.1)", "requests", "tensorboardX (>=1.9)"] @@ -2426,7 +2354,6 @@ files = [ [package.dependencies] commonmark = ">=0.9.0,<0.10.0" pygments = ">=2.6.0,<3.0.0" -typing-extensions = {version = ">=4.0.0,<5.0", markers = "python_version < \"3.9\""} [package.extras] jupyter = ["ipywidgets (>=7.5.1,<8.0.0)"] @@ -2735,13 +2662,13 @@ test = ["covdefaults (>=2.2.2)", "coverage (>=7.1)", "coverage-enable-subprocess [[package]] name = "wcwidth" -version = "0.2.12" +version = "0.2.13" description = "Measures the displayed width of unicode strings in a terminal" optional = false python-versions = "*" files = [ - {file = "wcwidth-0.2.12-py2.py3-none-any.whl", hash = "sha256:f26ec43d96c8cbfed76a5075dac87680124fa84e0855195a6184da9c187f133c"}, - {file = "wcwidth-0.2.12.tar.gz", hash = "sha256:f01c104efdf57971bcb756f054dd58ddec5204dd15fa31d6503ea57947d97c02"}, + {file = "wcwidth-0.2.13-py2.py3-none-any.whl", hash = "sha256:3da69048e4540d84af32131829ff948f1e022c1c6bdb8d6102117aac784f6859"}, + {file = "wcwidth-0.2.13.tar.gz", hash = "sha256:72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5"}, ] [[package]] @@ -2891,5 +2818,5 @@ testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "p [metadata] lock-version = "2.0" -python-versions = "^3.8" -content-hash = "e82f9c28e3f78682ca3e6d5414e1c1fe8f0bd62b5a992f749d8b7bd4bbd0273d" +python-versions = "^3.9" +content-hash = "d834cef86c5776cdd688c9ff9df9e31731bc829e1f319ec4ea86c17d33762af6" diff --git a/pyproject.toml b/pyproject.toml index 99d85a6b0..a295e383b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -20,10 +20,10 @@ homepage = "https://github.com/project-codeflare/codeflare-sdk" keywords = ['codeflare', 'python', 'sdk', 'client', 'batch', 'scale'] [tool.poetry.dependencies] -python = "^3.8" +python = "^3.9" openshift-client = "1.0.18" rich = "^12.5" -ray = {version = "2.7.0", extras = ["data", "default"]} +ray = {version = "2.20.0", extras = ["data", "default"]} kubernetes = ">= 25.3.0, < 27" codeflare-torchx = "0.6.0.dev2" cryptography = "40.0.2" diff --git a/src/codeflare_sdk/templates/base-template.yaml b/src/codeflare_sdk/templates/base-template.yaml index b6a70b2b6..156012946 100644 --- a/src/codeflare_sdk/templates/base-template.yaml +++ b/src/codeflare_sdk/templates/base-template.yaml @@ -21,7 +21,7 @@ spec: # - kubernetes spec: # The version of Ray you are using. Make sure all Ray containers are running this version of Ray. - rayVersion: '2.7.0' + rayVersion: '2.20.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. diff --git a/tests/test-case-bad.yaml b/tests/test-case-bad.yaml index 3c5bf076d..b90cdeb1a 100644 --- a/tests/test-case-bad.yaml +++ b/tests/test-case-bad.yaml @@ -68,7 +68,7 @@ spec: cpu: 2 memory: 8G nvidia.com/gpu: 0 - rayVersion: 1.12.0 + rayVersion: 2.20.0 workerGroupSpecs: - groupName: small-group-unit-test-cluster maxReplicas: 2 diff --git a/tests/test-case-no-mcad.yamls b/tests/test-case-no-mcad.yamls index 367703d67..375a1fbf3 100644 --- a/tests/test-case-no-mcad.yamls +++ b/tests/test-case-no-mcad.yamls @@ -88,7 +88,7 @@ spec: name: odh-trusted-ca-bundle optional: true name: odh-ca-cert - rayVersion: 2.7.0 + rayVersion: 2.20.0 workerGroupSpecs: - groupName: small-group-unit-test-cluster-ray maxReplicas: 2 diff --git a/tests/test-case.yaml b/tests/test-case.yaml index 98166b372..4fd1edcc1 100644 --- a/tests/test-case.yaml +++ b/tests/test-case.yaml @@ -94,7 +94,7 @@ spec: name: odh-trusted-ca-bundle optional: true name: odh-ca-cert - rayVersion: 2.7.0 + rayVersion: 2.20.0 workerGroupSpecs: - groupName: small-group-unit-test-cluster maxReplicas: 2 diff --git a/tests/test-default-appwrapper.yaml b/tests/test-default-appwrapper.yaml index f754c1763..f2e8a39e5 100644 --- a/tests/test-default-appwrapper.yaml +++ b/tests/test-default-appwrapper.yaml @@ -93,7 +93,7 @@ spec: name: odh-trusted-ca-bundle optional: true name: odh-ca-cert - rayVersion: 2.7.0 + rayVersion: 2.20.0 workerGroupSpecs: - groupName: small-group-unit-test-default-cluster maxReplicas: 1 diff --git a/tests/unit_test.py b/tests/unit_test.py index 32d730c4d..653d25e90 100644 --- a/tests/unit_test.py +++ b/tests/unit_test.py @@ -1182,7 +1182,7 @@ def get_ray_obj(group, version, namespace, plural, cls=None): }, }, }, - "rayVersion": "2.7.0", + "rayVersion": "2.20.0", "workerGroupSpecs": [ { "groupName": "small-group-quicktest", @@ -1416,7 +1416,7 @@ def get_ray_obj(group, version, namespace, plural, cls=None): } }, }, - "rayVersion": "1.12.0", + "rayVersion": "2.20.0", "workerGroupSpecs": [ { "groupName": "small-group-quicktest2", @@ -1789,7 +1789,7 @@ def get_aw_obj(group, version, namespace, plural): } }, }, - "rayVersion": "1.12.0", + "rayVersion": "2.20.0", "workerGroupSpecs": [ { "groupName": "small-group-quicktest", From 790c9db594c84a0703d0ac11057c20f7c65e1dd6 Mon Sep 17 00:00:00 2001 From: Bobbins228 Date: Wed, 29 May 2024 09:55:29 +0100 Subject: [PATCH 2/9] Removed python3.9 installation step --- .github/workflows/e2e_tests.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/e2e_tests.yaml b/.github/workflows/e2e_tests.yaml index 08aeef111..b83afb4b8 100644 --- a/.github/workflows/e2e_tests.yaml +++ b/.github/workflows/e2e_tests.yaml @@ -43,7 +43,6 @@ jobs: sudo rm -rf /opt/ghc sudo rm -rf "/usr/local/share/boost" sudo rm -rf "$AGENT_TOOLSDIRECTORY" - sudo apt install python3.9 docker rmi $(docker image ls -aq) echo "Final status:" df -h From f00c3abf6c6c2d8ddc161e1de2ccb04c09ac3991 Mon Sep 17 00:00:00 2001 From: Bobbins228 Date: Mon, 10 Jun 2024 11:39:31 +0100 Subject: [PATCH 3/9] Replaced old ray image with new 2.20.0 image --- src/codeflare_sdk/templates/base-template.yaml | 4 ++-- tests/e2e/support.py | 2 +- tests/test-case-bad.yaml | 4 ++-- tests/test-case-no-mcad.yamls | 4 ++-- tests/test-case.yaml | 4 ++-- tests/test-default-appwrapper.yaml | 4 ++-- tests/unit_test.py | 16 ++++++++-------- tests/unit_test_support.py | 2 +- 8 files changed, 20 insertions(+), 20 deletions(-) diff --git a/src/codeflare_sdk/templates/base-template.yaml b/src/codeflare_sdk/templates/base-template.yaml index 156012946..54d7e995d 100644 --- a/src/codeflare_sdk/templates/base-template.yaml +++ b/src/codeflare_sdk/templates/base-template.yaml @@ -78,7 +78,7 @@ spec: containers: # The Ray head pod - name: ray-head - image: quay.io/project-codeflare/ray:latest-py39-cu118 + image: quay.io/project-codeflare/ray:2.20.0-py39-cu118 imagePullPolicy: Always ports: - containerPort: 6379 @@ -161,7 +161,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/project-codeflare/ray:latest-py39-cu118 + image: quay.io/project-codeflare/ray:2.20.0-py39-cu118 # 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 a3dfd89bd..04c9cb421 100644 --- a/tests/e2e/support.py +++ b/tests/e2e/support.py @@ -8,7 +8,7 @@ def get_ray_image(): - default_ray_image = "quay.io/project-codeflare/ray:latest-py39-cu118" + default_ray_image = "quay.io/project-codeflare/ray:2.20.0-py39-cu118" return os.getenv("RAY_IMAGE", default_ray_image) diff --git a/tests/test-case-bad.yaml b/tests/test-case-bad.yaml index b90cdeb1a..18dcb7d71 100644 --- a/tests/test-case-bad.yaml +++ b/tests/test-case-bad.yaml @@ -42,7 +42,7 @@ spec: valueFrom: fieldRef: fieldPath: status.podIP - image: quay.io/project-codeflare/ray:latest-py39-cu118 + image: quay.io/project-codeflare/ray:2.20.0-py39-cu118 imagePullPolicy: Always lifecycle: preStop: @@ -90,7 +90,7 @@ spec: valueFrom: fieldRef: fieldPath: status.podIP - image: quay.io/project-codeflare/ray:latest-py39-cu118 + image: quay.io/project-codeflare/ray:2.20.0-py39-cu118 lifecycle: preStop: exec: diff --git a/tests/test-case-no-mcad.yamls b/tests/test-case-no-mcad.yamls index 375a1fbf3..a339686e0 100644 --- a/tests/test-case-no-mcad.yamls +++ b/tests/test-case-no-mcad.yamls @@ -32,7 +32,7 @@ spec: template: spec: containers: - - image: quay.io/project-codeflare/ray:latest-py39-cu118 + - image: quay.io/project-codeflare/ray:2.20.0-py39-cu118 imagePullPolicy: Always lifecycle: preStop: @@ -105,7 +105,7 @@ spec: key: value spec: containers: - - image: quay.io/project-codeflare/ray:latest-py39-cu118 + - image: quay.io/project-codeflare/ray:2.20.0-py39-cu118 lifecycle: preStop: exec: diff --git a/tests/test-case.yaml b/tests/test-case.yaml index 4fd1edcc1..c5229ce79 100644 --- a/tests/test-case.yaml +++ b/tests/test-case.yaml @@ -38,7 +38,7 @@ spec: template: spec: containers: - - image: quay.io/project-codeflare/ray:latest-py39-cu118 + - image: quay.io/project-codeflare/ray:2.20.0-py39-cu118 imagePullPolicy: Always lifecycle: preStop: @@ -111,7 +111,7 @@ spec: key: value spec: containers: - - image: quay.io/project-codeflare/ray:latest-py39-cu118 + - image: quay.io/project-codeflare/ray:2.20.0-py39-cu118 lifecycle: preStop: exec: diff --git a/tests/test-default-appwrapper.yaml b/tests/test-default-appwrapper.yaml index f2e8a39e5..8fd1873f1 100644 --- a/tests/test-default-appwrapper.yaml +++ b/tests/test-default-appwrapper.yaml @@ -38,7 +38,7 @@ spec: template: spec: containers: - - image: quay.io/project-codeflare/ray:latest-py39-cu118 + - image: quay.io/project-codeflare/ray:2.20.0-py39-cu118 imagePullPolicy: Always lifecycle: preStop: @@ -110,7 +110,7 @@ spec: key: value spec: containers: - - image: quay.io/project-codeflare/ray:latest-py39-cu118 + - image: quay.io/project-codeflare/ray:2.20.0-py39-cu118 lifecycle: preStop: exec: diff --git a/tests/unit_test.py b/tests/unit_test.py index 653d25e90..645f3251e 100644 --- a/tests/unit_test.py +++ b/tests/unit_test.py @@ -263,7 +263,7 @@ def test_config_creation(): assert config.min_cpus == 3 and config.max_cpus == 4 assert config.min_memory == "5G" and config.max_memory == "6G" assert config.num_gpus == 7 - assert config.image == "quay.io/project-codeflare/ray:latest-py39-cu118" + assert config.image == "quay.io/project-codeflare/ray:2.20.0-py39-cu118" assert config.template == f"{parent}/src/codeflare_sdk/templates/base-template.yaml" assert config.machine_types == ["cpu.small", "gpu.large"] assert config.image_pull_secrets == ["unit-test-pull-secret"] @@ -399,7 +399,7 @@ def test_cluster_creation_no_mcad_local_queue(mocker): num_gpus=7, machine_types=["cpu.small", "gpu.large"], image_pull_secrets=["unit-test-pull-secret"], - image="quay.io/project-codeflare/ray:latest-py39-cu118", + image="quay.io/project-codeflare/ray:2.20.0-py39-cu118", write_to_file=True, appwrapper=False, local_queue="local-queue-default", @@ -427,7 +427,7 @@ def test_default_cluster_creation(mocker): ) default_config = ClusterConfiguration( name="unit-test-default-cluster", - image="quay.io/project-codeflare/ray:latest-py39-cu118", + image="quay.io/project-codeflare/ray:2.20.0-py39-cu118", appwrapper=True, ) cluster = Cluster(default_config) @@ -776,7 +776,7 @@ def test_ray_job_wrapping(mocker): return_value=get_local_queue("kueue.x-k8s.io", "v1beta1", "ns", "localqueues"), ) cluster = cluster = createClusterWithConfig(mocker) - cluster.config.image = "quay.io/project-codeflare/ray:latest-py39-cu118" + cluster.config.image = "quay.io/project-codeflare/ray:2.20.0-py39-cu118" mocker.patch( "ray.job_submission.JobSubmissionClient._check_connection_and_version_with_url", return_value="None", @@ -896,7 +896,7 @@ def test_ray_details(mocker, capsys): ClusterConfiguration( name="raytest2", namespace="ns", - image="quay.io/project-codeflare/ray:latest-py39-cu118", + image="quay.io/project-codeflare/ray:2.20.0-py39-cu118", write_to_file=True, appwrapper=True, local_queue="local_default_queue", @@ -2289,7 +2289,7 @@ def test_cluster_status(mocker): ClusterConfiguration( name="test", namespace="ns", - image="quay.io/project-codeflare/ray:latest-py39-cu118", + image="quay.io/project-codeflare/ray:2.20.0-py39-cu118", write_to_file=True, appwrapper=True, local_queue="local_default_queue", @@ -2384,7 +2384,7 @@ def test_wait_ready(mocker, capsys): ClusterConfiguration( name="test", namespace="ns", - image="quay.io/project-codeflare/ray:latest-py39-cu118", + image="quay.io/project-codeflare/ray:2.20.0-py39-cu118", write_to_file=True, appwrapper=True, local_queue="local-queue-default", @@ -2611,7 +2611,7 @@ def throw_if_getting_raycluster(group, version, namespace, plural): cluster = Cluster( ClusterConfiguration( "test_cluster", - image="quay.io/project-codeflare/ray:latest-py39-cu118", + image="quay.io/project-codeflare/ray:2.20.0-py39-cu118", write_to_file=False, ) ) diff --git a/tests/unit_test_support.py b/tests/unit_test_support.py index baa14aaca..6e662db44 100644 --- a/tests/unit_test_support.py +++ b/tests/unit_test_support.py @@ -17,7 +17,7 @@ def createClusterConfig(): appwrapper=True, machine_types=["cpu.small", "gpu.large"], image_pull_secrets=["unit-test-pull-secret"], - image="quay.io/project-codeflare/ray:latest-py39-cu118", + image="quay.io/project-codeflare/ray:2.20.0-py39-cu118", write_to_file=True, ) return config From bc11df53963852764673226c332ce68981ec71c0 Mon Sep 17 00:00:00 2001 From: Bobbins228 Date: Tue, 11 Jun 2024 11:35:08 +0100 Subject: [PATCH 4/9] TEST Python ver updated python ver print rc Added debug helpers Added debug helpers to all scripts Added exception for event lister test Removed sdk-user for testing purposes --- .github/workflows/e2e_tests.yaml | 29 +------------ tests/e2e/local_interactive_sdk_kind_test.py | 43 ++++++++++++++++++- .../e2e/mnist_raycluster_sdk_aw_kind_test.py | 41 +++++++++++++++++- tests/e2e/mnist_raycluster_sdk_kind_test.py | 41 +++++++++++++++++- 4 files changed, 124 insertions(+), 30 deletions(-) diff --git a/.github/workflows/e2e_tests.yaml b/.github/workflows/e2e_tests.yaml index b83afb4b8..6aede88e4 100644 --- a/.github/workflows/e2e_tests.yaml +++ b/.github/workflows/e2e_tests.yaml @@ -79,7 +79,7 @@ jobs: - name: Set up specific Python version uses: actions/setup-python@v5 with: - python-version: '3.9' + python-version: '3.9.18' cache: 'pip' # caching pip dependencies - name: Setup and start KinD cluster @@ -98,39 +98,14 @@ jobs: kubectl wait --timeout=120s --for=condition=Available=true deployment -n openshift-operators codeflare-operator-manager cd .. - - name: Add user to KinD - uses: ./common/github-actions/kind-add-user - with: - user-name: sdk-user - - name: Add kueue resources run: kubectl apply --server-side -f "https://github.com/kubernetes-sigs/kueue/releases/download/v0.6.2/manifests.yaml" - - name: Configure RBAC for sdk user with limited permissions - run: | - kubectl create clusterrole list-ingresses --verb=get,list --resource=ingresses - kubectl create clusterrolebinding sdk-user-list-ingresses --clusterrole=list-ingresses --user=sdk-user - kubectl create clusterrole namespace-creator --verb=get,list,create,delete,patch --resource=namespaces - kubectl create clusterrolebinding sdk-user-namespace-creator --clusterrole=namespace-creator --user=sdk-user - kubectl create clusterrole raycluster-creator --verb=get,list,create,delete,patch --resource=rayclusters - kubectl create clusterrolebinding sdk-user-raycluster-creator --clusterrole=raycluster-creator --user=sdk-user - kubectl create clusterrole appwrapper-creator --verb=get,list,create,delete,patch --resource=appwrappers - kubectl create clusterrolebinding sdk-user-appwrapper-creator --clusterrole=appwrapper-creator --user=sdk-user - kubectl create clusterrole resourceflavor-creator --verb=get,list,create,delete --resource=resourceflavors - kubectl create clusterrolebinding sdk-user-resourceflavor-creator --clusterrole=resourceflavor-creator --user=sdk-user - kubectl create clusterrole clusterqueue-creator --verb=get,list,create,delete,patch --resource=clusterqueues - kubectl create clusterrolebinding sdk-user-clusterqueue-creator --clusterrole=clusterqueue-creator --user=sdk-user - kubectl create clusterrole localqueue-creator --verb=get,list,create,delete,patch --resource=localqueues - kubectl create clusterrolebinding sdk-user-localqueue-creator --clusterrole=localqueue-creator --user=sdk-user - kubectl create clusterrole list-secrets --verb=get,list --resource=secrets - kubectl create clusterrolebinding sdk-user-list-secrets --clusterrole=list-secrets --user=sdk-user - kubectl config use-context sdk-user - - name: Run e2e tests run: | export CODEFLARE_TEST_OUTPUT_DIR=${{ env.TEMP_DIR }} echo "CODEFLARE_TEST_OUTPUT_DIR=${CODEFLARE_TEST_OUTPUT_DIR}" >> $GITHUB_ENV - + python --version set -euo pipefail pip install poetry poetry install --with test,docs diff --git a/tests/e2e/local_interactive_sdk_kind_test.py b/tests/e2e/local_interactive_sdk_kind_test.py index 647ac4727..066bce38c 100644 --- a/tests/e2e/local_interactive_sdk_kind_test.py +++ b/tests/e2e/local_interactive_sdk_kind_test.py @@ -8,6 +8,7 @@ import pytest import ray import math +from time import sleep from support import * @@ -45,11 +46,51 @@ def run_local_interactives(self): max_memory=2, num_gpus=0, image=ray_image, - write_to_file=True, + write_to_file=False, verify_tls=False, ) ) cluster.up() + sleep(60) + api_instance = client.CustomObjectsApi() + rcs = api_instance.list_namespaced_custom_object( + group="ray.io", + version="v1", + namespace=self.namespace, + plural="rayclusters", + ) + print("------------------ Ray Cluster ------------------") + for rc in rcs["items"]: + print(rc) + print("------------------ EVENTS ------------------") + v1 = client.CoreV1Api() + print(f"Events in namespace: {self.namespace}") + try: + events = v1.list_namespaced_event(namespace=self.namespace).items + for event in events: + print( + f"Event: {event.metadata.name}, Reason: {event.reason}, Message: {event.message}, Timestamp: {event.last_timestamp}" + ) + except client.exceptions.ApiException as e: + print(f"Exception when calling CoreV1Api->list_namespaced_event: {e}") + + print("------------------ Workloads ------------------") + api_instance = client.CustomObjectsApi() + try: + workloads = api_instance.list_namespaced_custom_object( + "kueue.x-k8s.io", "v1beta1", self.namespace, "workloads" + ) + for workload in workloads.get("items", []): + name = workload["metadata"]["name"] + status = workload.get("status", {}) + print( + f"Workload: {name}, Namespace: {self.namespace}, Status: {status}" + ) + except client.exceptions.ApiException as e: + print( + f"Exception when calling CustomObjectsApi->list_namespaced_custom_object: {e}" + ) + cluster.wait_ready() generate_cert.generate_tls_cert(cluster_name, self.namespace) diff --git a/tests/e2e/mnist_raycluster_sdk_aw_kind_test.py b/tests/e2e/mnist_raycluster_sdk_aw_kind_test.py index 2aa5da16d..b560a1a8a 100644 --- a/tests/e2e/mnist_raycluster_sdk_aw_kind_test.py +++ b/tests/e2e/mnist_raycluster_sdk_aw_kind_test.py @@ -8,6 +8,7 @@ import pytest from support import * +from time import sleep # This test creates an AppWrapper containing a Ray Cluster and covers the Ray Job submission functionality on Kind Cluster @@ -49,7 +50,45 @@ def run_mnist_raycluster_sdk_kind(self): ) cluster.up() - + sleep(45) + api_instance = client.CustomObjectsApi() + rcs = api_instance.list_namespaced_custom_object( + group="ray.io", + version="v1", + namespace=self.namespace, + plural="rayclusters", + ) + print("------------------ Ray Cluster ------------------") + for rc in rcs["items"]: + print(rc) + print("------------------ EVENTS ------------------") + v1 = client.CoreV1Api() + print(f"Events in namespace: {self.namespace}") + try: + events = v1.list_namespaced_event(namespace=self.namespace).items + for event in events: + print( + f"Event: {event.metadata.name}, Reason: {event.reason}, Message: {event.message}, Timestamp: {event.last_timestamp}" + ) + except client.exceptions.ApiException as e: + print(f"Exception when calling CoreV1Api->list_namespaced_event: {e}") + + print("------------------ Workloads ------------------") + api_instance = client.CustomObjectsApi() + try: + workloads = api_instance.list_namespaced_custom_object( + "kueue.x-k8s.io", "v1beta1", self.namespace, "workloads" + ) + for workload in workloads.get("items", []): + name = workload["metadata"]["name"] + status = workload.get("status", {}) + print( + f"Workload: {name}, Namespace: {self.namespace}, Status: {status}" + ) + except client.exceptions.ApiException as e: + print( + f"Exception when calling CustomObjectsApi->list_namespaced_custom_object: {e}" + ) cluster.status() cluster.wait_ready() diff --git a/tests/e2e/mnist_raycluster_sdk_kind_test.py b/tests/e2e/mnist_raycluster_sdk_kind_test.py index 630bc5df4..e9f09b99a 100644 --- a/tests/e2e/mnist_raycluster_sdk_kind_test.py +++ b/tests/e2e/mnist_raycluster_sdk_kind_test.py @@ -8,6 +8,7 @@ import pytest from support import * +from time import sleep # This test creates a Ray Cluster and covers the Ray Job submission functionality on Kind Cluster @@ -49,7 +50,45 @@ def run_mnist_raycluster_sdk_kind(self): ) cluster.up() - + sleep(45) + api_instance = client.CustomObjectsApi() + rcs = api_instance.list_namespaced_custom_object( + group="ray.io", + version="v1", + namespace=self.namespace, + plural="rayclusters", + ) + print("------------------ Ray Cluster ------------------") + for rc in rcs["items"]: + print(rc) + print("------------------ EVENTS ------------------") + v1 = client.CoreV1Api() + print(f"Events in namespace: {self.namespace}") + try: + events = v1.list_namespaced_event(namespace=self.namespace).items + for event in events: + print( + f"Event: {event.metadata.name}, Reason: {event.reason}, Message: {event.message}, Timestamp: {event.last_timestamp}" + ) + except client.exceptions.ApiException as e: + print(f"Exception when calling CoreV1Api->list_namespaced_event: {e}") + + print("------------------ Workloads ------------------") + api_instance = client.CustomObjectsApi() + try: + workloads = api_instance.list_namespaced_custom_object( + "kueue.x-k8s.io", "v1beta1", self.namespace, "workloads" + ) + for workload in workloads.get("items", []): + name = workload["metadata"]["name"] + status = workload.get("status", {}) + print( + f"Workload: {name}, Namespace: {self.namespace}, Status: {status}" + ) + except client.exceptions.ApiException as e: + print( + f"Exception when calling CustomObjectsApi->list_namespaced_custom_object: {e}" + ) cluster.status() cluster.wait_ready() From 232ecfeec9e4a4d94b38294511c7745afa45cac5 Mon Sep 17 00:00:00 2001 From: Bobbins228 Date: Wed, 12 Jun 2024 15:20:08 +0100 Subject: [PATCH 5/9] add full printed workload --- tests/e2e/local_interactive_sdk_kind_test.py | 1 + tests/e2e/mnist_raycluster_sdk_aw_kind_test.py | 1 + tests/e2e/mnist_raycluster_sdk_kind_test.py | 1 + 3 files changed, 3 insertions(+) diff --git a/tests/e2e/local_interactive_sdk_kind_test.py b/tests/e2e/local_interactive_sdk_kind_test.py index 066bce38c..9a4d75f42 100644 --- a/tests/e2e/local_interactive_sdk_kind_test.py +++ b/tests/e2e/local_interactive_sdk_kind_test.py @@ -83,6 +83,7 @@ def run_local_interactives(self): for workload in workloads.get("items", []): name = workload["metadata"]["name"] status = workload.get("status", {}) + print(workload) print( f"Workload: {name}, Namespace: {self.namespace}, Status: {status}" ) diff --git a/tests/e2e/mnist_raycluster_sdk_aw_kind_test.py b/tests/e2e/mnist_raycluster_sdk_aw_kind_test.py index b560a1a8a..8c0f4c8d4 100644 --- a/tests/e2e/mnist_raycluster_sdk_aw_kind_test.py +++ b/tests/e2e/mnist_raycluster_sdk_aw_kind_test.py @@ -82,6 +82,7 @@ def run_mnist_raycluster_sdk_kind(self): for workload in workloads.get("items", []): name = workload["metadata"]["name"] status = workload.get("status", {}) + print(workload) print( f"Workload: {name}, Namespace: {self.namespace}, Status: {status}" ) diff --git a/tests/e2e/mnist_raycluster_sdk_kind_test.py b/tests/e2e/mnist_raycluster_sdk_kind_test.py index e9f09b99a..a734c843f 100644 --- a/tests/e2e/mnist_raycluster_sdk_kind_test.py +++ b/tests/e2e/mnist_raycluster_sdk_kind_test.py @@ -80,6 +80,7 @@ def run_mnist_raycluster_sdk_kind(self): "kueue.x-k8s.io", "v1beta1", self.namespace, "workloads" ) for workload in workloads.get("items", []): + print(workload) name = workload["metadata"]["name"] status = workload.get("status", {}) print( From 2ff735103350aeea13e99674d8ff1a5c459c9284 Mon Sep 17 00:00:00 2001 From: Bobbins228 Date: Fri, 14 Jun 2024 10:01:33 +0100 Subject: [PATCH 6/9] Added pod yaml print statements --- tests/e2e/local_interactive_sdk_kind_test.py | 25 ++++++++++++++++++- .../e2e/mnist_raycluster_sdk_aw_kind_test.py | 24 ++++++++++++++++++ tests/e2e/mnist_raycluster_sdk_kind_test.py | 25 +++++++++++++++++++ 3 files changed, 73 insertions(+), 1 deletion(-) diff --git a/tests/e2e/local_interactive_sdk_kind_test.py b/tests/e2e/local_interactive_sdk_kind_test.py index 9a4d75f42..b54d47c8b 100644 --- a/tests/e2e/local_interactive_sdk_kind_test.py +++ b/tests/e2e/local_interactive_sdk_kind_test.py @@ -11,6 +11,7 @@ from time import sleep from support import * +import yaml @pytest.mark.kind @@ -91,7 +92,29 @@ def run_local_interactives(self): print( f"Exception when calling CustomObjectsApi->list_namespaced_custom_object: {e}" ) - + print("------------- PODS ----------------") + try: + pods = v1.list_namespaced_pod(self.namespace) + except client.exceptions.ApiException as e: + print(f"Exception when calling CoreV1Api->list_namespaced_pod: {e}") + exit(1) + + # Loop through the list of pods and print the YAML of those that start with 'test-name-head' + for pod in pods.items: + pod_name = pod.metadata.name + if pod_name.startswith("test-ray-cluster-li"): + print(f"YAML configuration for pod: {pod_name}") + try: + pod_detail = v1.read_namespaced_pod( + name=pod_name, namespace=self.namespace + ) + pod_dict = pod_detail.to_dict() + print("---------------------------------") + print(yaml.dump(pod_dict, default_flow_style=False)) + except client.exceptions.ApiException as e: + print( + f"Exception when calling CoreV1Api->read_namespaced_pod for pod {pod_name}: {e}" + ) cluster.wait_ready() generate_cert.generate_tls_cert(cluster_name, self.namespace) diff --git a/tests/e2e/mnist_raycluster_sdk_aw_kind_test.py b/tests/e2e/mnist_raycluster_sdk_aw_kind_test.py index 8c0f4c8d4..b56508a85 100644 --- a/tests/e2e/mnist_raycluster_sdk_aw_kind_test.py +++ b/tests/e2e/mnist_raycluster_sdk_aw_kind_test.py @@ -11,6 +11,7 @@ from time import sleep # This test creates an AppWrapper containing a Ray Cluster and covers the Ray Job submission functionality on Kind Cluster +import yaml @pytest.mark.kind @@ -90,6 +91,29 @@ def run_mnist_raycluster_sdk_kind(self): print( f"Exception when calling CustomObjectsApi->list_namespaced_custom_object: {e}" ) + print("------------- PODS ----------------") + try: + pods = v1.list_namespaced_pod(self.namespace) + except client.exceptions.ApiException as e: + print(f"Exception when calling CoreV1Api->list_namespaced_pod: {e}") + exit(1) + + # Loop through the list of pods and print the YAML of those that start with 'test-name-head' + for pod in pods.items: + pod_name = pod.metadata.name + if pod_name.startswith("mnist"): + print(f"YAML configuration for pod: {pod_name}") + try: + pod_detail = v1.read_namespaced_pod( + name=pod_name, namespace=self.namespace + ) + pod_dict = pod_detail.to_dict() + print("---------------------------------") + print(yaml.dump(pod_dict, default_flow_style=False)) + except client.exceptions.ApiException as e: + print( + f"Exception when calling CoreV1Api->read_namespaced_pod for pod {pod_name}: {e}" + ) cluster.status() cluster.wait_ready() diff --git a/tests/e2e/mnist_raycluster_sdk_kind_test.py b/tests/e2e/mnist_raycluster_sdk_kind_test.py index a734c843f..1efc0a60e 100644 --- a/tests/e2e/mnist_raycluster_sdk_kind_test.py +++ b/tests/e2e/mnist_raycluster_sdk_kind_test.py @@ -12,6 +12,8 @@ # This test creates a Ray Cluster and covers the Ray Job submission functionality on Kind Cluster +import yaml + @pytest.mark.kind class TestRayClusterSDKKind: @@ -90,6 +92,29 @@ def run_mnist_raycluster_sdk_kind(self): print( f"Exception when calling CustomObjectsApi->list_namespaced_custom_object: {e}" ) + print("------------- PODS ----------------") + try: + pods = v1.list_namespaced_pod(self.namespace) + except client.exceptions.ApiException as e: + print(f"Exception when calling CoreV1Api->list_namespaced_pod: {e}") + exit(1) + + # Loop through the list of pods and print the YAML of those that start with 'test-name-head' + for pod in pods.items: + pod_name = pod.metadata.name + if pod_name.startswith("mnist"): + print(f"YAML configuration for pod: {pod_name}") + try: + pod_detail = v1.read_namespaced_pod( + name=pod_name, namespace=self.namespace + ) + pod_dict = pod_detail.to_dict() + print("---------------------------------") + print(yaml.dump(pod_dict, default_flow_style=False)) + except client.exceptions.ApiException as e: + print( + f"Exception when calling CoreV1Api->read_namespaced_pod for pod {pod_name}: {e}" + ) cluster.status() cluster.wait_ready() From fd26242140b40e8c3053d38932713a611603dc0c Mon Sep 17 00:00:00 2001 From: Bobbins228 Date: Mon, 17 Jun 2024 09:58:23 +0100 Subject: [PATCH 7/9] Update Ray image in CFO --- .github/workflows/e2e_tests.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/e2e_tests.yaml b/.github/workflows/e2e_tests.yaml index 6aede88e4..5d2552243 100644 --- a/.github/workflows/e2e_tests.yaml +++ b/.github/workflows/e2e_tests.yaml @@ -62,7 +62,7 @@ jobs: - name: Checkout CodeFlare operator repository uses: actions/checkout@v4 with: - repository: project-codeflare/codeflare-operator + repository: Bobbins228/codeflare-operator path: codeflare-operator - name: Set Go @@ -89,6 +89,8 @@ jobs: id: deploy run: | cd codeflare-operator + git fetch origin + git checkout update-cert-image echo Setting up CodeFlare stack make setup-e2e echo Deploying CodeFlare operator From 2ed4b2d13751c8d8b2085f3afde23e87f9561576 Mon Sep 17 00:00:00 2001 From: Bobbins228 Date: Mon, 17 Jun 2024 10:38:18 +0100 Subject: [PATCH 8/9] Alter image --- .github/workflows/e2e_tests.yaml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/e2e_tests.yaml b/.github/workflows/e2e_tests.yaml index 5d2552243..7c0948ab9 100644 --- a/.github/workflows/e2e_tests.yaml +++ b/.github/workflows/e2e_tests.yaml @@ -62,7 +62,7 @@ jobs: - name: Checkout CodeFlare operator repository uses: actions/checkout@v4 with: - repository: Bobbins228/codeflare-operator + repository: project-codeflare/codeflare-operator path: codeflare-operator - name: Set Go @@ -89,9 +89,8 @@ jobs: id: deploy run: | cd codeflare-operator - git fetch origin - git checkout update-cert-image echo Setting up CodeFlare stack + sed -i 's|certGeneratorImage: .*|certGeneratorImage: quay.io/project-codeflare/ray:2.20.0-py39-cu118|' config/e2e/config.yaml make setup-e2e echo Deploying CodeFlare operator IMG="${REGISTRY_ADDRESS}"/codeflare-operator From c68ce6d60a5b4bc0b03ea7113a7ad268ceacfb34 Mon Sep 17 00:00:00 2001 From: Bobbins228 Date: Mon, 17 Jun 2024 13:26:59 +0100 Subject: [PATCH 9/9] Testing default cert image --- .github/workflows/e2e_tests.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/e2e_tests.yaml b/.github/workflows/e2e_tests.yaml index 7c0948ab9..38ed2cbec 100644 --- a/.github/workflows/e2e_tests.yaml +++ b/.github/workflows/e2e_tests.yaml @@ -90,7 +90,7 @@ jobs: run: | cd codeflare-operator echo Setting up CodeFlare stack - sed -i 's|certGeneratorImage: .*|certGeneratorImage: quay.io/project-codeflare/ray:2.20.0-py39-cu118|' config/e2e/config.yaml + sed -i 's|certGeneratorImage: .*|certGeneratorImage: registry.redhat.io/ubi9@sha256:770cf07083e1c85ae69c25181a205b7cdef63c11b794c89b3b487d4670b4c328|' config/e2e/config.yaml make setup-e2e echo Deploying CodeFlare operator IMG="${REGISTRY_ADDRESS}"/codeflare-operator