Ansible “跳过任务”;“条件结果为假”;

Ansible “跳过任务”;“条件结果为假”;,ansible,Ansible,我正在设置新的ansible角色以创建新的IPA用户和组。 用户创建工作很好,但我正在与组斗争 这是我的战友和剧本中的片段。Ansible版本是2.4.2.0 变量: 任务: 我希望创建组,但我得到: “跳过原因”:“条件结果为假” 注意:如果我尝试使用它,例如:when:item.key==“ansible\u group\u test1”,它可以正常工作我认为您需要when:item.key in ipagroups.keys() 我将您的变量逐字地放入组\u vars/all,并且有一个空

我正在设置新的ansible角色以创建新的IPA用户和组。 用户创建工作很好,但我正在与组斗争

这是我的战友和剧本中的片段。Ansible版本是2.4.2.0

变量:

任务:

我希望创建组,但我得到: “跳过原因”:“条件结果为假”


注意:如果我尝试使用它,例如:when:item.key==“ansible\u group\u test1”,它可以正常工作

我认为您需要
when:item.key in ipagroups.keys()

我将您的变量逐字地放入
组\u vars/all
,并且有一个空的
清单文件
。本剧本:


给我:

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"
}

当:ipagroups.keys()中的item.key时,您是否尝试过
?非常感谢!。一切正常。不管怎样,它是不是在Ansible pages的某个地方?有点像。实际上,这里使用的是jinja2,所以要看的地方是。此外,引号中还有
ipagroups.keys()
,因此它被视为字符串,而不是变量。
- 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()"
- 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"
}