]> git.sur5r.net Git - bacula/bacula/blob - regress/tests/four-drive-test
Big backport from Enterprise
[bacula/bacula] / regress / tests / four-drive-test
1 #!/bin/sh
2 #
3 # Copyright (C) 2000-2017 Kern Sibbald
4 # License: BSD 2-Clause; see file LICENSE-FOSS
5 #
6 # This script is used to test multiple devices grouped in
7 # the director configuration
8 #
9 #
10 TestName="four-drive-test"
11 JobName=backup
12 . scripts/functions
13
14 scripts/cleanup
15 scripts/copy-4disk-confs
16 scripts/prepare-disk-changer
17
18 echo "s/signature=MD5/signature=MD5; readfifo=yes/" > $tmp/1
19 echo "s/FileStorage/FileStorage; Device=FileStorage2; Device=FileStorage3; Device=FileStorage4/" >> $tmp/1
20 sed -f $tmp/1 $conf/bacula-dir.conf > $tmp/2 
21 # Allow auto label 
22 $bperl -e 'add_attribute("$tmp/2", "Label Format", "Vol", "Pool", "Default")'
23 $bperl -e 'add_attribute("$tmp/2", "Label Format", "Vol", "Pool", "Inc")'
24 $bperl -e 'add_attribute("$conf/bacula-sd.conf", "Label Media", "yes", "Device")'
25
26 # set this to do round robin
27 $bperl -e 'set_maximum_concurrent_jobs("$conf/bacula-sd.conf", 8, "Device")'
28
29 # Disable spooling for each job
30 $bperl -e 'add_attribute("$tmp/2", "SpoolData",    "no",  "Job")'
31 cp $tmp/2 $conf/bacula-dir.conf
32
33 $bperl -e 'extract_resource("$conf/bacula-sd.conf", "Device", "FileStorage")' > $tmp/2
34 for i in 2 3 4; do
35     sed "s/FileStorage/FileStorage$i/" $tmp/2 >> $conf/bacula-sd.conf
36 done
37
38 disable_plugins
39
40 echo "$cwd/build/src/dird/" >${cwd}/tmp/file-list
41
42 change_jobname $JobName
43 start_test
44
45 # test with autolabel
46 #
47 #
48 # Write out bconsole commands
49 cat <<END_OF_DATA >${cwd}/tmp/bconcmds
50 @out /dev/null
51 messages
52 @#setdebug level=150 storage=Virtual
53 @$out ${cwd}/tmp/log1.out
54 run level=full job=backup storage=Virtual pool=Default yes
55 run level=full job=backup storage=Virtual pool=Default yes
56 run level=full job=backup storage=Virtual pool=Default yes
57 run level=full job=backup storage=Virtual pool=Default yes
58 run level=full job=backup storage=Virtual pool=Inc yes
59 @#run level=full job=backup storage=Virtual pool=Default yes
60 @#run level=full job=backup storage=Virtual pool=Default yes
61 @#run level=full job=backup storage=Virtual pool=Default yes
62 @#run level=full job=backup storage=Virtual pool=Default yes
63 @#run level=full job=backup storage=Virtual pool=Default yes
64 @#run level=full job=backup storage=Virtual pool=Default yes
65 @#run level=full job=backup storage=Virtual pool=Default yes
66 @#run level=full job=backup storage=Virtual pool=Default yes
67 @#run level=full job=backup storage=Virtual pool=Inc yes
68 @#run level=full job=backup storage=Virtual pool=Inc yes
69 @sleep 3
70 status dir
71 messages
72 wait
73 messages
74 status storage=Virtual
75 quit
76 END_OF_DATA
77
78 run_bacula
79
80 check_for_zombie_jobs storage=File
81 check_for_zombie_jobs storage=tape
82 stop_bacula
83
84 touch $tmp/log2.out
85 check_two_logs
86 #check_restore_diff
87
88 end_test