所有主机下的playbook中的ansible sudo选项都失败了

时间:2016-01-15 14:46:48

标签: ansible

sudo: yes下的

hosts: all无效!我要在主机下专门移动它:www ...任何想法为什么会发生这种情况?

错误信息是:

failed: [centos7] => (item=[u'git']) => {"changed": true, "failed": true, "item": ["git"], "msg": "You need to be root to perform this command.\n", "rc": 1, "results": ["Loaded plugins: fastestmirror\n"]}

---
- hosts: all
  gather_facts: no
  #sudo: yes

- hosts: www
  sudo: yes
  remote_user: vagrant
  roles:
  - common
  #- oh-my-zsh
  #- nginx

1 个答案:

答案 0 :(得分:2)

在没有任务运行的游戏中设置sudo: yes没有意义,如果设置gather_facts: no,则不会运行任何内容。所以你应该从剧本中删除该剧本,因为它什么都不做:

---
- hosts: all
  gather_facts: no
  sudo: yes
如果您希望该播放中的所有任务都使用sudo: yes运行,则可以在播放级别定义

sudo,但当然您也可以启用/禁用每个任务的sudo。

我想请注意,将来您应该使用become: yes(默认情况下使用sudo),因为sudo:已弃用,将来会在Ansible版本中删除。