eth-cscs / firecrest

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Generic way for retrieving version info of execs

louisponet opened this issue · comments

Dear All,

For code developers that provide tools to create input files programmatically, it is sometimes needed to know what the version is of a given code in order to correctly format them. For reading output files this is not such a big problem since the code/formatting of those itself determines the version.

Would it be possible through FireCrest to automate the process of finding out the version of an executable? Usually the only way of doing this is through something similar to
exec -v, or e.g. in the case of Quantum-Espresso to run the code with an empty input and reading the output.

Right now, this automation can be achieved through ssh with a shell command to execute. Would there be any way to do something similar through FirecREST?

Cheers,
Louis

Dear Louis,

Currently FirecREST does not provide arbitrary command execution like SSH, only the endpoints on utilities.
For this case, I think there are some options:

  1. submit a job to get QE version and other information related to the cluster. Maybe submitting to a debug partition (queue) could assure to get it executed quickly.
  2. If the cluster uses modules to load QE, you could load the desired version when submitting a job.

Best regards,
Alejandro

Hi Alejandro,

Thank you, I think indeed the only way is submitting a job to debug, or requiring the user to specify the version manually.

Just so I understand, is the reason why it would be hard/impossible to allow for arbitrary shell execution because the firecrest service is not running on a frontend? Or is it a design decision for another reason?

Best,
Louis

Hi Louis,

It was more a design decision agreed with the Security Officer. I understand it would be easier to have similar capabilities to SSH but executing it securely in a shared machine is more tricky (considering a malicious user).
This can change in the future, but so far the decision is not to provide it.

Best,
Alejandro

Hi Alejandro,

I see, that makes sense.

Best,
Louis