Closed tomp closed 1 year ago
Tom, this looks great to me, thanks for all of the changes. @raylim - can you try running the now updated tutorials?
One item that I know needs to be addressed is that some of the tutorials have out-dated function calls that need to be updated due to recent changes. Putting aside the dask issue (I think the function we have get_or_create_dask_client()
might be what you're looking for), if you could go through the tutorials and verify that you can run them all w/ the latest version of luna, that would be great!
Not sure what the previous behavior was, but I'm unable to build this locally (probably due to M1 using ARM), but I can build it on the servers.
Looks like the arguments to the CLIs still have to be updated to in the jupyter notebooks.
Great! One more thing, see https://msk-mind.github.io/luna/contributing/ for the process we follow to merge into dev. Remember to squash and merge, and update you git commit messages to use the appropriate style.
These should be all of the changes I made to the
luna/docker/luna_tutorial
folder, to get the first tutorial notebook to work for me. I tried to explain the reasons for these changes in the commit messages.I should mention that the first notebook does not actually work in this rewriting without some manual intervention to tell luna where the dask scheduler is running. It should be straightforward to make that happen automatically, but I wanted to get this PR up, first.
Fixes:
python3
to execute python scripts, instead ofpython
, since the latter may still be python 2.7 on some systems. This was just an issue with one command I copied to the new girder dockerfile.provision_dremio.py
usingconda_python
wrapper, which activates the conda venv before executing the script. This is necessary when usingdocker exec
, because.bashrc
isn't loaded whendocker exec
is used. The need for this could be avoided if we just usedpoetry install
with a standard python venv in the dockerfile, instead of conda./home/$USER_NAME
for both.dsa_annotation_etl.py
code, I cast two pathnames (constructed withpathlib
) to strings before passing them to other modules. I was getting errors from those modules complaining that that didn't recognizePosixPath
types, which is whatpathlib
was giving us.dockerfile_luna_tutorial
to start up adask
scheduler and worker, becausedask
was throwing a huge number of errors when the dask client was closed. Those errors didn't seem to affect the result, but it was still ugly, and at least once this prevented the script from exiting at all.make provision_dremio
target, but I think at least one other interaction was broken because a command was using the wrong port.Other changes:
make summary
target frommake run
, in the Makefile. Themake summary
target just prints the instructions for connecting to the various service spun up for the tutorial.make summary
to something I thought was a little easier to read.Remaining work: