2017-09-04 18 views
1

나는 가능한 사용자를 사용하여 사용자를 만들려고했습니다. 사용자 목록과 그 안에있는 다른 옵션을 사용하여 users라는 변수를 만들었습니다. 여기있다 :목록에서 값을 가져 오는 중 오류를 수정하는 방법

fatal: [10.60.16.1]: FAILED! => {"failed": true, "msg": "the field 'args' has an invalid value, which appears to include a variable that is undefined. The error was: 'list object' has no attribute 'user_name'\n\nThe error appears to have been in '/root/ansible-builds/roles/users/tasks/main.yml': line 11, 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: create local users\n^here\n"} 

문제가에있다 : 나는 작전을 실행하면

- name: create local users 
    local_action: user name={{ users.user_name }} createhome=yes state=present password={{ users.password }} shell=/bin/bash generate_ssh_key=yes ssh_key_type=rsa ssh_key_comment="{{ ansible_hostname }}-{{ users.user_name }}" 

, 그것은 다음과 같은 오류로 실패했습니다 :

users: 
    - { user_name: "user1", sudo_type: "full", password: "pass", ssh_pub_key: "ssh-rsa AAAAB..." } 
    - { user_name: "user2", sudo_type: "limited", password: "somepass", ssh_pub_key: "ssh-rsa AAAAB3..." } 

내가 다음 작업을 생성 ?

+0

: 뭔가 같은 : 같은

vars: users: - { user_name: "user1", sudo_type: "full", password: "pass", ssh_pub_key: "ssh-rsa AAAAB..." } - { user_name: "user2", sudo_type: "limited", password: "somepass", ssh_pub_key: "ssh-rsa AAAAB3..." } tasks: - name: create local users shell: echo {{ item.user_name }} with_items: "{{ users }}" 

그래서 귀하의 작업이 될 것입니다. 이제 질문과 대답이 일치합니다. – techraf

답변

2

users은 어떤 속성도없는 user_name 목록입니다. 단지 items이고 각 item에는 user_name 속성이 있습니다. users 목록을 반복해야합니다. 난 당신이 다른 문제를 도입 답의 첫 번째 버전을 기반으로 편집 한 내용을 롤백

- name: create local users 
    local_action: user name={{ item.user_name }} createhome=yes state=present password={{ item.password }} shell=/bin/bash generate_ssh_key=yes ssh_key_type=rsa ssh_key_comment="{{ ansible_hostname }}-{{ item.user_name }}" 
    with_items: "{{ users }}" 
+0

재생 목록을 수정했지만 여전히 동일한 오류가 발생합니다. – zozo6015

+0

그런 다음 수정 된 안내서를 게시하십시오. – helloV

+0

방금했습니다. – zozo6015