Как назначить случайное число переменной в недоступном?

Это незаменимый script, который я ожидал напечатать одно и то же случайное число три раза. Вместо этого он печатает три случайных числа. Как назначить случайное число переменной в недоступном для того, чтобы она была зафиксирована во всей пьесе?

---
- name: Test random filter
  hosts: localhost
  gather_facts: False
  vars:
    random_number: "{{ 100 | random }}"
  tasks:
    - name: Print the random number
      debug: var=random_number
    - name: Print the random number
      debug: var=random_number
    - name: Print the random number
      debug: var=random_number

Ответ 1

Просто сначала используйте модуль set_fact как задачу:

 - set_fact:
     r: "{{ 100 | random }}"
   run_once: yes

Впоследствии debug: msg=... зафиксировано значение r.

Ответ 2

Установить факты в задаче:

---
- name: Test random filter
  hosts: localhost
  gather_facts: False
  tasks:
    - name: set fact here
      set_fact:
        randome_number: "{{ 100 | random }}"
      run_once: yes
    - name: Print the random number
      debug: var=random_number
    - name: Print the random number
      debug: var=random_number
    - name: Print the random number
      debug: var=random_number