Ошибка неопределенной переменной при передаче дополнительной переменной через Ansible AWX - PullRequest
0 голосов
/ 10 октября 2019

У меня есть книга воспроизведения для создания пользователей, книга воспроизведения работает нормально, когда все три переменные жестко запрограммированы, тогда как, если я передам переменные, я получу ошибку. Я выполнил эту пьесу через консоль AWX с дополнительными переменными и получил " неопределенная ошибка переменной "

Playbook

#User creation playbook
---
- hosts: "all"
  gather_facts: yes
  become: yes
  become_method: sudo
  #vars:
  #  users:
  #  - username: "{{ user }}"
  #    groups: "{{ groups }}"
  #    password: "{{ password }}"
      #replace newpassword with whatever password you want to set for the user
  #  - username: "user2"
  #    groups: "groupC"
  #    password: "{{ 'newpassword' | password_hash('sha512') }}"
  tasks:
  - name: "Create user accounts"
    user:
      name: "{{ username }}"
      groups: "{{ groups }}"
      password: "{{ password }}"
      update_password: on_create
    #with_items: "{{ users }}"
  #- name: "Add authorized keys"
  #  authorized_key:
  #    user: "{{ item.username }}"
  #    key: "{{ lookup('file', 'ssh_keys/'+ item.username + '.key.pub') }}"
  #  with_items: "{{ users }}"

Дополнительные переменные

---
vars:
 - username: testuserxx
   groups: nginx,mysql
   password: $6$UxUZNNsVnWUSM9ge$0viDFuXUwtLYyx/U4tFmX8w3TknD3C19Oab.clfi67WGGqJUDrkGpMOvHE1zwudXyKl0gmqAw8piR8KFGi55R/

Я создал хэш пароля, используя mkpasswd --method=sha-512

Ниже приведена ошибка, которую я получаю

fatal: [172.16.12.70]: FAILED! => {
    "msg": "The task includes an option with an undefined variable. The error was: 'password' is undefined\n\nThe error appears to be in '/tmp/awx_56_skpglhjz/project/user_creation_AWXold.yml': line 17, column 5, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n  tasks:\n  - name: \"Create user accounts\"\n    ^ here\n"
}

Ответы [ 2 ]

0 голосов
/ 12 октября 2019

Просто определите ваши дополнительные переменные следующим образом:

---
username: testuserxx
groups: nginx,mysql
password: $6$UxUZNNsVnWUSM9ge$0viDFuXUwtLYyx/U4tFmX8w3TknD3C19Oab.clfi67WGGqJUDrkGpMOvHE1zwudXyKl0gmqAw8piR8KFGi55R/
0 голосов
/ 10 октября 2019

Можете ли вы дать цитаты для групп и пароль?

groups: 'nginx,mysql'
...