zones: status: display specific message if vnet is not generated.

also cleanup duplicate code in plugins

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
This commit is contained in:
Alexandre Derumier 2023-06-23 14:49:41 +02:00 committed by Fabian Grünbichler
parent 0eda9b9aad
commit 26e2abdbdc
4 changed files with 14 additions and 35 deletions

View file

@ -190,13 +190,12 @@ 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}) {
@ -205,9 +204,18 @@ 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;
}
sub tap_create {
my ($class, $plugin_config, $vnet, $iface, $vnetid) = @_;

View file

@ -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;
}

View file

@ -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) = @_;

View file

@ -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;
}