#!/bin/sh
#
-# Run a simple backup of the Bacula build directory then migrate it
-# to another device.
+# Run a backup of the Bacula build directory on two Volumes
+# then migrate it to another device.
#
# This script uses the virtual disk autochanger
#
TestName="migration-volume-test"
JobName=MigVolBackup
. scripts/functions
-set_debug 1
+set_debug 0
. config.out
+scripts/cleanup
scripts/copy-migration-confs
scripts/prepare-two-disks
-scripts/cleanup
echo "${cwd}/build" >/tmp/file-list
+#cp ${cwd}/bin/bacula-sd.conf ${cwd}/tmp/1
+#sed "s%# Maximum File Size% Maximum File Size%" ${cwd}/tmp/1 >${cwd}/bin/bacula-sd.conf
change_jobname NightlySave $JobName
start_test
messages
@$out tmp/log1.out
label storage=File volume=FileVolume001 Pool=Default
+label storage=File volume=FileVolume002 Pool=Default
+update Volume=FileVolume001 MaxVolBytes=3000000 pool=Default
label storage=DiskChanger volume=ChangerVolume001 slot=1 Pool=Full drive=0
label storage=DiskChanger volume=ChangerVolume002 slot=2 Pool=Full drive=0
-list volumes
-@# run two jobs (both will be migrated)
+@#
run job=$JobName yes
wait
run job=$JobName yes
-@sleep 1
-status storage=File
-@sleep 1
-status storage=File
-@sleep 1
-status storage=File
wait
update volume=FileVolume001 VolStatus=Used
-list volumes
+update volume=FileVolume002 VolStatus=Used
+@#list volumes
+@#list jobs
@# should migrate two jobs
+@# setdebug level=11 dir
+@echo "Run migrate-volume Job"
+@#setdebug level=100 dir
run job=migrate-volume yes
-list volumes
-@sleep 3
-status storage=DiskChanger
-@sleep 1
-status storage=DiskChanger
-@sleep 1
+@sleep 5
+list jobs
+llist jobid=1
+llist jobid=2
+llist jobid=3
+llist jobid=4
+llist jobid=5
status storage=DiskChanger
wait
+list volumes
+list jobs
+llist jobid=1
+llist jobid=2
+llist jobid=3
+llist jobid=4
+llist jobid=5
+sql
+select * from JobMedia where JobId=1;
+
+@# Now run a second Migration job, which should do nothing
+run job=migrate-volume yes
+wait
+list jobs
+@# ensure we don't pickup old backup by purging volume
+@# purge volume=FileVolume001
+@# purge volume=FileVolume002
+@echo "Now do a restore"
messages
@#
@# now do a restore
check_for_zombie_jobs storage=File
stop_bacula
+exit
+
check_two_logs
check_restore_diff
end_test