ansible:import_playbook:“{{anotherplaybook}}}.yml”

ansible:import_playbook:“{{anotherplaybook}}}.yml”,ansible,Ansible,请帮帮我。。我正在努力做到这一点 - name: set anotherplaybook set_fact: anotherplaybook: "abc" when: 'a' in item - name: set anotherplaybook set_fact: anotherplaybook: "xyz" when: 'x' in item - import_playbook: "{{ anotherplaybook }}.yml" 这是另一个Playbo

请帮帮我。。我正在努力做到这一点

- name: set anotherplaybook
  set_fact:
    anotherplaybook: "abc"
  when: 'a' in item
- name: set anotherplaybook
  set_fact:
    anotherplaybook: "xyz"
  when: 'x' in item
- import_playbook: "{{ anotherplaybook }}.yml"

这是另一个Playbook未定义错误

我可以肯定的是,您的变量没有被设置。由于你没有在你的剧本中发布任何输出,我不得不做一些假设。对于初学者,变量“item”通常由您作为任务的一部分执行with_items循环来填充。既然你没有这么做,你是否在剧本的其他地方定义了item变量?如果是,这不是最佳实践,您可能应该选择不同的变量标签,以便更清楚地了解您在该任务中评估的是什么。
即使在其他地方设置item变量,前两个任务上的when子句的计算结果也是false,因此set_fact任务永远不会运行,这就是为什么会出现错误。

如果没有when,它会工作吗?如果存在,则可能意味着项中不存在a或x。不,它不起作用。。即使我将值硬编码为'anotherplaybook',并在-import_playbook:{{{anotherplaybook}}.yml处调用它,也会出现相同的错误