Line 172... |
Line 172... |
172 |
my ( $node, $action ) = @_;
|
172 |
my ( $node, $action ) = @_;
|
173 |
&main::readDB();
|
173 |
&main::readDB();
|
174 |
my @return;
|
174 |
my @return;
|
175 |
if ( $action ) {
|
175 |
if ( $action ) {
|
176 |
print "Found action [$action] in node.pm:maintenance\n" if $main::config->{'flags'}->{'debug'} > 1;
|
176 |
print "Found action [$action] in node.pm:maintenance\n" if $main::config->{'flags'}->{'debug'} > 1;
|
177 |
if ( lc ( $action ) eq 'on' ) {
|
- |
|
178 |
if ( keys %{$main::statusDB->{'nodePopulation'}->{$node}->{'running'} } ) {
|
- |
|
179 |
# we've requested maintenance mode, but there are domains running on the node
|
- |
|
180 |
print "Found domains on $node in node.pm:maintenance\n" if $main::config->{'flags'}->{'debug'} > 1;
|
- |
|
181 |
print "Trying to migrate domains off of $node before doing maintenance\n" if $main::config->{'flags'}->{'verbose'} || $main::config->{'flags'}->{'debug'} > 1;
|
- |
|
182 |
push @return, &migrateAllDomains( $node, $main::config->{'flags'}->{'target'}, keys %{$main::statusDB->{'nodePopulation'}->{$node}->{'running'}} );
|
- |
|
183 |
print "Finished migration attempt, forcing a scan\n" if $main::config->{'flags'}->{'debug'} > 1;
|
- |
|
184 |
&main::forceScan();
|
- |
|
185 |
}
|
- |
|
186 |
if ( keys %{ $main::statusDB->{'nodePopulation'}->{$node}->{'running'} } ) {
|
- |
|
187 |
print "Still found running domains on $node, aborting\n" if $main::config->{'flags'}->{'debug'} > 1;
|
- |
|
188 |
push @return, "Can not mark $node in maintenance mode with running domains";
|
- |
|
189 |
} else {
|
- |
|
190 |
print "Marking $node as under maintenance\n" if $main::config->{'flags'}->{'verbose'} || $main::config->{'flags'}->{'debug'};
|
- |
|
191 |
&main::readDB(1);
|
- |
|
192 |
$main::statusDB->{'node'}->{$node}->{'maintenance'} = 1;
|
- |
|
193 |
&main::writeDB();
|
- |
|
194 |
}
|
- |
|
195 |
} else {
|
- |
|
196 |
print "Marking $node as Online\n" if $main::config->{'flags'}->{'verbose'} || $main::config->{'flags'}->{'debug'};
|
- |
|
197 |
&main::readDB(1);
|
177 |
&main::readDB(1);
|
198 |
$main::statusDB->{'node'}->{$node}->{'maintenance'} = 0;
|
178 |
$main::statusDB->{'node'}->{$node}->{'maintenance'} = lc $action eq 'on';
|
199 |
&main::writeDB();
|
179 |
&main::writeDB();
|
200 |
}
|
- |
|
201 |
}
|
180 |
}
|
202 |
&main::readDB();
|
181 |
&main::readDB();
|
203 |
print Dumper( $main::statusDB ) if $main::config->{'flags'}->{'debug'} > 2;
|
182 |
print Dumper( $main::statusDB ) if $main::config->{'flags'}->{'debug'} > 2;
|
204 |
# return "Maintenance set to " . ( $main::statusDB->{'node'}->{$node}->{'maintenance'} ) . "\n" .
|
- |
|
205 |
return "Maintenance set to " . ( $main::statusDB->{'node'}->{$node}->{'maintenance'} ? 'On' : 'Off' ) . "\n" .
|
183 |
return "Maintenance set to " . ( $main::statusDB->{'node'}->{$node}->{'maintenance'} ? 'On' : 'Off' ) . "\n" .
|
206 |
( @return ? join( "\n", @return ) . "\n" : '');
|
184 |
( @return ? join( "\n", @return ) . "\n" : '');
|
207 |
}
|
185 |
}
|
208 |
|
186 |
|
209 |
|
187 |
|