[英]ansible rolling restart playboook
伙计们,我想在每个主机上分别重新启动服务,并等待用户输入,然后再继续使用清单中的下一个主机。
当前,如果您具有以下条件:
- name: Restart something
command: service foo restart
tags:
- foo
- name: wait
pause: prompt="Make sure org.foo.FooOverload exception is not present"
tags:
- foo
它只会提示一次,而实际上并没有达到预期的效果。
在每个主机上运行重新启动任务之前,等待用户输入的正确ansible语法是什么?
结合使用serial
属性和剧本的step
选项。
playbook.yml
- name: Do it
hosts: myhosts
serial: 1
tasks:
- shell: hostname
使用--step
选项调用剧本
ansible-playbook playbook.yml --step
系统将提示您输入每个主机。
Perform task: shell hostname (y/n/c): y
Perform task: shell hostname (y/n/c): ****************************************
changed: [y.y.y.y]
Perform task: shell hostname (y/n/c): y
Perform task: shell hostname (y/n/c): ****************************************
changed: [z.z.z.z]
有关更多信息: 开始和步骤
我继续这样做:
- name: Restart Datastax Agent
tags:
- agent
hosts: cassandra
sudo: yes
serial: 1
gather_facts: yes
tasks:
- name: Pause
pause: prompt="Hit RETURN to restart datastax agent on {{ inventory_hostname }}"
- name: Restarting Datastax Agent on {{ inventory_hostname }}
service: name=datastax-agent state=restarted
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.