mirror of
https://github.com/lucaspalomodevelop/core.git
synced 2026-03-18 02:25:05 +00:00
Remove old ipaliases+vhid entries when syncing
This commit is contained in:
parent
ce4c5ab489
commit
a3fbaffe28
@ -169,8 +169,8 @@ function restore_config_section_xmlrpc($new_config)
|
||||
$oldvips = array();
|
||||
if (isset($new_config['virtualip']['vip']) && isset($config['virtualip']['vip'])) {
|
||||
foreach ($config['virtualip']['vip'] as $vipindex => $vip) {
|
||||
if ($vip['mode'] == "carp") {
|
||||
// rc.filter_synchronize only sends carp vips, keep the rest like it was
|
||||
if (vip_is_eligible_for_sync($vip)) {
|
||||
// rc.filter_synchronize only sends CARP VIPs and IP Aliases with a VHID. Keep the rest like it was.
|
||||
$oldvips["{$vip['interface']}_vip{$vip['vhid']}"] = $vip ;
|
||||
} else {
|
||||
$vipbackup[] = $vip;
|
||||
@ -200,7 +200,7 @@ function restore_config_section_xmlrpc($new_config)
|
||||
$anyproxyarp = false;
|
||||
if (isset($config['virtualip']['vip'])) {
|
||||
foreach ($config['virtualip']['vip'] as $vip) {
|
||||
if ($vip['mode'] == "carp" && isset($oldvips["{$vip['interface']}_vip{$vip['vhid']}"])) {
|
||||
if (vip_is_eligible_for_sync($vip) && isset($oldvips["{$vip['interface']}_vip{$vip['vhid']}"])) {
|
||||
$is_changed = false;
|
||||
foreach (array('password', 'advskew', 'subnet', 'subnet_bits', 'advbase') as $chk_key) {
|
||||
if ($oldvips["{$vip['interface']}_vip{$vip['vhid']}"][$chk_key] != $vip[$chk_key]) {
|
||||
@ -254,3 +254,9 @@ function restore_config_section_xmlrpc($new_config)
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
function vip_is_eligible_for_sync(array $vip)
|
||||
{
|
||||
return $vip['mode'] === 'carp' ||
|
||||
($vip['mode'] === 'ipalias' && isset($vip['vhid']) && $vip['vhid'] > 0);
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user