conda-incubator / conda-store

Data science environments, for collaboration. ✨
https://conda.store
BSD 3-Clause "New" or "Revised" License
139 stars 45 forks source link

[BUG] - conda-store failing with custom channels that don't support range-requests #734

Open rsignell opened 6 months ago

rsignell commented 6 months ago

Describe the bug

This environment.yml adding a custom channel:

channels:
  - conda-forge
  - ocefpaf
dependencies:
  - ocefpaf::opendrift
  - matplotlib
  - numpy
  - ...
  - ...

builds a conda environment locally, but fails on conda-store with:

starting build of conda environment 2024-01-17 12:22:42.267491 UTC
::group::action_solve_lockfile
Locking dependencies for ['linux-64']...
 - Install lock using: conda-lock install --name YOURENV /tmp/tmprdvjvljz/conda-lock.yaml
Rendering lockfile(s) for linux-64...
 - Install lock using : conda create --name YOURENV --file conda-linux-64.lock

::endgroup::
Traceback (most recent call last):
  File "/opt/conda/envs/conda-store-server/lib/python3.10/site-packages/conda_store_server/build.py", line 159, in build_conda_environment
    context = action.action_fetch_and_extract_conda_packages(
  File "/opt/conda/envs/conda-store-server/lib/python3.10/site-packages/conda_store_server/action/base.py", line 31, in wrapper
    action_context.result = f(action_context, *args, **kwargs)
  File "/opt/conda/envs/conda-store-server/lib/python3.10/site-packages/conda_store_server/action/download_packages.py", line 38, in action_fetch_and_extract_conda_packages
    ) = conda_package_streaming.url.conda_reader_for_url(url)
  File "/opt/conda/envs/conda-store-server/lib/python3.10/site-packages/conda_package_streaming/url.py", line 75, in conda_reader_for_url
    conda = LazyConda(url, session)
  File "/opt/conda/envs/conda-store-server/lib/python3.10/site-packages/conda_package_streaming/lazy_wheel.py", line 56, in __init__
    raise HTTPRangeRequestUnsupported("range request is not supported")
conda_package_streaming.lazy_wheel.HTTPRangeRequestUnsupported: range request is not supported

Expected behavior

conda-store should build environments using custom channels that don't support range-requests. Only premium channels support range-requests.

How to Reproduce the problem?

Try building the above env on conda-store

Output

No response

Versions and dependencies used.

nebari version 2023.11.1

Anything else?

No response