Why do I see a Permission Denied Error for Receptor when Running a Job in Ansible Automation Platform?

Solution Verified - Updated -

Environment

  • Ansible Automation Platform 2.0
  • Ansible Automation Platform 2.1
  • Ansible Automation Platform 2.2
  • Ansible Automation Platform 2.3
  • Ansible Automation Platform 2.4

Issue

  • Launching a job in Ansible Automation Platform results in a permission denied issue for the receptor directory. No job is launched as a result.

Resolution

  • Fix permissions on all AAP nodes:

    chown -R awx:awx /tmp/receptor
    

Root Cause

  • The receptor directory was either hardened or started by a user other than awx. The default permissions for this file are 700, so the owner will be the only user with access to the file.

Diagnostic Steps

  • AAP stdout:

    Traceback (most recent call last):
     File "/var/lib/awx/venv/awx/lib64/python3.8/site-packages/awx/main/tasks.py", line 1411, in run res = receptor_job.run()
     File "/var/lib/awx/venv/awx/lib64/python3.8/site-packages/awx/main/tasks.py", line 2943, in run return self._run_internal(receptor_ctl)
     File "/var/lib/awx/venv/awx/lib64/python3.8/site-packages/awx/main/tasks.py", line 2960, in _run_internal
    result = receptor_ctl.submit_work(worktype=self.work_type, payload=sockout.makefile('rb'), params=self.receptor_params)
     File "/var/lib/awx/venv/awx/lib64/python3.8/site-packages/receptorctl/socket_interface.py", line 187, in submit_work
    raise RuntimeError(errmsg)
    RuntimeError: Failed to start work unit: mkdir /tmp/receptor/hash: permission denied
    

This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.

Comments