]> git.sur5r.net Git - bacula/bacula/commitdiff
ebl rename faketape to vtape
authorEric Bollengier <eric@eb.homelinux.org>
Mon, 9 Jun 2008 20:59:55 +0000 (20:59 +0000)
committerEric Bollengier <eric@eb.homelinux.org>
Mon, 9 Jun 2008 20:59:55 +0000 (20:59 +0000)
git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@7125 91ce42f0-d328-0410-95d8-f526ca767f89

12 files changed:
regress/README.faketape [deleted file]
regress/README.vtape [new file with mode: 0644]
regress/prototype.conf
regress/scripts/bacula-dir-faketape.conf.in [deleted file]
regress/scripts/bacula-dir-vtape.conf.in [new file with mode: 0644]
regress/scripts/bacula-sd-faketape.conf.in [deleted file]
regress/scripts/bacula-sd-vtape.conf.in [new file with mode: 0644]
regress/scripts/do_sed
regress/scripts/functions
regress/scripts/prepare-fake-autochanger.in
regress/tests/faketape-test-changer [deleted file]
regress/tests/vtape-test-changer [new file with mode: 0755]

diff --git a/regress/README.faketape b/regress/README.faketape
deleted file mode 100644 (file)
index ad98176..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-HOWTO SETUP A FAKE TAPE ENVIRONMENT
------------------------------------
-
-Introduction:
--------------
-
-The fake tape driver attempts to simulate a tape drive from a low level
-aspect. It emulates tape operations like fsf, bsf, weom, variable bloc, etc..
-
-For that the driver implements 5 operations :
- - read
- - write
- - open
- - close
- - ioctl
-
-If your bacula's binaries are compiled with fake tape support, you won't be
-able to use real tape drive.
-
-
-Setup the regress environment for tape tests
---------------------------------------------
-
-Be sure to configure your config file with this :
-
-TAPE_DRIVE="/tmp/drive0"
-TAPE_DRIVE1="/tmp/drive1"
-DRIVE1=0
-DRIVE2=1
-SLOT1=1
-SLOT2=2
-AUTOCHANGER="/tmp/ach_config"
-USE_FAKETAPE=yes
-AUTOCHANGER_SCRIPT=disk-changer
-
-You can remplace /tmp/ by what you want.
-
-Then, the /tmp/ach_config can contain this to simulate 2 drives :
-maxdrive=2
-maxslot=10
-
-And type "make setup"
-
-That all !
-
-
-Setup a quite big autochanger (5 drives and 80 slots)
------------------------------------------------------
-
-Just run "./tests/faketape-test-changer" test to use right configuration files,
-then you can use "./scripts/prepare-fake-autochanger" script to initialize the
-dummy autochanger.
-
-
-
-
diff --git a/regress/README.vtape b/regress/README.vtape
new file mode 100644 (file)
index 0000000..4e6c882
--- /dev/null
@@ -0,0 +1,52 @@
+HOWTO SETUP A FAKE TAPE ENVIRONMENT
+-----------------------------------
+
+Introduction:
+-------------
+
+The fake tape driver (vtape) attempts to simulate a tape drive from a low level
+aspect. It emulates tape operations like fsf, bsf, weom, variable bloc, etc..
+
+For that the driver implements 5 operations :
+ - read
+ - write
+ - open
+ - close
+ - ioctl
+
+Setup the regress environment for tape tests
+--------------------------------------------
+
+Be sure to configure your config file with this :
+
+TAPE_DRIVE="/tmp/drive0"
+TAPE_DRIVE1="/tmp/drive1"
+DRIVE1=0
+DRIVE2=1
+SLOT1=1
+SLOT2=2
+AUTOCHANGER="/tmp/ach_config"
+USE_VTAPE=yes
+AUTOCHANGER_SCRIPT=disk-changer
+
+You can remplace /tmp/ by what you want.
+
+Then, the /tmp/ach_config can contain this to simulate 2 drives :
+maxdrive=2
+maxslot=10
+
+And type "make setup"
+
+That all !
+
+
+Setup a quite big autochanger (5 drives and 80 slots)
+-----------------------------------------------------
+
+Just run "./tests/vtape-test-changer" test to use right configuration files,
+then you can use "./scripts/prepare-fake-autochanger" script to initialize the
+dummy autochanger.
+
+
+
+
index b822d6b5608d4ce093e38cfcc8610a75e2c01eeb..5af6ba96f49392e7332eb13c912444a4a56b635f 100644 (file)
@@ -33,9 +33,9 @@ SLOT2=2
 TAPE_DRIVE1="/dev/null"
 
 # Set this if you are using fake tape driver
-#USE_FAKETAPE=--enable-faketape
+#USE_VTAPE=yes
 
-# Change this to use disk-changer with faketape
+# Change this to use disk-changer with vtape
 AUTOCHANGER_SCRIPT=mtx-changer
 
 # This must be the path to the autochanger including its name
diff --git a/regress/scripts/bacula-dir-faketape.conf.in b/regress/scripts/bacula-dir-faketape.conf.in
deleted file mode 100644 (file)
index fb1f401..0000000
+++ /dev/null
@@ -1,372 +0,0 @@
-#
-# Bacula Director Configuration file
-#
-#
-
-Director {                            # define myself
-  Name = @hostname@-dir
-  DIRPort = @dirport@                # where we listen for UA connections
-  QueryFile = "@scriptdir@/query.sql"
-  WorkingDirectory = "@working_dir@"
-  PidDirectory = "@piddir@"
-  Maximum Concurrent Jobs = 40
-  Password = "pNvX1WiXnwv2C/F7E52LGvw6rKjbbPvu2kyuPa9pVaL3"
-  Messages = Daemon
-}
-
-#
-# Define the main nightly save backup job
-#   By default, this job will back up to disk in @tmpdir@
-Job {
-  Name = "NightlySave"
-  Type = Backup
-  Client=@hostname@-fd 
-  FileSet="Full Set"
-  Storage = LTO3
-  Messages = Standard
-  Pool = Default
-  Maximum Concurrent Jobs = 10
-  SpoolData = yes
-# Prefer Mounted Volumes = no
-}
-
-Job {
-  Name = "NightlySave1"
-  Type = Backup
-  Client=@hostname@-fd 
-  FileSet="Full Set"
-  Storage = LTO1
-  Messages = Standard
-  Pool = Default
-  Write Bootstrap = "@working_dir@/NightlySave1.bsr"
-  Maximum Concurrent Jobs = 10
-  SpoolData = yes
-# Prefer Mounted Volumes = no
-  Client Run Before Job = "/bin/sleep 2"
-}
-
-Job {
-  Name = "NightlySave2"
-  Type = Backup
-  Client=@hostname@-fd 
-  FileSet="Full Set"
-  Storage = LTO1
-  Messages = Standard
-  Pool = Default
-  Write Bootstrap = "@working_dir@/NightlySave2.bsr"
-  Maximum Concurrent Jobs = 10
-  SpoolData = yes
-# Prefer Mounted Volumes = no
-}
-
-Job {
-  Name = "NightlySave3"
-  Type = Backup
-  Client=@hostname@-fd 
-  FileSet="Full Set"
-  Storage = LTO1
-  Messages = Standard
-  Pool = Default
-  Write Bootstrap = "@working_dir@/NightlySave3.bsr"
-  Maximum Concurrent Jobs = 10
-# Prefer Mounted Volumes = no
-}
-
-Job {
-  Name = "VerifyTape"
-  Type = Verify
-  Level = VolumeToCatalog
-  Client=@hostname@-fd 
-  FileSet="Verify Set"
-  Storage = LTO1
-  Messages = Standard
-  Pool = Default
-  Write Bootstrap = "@working_dir@/NightlySave.bsr"
-  Maximum Concurrent Jobs = 4
-  SpoolData = yes
-# Prefer Mounted Volumes = no
-}
-
-
-# Standard Restore template, to be changed by Console program
-Job {
-  Name = "RestoreFiles"
-  Type = Restore
-  Client=@hostname@-fd 
-  FileSet="Full Set"
-  Storage = LTO1
-  Messages = Standard
-  Pool = Default
-  Where = @tmpdir@/bacula-restores
-}
-
-
-# List of files to be backed up
-FileSet {
-  Name = "Full Set"
-  Include { Options { signature=MD5 }
-    File =  <@tmpdir@/file-list
-  }
-}
-
-FileSet {
-  Name = "Verify Set"
-  Include { 
-    Options { 
-       signature=MD5
-       verify=pins1
-    }
-    File =  <@tmpdir@/file-list
-  }
-}
-
-
-# Client (File Services) to backup
-Client {
-  Name = @hostname@-fd
-  Address = @hostname@
-  FDPort = @fdport@
-  Catalog = MyCatalog
-  Password = "xevrjURYoCHhn26RaJoWbeWXEY/a3VqGKp/37tgWiuHc"          # password for FileDaemon
-  File Retention = 30d                # 30 days
-  Job Retention = 180d                # six months
-  AutoPrune = yes                     # Prune expired Jobs/Files
-  Maximum Concurrent Jobs = 10
-}
-
-# Client (File Services) to backup
-Client {
-  Name = @hostname@-fd2
-  Address = @hostname@
-  FDPort = @fdport@2
-  Catalog = MyCatalog
-  Password = "xevrjURYoCHhn26RaJoWbeWXEY/a3VqGKp/37tgWiuHc"          # password for FileDaemon
-  File Retention = 30d                # 30 days
-  Job Retention = 180d                # six months
-  AutoPrune = yes                     # Prune expired Jobs/Files
-  Maximum Concurrent Jobs = 10
-}
-
-# Client (File Services) to backup
-Client {
-  Name = @hostname@-fd3
-  Address = @hostname@
-  FDPort = @fdport@3
-  Catalog = MyCatalog
-  Password = "xevrjURYoCHhn26RaJoWbeWXEY/a3VqGKp/37tgWiuHc"          # password for FileDaemon
-  File Retention = 30d                # 30 days
-  Job Retention = 180d                # six months
-  AutoPrune = yes                     # Prune expired Jobs/Files
-  Maximum Concurrent Jobs = 10
-}
-
-# Client (File Services) to backup
-Client {
-  Name = @hostname@-fd4
-  Address = @hostname@
-  FDPort = @fdport@4
-  Catalog = MyCatalog
-  Password = "xevrjURYoCHhn26RaJoWbeWXEY/a3VqGKp/37tgWiuHc"          # password for FileDaemon
-  File Retention = 30d                # 30 days
-  Job Retention = 180d                # six months
-  AutoPrune = yes                     # Prune expired Jobs/Files
-  Maximum Concurrent Jobs = 10
-}
-
-# Client (File Services) to backup
-Client {
-  Name = @hostname@-fd5
-  Address = @hostname@
-  FDPort = @fdport@4
-  Catalog = MyCatalog
-  Password = "xevrjURYoCHhn26RaJoWbeWXEY/a3VqGKp/37tgWiuHc"          # password for FileDaemon
-  File Retention = 30d                # 30 days
-  Job Retention = 180d                # six months
-  AutoPrune = yes                     # Prune expired Jobs/Files
-  Maximum Concurrent Jobs = 10
-}
-
-
-Storage {
-  Name = LTO1
-  Address = @hostname@ 
-  SDPort = @sdport@
-  Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9"
-  Device = LTO
-  Media Type = LTO1
-  Autochanger = yes
-  Maximum Concurrent Jobs = 50
-}
-
-Storage {
-  Name = LTO3
-  Address = @hostname@ 
-  SDPort = @sdport@
-  Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9"
-  Device = LTO
-  Media Type = LTO3
-  Autochanger = yes
-  Maximum Concurrent Jobs = 50
-}
-
-################################################################
-# WARNING: Bacula doesn't support this kind of configuration
-#          This is for testing purpose only !!!!!!!!!!!!
-################################################################
-
-Storage {
-  Name = LTO3_0
-  Address = @hostname@ 
-  SDPort = @sdport@
-  Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9"
-  Device = LTO3_0
-  Media Type = LTO3
-  Autochanger = yes
-  Maximum Concurrent Jobs = 5
-}
-
-Storage {
-  Name = LTO3_1
-  Address = @hostname@ 
-  SDPort = @sdport@
-  Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9"
-  Device = LTO3_1
-  Media Type = LTO3
-  Autochanger = yes
-  Maximum Concurrent Jobs = 5
-}
-
-Storage {
-  Name = LTO3_2
-  Address = @hostname@ 
-  SDPort = @sdport@
-  Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9"
-  Device = LTO3_2
-  Media Type = LTO3
-  Autochanger = yes
-  Maximum Concurrent Jobs = 5
-}
-
-Storage {
-  Name = LTO1_3
-  Address = @hostname@ 
-  SDPort = @sdport@
-  Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9"
-  Device = LTO1_3
-  Media Type = LTO1
-  Autochanger = yes
-  Maximum Concurrent Jobs = 5
-}
-
-Storage {
-  Name = LTO1_4
-  Address = @hostname@ 
-  SDPort = @sdport@
-  Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9"
-  Device = LTO1_4
-  Media Type = LTO1
-  Autochanger = yes
-  Maximum Concurrent Jobs = 5
-}
-
-Storage {
-  Name = LTO1_5
-  Address = @hostname@ 
-  SDPort = @sdport@
-  Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9"
-  Device = LTO1_5
-  Media Type = LTO1
-  Autochanger = yes
-  Maximum Concurrent Jobs = 5
-}
-
-Storage {
-  Name = LTO1-ANSI_6
-  Address = @hostname@ 
-  SDPort = @sdport@
-  Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9"
-  Device = LTO1-ANSI_6
-  Media Type = LTO1-ANSI
-  Autochanger = yes
-  Maximum Concurrent Jobs = 5
-}
-
-# Definition of File storage device
-Storage {
-  Name = File
-  Address = @hostname@                # N.B. Use a fully qualified name here
-  SDPort = @sdport@
-  Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9"          # password for Storage daemon
-  Device = FileStorage                # must be same as Device in Storage daemon
-  Media Type = FileMedia              # must be same as MediaType in Storage daemon
-  Maximum Concurrent Jobs = 10
-}
-
-# Generic catalog service
-Catalog {
-  Name = MyCatalog
-  @libdbi@
-  dbname = regress; user = regress; password = ""
-}
-
-# Reasonable message delivery -- send most everything to email address
-#  and to the console
-Messages {
-  Name = Standard
-  console = all, !skipped, !terminate, !restored
-  append = "@working_dir@/log" = all, !skipped
-  catalog = all, !skipped, !saved
-}
-
-#
-# Message delivery for daemon messages (no job).
-Messages {
-  Name = Daemon
-  console = all, !skipped, !saved
-  append = "@working_dir@/log" = all, !skipped
-  catalog = all, !skipped, !saved
-}
-
-    
-# Default pool definition
-Pool {
-  Name = Default
-  Pool Type = Backup
-  Recycle = yes                       # Bacula can automatically recycle Volumes
-  AutoPrune = yes                     # Prune expired volumes
-  Volume Retention = 365d             # one year
-}
-
-Pool {
-  Name = Full
-  Pool Type = Backup
-  Recycle = yes                       # Bacula can automatically recycle Volumes
-  AutoPrune = yes                     # Prune expired volumes
-  Volume Retention = 365d             # one year
-}
-
-Pool {
-  Name = Inc
-  Pool Type = Backup
-  Recycle = yes                       # Bacula can automatically recycle Volumes
-  AutoPrune = yes                     # Prune expired volumes
-  Volume Retention = 365d             # one year
-}
-
-Pool {
-  Name = Diff
-  Pool Type = Backup
-  Recycle = yes                       # Bacula can automatically recycle Volumes
-  AutoPrune = yes                     # Prune expired volumes
-  Volume Retention = 365d             # one year
-}
-
-Pool {
-  Name = Scratch
-  Pool Type = Backup
-  Recycle = yes                       # Bacula can automatically recycle Volumes
-  AutoPrune = yes                     # Prune expired volumes
-  Volume Retention = 365d             # one year
-  Recycle Pool = Scratch              # recycle back here
-  Cleaning Prefix = CLN
-}
diff --git a/regress/scripts/bacula-dir-vtape.conf.in b/regress/scripts/bacula-dir-vtape.conf.in
new file mode 100644 (file)
index 0000000..fb1f401
--- /dev/null
@@ -0,0 +1,372 @@
+#
+# Bacula Director Configuration file
+#
+#
+
+Director {                            # define myself
+  Name = @hostname@-dir
+  DIRPort = @dirport@                # where we listen for UA connections
+  QueryFile = "@scriptdir@/query.sql"
+  WorkingDirectory = "@working_dir@"
+  PidDirectory = "@piddir@"
+  Maximum Concurrent Jobs = 40
+  Password = "pNvX1WiXnwv2C/F7E52LGvw6rKjbbPvu2kyuPa9pVaL3"
+  Messages = Daemon
+}
+
+#
+# Define the main nightly save backup job
+#   By default, this job will back up to disk in @tmpdir@
+Job {
+  Name = "NightlySave"
+  Type = Backup
+  Client=@hostname@-fd 
+  FileSet="Full Set"
+  Storage = LTO3
+  Messages = Standard
+  Pool = Default
+  Maximum Concurrent Jobs = 10
+  SpoolData = yes
+# Prefer Mounted Volumes = no
+}
+
+Job {
+  Name = "NightlySave1"
+  Type = Backup
+  Client=@hostname@-fd 
+  FileSet="Full Set"
+  Storage = LTO1
+  Messages = Standard
+  Pool = Default
+  Write Bootstrap = "@working_dir@/NightlySave1.bsr"
+  Maximum Concurrent Jobs = 10
+  SpoolData = yes
+# Prefer Mounted Volumes = no
+  Client Run Before Job = "/bin/sleep 2"
+}
+
+Job {
+  Name = "NightlySave2"
+  Type = Backup
+  Client=@hostname@-fd 
+  FileSet="Full Set"
+  Storage = LTO1
+  Messages = Standard
+  Pool = Default
+  Write Bootstrap = "@working_dir@/NightlySave2.bsr"
+  Maximum Concurrent Jobs = 10
+  SpoolData = yes
+# Prefer Mounted Volumes = no
+}
+
+Job {
+  Name = "NightlySave3"
+  Type = Backup
+  Client=@hostname@-fd 
+  FileSet="Full Set"
+  Storage = LTO1
+  Messages = Standard
+  Pool = Default
+  Write Bootstrap = "@working_dir@/NightlySave3.bsr"
+  Maximum Concurrent Jobs = 10
+# Prefer Mounted Volumes = no
+}
+
+Job {
+  Name = "VerifyTape"
+  Type = Verify
+  Level = VolumeToCatalog
+  Client=@hostname@-fd 
+  FileSet="Verify Set"
+  Storage = LTO1
+  Messages = Standard
+  Pool = Default
+  Write Bootstrap = "@working_dir@/NightlySave.bsr"
+  Maximum Concurrent Jobs = 4
+  SpoolData = yes
+# Prefer Mounted Volumes = no
+}
+
+
+# Standard Restore template, to be changed by Console program
+Job {
+  Name = "RestoreFiles"
+  Type = Restore
+  Client=@hostname@-fd 
+  FileSet="Full Set"
+  Storage = LTO1
+  Messages = Standard
+  Pool = Default
+  Where = @tmpdir@/bacula-restores
+}
+
+
+# List of files to be backed up
+FileSet {
+  Name = "Full Set"
+  Include { Options { signature=MD5 }
+    File =  <@tmpdir@/file-list
+  }
+}
+
+FileSet {
+  Name = "Verify Set"
+  Include { 
+    Options { 
+       signature=MD5
+       verify=pins1
+    }
+    File =  <@tmpdir@/file-list
+  }
+}
+
+
+# Client (File Services) to backup
+Client {
+  Name = @hostname@-fd
+  Address = @hostname@
+  FDPort = @fdport@
+  Catalog = MyCatalog
+  Password = "xevrjURYoCHhn26RaJoWbeWXEY/a3VqGKp/37tgWiuHc"          # password for FileDaemon
+  File Retention = 30d                # 30 days
+  Job Retention = 180d                # six months
+  AutoPrune = yes                     # Prune expired Jobs/Files
+  Maximum Concurrent Jobs = 10
+}
+
+# Client (File Services) to backup
+Client {
+  Name = @hostname@-fd2
+  Address = @hostname@
+  FDPort = @fdport@2
+  Catalog = MyCatalog
+  Password = "xevrjURYoCHhn26RaJoWbeWXEY/a3VqGKp/37tgWiuHc"          # password for FileDaemon
+  File Retention = 30d                # 30 days
+  Job Retention = 180d                # six months
+  AutoPrune = yes                     # Prune expired Jobs/Files
+  Maximum Concurrent Jobs = 10
+}
+
+# Client (File Services) to backup
+Client {
+  Name = @hostname@-fd3
+  Address = @hostname@
+  FDPort = @fdport@3
+  Catalog = MyCatalog
+  Password = "xevrjURYoCHhn26RaJoWbeWXEY/a3VqGKp/37tgWiuHc"          # password for FileDaemon
+  File Retention = 30d                # 30 days
+  Job Retention = 180d                # six months
+  AutoPrune = yes                     # Prune expired Jobs/Files
+  Maximum Concurrent Jobs = 10
+}
+
+# Client (File Services) to backup
+Client {
+  Name = @hostname@-fd4
+  Address = @hostname@
+  FDPort = @fdport@4
+  Catalog = MyCatalog
+  Password = "xevrjURYoCHhn26RaJoWbeWXEY/a3VqGKp/37tgWiuHc"          # password for FileDaemon
+  File Retention = 30d                # 30 days
+  Job Retention = 180d                # six months
+  AutoPrune = yes                     # Prune expired Jobs/Files
+  Maximum Concurrent Jobs = 10
+}
+
+# Client (File Services) to backup
+Client {
+  Name = @hostname@-fd5
+  Address = @hostname@
+  FDPort = @fdport@4
+  Catalog = MyCatalog
+  Password = "xevrjURYoCHhn26RaJoWbeWXEY/a3VqGKp/37tgWiuHc"          # password for FileDaemon
+  File Retention = 30d                # 30 days
+  Job Retention = 180d                # six months
+  AutoPrune = yes                     # Prune expired Jobs/Files
+  Maximum Concurrent Jobs = 10
+}
+
+
+Storage {
+  Name = LTO1
+  Address = @hostname@ 
+  SDPort = @sdport@
+  Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9"
+  Device = LTO
+  Media Type = LTO1
+  Autochanger = yes
+  Maximum Concurrent Jobs = 50
+}
+
+Storage {
+  Name = LTO3
+  Address = @hostname@ 
+  SDPort = @sdport@
+  Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9"
+  Device = LTO
+  Media Type = LTO3
+  Autochanger = yes
+  Maximum Concurrent Jobs = 50
+}
+
+################################################################
+# WARNING: Bacula doesn't support this kind of configuration
+#          This is for testing purpose only !!!!!!!!!!!!
+################################################################
+
+Storage {
+  Name = LTO3_0
+  Address = @hostname@ 
+  SDPort = @sdport@
+  Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9"
+  Device = LTO3_0
+  Media Type = LTO3
+  Autochanger = yes
+  Maximum Concurrent Jobs = 5
+}
+
+Storage {
+  Name = LTO3_1
+  Address = @hostname@ 
+  SDPort = @sdport@
+  Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9"
+  Device = LTO3_1
+  Media Type = LTO3
+  Autochanger = yes
+  Maximum Concurrent Jobs = 5
+}
+
+Storage {
+  Name = LTO3_2
+  Address = @hostname@ 
+  SDPort = @sdport@
+  Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9"
+  Device = LTO3_2
+  Media Type = LTO3
+  Autochanger = yes
+  Maximum Concurrent Jobs = 5
+}
+
+Storage {
+  Name = LTO1_3
+  Address = @hostname@ 
+  SDPort = @sdport@
+  Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9"
+  Device = LTO1_3
+  Media Type = LTO1
+  Autochanger = yes
+  Maximum Concurrent Jobs = 5
+}
+
+Storage {
+  Name = LTO1_4
+  Address = @hostname@ 
+  SDPort = @sdport@
+  Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9"
+  Device = LTO1_4
+  Media Type = LTO1
+  Autochanger = yes
+  Maximum Concurrent Jobs = 5
+}
+
+Storage {
+  Name = LTO1_5
+  Address = @hostname@ 
+  SDPort = @sdport@
+  Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9"
+  Device = LTO1_5
+  Media Type = LTO1
+  Autochanger = yes
+  Maximum Concurrent Jobs = 5
+}
+
+Storage {
+  Name = LTO1-ANSI_6
+  Address = @hostname@ 
+  SDPort = @sdport@
+  Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9"
+  Device = LTO1-ANSI_6
+  Media Type = LTO1-ANSI
+  Autochanger = yes
+  Maximum Concurrent Jobs = 5
+}
+
+# Definition of File storage device
+Storage {
+  Name = File
+  Address = @hostname@                # N.B. Use a fully qualified name here
+  SDPort = @sdport@
+  Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9"          # password for Storage daemon
+  Device = FileStorage                # must be same as Device in Storage daemon
+  Media Type = FileMedia              # must be same as MediaType in Storage daemon
+  Maximum Concurrent Jobs = 10
+}
+
+# Generic catalog service
+Catalog {
+  Name = MyCatalog
+  @libdbi@
+  dbname = regress; user = regress; password = ""
+}
+
+# Reasonable message delivery -- send most everything to email address
+#  and to the console
+Messages {
+  Name = Standard
+  console = all, !skipped, !terminate, !restored
+  append = "@working_dir@/log" = all, !skipped
+  catalog = all, !skipped, !saved
+}
+
+#
+# Message delivery for daemon messages (no job).
+Messages {
+  Name = Daemon
+  console = all, !skipped, !saved
+  append = "@working_dir@/log" = all, !skipped
+  catalog = all, !skipped, !saved
+}
+
+    
+# Default pool definition
+Pool {
+  Name = Default
+  Pool Type = Backup
+  Recycle = yes                       # Bacula can automatically recycle Volumes
+  AutoPrune = yes                     # Prune expired volumes
+  Volume Retention = 365d             # one year
+}
+
+Pool {
+  Name = Full
+  Pool Type = Backup
+  Recycle = yes                       # Bacula can automatically recycle Volumes
+  AutoPrune = yes                     # Prune expired volumes
+  Volume Retention = 365d             # one year
+}
+
+Pool {
+  Name = Inc
+  Pool Type = Backup
+  Recycle = yes                       # Bacula can automatically recycle Volumes
+  AutoPrune = yes                     # Prune expired volumes
+  Volume Retention = 365d             # one year
+}
+
+Pool {
+  Name = Diff
+  Pool Type = Backup
+  Recycle = yes                       # Bacula can automatically recycle Volumes
+  AutoPrune = yes                     # Prune expired volumes
+  Volume Retention = 365d             # one year
+}
+
+Pool {
+  Name = Scratch
+  Pool Type = Backup
+  Recycle = yes                       # Bacula can automatically recycle Volumes
+  AutoPrune = yes                     # Prune expired volumes
+  Volume Retention = 365d             # one year
+  Recycle Pool = Scratch              # recycle back here
+  Cleaning Prefix = CLN
+}
diff --git a/regress/scripts/bacula-sd-faketape.conf.in b/regress/scripts/bacula-sd-faketape.conf.in
deleted file mode 100644 (file)
index 5e62ba6..0000000
+++ /dev/null
@@ -1,169 +0,0 @@
-
-# Bacula Storage Daemon Configuration file with
-# dummy Autochanger
-#
-#
-
-Storage {                             # definition of myself
-  Name = @hostname@-sd
-  SDPort = @sdport@                  # Director's port      
-  WorkingDirectory = "@working_dir@"
-  Pid Directory = "@piddir@"
-  Subsys Directory = "@subsysdir@"
-}
-
-#
-# List Directors who are permitted to contact Storage daemon
-#
-Director {
-  Name = @hostname@-dir
-  Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9"
-}
-
-#
-# Devices supported by this Storage daemon
-# To connect, the Director's bacula-dir.conf must have the
-#  same Name and MediaType. 
-#
-Autochanger {
-  Name = LTO
-  Changer Device = @working_dir@/ach/conf
-  Changer Command ="@scriptdir@/disk-changer %c %o %S %a %d"
-  Device = LTO3_0, LTO3_1, LTO3_2, LTO1_5, LTO1_3, LTO1_4, LTO1-ANSI_6
-}
-
-
-Device {
-  Name = LTO3_0
-  Media Type = LTO3
-  Archive Device = @working_dir@/ach/drive0
-  AutomaticMount = yes;               # when device opened, read it
-  Autochanger = yes
-  Drive Index = 0
-  AlwaysOpen = yes;
-  RemovableMedia = yes;
-  @@sbindir@/tape_options
-  Maximum File Size = 7M
-  Maximum Volume Size = 30M
-  Maximum Job Spool Size = 10M
-  Spool Directory =  @working_dir@
-  Device Type = Tape
-}
-
-Device {
-  Name = LTO3_1
-  Media Type = LTO3
-  Archive Device = @working_dir@/ach/drive1
-  AutomaticMount = yes;               # when device opened, read it
-  Autochanger = yes
-  Drive Index = 1
-  AlwaysOpen = yes;
-  RemovableMedia = yes;
-  @@sbindir@/tape_options
-  Maximum File Size = 7M
-  Maximum Volume Size = 30M
-  Maximum Job Spool Size = 10M
-  Spool Directory =  @working_dir@
-  Device Type = Tape
-}
-
-
-Device {
-  Name = LTO3_2
-  Media Type = LTO3
-  Archive Device = @working_dir@/ach/drive2
-  AutomaticMount = yes;               # when device opened, read it
-  Autochanger = yes
-  Drive Index = 2
-  AlwaysOpen = yes;
-  RemovableMedia = yes;
-  @@sbindir@/tape_options
-  Auto Select = no
-  Maximum File Size = 7M
-  Maximum Volume Size = 30M
-  Maximum Job Spool Size = 10M
-  Spool Directory =  @working_dir@
-  Device Type = Tape
-}
-
-
-Device {
-  Name = LTO1_3
-  Media Type = LTO1
-  Archive Device = @working_dir@/ach/drive3
-  AutomaticMount = yes;               # when device opened, read it
-  Autochanger = yes
-  Drive Index = 3
-  AlwaysOpen = yes;
-  RemovableMedia = yes;
-  @@sbindir@/tape_options
-  Maximum File Size = 7M
-  Maximum Volume Size = 30M
-  Maximum Job Spool Size = 10M
-  Spool Directory =  @working_dir@
-  Device Type = Tape
-}
-
-
-Device {
-  Name = LTO1_4
-  Media Type = LTO1
-  Archive Device = @working_dir@/ach/drive4
-  AutomaticMount = yes;               # when device opened, read it
-  Autochanger = yes
-  Drive Index = 4
-  AlwaysOpen = yes;
-  RemovableMedia = yes;
-  @@sbindir@/tape_options
-  Maximum File Size = 10M
-  Maximum Volume Size = 30M
-  Maximum Job Spool Size = 10M
-  Spool Directory =  @working_dir@
-  Device Type = Tape
-}
-
-Device {
-  Name = LTO1_5
-  Media Type = LTO1
-  Archive Device = @working_dir@/ach/drive5
-  AutomaticMount = yes;               # when device opened, read it
-  Autochanger = yes
-  Drive Index = 5
-  AlwaysOpen = yes;
-  RemovableMedia = yes;
-  @@sbindir@/tape_options
-  Maximum File Size = 10M
-  Maximum Volume Size = 30M
-  Maximum Job Spool Size = 10M
-  Spool Directory =  @working_dir@
-  Device Type = Tape
-  Auto Select = no
-}
-
-Device {
-  Name = LTO1-ANSI_6
-  Media Type = LTO1-ANSI
-  Archive Device = @working_dir@/ach/drive6
-  AutomaticMount = yes;               # when device opened, read it
-  Autochanger = yes
-  Drive Index = 6
-  AlwaysOpen = yes;
-  RemovableMedia = yes;
-  @@sbindir@/tape_options
-  Maximum File Size = 10M
-  Maximum Volume Size = 30M
-  Maximum Job Spool Size = 10M
-  Spool Directory =  @working_dir@
-  Device Type = Tape
-  Label Type = ansi
-}
-
-
-# 
-# Send all messages to the Director, 
-# mount messages also are sent to the email address
-#
-Messages {
-  Name = Standard
-  director = @hostname@-dir = all, !terminate
-}
diff --git a/regress/scripts/bacula-sd-vtape.conf.in b/regress/scripts/bacula-sd-vtape.conf.in
new file mode 100644 (file)
index 0000000..5e62ba6
--- /dev/null
@@ -0,0 +1,169 @@
+
+# Bacula Storage Daemon Configuration file with
+# dummy Autochanger
+#
+#
+
+Storage {                             # definition of myself
+  Name = @hostname@-sd
+  SDPort = @sdport@                  # Director's port      
+  WorkingDirectory = "@working_dir@"
+  Pid Directory = "@piddir@"
+  Subsys Directory = "@subsysdir@"
+}
+
+#
+# List Directors who are permitted to contact Storage daemon
+#
+Director {
+  Name = @hostname@-dir
+  Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9"
+}
+
+#
+# Devices supported by this Storage daemon
+# To connect, the Director's bacula-dir.conf must have the
+#  same Name and MediaType. 
+#
+Autochanger {
+  Name = LTO
+  Changer Device = @working_dir@/ach/conf
+  Changer Command ="@scriptdir@/disk-changer %c %o %S %a %d"
+  Device = LTO3_0, LTO3_1, LTO3_2, LTO1_5, LTO1_3, LTO1_4, LTO1-ANSI_6
+}
+
+
+Device {
+  Name = LTO3_0
+  Media Type = LTO3
+  Archive Device = @working_dir@/ach/drive0
+  AutomaticMount = yes;               # when device opened, read it
+  Autochanger = yes
+  Drive Index = 0
+  AlwaysOpen = yes;
+  RemovableMedia = yes;
+  @@sbindir@/tape_options
+  Maximum File Size = 7M
+  Maximum Volume Size = 30M
+  Maximum Job Spool Size = 10M
+  Spool Directory =  @working_dir@
+  Device Type = Tape
+}
+
+Device {
+  Name = LTO3_1
+  Media Type = LTO3
+  Archive Device = @working_dir@/ach/drive1
+  AutomaticMount = yes;               # when device opened, read it
+  Autochanger = yes
+  Drive Index = 1
+  AlwaysOpen = yes;
+  RemovableMedia = yes;
+  @@sbindir@/tape_options
+  Maximum File Size = 7M
+  Maximum Volume Size = 30M
+  Maximum Job Spool Size = 10M
+  Spool Directory =  @working_dir@
+  Device Type = Tape
+}
+
+
+Device {
+  Name = LTO3_2
+  Media Type = LTO3
+  Archive Device = @working_dir@/ach/drive2
+  AutomaticMount = yes;               # when device opened, read it
+  Autochanger = yes
+  Drive Index = 2
+  AlwaysOpen = yes;
+  RemovableMedia = yes;
+  @@sbindir@/tape_options
+  Auto Select = no
+  Maximum File Size = 7M
+  Maximum Volume Size = 30M
+  Maximum Job Spool Size = 10M
+  Spool Directory =  @working_dir@
+  Device Type = Tape
+}
+
+
+Device {
+  Name = LTO1_3
+  Media Type = LTO1
+  Archive Device = @working_dir@/ach/drive3
+  AutomaticMount = yes;               # when device opened, read it
+  Autochanger = yes
+  Drive Index = 3
+  AlwaysOpen = yes;
+  RemovableMedia = yes;
+  @@sbindir@/tape_options
+  Maximum File Size = 7M
+  Maximum Volume Size = 30M
+  Maximum Job Spool Size = 10M
+  Spool Directory =  @working_dir@
+  Device Type = Tape
+}
+
+
+Device {
+  Name = LTO1_4
+  Media Type = LTO1
+  Archive Device = @working_dir@/ach/drive4
+  AutomaticMount = yes;               # when device opened, read it
+  Autochanger = yes
+  Drive Index = 4
+  AlwaysOpen = yes;
+  RemovableMedia = yes;
+  @@sbindir@/tape_options
+  Maximum File Size = 10M
+  Maximum Volume Size = 30M
+  Maximum Job Spool Size = 10M
+  Spool Directory =  @working_dir@
+  Device Type = Tape
+}
+
+Device {
+  Name = LTO1_5
+  Media Type = LTO1
+  Archive Device = @working_dir@/ach/drive5
+  AutomaticMount = yes;               # when device opened, read it
+  Autochanger = yes
+  Drive Index = 5
+  AlwaysOpen = yes;
+  RemovableMedia = yes;
+  @@sbindir@/tape_options
+  Maximum File Size = 10M
+  Maximum Volume Size = 30M
+  Maximum Job Spool Size = 10M
+  Spool Directory =  @working_dir@
+  Device Type = Tape
+  Auto Select = no
+}
+
+Device {
+  Name = LTO1-ANSI_6
+  Media Type = LTO1-ANSI
+  Archive Device = @working_dir@/ach/drive6
+  AutomaticMount = yes;               # when device opened, read it
+  Autochanger = yes
+  Drive Index = 6
+  AlwaysOpen = yes;
+  RemovableMedia = yes;
+  @@sbindir@/tape_options
+  Maximum File Size = 10M
+  Maximum Volume Size = 30M
+  Maximum Job Spool Size = 10M
+  Spool Directory =  @working_dir@
+  Device Type = Tape
+  Label Type = ansi
+}
+
+
+# 
+# Send all messages to the Director, 
+# mount messages also are sent to the email address
+#
+Messages {
+  Name = Standard
+  director = @hostname@-dir = all, !terminate
+}
index 0f2df3ab4aa21b763e59c398b2117c5fb9e5f817..b23e054249dc063b3454410f35e3c25b82cdd6a6 100755 (executable)
@@ -41,8 +41,8 @@ sed -f ${out} ${cwd}/scripts/cleanup-2tape.in >${cwd}/scripts/cleanup-2tape
 sed -f ${out} ${cwd}/scripts/cleanup-2drive.in >${cwd}/scripts/cleanup-2drive
 sed -f ${out} ${cwd}/scripts/prepare-two-tapes.in >${cwd}/scripts/prepare-two-tapes
 sed -f ${out} ${cwd}/scripts/bacula-dir.conf.testrunscript.in >${cwd}/scripts/bacula-dir.conf.testrunscript
-sed -f ${out} ${cwd}/scripts/bacula-dir-faketape.conf.in >${cwd}/scripts/bacula-dir-faketape.conf
-sed -f ${out} ${cwd}/scripts/bacula-sd-faketape.conf.in >${cwd}/scripts/bacula-sd-faketape.conf
+sed -f ${out} ${cwd}/scripts/bacula-dir-vtape.conf.in >${cwd}/scripts/bacula-dir-vtape.conf
+sed -f ${out} ${cwd}/scripts/bacula-sd-vtape.conf.in >${cwd}/scripts/bacula-sd-vtape.conf
 sed -f ${out} ${cwd}/scripts/prepare-fake-autochanger.in >${cwd}/scripts/prepare-fake-autochanger
 sed -f ${out} ${cwd}/scripts/tls-bacula-fd.conf.in >${cwd}/scripts/tls-bacula-fd.conf
 sed -f ${out} ${cwd}/scripts/tls-bacula-sd.conf.in >${cwd}/scripts/tls-bacula-sd.conf
index 61d6eb499901cad011a3caa7dd7063fb3ea3d85b..391fc482f6da36269554561e212f15d4cd0af374 100644 (file)
@@ -56,10 +56,10 @@ if test x${AUTOCHANGER} = x/dev/null ; then
 fi
 }
 
-require_faketape() 
+require_vtape() 
 {
-if test x${USE_FAKETAPE} = x ; then
-   echo "$TestName test needs the faketape driver."
+if test x${USE_VTAPE} = x ; then
+   echo "$TestName test needs the vtape driver."
    exit 1
 fi
 }
@@ -262,7 +262,7 @@ debug_wait()
 
 init_drive()
 {
-  if test a$USE_FAKETAPE = a; then
+  if test a$USE_VTAPE = a; then
     mt -f $1 rewind
     mt -f $1 weof
   else
index 799dbd2f3f691580311bc4db4acfa0e937e635da..f4f394d0af53e5613b0bc178acc52771a5271b2e 100644 (file)
@@ -6,7 +6,7 @@
 . scripts/functions
 
 # check if user wants to run this test
-if test x$USE_FAKETAPE = x; then
+if test x$USE_VTAPE = x; then
     exit 1
 fi
 
diff --git a/regress/tests/faketape-test-changer b/regress/tests/faketape-test-changer
deleted file mode 100755 (executable)
index 93496fc..0000000
+++ /dev/null
@@ -1,122 +0,0 @@
-#!/bin/sh
-#
-# Run backups with dummy tape driver
-# This test setups an Autochanger with 80 slots
-# and 5 drives (3 LTO3 and 2 LTO1)
-#
-# TAPE_DRIVE="$cwd/working/ach/drive0"
-# TAPE_DRIVE1="$cwd/working/ach/drive0"
-# AUTOCHANGER="$cwd/working/ach/conf"
-# USE_FAKETAPE=--enable-faketape
-# AUTOCHANGER_SCRIPT=disk-changer
-# 
-
-TestName="faketape-test-changer"
-JobName=backup
-. scripts/functions
-
-require_faketape
-
-scripts/cleanup
-scripts/copy-tape-confs
-cp scripts/bacula-dir-faketape.conf bin/bacula-dir.conf
-cp scripts/bacula-sd-faketape.conf bin/bacula-sd.conf
-scripts/prepare-fake-autochanger
-
-echo "${cwd}/build" >${cwd}/tmp/file-list
-
-start_test
-
-when1=`perl -MPOSIX -e "print strftime('%F %T', localtime(time+30))"`
-when2=`perl -MPOSIX -e "print strftime('%F %T', localtime(time+45))"`
-
-clientname=`awk '/Name = .*-fd/ { if (!ok) { print $3 ; ok=1 } }' bin/bacula-dir.conf`
-
-# Catalog record for cleaning tape "CLN01" successfully created.
-# CLN01      | Cleaning
-
-# Write out bconsole commands
-cat <<END_OF_DATA >${cwd}/tmp/bconcmds
-@output /dev/null
-messages
-@$out ${cwd}/tmp/log6.out
-@#setdebug level=200 storage=LTO1
-label barcodes pool=Scratch slots=1-4 storage=LTO1-ANSI_6 drive=6
-yes
-label barcodes pool=Scratch slots=5-40 storage=LTO1 drive=3
-yes
-messages
-list volumes
-END_OF_DATA
-
-run_bacula
-stop_bacula
-
-cat <<END_OF_DATA >${cwd}/tmp/bconcmds
-@$out ${cwd}/tmp/log7.out
-label barcodes pool=Scratch slots=41-80 storage=LTO3 drive=0
-yes
-messages
-list volumes
-@$out ${cwd}/tmp/log1.out
-run storage=LTO3 when="$when1" job=NightlySave  pool=Inc     yes
-run storage=LTO3 when="$when1" job=NightlySave2 pool=Full    yes
-run storage=LTO3 when="$when1" job=NightlySave1 pool=Default yes
-
-run storage=LTO1 when="$when1" job=NightlySave  pool=Inc     yes
-run storage=LTO1 when="$when1" job=NightlySave2 pool=Full    yes
-run storage=LTO1 when="$when1" job=NightlySave1 pool=Default yes
-run storage=LTO1 when="$when1" job=NightlySave3 pool=Diff    yes
-
-run storage=LTO1-ANSI_6 when="$when2" job=NightlySave  pool=Inc     yes
-wait
-messages
-quit
-END_OF_DATA
-
-run_bacula
-check_for_zombie_jobs storage=LTO1 $clientname
-check_for_zombie_jobs storage=LTO3 $clientname
-check_for_zombie_jobs storage=LTO1-ANSI_6 client=$clientname
-
-touch ${cwd}/build/po/*.po
-
-cat <<END_OF_DATA >${cwd}/tmp/bconcmds
-@$out ${cwd}/tmp/log2.out  
-run storage=LTO1-ANSI_6 job=NightlySave3 pool=Inc  yes
-wait
-messages
-@# 
-@# now do a restore
-@#
-restore fileset="Full Set" pool=Diff where=${cwd}/tmp/bacula-restores select all done
-yes
-wait
-messages
-wait
-messages
-END_OF_DATA
-
-run_bconsole
-check_for_zombie_jobs storage=LTO1 client=$clientname
-check_for_zombie_jobs storage=LTO3 client=$clientname
-check_for_zombie_jobs storage=LTO1-ANSI_6 client=$clientname
-stop_bacula
-
-check_two_logs
-check_restore_diff
-
-grep LTO1_5 tmp/log1.out > /dev/null
-if test $? = 0; then
-    echo "AutoSelect option broken"
-    bstat=1
-fi
-
-grep 'Error: Re-read' tmp/log1.out > /dev/null
-if test $? = 0; then
-    echo "Found Re-read errors"
-    bstat=1
-fi
-
-end_test
-
diff --git a/regress/tests/vtape-test-changer b/regress/tests/vtape-test-changer
new file mode 100755 (executable)
index 0000000..de3fdac
--- /dev/null
@@ -0,0 +1,122 @@
+#!/bin/sh
+#
+# Run backups with dummy tape driver
+# This test setups an Autochanger with 80 slots
+# and 5 drives (3 LTO3 and 2 LTO1)
+#
+# TAPE_DRIVE="$cwd/working/ach/drive0"
+# TAPE_DRIVE1="$cwd/working/ach/drive0"
+# AUTOCHANGER="$cwd/working/ach/conf"
+# USE_VTAPE=yes
+# AUTOCHANGER_SCRIPT=disk-changer
+# 
+
+TestName="vtape-test-changer"
+JobName=backup
+. scripts/functions
+
+require_vtape
+
+scripts/cleanup
+scripts/copy-tape-confs
+cp scripts/bacula-dir-vtape.conf bin/bacula-dir.conf
+cp scripts/bacula-sd-vtape.conf bin/bacula-sd.conf
+scripts/prepare-fake-autochanger
+
+echo "${cwd}/build" >${cwd}/tmp/file-list
+
+start_test
+
+when1=`perl -MPOSIX -e "print strftime('%F %T', localtime(time+30))"`
+when2=`perl -MPOSIX -e "print strftime('%F %T', localtime(time+45))"`
+
+clientname=`awk '/Name = .*-fd/ { if (!ok) { print $3 ; ok=1 } }' bin/bacula-dir.conf`
+
+# Catalog record for cleaning tape "CLN01" successfully created.
+# CLN01      | Cleaning
+
+# Write out bconsole commands
+cat <<END_OF_DATA >${cwd}/tmp/bconcmds
+@output /dev/null
+messages
+@$out ${cwd}/tmp/log6.out
+@#setdebug level=200 storage=LTO1
+label barcodes pool=Scratch slots=1-4 storage=LTO1-ANSI_6 drive=6
+yes
+label barcodes pool=Scratch slots=5-40 storage=LTO1 drive=3
+yes
+messages
+list volumes
+END_OF_DATA
+
+run_bacula
+stop_bacula
+
+cat <<END_OF_DATA >${cwd}/tmp/bconcmds
+@$out ${cwd}/tmp/log7.out
+label barcodes pool=Scratch slots=41-80 storage=LTO3 drive=0
+yes
+messages
+list volumes
+@$out ${cwd}/tmp/log1.out
+run storage=LTO3 when="$when1" job=NightlySave  pool=Inc     yes
+run storage=LTO3 when="$when1" job=NightlySave2 pool=Full    yes
+run storage=LTO3 when="$when1" job=NightlySave1 pool=Default yes
+
+run storage=LTO1 when="$when1" job=NightlySave  pool=Inc     yes
+run storage=LTO1 when="$when1" job=NightlySave2 pool=Full    yes
+run storage=LTO1 when="$when1" job=NightlySave1 pool=Default yes
+run storage=LTO1 when="$when1" job=NightlySave3 pool=Diff    yes
+
+run storage=LTO1-ANSI_6 when="$when2" job=NightlySave  pool=Inc     yes
+wait
+messages
+quit
+END_OF_DATA
+
+run_bacula
+check_for_zombie_jobs storage=LTO1 $clientname
+check_for_zombie_jobs storage=LTO3 $clientname
+check_for_zombie_jobs storage=LTO1-ANSI_6 $clientname
+
+touch ${cwd}/build/po/*.po
+
+cat <<END_OF_DATA >${cwd}/tmp/bconcmds
+@$out ${cwd}/tmp/log2.out  
+run storage=LTO1-ANSI_6 job=NightlySave3 pool=Inc  yes
+wait
+messages
+@# 
+@# now do a restore
+@#
+restore fileset="Full Set" pool=Diff where=${cwd}/tmp/bacula-restores select all done
+yes
+wait
+messages
+wait
+messages
+END_OF_DATA
+
+run_bconsole
+check_for_zombie_jobs storage=LTO1 $clientname
+check_for_zombie_jobs storage=LTO3 $clientname
+check_for_zombie_jobs storage=LTO1-ANSI_6 $clientname
+stop_bacula
+
+check_two_logs
+check_restore_diff
+
+grep LTO1_5 tmp/log1.out > /dev/null
+if test $? = 0; then
+    echo "AutoSelect option broken"
+    bstat=1
+fi
+
+grep 'Error: Re-read' tmp/log1.out > /dev/null
+if test $? = 0; then
+    echo "Found Re-read errors"
+    bstat=1
+fi
+
+end_test
+