我想要一个生成随机字符串或时间戳的任务,并将其发送给游戏中的所有主机。
例如,如果我这样做:
- name: Create a unique ID
shell: random_string
register: unique_id
- name: store the unique ID
lineinfile:
dest: '/home/project/config.txt'
regexp: 'unique_id'
line: 'unique_id = "{{ unique_id }}'
这将在每台远程计算机上单独生成随机字符串,因此它们不匹配。我可以使用local_action在本地计算机上生成它,但它仍然会为每个主机单独运行。那么我怎样才能确保所有主机都一样呢?
答案 0 :(得分:3)
您可以将run_once
与delegate_to
或local_action
结合使用,以便只生成一次变量。
所以你的第一个任务就是这样:
- name: Create a unique ID
shell: random_string
run_once: true
delegate_to: 127.0.0.1
register: unique_id