Anyone? Op dinsdag 7 juni 2016 15:05:36 UTC+2 schreef Kevin Csuka: > > Hi, > > I'm kinda new to Ansible, love the program so far. > > I want two facts, hostname and serial number,in a Sqlite database. I'm > trying to achieve it with the callback plugin, which is written in Python. > > I came across this website and applied his Python code on my machine. > http://jpmens.net/2012/09/11/watching-ansible-at-work-callbacks/ > > The problem is that the script made by jpmens is for Ansible 1. I'm > working with Ansible 2.0.2.0 > > The code I have for inv.py > [code] > import os > import time > import sqlite3 > > dbname = '/etc/ansible/test.db' > TIME_FORMAT='%Y-%m-%d %H:%M:%S' > > try: > con = sqlite3.connect(test1) > cur = con.cursor() > except: > pass > > def log(host, data): > > if type(data) == dict: > invocation = data.pop('invocation', None) > if invocation.get('module_name', None) != 'setup': > return > > facts = data.get('ansible_facts', None) > > now = time.strftime(TIME_FORMAT, time.localtime()) > > try: > # `host` is a unique index > cur.execute("REPLACE INTO test2 (now, host, serial) > VALUES(?,?,?);", > ( > now, > facts.get('ansible_hostname', None), > facts.get('ansible_product_serial', None) > )) > con.commit() > except: > pass > > class CallbackModule(object): > def runner_on_ok(self, host, serial): > log(host, serial) > [/code] > > I'm getting the following error message: > " [WARNING]: Failure when attempting to use callback plugin > (</etc/ansible/callback_plugin/inv.CallbackModule object at 0x16c5a90>): > 'TaskResult' object has no attribute 'get'" > > I don't understand Python quite well. Can anybody pin-point me to my > mistake? > Or is there a more simple method to put the values in a sqlite database? > > Thanks > > > >
-- 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 post to this group, send email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/cdf4c143-9d66-438f-994f-bf117465a924%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
