Integrate reporter 71/33071/3
authorYujun Zhang <zhang.yujunz@zte.com.cn>
Thu, 6 Apr 2017 11:38:41 +0000 (19:38 +0800)
committerYujun Zhang <zhang.yujunz@zte.com.cn>
Fri, 7 Apr 2017 07:38:45 +0000 (07:38 +0000)
Change-Id: I7b13282dbae576e36c01c959182bc0838b36649e
Signed-off-by: Yujun Zhang <zhang.yujunz@zte.com.cn>
qtip/ansible_library/plugins/filter/__init__.py [new file with mode: 0644]
qtip/ansible_library/plugins/filter/format.py [new file with mode: 0644]
tests/integration/ansible.cfg
tests/integration/compute.yaml
tests/integration/hosts
tests/integration/reports/inxi-system-info [new file with mode: 0644]
tests/integration/tasks/inxi.yaml
tests/integration/templates/inxi-system-info.j2 [new file with mode: 0644]

diff --git a/qtip/ansible_library/plugins/filter/__init__.py b/qtip/ansible_library/plugins/filter/__init__.py
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/qtip/ansible_library/plugins/filter/format.py b/qtip/ansible_library/plugins/filter/format.py
new file mode 100644 (file)
index 0000000..db84490
--- /dev/null
@@ -0,0 +1,19 @@
+###############################################################
+# Copyright (c) 2017 ZTE Corporation
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+from qtip.reporter import filters
+
+
+class FilterModule(object):
+
+    @staticmethod
+    def filters():
+        return {
+            'justify': filters.justify
+        }
index 03a0060..85966e1 100644 (file)
@@ -179,7 +179,7 @@ action_plugins     = ../../qtip/ansible_library/plugins/action
 #lookup_plugins     = /usr/share/ansible/plugins/lookup
 #inventory_plugins  = /usr/share/ansible/plugins/inventory
 #vars_plugins       = /usr/share/ansible/plugins/vars
-#filter_plugins     = /usr/share/ansible/plugins/filter
+filter_plugins     = ../../qtip/ansible_library/plugins/filter
 #test_plugins       = /usr/share/ansible/plugins/test
 #terminal_plugins   = /usr/share/ansible/plugins/terminal
 #strategy_plugins   = /usr/share/ansible/plugins/strategy
index 8e4353e..4cb71e9 100644 (file)
@@ -25,3 +25,8 @@
   - name: check ssh connection
     ping:
   - include: tasks/inxi.yaml
+- hosts: local
+  tasks:
+  - name: create system information report
+    local_action: template src=templates/inxi-system-info.j2 dest=reports/inxi-system-info
+    delegate_to: localhost
index c8d0641..9b91eea 100644 (file)
@@ -1 +1,6 @@
+[fuel-master]
 fuel-master
+
+[local]
+localhost   ansible_connection=local
+
diff --git a/tests/integration/reports/inxi-system-info b/tests/integration/reports/inxi-system-info
new file mode 100644 (file)
index 0000000..371243e
--- /dev/null
@@ -0,0 +1,36 @@
+System Information from inxi
+============================
+
+node-26
+-----------------------------
+
+CPU Brand.................2 Deca core Intel Xeon E5-2650 v3s (-HT-MCP-SMP-) speed/max: 1200/3000 MHz
+Disk............................................................................1200.3GB (0.8% used)
+Host Name.........................................................................node-26.zte.com.cn
+Kernel..............................................................4.4.0-66-generic x86_64 (64 bit)
+Memory.............................................................................3836.1/128524.1MB
+Operating System.................................................................Ubuntu 16.04 xenial
+Product......................................................................................EC600G3
+
+node-28
+-----------------------------
+
+CPU Brand.................2 Deca core Intel Xeon E5-2650 v3s (-HT-MCP-SMP-) speed/max: 1200/3000 MHz
+Disk............................................................................1200.3GB (0.8% used)
+Host Name.........................................................................node-28.zte.com.cn
+Kernel..............................................................4.4.0-66-generic x86_64 (64 bit)
+Memory.............................................................................3826.6/128524.1MB
+Operating System.................................................................Ubuntu 16.04 xenial
+Product......................................................................................EC600G3
+
+node-27
+-----------------------------
+
+CPU Brand.................2 Deca core Intel Xeon E5-2650 v3s (-HT-MCP-SMP-) speed/max: 1200/3000 MHz
+Disk............................................................................1200.3GB (0.8% used)
+Host Name.........................................................................node-27.zte.com.cn
+Kernel..............................................................4.4.0-66-generic x86_64 (64 bit)
+Memory.............................................................................3922.4/128524.1MB
+Operating System.................................................................Ubuntu 16.04 xenial
+Product......................................................................................EC600G3
+
index cbcf360..f8951dc 100644 (file)
@@ -16,8 +16,6 @@
   command: inxi -b -c0 -n
   register: inxi_log
 
-- debug: var=inxi_log
-
 - name: collect system information from inxi
   collect:
     string: "{{ inxi_log.stdout }}"
@@ -30,5 +28,3 @@
       - '.+\s+HDD Total Size:\s+(?P<disk>.+)\s'
       - '.+\sproduct:\s+(?P<product>.+)\sv'
   register: inxi_info
-
-- debug: var=inxi_info
diff --git a/tests/integration/templates/inxi-system-info.j2 b/tests/integration/templates/inxi-system-info.j2
new file mode 100644 (file)
index 0000000..35c8661
--- /dev/null
@@ -0,0 +1,16 @@
+System Information from inxi
+============================
+
+{% for host in groups['compute'] %}
+{{ hostvars[host].ansible_hostname }}
+-----------------------------
+
+{{ ('CPU Brand', hostvars[host].inxi_info.cpu[0])|justify }}
+{{ ('Disk', hostvars[host].inxi_info.disk[0])|justify }}
+{{ ('Host Name', hostvars[host].inxi_info.hostname[0])|justify }}
+{{ ('Kernel', hostvars[host].inxi_info.kernel[0])|justify }}
+{{ ('Memory', hostvars[host].inxi_info.memory[0])|justify }}
+{{ ('Operating System', hostvars[host].inxi_info.os[0])|justify }}
+{{ ('Product', hostvars[host].inxi_info.product[0])|justify }}
+
+{% endfor %}