Ansible 复制模块失败
Ansible Copy Module Fails
我正在尝试将 "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 个服务器提供以下错误消息。
fatal: [server-name]: FAILED! => {"changed": false, "checksum": "9925f1a81f849f373f860c3156d19edcd1c002f2", "failed": true, "msg": "Could not replace file: /root/.ansible/tmp/ansible-tmp-1469481567.72-275811900408782/source to /etc/resolv.conf: [Errno 1] Operation not permitted"}
我只是不明白可能是什么问题,因为我以 root 用户身份访问机器,并且 Playbook 在大多数服务器上都成功 - 许多服务器具有完全相同的配置和设置。例如,它在服务器 "server-analytical1" 上成功,但在服务器 "server-analytical2" 上失败。那么,有没有人知道为什么 Playbook 只会在少数服务器上失败,即使它们与其他成功的服务器相似或相同?
是否在目标文件上设置了不可变位?如果是,请尝试 lsattr /etc/resolv.conf
和 chattr -i /etc/resolv.conf
取消设置。
我正在尝试将 "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 个服务器提供以下错误消息。
fatal: [server-name]: FAILED! => {"changed": false, "checksum": "9925f1a81f849f373f860c3156d19edcd1c002f2", "failed": true, "msg": "Could not replace file: /root/.ansible/tmp/ansible-tmp-1469481567.72-275811900408782/source to /etc/resolv.conf: [Errno 1] Operation not permitted"}
我只是不明白可能是什么问题,因为我以 root 用户身份访问机器,并且 Playbook 在大多数服务器上都成功 - 许多服务器具有完全相同的配置和设置。例如,它在服务器 "server-analytical1" 上成功,但在服务器 "server-analytical2" 上失败。那么,有没有人知道为什么 Playbook 只会在少数服务器上失败,即使它们与其他成功的服务器相似或相同?
是否在目标文件上设置了不可变位?如果是,请尝试 lsattr /etc/resolv.conf
和 chattr -i /etc/resolv.conf
取消设置。