inveniosoftware / invenio-cli

CLI module for Invenio
https://invenio-cli.readthedocs.io
MIT License
10 stars 43 forks source link

invenio-cli containers start fails #272

Open apirogov opened 2 years ago

apirogov commented 2 years ago

Describe the bug

After installing all prerequisites, when running invenio-cli containers start --lock --build --setup the start of the containers fails with:

...
Building web-ui
Sending build context to Docker daemon  19.83MB
Error response from daemon: no build stage in current context
ERROR: Service 'web-ui' failed to build : Build failed
Failed to start containerized instance.

Steps to Reproduce

Follow the steps in the InvenioRDM installation guide.

Either run invenio-cli containers start --lock --build --setup or docker-compose -f docker-compose.full.yml up, which fails with the same error

Expected behavior

The containers successfully start.

Not sure if this is the correct place to report the bug, but at least it emerged when using invenio-cli trying to set up an Invenio RDM instance.

Additional context

Apparently this is an issue with docker. Googling for the error message hints at a mistake in the Dockerfile, maybe a FROM statement is missing?

Ubuntu 21.10 Docker version 20.10.9, build c2ea9bc docker-compose version 1.29.2, build 5becea4c invenio-cli, version 1.0.0

apirogov commented 2 years ago

when I add FROM inveniosoftware/centos8-python:3.7 to the Dockerfile, I get a bit further and it fails because the package importlib-resources is missing.

This can be fixed by pipenv install importlib-resources. But now I am stuck at:

install --unsafe &&     invenio webpack build
 ---> Running in 65391954dcfb
Traceback (most recent call last):
  File "/usr/bin/python3/bin/invenio", line 8, in <module>
    sys.exit(cli())
  File "/usr/bin/python3/lib/python3.7/site-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/usr/bin/python3/lib/python3.7/site-packages/flask/cli.py", line 586, in main
    return super(FlaskGroup, self).main(*args, **kwargs)
  File "/usr/bin/python3/lib/python3.7/site-packages/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "/usr/bin/python3/lib/python3.7/site-packages/click/core.py", line 1254, in invoke
    cmd_name, cmd, args = self.resolve_command(ctx, args)
  File "/usr/bin/python3/lib/python3.7/site-packages/click/core.py", line 1297, in resolve_command
    cmd = self.get_command(ctx, cmd_name)
  File "/usr/bin/python3/lib/python3.7/site-packages/flask/cli.py", line 527, in get_command
    self._load_plugin_commands()
  File "/usr/bin/python3/lib/python3.7/site-packages/flask/cli.py", line 523, in _load_plugin_commands
    self.add_command(ep.load(), ep.name)
  File "/usr/bin/python3/lib/python3.7/site-packages/pkg_resources/__init__.py", line 2449, in load
    self.require(*args, **kwargs)
  File "/usr/bin/python3/lib/python3.7/site-packages/pkg_resources/__init__.py", line 2472, in require
    items = working_set.resolve(reqs, env, installer, extras=self.extras)
  File "/usr/bin/python3/lib/python3.7/site-packages/pkg_resources/__init__.py", line 772, in resolve
    raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'cached-property; python_version < "3.8"' distribution was not found and is required by kombu
chriz-uniba commented 2 years ago

We also had issues with the importlib-resources and therefore pinned importlib-resources = ">=5.2.2" in the Pipfile of our invenioRDM-instance.