macosansiblek3sansible-awx

How to allow read/write for local path to be used in execution environment in AWX?


I'm running AWX on K3s on my Mac M1. Previously, I was running AWX on minikube on docker desktop. However, my company policy changed, and I'm required to remove docker desktop and now i'm using Rancher Desktop instead.

Ok now back to the main question. This is my "Paths to expose to isolated jobs":

[
  "/etc/pki/ca-trust:/etc/pki/ca-trust:O",
  "/tmp/work:/tmp/work:rw",
  "/usr/share/pki:/usr/share/pki:O"
]

My job is able to read the host directory, but not able to write anything to it. I've tried with option "z" and "O" but no luck as well. Previously it works when I was using minikube instead of k3s.

Sample error:

fatal: [target_server -> localhost]: FAILED! => {"changed": false, "checksum_dest": null, "checksum_src": "38e92cf81300d145667da5918b18da38651fcfa6", "dest": "/tmp/work/download.zip", "elapsed": 2, "msg": "Destination /tmp/work is not writable", "src": "/runner/.ansible/tmp/ansible-tmp-1704930722.4006913-261-98184554373224/tmpu7ybl4v2", "url": "http://test.myhome.com/download.zip"}

I've even set the permission to 777 and user 1000:0:

$ ls -al /tmp/work
total 0
drwxrwxrwx   3 1000   wheel   96 Jan 10 17:23 .
drwxrwxrwt  13 1000   wheel  416 Jan 11 07:43 ..

Please advise. Thanks!


Solution

  • Seems like the issue is with the /tmp/work on the host machine itself. After I changed it to a different directory; /Users/myuser/tmp/work, it works!

    [
      "/etc/pki/ca-trust:/etc/pki/ca-trust:O",
      "/Users/myuser/tmp/work:/tmp/work:rw",
      "/usr/share/pki:/usr/share/pki:O"
    ]
    
    % ls -al /Users/myuser/tmp/work    
    total 0
    drwxr-xr-x  3 myuser  staff   96 Jan 15 12:55 .
    drwxr-xr-x  5 myuser  staff  160 Jan 15 12:36 ..
    drwxr-xr-x@ 4 myuser  staff  128 Jan 15 12:47 new_folder