Blame SOURCES/bz1734067-CTDB-4-add-v4.9-support.patch

a89620
From 30b9f55325d2acfba27aa6859c7360e10b7201d7 Mon Sep 17 00:00:00 2001
a89620
From: David Disseldorp <ddiss@suse.de>
a89620
Date: Wed, 5 Jun 2019 00:41:13 +0200
a89620
Subject: [PATCH 1/3] CTDB: support Samba 4.9+
a89620
a89620
With Samba 4.9+, all ctdbd parameters have moved to config files.
a89620
Generate a new /etc/ctdb/ctdb.conf file during ctdb startup, based on RA
a89620
configuration.
a89620
a89620
Event scripts in Samba 4.9+ are also no longer enabled/disabled based on
a89620
file mode. Use the "ctdb event script enable/disable" helpers, which now
a89620
work without a running ctdbd.
a89620
a89620
Fixes: https://github.com/ClusterLabs/resource-agents/issues/1196
a89620
Signed-off-by: David Disseldorp <ddiss@suse.de>
a89620
Signed-off-by: Noel Power <noel.power@suse.com>
a89620
Signed-off-by: Amitay Isaacs <amitay@samba.org>
a89620
---
a89620
 heartbeat/CTDB.in | 214 ++++++++++++++++++++++++++++++++++++----------
a89620
 1 file changed, 167 insertions(+), 47 deletions(-)
a89620
a89620
diff --git a/heartbeat/CTDB.in b/heartbeat/CTDB.in
a89620
index 4dd646896..79a2f97e7 100755
a89620
--- a/heartbeat/CTDB.in
a89620
+++ b/heartbeat/CTDB.in
a89620
@@ -143,6 +143,10 @@ OCF_RESKEY_smb_fileid_algorithm_default=""
a89620
 
a89620
 #######################################################################
a89620
 
a89620
+ctdb_version() {
a89620
+	$OCF_RESKEY_ctdb_binary version | awk '{print $NF}' | sed "s/[-\.]\?[[:alpha:]].*//"
a89620
+}
a89620
+
a89620
 meta_data() {
a89620
 	cat <
a89620
 
a89620
@@ -256,7 +260,7 @@ host any public ip addresses.
a89620
 <longdesc lang="en">
a89620
 The directory containing various CTDB configuration files.
a89620
 The "nodes" and "notify.sh" scripts are expected to be
a89620
-in this directory, as is the "events.d" subdirectory.
a89620
+in this directory.
a89620
 </longdesc>
a89620
 <shortdesc lang="en">CTDB config file directory</shortdesc>
a89620
 <content type="string" default="/etc/ctdb" />
a89620
@@ -282,8 +286,10 @@ Full path to the CTDB cluster daemon binary.
a89620
 <longdesc lang="en">
a89620
 Full path to the domain socket that ctdbd will create, used for
a89620
 local clients to attach and communicate with the ctdb daemon.
a89620
+With CTDB 4.9.0 and later the socket path is hardcoded at build
a89620
+time, so this parameter is ignored.
a89620
 </longdesc>
a89620
-<shortdesc lang="en">CTDB socket location</shortdesc>
a89620
+<shortdesc lang="en">CTDB socket location (ignored with CTDB 4.9+)</shortdesc>
a89620
 <content type="string" default="${OCF_RESKEY_ctdb_socket}" />
a89620
 </parameter>
a89620
 
a89620
@@ -421,16 +427,28 @@ invoke_ctdb() {
a89620
 		timeout=$((OCF_RESKEY_CRM_meta_timeout/1000))
a89620
 		timelimit=$((OCF_RESKEY_CRM_meta_timeout/1000))
a89620
 	fi
a89620
-	$OCF_RESKEY_ctdb_binary --socket="$OCF_RESKEY_ctdb_socket" \
a89620
-		-t $timeout -T $timelimit \
a89620
-		"$@"
a89620
+
a89620
+	local vers=$(ctdb_version)
a89620
+	ocf_version_cmp "$vers" "4.9.0"
a89620
+
a89620
+	# if version < 4.9.0 specify '--socket' otherwise it's
a89620
+	# a compiled option
a89620
+	if [ "$?" -eq "0" ]; then
a89620
+		$OCF_RESKEY_ctdb_binary --socket="$OCF_RESKEY_ctdb_socket" \
a89620
+			-t $timeout -T $timelimit \
a89620
+			"$@"
a89620
+	else
a89620
+		$OCF_RESKEY_ctdb_binary \
a89620
+			-t $timeout -T $timelimit \
a89620
+			"$@"
a89620
+	fi
a89620
 }
a89620
 
a89620
 # Enable any event scripts that are explicitly required.
a89620
 # Any others will ultimately be invoked or not based on how they ship
a89620
 # with CTDB, but will generally have no effect, beacuase the relevant
a89620
 # CTDB_MANAGES_* options won't be set in /etc/sysconfig/ctdb.
a89620
-enable_event_scripts() {
a89620
+enable_event_scripts_chmod() {
a89620
 	local event_dir
a89620
 	event_dir=$OCF_RESKEY_ctdb_config_dir/events.d
a89620
 
a89620
@@ -454,6 +472,36 @@ enable_event_scripts() {
a89620
 	fi
a89620
 }
a89620
 
a89620
+enable_event_scripts_symlink() {
a89620
+	# event scripts are symlinked once enabled, with the link source in...
a89620
+	mkdir -p "$OCF_RESKEY_ctdb_config_dir/events/legacy" 2>/dev/null
a89620
+
a89620
+	invoke_ctdb event script enable legacy 00.ctdb
a89620
+
a89620
+	if [ -f "${OCF_RESKEY_ctdb_config_dir}/public_addresses" ]; then
a89620
+		invoke_ctdb event script enable legacy 10.interface
a89620
+	else
a89620
+		invoke_ctdb event script disable legacy 10.interface
a89620
+	fi
a89620
+	if [ -f "${OCF_RESKEY_ctdb_config_dir}/static-routes" ]; then
a89620
+		invoke_ctdb event script enable legacy 11.routing
a89620
+	else
a89620
+		invoke_ctdb event script disable legacy 11.routing
a89620
+	fi
a89620
+
a89620
+	if ocf_is_true "$OCF_RESKEY_ctdb_manages_winbind"; then
a89620
+		invoke_ctdb event script enable legacy 49.winbind
a89620
+	else
a89620
+		invoke_ctdb event script disable legacy 49.winbind
a89620
+	fi
a89620
+
a89620
+	if ocf_is_true "$OCF_RESKEY_ctdb_manages_samba"; then
a89620
+		invoke_ctdb event script enable legacy 50.samba
a89620
+	else
a89620
+		invoke_ctdb event script disable legacy 50.samba
a89620
+	fi
a89620
+}
a89620
+
a89620
 # This function has no effect (currently no way to set CTDB_SET_*)
a89620
 # but remains here in case we need it in future.
a89620
 set_ctdb_variables() {
a89620
@@ -556,6 +604,46 @@ append_ctdb_sysconfig() {
a89620
 	[ -n "$2" ] && echo "$1=$2" >> "$CTDB_SYSCONFIG"
a89620
 }
a89620
 
a89620
+generate_ctdb_config() {
a89620
+	local ctdb_config="$OCF_RESKEY_ctdb_config_dir/ctdb.conf"
a89620
+
a89620
+	# Backup existing config if we're not already using an auto-generated one
a89620
+	grep -qa '# CTDB-RA: Auto-generated' $ctdb_config || cp -p $ctdb_config ${ctdb_config}.ctdb-ra-orig
a89620
+	if [ $? -ne 0 ]; then
a89620
+		ocf_log warn "Unable to backup $ctdb_config to ${ctdb_config}.ctdb-ra-orig"
a89620
+	fi
a89620
+
a89620
+	local log_option="file:$OCF_RESKEY_ctdb_logfile"
a89620
+	if [ "$OCF_RESKEY_ctdb_logfile" = "syslog" ]; then
a89620
+		log_option="syslog"
a89620
+	fi
a89620
+
a89620
+	local start_as_disabled="false"
a89620
+	ocf_is_true "$OCF_RESKEY_ctdb_start_as_disabled" && start_as_disabled="true"
a89620
+
a89620
+	local dbdir_volatile="$OCF_RESKEY_ctdb_dbdir/volatile"
a89620
+	[ -d "$dbdir_volatile" ] || mkdir -p "$dbdir_volatile" 2>/dev/null
a89620
+	local dbdir_persistent="$OCF_RESKEY_ctdb_dbdir/persistent"
a89620
+	[ -d "$dbdir_persistent" ] || mkdir -p "$dbdir_persistent" 2>/dev/null
a89620
+	local dbdir_state="$OCF_RESKEY_ctdb_dbdir/state"
a89620
+	[ -d "$dbdir_state" ] || mkdir -p "$dbdir_state" 2>/dev/null
a89620
+
a89620
+cat >$ctdb_config <
a89620
+# CTDB-RA: Auto-generated
a89620
+[logging]
a89620
+	location = $log_option
a89620
+	log level = $OCF_RESKEY_ctdb_debuglevel
a89620
+[cluster]
a89620
+	recovery lock = $OCF_RESKEY_ctdb_recovery_lock
a89620
+[database]
a89620
+	volatile database directory = $dbdir_volatile
a89620
+	persistent database directory = $dbdir_persistent
a89620
+	state database directory = $dbdir_state
a89620
+[legacy]
a89620
+	start as disabled = $start_as_disabled
a89620
+EOF
a89620
+}
a89620
+
a89620
 # Generate a new, minimal CTDB config file that's just enough
a89620
 # to get CTDB running as configured by the RA parameters.
a89620
 generate_ctdb_sysconfig() {
a89620
@@ -589,6 +677,58 @@ EOF
a89620
 }
a89620
 
a89620
 
a89620
+invoke_ctdbd() {
a89620
+	local vers="$1"
a89620
+
a89620
+	ocf_version_cmp "$vers" "4.9.0"
a89620
+	if [ "$?" -ne "0" ]; then
a89620
+		# With 4.9+, all ctdbd binary parameters are provided as
a89620
+		# config settings
a89620
+		$OCF_RESKEY_ctdbd_binary
a89620
+		return
a89620
+	fi
a89620
+
a89620
+	# Use logfile by default, or syslog if asked for
a89620
+	local log_option
a89620
+	# --logging supported from v4.3.0 and --logfile / --syslog support
a89620
+	# has been removed from newer versions
a89620
+	ocf_version_cmp "$vers" "4.2.14"
a89620
+	if [ "$?" -eq "2" ]; then
a89620
+		log_option="--logging=file:$OCF_RESKEY_ctdb_logfile"
a89620
+		if [ "$OCF_RESKEY_ctdb_logfile" = "syslog" ]; then
a89620
+			log_option="--logging=syslog"
a89620
+		fi
a89620
+	else
a89620
+		log_option="--logfile=$OCF_RESKEY_ctdb_logfile"
a89620
+		if [ "$OCF_RESKEY_ctdb_logfile" = "syslog" ]; then
a89620
+			log_option="--syslog"
a89620
+		fi
a89620
+	fi
a89620
+
a89620
+	# public addresses file (should not be present, but need to set for correctness if it is)
a89620
+	local pub_addr_option
a89620
+	pub_addr_option=""
a89620
+	[ -f "${OCF_RESKEY_ctdb_config_dir}/public_addresses" ] && \
a89620
+		pub_addr_option="--public-addresses=${OCF_RESKEY_ctdb_config_dir}/public_addresses"
a89620
+	# start as disabled
a89620
+	local start_as_disabled
a89620
+	start_as_disabled="--start-as-disabled"
a89620
+	ocf_is_true "$OCF_RESKEY_ctdb_start_as_disabled" || start_as_disabled=""
a89620
+
a89620
+	$OCF_RESKEY_ctdbd_binary \
a89620
+		--reclock="$OCF_RESKEY_ctdb_recovery_lock" \
a89620
+		--nlist="$OCF_RESKEY_ctdb_config_dir/nodes" \
a89620
+		--socket="$OCF_RESKEY_ctdb_socket" \
a89620
+		--dbdir="$OCF_RESKEY_ctdb_dbdir" \
a89620
+		--dbdir-persistent="$OCF_RESKEY_ctdb_dbdir/persistent" \
a89620
+		--event-script-dir="$OCF_RESKEY_ctdb_config_dir/events.d" \
a89620
+		--notification-script="$OCF_RESKEY_ctdb_config_dir/notify.sh" \
a89620
+		--transport=tcp \
a89620
+		$start_as_disabled $log_option $pub_addr_option \
a89620
+		-d "$OCF_RESKEY_ctdb_debuglevel"
a89620
+}
a89620
+
a89620
+
a89620
 ctdb_usage() {
a89620
 	cat <
a89620
 usage: $0 {start|stop|monitor|validate-all|meta-data}
a89620
@@ -614,27 +754,26 @@ ctdb_start() {
a89620
 		return $OCF_ERR_GENERIC
a89620
 	fi
a89620
 
a89620
-	# Generate new CTDB sysconfig
a89620
-	generate_ctdb_sysconfig
a89620
-	enable_event_scripts
a89620
+	local version=$(ctdb_version)
a89620
 
a89620
-	# Use logfile by default, or syslog if asked for
a89620
-	local log_option
a89620
-	# --logging supported from v4.3.0 and --logfile / --syslog support 
a89620
-	# has been removed from newer versions
a89620
-	version=$(ctdb version | awk '{print $NF}')
a89620
-	ocf_version_cmp "$version" "4.2.14"
a89620
-	if [ "$?" -eq "2" ]; then
a89620
-		log_option="--logging=file:$OCF_RESKEY_ctdb_logfile"
a89620
-		if [ "$OCF_RESKEY_ctdb_logfile" = "syslog" ]; then
a89620
-			log_option="--logging=syslog"
a89620
-		fi
a89620
+	ocf_version_cmp "$version" "4.9.0"
a89620
+	if [ "$?" -eq "0" ]; then
a89620
+		# prior to 4.9, ctdbd parameters are in sysconfig or passed as
a89620
+		# binary arguments
a89620
+		generate_ctdb_sysconfig
a89620
+
a89620
+		# prior to 4.9, event script enablement without a running
a89620
+		# ctdbd is done by chmoding the scripts directly
a89620
+		enable_event_scripts_chmod
a89620
 	else
a89620
-		log_option="--logfile=$OCF_RESKEY_ctdb_logfile"
a89620
-		if [ "$OCF_RESKEY_ctdb_logfile" = "syslog" ]; then
a89620
-			log_option="--syslog"
a89620
-		fi
a89620
+		# 4.9+ moves all ctdbd parameters to ctdb.conf
a89620
+		generate_ctdb_config
a89620
+
a89620
+		# 4.9+ event scripts can be enabled with ctdb directly, which
a89620
+		# performs a symlink
a89620
+		enable_event_scripts_symlink
a89620
 	fi
a89620
+
a89620
 	if [ ! -d "$(dirname $OCF_RESKEY_ctdb_logfile)" ]; then
a89620
 		# ensure the logfile's directory exists, otherwise ctdb will fail to start
a89620
 		mkdir -p $(dirname $OCF_RESKEY_ctdb_logfile)
a89620
@@ -643,33 +782,14 @@ ctdb_start() {
a89620
 	# ensure ctdb's rundir exists, otherwise it will fail to start
a89620
 	mkdir -p $OCF_RESKEY_ctdb_rundir 2>/dev/null
a89620
 
a89620
-	# public addresses file (should not be present, but need to set for correctness if it is)
a89620
-	local pub_addr_option
a89620
-	pub_addr_option=""
a89620
-	[ -f "${OCF_RESKEY_ctdb_config_dir}/public_addresses" ] && \
a89620
-		pub_addr_option="--public-addresses=${OCF_RESKEY_ctdb_config_dir}/public_addresses"
a89620
-	# start as disabled
a89620
-	local start_as_disabled
a89620
-	start_as_disabled="--start-as-disabled"
a89620
-	ocf_is_true "$OCF_RESKEY_ctdb_start_as_disabled" || start_as_disabled=""
a89620
-
a89620
 	# set nofile ulimit for ctdbd process
a89620
 	if [ -n "$OCF_RESKEY_ctdb_max_open_files" ]; then
a89620
 		ulimit -n "$OCF_RESKEY_ctdb_max_open_files"
a89620
 	fi
a89620
 
a89620
 	# Start her up
a89620
-	"$OCF_RESKEY_ctdbd_binary" \
a89620
-		--reclock="$OCF_RESKEY_ctdb_recovery_lock" \
a89620
-		--nlist="$OCF_RESKEY_ctdb_config_dir/nodes" \
a89620
-		--socket="$OCF_RESKEY_ctdb_socket" \
a89620
-		--dbdir="$OCF_RESKEY_ctdb_dbdir" \
a89620
-		--dbdir-persistent="$OCF_RESKEY_ctdb_dbdir/persistent" \
a89620
-		--event-script-dir="$OCF_RESKEY_ctdb_config_dir/events.d" \
a89620
-		--notification-script="$OCF_RESKEY_ctdb_config_dir/notify.sh" \
a89620
-		--transport=tcp \
a89620
-		$start_as_disabled $log_option $pub_addr_option \
a89620
-		-d "$OCF_RESKEY_ctdb_debuglevel"
a89620
+	invoke_ctdbd "$version"
a89620
+
a89620
 	if [ $? -ne 0 ]; then
a89620
 		# cleanup smb.conf
a89620
 		cleanup_smb_conf
a89620
@@ -688,7 +808,7 @@ ctdb_start() {
a89620
 			if [ $? -ne 0 ]; then
a89620
 				# CTDB will be running, kill it before returning
a89620
 				ctdb_stop
a89620
-				ocf_exit_reason "Can't invoke $OCF_RESKEY_ctdb_binary --socket=$OCF_RESKEY_ctdb_socket status"
a89620
+				ocf_exit_reason "Can't invoke $OCF_RESKEY_ctdb_binary status"
a89620
 				return $OCF_ERR_GENERIC
a89620
 			fi
a89620
 			if ! echo "$status" | grep -qs 'UNHEALTHY (THIS'; then
a89620
@@ -725,7 +845,7 @@ ctdb_stop() {
a89620
 		[ $count -gt 10 ] && {
a89620
 			ocf_log info "killing ctdbd "
a89620
 			pkill -9 -f "$OCF_RESKEY_ctdbd_binary"
a89620
-			pkill -9 -f "${OCF_RESKEY_ctdb_config_dir}/events.d/"
a89620
+			pkill -9 -f "${OCF_RESKEY_ctdb_config_dir}/events"
a89620
 		}
a89620
 	done
a89620
 
a89620
a89620
From b4753b7cb46045bb9e7ed5e3a0a20f6104264b12 Mon Sep 17 00:00:00 2001
a89620
From: David Disseldorp <ddiss@suse.de>
a89620
Date: Wed, 10 Jul 2019 17:11:50 +0200
a89620
Subject: [PATCH 2/3] CTDB: generate script.options file for 4.9+
a89620
a89620
Event scripts in CTDB 4.9+ ignore sysconfig configuration and instead
a89620
parse parameters in ctdb_config_dir/script.options .
a89620
a89620
Signed-off-by: David Disseldorp <ddiss@suse.de>
a89620
---
a89620
 heartbeat/CTDB.in | 35 ++++++++++++++++++++++++++++++-----
a89620
 1 file changed, 30 insertions(+), 5 deletions(-)
a89620
a89620
diff --git a/heartbeat/CTDB.in b/heartbeat/CTDB.in
a89620
index 79a2f97e7..0906f3da9 100755
a89620
--- a/heartbeat/CTDB.in
a89620
+++ b/heartbeat/CTDB.in
a89620
@@ -242,6 +242,7 @@ If the amount of free memory drops below this value the node will
a89620
 become unhealthy and ctdb and all managed services will be shutdown.
a89620
 Once this occurs, the administrator needs to find the reason for the
a89620
 OOM situation, rectify it and restart ctdb with "service ctdb start".
a89620
+With CTDB 4.4.0 and later this parameter is ignored.
a89620
 </longdesc>
a89620
 <shortdesc lang="en">Minimum amount of free memory (MB)</shortdesc>
a89620
 <content type="integer" default="${OCF_RESKEY_ctdb_monitor_free_memory_default}" />
a89620
@@ -600,8 +601,10 @@ cleanup_smb_conf() {
a89620
 	mv "$OCF_RESKEY_smb_conf.$$" "$OCF_RESKEY_smb_conf"
a89620
 }
a89620
 
a89620
-append_ctdb_sysconfig() {
a89620
-	[ -n "$2" ] && echo "$1=$2" >> "$CTDB_SYSCONFIG"
a89620
+append_conf() {
a89620
+	local file_path="$1"
a89620
+	shift
a89620
+	[ -n "$2" ] && echo "$1=$2" >> "$file_path"
a89620
 }
a89620
 
a89620
 generate_ctdb_config() {
a89620
@@ -644,6 +647,25 @@ cat >$ctdb_config <
a89620
 EOF
a89620
 }
a89620
 
a89620
+generate_event_script_options() {
a89620
+	local script_options="$OCF_RESKEY_ctdb_config_dir/script.options"
a89620
+
a89620
+	# Backup existing config if we're not already using an auto-generated one
a89620
+	grep -qa '# CTDB-RA: Auto-generated' $script_options || cp -p $script_options ${script_options}.ctdb-ra-orig
a89620
+	if [ $? -ne 0 ]; then
a89620
+		ocf_log warn "Unable to backup $script_options to ${script_options}.ctdb-ra-orig"
a89620
+	fi
a89620
+
a89620
+cat >$script_options <
a89620
+# CTDB-RA: Auto-generated
a89620
+CTDB_SAMBA_SKIP_SHARE_CHECK=$(ocf_is_true "$OCF_RESKEY_ctdb_samba_skip_share_check" && echo 'yes' || echo 'no')
a89620
+EOF
a89620
+
a89620
+	append_conf "$script_options" CTDB_SERVICE_SMB $OCF_RESKEY_ctdb_service_smb
a89620
+	append_conf "$script_options" CTDB_SERVICE_NMB $OCF_RESKEY_ctdb_service_nmb
a89620
+	append_conf "$script_options" CTDB_SERVICE_WINBIND $OCF_RESKEY_ctdb_service_winbind
a89620
+}
a89620
+
a89620
 # Generate a new, minimal CTDB config file that's just enough
a89620
 # to get CTDB running as configured by the RA parameters.
a89620
 generate_ctdb_sysconfig() {
a89620
@@ -671,9 +693,9 @@ CTDB_SAMBA_SKIP_SHARE_CHECK=$(ocf_is_true "$OCF_RESKEY_ctdb_samba_skip_share_che
a89620
 CTDB_MANAGES_SAMBA=$(ocf_is_true "$OCF_RESKEY_ctdb_manages_samba" && echo 'yes' || echo 'no')
a89620
 CTDB_MANAGES_WINBIND=$(ocf_is_true "$OCF_RESKEY_ctdb_manages_winbind" && echo 'yes' || echo 'no')
a89620
 EOF
a89620
-	append_ctdb_sysconfig CTDB_SERVICE_SMB $OCF_RESKEY_ctdb_service_smb
a89620
-	append_ctdb_sysconfig CTDB_SERVICE_NMB $OCF_RESKEY_ctdb_service_nmb
a89620
-	append_ctdb_sysconfig CTDB_SERVICE_WINBIND $OCF_RESKEY_ctdb_service_winbind
a89620
+	append_conf "$CTDB_SYSCONFIG" CTDB_SERVICE_SMB $OCF_RESKEY_ctdb_service_smb
a89620
+	append_conf "$CTDB_SYSCONFIG" CTDB_SERVICE_NMB $OCF_RESKEY_ctdb_service_nmb
a89620
+	append_conf "$CTDB_SYSCONFIG" CTDB_SERVICE_WINBIND $OCF_RESKEY_ctdb_service_winbind
a89620
 }
a89620
 
a89620
 
a89620
@@ -769,6 +791,9 @@ ctdb_start() {
a89620
 		# 4.9+ moves all ctdbd parameters to ctdb.conf
a89620
 		generate_ctdb_config
a89620
 
a89620
+		# 4.9+ event script options are in script.options
a89620
+		generate_event_script_options
a89620
+
a89620
 		# 4.9+ event scripts can be enabled with ctdb directly, which
a89620
 		# performs a symlink
a89620
 		enable_event_scripts_symlink
a89620
a89620
From 0a8610711f90c4cc7a2b380a4795f463532d9520 Mon Sep 17 00:00:00 2001
a89620
From: David Disseldorp <ddiss@suse.de>
a89620
Date: Wed, 10 Jul 2019 17:54:01 +0200
a89620
Subject: [PATCH 3/3] CTDB: drop sysconfig presence check during validate
a89620
a89620
There are two reasons to avoid this check:
a89620
- for ctdb versions prior to 4.9.0, the sysconfig file is generated by
a89620
  the resource agent start hook *after* ctdb_validate() is called.
a89620
- post 4.9.0 versions don't use the sysconfig file.
a89620
a89620
Signed-off-by: David Disseldorp <ddiss@suse.de>
a89620
---
a89620
 heartbeat/CTDB.in | 5 -----
a89620
 1 file changed, 5 deletions(-)
a89620
a89620
diff --git a/heartbeat/CTDB.in b/heartbeat/CTDB.in
a89620
index 0906f3da9..15d78902e 100755
a89620
--- a/heartbeat/CTDB.in
a89620
+++ b/heartbeat/CTDB.in
a89620
@@ -925,11 +925,6 @@ ctdb_validate() {
a89620
 		check_binary $binary
a89620
 	done
a89620
 
a89620
-	if [ -z "$CTDB_SYSCONFIG" ]; then
a89620
-		ocf_exit_reason "Can't find CTDB config file (expecting /etc/sysconfig/ctdb, /etc/default/ctdb or similar)"
a89620
-		return $OCF_ERR_INSTALLED
a89620
-	fi
a89620
-
a89620
 	if ocf_is_true "$OCF_RESKEY_ctdb_manages_samba" && [ ! -f "$OCF_RESKEY_smb_conf" ]; then
a89620
 		ocf_exit_reason "Samba config file '$OCF_RESKEY_smb_conf' does not exist."
a89620
 		return $OCF_ERR_INSTALLED