Uploaded image for project: 'Satellite'
  1. Satellite
  2. SAT-18608

Not possible to configure the temporary directory to be used on clients by remote execution in pull mode

XMLWordPrintable

    • 0
    • False
    • Important
    • None
    • None
    • None
    • None

      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.

              aruzicka@redhat.com Adam Ruzicka
              satellite-focaccia-bot Focaccia Bot
              Pavel Novotny Pavel Novotny
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: