Ansible:生成随机字符串并在所有主机之间共享

时间:2016-05-15 01:00:49

标签: random ansible

我想要一个生成随机字符串或时间戳的任务,并将其发送给游戏中的所有主机。

例如,如果我这样做:

- 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在本地计算机上生成它,但它仍然会为每个主机单独运行。那么我怎样才能确保所有主机都一样呢?

1 个答案:

答案 0 :(得分:3)

您可以将run_oncedelegate_tolocal_action结合使用,以便只生成一次变量。

所以你的第一个任务就是这样:

- name: Create a unique ID
  shell: random_string
  run_once: true
  delegate_to: 127.0.0.1
  register: unique_id