pangeo-data/pangeo-stacks

onbuild environment.yml going to /srv/conda instead of /srv/conda/envs/notebook

Closed this issue · 5 comments

Our onbuild images are now installing extra packages from environment.yml to the base conda environment (/srv/conda/) instead of the default environment (/srv/conda/envs/notebook).

Seems related to a recent change in repo2docker
jupyterhub/repo2docker#651

I'm hoping this is a simple fix in setting an environment variable (NB_PYTHON_PREFIX ?), but @yuvipanda or @jhamman will know!

dask configs are also in a new directory since ${KERNEL_PYTHON_PREFIX} is now /srv/conda/envs/notebook
https://github.com/pangeo-data/pangeo-stacks/blob/master/base-notebook/binder/postBuild#L19

I know 'start' scripts don't currently work with onbuild, but some of our jupyterhub configurations still hardcode the location of the dask configuration file:
https://github.com/pangeo-data/pangeo-cloud-federation/blob/9261e7d0b06cf09d670beb5a0a620bad835122ee/deployments/icesat2/image/binder/start#L3

I'm wondering if its possible to copy the dask config to the /etc/dask/ directory? This will get picked up automatically - without setting any env variable or relying on a single conda environment.

@jhamman you can't in postBuild since it doesn't run as root.

Yeah, I think it's the fix you mentioned, @scottyhq. Would you mind opening a PR?

I think dask should still find the config b/c it checks os.path.join(sys.prefix, 'etc', 'dask') as wellL https://github.com/mrocklin/dask/blob/abb07d3d7bc787714e6ec61ca7b42b9d8c999033/dask/config.py#L12