From 0025eb9444fb2fee81beaf857132919215ecdc2e Mon Sep 17 00:00:00 2001 From: portdirect Date: Sun, 14 Jan 2018 17:16:01 -0500 Subject: [PATCH] Gate: collect host level info This PS adds basic host level log collection to the gate. Change-Id: I5ee3905e134b2d9abdad08121ecb7e257c7165c8 --- .../gather-host-logs/tasks/main.yaml | 36 +++++++++++++++++++ .../playbooks/osh-infra-collect-logs.yaml | 12 ++++++- 2 files changed, 47 insertions(+), 1 deletion(-) create mode 100644 tools/gate/playbooks/gather-host-logs/tasks/main.yaml diff --git a/tools/gate/playbooks/gather-host-logs/tasks/main.yaml b/tools/gate/playbooks/gather-host-logs/tasks/main.yaml new file mode 100644 index 000000000..c6a85dfff --- /dev/null +++ b/tools/gate/playbooks/gather-host-logs/tasks/main.yaml @@ -0,0 +1,36 @@ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +- 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 + 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 diff --git a/tools/gate/playbooks/osh-infra-collect-logs.yaml b/tools/gate/playbooks/osh-infra-collect-logs.yaml index 08ee17d73..71086a24c 100644 --- a/tools/gate/playbooks/osh-infra-collect-logs.yaml +++ b/tools/gate/playbooks/osh-infra-collect-logs.yaml @@ -12,10 +12,20 @@ # See the License for the specific language governing permissions and # limitations under the License. +- hosts: all + vars_files: + - vars.yaml + vars: + work_dir: "{{ zuul.project.src_dir }}/{{ zuul_osh_infra_relative_path | default('') }}" + logs_dir: "/tmp/logs" + roles: + - gather-host-logs + tags: + - gather-host-logs + - hosts: primary vars_files: - vars.yaml - - ../chart-deploys/default.yaml vars: work_dir: "{{ zuul.project.src_dir }}/{{ zuul_osh_infra_relative_path | default('') }}" logs_dir: "/tmp/logs"