]> git.proxmox.com Git - pve-network.git/blob - test/statuscheck.pl
rename PVE::Network::Network to PVE::Network::SDN
[pve-network.git] / test / statuscheck.pl
1 use strict;
2 use warnings;
3 use File::Copy;
4 use PVE::Cluster qw(cfs_read_file);
5
6 use PVE::Network::SDN;
7 use Data::Dumper;
8 use PVE::Network::SDN::Plugin;
9 use PVE::Network::SDN::VnetPlugin;
10 use PVE::Network::SDN::VlanPlugin;
11 use PVE::Network::SDN::VxlanMulticastPlugin;
12
13
14 my $status = PVE::Network::SDN::status();
15
16 my $network_cfg = PVE::Cluster::cfs_read_file('networks.cfg');
17 my $vnet_cfg = undef;
18 my $transport_cfg = undef;
19
20 my $vnet_status = {};
21 my $transport_status = {};
22
23 foreach my $id (keys %{$network_cfg->{ids}}) {
24 if ($network_cfg->{ids}->{$id}->{type} eq 'vnet') {
25 my $transportzone = $network_cfg->{ids}->{$id}->{transportzone};
26 $transport_status->{$transportzone}->{status} = 1 if !defined($transport_status->{$transportzone}->{status});
27
28 if ($status->{$id}->{status} && $status->{$id}->{status} eq 'pass') {
29 $vnet_status->{$id}->{status} = 1;
30 my $bridgeport = $status->{$id}->{config}->{'bridge-ports'};
31
32 if ($status->{$bridgeport}->{status} && $status->{$bridgeport}->{status} ne 'pass') {
33 $vnet_status->{$id}->{status} = 0;
34 $transport_status->{$transportzone}->{status} = 0;
35 }
36 } else {
37 $vnet_status->{$id}->{status} = 0;
38 $transport_status->{$transportzone}->{status} = 0;
39 }
40 }
41 }
42
43 print Dumper($vnet_status);
44 print Dumper($transport_status);