首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ansible rolling restart playboook

ansible rolling restart playboook
EN

Stack Overflow用户
提问于 2016-02-26 06:11:00
回答 2查看 3.2K关注 0票数 1

朋友们,我希望在每个主机上分别重新启动一个服务,并在继续到清单中的下一个主机之前等待用户输入。

目前,如果您有以下内容:

代码语言:javascript
复制
- 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语法是什么?

EN

回答 2

Stack Overflow用户

发布于 2016-02-26 07:45:18

使用剧本的serial属性和step选项的组合。

playbook.yml

代码语言:javascript
复制
- name: Do it
  hosts: myhosts
  serial: 1

  tasks:
  - shell: hostname 

使用--step选项调用行动手册

代码语言:javascript
复制
ansible-playbook playbook.yml --step

系统将提示您输入每个主机。

代码语言:javascript
复制
    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]

欲了解更多信息,请访问:Start and Step

票数 5
EN

Stack Overflow用户

发布于 2016-02-27 00:34:52

我继续这样做:

代码语言:javascript
复制
- 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
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35639404

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档