]> git.proxmox.com Git - pve-network.git/commitdiff
improve status error description
authorAlexandre Derumier <aderumier@odiso.com>
Tue, 26 Nov 2019 09:00:21 +0000 (10:00 +0100)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Tue, 26 Nov 2019 11:33:40 +0000 (12:33 +0100)
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
PVE/API2/Network/SDN/Zones/Content.pm
PVE/Network/SDN/Zones.pm

index 18dcb4cb4013495979326c5f99e954cc84a125e7..94536fbcf5f1e389bf10612442f16f72fea196e2 100644 (file)
@@ -49,6 +49,11 @@ __PACKAGE__->register_method ({
                    type => 'string',
                    optional => 1,
                },
+               statusmsg => {
+                   description => "Status details",
+                   type => 'string',
+                   optional => 1,
+               },
            },
        },
        links => [ { rel => 'child', href => "{vnet}" } ],
@@ -70,6 +75,7 @@ __PACKAGE__->register_method ({
            if ($vnet_status->{$id}->{zone} eq $transportid) {
                my $item->{vnet} = $id;
                $item->{status} = $vnet_status->{$id}->{'status'};
+               $item->{status} = $vnet_status->{$id}->{'statusmsg'};
                push @$res,$item;
            }
         }
index ba31db925961cbb1a4d96d4111a8fd3431f322bf..d481d5c0f475fea3ae31f2c0757921090bf940af 100644 (file)
@@ -178,8 +178,9 @@ sub status {
     return if !-e $cluster_vnet_file && !-e $cluster_transport_file;
 
     if (!-e $local_sdn_file) {
-       warn "local sdn network configuration is not yet generated, please reload";
-       $err_config = 'pending';
+
+       $err_config = "local sdn network configuration is not yet generated, please reload";
+       warn $err_config;
     } else {
        # fixme : use some kind of versioning info?
        my $cluster_vnet_timestamp = (stat($cluster_vnet_file))[9];
@@ -187,8 +188,8 @@ sub status {
        my $local_sdn_timestamp = (stat($local_sdn_file))[9];
 
        if ($local_sdn_timestamp < $cluster_vnet_timestamp || $local_sdn_timestamp < $cluster_transport_timestamp) {
-           warn "local sdn network configuration is too old, please reload";
-           $err_config = 'pending';
+           $err_config = "local sdn network configuration is too old, please reload";
+           warn $err_config;
         }
     }
 
@@ -205,18 +206,21 @@ sub status {
        $transport_status->{$zone}->{status} = 'available' if !defined($transport_status->{$zone}->{status});
 
        if($err_config) {
-           $vnet_status->{$id}->{status} = $err_config;
-           $transport_status->{$zone}->{status} = $err_config;
+           $vnet_status->{$id}->{status} = 'pending';
+           $vnet_status->{$id}->{statusmsg} = $err_config;
+           $transport_status->{$zone}->{status} = 'pending';
        } elsif ($status->{$id}->{status} && $status->{$id}->{status} eq 'pass') {
            $vnet_status->{$id}->{status} = 'available';
            my $bridgeport = $status->{$id}->{config}->{'bridge-ports'};
 
            if ($status->{$bridgeport}->{status} && $status->{$bridgeport}->{status} ne 'pass') {
                $vnet_status->{$id}->{status} = 'error';
+               $vnet_status->{$id}->{statusmsg} = 'configuration not fully applied';
                $transport_status->{$zone}->{status} = 'error';
            }
        } else {
            $vnet_status->{$id}->{status} = 'error';
+           $vnet_status->{$id}->{statusmsg} = 'missing';
            $transport_status->{$zone}->{status} = 'error';
        }
     }