From 6f4d061058a80009ad11337dc323e07381f203b4 Mon Sep 17 00:00:00 2001 From: Alexandre Derumier Date: Mon, 13 Apr 2020 08:13:13 +0200 Subject: [PATCH] zones: status : use version to compare local sdn vs cluster sdn --- PVE/Network/SDN/Zones.pm | 22 +++++++--------------- 1 file changed, 7 insertions(+), 15 deletions(-) diff --git a/PVE/Network/SDN/Zones.pm b/PVE/Network/SDN/Zones.pm index f468cb5..dbb1f30 100644 --- a/PVE/Network/SDN/Zones.pm +++ b/PVE/Network/SDN/Zones.pm @@ -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(); -- 2.39.2