DigitalSlideArchive / digital_slide_archive

The official deployment of the Digital Slide Archive and HistomicsTK.
https://digitalslidearchive.github.io
Apache License 2.0
108 stars 49 forks source link

No module named 'girder_client' in minimal example #191

Closed fepegar closed 2 years ago

fepegar commented 2 years ago

Hello again. I'm trying to deploy the minimal example using docker-compose up. I couldn't connect to 8080, so I checked the console and saw a lot of messages like this:

girder_1   | Traceback (most recent call last):
girder_1   |   File "//provision.py", line 10, in <module>
girder_1   |     import girder_client
girder_1   | ModuleNotFoundError: No module named 'girder_client'

Is a pip install for girder-client missing from the dsarchive/dsa_minimal Dockerfile? I couldn't find the image on the dsarchive repos on the Docker hub.

fepegar commented 2 years ago

I addded girder-client to the list of pip installs in minimal/Dockerfile. I guess I misunderstood the meaning of dsarchive/dsa_minimal (I'm still learning Docker). Would you like a PR?

The error is gone, but 8080 is still not reachable.

fepegar commented 2 years ago

Actually, there seems to be something important in the console:

mongodb_1  | 2022-02-23T14:58:48.217+0000 I  NETWORK  [conn24] end connection 172.25.0.3:55508 (1 connection now open)
mongodb_1  | 2022-02-23T14:58:48.218+0000 I  NETWORK  [conn23] end connection 172.25.0.3:55506 (0 connections now open)
minimal_girder_1 exited with code 1
girder_1   | Running in mode: production
mongodb_1  | 2022-02-23T14:59:49.671+0000 I  NETWORK  [listener] connection accepted from 172.25.0.3:55528 #25 (1 connection now open)
mongodb_1  | 2022-02-23T14:59:49.671+0000 I  NETWORK  [conn25] received client metadata from 172.25.0.3:55528 conn25: { driver: { name: "PyMongo", version: "3.12.3" }, os: { type: "Linux", name: "Linux", architecture: "x86_64", version: "4.18.0-20-generic" }, platform: "CPython 3.9.10.final.0" }
girder_1   | Connecting to MongoDB: mongodb://mongodb:27017/girder?socketTimeoutMS=3600000
mongodb_1  | 2022-02-23T14:59:49.674+0000 I  NETWORK  [listener] connection accepted from 172.25.0.3:55530 #26 (2 connections now open)
mongodb_1  | 2022-02-23T14:59:49.674+0000 I  NETWORK  [conn26] received client metadata from 172.25.0.3:55530 conn26: { driver: { name: "PyMongo", version: "3.12.3" }, os: { type: "Linux", name: "Linux", architecture: "x86_64", version: "4.18.0-20-generic" }, platform: "CPython 3.9.10.final.0" }
girder_1   | Loaded plugin "jobs"
girder_1   | Loaded plugin "slicer_cli_web"
girder_1   | Loaded tile source multi
girder_1   | Loaded tile source tiff
girder_1   | Loaded tile source openjpeg
girder_1   | Loaded tile source bioformats
girder_1   | Loaded tile source nd2
girder_1   | Loaded tile source mapnik
girder_1   | Loaded tile source test
girder_1   | Loaded tile source deepzoom
girder_1   | Loaded tile source ometiff
girder_1   | Loaded tile source openslide
girder_1   | Loaded tile source pil
girder_1   | Loaded tile source gdal
girder_1   | Loaded plugin "large_image"
girder_1   | Loaded plugin "large_image_annotation"
girder_1   | Loaded plugin "histomicsui"
girder_1   | Loaded plugin "homepage"
girder_1   | Traceback (most recent call last):
girder_1   |   File "//provision.py", line 312, in <module>
girder_1   |     provision(opts)
girder_1   |   File "//provision.py", line 197, in provision
girder_1   |     Setting().set(key, value)
girder_1   |   File "/usr/local/lib/python3.9/site-packages/girder/models/setting.py", line 125, in set
girder_1   |     setting = self.save(setting)
girder_1   |   File "/usr/local/lib/python3.9/site-packages/girder/models/model_base.py", line 479, in save
girder_1   |     document = self.validate(document)
girder_1   |   File "/usr/local/lib/python3.9/site-packages/girder/models/setting.py", line 76, in validate
girder_1   |     raise ValidationException('Invalid setting key "%s".' % key, 'key')
girder_1   | girder.exceptions.ValidationException: Invalid setting key "worker.broker".
fepegar commented 2 years ago

I've modified provision.py to ignore exceptions from line 197, and things seem to be working as expected. I will leave this issue open, in case you'd like to track these problems.

manthey commented 2 years ago

It looks like it is the code for fetching sample data that is the problem, since that does need girder_client.