我想在确认用户后安装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 ×1