mother-of-all-self-hosting / mash-playbook

🐋 Ansible playbook which helps you host various FOSS services as Docker containers on your own server
GNU Affero General Public License v3.0
452 stars 53 forks source link

Cannot complete clean Install #237

Closed PuffPastry closed 1 month ago

PuffPastry commented 1 month ago

Hi,

I've run this playbook many times, after the recent updates for some reason it fails at the endlessh step, where it results in the following error:

TASK [galaxy/endlessh : Ensure endlessh path exists] ********************************************************************************************************************************
failed: [xxx] (item={'path': '/endlessh', 'when': True}) => changed=false
  ansible_loop_var: item
  gid: 0
  group: root
  item:
    path: /endlessh
    when: true
  mode: '0755'
  msg: 'chown failed: failed to look up user '
  owner: root
  path: /endlessh
  size: 4096
  state: directory
  uid: 0

When I run it with -vvv I get:

The full traceback is:
  File "/tmp/ansible_ansible.builtin.file_payload_nw1zys35/ansible_ansible.builtin.file_payload.zip/ansible/module_utils/basic.py", line 816, in set_owner_if_different
    uid = pwd.getpwnam(owner).pw_uid
          ^^^^^^^^^^^^^^^^^^^
failed: [xxx] (item={'path': '/endlessh', 'when': True}) => changed=false
  ansible_loop_var: item
  gid: 0
  group: root
  invocation:
    module_args:
      _diff_peek: null
      _original_basename: null
      access_time: null
      access_time_format: '%Y%m%d%H%M.%S'
      attributes: null
      follow: true
      force: false
      group: ''
      mode: 448
      modification_time: null
      modification_time_format: '%Y%m%d%H%M.%S'
      owner: ''
      path: /endlessh
      recurse: false
      selevel: null
      serole: null
      setype: null
      seuser: null
      src: null
      state: directory
      unsafe_writes: false
  item:
    path: /endlessh
    when: true
  mode: '0755'
  msg: 'chown failed: failed to look up user '
  owner: root
  path: /endlessh
  size: 4096
  state: directory
  uid: 0

I can see that the uid is set earlier in the playbook however:

ok: [xxx] => changed=false
  ansible_facts:
    mash_playbook_gid: '1002'
    mash_playbook_uid: '999'
PuffPastry commented 1 month ago

It appears for some reason they run, even though I have not enabled the Services.

endlessh_enabled: false
writefreely_enabled: false

fixes the issue.