diff options
| author | Mate Lakat <mlakat@mlakat.hu> | 2017-05-09 15:22:49 +0200 |
|---|---|---|
| committer | Mate Lakat <mlakat@mlakat.hu> | 2017-05-09 15:39:29 +0200 |
| commit | 8efde0e212b286232d887a95b7af3c638f53dea6 (patch) | |
| tree | e39ee08371819d161b6fe3e7db1370d73dda66d4 /scripts | |
| parent | cf05aed5c9d37bd10322935e38a8e50fe2411911 (diff) | |
| download | rabbitmq-server-git-8efde0e212b286232d887a95b7af3c638f53dea6.tar.gz | |
Fix HA OCF script
Some parts of #21 have not been added to the stable branch. This change
fixes the issue by adding missing changes to rabbitmq-server-ha.ocf and
also fixing rabbitmq-server.ocf
Diffstat (limited to 'scripts')
| -rwxr-xr-x | scripts/rabbitmq-server-ha.ocf | 20 | ||||
| -rwxr-xr-x | scripts/rabbitmq-server.ocf | 9 |
2 files changed, 28 insertions, 1 deletions
diff --git a/scripts/rabbitmq-server-ha.ocf b/scripts/rabbitmq-server-ha.ocf index 983fc31358..87bb7d4727 100755 --- a/scripts/rabbitmq-server-ha.ocf +++ b/scripts/rabbitmq-server-ha.ocf @@ -51,6 +51,7 @@ OCF_RESKEY_max_rabbitmqctl_timeouts_default=3 OCF_RESKEY_policy_file_default="/usr/local/sbin/set_rabbitmq_policy" OCF_RESKEY_rmq_feature_health_check_default=true OCF_RESKEY_rmq_feature_local_list_queues_default=true +OCF_RESKEY_limit_nofile_default=65535 : ${HA_LOGTAG="lrmd"} : ${HA_LOGFACILITY="daemon"} @@ -76,6 +77,7 @@ OCF_RESKEY_rmq_feature_local_list_queues_default=true : ${OCF_RESKEY_policy_file=${OCF_RESKEY_policy_file_default}} : ${OCF_RESKEY_rmq_feature_health_check=${OCF_RESKEY_rmq_feature_health_check_default}} : ${OCF_RESKEY_rmq_feature_local_list_queues=${OCF_RESKEY_rmq_feature_local_list_queues_default}} +: ${OCF_RESKEY_limit_nofile=${OCF_RESKEY_limit_nofile_default}} ####################################################################### @@ -347,6 +349,14 @@ stopped/demoted. <content type="boolean" default="${OCF_RESKEY_rmq_feature_local_list_queues_default}" /> </parameter> +<parameter name="limit_nofile" unique="0" required="0"> +<longdesc lang="en"> +Soft and hard limit for NOFILE +</longdesc> +<shortdesc lang="en">NOFILE limit</shortdesc> +<content type="string" default="${OCF_RESKEY_limit_nofile_default}" /> +</parameter> + $EXTENDED_OCF_PARAMS </parameters> @@ -571,6 +581,13 @@ now() { date -u +%s } +set_limits() { + local current_limit=$(su $OCF_RESKEY_username -s /bin/sh -c "ulimit -n") + if [ ! -z $OCF_RESKEY_limit_nofile -a $OCF_RESKEY_limit_nofile -gt $current_limit ] ; then + ulimit -n $OCF_RESKEY_limit_nofile + fi +} + master_score() { local LH="${LL} master_score():" local score=$1 @@ -1181,6 +1198,9 @@ start_beam_process() { [ -f /etc/default/rabbitmq-server ] && . /etc/default/rabbitmq-server + # RabbitMQ requires high soft and hard limits for NOFILE + set_limits + # run beam process command="${OCF_RESKEY_binary} >> \"${OCF_RESKEY_log_dir}/startup_log\" 2>/dev/null" RABBITMQ_NODE_ONLY=1 su rabbitmq -s /bin/sh -c "${command}"& diff --git a/scripts/rabbitmq-server.ocf b/scripts/rabbitmq-server.ocf index 7aaecba759..cf832fe760 100755 --- a/scripts/rabbitmq-server.ocf +++ b/scripts/rabbitmq-server.ocf @@ -30,7 +30,7 @@ ## OCF_RESKEY_mnesia_base ## OCF_RESKEY_server_start_args ## OCF_RESKEY_pid_file -## OCF_RESKEY_limit_nofile_default +## OCF_RESKEY_limit_nofile ####################################################################### # Initialization: @@ -216,6 +216,13 @@ export_vars() { [ ! -z $RABBITMQ_PID_FILE ] && ensure_pid_dir && export RABBITMQ_PID_FILE } +set_limits() { + local current_limit=$(su rabbitmq -s /bin/sh -c "ulimit -n") + if [ ! -z $RABBITMQ_LIMIT_NOFILE -a $RABBITMQ_LIMIT_NOFILE -gt $current_limit ] ; then + ulimit -n $RABBITMQ_LIMIT_NOFILE + fi +} + rabbit_validate_partial() { if [ ! -x $RABBITMQ_SERVER ]; then ocf_log err "rabbitmq-server server $RABBITMQ_SERVER does not exist or is not executable"; |
