Ansible中默认变量的覆盖属性

问题描述 投票:1回答:1

我试图找出是否有任何方法可以覆盖由group_vars声明为默认值的变量的属性。确切的问题是,我自动化了MySQL服务器的部署,并在剧本的默认值中创建了默认配置选项作为键值对的列表,但有时需要更改一些值,但不一定要全部更改。我在defaults / main / mysql_config.yml中有以下YAML代码,这是通过Jinja2模板解析为my.cnf文件的。

performance_tuning:
  query_cache_type: 1
  query_cache_size: 512M
  query_cache_limit: 2M
  query_cache_strip_comments: 1
  thread_pool_size: "{{ ansible_processor_vcpus  }}"
  wait_timeout: 15
  interactive_timeout: 15
  max_connections: 151

而且我想在group_vars / all

中更改这些属性之一,而不重复整个代码。

我尝试了以下操作,但似乎不是这样做的方法,模板仍使用默认值:

performance_tuning.query_cache_size: 128M

此外,如果我将performance_tuning

变量添加到具有仅一个属性的group_vars中,则显然它将仅将一个属性部署到配置文件中:
performance_tuning:
  query_cache_size: 128M

Jinja2模板:

{% if performance_tuning is defined and performance_tuning|length %}
{% for key, value in performance_tuning.iteritems() %}
{{ key }}={{ value }}
{% endfor %}
{% endif %}

我试图找出是否有任何方法可以覆盖由group_vars声明为默认值的变量的属性。确切的问题是,我使MySQL服务器的部署自动化,并且我...

ansible
1个回答
0
投票

好吧,您可以通过多种方式进行此操作。这里是一些。

© www.soinside.com 2019 - 2024. All rights reserved.