From 9c274969f1d8cee2012ec16a21ad85d20d585c84 Mon Sep 17 00:00:00 2001 From: Yujun Zhang Date: Wed, 12 Apr 2017 15:37:24 +0800 Subject: Dump collected facts Change-Id: Id0b7b2e94016a73ffcaa2d737af1ca33230b3662 Signed-off-by: Yujun Zhang --- qtip/ansible_library/plugins/action/collect.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'qtip') diff --git a/qtip/ansible_library/plugins/action/collect.py b/qtip/ansible_library/plugins/action/collect.py index 88ad0e35..26e813b8 100644 --- a/qtip/ansible_library/plugins/action/collect.py +++ b/qtip/ansible_library/plugins/action/collect.py @@ -10,6 +10,7 @@ ############################################################################## from collections import defaultdict +import os import re from ansible.plugins.action import ActionBase @@ -26,6 +27,10 @@ class ActionModule(ActionBase): string = self._task.args.get('string') patterns = self._task.args.get('patterns') + dump = self._task.args.get('dump') + if dump is not None: + dump_facts(task_vars['inventory_hostname'], [{'name': 'inxi.log', 'content': string}]) + return collect(patterns, string) @@ -43,3 +48,11 @@ def collect(patterns, string): captured[key].append(value) return captured + + +def dump_facts(hostname, facts): + dump_root = os.path.join('dump', hostname) + if not os.path.exists(dump_root): + os.mkdir(dump_root) + return [{'name': fact['name'], 'result': open(os.path.join(dump_root, fact['name']), 'w+').write(fact['content'])} + for fact in facts] -- cgit 1.2.3-korg