-
Bug
-
Resolution: Done
-
Major
-
None
-
6.12.4
Description of problem:
When using rex in pull mode, foreman_ygg_worker always use /tmp as the temporary directory for the script that will be executed.
For environments when /tmp is mounted with noexec, this is a blocker.
Currently, no configuration option is available to change this path.
Version-Release number of selected component (if applicable):
Satellite 6.12
Satellite 6.13
How reproducible:
Always, when /tmp is mounted with noexec
Steps to Reproduce:
1. Configure REX in pull mode on satellite
2. Configure a client to consume the REX queue
3. Mount /tmp on the client with "noexec"
4. Try running any job
Actual results:
~~~
1:
/bin/sh: /tmp/ygg_rex857528743: Permission denied
2:
/bin/sh: line 0: exec: /tmp/ygg_rex857528743: cannot execute: Permission denied
3:
Exit status: 126
4:
StandardError: Job execution failed
~~~
Error to execute the script, due to noexec set on /tmp. No way to modify the path
Expected results:
A way to use another directory as workdir for the worker, so jobs can run.
Additional info:
/tmp appears to be hardcoded on the foreman_ygg_worker code. See https://github.com/theforeman/foreman_ygg_worker/blob/main/src/runner.go#L62
Having a variable there would be ideal.