diff options
author | Oliver Tappe | 2008-02-03 15:31:27 +0100 |
---|---|---|
committer | Oliver Tappe | 2008-02-03 15:31:27 +0100 |
commit | 8e26b7acbcc21196caccb913d66e11cb83d1acc1 (patch) | |
tree | 90d64bd9490adc6bc0cf79e94aafb06101c7be93 /config-db/slxconfig-demuxer | |
parent | * shut up cpio (diff) | |
download | core-8e26b7acbcc21196caccb913d66e11cb83d1acc1.tar.gz core-8e26b7acbcc21196caccb913d66e11cb83d1acc1.tar.xz core-8e26b7acbcc21196caccb913d66e11cb83d1acc1.zip |
* cleaned up the code a bit with respect to the handling of target systems
* clearified the output about which systems have been demuxed and which
were just linked into the PXE menu
* fixed incorrect counting of systems that had their configuration written
* updated docs to current state
git-svn-id: http://svn.openslx.org/svn/openslx/trunk@1514 95ad53e4-c205-0410-b2fa-d234c58c8868
Diffstat (limited to 'config-db/slxconfig-demuxer')
-rwxr-xr-x | config-db/slxconfig-demuxer | 47 |
1 files changed, 29 insertions, 18 deletions
diff --git a/config-db/slxconfig-demuxer b/config-db/slxconfig-demuxer index 491bc425..9d14ba6e 100755 --- a/config-db/slxconfig-demuxer +++ b/config-db/slxconfig-demuxer @@ -714,11 +714,11 @@ sub writePluginConfigurationsForSystem sub writeSystemConfiguration { - my $info = shift; + my $info = shift; + my $isTargetSystem = shift; # if this is not a target system, we shall not write any configurations, # but we simply incorporate inherited attributes - my $isTargetSystem = first { $_->{name} eq $info->{name} } @targetSystems; if (!$isTargetSystem) { $openslxDB->mergeDefaultAttributesIntoSystem($info); $info->{'initramfs-name'} = "initramfs-$info->{id}"; @@ -752,6 +752,9 @@ sub writeSystemConfiguration writeClientConfigurationsForSystem($info, $buildPath, $attrFile); slxsystem("rm -rf $buildPath") unless $dryRun; + + $systemConfCount++; + return; } @@ -761,23 +764,34 @@ sub writeConfigurations = $clientSystemConfCount = 0; my @infos; foreach my $system (@demuxableSystems) { - vlog( - 0, _tr("\ndemuxing system %d : %s", $system->{id}, $system->{name}) - ); + my $isTargetSystem + = first { $_->{name} eq $system->{name} } @targetSystems; + if ($isTargetSystem) { + vlog( + 0, + _tr("\ndemuxing system %d : %s", $system->{id}, $system->{name}) + ); + } + else { + vlog( + 0, + _tr( + "\nlinking demuxed system %d : %s into PXE menu", + $system->{id}, $system->{name} + ) + ); + } my $success = eval { my $info = $openslxDB->aggregatedSystemFileInfoFor($system); $info->{'external-id'} = externalIDForSystem($system); - writeSystemConfiguration($info); + writeSystemConfiguration($info, $isTargetSystem); push @infos, $info; 1; }; - if ($success) { - $systemConfCount++; - } - else { + if (!$success) { print STDERR $@; $systemErrCount++; } @@ -795,12 +809,10 @@ slxconfig-demuxer - OpenSLX configuration demultiplexer =head1 SYNOPSIS -slxconfig-demuxer [options] +slxconfig-demuxer [options] [<system-name> ...] =head3 Script Options - --dhcp-export-type=<string> specifies the type of DHCP-server - (ISC,...) --dry-run avoids writing anything, for testing =head3 General Options @@ -817,6 +829,10 @@ configurational attributes and then demultiplex the resulting information to a set of configuration files. These files are used by any OpenSLX-client during boot to find out which systems to offer for booting. +If you invoke the script with one or more system names, only these systems +will be demuxed. All other systems (which are expected to have been demuxed +before) will just be linked into the PXE menu. + The resulting files will be put into the OpenSLX-tftpboot-path. =head2 FILE CREATION @@ -906,11 +922,6 @@ appropriate settings. =over 8 -=item B<< --dhcp-export-type >> - -Specifies the type of DHCP-export that shall be used. Currently, only 'ISC' is -supported. - =item B<< --dry-run >> Runs the script but avoids writing anything. This is useful for testing, as |