If no corosync.conf exists (i.e. a standalone node), the output is left
the same.

Signed-off-by: Stefan Reiter <s.rei...@proxmox.com>
---

Is there a project standard regarding list output formatting?
I personally think it looks good and readable, but consistency with other
CLI tools would of course be preferrable.


 src/PVE/Service/pve_firewall.pm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/src/PVE/Service/pve_firewall.pm b/src/PVE/Service/pve_firewall.pm
index d8e42ec..3c1254b 100755
--- a/src/PVE/Service/pve_firewall.pm
+++ b/src/PVE/Service/pve_firewall.pm
@@ -10,6 +10,7 @@ use PVE::Tools qw(dir_glob_foreach file_read_firstline);
 use PVE::ProcFSTools;
 use PVE::INotify;
 use PVE::Cluster qw(cfs_read_file);
+use PVE::Corosync;
 use PVE::RPCEnvironment;
 use PVE::CLIHandler;
 use PVE::Firewall;
@@ -264,6 +265,28 @@ __PACKAGE__->register_method ({
            print "using detected local_network: $localnet\n";
        }
 
+       if (PVE::Corosync::check_conf_exists(1)) {
+           my $corosync_conf = PVE::Cluster::cfs_read_file("corosync.conf");
+           my $corosync_node_found = 0;
+
+           print "\naccepting corosync traffic from/to:\n";
+
+           PVE::Corosync::for_all_corosync_addresses($corosync_conf, undef, 
sub {
+               my ($node_name, $node_ip, $node_ipversion, $key) = @_;
+
+               if (!$corosync_node_found) {
+                   $corosync_node_found = 1;
+               }
+
+               $key =~ m/(?:ring|link)(\d+)_addr/;
+               print " - $node_name: $node_ip (link: $1)\n";
+           });
+
+           if (!$corosync_node_found) {
+               print " - no nodes found\n";
+           }
+       }
+
        return undef;
     }});
 
-- 
2.20.1


_______________________________________________
pve-devel mailing list
pve-devel@pve.proxmox.com
https://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

Reply via email to