nic_updateable: Ignore non-recap vars when detecting config change

This commit is contained in:
Richard Hansen 2024-08-23 03:36:43 -04:00
parent 803621a9ee
commit 273af1c821

View file

@ -3442,7 +3442,8 @@ EoEXAMPLE
###################################################################### ######################################################################
sub nic_updateable { sub nic_updateable {
my ($host) = @_; my ($host) = @_;
my $force_update = $protocols{opt('protocol', $host)}{force_update}; my $protocol = $protocols{opt('protocol', $host)};
my $force_update = $protocol->{force_update};
my $update = 0; my $update = 0;
my $ipv4 = $config{$host}{'wantipv4'}; my $ipv4 = $config{$host}{'wantipv4'};
my $ipv6 = $config{$host}{'wantipv6'}; my $ipv6 = $config{$host}{'wantipv6'};
@ -3529,9 +3530,13 @@ sub nic_updateable {
} elsif (defined($force_update) && $force_update->($host)) { } elsif (defined($force_update) && $force_update->($host)) {
$update = 1; $update = 1;
} elsif (my @changed = grep({ my $rv = $recap{$host}{$_}; my $cv = opt($_, $host); } elsif (my @changed = grep({
defined($rv) && defined($cv) && $rv ne $cv; } return 0 if (!$protocol->{variables}{$_} ||
@recap_config_change_detection_vars)) { !$protocol->{variables}{$_}{recap});
my $rv = $recap{$host}{$_};
my $cv = opt($_, $host);
defined($rv) && defined($cv) && $rv ne $cv;
} @recap_config_change_detection_vars)) {
info("update forced because options changed: " . join(', ', @changed)); info("update forced because options changed: " . join(', ', @changed));
$update = 1; $update = 1;