Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
systemtests: add reload-works-on-adding-uncommented-string
- Loading branch information
Showing
21 changed files
with
319 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
8 changes: 8 additions & 0 deletions
8
...load-works-on-adding-uncommented-string/etc/bareos/bareos-dir.d/catalog/MyCatalog.conf.in
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
Catalog { | ||
Name = MyCatalog | ||
#dbdriver = "@DEFAULT_DB_TYPE@" | ||
dbdriver = "XXX_REPLACE_WITH_DATABASE_DRIVER_XXX" | ||
dbname = "@db_name@" | ||
dbuser = "@db_user@" | ||
dbpassword = "@db_password@" | ||
} |
7 changes: 7 additions & 0 deletions
7
...eload-works-on-adding-uncommented-string/etc/bareos/bareos-dir.d/client/bareos-fd.conf.in
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
Client { | ||
Name = bareos-fd | ||
Description = "Client resource of the Director itself." | ||
Address = localhost | ||
Password = "@fd_password@" # password for FileDaemon | ||
FD PORT = @fd_port@ | ||
} |
7 changes: 7 additions & 0 deletions
7
...oad-works-on-adding-uncommented-string/etc/bareos/bareos-dir.d/console/bareos-mon.conf.in
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
Console { | ||
Name = bareos-mon | ||
Description = "Restricted console used by tray-monitor to get the status of the director." | ||
Password = "@mon_dir_password@" | ||
CommandACL = status, .status | ||
JobACL = *all* | ||
} |
27 changes: 27 additions & 0 deletions
27
...ad-works-on-adding-uncommented-string/etc/bareos/bareos-dir.d/director/bareos-dir.conf.in
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
Director { # define myself | ||
Name = bareos-dir | ||
QueryFile = "@scriptdir@/query.sql" | ||
Maximum Concurrent Jobs = 10 | ||
Password = "@dir_password@" # Console password | ||
Messages = Daemon | ||
Auditing = yes | ||
|
||
# Enable the Heartbeat if you experience connection losses | ||
# (eg. because of your router or firewall configuration). | ||
# Additionally the Heartbeat can be enabled in bareos-sd and bareos-fd. | ||
# | ||
# Heartbeat Interval = 1 min | ||
|
||
# remove comment in next line to load dynamic backends from specified directory | ||
Backend Directory = @backenddir@ | ||
|
||
# remove comment from "Plugin Directory" to load plugins from specified directory. | ||
# if "Plugin Names" is defined, only the specified plugins will be loaded, | ||
# otherwise all director plugins (*-dir.so) from the "Plugin Directory". | ||
# | ||
# Plugin Directory = "@python_plugin_module_src_dir@" | ||
# Plugin Names = "" | ||
Working Directory = "@working_dir@" | ||
Pid Directory = "@piddir@" | ||
DirPort = @dir_port@ | ||
} |
11 changes: 11 additions & 0 deletions
11
...reload-works-on-adding-uncommented-string/etc/bareos/bareos-dir.d/fileset/Catalog.conf.in
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
FileSet { | ||
Name = "Catalog" | ||
Description = "Backup the catalog dump and Bareos configuration files." | ||
Include { | ||
Options { | ||
signature = MD5 | ||
} | ||
File = "@working_dir@/@db_name@.sql" # database dump | ||
File = "@confdir@" # configuration | ||
} | ||
} |
11 changes: 11 additions & 0 deletions
11
...eload-works-on-adding-uncommented-string/etc/bareos/bareos-dir.d/fileset/SelfTest.conf.in
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
FileSet { | ||
Name = "SelfTest" | ||
Description = "fileset just to backup some files for selftest" | ||
Include { | ||
Options { | ||
Signature = MD5 # calculate md5 checksum per file | ||
} | ||
#File = "@sbindir@" | ||
File=<@tmpdir@/file-list | ||
} | ||
} |
20 changes: 20 additions & 0 deletions
20
...load-works-on-adding-uncommented-string/etc/bareos/bareos-dir.d/job/BackupCatalog.conf.in
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
Job { | ||
Name = "BackupCatalog" | ||
Description = "Backup the catalog database (after the nightly save)" | ||
JobDefs = "DefaultJob" | ||
Level = Full | ||
FileSet="Catalog" | ||
|
||
# This creates an ASCII copy of the catalog | ||
# Arguments to make_catalog_backup.pl are: | ||
# make_catalog_backup.pl <catalog-name> | ||
RunBeforeJob = "@scriptdir@/make_catalog_backup.pl MyCatalog" | ||
|
||
# This deletes the copy of the catalog | ||
RunAfterJob = "@scriptdir@/delete_catalog_backup" | ||
|
||
# This sends the bootstrap via mail for disaster recovery. | ||
# Should be sent to another system, please change recipient accordingly | ||
Write Bootstrap = "|@bindir@/bsmtp -h @smtp_host@ -f \"\(Bareos\) \" -s \"Bootstrap for Job %j\" @job_email@" # (#01) | ||
Priority = 11 # run after main backup | ||
} |
11 changes: 11 additions & 0 deletions
11
...eload-works-on-adding-uncommented-string/etc/bareos/bareos-dir.d/job/RestoreFiles.conf.in
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
Job { | ||
Name = "RestoreFiles" | ||
Description = "Standard Restore template. Only one such job is needed for all standard Jobs/Clients/Storage ..." | ||
Type = Restore | ||
Client = bareos-fd | ||
FileSet = SelfTest | ||
Storage = File | ||
Pool = Incremental | ||
Messages = Standard | ||
Where = @tmp@/bareos-restores | ||
} |
5 changes: 5 additions & 0 deletions
5
...d-works-on-adding-uncommented-string/etc/bareos/bareos-dir.d/job/backup-bareos-fd.conf.in
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
Job { | ||
Name = "backup-bareos-fd" | ||
JobDefs = "DefaultJob" | ||
Client = "bareos-fd" | ||
} |
15 changes: 15 additions & 0 deletions
15
...oad-works-on-adding-uncommented-string/etc/bareos/bareos-dir.d/jobdefs/DefaultJob.conf.in
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
JobDefs { | ||
Name = "DefaultJob" | ||
Type = Backup | ||
Level = Incremental | ||
Client = bareos-fd | ||
FileSet = "SelfTest" | ||
Storage = File | ||
Messages = Standard | ||
Pool = Incremental | ||
Priority = 10 | ||
Write Bootstrap = "@working_dir@/%c.bsr" | ||
Full Backup Pool = Full # write Full Backups into "Full" Pool | ||
Differential Backup Pool = Differential # write Diff Backups into "Differential" Pool | ||
Incremental Backup Pool = Incremental # write Incr Backups into "Incremental" Pool | ||
} |
7 changes: 7 additions & 0 deletions
7
...reload-works-on-adding-uncommented-string/etc/bareos/bareos-dir.d/messages/Daemon.conf.in
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
Messages { | ||
Name = Daemon | ||
Description = "Message delivery for daemon messages (no job)." | ||
console = all, !skipped, !saved, !audit | ||
append = "@logdir@/bareos.log" = all, !skipped, !audit | ||
append = "@logdir@/bareos-audit.log" = audit | ||
} |
7 changes: 7 additions & 0 deletions
7
...load-works-on-adding-uncommented-string/etc/bareos/bareos-dir.d/messages/Standard.conf.in
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
Messages { | ||
Name = Standard | ||
Description = "Reasonable message delivery -- send most everything to email address and to the console." | ||
console = all, !skipped, !saved, !audit | ||
append = "@logdir@/bareos.log" = all, !skipped, !saved, !audit | ||
catalog = all, !skipped, !saved, !audit | ||
} |
10 changes: 10 additions & 0 deletions
10
.../reload-works-on-adding-uncommented-string/etc/bareos/bareos-dir.d/pool/Differential.conf
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
Pool { | ||
Name = Differential | ||
Pool Type = Backup | ||
Recycle = yes # Bareos can automatically recycle Volumes | ||
AutoPrune = yes # Prune expired volumes | ||
Volume Retention = 90 days # How long should the Differential Backups be kept? (#09) | ||
Maximum Volume Bytes = 10G # Limit Volume size to something reasonable | ||
Maximum Volumes = 100 # Limit number of Volumes in Pool | ||
Label Format = "Differential-" # Volumes will be labeled "Differential-<volume-id>" | ||
} |
10 changes: 10 additions & 0 deletions
10
...ts/tests/reload-works-on-adding-uncommented-string/etc/bareos/bareos-dir.d/pool/Full.conf
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
Pool { | ||
Name = Full | ||
Pool Type = Backup | ||
Recycle = yes # Bareos can automatically recycle Volumes | ||
AutoPrune = yes # Prune expired volumes | ||
Volume Retention = 365 days # How long should the Full Backups be kept? (#06) | ||
Maximum Volume Bytes = 50G # Limit Volume size to something reasonable | ||
Maximum Volumes = 100 # Limit number of Volumes in Pool | ||
Label Format = "Full-" # Volumes will be labeled "Full-<volume-id>" | ||
} |
10 changes: 10 additions & 0 deletions
10
...s/reload-works-on-adding-uncommented-string/etc/bareos/bareos-dir.d/pool/Incremental.conf
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
Pool { | ||
Name = Incremental | ||
Pool Type = Backup | ||
Recycle = yes # Bareos can automatically recycle Volumes | ||
AutoPrune = yes # Prune expired volumes | ||
Volume Retention = 30 days # How long should the Incremental Backups be kept? (#12) | ||
Maximum Volume Bytes = 1G # Limit Volume size to something reasonable | ||
Maximum Volumes = 100 # Limit number of Volumes in Pool | ||
Label Format = "Incremental-" # Volumes will be labeled "Incremental-<volume-id>" | ||
} |
4 changes: 4 additions & 0 deletions
4
...tests/reload-works-on-adding-uncommented-string/etc/bareos/bareos-dir.d/pool/Scratch.conf
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
Pool { | ||
Name = Scratch | ||
Pool Type = Scratch | ||
} |
18 changes: 18 additions & 0 deletions
18
...s/reload-works-on-adding-uncommented-string/etc/bareos/bareos-dir.d/profile/operator.conf
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
Profile { | ||
Name = operator | ||
Description = "Profile allowing normal Bareos operations." | ||
|
||
Command ACL = !.bvfs_clear_cache, !.exit, !.sql | ||
Command ACL = !configure, !create, !delete, !purge, !prune, !sqlquery, !umount, !unmount | ||
Command ACL = *all* | ||
|
||
Catalog ACL = *all* | ||
Client ACL = *all* | ||
FileSet ACL = *all* | ||
Job ACL = *all* | ||
Plugin Options ACL = *all* | ||
Pool ACL = *all* | ||
Schedule ACL = *all* | ||
Storage ACL = *all* | ||
Where ACL = *all* | ||
} |
8 changes: 8 additions & 0 deletions
8
...ts/reload-works-on-adding-uncommented-string/etc/bareos/bareos-dir.d/storage/File.conf.in
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
Storage { | ||
Name = File | ||
Address = @hostname@ # N.B. Use a fully qualified name here (do not use "localhost" here). | ||
Password = "@sd_password@" | ||
Device = FileStorage | ||
Media Type = File | ||
SD Port = @sd_port@ | ||
} |
10 changes: 10 additions & 0 deletions
10
systemtests/tests/reload-works-on-adding-uncommented-string/etc/bareos/bconsole.conf.in
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
# | ||
# Bareos User Agent (or Console) Configuration File | ||
# | ||
|
||
Director { | ||
Name = @basename@-dir | ||
DIRport = @dir_port@ | ||
address = @hostname@ | ||
Password = "@dir_password@" | ||
} |
112 changes: 112 additions & 0 deletions
112
systemtests/tests/reload-works-on-adding-uncommented-string/testrunner
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,112 @@ | ||
#!/bin/sh | ||
# | ||
#set -x | ||
#trap read debug | ||
|
||
TestName="$(basename "$(pwd)")" | ||
|
||
export TestName | ||
export estat | ||
|
||
# shellcheck disable=SC1091 | ||
. ./environment | ||
. ${scripts}/functions | ||
|
||
temporary_config_file="$config_directory_dir_additional_test_config/uncommented_string.conf" | ||
bconsole_command_file="$tmp/bconsole_reload_command" | ||
console_logfile="$tmp/console.log" | ||
|
||
director_debug_level="" | ||
#director_debug_level="-d 200" | ||
|
||
exit_with_error() { | ||
echo "$1" | ||
estat=1 | ||
end_test | ||
exit 1 | ||
} | ||
|
||
stop_director() { | ||
"${scripts}/bareos-ctl-dir" stop | ||
if [ -n "$(pidof bareos-dir)" ]; then | ||
killall -SIGKILL "$(pidof bareos-dir)" | ||
fi | ||
if [ -n "$(pidof bareos-dir)" ]; then | ||
exit_with_error "Bareos director could not be stopped" | ||
fi | ||
} | ||
|
||
start_director() { | ||
"${scripts}/bareos-ctl-dir" start "$director_debug_level" | ||
director_pid=$(pidof bareos-dir) | ||
|
||
if [ -z "$director_pid" ]; then | ||
exit_with_error "Bareos director could not be started" | ||
fi | ||
} | ||
|
||
create_console_command_file() { | ||
if [ ! -f "$bconsole_command_file" ]; then | ||
cat > "$bconsole_command_file" <<EOF | ||
@$out "$console_logfile" | ||
reload | ||
messages | ||
EOF | ||
fi | ||
} | ||
|
||
test_reload_will_not_crash_director() { | ||
create_console_command_file | ||
|
||
"$bin"/bconsole -c "$conf"/bconsole.conf < "$bconsole_command_file" 2>&1 >> /dev/null | ||
if [ $? != 0 ] ; then | ||
exit_with_error "BConsole finished with errors" | ||
fi | ||
|
||
if ! ps $director_pid > /dev/null; then | ||
exit_with_error "Bareos director should not stop after reload" | ||
fi | ||
} | ||
|
||
find_error_string_in_console_log() { | ||
err='This is an uncommented string that causes a config abort.' | ||
if ! grep -q "$err" "$console_logfile"; then | ||
exit_with_error "Could not find error string in console output" | ||
fi | ||
} | ||
|
||
add_uncommented_string_to_config() { | ||
cat <<END_OF_DATA > "$temporary_config_file" | ||
This is an uncommented string that causes a config abort. | ||
END_OF_DATA | ||
} | ||
|
||
remove_console_logfile() { | ||
rm -f "$console_logfile" | ||
} | ||
|
||
############################################ | ||
start_test | ||
############################################ | ||
|
||
#be sure no director is started | ||
stop_director | ||
|
||
#cleanup possible leftover from last run | ||
${scripts}/cleanup | ||
remove_console_logfile | ||
|
||
${scripts}/setup | ||
start_director | ||
|
||
#reload modified config | ||
add_uncommented_string_to_config | ||
test_reload_will_not_crash_director | ||
find_error_string_in_console_log | ||
|
||
stop_director | ||
|
||
############################################ | ||
end_test | ||
############################################ | ||
|