【问题标题】:Calling an Ansible script inside of a ansible script and/or within a Loop module在 ansible 脚本和/或 Loop 模块中调用 Ansible 脚本
【发布时间】:2020-01-24 03:20:35
【问题描述】:

上下文:

我正在尝试部署 IDAM 解决方案。为了做到这一点,需要按特定顺序安装特定的东西。

我现在是怎么做的:

我有一个看起来像 vars/main.yml 的变量文件:

EPM: 
  list_of_packages: 
    - package1.msi 
    - package2.msi 
    - package3.msi 
    - package4.msi

如果我这样做了,现在这个方法 1 有效:

win_package: path: C:\path\{{ item }} arguments: /qn /norestart loop: "{{ EPM['list_of_packages'] }}

问题是 Package1 没有正确安装。为了安装 Package1,我需要创建一个单独的 Ansible 脚本来执行一堆 .SQL 脚本。为了这个例子,这个脚本被称为:epm_sql_scripts.yml

此脚本循环使用loop 模块和psiexec 模块的一堆.SQL 脚本。

它看起来类似于方法 1 脚本。

有没有办法可以从方法 1 脚本和/或 vars/main.yml file 调用 epm_sql_scripts.yml

【问题讨论】:

    标签: windows ansible rhel


    【解决方案1】:

    我知道你要去哪里,但 ansible 不允许你这样做。你不能像你的例子那样嵌套剧本。 另一个重要的一点是,如果您选择使用import_tasks,则导入的剧本必须仅包含任务。

    【讨论】:

    • 这就是我最终要做的。不理想。特别是,因为在我的实际情况下,它不是包 1,而是包 3,它们需要以正确的顺序安装。所以我现在正在考虑将所有内容分解为单独的任务。循环本来是最有效的方法,但不幸的是它会产生一些草率的代码。
    猜你喜欢
    • 2022-11-30
    • 1970-01-01
    • 2018-01-18
    • 2017-01-24
    • 1970-01-01
    • 2020-02-11
    • 1970-01-01
    • 2022-11-18
    • 1970-01-01
    相关资源
    最近更新 更多