Skip to content

exception dynamic inventory when subfolders #194

Description

@Anasme

Hello,

I'm trying ansible-cmdb and it seem very nice, thank you.
Unfortunately I encounter an error when reading my inventory:

[root@server:~]# ansible-cmdb -i /etc/ansible/inventories/prod out/ > overview.html
Exception while executing dynamic inventory script '/etc/ansible/inventories/prod/hosts':
[Errno 8] Exec format error
Traceback (most recent call last):
File "/usr/local/bin/../lib/ansiblecmdb/ansible-cmdb.py", line 205, in
limit=options.limit, debug=options.debug)
File "/usr/local/lib/python2.7/dist-packages/ansiblecmdb/ansible.py", line 61, in init
self._parse_hostvar_dir(inventory_path)
File "/usr/local/lib/python2.7/dist-packages/ansiblecmdb/ansible.py", line 188, in _parse_hostvar_dir
self._parse_hostvar_file(hostname, p)
File "/usr/local/lib/python2.7/dist-packages/ansiblecmdb/ansible.py", line 196, in _parse_hostvar_file
first_line = open(path, 'r').readline()
IOError: [Errno 21] Is a directory: '/etc/ansible/inventories/prod/host_vars/FQDN/vault'

my inventories tree look like this (exemple of course):
in host_vars I have some server with 2 subfolders like ./server/vars ./server/vault

.
├── group_vars
│   ├── all
│   │   └── 000_cross_env_vars -> ../../../000_cross_env_vars
│   ├── prod_censored_ab
│   │   ├── dns.yml
│   │   └── censored.yml
│   ├── prod_censored_am_expert
│   │   ├── parameters.yml
│   │   └── censored.yml
│   ├── prod_censored_am_pro
│   │   ├── dns.yml
│   │   ├── document.yml
│   │   ├── nginx_vhosts.yml
│   │   ├── parameters.yml
│   │   └── censored.yml
│   ├── prod_censored_xyxyx
│   │   └── document.yml
│   ├── prod_censored_xyxyxy
│   │   └── censored.yml
│   ├── prod_censored_xyxy
│   │   └── censored.yml
│   ├── prod_censored_xyx
│   │   ├── document.yml
│   │   └── censored.yml
│   ├── prod_censored_yy
│   │   ├── document.yml
│   │   └── censored.yml
│   ├── prod_censored_x
│   │   └── censored.yml
│   ├── prod_censored_xy
│   │   ├── dns.yml
│   │   └── censored.yml
│   ├── prod_soft_gitlab
│   │   └── dns.yml
│   └── prod_soft_vc
│   ├── dns.yml
│   └── nginx.yml
├── hosts
└── host_vars
├── server1
│   ├── vars
│   └── vault
├── server2
│   ├── censored.yml
│   └── vault
├── server3
│   ├── dns.yml
│   ├── document.yml
│   ├── nginx.yml
│   ├── censored.yml
│   └── vault
├── server4
│   ├── vars
│   └── vault
├── server5
│   ├── vars
│   └── vault
├── server6
│   ├── vars
│   └── vault
├── server7
│   ├── vars
│   └── vault
├── server8
│   ├── vars
│   └── vault

I want to create a cmdb with your tools to retrieve the basic information that you propose, add all the variables by groups/hosts and some additional facts that I could automate (apache version, tomcat etc.)

Thank a lot for your future help

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions