From 7f3a2991dd899a0eb169180ca61c4324bc882154 Mon Sep 17 00:00:00 2001
From: Sreejith Punnapuzha <sreejith.punnapuzha@outlook.com>
Date: Thu, 12 Mar 2020 09:14:14 -0500
Subject: [PATCH] [#106] Add Gather logs role

This PS adds role which does the log collection

Change-Id: Id249d87be4e95568659bdd5c6b1a20d279bc5e9f
Signed-off-by: Sreejith Punnapuzha <sreejith.punnapuzha@outlook.com>
---
 playbooks/airship-collect-logs.yaml      |  2 +-
 roles/gather-system-logs/tasks/main.yaml | 26 ++++++++++++++++++++++++
 2 files changed, 27 insertions(+), 1 deletion(-)
 create mode 100644 roles/gather-system-logs/tasks/main.yaml

diff --git a/playbooks/airship-collect-logs.yaml b/playbooks/airship-collect-logs.yaml
index 2285610ed..07b8f2d12 100644
--- a/playbooks/airship-collect-logs.yaml
+++ b/playbooks/airship-collect-logs.yaml
@@ -16,7 +16,7 @@
   vars:
     logs_dir: "/tmp/logs"
   roles:
-    - gather-host-logs
+    - gather-system-logs
     - airship-gather-sushy-logs
     - airship-gather-libvirt-logs
     - airship-gather-runtime-logs
diff --git a/roles/gather-system-logs/tasks/main.yaml b/roles/gather-system-logs/tasks/main.yaml
new file mode 100644
index 000000000..86388254a
--- /dev/null
+++ b/roles/gather-system-logs/tasks/main.yaml
@@ -0,0 +1,26 @@
+- name: "creating directory for system status"
+  file:
+    path: "{{ logs_dir }}/system"
+    state: directory
+
+- name: "Get logs for each host"
+  become: yes
+  shell: |-
+          set -x
+          systemd-cgls --full --all --no-pager > {{ logs_dir }}/system/systemd-cgls.txt
+          ip addr > {{ logs_dir }}/system/ip-addr.txt
+          ip route > {{ logs_dir }}/system/ip-route.txt
+          lsblk > {{ logs_dir }}/system/lsblk.txt
+          mount > {{ logs_dir }}/system/mount.txt
+          docker images > {{ logs_dir }}/system/docker-images.txt
+          ps aux --sort=-%mem > {{ logs_dir }}/system/ps.txt
+  args:
+    executable: /bin/bash
+  ignore_errors: True
+
+- name: "Downloads logs to executor"
+  synchronize:
+    src: "{{ logs_dir }}/system"
+    dest: "{{ zuul.executor.log_root }}/{{ inventory_hostname }}"
+    mode: pull
+  ignore_errors: True