我将设置一个新的角色来创建新的IPA用户和组。 用户创建工作正常,但我在组中挣扎。
这是我的大学和剧本的摘录。 Ansible版本是2.4.2.0
vars
ipagroups:
ansible_group_test1:
group: ansible_group_test1
users:
- ansible_test1
- ansible_test2
ansible_group_test2:
group: ansible_group_test2
users:
- ansible_test1
- ansible_test2
ansible_group_test3:
group: ansible_group_test3
users:
- ansible_test1
- ansible_test2
任务:
- name: adding ipa groups and users
ipa_group:
name: "{{item.value.group}}"
state: present
user: "{{item.value.users}}"
ipa_host: ipa.example.com
ipa_user: admin
ipa_pass: xxx
with_dict: "{{ ipagroups }}"
when: item.key == "ipagroups.keys()"
我希望创建组,但是得到: “ skip_reason”:“条件结果为假”
注意:如果我尝试例如当:item.key =='ansible_group_test1'正常工作
答案 0 :(得分:1)
我认为您需要when: item.key in ipagroups.keys()
我将您的变量 verbatim 放在group_vars/all
中,并且有一个空的inventory file
。这本剧本:
- hosts: localhost
connection: local
tasks:
- name: Show vars
debug:
var: item.value.group
when: item.key in ipagroups.keys()
with_dict: "{{ ipagroups }}"
给我:
TASK [Show vars] ***************************************
ok: [localhost] => (item=None) => {
"item.value.group": "ansible_group_test2"
}
ok: [localhost] => (item=None) => {
"item.value.group": "ansible_group_test3"
}
ok: [localhost] => (item=None) => {
"item.value.group": "ansible_group_test1"
}