]> git.proxmox.com Git - pve-network.git/commitdiff
/etc/network/interfaces.d/sdn : add version
authorAlexandre Derumier <aderumier@odiso.com>
Mon, 13 Apr 2020 06:13:12 +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 8f12976fa64a7b1ae5c694372420fa6cc149d441..f468cb5b04bc8578eab43a079b7dc293dce0cc83 100644 (file)
@@ -25,6 +25,7 @@ PVE::Network::SDN::Zones::EvpnPlugin->register();
 PVE::Network::SDN::Zones::FaucetPlugin->register();
 PVE::Network::SDN::Zones::Plugin->init();
 
+my $local_network_sdn_file = "/etc/network/interfaces.d/sdn";
 
 sub sdn_zones_config {
     my ($cfg, $id, $noerr) = @_;
@@ -72,6 +73,7 @@ sub complete_sdn_zone {
 
 sub generate_etc_network_config {
 
+    my $version = PVE::Cluster::cfs_read_file('sdn/.version');
     my $vnet_cfg = PVE::Cluster::cfs_read_file('sdn/vnets.cfg');
     my $zone_cfg = PVE::Cluster::cfs_read_file('sdn/zones.cfg');
     my $controller_cfg = PVE::Cluster::cfs_read_file('sdn/controllers.cfg');
@@ -111,7 +113,7 @@ sub generate_etc_network_config {
        $plugin->generate_sdn_config($plugin_config, $zone, $id, $vnet, $controller, $interfaces_config, $config);
     }
 
-    my $raw_network_config = "";
+    my $raw_network_config = "\#version:$version\n";
     foreach my $iface (sort keys %$config) {
        $raw_network_config .= "\n";
        $raw_network_config .= "auto $iface\n";
@@ -128,13 +130,19 @@ sub write_etc_network_config {
     my ($rawconfig) = @_;
 
     return if !$rawconfig;
-    my $sdn_interfaces_file = "/etc/network/interfaces.d/sdn";
 
-    my $writefh = IO::File->new($sdn_interfaces_file,">");
+    my $writefh = IO::File->new($local_network_sdn_file,">");
     print $writefh $rawconfig;
     $writefh->close();
 }
 
+sub read_etc_network_config_version {
+    my $versionstr = PVE::Tools::file_read_firstline($local_network_sdn_file);
+    if ($versionstr =~ m/^\#version:(\d+)$/) {
+       return $1;
+    }
+}
+
 sub ifquery_check {
 
     my $cmd = ['ifquery', '-a', '-c', '-o','json'];