also cleanup duplicate code in plugins Signed-off-by: Alexandre Derumier <aderum...@odiso.com> --- src/PVE/Network/SDN/Zones/Plugin.pm | 18 +++++++++++++----- src/PVE/Network/SDN/Zones/QinQPlugin.pm | 8 +------- src/PVE/Network/SDN/Zones/SimplePlugin.pm | 17 ----------------- src/PVE/Network/SDN/Zones/VlanPlugin.pm | 8 +------- 4 files changed, 15 insertions(+), 36 deletions(-)
diff --git a/src/PVE/Network/SDN/Zones/Plugin.pm b/src/PVE/Network/SDN/Zones/Plugin.pm index 2c707b3..c2f496f 100644 --- a/src/PVE/Network/SDN/Zones/Plugin.pm +++ b/src/PVE/Network/SDN/Zones/Plugin.pm @@ -190,14 +190,13 @@ sub parse_tag_number_or_range { return (scalar(@elements) > 1); } -sub status { - my ($class, $plugin_config, $zone, $vnetid, $vnet, $status) = @_; +sub generate_status_message { + my ($class, $vnetid, $status, $ifaces) = @_; my $err_msg = []; - # ifaces to check - my $ifaces = [ $vnetid ]; - + return ["vnet is not generated. Please check you reload network task log."] if !$status->{$vnetid}->{status}; + foreach my $iface (@{$ifaces}) { if (!$status->{$iface}->{status}) { push @$err_msg, "missing $iface"; @@ -205,7 +204,16 @@ sub status { push @$err_msg, "error $iface"; } } + + return $err_msg; +} + +sub status { + my ($class, $plugin_config, $zone, $vnetid, $vnet, $status) = @_; + + my $err_msg = $class->generate_status_message($vnetid, $status); return $err_msg; + } diff --git a/src/PVE/Network/SDN/Zones/QinQPlugin.pm b/src/PVE/Network/SDN/Zones/QinQPlugin.pm index 8b9de43..7160434 100644 --- a/src/PVE/Network/SDN/Zones/QinQPlugin.pm +++ b/src/PVE/Network/SDN/Zones/QinQPlugin.pm @@ -198,13 +198,7 @@ sub status { push @$ifaces, $svlan_iface; } - foreach my $iface (@{$ifaces}) { - if (!$status->{$iface}->{status}) { - push @$err_msg, "missing $iface"; - } elsif ($status->{$iface}->{status} ne 'pass') { - push @$err_msg, "error $iface"; - } - } + $err_msg = $class->generate_status_message($vnetid, $status, $ifaces); return $err_msg; } diff --git a/src/PVE/Network/SDN/Zones/SimplePlugin.pm b/src/PVE/Network/SDN/Zones/SimplePlugin.pm index 7757747..4922903 100644 --- a/src/PVE/Network/SDN/Zones/SimplePlugin.pm +++ b/src/PVE/Network/SDN/Zones/SimplePlugin.pm @@ -123,23 +123,6 @@ sub generate_sdn_config { return $config; } -sub status { - my ($class, $plugin_config, $zone, $vnetid, $vnet, $status) = @_; - - # ifaces to check - my $ifaces = [ $vnetid ]; - my $err_msg = []; - foreach my $iface (@{$ifaces}) { - if (!$status->{$iface}->{status}) { - push @$err_msg, "missing $iface"; - } elsif ($status->{$iface}->{status} ne 'pass') { - push @$err_msg, "error iface $iface"; - } - } - return $err_msg; -} - - sub vnet_update_hook { my ($class, $vnet_cfg, $vnetid, $zone_cfg) = @_; diff --git a/src/PVE/Network/SDN/Zones/VlanPlugin.pm b/src/PVE/Network/SDN/Zones/VlanPlugin.pm index 0bb6b8a..f39b71d 100644 --- a/src/PVE/Network/SDN/Zones/VlanPlugin.pm +++ b/src/PVE/Network/SDN/Zones/VlanPlugin.pm @@ -165,13 +165,7 @@ sub status { push @$ifaces, $vnet_uplinkpeer; } - foreach my $iface (@{$ifaces}) { - if (!$status->{$iface}->{status}) { - push @$err_msg, "missing $iface"; - } elsif ($status->{$iface}->{status} ne 'pass') { - push @$err_msg, "error iface $iface"; - } - } + $err_msg = $class->generate_status_message($vnetid, $status, $ifaces); return $err_msg; } -- 2.39.2 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel