Ich versuche Ansible und Ansible-Vault zu verwenden, um Benutzer bereitzustellen. Dies ist meine aktuelle Verzeichnisstruktur:Ansible-Vault wird nicht korrekt an das Playbook übergeben
|-- ansible-test.out
|-- group_vars
|-- inventory
|-- roles
| |-- bsd_sudoers
| | |-- tasks
| | |-- templates
| | | `-- cde-admins
| | `-- vars
| `-- bsd_users
| |-- files
| |-- tasks
| | `-- main.yml
| |-- templates
| `-- vars
| `-- all.yml
|-- site.retry
|-- site.yml
`-- vars
`-- all.yml
Dies ist, was ich für mein Textbuch haben bisher:
---
- name: Creating Users
user:
name: "{{ item.name }}"
system : "{{ item.sudoer }}"
shell: /bin/bash
password: "{{ item.password }}"
uid: "{{ item.uid }}"
home: "{{ item.home }}"
with_items: users
Hier ist ein Beispiel von dem, was ich habe in ansible Gewölbe:
---
vars:
users:
- name: 'foo'
home: '/home/foo'
key: 'ssh-rsa ....'
password: '!!'
bash: '/bin/bash'
sudoer: yes
uid: "2049"
guid: '2049'
group: admin
Wenn ich das Playbook starte, wird diese Fehlermeldung immer generiert:
fatal: [ansible-test]: FAILED! => {"failed": true, "msg": "The task includes an option with an undefined variable. The error was: 'ansible.utils.unsafe_proxy.AnsibleUnsafeText object' has no attribute 'uid'\n\nThe error appears to have been in '/Users/ansible/playbooks/roles/bsd_users/tasks/main.yml': line 2, column 3, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n---\n- name: Creating Users\n^here\n\nexception type: <class 'ansible.errors.AnsibleUndefinedVariable'>\nexception: 'ansible.utils.unsafe_proxy.AnsibleUnsafeText object' has no attribute 'uid'"}
to retry, use: --limit @/Users/ansible/playbooks/site.retry
Warum passiert das immer? Ich hatte den Eindruck, dass Ansible die verschlüsselten Variablen natürlich an mein Playbook weitergeben würde, aber das scheint nicht der Fall zu sein.
Ich gebe das einen Wirbel – ryekayo
Jetzt bekomme ich Benutzer ist nicht definiert – ryekayo
Wo befindet sich Ihre Vars-Datei Vaults? –