我正在写一个剧本,我需要选择主持人,这将是名为“hadoop”的小组的一部分。主机将作为父组的额外变量提供。任务是关于使用repo在所有机器上升级java但是有些服务器没有配置repo或者在dmz中并且只能在那里使用本地repo ...我需要启用local_rpm:true以便当playbook执行时属于hadoop组的服务器启用了此事实。
我尝试过如下:
- hosts: '{{ target }}'
gather_facts: no
become: true
tasks:
- name: enable local rpm
set_fact:
local_rpm: true
when: "'hadoop' in group_names"
tags: always
然后根据标记导入我的角色
在这种情况下使用group_vars
可能更好。
https://docs.ansible.com/ansible/latest/user_guide/intro_inventory.html#group-variables