我正在尝试设置一个配置我的开发系统的剧本。我想从我的剧本"文件"中复制/etc/hosts
文件。目录到我系统上的/etc
目录。目前我正在做以下事情:
# main.yml
- hosts: all
- tasks:
- copy: src=files/hosts
dest=/etc/hosts
owner=root
group=wheel
mode=0644
backup=true
become: true
# inventory
localhost ansible_connection=local
当我运行剧本时,我收到了这个错误:
fatal: [localhost]: FAILED! => {... "msg": Failed to get information on remote file (/etc/hosts): MODULE FAILURE"}
我认为这是因为复制应该用于将文件复制到远程文件系统。那么如何将文件复制到本地管理系统?我做了Google搜索,所有内容都谈到了做前者。我没有在Ansible文档中看到这个问题。
答案 0 :(得分:3)
你的任务还可以。
您应该将--ask-sudo-pass
添加到ansible-playbook
来电。
如果使用-vvv
运行,则可以看到命令以sudo -H -S -n -u root /bin/sh -c echo BECOME-SUCCESS-somerandomstring
开头(后跟对Python脚本的调用)。如果您自己执行,则会收到sudo: a password is required
消息。 Ansible非常无益地将此错误消息替换为自己的Failed to get information on remote file (/etc/hosts): MODULE FAILURE
。