Ansible 跳过带有变量定义的 import_playbook

2024-01-06

我有一个main.yaml像下面这样:



- import_playbook: 1.yaml
    
- import_playbook: 2.yaml
  vars:
    allow2: False 
  when: allow2
  

我想要剧本2.yaml可以完全跳过(不要尝试执行里面的任何任务2.yaml)。 但它看起来所有任务2.yaml会被调用但不会被执行。

File 1.yaml:



- name: Go1
  hosts: test
  gather_facts: false 

  tasks:
    - debug: msg="Message from 1.yaml"
  

File 2.yaml:



- name: Go2
  hosts: test
  gather_facts: false 
  tasks:
    - debug: msg="Message from 2.yaml"
  

输出是:



$ ansible-playbook main.yaml 

PLAY [Go1] ***********
TASK [debug] *********
Thursday 05 October 2017  03:10:12 -0400 (0:00:00.116)       0:00:00.116 ****** 
ok: [test1] => {}

MSG:

Message from 1.yaml


PLAY [Go2] ************

TASK [debug] ************
Thursday 05 October 2017  03:10:12 -0400 (0:00:00.090)       0:00:00.206 ****** 
skipping: [test1]
  

你可以说任务2.yaml也被调用但被跳过。 但我不希望任何任务被调用2.yaml.

是否可以?


不,这样是不可能的。

请参阅 serverfault 的答案导入/包含差异 https://serverfault.com/questions/875247/whats-the-difference-between-include-tasks-and-import-tasks/875292#875292.

import_playbook是静态的,所以它总是完成并且when附加到其中所有内容的声明。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ansible 跳过带有变量定义的 import_playbook 的相关文章

  • Ansible:shell 脚本输出始终为空

    我试图将 Linux shell 的输出插入到变量中 但由于某种原因 该变量始终为空 这是 Ansible 代码 name Check PHP version shell php v 2 gt dev null awk print 2 ex
  • 如何根据任务或任务集切换用户?

    我的 ansible 手册中反复出现的主题是我经常必须使用 sudo 权限执行命令 sudo yes 因为我想为某个用户执行此操作 理想情况下 我宁愿使用 sudo 切换到该用户并正常执行命令 因为这样我就不必执行通常的后命令清理工作 例如
  • Ansible:权限被拒绝(公钥、密码)

    我无法连接到 Ansible 中的主机 这是错误 192 168 1 12 无法到达 gt 改变 假 msg 错误 SSH 在连接过程中遇到未知错误 我们建议您使用 vvvv 重新运行该命令 这会导致 将启用 SSH 调试输出以帮助诊断问题
  • 如何在 playbook 中使用 Ansible Tower 登录凭据?

    是否可以使用我用来直接在剧本中登录 Ansible Tower 的凭据 是的 您可以通过使用 保存您的凭据 来完成此操作安西布尔塔 Ansible Tower 上的凭证类型 从 Ansible Tower UI 中 转至 Credentia
  • 将事实收集到事实缓存的最快方法

    我正在尝试让 Ansible 与 limit 一起工作 为此我需要有关其他主机的事实 我正在使用fact caching进行缓存 我应该运行什么命令 以便它只收集所有主机上的所有事实并缓存它们 而不运行任何任务 像这样的东西设置模块 htt
  • Ansible with_items 与循环

    使用有什么区别带有项目 https docs ansible com ansible 2 4 playbooks loops html vs loops http docs ansible com ansible latest user g
  • 使用 ansible SSH 到远程服务器

    我正在使用 ansible 来自动化一些任务 其中之一要求我ssh到服务器A 然后从A到B 然后从B到C 我似乎找不到任何方法来做到这一点 有什么建议么 鉴于您不使用 Paramiko 进行 ssh transport ssh https
  • 在 Ansible 中检查已安装的 yum 包/rpm 版本并使用它的最佳方法

    我已经在 CentOS 7 上尝试使用 Ansible 2 0 0 2 我试图从已安装的 rpm yum 软件包中获取版本 但在运行脚本时遇到警告消息 安塞布尔脚本 name Get version of RPM shell yum lis
  • 如何读取/理解目标主机上的ansible日志(由syslog编写)

    当你在某个主机上执行 ansible 时 它 会写入该主机上的 syslog 如下所示 Dec 1 15 00 22 run tools python ansible
  • 如何使用 Ansible when 条件在文件中搜索字符串

    我有一个变量中用 n 分隔的搜索字符串列表listofips 我想在文件中搜索该字符串hello csv在我的下面playbook dir 我可能遇到一些语法问题 我不确定 但下面是我尝试过的 set fact listofips 10 0
  • 使用 Ansible 将二进制文件添加到 PATH

    我正在尝试安装Kiex https github com taylor kiex版本管理器Elixir http elixir lang org install html使用 Ansible 的编程语言 这些是我为此使用的戏剧 name K
  • local_action:shell 连接文件时出错

    我的剧本中有这样的错误 为什么以及如何解决它 获取远程主机的更新列表 将列表连接到一个文件中 name Save update deb packs in file on ansible host copy content update de
  • 使用 ansible 处理程序滚动重启

    我想运行一个 ansible playbook 它会安装一个服务 如果自上次运行以来发生任何更改 或多或少是 ansible 处理程序的规范用例 则重新启动它 但我想要一个不同的并行性用于安装而不是重新启动 我想一次在所有主机上安装 但是
  • 如何使用ansible将vars文件包含在vars文件中?

    是否可以将 Ansible 中的 vars 文件动态包含到另一个 vars 文件中 IE 我有 vars 文件 definitions product web v2 suite mysuite include default step ym
  • Ansible bitbucket 克隆配置 ssh 错误

    总之 当使用 Ansible 配置我的 vagrant box 时 在尝试使用 ssh 克隆我的 bitbucket 私有存储库时 我遇到了一个神秘的错误 该错误指出 主机密钥验证失败 然而 如果我流浪 ssh 然后运行 克隆 命令 私有存
  • Ansible:仅在存在时禁用服务

    有没有什么好的方法可以禁用和停止服务 但前提是它安装在服务器上 像这样的事情 service name item enabled no state stopped only if present yes with items avahi d
  • 您可以更改 Ansible 的临时消息,直到重试循环吗?

    在我的一本剧本中 我启动一项服务并轮询其状态 然后再继续执行下一个任务 如下所示 name Poll for service status uri url http some service status register response
  • 如何在ansible清单文件中设置host_key_checking = false?

    我想用ansible playbook命令而不是 vagrant provision 然而设置host key checking false in the hosts文件似乎不起作用 hosts file vagrant ansible s
  • Ansible - 默认/显式标签

    我有一本剧本 其中包含并标记了各种角色 name base hosts host default localhost roles role apt tags base apt ubuntu role homebrew tags base h
  • 安塞布尔 + 10.11.6

    我在 非常 干净地安装 10 11 6 时遇到了 Ansible 的奇怪问题 我已经安装了brew zsh oh my zsh Lil snitch 和1password 实际上没有安装其他任何东西 我安装了ansible brew ins

随机推荐

  • 以编程方式创建可同步的 Android 日历

    我开发了一个应用程序功能 可以通过应用程序创建和同步本地电话日历 现在我必须在线同步此日历 最好通过本机电话帐户 我尝试通过帐户名称和类型扩展 URI 的内容值参数 请参阅下面的 API LVL id sync account sync a
  • gnuplot 中的历史记录自动完成

    在 gnuplot 中 我输入 gnuplot gt set style data lines 然后我运行其他几行 gnuplot gt plot data traj1 dat u 1 4 u 1 6 u 1 9 u 1 11 u 1 13
  • 当我将其构建为 Android 应用程序包时,为什么我的 Android 应用程序无法运行?

    我想开始将我的应用程序发布为 AAB 我成功构建了我的构建 aab文件并决定尝试在我的手机上安装应用程序 我用下一个方法 1 使用命令从 aab 文件构建 APK 集 java jar bundletool jar build apks b
  • VHDL 上的反转位顺序

    我在做类似的事情时遇到困难 b 0 to 7 lt a 7 downto 0 当我用ghdl编译它时 出现顺序错误 我发现使我的电路工作的唯一方法如下 library ieee use ieee std logic 1164 all ent
  • Android 库项目自定义构建

    我有一个遗留应用程序 需要将其拆分为一个库项目 通用代码 和两个应用程序项目 付费和免费应用程序 我不使用 Eclipse 进行开发 也不使用 Android SDK 提供 生成 的 Ant 构建 有几个原因 不同的项目目录结构 集成到构建
  • 使用java从jar作为资源播放.wav文件

    我想使用 jar 文件中的 java 代码作为资源来播放 wav 文件 我的代码是这样的 try URL defaultSound getClass getResource images ads WindowsNavigationStart
  • 如何获取HTTP 404响应的响应内容

    有没有比直接通过 tcp 访问主机更简单的方法来获取 HTTP 404 响应的内容 这是 404 响应的示例 内容如下 HTTP 1 1 404 Object Not Found Server CouchDB 1 3 0 Erlang OT
  • 连接分层模块:SystemVerilog 中的结构与接口

    在 SystemVerilog 中 分层模块可以通过简单数据类型 复杂数据类型 结构 联合等 或接口进行连接 我感兴趣的功能是将两个模块之间的所有信号聚合到一个地方 这简化了代码的维护 例如 在下面的例子中 更改 s point 的定义而不
  • 是否将指针移动到结构成员 UB 的后面?并访问它?

    看看这个片段 struct S float x y z void fn S s 0 0 0 float p s x p 2 1 if constexpr sizeof S sizeof float 3 if S has no padding
  • 复制链表中的结构

    在这里 我将结构从一个节点复制到另一个节点 但是当我遇到最后一个节点时 我将出现分段错误 因为temp clsf gt next in memcpy将指向无效位置 我该如何解决这个问题 我无法自由temp clsf因为它不是动态分配 whi
  • C# 使用递归从 List 创建 HTML 无序列表

    是否可以使用递归输出以下 HTML 无序列表 ul li 1 ul li 5 ul li 8 li li 9 li ul li li 6 li ul li li 2 li li 3 li li 4 li li 7 li ul 原始数据保存在
  • 如何按特定顺序获得电源组?

    有一些计算幂集的解决方案 但我在谷歌上找到的这些解决方案并没有按我需要的顺序给出幂集 例如 如果我想要的幂集 1 2 3 4 常见算法为我提供了一个幂集 以下顺序 1 2 1 2 3 1 3 2 3 1 2 3 4 1 4 2 4 1 2
  • Python PyInstaller 和包含图标文件

    我正在使用 PyInstaller v1 5 构建一个可执行文件 另外 我正在使用 GUI2EXE 来帮助我 我的脚本需要位于工作目录中的图标文件 icon file pics myicon ico 当我构建可执行文件时 我希望不必包含 工
  • 读取 XML 属性并获取其值

    我对这个 XML 问题很感兴趣 我有一个 XML 文件 我可以浏览该文件来查找值 一切工作正常 我可以阅读所有子节点 但我被困在这一部分 包含照片的XML部分都是相同的节点名称 除了一个属性之外 我如何指定如何根据此浏览并获取每个文件的文件
  • OpenCart 2.0:如何从结账页面删除账单详细信息

    基本上 我想从 OpenCart 2 0 的结账页面中删除 步骤 2 账单详细信息 我的网站仅接受银行存款 货到付款和商店提货作为付款方式 因此我不需要第 2 步 我该如何操作 我看过很多操作方法 但没有看到 OpenCart 2 0 的操
  • gradle > 任务:app:externalNativeBuildDebug FAILED android_gradle_build.json(没有这样的文件或目录)

    我正在尝试使用命令行从命令行构建一个android项目 gradlew app assembleDebug 但是 当我构建任务失败时 gt Task app externalNativeBuildDebug FAILED FAILURE B
  • 防止多行文本框“窃取”滚动事件

    我在 TabControl 中有一些多行文本框 选项卡控件有一个滚动条 但一旦多行文本框聚焦 滚动将滚动文本框而不是选项卡控件 有什么方法可以阻止文本框接受事件并更像普通文本框 但仍然是多行的 将 TextBox ScrollBars 属性
  • 即使没有传入消息,Boost ASIO UDP 客户端 async_receive_from 也会调用处理程序

    我已将 Boost 白天客户端教程中的 UDP 客户端代码修改为以下内容 class UDPClient public udp socket socket udp endpoint receiver endpoint boost array
  • Powershell 和 winapi SystemParametersInfo 函数

    我正在尝试这个 f DllImport user32 dll public static extern int SystemParametersInfo int uAction int uParam int lpvParam int fuW
  • Ansible 跳过带有变量定义的 import_playbook

    我有一个main yaml像下面这样 import playbook 1 yaml import playbook 2 yaml vars allow2 False when allow2 我想要剧本2 yaml可以完全跳过 不要尝试执行里