mirror of
https://github.com/lucaspalomodevelop/core.git
synced 2026-03-13 08:09:41 +00:00
system: improve previous and widen its use
This commit is contained in:
parent
4f6b9ec726
commit
05739a0898
@ -133,8 +133,7 @@ function dpinger_configure_do($verbose = false, $gwname_map = null)
|
||||
return;
|
||||
}
|
||||
|
||||
$suffix = empty($gwname_map) ? 's' : (is_array($gwname_map) && count($gwname_map) > 1 ? 's ' . join(', ', $gwname_map) : '');
|
||||
service_log(sprintf('Setting up gateway monitor%s...', $suffix), $verbose);
|
||||
service_log(sprintf('Setting up gateway monitor%s...', empty($interface_map) ? '' : ' for ' . join(', ', $gwname_map)), $verbose);
|
||||
|
||||
foreach (dpinger_processes() as $running_gwname => $proc) {
|
||||
if (!empty($gwname_map) && !in_array($running_gwname, $gwname_map)) {
|
||||
|
||||
@ -774,23 +774,22 @@ function system_routing_configure($verbose = false, $interface_map = null, $moni
|
||||
service_log("done.\n", $verbose);
|
||||
|
||||
if ($monitor) {
|
||||
if (!empty($interface_map)) {
|
||||
$reloads = [];
|
||||
/* reload requested monitors only or reload in full */
|
||||
$gwnames = !empty($interface_map) ? [] : null;
|
||||
|
||||
if (!empty($interface_map)) {
|
||||
foreach ($gateways->gatewaysIndexedByName() as $name => $gateway) {
|
||||
if ($family !== null && $family !== $gateway['ipprotocol']) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (in_array($gateway['interface'], $interface_map)) {
|
||||
$reloads[] = $name;
|
||||
$gwnames[] = $name;
|
||||
}
|
||||
}
|
||||
|
||||
plugins_configure('monitor', $verbose, [$reloads]);
|
||||
} else {
|
||||
plugins_configure('monitor', $verbose);
|
||||
}
|
||||
|
||||
plugins_configure('monitor', $verbose, [$gwnames]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -49,12 +49,16 @@ foreach (glob("/tmp/delete_route_*.todo") as $filename) {
|
||||
system_routing_configure(true, null, !$recover_only);
|
||||
|
||||
if ($recover_only) {
|
||||
$gwnames = [];
|
||||
|
||||
foreach (return_gateways_status() as $status) {
|
||||
if ($status['status'] == 'down') {
|
||||
/* try to recover monitors stuck in down state ignoring "force_down" */
|
||||
plugins_configure('monitor', true, [$status['name']]);
|
||||
$gwnames[] = $status['name'];
|
||||
}
|
||||
}
|
||||
|
||||
plugins_configure('monitor', true, [$gwnames]);
|
||||
}
|
||||
|
||||
filter_configure_sync(true, false);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user