diff options
author | Oliver Tappe | 2008-05-24 18:25:22 +0200 |
---|---|---|
committer | Oliver Tappe | 2008-05-24 18:25:22 +0200 |
commit | da7455266023274dd1aca1fb9854a6bbe8985f67 (patch) | |
tree | 4df4005fe5fddc52fc9ffd315fa1664b2827d91b /config-db/slxconfig-demuxer | |
parent | * fixed a problem with a failing child process passing the death gate by thro... (diff) | |
download | core-da7455266023274dd1aca1fb9854a6bbe8985f67.tar.gz core-da7455266023274dd1aca1fb9854a6bbe8985f67.tar.xz core-da7455266023274dd1aca1fb9854a6bbe8985f67.zip |
* heavily redesigned and improved the checking of attributes: instead of dying
on the first error, we now collect all errors and return them. The caller can
now decide what to do - die or just print a warning or whatever.
* slxconfig now dies with the list of all attribute problems if there were any
* slxconfig-demuxer prints warnings for all attribute problems that were found
(checking for each system & client in turn)
* adjusted desktop plugin to API changes concerning the attribute checks
git-svn-id: http://svn.openslx.org/svn/openslx/openslx/trunk@1796 95ad53e4-c205-0410-b2fa-d234c58c8868
Diffstat (limited to 'config-db/slxconfig-demuxer')
-rwxr-xr-x | config-db/slxconfig-demuxer | 32 |
1 files changed, 16 insertions, 16 deletions
diff --git a/config-db/slxconfig-demuxer b/config-db/slxconfig-demuxer index 6eb613a3..5d0928ae 100755 --- a/config-db/slxconfig-demuxer +++ b/config-db/slxconfig-demuxer @@ -641,14 +641,14 @@ sub writeClientConfigurationsForSystem $externalSystemID, $buildPath, $externalClientName ); - my $attrsOK = eval { - OpenSLX::AttributeRoster->checkValues( - $client->{attrs}, $info->{'vendor-os'}->{name} - ); - 1; - }; - if (!$attrsOK && $@) { - warn $@; + my $attrProblems = OpenSLX::AttributeRoster->findProblematicValues( + $client->{attrs}, $info->{'vendor-os'}->{name}, + $info->{'installed-plugins'} + ); + if ($attrProblems) { + my $complaint = join "\n", @$attrProblems; + $complaint =~ s{^}{client $client->{name}: }gms; + warn $complaint; } writeAttributesToFile($client, $attrFile); @@ -746,14 +746,14 @@ sub writeSystemConfiguration ) ); - my $attrsOK = eval { - OpenSLX::AttributeRoster->checkValues( - $info->{attrs}, $info->{'vendor-os'}->{name} - ); - 1; - }; - if (!$attrsOK && $@) { - warn $@; + my $attrProblems = OpenSLX::AttributeRoster->findProblematicValues( + $info->{attrs}, $info->{'vendor-os'}->{name}, + $info->{'installed-plugins'} + ); + if ($attrProblems) { + my $complaint = join "\n", @$attrProblems; + $complaint =~ s{^}{system $info->{name}: }gms; + warn $complaint; } my $attrFile = "$buildPath/initramfs/machine-setup"; |