From 982749f2ec64dc576330ceeb4ba8eb8f700b3d90 Mon Sep 17 00:00:00 2001 From: David Gardner <96306125+dagardner-nv@users.noreply.github.com> Date: Tue, 6 Jun 2023 08:47:04 -0700 Subject: [PATCH] Fix build issues & tests (#966) * Restore pin for camouglage v0.9 in Dockerfile, newer versions are incompat * Skip tests for `morpheus.utils.downloader` when `dask.distributed` is not installed. * Install `cuda-toolkit` not `cudatoolkit` Authors: - David Gardner (https://github.com/dagardner-nv) Approvers: - Eli Fajardo (https://github.com/efajardo-nv) URL: https://github.com/nv-morpheus/Morpheus/pull/966 --- docker/Dockerfile | 6 ++++-- docker/conda/environments/cuda11.8_dev.yml | 2 +- tests/test_downloader.py | 13 ++++++++++++- 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index 6c95fd58c8..c3bd2da7b2 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -284,8 +284,10 @@ RUN --mount=type=cache,id=apt,target=/var/cache/apt \ rm -rf /var/lib/apt/lists/* # Install camouflage needed for unittests to mock a triton server -RUN source activate morpheus &&\ - npm install -g camouflage-server +# Pin to v0.9 until #967 is resolved +RUN source activate morpheus && \ + npm install -g camouflage-server@0.9 && \ + npm cache clean --force # Setup git to allow other users to access /workspace. Requires git 2.35.3 or # greater. See https://marc.info/?l=git&m=164989570902912&w=2. Only enable for diff --git a/docker/conda/environments/cuda11.8_dev.yml b/docker/conda/environments/cuda11.8_dev.yml index 7e57a89539..3ce9417a4b 100644 --- a/docker/conda/environments/cuda11.8_dev.yml +++ b/docker/conda/environments/cuda11.8_dev.yml @@ -33,7 +33,7 @@ dependencies: - configargparse=1.5 - cuda-compiler=11.8 - cuda-nvml-dev=11.8 - - cudatoolkit=11.8 + - cuda-toolkit=11.8 - cudf=23.02 - cupy=11.6.0 - cxx-compiler diff --git a/tests/test_downloader.py b/tests/test_downloader.py index 9424b8f3ab..bf600b5938 100644 --- a/tests/test_downloader.py +++ b/tests/test_downloader.py @@ -24,6 +24,17 @@ from morpheus.utils.downloader import Downloader from morpheus.utils.downloader import DownloadMethods from utils import TEST_DIRS +from utils import import_or_skip + + +@pytest.fixture(autouse=True, scope='session') +def dask_distributed(fail_missing: bool): + """ + Mark tests requiring dask.distributed + """ + yield import_or_skip("dask.distributed", + reason="Downloader requires dask and dask.distributed", + fail_missing=fail_missing) @pytest.mark.usefixtures("restore_environ") @@ -52,7 +63,7 @@ def test_constructor_enum_vals(dl_method: DownloadMethods): [DownloadMethods.SINGLE_THREAD, DownloadMethods.DASK, DownloadMethods.DASK_THREAD]) def test_constructor_env_wins(dl_method: DownloadMethods): os.environ['MORPHEUS_FILE_DOWNLOAD_TYPE'] = "multiprocessing" - downloader = Downloader(download_method="single_thread") + downloader = Downloader(download_method=dl_method) assert downloader.download_method == DownloadMethods.MULTIPROCESSING