Ansible无法访问group_vars

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

我无法访问我的group_vars。

我拥有清单文件的当前目录

[ansible@akashd1c inventory]$ pwd
/home/ansible/inventory

在清单中创建的group_vars目录

[ansible@akashd1c inventory]$ ls
group_vars  inventory

在group_vars内部创建的labservers文件

[ansible@akashd1c group_vars]$ vi labservers

添加了变量内容

[ansible@akashd1c inventory]$ cat group_vars/labservers
opt_dir: /opt

使用ping测试---效果很好

[ansible@akashd1c inventory]$ ansible akashd2c.mylabserver.com -i inventory -m ping
 akashd2c.mylabserver.com | SUCCESS => {
"ansible_facts": {
    "discovered_interpreter_python": "/usr/bin/python"
},
"changed": false,
"ping": "pong"
}

现在正在使用变量运行-出现错误

[ansible@akashd1c inventory]$ ansible akashd2c.mylabserver.com -i inventory -a "ls -l {{opt_dir}}"
akashd2c.mylabserver.com | FAILED | rc=-1 >>
The task includes an option with an undefined variable. The error was: 'opt_dir' is undefined

我尝试更改ansible.cfg库存日志-仍然无法正常工作。

#inventory = /home/ansible/inventory/inventory

已更新文件为yml文件

[ansible@akashd1c group_vars]$ ls
labservers.yml
[ansible@akashd1c group_vars]$ cat labservers.yml 
 ---
 opt_dir: /opt

库存

 [ansible@akashd1c inventory]$ cat inventory 
 akashd2c ansible_host=akashd2c.mylabserver.com
 [labserver]
 akashd2c.mylabserver.com
 akashd3c.mylabserver.com
linux ansible ansible-2.x ansible-inventory ansible-ad-hoc
1个回答
0
投票

您库存中的组是labserver,但group_vars文件名是labservers.yml,复数

更改一个或另一个以匹配

将来,您可以非常轻松地使用ansible-inventory -i ./inventory --list来验证ansible对主机及其解析的var的看法:

$ echo 'opt_dir: /opt' > inventory/group_vars/labservers.yml
$ ansible-inventory -i ./inventory --list
{
    "_meta": {
        "hostvars": {
            "akashd2c": {
                "ansible_host": "akashd2c.mylabserver.com"
            }
        }

$ echo 'opt_dir: /opt' > inventory/group_vars/labserver.yml
$ ansible-inventory -i ./inventory --list
{
    "_meta": {
        "hostvars": {
            "akashd2c": {
                "ansible_host": "akashd2c.mylabserver.com"
            },
            "akashd2c.mylabserver.com": {
                "opt_dir": "/opt"
© www.soinside.com 2019 - 2024. All rights reserved.