Ansible收集事实不起作用?

每次我运行一个剧本,ansible会安装一遍又一遍的包,甚至认为它已经安装,所以它是如何工作的呢?

ansible-playbook -i hosts site.yml GATHERING FACTS *************************************************************** ok: [192.168.0.2] TASK: [Install via apt] *************************************** changed: [192.168.0.2] => (item=build-essential,python-dev,python-software-properties,python-setuptools) 

我的食谱(任务):

  name: Install via apt action: apt pkg=$item with_items: - build-essential - python-dev - python-software-properties 

我不能用这个剧本重现你的错误:

 - hosts: 10.0.0.2 sudo: yes tasks: - name: Install via apt action: apt pkg=$item with_items: - build-essential - python-dev - python-software-properties 

正如所料,连续执行的剧本是幂等的 :

 $ ansible-playbook pkg.playbook -K sudo password: PLAY [10.0.0.2] ********************* GATHERING FACTS ********************* ok: [10.0.0.2] TASK: [Install via apt] ********************* ok: [10.0.0.2] => (item=build-essential,python-dev,python-software-properties) PLAY RECAP ********************* 10.0.0.2 : ok=2 changed=0 unreachable=0 failed=0