使用consul_kv的方式可以在两个版本之间进行更改

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

我需要从2.8.x版本开始使用consul_kv模块和ansible版本的帮助,也许我错过了一些东西,但是我看了一下模块的代码,但我并没有真正看到2.7.x和2.8.x之间的变化。可以解决我遇到的问题。

使用ansible 2.7.x时,当我尝试从consul获取价值时,我从conv vars获得consul主机,端口,路径,并执行如下代码:

# group_var/all
consul_path: "{{ lookup('env','ANSIBLE_CONSUL_PATH') }}"
consul_host: "{{ lookup('env','ANSIBLE_CONSUL_HOST') }}"
consul_port: "{{ lookup('env', 'ANSIBLE_CONSUL_PORT') }}"
- hosts: localhost

  tasks:
    - name: test ansible 2.8.5 with consul
      debug:
        msg: "{{ lookup('consul_kv', consul_path+'path/to/value' }}"

它在2.7.0上工作,我有我的价值,但在2.8.x上却不工作,从那些较新的版本中,我需要在每行上使用查找指定主机和端口

msg: "{{ lookup('consul_kv', 'path/to/value', host='myconsulhost.com', port='80') }}"

是否可以通过此模块在ansible 2.8.x中继续使​​用env var?

ansible consul consul-kv
1个回答
0
投票

The fine manual表示,查找现在使用$ANSIBLE_CONSUL_URL环境变量来确定协议,主机名和端口-或(如您所观察到的)使用对查找功能的内联kwarg。您提到的那些group_vars似乎已不再被使用

[您还需要注意,因为您的group_vars/all(至少在此问题中,如果您确实在做,未知)在consul_path :中具有尾随空格,这会创建一个名为consul_path<space>的变量

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