summaryrefslogtreecommitdiffstats
path: root/resources/roles/inxi/tasks
diff options
context:
space:
mode:
Diffstat (limited to 'resources/roles/inxi/tasks')
-rw-r--r--resources/roles/inxi/tasks/main.yml44
1 files changed, 44 insertions, 0 deletions
diff --git a/resources/roles/inxi/tasks/main.yml b/resources/roles/inxi/tasks/main.yml
new file mode 100644
index 00000000..47eb2e73
--- /dev/null
+++ b/resources/roles/inxi/tasks/main.yml
@@ -0,0 +1,44 @@
+##############################################################################
+# Copyright (c) 2017 ZTE Corporation and others.
+#
+# 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
+##############################################################################
+
+- name: install inxi - Command line system information script for console and IRC
+ package:
+ name: inxi
+ state: present
+
+- name: check hardware information with inxi
+ command: inxi -b -c0 -n
+ register: inxi_out
+
+# TODO(yujunz) normalize system information, test condition and performance metrics for future data mining
+# e.g. convert "2 Deca core Intel Xeon E5-2650 v3s (-HT-MCP-SMP-) speed/max: 1200/3000 MHz" to
+# ---
+# processor:
+# id:
+# vendor: Intel
+# product_family: Xeon
+# processor_number: E5-2650 v3s
+# number_of_cores: 2
+# number_of_threads: None # set `None` when data is not available
+# base_frequency_mhz: 1200
+# max_turbo_frequency_mhz: 3000
+# cache_mb: None
+- name: collect system information from inxi
+ collect:
+ string: "{{ inxi_out.stdout }}"
+ patterns:
+ - '.+\s+Host:\s+(?P<hostname>.+)\sKernel'
+ - '.+\sMemory:\s+(?P<memory>.+MB)\s'
+ - '^CPU\(s\):\s+(?P<cpu>.+)'
+ - '.+\sDistro:\s+(?P<os>.+)'
+ - '.+\sKernel:\s+(?P<kernel>.+)\sConsole'
+ - '.+\s+HDD Total Size:\s+(?P<disk>.+)\s'
+ - '.+\sproduct:\s+(?P<product>.+)\sv'
+ dump: 'inix.log'
+ register: system_info