Thanks for your reply Phil.

I tried the redis option for fact caching but I'm not able to query redis
for the data, only use it in my playbooks.

I think you're right though. Its alot of effort so I'll probably try AWX
and see if that fits the bill.

Cheers.



On Wed, 1 Apr 2020, 20:23 Phil Griffiths, <[email protected]> wrote:

> Hi Dennis
>
> Does it have to be MySQL? The reason I ask, is that there are various
> cache plugins available:
> https://docs.ansible.com/ansible/latest/plugins/cache.html#plugin-list
> One such plugin is, for example, redis. You could use that and then the
> redis module:
> https://docs.ansible.com/ansible/2.5/plugins/lookup/redis.html in
> playbooks to retrieve facts.
>
> BUT, if you are going to all this trouble, then I would start looking at
> AWX/Tower as that has inbuilt fact caching. Why reinvent the wheel.
>
> Regards
> Phil.
>
> On Wednesday, 1 April 2020 16:46:42 UTC+1, Dennis McCarthy wrote:
>>
>> Hi,
>>
>> I'm trying to set up a MySQL DB to hold all the ansible facts I produce
>> from "ansible -m setup" (on lots of remote hosts), Store each .json file of
>> each server in a directory but I'm having trouble finding a place to store
>> them.
>>
>> *What do I want to do:*
>> Well I've come from a puppet background, and one of the great things
>> about puppet was puppetDB. I could query the DB for all sorts of facts
>> (from facter including custom facts) and join them together. It was very
>> powerful and I could get answers about my server estate quickly. So what I
>> want is a way to setup the same thing in Ansible. Basically, to know how
>> many of "something" I have in my estate (of 1000+ nodes) without having to
>> use ansible to visit each one to find the answer.
>>
>> *What have I done so far:*
>> I've played with https://github.com/fboender/ansible-cmdb
>> It's a great tool and sort of does what I want but it doesn't list out
>> all the fields in the DB that are in the .json file.
>>
>> I get these:
>>
>> mysql> DESCRIBE hosts;
>> +----------------+--------------+------+-----+---------+-------+
>> | Field          | Type         | Null | Key | Default | Extra |
>> +----------------+--------------+------+-----+---------+-------+
>> | name           | varchar(255) | YES  |     | NULL    |       |
>> | fqdn           | varchar(255) | YES  |     | NULL    |       |
>> | main_ip        | varchar(15)  | YES  |     | NULL    |       |
>> | os_name        | varchar(80)  | YES  |     | NULL    |       |
>> | os_version     | varchar(40)  | YES  |     | NULL    |       |
>> | system         | varchar(40)  | YES  |     | NULL    |       |
>> | kernel         | varchar(40)  | YES  |     | NULL    |       |
>> | arch_hardware  | varchar(12)  | YES  |     | NULL    |       |
>> | arch_userspace | varchar(12)  | YES  |     | NULL    |       |
>> | virt_type      | varchar(20)  | YES  |     | NULL    |       |
>> | virt_role      | varchar(20)  | YES  |     | NULL    |       |
>> | cpu_type       | varchar(60)  | YES  |     | NULL    |       |
>> | vcpus          | int(11)      | YES  |     | NULL    |       |
>> | ram            | float        | YES  |     | NULL    |       |
>> | disk_total     | float        | YES  |     | NULL    |       |
>> | disk_free      | float        | YES  |     | NULL    |       |
>> +----------------+--------------+------+-----+---------+-------+
>>
>> But not all of the .json fields are available and no custom facts. Maybe
>> I need to play with this a bit more.
>>
>> *What do I want:*
>> I'd love to be able to get a .json host file and import it directly into
>> MySQL. add to the exiting table and be able to run a select statement on
>> it. I guess this is why ansible-cmdb is around because there is nothing
>> that already does this.
>>
>> Can anyone recommend anyway to store the data so it can be queried on
>> mass?
>>
>> Any help would be appreciated.
>>
>> Thanks
>> Dennis
>>
> --
> You received this message because you are subscribed to the Google Groups
> "Ansible Project" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/ansible-project/86e64844-d8d3-48f1-8e40-796fdfaae9ba%40googlegroups.com
> <https://groups.google.com/d/msgid/ansible-project/86e64844-d8d3-48f1-8e40-796fdfaae9ba%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/CAA%3Df3eL4iOaqi2qbvCgXLY%2BAd-GFQ5-zfi0YsNTfFkn0UA4Q5g%40mail.gmail.com.

Reply via email to