galaxyproject/galaxy-helm

Default galaxy container fails to provide the environment for parse_parameter expression tool

Opened this issue · 1 comments

This one is a tricky one. Most "base" tools normally work with the same galaxy container, however the Expression tool parse_parameter fails because the container seems to lack node or nodejs:

Traceback (most recent call last):
  File "/galaxy/server/database/jobs_directory/012/12490/_evaluate_expression_.py", line 1, in <module>
    from galaxy_ext.expressions.handle_job import run; run()
  File "/galaxy/server/lib/galaxy_ext/expressions/handle_job.py", line 39, in run
    result = evaluate(None, inputs)
  File "/galaxy/server/lib/galaxy/tools/expressions/evaluation.py", line 12, in evaluate
    application = find_engine(config)
  File "/galaxy/server/lib/galaxy/tools/expressions/util.py", line 9, in find_engine
    raise Exception("nodejs or node not found on PATH")
Exception: nodejs or node not found on PATH

What would be the best way of dealing with this case? nodejs is surely in the container, so maybe inject an env var to modify the PATH somehow through tpv?

Probably just using a nodejs won't do, as it needs the galaxy parts as well. Maybe a new container FROM the main galaxy one with nodejs installed on top? For the meantime I mean.