mirror of
https://github.com/vincentmli/bpfire.git
synced 2026-04-09 18:45:54 +02:00
keepalived UI: remove @nosaved item
remove @nosaved item from form submission before writehash to each setting file because it could interfere with each other. for example, when change keepalived configuration for green or red interface from the UI, without removing @nosaved which has 'ENABLE_HA' before writehash, 'ENABLE_HA=off' would be saved in '/var/ipfire/keepalived/settings', this would trigger the UI to show keepalived being "STOPPED" or it could actually stopoped keepalived. Signed-off-by: Vincent Li <vincent.mc.li@gmail.com>
This commit is contained in:
@@ -43,7 +43,8 @@ my $runsetting = "${General::swroot}/keepalived/runsettings";
|
||||
my $loxilbipfile = "${General::swroot}/loxilb/ipconfig";
|
||||
# because we need commas in the some data
|
||||
my $errormessage = '';
|
||||
my @nosaved=();
|
||||
#remove 'ENABLE_HA' from '/var/ipfire/keepalived/settings' as it could affect keepalived running state
|
||||
my @nosaved=('ENABLE_HA');
|
||||
my %color = ();
|
||||
|
||||
$hasettings{'ENABLE_HA'} = 'off';
|
||||
@@ -82,6 +83,11 @@ foreach my $itf (@ITFs) {
|
||||
|
||||
if ($hasettings{'ACTION'} eq $Lang::tr{'enable'})
|
||||
{
|
||||
#remove @nosaved from $hasettings before writehash to 'runsettings' file since 'runsetting' is only for keepalived running state
|
||||
foreach my $itf (@ITFs) {
|
||||
my @nosaved = ("virtual_router_id_${itf}", "priority_${itf}", "unicast_peer_${itf}", "auth_pass_${itf}", "garp_master_delay_${itf}", "advert_int_${itf}", "virtual_ipaddress_${itf}", "state_${itf}", "ENABLE_${itf}");
|
||||
map (delete ($hasettings{$_}) ,(@nosaved));
|
||||
}
|
||||
&General::writehash("$runsetting", \%hasettings);
|
||||
if ($hasettings{'ENABLE_HA'} eq 'on') {
|
||||
&General::system('/usr/bin/touch', "${General::swroot}/keepalived/enable_ha");
|
||||
|
||||
Reference in New Issue
Block a user