我试图做的是提示用户输入变量值,只有当用户在命令行调用Ansible-Playbook install_tool.yml......
时,--extra-vars“install_tool=true”
在workspace/ansible/install_tool中,我有:
- hosts: all
become: true
gather_facts: false
vars:
instance: test
#install_tool: false
company_api_url: DUMMY_INVALID_URL
vars_prompt:
- name: "company_api_url"
prompt: "Enter Company API URL: "
default: "https://{{ instance }}.company.com"
private: no
when: install_tool == "true" and company_api_url == "DUMMY_INVALID_URL"
# or
#when: ( "{{ install_tool }}" == "true" and "{{ company_api_url }}" == "DUMMY_INVALID_URL" )
pre_tasks:
- debug: msg="install_tool = {{ install_tool }} and instance = {{ instance }}"
when: install_tool == "true"
我的问题是:
如何使上述条件提示工作(使用有效的替代default
值作为提示变量),并根据install_tool
变量的值跳过提示用户?
我得到了以下输出(但我希望得到一个替换的URL值,比如:[https://test.company.com]
),即使在命令行设置或传递install_tool
为false
时,它仍然会提示:
跑步:
$ ansible-playbook -i "localhost," --connection=local install_tool.yml --extra-vars "install_tool=false instance=qa"
或
$ ansible-playbook -i inventory -l localhost install_tool.yml --extra-vars "install_tool=false"
...
.....some lines here
...
PLAYBOOK: install_tool.yml *******************************************
1 plays in install_tool.yml
Enter Company API URL: [https://{{ instance }}.company.com]:
我希望使用运行测试,但只能针对主机服务器1。有办法做到这一点吗?
不能站在巨人的肩膀上的编程语言不是好语言,支持重用机制会节省调研重复的工作上浪费大量的时间,当然也会提高可维护性。 Playbook的支持两种重用机制,一种是简单的直接重新利用静态的Playbook脚本,例外一种是类似于编程语言中函数的机制。 include语句 - 重用静态的Playbook脚本,使用起来简单、直接。 role语言 - Playbook的“函数机制”,使用方法稍复杂、功能强大。是
YML ansible的脚本语言,yaml格式。请参考YAML语法结构章节 别人的Playbook 能够学会快速用别人的成果,高效地分享自己的成果,才是好码农,才是能早下班的好码农。在你动手从头开始写一个Playbook之前,不如先参考一下别人的成果吧。 官方例子 Ansible官方提供了一些比较常用的、经过测试的Playbook例子: https://github.com/ansible/ans
本节列举了写第一个Playbook,你必须了解基本语法。 随着你面临的机器越多,配置的需求越复杂,你可能需要了解后面介绍的一些稍微复杂逻辑的语句。 执行Playbook语法 $ ansible-playbook deploy.yml 查看输出的细节 ansible-playbook playbook.yml --verbose 查看该脚本影响哪些hosts ansible-playbook pl
问题内容: 如何使用python脚本运行剧本?在python中使用ansible模块等效于以下内容: 我在http://docs.ansible.com/developing_api.html中查看了它们的文档,但是它们的示例非常有限。 问题答案: 弃用声明:此帖子自ansible 2起不起作用。API已更改。 这在“ Python API”下的Ansible文档中进行了介绍。 例如,通过以下方式
我在http://docs.ansible.com/development_api.html中查看了他们的文档,但它们的示例非常有限。