-#!/bin/sh
+ #!/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
-. config.out
-scripts/copy-migration-confs
-scripts/prepare-two-disks
scripts/cleanup
-echo "${cwd}/build" >/tmp/file-list
+scripts/copy-migration-confs
+scripts/prepare-disk-changer
+echo "${cwd}/build" >${cwd}/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
# Pool Full uses Storage=DiskChanger
# Write out bconsole commands
-cat <<END_OF_DATA >tmp/bconcmds
-@output
+cat <<END_OF_DATA >${cwd}/tmp/bconcmds
+@output /dev/null
messages
-@$out tmp/log1.out
+@$out ${cwd}/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
@#
-@$out tmp/log2.out
+@$out ${cwd}/tmp/log2.out
restore where=${cwd}/tmp/bacula-restores select storage=DiskChanger
unmark *
mark *
yes
wait
messages
-@output
quit
END_OF_DATA