ansible - 如何为跳过的播放禁用 vars_prompt?
问题描述
我正在播放“partial_upgrade.yml”,它有 vars_prompt 来提示用户输入。
我将这个剧本导入到另一个剧本“choose_play.yml”中,该剧本根据条件导入。
即使“partial_upgrade.yml”被跳过,它也会提示用户输入。
1. choose_play.yml
---
- hosts: localhost
vars_prompt:
- name: "option"
prompt: |
>>> 1. Partial Upgrade
>>> 2. Full Upgrade
>>> Enter the option which you want to run -
private: no
tasks:
- set_fact:
option: "{{ option }}"
- debug:
var: option
- import_playbook: partial_upgrade.yml
vars:
partial_upgrade: true
full_upgrade: false
when: hostvars["localhost"]["option"]|int == 1
- import_playbook: full-upgrade.yml
vars:
partial_upgrade: false
full_upgrade: true
when: hostvars["localhost"]["option"]|int == 2
2. deploy.yml
---
- hosts: nodes
gather_facts: false
sudo: true
vars_prompt:
- name: "server_ip"
prompt: "Enter Server IP"
private: no
- name: "server_path"
prompt: "Enter Server path"
private: no
roles:
- setup-master
- setup-worker
当我运行“choose_play.yml”并按 2 时,它会跳过“partial_upgrade.yml”但提示输入“服务器 IP”和“服务器路径”。
我不想输入跳过播放的详细信息。
请帮助我在跳过播放时禁用 vars_prompt。
解决方案
推荐阅读
- tensorflow - TensorFlow 如何知道如何计算导数?
- service - ExecCondition 不会阻止服务的启动
- c++ - 使用另一个向量和映射函数进行高效的 std::vector 初始化
- go - 使用 GoLand 为 GO 编译 gRPC .proto 文件后缺少导入
- python - TinyMCE - 正确显示文本 - Django
- python - 如果似乎有多个索引,我可以获得索引的值吗?
- r - 提取由列中所有值的最高值组成的新数据框
- python - Pytube,urllib.error.HTTPError:HTTP 错误 404:未找到
- php - 问题:如何解决 laravel valet 没有这样的文件或目录?
- r - 在列表列表中出现的频率