Параметр run_once будет запускаться каждый раз, когда запускается ваш Playbook/задачи, но будет запускаться только один раз во время конкретного запуска. Таким образом, каждый раз, когда вы запускаете игру, она будет запускаться, но только на первом хосте в списке. Если вы ищете способ запустить эту команду только один раз, точка, вам нужно будет использовать аргумент create. Используя ваш пример, это может быть достигнуто с помощью следующего:
- name: apt update
shell: apt-get update && touch /root/.aptupdated
args:
creates: /root/.aptupdated
В этом случае создается файл /root/.aptupdated. Теперь задача проверит, существует ли он, и если да, то не запустится.
В соответствующей заметке, если задача, которую вы пытаетесь запустить, представляет собой обновление apt-get, вы можете использовать собственный модуль apt. Затем вы можете сделать что-то вроде этого -
- name: apt update
apt: update_cache=yes cache_valid_time=86400
Теперь это будет работать только в том случае, если кеш старше одного дня.
person
Charlie O.
schedule
16.10.2014