From: Stefan Lendl Date: Fri, 5 Apr 2024 13:17:58 +0000 (+0200) Subject: sdn: zones: extract function that reads datacenter config X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=2f37fddc0ebcb039df3703ff4a251d33f05e9f2e;p=mirror%2Fpve-network.git sdn: zones: extract function that reads datacenter config The datacenter_config() functions in SDN::Zones::Plugin is a simple wrapper that reads datacenter.cfg via cfs. This allows mocking datacenter.cfg in tests. Signed-off-by: Stefan Lendl Reviewed-by: Max Carrara Tested-by: Max Carrara Reviewed-by: Stefan Hanreich Tested-by: Stefan Hanreich --- diff --git a/src/PVE/Network/SDN/Zones/EvpnPlugin.pm b/src/PVE/Network/SDN/Zones/EvpnPlugin.pm index 655a9f0..4843756 100644 --- a/src/PVE/Network/SDN/Zones/EvpnPlugin.pm +++ b/src/PVE/Network/SDN/Zones/EvpnPlugin.pm @@ -3,6 +3,7 @@ package PVE::Network::SDN::Zones::EvpnPlugin; use strict; use warnings; use PVE::Network::SDN::Zones::VxlanPlugin; +use PVE::Network::SDN::Zones::Plugin; use PVE::Exception qw(raise raise_param_exc); use PVE::JSONSchema qw(get_standard_option); use PVE::Tools qw($IPV4RE); @@ -294,7 +295,7 @@ sub on_update_hook { } if (!defined($zone_cfg->{ids}->{$zoneid}->{'mac'})) { - my $dc = PVE::Cluster::cfs_read_file('datacenter.cfg'); + my $dc = PVE::Network::SDN::Zones::Plugin->datacenter_config(); $zone_cfg->{ids}->{$zoneid}->{'mac'} = PVE::Tools::random_ether_addr($dc->{mac_prefix}); } } diff --git a/src/PVE/Network/SDN/Zones/Plugin.pm b/src/PVE/Network/SDN/Zones/Plugin.pm index b55b967..247d0b2 100644 --- a/src/PVE/Network/SDN/Zones/Plugin.pm +++ b/src/PVE/Network/SDN/Zones/Plugin.pm @@ -356,4 +356,9 @@ sub get_bridge_ifaces { return @bridge_ifaces; } + +sub datacenter_config { + return PVE::Cluster::cfs_read_file('datacenter.cfg'); +} + 1; diff --git a/src/PVE/Network/SDN/Zones/SimplePlugin.pm b/src/PVE/Network/SDN/Zones/SimplePlugin.pm index c996bf3..65e9ad4 100644 --- a/src/PVE/Network/SDN/Zones/SimplePlugin.pm +++ b/src/PVE/Network/SDN/Zones/SimplePlugin.pm @@ -139,7 +139,7 @@ sub vnet_update_hook { raise_param_exc({ tag => "vlan tag is not allowed on simple zone"}) if defined($tag); if (!defined($vnet->{mac})) { - my $dc = PVE::Cluster::cfs_read_file('datacenter.cfg'); + my $dc = PVE::Network::SDN::Zones::Plugin::datacenter_config(); $vnet->{mac} = PVE::Tools::random_ether_addr($dc->{mac_prefix}); } }