Inventory Configuration Question

I have been using Ansible in a limited fashion and have configured a static inventory. I’m trying to build onto this inventory by adding groups_vars and host_vars for individual cluster groups. Problem is Ansible isn’t picking up the required group_vars. Does anyone see why my group_vars wouldn’t be loading with this inventory structure. I’m only testing with the dev3 group before filling out the remaining group_vars directories.

Command: ansible -m debug dev3 -i /ansible/inventory -a “var=hostvars[inventory_hostname]”

inventory/
├── batch
│ ├── group_vars
│ ├── hosts
│ └── host_vars
├── dev0
│ ├── group_vars
│ ├── hosts
│ └── host_vars
├── dev1
│ ├── group_vars
│ ├── hosts
│ └── host_vars
├── dev2
│ ├── group_vars
│ ├── hosts
│ └── host_vars
├── dev3
│ ├── group_vars
│ │ ├── dev3
│ │ │ └── vars.yml
│ │ └── dev3_db
│ ├── hosts
│ └── host_vars
├── dev4
│ ├── group_vars
│ ├── hosts
│ └── host_vars
├── dev5
│ ├── group_vars
│ ├── hosts
│ └── host_vars
├── dev6
│ ├── group_vars
│ ├── hosts
│ └── host_vars
└── dev7
├── group_vars
├── hosts
└── host_vars

Current Sample Output:

`

dev1.domain.com | SUCCESS => {
“hostvars[inventory_hostname]”: {
“ansible_check_mode”: false,
“ansible_version”: {
“full”: “2.1.2.0”,
“major”: 2,
“minor”: 1,
“revision”: 2,
“string”: “2.1.2.0”
},
“group_names”: [
“dev3”
],
“groups”: {
“all”: [
test1.domain.com”,
test2.domain.com”,
test3.domain.com”,
dev1.domain.com”,

dev2.domain.com”,
dev3.domain.com”,
dev4.domain.com
],
“dev3”: [
dev1.domain.com”,
dev2.domain.com”,
dev3.domain.com”,
dev4.domain.com”,
dev5.domain.com
],
“ungrouped”:
},
“inventory_dir”: “/ansible/inventory”,
“inventory_file”: null,
“inventory_hostname”: “dev3.domain.com”,
“inventory_hostname_short”: “dev3”,
“omit”: “__omit_place_holder__998cd0b3347833ef6af77480e6387c8135a35469”,
“playbook_dir”: “.”
}
}

`

Expected Output with the addition of my group_vars
“app_location”: “east”,
“db_connection”: “some string value”,

`
dev1.domain.com | SUCCESS => {
“hostvars[inventory_hostname]”: {
“ansible_check_mode”: false,
“ansible_version”: {
“full”: “2.1.2.0”,
“major”: 2,
“minor”: 1,
“revision”: 2,
“string”: “2.1.2.0”
},

“app_location”: “east”,
“db_connection”: “some string value”,

“group_names”: [
“dev3”
],
“groups”: {
“all”: [
test1.domain.com”,
test2.domain.com”,
test3.domain.com”,
dev1.domain.com”,

dev2.domain.com”,
dev3.domain.com”,
dev4.domain.com
],
“dev3”: [
dev1.domain.com”,
dev2.domain.com”,
dev3.domain.com”,
dev4.domain.com”,
dev5.domain.com
],
“ungrouped”:
},
“inventory_dir”: “/ansible/inventory”,
“inventory_file”: null,
“inventory_hostname”: “dev3.domain.com”,
“inventory_hostname_short”: “dev3”,
“omit”: “__omit_place_holder__998cd0b3347833ef6af77480e6387c8135a35469”,
“playbook_dir”: “.”
}
}
`

I do know that running the below command will produce the desired data that I’m expecting, but now I don’t have all of my hosts that I want. I’m probably trying to over organize my hosts by breaking all my groups out into small clusters of groups. What I found odd is Ansible can read the hosts files located in the individual cluster directories but it won’t recognize the group_vars unless I move my group_vars under /ansible/inventory…

ansible -m debug dev403 -i /ansible/inventory/dev403 -a “var=hostvars[inventory_hostname]”