[pve-devel] [PATCH firewall 1/3] Check if corosync.conf exists before calling parser

Stefan Reiter s.reiter at proxmox.com
Wed Jul 3 14:27:33 CEST 2019


Calling cfs_read_file with no corosync.conf (i.e. on a standalone node)
returns {} instead of undef. The previous patches assumes undef for this
scenario. To avoid confusing checks all over the place, simply leave the
config as undef if no file exists.

Signed-off-by: Stefan Reiter <s.reiter at proxmox.com>
---
 src/PVE/Firewall.pm | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/PVE/Firewall.pm b/src/PVE/Firewall.pm
index 16d7301..96c45e9 100644
--- a/src/PVE/Firewall.pm
+++ b/src/PVE/Firewall.pm
@@ -3519,7 +3519,8 @@ sub compile {
 	$hostfw_conf = load_hostfw_conf($cluster_conf, undef) if !$hostfw_conf;
 
 	# cfs_update is handled by daemon or API
-	$corosync_conf = PVE::Cluster::cfs_read_file("corosync.conf") if !$corosync_conf;
+	$corosync_conf = PVE::Cluster::cfs_read_file("corosync.conf")
+	    if !defined($corosync_conf) && PVE::Corosync::check_conf_exists(1);
 
 	$vmdata = read_local_vm_config();
 	$vmfw_configs = read_vm_firewall_configs($cluster_conf, $vmdata, undef);
-- 
2.20.1





More information about the pve-devel mailing list