【问题标题】:How to do Ansible conditional include_vars?如何做 Ansible 条件 include_vars?
【发布时间】:2016-03-22 14:23:29
【问题描述】:

我正在尝试基于when 条件使用include_vars,如下所示:

- include_vars: clouderamanager.yml
  when: '{{ inventory_hostname }}' in groups['hadoop-clouderamanager']

- include_vars: hadoop-namenode.yml
  when: '{{ inventory_hostname }}' in groups['hadoop-namenode']

- include_vars: resourcemanager.yml
  when: '{{ inventory_hostname }}' in groups['hadoop-resourcemanager']

- include_vars: spark-history-server.yml
  when: '{{ inventory_hostname }}' in groups['spark-history-server']

我收到ERROR! Syntax Error while loading YAML.

The error appears to have been in '~/ansible/roles/hadoop-master/tasks/main.yml': line 4, column 36, but may be elsewhere in the file depending on the exact syntax problem.

The offending line appears to be:

- include_vars: clouderamanager.yml
  when: '{{ inventory_hostname }}' in groups['hadoop-clouderamanager']
                                   ^ here

【问题讨论】:

    标签: automation ansible ansible-2.x


    【解决方案1】:

    当条件跟随起作用时改变

    when: inventory_hostname in groups['hadoop-clouderamanager']
    

    【讨论】:

      【解决方案2】:

      为常规变量添加示例。

      - name: including vars called secrets
        include_vars: "vars.yml"
      
      - name: including vars called secrets
        include_vars: "another_var_file.yml"
        when: "<variable name inside vars.yml> == '<value>'"
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-08-18
        • 2019-01-02
        • 1970-01-01
        • 2021-12-16
        • 2022-07-06
        • 1970-01-01
        相关资源
        最近更新 更多