【发布时间】:2016-05-12 12:11:42
【问题描述】:
Ansible 仅在开始时获取事实。但我需要检查每个命令的事实。 例如:
我需要创建一个目录,然后我需要把文件放到这个目录中。但是 ansible 在开始时获取事实 'dir 不存在',创建 dir 并且在下一步中事实仍然是 FALSE 并且 ansible 跳过此步骤 =( 并且仅在第二次运行后执行此步骤。
我会尝试setup 重新收集事实的所有步骤,但它不起作用。
我是这样做的:
- stat: path=/etc/zabbix/scripts/rabbitmq
register: rmqscriptdir
- name: Create scripts dir if not exist
when: rmqscriptdir.stat.exists == False
shell: mkdir /etc/zabbix/scripts/rabbitmq
- name: Gathering facts again
setup:
- name: Set owner and permissions to rabbitmq directory
when: rmqscriptdir.stat.exists == True
file: path=/etc/zabbix/scripts/rabbitmq owner=zabbix group=root mode=0750
- stat: path=/etc/zabbix/scripts/rabbitmq/api.py
register: rmqscript_api
- name: Create api.py if not exist
when: rmqscript_api.stat.exists == False and rmqscriptdir.stat.exists == True
shell: cd /etc/zabbix/scripts/rabbitmq; wget https://raw.githubusercontent.com/jasonmcintosh/rabbitmq-zabbix/master/scripts/rabbitmq/api.py
- name: Gathering facts again
setup:
- name: Set owner and permissions to api.py
when: rmqscript_api.stat.exists == True
file: path=/etc/zabbix/scripts/rabbitmq/api.py owner=zabbix group=root mode=0755
【问题讨论】:
标签: ansible ansible-playbook ansible-facts