d197130148
* Use gsutil to configure the logs bucket's lifecycle, which is not in the gc_storage module yet. (See https://cloud.google.com/storage/docs/gsutil_install). * Generate uniq bucket names extended with the build's OS type info as well. * Ignore boto related errors for the gc_storage module. * Use no_log when needed to supress noise/secrets in output Signed-off-by: Bogdan Dobrelya <bdobrelia@mirantis.com>
68 lines
1.8 KiB
YAML
68 lines
1.8 KiB
YAML
---
|
|
- hosts: all
|
|
become: true
|
|
gather_facts: no
|
|
|
|
vars:
|
|
debug: false
|
|
commands:
|
|
- name: timedate_info
|
|
cmd: timedatectl status
|
|
- name: kernel_info
|
|
cmd: uname -r
|
|
- name: docker_info
|
|
cmd: docker info
|
|
- name: ip_info
|
|
cmd: ip -4 -o a
|
|
- name: route_info
|
|
cmd: ip ro
|
|
- name: proc_info
|
|
cmd: ps auxf | grep -v ]$
|
|
- name: systemctl_failed_info
|
|
cmd: systemctl --state=failed --no-pager
|
|
- name: k8s_info
|
|
cmd: kubectl get all --all-namespaces -o wide
|
|
- name: errors_info
|
|
cmd: journalctl -p err --utc --no-pager
|
|
- name: etcd_info
|
|
cmd: etcdctl --debug cluster-health
|
|
|
|
logs:
|
|
- /var/log/syslog
|
|
- /var/log/daemon.log
|
|
- /var/log/kern.log
|
|
- /var/log/dpkg.log
|
|
- /var/log/apt/history.log
|
|
- /var/log/yum.log
|
|
- /var/log/calico/bird/current
|
|
- /var/log/calico/bird6/current
|
|
- /var/log/calico/felix/current
|
|
- /var/log/calico/confd/current
|
|
|
|
tasks:
|
|
- name: Storing commands output
|
|
shell: "{{ item.cmd }} 2>&1 | tee {{ item.name }}"
|
|
register: output
|
|
ignore_errors: true
|
|
with_items: "{{commands}}"
|
|
no_log: True
|
|
|
|
- debug: var=item
|
|
with_items: "{{output.results}}"
|
|
when: debug
|
|
|
|
- name: Fetch results
|
|
fetch: src={{ item.name }} dest=/tmp/collect-info/commands
|
|
with_items: "{{commands}}"
|
|
|
|
- name: Fetch logs
|
|
fetch: src={{ item }} dest=/tmp/collect-info/logs
|
|
with_items: "{{logs}}"
|
|
|
|
- name: Pack results and logs
|
|
local_action: shell GZIP=-9 tar --remove-files -cvzf logs.tar.gz -C /tmp collect-info
|
|
run_once: true
|
|
|
|
- name: Clean up collected command outputs
|
|
file: path={{ item.name }} state=absent
|
|
with_items: "{{commands}}"
|