Run atop for monitoring deployment

Use atop[1] tool to monitor the whole job process.
Atop generates binary output that could be downloaded
and then investigated locally.
Using atop -r /path/to/atop.bin you can read the file
and by pressing "t" to move 10 seconds futher or by
pressing "b" to jump to specific time in job and to see
what happened on host in this time. It allows to track
all resources in specific time.
It allows also tracking of containers separately.
For more info you can visit the site[1]
If atop installation fails it shouldn't fail the job,
so ignore_errors is added.
Currently it's for undercloud in OVB and all nodes in
multinode.

[1] https://www.atoptool.nl/

Change-Id: I7e17db3e376218f620a18db7ea7ca82d7578f618
Depends-On: Ibcdcfb4d8c5c94e1a06c7e635b0b6778ad318094
This commit is contained in:
Sagi Shnaidman 2018-11-03 01:25:39 +02:00
parent 4004b7f901
commit 5215572299
6 changed files with 27 additions and 1 deletions

View File

@ -25,6 +25,12 @@
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
become: true
- name: Run atop on overcloud node if configured
include_role:
name: undercloud-setup
tasks_from: atop
tags:
- undercloud-setup

View File

@ -13,7 +13,7 @@
- name: Setup the undercloud
hosts: undercloud
gather_facts: no
gather_facts: yes
vars:
ansible_user: root
roles:

View File

@ -8,6 +8,7 @@ artcl_collect_list:
- /var/lib/oooq-images/*/*.sh
- /var/lib/pacemaker/cib/cib*
- /var/lib/pacemaker/pengine/pe-input*
- /var/log/atop*
- /var/log/dmesg.txt
- /var/log/host_info.txt
- /var/log/journal.txt

View File

@ -39,3 +39,4 @@ undercloud_ara_version: 0.15.0
# NOTE(rfolco): do not configure ara on undercloud until we pin ara deps to
# each branch - https://bugs.launchpad.net/tripleo/+bug/1792622
undercloud_ara: false
install_atop: true

View File

@ -0,0 +1,16 @@
- when: install_atop|bool
ignore_errors: true
become: true
block:
# Run atop in background
- name: Install atop if configured so
shell: |
source /etc/ci/mirror_info.sh
atop_location=$(repoquery --repoid=osepel --repofrompath=osepel,$NODEPOOL_EPEL_MIRROR/7/x86_64/ --location atop)
{{ ansible_pkg_mgr }} install -y $atop_location
- name: Run atop
shell: atop -R -w /var/log/atop.bin &
async: 0
poll: 0

View File

@ -1,5 +1,7 @@
---
# tasks file for undercloud-setup
- name: Run atop for monitoring
include: atop.yml
# Add a non-root user
- name: Including non_root_user_setup tasks list