Allow to enable atop

It may be required to troubleshoot performance related bugs during
tests exection, to have ability to inspect environment processes
and theirs status during test run this patch installs atop
by default if not explicitly disabled.

Related-Bug: #2095224

Change-Id: Iedbd61f3ce3cd2255ea5f2a7a93ba2f39ad28ff2
This commit is contained in:
Vasyl Saienko 2025-01-18 08:40:51 +00:00
parent 3cddf9f883
commit 1aac81ee88
4 changed files with 61 additions and 0 deletions

View File

@ -357,6 +357,7 @@
'{{ devstack_conf_dir }}/.localrc.auto': logs
'{{ devstack_conf_dir }}/.stackenv': logs
'{{ devstack_log_dir }}/dstat-csv.log': logs
'{{ devstack_log_dir }}/atop': logs
'{{ devstack_log_dir }}/devstacklog.txt': logs
'{{ devstack_log_dir }}/devstacklog.txt.summary': logs
'{{ devstack_log_dir }}/tcpdump.pcap': logs

48
lib/atop Normal file
View File

@ -0,0 +1,48 @@
#!/bin/bash
#
# lib/atop
# Functions to start and stop atop
# Dependencies:
#
# - ``functions`` file
# ``stack.sh`` calls the entry points in this order:
#
# - configure_atop
# - install_atop
# - start_atop
# - stop_atop
# Save trace setting
_XTRACE_ATOP=$(set +o | grep xtrace)
set +o xtrace
function configure_atop {
cat <<EOF | sudo tee /etc/default/atop >/dev/null
# /etc/default/atop
# see man atoprc for more possibilities to configure atop execution
LOGOPTS="-R"
LOGINTERVAL=${ATOP_LOGINTERVAL:-"30"}
LOGGENERATIONS=${ATOP_LOGGENERATIONS:-"1"}
LOGPATH=$LOGDIR/atop
EOF
}
function install_atop {
install_package atop
}
# start_() - Start running processes
function start_atop {
start_service atop
}
# stop_atop() stop atop process
function stop_atop {
stop_service atop
}
# Restore xtrace
$_XTRACE_ATOP

View File

@ -641,6 +641,7 @@ source $TOP_DIR/lib/swift
source $TOP_DIR/lib/neutron
source $TOP_DIR/lib/ldap
source $TOP_DIR/lib/dstat
source $TOP_DIR/lib/atop
source $TOP_DIR/lib/tcpdump
source $TOP_DIR/lib/etcd3
source $TOP_DIR/lib/os-vif
@ -1093,6 +1094,12 @@ save_stackenv $LINENO
# A better kind of sysstat, with the top process per time slice
start_dstat
if is_service_enabled atop; then
configure_atop
install_atop
start_atop
fi
# Run a background tcpdump for debugging
# Note: must set TCPDUMP_ARGS with the enabled service
if is_service_enabled tcpdump; then

View File

@ -73,6 +73,7 @@ source $TOP_DIR/lib/swift
source $TOP_DIR/lib/neutron
source $TOP_DIR/lib/ldap
source $TOP_DIR/lib/dstat
source $TOP_DIR/lib/atop
source $TOP_DIR/lib/etcd3
# Extras Source
@ -174,6 +175,10 @@ fi
stop_dstat
if is_service_enabled atop; then
stop_atop
fi
# NOTE: Cinder automatically installs the lvm2 package, independently of the
# enabled backends. So if Cinder is enabled, and installed successfully we are
# sure lvm2 (lvremove, /etc/lvm/lvm.conf, etc.) is here.