]> git.proxmox.com Git - pve-manager.git/commitdiff
api2: network reload: add frr config generation and reload
authorAlexandre Derumier <aderumier@odiso.com>
Wed, 4 Sep 2019 05:54:36 +0000 (07:54 +0200)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Thu, 5 Sep 2019 10:29:13 +0000 (12:29 +0200)
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
PVE/API2/Network.pm

index 07c3e6d3d4a503566be7e6c62919a7b1772cb407..d50a808dca0539fa6d0174e41c9f37d3f1403578 100644 (file)
@@ -561,8 +561,10 @@ __PACKAGE__->register_method({
            rename($new_config_file, $current_config_file) if -e $new_config_file;
 
            if ($have_sdn) {
-               my $rawconfig = PVE::Network::SDN::generate_etc_network_config();
-               PVE::Network::SDN::write_etc_network_config($rawconfig);
+               my $network_config = PVE::Network::SDN::generate_etc_network_config();
+               PVE::Network::SDN::write_etc_network_config($network_config);
+               my $frr_config = PVE::Network::SDN::generate_frr_config();
+               PVE::Network::SDN::write_frr_config($frr_config) if $frr_config;
            }
 
            my $cmd = ['ifreload', '-a'];
@@ -575,6 +577,7 @@ __PACKAGE__->register_method({
            };
 
            PVE::Tools::run_command($cmd,errfunc => $err);
+           PVE::Tools::run_command(['systemctl', 'reload', 'frr']) if -e "/usr/lib/frr/frr-reload.py";
        };
        return $rpcenv->fork_worker('srvreload', 'networking', $authuser, $worker);
    }});