Merge pull request #406 from bogdando/collect_info
Add a diagnostic info collect playbook
This commit is contained in:
commit
6a457720a4
2 changed files with 73 additions and 0 deletions
|
@ -131,6 +131,8 @@ script:
|
||||||
- $HOME/.local/bin/ansible-playbook -i inventory/inventory.ini -u $SSH_USER -e ansible_ssh_user=$SSH_USER $SSH_ARGS -b --become-user=root tests/testcases/020_check-create-pod.yml $LOG_LEVEL
|
- $HOME/.local/bin/ansible-playbook -i inventory/inventory.ini -u $SSH_USER -e ansible_ssh_user=$SSH_USER $SSH_ARGS -b --become-user=root tests/testcases/020_check-create-pod.yml $LOG_LEVEL
|
||||||
## Ping the between 2 pod
|
## Ping the between 2 pod
|
||||||
- $HOME/.local/bin/ansible-playbook -i inventory/inventory.ini -u $SSH_USER -e ansible_ssh_user=$SSH_USER $SSH_ARGS -b --become-user=root tests/testcases/030_check-network.yml $LOG_LEVEL
|
- $HOME/.local/bin/ansible-playbook -i inventory/inventory.ini -u $SSH_USER -e ansible_ssh_user=$SSH_USER $SSH_ARGS -b --become-user=root tests/testcases/030_check-network.yml $LOG_LEVEL
|
||||||
|
## Collect env info, enable it once GCS configured, see https://docs.travis-ci.com/user/deployment/gcs
|
||||||
|
# - $HOME/.local/bin/ansible-playbook -i inventory/inventory.ini -u $SSH_USER -e ansible_ssh_user=$SSH_USER $SSH_ARGS -b --become-user=root scritps/collect-info.yaml
|
||||||
|
|
||||||
after_script:
|
after_script:
|
||||||
- >
|
- >
|
||||||
|
|
71
scripts/collect-info.yaml
Normal file
71
scripts/collect-info.yaml
Normal file
|
@ -0,0 +1,71 @@
|
||||||
|
---
|
||||||
|
- hosts: all
|
||||||
|
become: true
|
||||||
|
gather_facts: no
|
||||||
|
|
||||||
|
vars:
|
||||||
|
debug: false
|
||||||
|
commands:
|
||||||
|
- name: git_info
|
||||||
|
cmd: cat {kargo,.}/.git/logs/HEAD
|
||||||
|
- name: timedate_info
|
||||||
|
cmd: timedatectl status
|
||||||
|
- name: boots_info
|
||||||
|
cmd: journalctl --list-boots --utc --no-pager
|
||||||
|
- name: space_info
|
||||||
|
cmd: df -h
|
||||||
|
- name: kernel_info
|
||||||
|
cmd: uname -r
|
||||||
|
- name: distro_info
|
||||||
|
cmd: cat /etc/issue.net
|
||||||
|
- 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_info
|
||||||
|
cmd: systemctl status
|
||||||
|
- name: k8s_info
|
||||||
|
cmd: kubectl get all --all-namespaces -o wide
|
||||||
|
- name: k8s_dump_info
|
||||||
|
cmd: kubectl get all --all-namespaces -o yaml
|
||||||
|
- name: errors_info
|
||||||
|
cmd: journalctl -p err --utc --no-pager
|
||||||
|
|
||||||
|
logs:
|
||||||
|
- /var/log/ansible.log
|
||||||
|
- /var/log/ansible/ansible.log
|
||||||
|
- /var/log/syslog
|
||||||
|
- /var/log/daemon.log
|
||||||
|
- /var/log/kern.log
|
||||||
|
- inventory/inventory.ini
|
||||||
|
- cluster.yml
|
||||||
|
- kargo/kargo_default_ubuntu.yaml
|
||||||
|
- kargo/kargo_default_debian.yaml
|
||||||
|
- kargo/kargo_default_common.yaml
|
||||||
|
- kargo/inventory/inventory.cfg
|
||||||
|
|
||||||
|
tasks:
|
||||||
|
- name: Storing commands output
|
||||||
|
shell: "{{ item.cmd }} 2>&1 | tee {{ item.name }}"
|
||||||
|
register: output
|
||||||
|
ignore_errors: true
|
||||||
|
with_items: "{{commands}}"
|
||||||
|
|
||||||
|
- 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 cvzf logs.tar.gz -C /tmp collect-info
|
Loading…
Reference in a new issue