View Issue Details

IDProjectCategoryView StatusLast Update
0000220bareos-coredirectorpublic2015-03-25 19:19
Reportermaik Assigned To 
PrioritynormalSeverityfeatureReproducibilityalways
Status closedResolutionfixed 
PlatformLinuxOSanyOS Version3
Product Version12.4.4 
Fixed in Version13.3.0 
Summary0000220: Copy job definition requires unnecessary settings
DescriptionCopy and migration jobs required settings like Fileset or Client, which is useless for those jobs.

It would be nice to only require configuration settings that are really needed.
TagsNo tags attached.

Activities

mvwieringen

mvwieringen

2013-09-05 12:38

developer   ~0000657

Fix committed to bareos-regress master branch with changesetid 1120.
mvwieringen

mvwieringen

2013-09-05 12:38

developer   ~0000658

Fix committed to bareos master branch with changesetid 1121.
mvwieringen

mvwieringen

2014-01-17 17:06

developer   ~0000791

Fix committed to bareos master branch with changesetid 1424.
mvwieringen

mvwieringen

2015-03-25 16:51

developer   ~0001478

Fix committed to bareos2015 bareos-14.2 branch with changesetid 5042.
joergs

joergs

2015-03-25 19:19

developer   ~0001627

Due to the reimport of the Github repository to bugs.bareos.org, the status of some tickets have been changed. These tickets will be closed again.
Sorry for the noise.

Related Changesets

bareos: master e064b680

2013-09-04 11:10

mvwieringen

Ported: N/A

Details Diff
Copy job definition requires unnecessary settings

When configuring a Migration or Copy Job you need to specify a Client
and Fileset although those items are never used in the Job as it selects
via a certain selection criterium the Jobs it needs to Migrate or Copy
and uses the Client and Fileset of that original Job.

We relaxed the configuration engine to no longer make the Client and
Fileset keyword required keywords. In the check_resources() function
we now check after the required keyword check what type of Job is
configured and when its not a Migration or Copy Job we still fail the
configuration check as for any Job not being a Migration or Copy Job we
still need the Client and Fileset.

We also needed to check in a lot of places if we have a Client or
Fileset for the current running Job as a lot of code assumes that there
always is a Client or Fileset. This is of course a bad assumption and
hopefully we found all places where these wrong assumptions are made
and the Jobs Client or Fileset pointer is dereferenced without a check.

This new code passed a full regression test both with the old configs
for Migrate and Copy with a dummy Client and Fileset and without.

Fixes 0000220: Copy job definition requires unnecessary settings
Affected Issues
0000220
mod - src/dird/backup.c Diff File
mod - src/dird/dird.c Diff File
mod - src/dird/dird_conf.c Diff File
mod - src/dird/job.c Diff File
mod - src/dird/jobq.c Diff File
mod - src/dird/migrate.c Diff File
mod - src/dird/msgchan.c Diff File
mod - src/dird/ndmp_dma.c Diff File
mod - src/dird/protos.h Diff File
mod - src/dird/quota.c Diff File
mod - src/dird/restore.c Diff File
mod - src/dird/ua_cmds.c Diff File
mod - src/dird/ua_run.c Diff File
mod - src/dird/verify.c Diff File
mod - src/stored/askdir.c Diff File

bareos2015: bareos-14.2 a7448323

2013-09-04 13:10

mvwieringen

Ported: N/A

Details Diff
Copy job definition requires unnecessary settings

When configuring a Migration or Copy Job you need to specify a Client
and Fileset although those items are never used in the Job as it selects
via a certain selection criterium the Jobs it needs to Migrate or Copy
and uses the Client and Fileset of that original Job.

We relaxed the configuration engine to no longer make the Client and
Fileset keyword required keywords. In the check_resources() function
we now check after the required keyword check what type of Job is
configured and when its not a Migration or Copy Job we still fail the
configuration check as for any Job not being a Migration or Copy Job we
still need the Client and Fileset.

We also needed to check in a lot of places if we have a Client or
Fileset for the current running Job as a lot of code assumes that there
always is a Client or Fileset. This is of course a bad assumption and
hopefully we found all places where these wrong assumptions are made
and the Jobs Client or Fileset pointer is dereferenced without a check.

This new code passed a full regression test both with the old configs
for Migrate and Copy with a dummy Client and Fileset and without.

Fixes 0000220: Copy job definition requires unnecessary settings
Affected Issues
0000220
mod - src/dird/backup.c Diff File
mod - src/dird/dird.c Diff File
mod - src/dird/dird_conf.c Diff File
mod - src/dird/job.c Diff File
mod - src/dird/jobq.c Diff File
mod - src/dird/migrate.c Diff File
mod - src/dird/msgchan.c Diff File
mod - src/dird/ndmp_dma.c Diff File
mod - src/dird/protos.h Diff File
mod - src/dird/quota.c Diff File
mod - src/dird/restore.c Diff File
mod - src/dird/ua_cmds.c Diff File
mod - src/dird/ua_run.c Diff File
mod - src/dird/verify.c Diff File
mod - src/stored/askdir.c Diff File

bareos-regress: master 7b569c16

2013-09-05 09:06

mvwieringen

Ported: N/A

Details Diff
Copy job definition requires unnecessary settings

Remove unneeded Client and Fileset keywords in Migrate and Copy Jobs.

Fixes 0000220: Copy job definition requires unnecessary settings
Affected Issues
0000220
mod - scripts/bareos-dir-migration-sd-sd.conf.in Diff File
mod - scripts/bareos-dir-migration.conf.in Diff File
mod - scripts/virtualfull-extreme-bacula-dir.conf.in Diff File

bareos: master bf520eef

2014-01-17 17:04

mvwieringen

Ported: N/A

Details Diff
Copy job definition requires unnecessary settings

Due to implementing this feature we can no longer asume that there
always is a Client and Fileset in a Job definition. So we need to learn
the .defaults cmd that is needs to print *None* when we don't have a
Client or Fileset and not just dereference a NULL pointer.

Fixes 0000220: Copy job definition requires unnecessary settings
Affected Issues
0000220
mod - src/dird/ua_dotcmds.c Diff File

bareos2015: bareos-14.2 f8475c78

2014-01-17 18:04

mvwieringen

Ported: N/A

Details Diff
Copy job definition requires unnecessary settings

Due to implementing this feature we can no longer asume that there
always is a Client and Fileset in a Job definition. So we need to learn
the .defaults cmd that is needs to print *None* when we don't have a
Client or Fileset and not just dereference a NULL pointer.

Fixes 0000220: Copy job definition requires unnecessary settings
Affected Issues
0000220
mod - src/dird/ua_dotcmds.c Diff File

bareos-docs: master 89e01252

2014-12-04 17:19

joergs

Ported: N/A

Details Diff
updated Copy and Migration jobs

Issues 0000220: Copy job definition requires unnecessary settings
Affected Issues
0000220
mod - manuals/en/main/director-resource-job-definitions.tex Diff File
mod - manuals/en/main/director-resource-pool-definitions.tex Diff File
mod - manuals/en/main/migration.tex Diff File

Issue History

Date Modified Username Field Change
2013-08-23 20:50 maik New Issue
2013-08-23 20:52 maik Assigned To => daniel
2013-08-23 20:52 maik Status new => assigned
2013-09-05 12:38 mvwieringen Changeset attached => bareos-regress master 7b569c16
2013-09-05 12:38 mvwieringen Note Added: 0000657
2013-09-05 12:38 mvwieringen Assigned To daniel => mvwieringen
2013-09-05 12:38 mvwieringen Status assigned => resolved
2013-09-05 12:38 mvwieringen Resolution open => fixed
2013-09-05 12:38 mvwieringen Changeset attached => bareos master e064b680
2013-09-05 12:38 mvwieringen Note Added: 0000658
2013-09-06 16:29 maik Fixed in Version => 13.3.0
2014-01-17 17:06 mvwieringen Changeset attached => bareos master bf520eef
2014-01-17 17:06 mvwieringen Note Added: 0000791
2014-12-04 17:22 joergs Changeset attached => bareos-docs master 89e01252
2014-12-04 17:23 joergs Status resolved => closed
2014-12-04 17:23 joergs Assigned To mvwieringen =>
2015-03-25 16:51 mvwieringen Changeset attached => bareos2015 bareos-14.2 f8475c78
2015-03-25 16:51 mvwieringen Changeset attached => bareos2015 bareos-14.2 a7448323
2015-03-25 16:51 mvwieringen Note Added: 0001478
2015-03-25 16:51 mvwieringen Status closed => resolved
2015-03-25 19:19 joergs Note Added: 0001627
2015-03-25 19:19 joergs Status resolved => closed