3 # This script will test next vol algo with
8 TestName="next-vol-test"
13 scripts/copy-tape-confs
14 cp scripts/bacula-dir-vtape.conf bin/bacula-dir.conf
15 cp scripts/bacula-sd-vtape.conf bin/bacula-sd.conf
16 scripts/prepare-fake-autochanger
21 cat <<EOF > ${cwd}/tmp/bconcmds
22 @$out ${cwd}/tmp/log.out
23 label barcodes storage=LTO3 slots=47-59 drive=0 pool=Scratch
25 update volume=vol47 pool=Test inchanger=no RecyclePool=Test
26 update volume=vol59 pool=Test enabled=no
27 update volume=vol58 pool=Test volstatus=Recycle
29 update volume=vol56 pool=Test
30 update volume=vol55 pool=Test volstatus=Full volretention=15
31 update volume=vol54 volstatus=Recycle
33 update volume=vol52 MaxVolJobs=1
34 update volume=vol51 inchanger=no volstatus=Recycle
36 update volume=vol50 inchanger=no
37 update volume=vol49 inchanger=no
38 update volume=vol48 inchanger=no pool=Test
39 update volume AllFromPool=Test
41 update Media SET VolJobs=1 WHERE VolumeName='vol52';
42 update Media SET LastWritten='2006-01-01 01:00:00';
49 echo $PWD/build/po > tmp/file-list
51 cat <<EOF > ${cwd}/tmp/bconcmds
52 @$out ${cwd}/tmp/log2.out
55 run level=full pool=Test NightlySave yes
60 run level=full pool=Test NightlySave yes
65 run level=full pool=Test NightlySave yes
70 run level=full pool=Test NightlySave yes
75 run level=full pool=Test NightlySave yes
80 run level=full pool=Test NightlySave yes
85 run level=full pool=Test NightlySave yes
89 restore fileset="Full Set" pool=Test where=${cwd}/tmp/bacula-restores select all done
96 @#run level=full pool=Test NightlySave yes
104 check_for_zombie_jobs storage=LTO3
107 cp tmp/log2.out tmp/log1.out
111 awk '/Must choose/ { print $4 } ' tmp/log2.out > tmp/normal
112 awk '/Volume name.+:/ { print $3 } ' tmp/log2.out > tmp/real
113 diff tmp/normal tmp/real > /dev/null
117 # try to break the old code
118 # in this situation, we have 1 available volume (vol50) and bacula will try to use
119 # vol47, vol48 and vol49 and will stop without using vol50.
121 cat <<EOF > ${cwd}/tmp/bconcmds
122 @$out ${cwd}/tmp/log2.out
123 update volume=vol47 pool=Test VolStatus=Used VolRetention=10s inchanger=no RecyclePool=Test
124 update volume=vol48 pool=Test VolStatus=Used VolRetention=10s inchanger=no RecyclePool=Test
125 update volume=vol49 pool=Test VolStatus=Used VolRetention=10s inchanger=no RecyclePool=Test
126 update volume=vol50 pool=Test VolStatus=Used VolRetention=10s inchanger=yes RecyclePool=Test
128 update Media SET LastWritten='2005-01-01 01:00:00' WHERE VolumeName IN ('vol47', 'vol48', 'vol49');
131 run level=full pool=Test NightlySave yes