man-group / notebooker

Productionise & schedule your Jupyter Notebooks as easily as you wrote them.
GNU Affero General Public License v3.0
852 stars 79 forks source link

Results page is empty in Windows 10 #77

Open skunkyevil opened 2 years ago

skunkyevil commented 2 years ago

Notebooker is a great and promising project, however I could not get it it working in Windows.

I had to figure out some specific dependency versions to be able to make it (almost fully) working in Docker (in particular, pymongo==3.6, papermill==1.2.1) I say "almost" because tests related to scheduling fail (and had some runtime errors related to git functionality).

In Windows 10 I tried do the same that worked in Docker: the same Anaconda version (2020.07 python=3.7), the same mongodb version (4.4.1), pymongo 3.6 and papermill 1.2.1.

Example notebooks get executed fine and results get stored into database. But when I want to see them, the web interface gives empty results table. I've checked the underlying request: http://127.0.0.1:11828/core/get_all_available_results?limit=100&report_name=sample/plot_random it also gives empty output ([ ])

jonbannister commented 2 years ago

Hey, thanks for your feedback. I have a couple of questions:

  1. Please could you give me a very quick overview of how you're running it within docker?
  2. Please could you send a traceback of the failing tests?
  3. Please could you send a screenshot of the frontpage?
  4. How are you executing the notebooks? From within the webapp? If not, it sounds perhaps like your webapp is pointing to a different database, so worth checking the logging output when it starts up to see it's pointing to the mongo db you expect it to be in.
skunkyevil commented 2 years ago

1.

cd docker
docker-compose up

But I had to introduce some modifications beforehand.

In setup.py:

        "pytest>=6.2.0",
        "pymongo==3.6",
        "papermill==1.2.1",

In order for setup to complete (except pymongo version, that is needed for webapp to work without failures)

In docker-compose.yaml:

Replaced command: ["notebooker_webapp"] with command: ["tail", "-f", "/dev/null"] because that entry point didn't work for me (is it valid?), so I executed notebooker webapp later via

    docker exec -it docker_notebooker /bin/sh
    notebooker-cli --mongo-host mongodb:27017 --mongo-user root --mongo-password toor start-webapp --port 11828

2.

pytest output.txt

3. I think you mean screenshots when I'm running notebooker in Windows (because I have an issue with empty results there). So I've attached 2 screenshots: frontpage and an empty results page when I click the first item frontpage screenshot sample plot random screenshot

4. Within the webapp only. The mongo db initializer args in logging corresponds to the args I used when starting webapp

jonbannister commented 2 years ago

Aha, something fishy may be happening with the slashes, I'll have a little dig. Thanks for the heads-up on the docker bit: that can also be fixed.