voxpupuli/puppetboard

v4 - Docker: The 'puppetboard' distribution was not found and is required by the application

gbe0 opened this issue · 1 comments

gbe0 commented

When using the v4 release tags with Docker, it seems the container fails to start:

[2022-07-07 11:15:47 +0000] [1] [INFO] Starting gunicorn 20.1.0
[2022-07-07 11:15:47 +0000] [1] [INFO] Listening at: http://0.0.0.0:8088 (1)
[2022-07-07 11:15:47 +0000] [1] [INFO] Using worker: sync
[2022-07-07 11:15:47 +0000] [9] [INFO] Booting worker with pid: 9
[2022-07-07 11:15:47 +0000] [9] [ERROR] Exception in worker process
Traceback (most recent call last):
  File "/usr/local/lib/python3.10/site-packages/gunicorn/arbiter.py", line 589, in spawn_worker
    worker.init_process()
  File "/usr/local/lib/python3.10/site-packages/gunicorn/workers/base.py", line 134, in init_process
    self.load_wsgi()
  File "/usr/local/lib/python3.10/site-packages/gunicorn/workers/base.py", line 146, in load_wsgi
    self.wsgi = self.app.wsgi()
  File "/usr/local/lib/python3.10/site-packages/gunicorn/app/base.py", line 67, in wsgi
    self.callable = self.load()
  File "/usr/local/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", line 58, in load
    return self.load_wsgiapp()
  File "/usr/local/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", line 48, in load_wsgiapp
    return util.import_app(self.app_uri)
  File "/usr/local/lib/python3.10/site-packages/gunicorn/util.py", line 359, in import_app
    mod = importlib.import_module(module)
  File "/usr/local/lib/python3.10/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 883, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/usr/src/app/puppetboard/app.py", line 11, in <module>
    import puppetboard.views.catalogs  # noqa: F401
  File "/usr/src/app/puppetboard/views/catalogs.py", line 13, in <module>
    puppetdb = get_puppetdb()
  File "/usr/src/app/puppetboard/core.py", line 66, in get_puppetdb
    own_version = pkg_resources.get_distribution("puppetboard").version
  File "/usr/local/lib/python3.10/site-packages/pkg_resources/__init__.py", line 466, in get_distribution
    dist = get_provider(dist)
  File "/usr/local/lib/python3.10/site-packages/pkg_resources/__init__.py", line 342, in get_provider
    return working_set.find(moduleOrReq) or require(str(moduleOrReq))[0]
  File "/usr/local/lib/python3.10/site-packages/pkg_resources/__init__.py", line 886, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/usr/local/lib/python3.10/site-packages/pkg_resources/__init__.py", line 772, in resolve
    raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'puppetboard' distribution was not found and is required by the application
[2022-07-07 11:15:47 +0000] [9] [INFO] Worker exiting (pid: 9)
[2022-07-07 11:15:47 +0000] [1] [INFO] Shutting down: Master
[2022-07-07 11:15:47 +0000] [1] [INFO] Reason: Worker failed to boot.

Going back to an earlier tag seems to work fine (eg. ghcr.io/voxpupuli/puppetboard:3).

Thanks for reporting @gbe0!

Fixed in 4.0.1 that has been released a moment ago.