From cdf2c8194ba47cc42a4e1a61c61edebc0b57d9ae Mon Sep 17 00:00:00 2001 From: Thomas Lamprecht Date: Thu, 16 Jan 2020 11:14:53 +0100 Subject: [PATCH] evpn: use file_{g,s}et_contents and import run_command Signed-off-by: Thomas Lamprecht --- PVE/Network/SDN/Controllers/EvpnPlugin.pm | 24 ++++++++++------------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/PVE/Network/SDN/Controllers/EvpnPlugin.pm b/PVE/Network/SDN/Controllers/EvpnPlugin.pm index 725ab88..87c8a2b 100644 --- a/PVE/Network/SDN/Controllers/EvpnPlugin.pm +++ b/PVE/Network/SDN/Controllers/EvpnPlugin.pm @@ -2,11 +2,14 @@ package PVE::Network::SDN::Controllers::EvpnPlugin; use strict; use warnings; -use PVE::Network::SDN::Controllers::Plugin; -use PVE::Tools; + use PVE::INotify; use PVE::JSONSchema qw(get_standard_option); +use PVE::Tools qw(run_command file_set_contents file_get_contents); + +use PVE::Network::SDN::Controllers::Plugin; use PVE::Network::SDN::Zones::Plugin; + use base('PVE::Network::SDN::Controllers::Plugin'); sub type { @@ -251,14 +254,12 @@ sub write_controller_config { push @{$final_config}, "!"; if (-e "/etc/frr/frr.conf.local") { - open my $fh, '<', '/etc/frr/frr.conf.local' or die "Can't open file $!"; generate_frr_recurse($final_config, $config->{frr}->{vrf}, "vrf", 1); push @{$final_config}, "!"; - while (my $line = <$fh>) { - chomp ($line); - push @{$final_config}, $line; - } + my $local_conf = file_get_contents("/etc/frr/frr.conf.local"); + chomp ($local_conf); + push @{$final_config}, $local_conf; } else { generate_frr_recurse($final_config, $config->{frr}, undef, 0); } @@ -269,15 +270,10 @@ sub write_controller_config { my $rawconfig = join("\n", @{$final_config}); - return if !$rawconfig; return if !-d "/etc/frr"; - my $frr_config_file = "/etc/frr/frr.conf"; - - my $writefh = IO::File->new($frr_config_file,">"); - print $writefh $rawconfig; - $writefh->close(); + file_set_contents("/etc/frr/frr.conf", $rawconfig); } sub reload_controller { @@ -299,7 +295,7 @@ sub reload_controller { }; if (-e $conf_file && -e $bin_path) { - PVE::Tools::run_command([$bin_path, '--stdout', '--reload', $conf_file], outfunc => {}, errfunc => $err); + run_command([$bin_path, '--stdout', '--reload', $conf_file], outfunc => {}, errfunc => $err); } } -- 2.39.2