Ansible复制模块失败

时间:2016-07-25 22:19:42

标签: copy ansible ansible-playbook

我正在尝试复制" resolve.conf"将文件从一台机器传送到另一台机器并覆盖旧机器。此操作适用于除40个服务器中的4个以外的所有服务器...我收到错误,因为不允许这样做而无法替换该文件。我已经粘贴了与下面操作失败相关的Playbook内容。

- hosts: all
  remote_user: root

...

  - name: Copy over the updated DNS configuration file
    copy: src=/etc/resolv.conf dest=/etc/resolv.conf

它为我提供了所有4台服务器的以下错误消息。

  

致命:[服务器名]:失败! => {"更改":false,"校验和":" 9925f1a81f849f373f860c3156d19edcd1c002f2","失败":true," msg": "无法替换文件:/root/.ansible/tmp/ansible-tmp-1469481567.72-275811900408782/so​​urce到/etc/resolv.conf:[Errno 1]不允许操作"}

我只是不明白问题是什么,因为我以root用户身份访问计算机并且Playbook在大多数服务器上成功 - 许多服务器具有完全相同的配置和设置。例如,它在服务器上成功" server-analytical1"但在服务器" server-analytical2"上失败了。那么,有没有人能够了解为什么Playbook只会为少数几台服务器发生故障,即使它们与其他成功的服务器相似或相同?

1 个答案:

答案 0 :(得分:3)

目标文件上是否设置了不可变位?如果是,请尝试lsattr /etc/resolv.confchattr -i /etc/resolv.conf取消设置。