Hi,

On 6/13/2006 7:09 PM, Kern Sibbald wrote:
> Hello,
> 
> I am planning an additional change several database record formats in 1.39, 
> so 
> if you are currently using version 1.39.x other than for testing, please 
> contact me and let me know what SQL engine you are using. 
> 
> Since you (1.39.x users) have tables that are already different from 1.38.x, 
> we will need to do something special to migrate you to the new format, 
> otherwise, the next time you upgrade Bacula, it will most likely cease to 
> work.

As you mentioned this catalog change I'd like to discuss (again) the 
changes I'd like to see for the upcoming Volume Location Management.

I have some basic code ready - much of it being basic configuration and 
setup, and some first tries on the actual functions I want - and I think 
I have some suggestions.

Location Table, referenced by Media.LocationId.

> mysql> show columns from Location;
> +------------+------------------+------+-----+---------+----------------+
> | Field      | Type             | Null | Key | Default | Extra          |
> +------------+------------------+------+-----+---------+----------------+
> | LocationId | int(10) unsigned |      | PRI | NULL    | auto_increment |
> | Location   | tinyblob         |      |     |         |                |
> +------------+------------------+------+-----+---------+----------------+
> 2 rows in set (0.17 sec)

I use the above schema, but for future use I'd like to introduce the 
idea of "Cost" of a location. I have discussed this cursorily, mainly 
it's a way to decide which volumes to prefer when there are multiple 
copies of a job and Bacula could select from several volumes, stored in 
different locations.

A simple integer field, preferrably unsigned, would be sufficient.

Second, disabling a volume which actually is in a storage device.

There should be a well-defined API for this, and for practical reasons I 
think a .comand in the console programs would be best. Something like 
'.volume id=xxx disable/enable' which would allow easy extension for 
other purposes, for example '.volume id=xxx volstatus=used' etc. I know 
the update command can do some of this, but I'd prefer a more easily 
machine-usable API command. Without menu in case of omitted or wrong 
parameters, but rather with a parsable error message.

This volume status flag should, in my opinion, show up in the catalog. 
The easy solution would be to add a 'Disabled' column in Media. 
Alternatively, using a hard-coded value (for example, anything bigger 
than 0) in LocationId might also work. Anything that can be easily 
integrated in Baculas volume selection algorithm should work well, and 
the above suggestions could be easily integrated into the SQL queries.

Anyway, this has been discussed, but naturally, in case of questions, 
I'll gladly give more detailed reasons for my wishes.

Furthermore, but this is more a feature request and I have *not* checked 
the current development version if it's already available: 'update 
volume' should allow to set the Storage device a volume is assigned to. 
Last time I tried this was an information that could not manually be 
modified.

Thanks for any comments,

Arno

-- 
IT-Service Lehmann                    [EMAIL PROTECTED]
Arno Lehmann                  http://www.its-lehmann.de


_______________________________________________
Bacula-users mailing list
Bacula-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bacula-users

Reply via email to