小编pyr*_*d13的帖子

如何在剧本中运行任务之前设置确认提示?

我想在确认用户后安装MariaDB.我有一个角色和一个简单的任务:

- name: install MariaDB
  yum:
    name: MariaDB
    state: present
Run Code Online (Sandbox Code Playgroud)

或者如果我想使用include: MySQL.yml,如果用户想要,则该行执行,如果不是,则跳过此包括.

- name: install MariaDB
  yum:
    name: MariaDB
    state: present

- include: MySQL.yml
Run Code Online (Sandbox Code Playgroud)

更多解释

我的主人:

[dbs]
192.168.0.10
192.168.0.11
192.168.0.12
Run Code Online (Sandbox Code Playgroud)

现在,我想如果用户为答案提示输入no,则MySQL.yml不会对任何服务器执行.

我在role(tasks/main.yml)中的代码:

---
- pause:
   prompt: "Do you want to install mariadb (yes/no)?"
  register: my_pause
  delegate_to: localhost

- include_tasks: mysql.yml
  when: hostvars['localhost'].my_pause.user_input | bool
Run Code Online (Sandbox Code Playgroud)

和我的输出:

[root@anisble ansible]# ansible-playbook playbooks/test.yml 



PLAY [dbs] 
********************************************************************

TASK [Gathering Facts] ******************************************************************
ok: [db1]
ok: [db2]
ok: [db3]

TASK [ssh : pause] …
Run Code Online (Sandbox Code Playgroud)

ansible

3
推荐指数
1
解决办法
7979
查看次数

标签 统计

ansible ×1