]> git.proxmox.com Git - pve-manager.git/commitdiff
api2 : reload : use zones/controllers sdn plugins
authorAlexandre Derumier <aderumier@odiso.com>
Tue, 26 Nov 2019 14:20:10 +0000 (15:20 +0100)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Tue, 26 Nov 2019 16:08:23 +0000 (17:08 +0100)
PVE/API2/Network.pm

index 60178c8637f0f6b3e87f83fae2d9e235854fb8f1..2d201c0ef8b09adfdc2f9dc5297da08e2333bf03 100644 (file)
@@ -18,7 +18,8 @@ use base qw(PVE::RESTHandler);
 
 my $have_sdn;
 eval {
-    require PVE::API2::Network::SDN;
+    require PVE::Network::SDN::Zones;
+    require PVE::Network::SDN::Controllers;
     $have_sdn = 1;
 };
 
@@ -578,16 +579,11 @@ __PACKAGE__->register_method({
 
            rename($new_config_file, $current_config_file) if -e $new_config_file;
 
-           my $frr_config;
            if ($have_sdn) {
-               my $network_config = PVE::Network::SDN::generate_etc_network_config();
-               PVE::Network::SDN::write_etc_network_config($network_config);
-
-               $frr_config = PVE::Network::SDN::generate_frr_config();
-               PVE::Network::SDN::write_frr_config($frr_config) if $frr_config;
+               my $network_sdn_config = PVE::Network::SDN::Zones::generate_etc_network_config();
+               PVE::Network::SDN::Zones::write_etc_network_config($network_sdn_config);
            }
 
-
            my $err = sub {
                my $line = shift;
                if ($line =~ /(warning|error): (\S+):/) {
@@ -596,15 +592,10 @@ __PACKAGE__->register_method({
            };
            PVE::Tools::run_command(['ifreload', '-a'], errfunc => $err);
 
-           my $err_frr = sub {
-               my $line = shift;
-               if ($line =~ /^line (\S+)/) {
-                   print "$line \n";
-               }
-           };
-
-           if ($frr_config && -e "/usr/bin/vtysh") {
-               PVE::Tools::run_command(['/usr/bin/vtysh', '-m', '-f', '/etc/frr/frr.conf'], outfunc => {}, errfunc => $err_frr);
+           if ($have_sdn) {
+               my $controller_config = PVE::Network::SDN::Controllers::generate_controller_config();
+               PVE::Network::SDN::Controllers::write_controller_config($controller_config) if ($controller_config);
+               PVE::Network::SDN::Controllers::reload_controller();
            }
        };
        return $rpcenv->fork_worker('srvreload', 'networking', $authuser, $worker);