]> git.proxmox.com Git - pve-manager.git/commitdiff
pvestatd : broadcast sdn transportzone status
authorAlexandre Derumier <aderumier@odiso.com>
Wed, 21 Aug 2019 03:22:38 +0000 (05:22 +0200)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Tue, 3 Sep 2019 08:28:55 +0000 (10:28 +0200)
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
PVE/Service/pvestatd.pm

index e138b2e8bff3f5a71e08715c70903c30e9cd3430..bad1b73d4296930996c5041d7fe518ba2e11d2ca 100755 (executable)
@@ -37,6 +37,12 @@ PVE::Status::Plugin->init();
 
 use base qw(PVE::Daemon);
 
+my $have_sdn;
+eval {
+    require PVE::API2::Network::SDN;
+    $have_sdn = 1;
+};
+
 my $opt_debug;
 my $restart_request;
 
@@ -457,6 +463,16 @@ sub update_ceph_version {
     }
 }
 
+sub update_sdn_status {
+
+    if($have_sdn) {
+       my ($transport_status, $vnet_status) = PVE::Network::SDN::status();
+
+       my $status = $transport_status ? encode_json($transport_status) : undef;
+       PVE::Cluster::broadcast_node_kv("sdn", $status);
+    }
+}
+
 sub update_status {
 
     # update worker list. This is not really required and
@@ -524,6 +540,12 @@ sub update_status {
     $err = $@;
     syslog('err', "error getting ceph services: $err") if $err;
 
+    eval {
+       update_sdn_status();
+    };
+    $err = $@;
+    syslog('err', "sdn status update error: $err") if $err;
+
 }
 
 my $next_update = 0;