summaryrefslogtreecommitdiffstats
path: root/config-db/slxconfig-demuxer
diff options
context:
space:
mode:
authorOliver Tappe2008-05-24 18:25:22 +0200
committerOliver Tappe2008-05-24 18:25:22 +0200
commitda7455266023274dd1aca1fb9854a6bbe8985f67 (patch)
tree4df4005fe5fddc52fc9ffd315fa1664b2827d91b /config-db/slxconfig-demuxer
parent* fixed a problem with a failing child process passing the death gate by thro... (diff)
downloadcore-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-xconfig-db/slxconfig-demuxer32
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";