summaryrefslogtreecommitdiff
path: root/scripts/vyatta-config-loader.pl
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/vyatta-config-loader.pl')
-rwxr-xr-xscripts/vyatta-config-loader.pl11
1 files changed, 10 insertions, 1 deletions
diff --git a/scripts/vyatta-config-loader.pl b/scripts/vyatta-config-loader.pl
index 61eafa5..7a3df2b 100755
--- a/scripts/vyatta-config-loader.pl
+++ b/scripts/vyatta-config-loader.pl
@@ -70,7 +70,16 @@ my $ret = 0;
my $rank; #not used
foreach (@all_nodes) {
my ($path_ref, $rank) = @$_;
- my $cmd = "$CWRAPPER set " . (join ' ', @$path_ref);
+
+ my @pr = @$path_ref;
+ if (@pr[0] eq '!') {
+ @pr = @pr[1..$#pr];
+ my $deactivate_cmd = "$CWRAPPER deactivate " . (join ' ', @pr) . " 1>/dev/null";
+ system("$deactivate_cmd");
+ #ignore these errors due to nesting warnings.
+ }
+
+ my $cmd = "$CWRAPPER set " . (join ' ', @pr);
# this debug file should be deleted before release
system("echo [$cmd] >> /tmp/foo");
$ret = system("$cmd");