Set default folder for dump data 09/33609/2
authorYujun Zhang <zhang.yujunz@zte.com.cn>
Fri, 21 Apr 2017 03:19:55 +0000 (11:19 +0800)
committerYujun Zhang <zhang.yujunz@zte.com.cn>
Fri, 21 Apr 2017 05:55:18 +0000 (13:55 +0800)
Change-Id: I2b96bcf369b13a679a417d78ebca19b3e63155e2
Signed-off-by: Yujun Zhang <zhang.yujunz@zte.com.cn>
qtip/ansible_library/plugins/action/collect.py

index 1743971..0ae3477 100644 (file)
@@ -29,7 +29,9 @@ class ActionModule(ActionBase):
 
         dump = self._task.args.get('dump')
         if dump is not None:
-            dump_facts(task_vars['inventory_hostname'], [{'name': dump, 'content': string}], task_vars['qtip_results'])
+            root = task_vars.get('qtip_results', 'results')
+            base = task_vars.get('dump_base', 'dump')
+            dump_facts(task_vars['inventory_hostname'], [{'name': dump, 'content': string}], root, base)
 
         return collect(patterns, string)
 
@@ -50,9 +52,9 @@ def collect(patterns, string):
     return captured
 
 
-def dump_facts(hostname, facts, root='results'):
-    dump_root = os.path.join(root, 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'])}
+def dump_facts(hostname, facts, root, base):
+    dest = os.path.join(root, hostname, base)
+    if not os.path.exists(dest):
+        os.makedirs(dest)
+    return [{'name': fact['name'], 'result': open(os.path.join(dest, fact['name']), 'w+').write(fact['content'])}
             for fact in facts]