]> git.sur5r.net Git - bacula/bacula/commitdiff
Add a new recycle test
authorKern Sibbald <kern@sibbald.com>
Sat, 7 Jul 2007 14:16:48 +0000 (14:16 +0000)
committerKern Sibbald <kern@sibbald.com>
Sat, 7 Jul 2007 14:16:48 +0000 (14:16 +0000)
git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@5127 91ce42f0-d328-0410-95d8-f526ca767f89

regress/all-non-root-tests
regress/scripts/bacula-dir-tape.conf.in
regress/tests/migration-job-test
regress/tests/three-pool-recycle-test [new file with mode: 0755]

index 2459a0c746937a6223168e21f1e38ec72f13f738..4a3efeb7e93b7911f7d94dbe6a80ec6e7a9ac59f 100755 (executable)
@@ -51,6 +51,7 @@ nice tests/hardlink-test
 nice tests/tls-test
 # 
 # The following are Virtual Disk Autochanger tests
+nice tests/three-pool-recycle-test
 nice tests/two-pool-test
 nice tests/fast-two-pool-test
 nice tests/two-volume-test
index f62935592918b7a3498bfb6aa1d5ae0643b3078f..34c7bdcfb3c84d3dd0190a8118a90ece53cff735 100644 (file)
@@ -236,4 +236,5 @@ Pool {
   Recycle = yes                       # Bacula can automatically recycle Volumes
   AutoPrune = yes                     # Prune expired volumes
   Volume Retention = 365d             # one year
+  Recycle Pool = Scratch              # recycle back here
 }
index 5600afb093ea30f8661ef5ea5c8efbc9f12f5b28..9661a60f8e657c660975c24a2ef344641571448b 100755 (executable)
@@ -29,6 +29,7 @@ cat <<END_OF_DATA >tmp/bconcmds
 @output
 messages
 @$out tmp/log1.out
+setdebug level=100 storage=File
 label storage=File volume=FileVolume001 Pool=Default
 label storage=DiskChanger volume=ChangerVolume001 slot=1 Pool=Full drive=0
 label storage=DiskChanger volume=ChangerVolume002 slot=2 Pool=Full drive=0
@@ -40,7 +41,7 @@ list jobs
 list volumes
 @#setdebug level=100 dir
 @# should migrate two jobs
-setdebug level=51 storage=DiskChanger
+@#setdebug level=51 storage=DiskChanger
 run job=migrate-job yes
 wait
 messages
diff --git a/regress/tests/three-pool-recycle-test b/regress/tests/three-pool-recycle-test
new file mode 100755 (executable)
index 0000000..7f1557a
--- /dev/null
@@ -0,0 +1,106 @@
+#!/bin/sh
+#
+# This is Arno's test.  It uses three pools, three tapes, and
+#  an autochanger. Note, the Director has four Pools in its 
+#  conf:  Default, Full, Inc, and Scratch.  Default is used in the
+#  NightlySave job by default.  What is backed up is what
+#  is in /tmp/file-list, which is by default the Bacula
+#  source code (i.e. the build directory).
+#
+#  Note, we use the virtual disk autochanger.
+#
+TestName="three-pool-recycle-test"
+JobName=Three-pool-recycle
+. scripts/functions
+
+cwd=`pwd`
+scripts/cleanup
+scripts/copy-2disk-confs
+scripts/prepare-two-disks
+
+# remove Client Run Before Job
+cp ${cwd}/bin/bacula-dir.conf ${cwd}/tmp/1
+sed "s%Client Run Before Job%#Client Run Before Job%" ${cwd}/tmp/1 >${cwd}/bin/bacula-dir.conf
+
+echo "${cwd}/build" >/tmp/file-list
+
+start_test
+
+# Write out bconsole commands to a file
+cat <<END_OF_DATA >tmp/bconcmds
+@output /dev/null
+messages
+@$out tmp/log1.out
+@#setdebug level=150 storage=DDS-4
+label storage=DDS-4 volume=TestVolume001 slot=1 pool=Full drive=0
+label storage=DDS-4 volume=TestVolume002 slot=2 pool=Default drive=0
+label storage=DDS-4 volume=TestVolume003 slot=3 pool=Scratch drive=0
+update Volume=TestVolume001 maxvoljobs=1
+update Volume=TestVolume002 maxvoljobs=1
+update Volume=TestVolume003 volretention=7s
+update Volume=TestVolume003 maxvoljobs=1
+list volumes
+llist volume=TestVolume003
+@# should pull Scratch volume
+run job=NightlySave1 level=Full pool=Inc yes
+wait
+update Volume=TestVolume003 volretention=7s
+update Volume=TestVolume003 maxvoljobs=1
+messages
+list volumes
+llist volume=TestVolume003
+run job=NightlySave1 level=Full pool=Default yes
+wait
+messages
+list volumes
+llist volume=TestVolume003
+run job=NightlySave1 level=Full pool=Full yes
+wait
+@sleep 10
+messages
+list volumes
+llist volume=TestVolume003
+@# should recycle Scratch pool
+run job=NightlySave2 level=Full pool=Inc yes
+wait
+update Volume=TestVolume003 volretention=7s
+update Volume=TestVolume003 maxvoljobs=1
+@sleep 10
+messages
+list volumes
+@# should recycle Scratch pool
+llist volume=TestVolume003
+@#setdebug level=50 dir
+run job=NightlySave2 level=Full pool=Default yes
+wait
+update Volume=TestVolume003 volretention=7s
+update Volume=TestVolume003 maxvoljobs=1
+@sleep 10
+messages
+list volumes
+@# should recycle Scratch pool
+run job=NightlySave2 level=Full pool=Full yes
+status storage=DDS-4
+messages
+wait
+list volumes
+messages
+@# 
+@# now do a restore
+@#
+@$out tmp/log2.out
+restore where=${cwd}/tmp/bacula-restores select all storage=DDS-4 done
+yes
+wait
+messages
+@$out
+quit
+END_OF_DATA
+
+run_bacula
+check_for_zombie_jobs storage=DDS-4
+stop_bacula
+
+check_two_logs
+check_restore_diff
+end_test