]> git.proxmox.com Git - pve-network.git/commitdiff
zones: status : use version to compare local sdn vs cluster sdn
authorAlexandre Derumier <aderumier@odiso.com>
Mon, 13 Apr 2020 06:13:13 +0000 (08:13 +0200)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Sat, 2 May 2020 17:14:58 +0000 (19:14 +0200)
PVE/Network/SDN/Zones.pm

index f468cb5b04bc8578eab43a079b7dc293dce0cc83..dbb1f3007c843a79ed92db55b14f60990e5d2db8 100644 (file)
@@ -172,27 +172,19 @@ sub ifquery_check {
 # improve me : move status code inside plugins ?
 sub status {
 
-    my $cluster_vnet_file = "/etc/pve/sdn/vnets.cfg";
-    my $cluster_zone_file = "/etc/pve/sdn/zones.cfg";
-    my $local_sdn_file = "/etc/network/interfaces.d/sdn";
     my $err_config = undef;
 
-    return if !-e $cluster_vnet_file && !-e $cluster_zone_file;
+    my $local_version = PVE::Network::SDN::Zones::read_etc_network_config_version();
+    my $sdn_version = PVE::Cluster::cfs_read_file('sdn/.version');
 
-    if (!-e $local_sdn_file) {
+    return if !$sdn_version;
 
+    if (!$local_version) {
        $err_config = "local sdn network configuration is not yet generated, please reload";
        warn "$err_config\n";
-    } else {
-       # fixme : use some kind of versioning info?
-       my $cluster_vnet_timestamp = (stat($cluster_vnet_file))[9];
-       my $cluster_zone_timestamp = (stat($cluster_zone_file))[9];
-       my $local_sdn_timestamp = (stat($local_sdn_file))[9];
-
-       if ($local_sdn_timestamp < $cluster_vnet_timestamp || $local_sdn_timestamp < $cluster_zone_timestamp) {
-           $err_config = "local sdn network configuration is too old, please reload";
-           warn "$err_config\n";
-       }
+    } elsif ($local_version < $sdn_version) {
+       $err_config = "local sdn network configuration is too old, please reload";
+       warn "$err_config\n";
     }
 
     my $status = ifquery_check();