Replace dstat with dool
Since dstat project was deprecated [1] and forked/renamed we replace dstat with dool to have load graphs in our logs. [1] https://github.com/dstat-real/dstat/issues/170 Change-Id: Ieaa63d09351e031eb96a37bb11307f1a9a4a4ab7
This commit is contained in:
parent
79fc2a604d
commit
107e820967
@ -29,12 +29,6 @@ GATE_EXIT_LOG_COPY="${GATE_EXIT_LOG_COPY:-false}"
|
|||||||
GATE_EXIT_LOG_GZIP="${GATE_EXIT_LOG_GZIP:-true}"
|
GATE_EXIT_LOG_GZIP="${GATE_EXIT_LOG_GZIP:-true}"
|
||||||
GATE_EXIT_RUN_ARA="${GATE_EXIT_RUN_ARA:-true}"
|
GATE_EXIT_RUN_ARA="${GATE_EXIT_RUN_ARA:-true}"
|
||||||
GATE_EXIT_RUN_DSTAT="${GATE_EXIT_RUN_DSTAT:-true}"
|
GATE_EXIT_RUN_DSTAT="${GATE_EXIT_RUN_DSTAT:-true}"
|
||||||
# If this is a gate node from OpenStack-Infra Store all logs into the
|
|
||||||
# execution directory after gate run.
|
|
||||||
if [[ -n "$ZUUL_PROJECT" ]]; then
|
|
||||||
GATE_EXIT_LOG_COPY=true
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
# The default SSHD configuration has MaxSessions = 10. If a deployer changes
|
# The default SSHD configuration has MaxSessions = 10. If a deployer changes
|
||||||
# their SSHD config, then the ANSIBLE_FORKS may be set to a higher number. We
|
# their SSHD config, then the ANSIBLE_FORKS may be set to a higher number. We
|
||||||
@ -159,12 +153,17 @@ function exit_state {
|
|||||||
|
|
||||||
function exit_success {
|
function exit_success {
|
||||||
set +x
|
set +x
|
||||||
|
if [ "$GATE_EXIT_RUN_DSTAT" == true ]; then
|
||||||
|
generate_dstat_charts || true
|
||||||
|
fi
|
||||||
exit_state 0
|
exit_state 0
|
||||||
}
|
}
|
||||||
|
|
||||||
function exit_fail {
|
function exit_fail {
|
||||||
set +x
|
set +x
|
||||||
log_instance_info
|
if [ "$GATE_EXIT_RUN_DSTAT" == true ]; then
|
||||||
|
generate_dstat_charts || true
|
||||||
|
fi
|
||||||
info_block "Error Info - $@"
|
info_block "Error Info - $@"
|
||||||
exit_state 1
|
exit_state 1
|
||||||
}
|
}
|
||||||
@ -204,31 +203,26 @@ function setup_ara {
|
|||||||
|
|
||||||
function run_dstat {
|
function run_dstat {
|
||||||
if [ "$GATE_EXIT_RUN_DSTAT" == true ]; then
|
if [ "$GATE_EXIT_RUN_DSTAT" == true ]; then
|
||||||
case ${DISTRO_ID} in
|
if [[ ! -d /opt/dool ]]; then
|
||||||
rocky|centos|rhel)
|
git clone https://github.com/scottchiefbaker/dool /opt/dool
|
||||||
dnf -y install dstat
|
python3 /opt/dool/install.py
|
||||||
;;
|
fi
|
||||||
ubuntu)
|
|
||||||
apt-get update
|
|
||||||
DEBIAN_FRONTEND=noninteractive apt-get -y install dstat
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
# https://stackoverflow.com/a/20338327 executing in ()& decouples the dstat
|
# https://stackoverflow.com/a/20338327 executing in ()& decouples the dstat
|
||||||
# process from scripts-library to prevent hung builds if dstat fails to exit
|
# process from scripts-library to prevent hung builds if dstat fails to exit
|
||||||
# for any reason.
|
# for any reason.
|
||||||
(dstat -tcmsdn --top-cpu --top-mem --top-bio --nocolor --output /openstack/log/instance-info/dstat.csv \
|
(dool -tcmsdn --top-cpu --top-mem --top-bio --nocolor --output /openstack/log/instance-info/dstat.csv \
|
||||||
< /dev/null > /openstack/log/instance-info/dstat.log 2>&1 &)
|
< /dev/null > /openstack/log/instance-info/dstat.log 2>&1 &)
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
function generate_dstat_charts {
|
function generate_dstat_charts {
|
||||||
kill $(pgrep -f dstat)
|
kill $(pgrep -f dool)
|
||||||
if [[ ! -d /opt/dstat_graph ]]; then
|
if [[ ! -d /opt/dstat_graph ]]; then
|
||||||
git clone https://github.com/Dabz/dstat_graph /opt/dstat_graph
|
git clone https://opendev.org/opendev/dstat_graph /opt/dstat_graph
|
||||||
fi
|
fi
|
||||||
pushd /opt/dstat_graph
|
pushd /opt/dstat_graph
|
||||||
/usr/bin/env bash -e ./generate_page.sh /openstack/log/instance-info/dstat.csv >> /openstack/log/instance-info/dstat.html
|
/usr/bin/env bash -e ./generate_page.sh /openstack/log/instance-info/dstat.csv > /openstack/log/instance-info/dstat.html
|
||||||
popd
|
popd
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user