2016-10-26 41 views
1

所以,我是Ansible和YAML上的一个完整的noob,我试图学习一点,但是到目前为止,这让我疯狂......我正在使用可靠的塔。我想要做的是替换某些服务器的ntp.conf文件上的一些文本,并用新服务器更新它们。所以,我的剧本是这样的:Ansible conf文件更改

--- 
- hosts: range_1 
    tasks: 
    - name: ntp change 
     become_user: ansible 
     blockinfile: 
     content: | 
      server Server1 iburst 
      server Server2 iburst 
     dest: /etc/ntp.conf 
     insertafter: "Please consider joining the pool" 
     marker: "<!-- {mark} ANSIBLE MANAGED BLOCK -->" 
    - name: restart ntp 
     service: name=ntpd state=restarted 

但我得到

PLAY RECAP


Host_1 : ok=1 changed=0 unreachable=0 failed=0
Host_2 : ok=1 changed=0 unreachable=0 failed=0
Host_3 : ok=1 changed=0 unreachable=0 failed=0

Ansible正在运行,它不会退出与一个错误。但是,并没有对系统做任何修改。 (我假设因为改变= 0)我确实登录到这些系统并且没有应用更改。

我检查过了,语法正确,但林不知道我错过了什么。我真的需要了解如何将两台服务器添加到ntp.conf中,并且如果服务器有一些错误信息,请删除它并添加这两台服务器。任何帮助或指导将非常感激。

+0

请显示你的'/ etc/ntp.conf'。除了在'ntp.conf'文件中放入一个HTML注释''是错误的,该行应该以'#'开头。 – techraf

+0

/etc/ntp.conf文件在系统中是不同的,这就是为什么我要实现这个目的。这就是为什么我只想改变这个部分: 'code' #使用pool.ntp中的公共服务器.org项目。 #请考虑加入游泳池(http://www.pool.ntp.org/join.html)。 192.168.0.1 <无论在这里无关紧要>'code' 还我可以felete的的评论,感谢您的:) – user3311890

+0

请出示你的'的/ etc/ntp.conf'(编辑问题,插入) 。无论哪个,你是否有问题需要解决,或者有太多时间争论? – techraf

回答

0

对于任何可能运行从ansible或ansible塔一个剧本时,可以阅读,详细输出设置为2。当我运行它,它给我的错误:

AILED! => {"changed": false, "failed": true, "msg": "The destination directory (/etc) is not writable by the current user."}

但它是固定在我的剧本中加入become: yes行,它现在看起来像这样:

--- 
- hosts: range_1 
    tasks: 
    - name: ntp change 
     become: yes 
     blockinfile: 
     content: | 
      server Server1 iburst 
      server Server2 iburst 
     dest: /etc/ntp.conf 
     insertafter: "Please consider joining the pool" 
     marker: "<!-- {mark} ANSIBLE MANAGED BLOCK -->" 
    - name: restart ntp 
     become: yes 
     service: name=ntpd state=restarted