Skip to content

Commit cd5321a

Browse files
committed
bb.org: fix galera timeout
Buildbot seems to enter systematically in timeout if it is not able to pull logs from the libvirt worker. So, it's mandatory to fetch logs from a readable and browsable (+x) PATH by the buildbot user (/var/log/syslog is not working for instance). Plus use of lazylogfiles that seems cleaner, see https://docs.buildbot.net/current/manual/configuration/steps/shell_command.html.
1 parent 36b08a0 commit cd5321a

File tree

2 files changed

+30
-10
lines changed

2 files changed

+30
-10
lines changed

buildbot.mariadb.org/master-libvirt/master.cfg

+18-2
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ def getRpmUpgradeStep():
111111
descriptionDone=["test", "upgrade"],
112112
env=envFromProperties(['test_mode', 'test_type', 'branch', 'major_version', 'arch', 'systemdCapability', 'is_main_tree', 'version_name']),
113113
command=['./rpm-upgrade.sh'])
114-
114+
115115
def getRpmInstallStep():
116116
return Test(
117117
name="install",
@@ -147,7 +147,23 @@ def getDebGaleraStep(port):
147147
description=["testing", "galera", "SST"],
148148
descriptionDone=["galera", "SST"],
149149
timeout=300,
150-
logfiles={"daemon": "/var/log/daemon.log", "syslog": "/var/log/syslog", "node1": "/var/lib/node1/node1.err", "node2": "/var/lib/node2/node2.err", "node3": "/var/lib/node3/node3.err", "mysqld.1.err": "/home/buildbot/var/log/mysqld.1.err", "mysqld.2.err": "/home/buildbot/var/log/mysqld.2.err", "mysqld.3.err": "/home/buildbot/var/log/mysqld.3.err", "node1.mariabackup.prepare": "/home/buildbot/mariabackup_logs/node1.mariabackup.prepare.log", "node2.mariabackup.prepare": "/home/buildbot/mariabackup_logs/node2.mariabackup.prepare.log", "node3.mariabackup.prepare": "/home/buildbot/mariabackup_logs/node3.mariabackup.prepare.log", "node1.mariabackup.move": "/home/buildbot/mariabackup_logs/node1.mariabackup.move.log", "node2.mariabackup.move": "/home/buildbot/mariabackup_logs/node2.mariabackup.move.log", "node3.mariabackup.move": "/home/buildbot/mariabackup_logs/node3.mariabackup.move.log", "node1.mariabackup.backup": "/home/buildbot/mariabackup_logs/node1.mariabackup.backup.log", "node2.mariabackup.backup": "/home/buildbot/mariabackup_logs/node2.mariabackup.backup.log", "node4.mariabackup.backup": "/home/buildbot/mariabackup_logs/node4.mariabackup.backup.log"},
150+
lazylogfiles=True,
151+
logfiles={
152+
"daemon": "/home/buildbot/logs/daemon.log",
153+
"syslog": "/home/buildbot/logs/syslog",
154+
"node1": "/home/buildbot/logs/node1.err",
155+
"node2": "/home/buildbot/logs/node2.err",
156+
"node3": "/home/buildbot/logs/node3.err",
157+
"node1.mariabackup.prepare": "/home/buildbot/logs/node1.mariabackup.prepare.log",
158+
"node2.mariabackup.prepare": "/home/buildbot/logs/node2.mariabackup.prepare.log",
159+
"node3.mariabackup.prepare": "/home/buildbot/logs/node3.mariabackup.prepare.log",
160+
"node1.mariabackup.move": "/home/buildbot/logs/node1.mariabackup.move.log",
161+
"node2.mariabackup.move": "/home/buildbot/logs/node2.mariabackup.move.log",
162+
"node3.mariabackup.move": "/home/buildbot/logs/node3.mariabackup.move.log",
163+
"node1.mariabackup.backup": "/home/buildbot/logs/node1.mariabackup.backup.log",
164+
"node2.mariabackup.backup": "/home/buildbot/logs/node2.mariabackup.backup.log",
165+
"node4.mariabackup.backup": "/home/buildbot/logs/node4.mariabackup.backup.log"
166+
},
151167
doStepIf=if_run_galera_test,
152168
env=envFromProperties(['version_name', 'master_branch', 'sst_mode', 'arch']),
153169
command=["./deb-galera.sh"]

buildbot.mariadb.org/scripts/deb-galera.sh

+12-8
Original file line numberDiff line numberDiff line change
@@ -14,24 +14,28 @@ set -e
1414
store_logs() {
1515
# Make sure we store all existing logs, whenever we decide to exit game
1616
set +e
17-
mkdir /home/buildbot/sst_logs
17+
mkdir /home/buildbot/logs
18+
for log in /var/log/daemon.log /var/log/syslog; do
19+
[[ -f $log ]] && sudo cp $log /home/buildbot/logs
20+
done
1821
# It looks like buildbot may be enveloping the path into single quotes
1922
# if it has wildcards, as in '/var/lib/node*/node*.err'.
2023
# Trying to get rid of the wildcards
21-
sudo chmod uga+r /var/lib/node1/node1.err /var/lib/node2/node2.err /var/lib/node3/node3.err
22-
sudo cp /var/lib/node1/node1.err /var/lib/node2/node2.err /var/lib/node3/node3.err /home/buildbot/sst_logs
24+
for node in 1 2 3; do
25+
sudo cp /var/lib/node${node}/node${node}.err /home/buildbot/logs
26+
done
2327
if [[ $sst_mode == "mariabackup" ]]; then
24-
mkdir /home/buildbot/sst_logs/mbackup
2528
for node in 1 2 3; do
2629
for log in prepare move backup; do
2730
if [[ -f /var/lib/node${node}/mariabackup.${log}.log ]]; then
28-
sudo cp /var/lib/node${node}/mariabackup.${log}.log /home/buildbot/sst_logs/mbackup/node${node}.mariabackup.${log}.log
31+
sudo cp /var/lib/node${node}/mariabackup.${log}.log /home/buildbot/logs/node${node}.mariabackup.${log}.log
2932
fi
3033
done
3134
done
32-
sudo chown -R buildbot:buildbot /home/buildbot/sst_logs
35+
sudo chown -R buildbot:buildbot /home/buildbot/logs
3336
fi
34-
ls -l /home/buildbot/sst_logs/
37+
sudo chmod -R +r /home/buildbot/logs
38+
ls -l /home/buildbot/logs
3539
}
3640

3741
# function to be able to run the script manually (see bash_lib.sh)
@@ -281,7 +285,7 @@ done
281285

282286
bb_log_info "stop cluster"
283287
sudo killall -s 9 mariadbd || true
284-
sleep 1
288+
sudo killall -s 9 mysqld || true
285289
sudo killall -s 9 mysqld_safe || true
286290

287291
bb_log_ok "all done"

0 commit comments

Comments
 (0)