Drop ceph Resource Agent

This RA wraps the ceph sysvinit script. As of Jewel, none of the supported
distros are using sysvinit anymore. So, drop it.

Incidentally, Pacemaker can control systemd units without any wrappers.

References: http://tracker.ceph.com/issues/14828
Signed-off-by: Nathan Cutler <ncutler@suse.com>
This commit is contained in:
Nathan Cutler 2016-04-23 20:33:17 +02:00
parent d6e96d61c4
commit bb624c7334
4 changed files with 2 additions and 194 deletions

View File

@ -1192,10 +1192,6 @@ fi
%dir %{_prefix}/lib/ocf
%dir %{_prefix}/lib/ocf/resource.d
%dir %{_prefix}/lib/ocf/resource.d/ceph
%exclude %{_prefix}/lib/ocf/resource.d/ceph/ceph
%exclude %{_prefix}/lib/ocf/resource.d/ceph/mds
%exclude %{_prefix}/lib/ocf/resource.d/ceph/mon
%exclude %{_prefix}/lib/ocf/resource.d/ceph/osd
%{_prefix}/lib/ocf/resource.d/ceph/rbd
%endif

View File

@ -1354,7 +1354,6 @@ AC_CONFIG_HEADERS([src/acconfig.h])
AC_CONFIG_FILES([Makefile
src/Makefile
src/ocf/Makefile
src/ocf/ceph
src/ocf/rbd
src/java/Makefile
systemd/Makefile

View File

@ -1,4 +1,4 @@
EXTRA_DIST = ceph.in Makefile.in
EXTRA_DIST = Makefile.in
if WITH_OCF
# The root of the OCF resource agent hierarchy
@ -9,15 +9,5 @@ ocfdir = $(prefix)/lib/ocf
# The ceph provider directory
radir = $(ocfdir)/resource.d/$(PACKAGE_NAME)
ra_SCRIPTS = ceph rbd
install-data-hook:
$(LN_S) ceph $(DESTDIR)$(radir)/osd
$(LN_S) ceph $(DESTDIR)$(radir)/mds
$(LN_S) ceph $(DESTDIR)$(radir)/mon
uninstall-hook:
rm -f $(DESTDIR)$(radir)/osd
rm -f $(DESTDIR)$(radir)/mds
rm -f $(DESTDIR)$(radir)/mon
ra_SCRIPTS = rbd
endif

View File

@ -1,177 +0,0 @@
#!/bin/sh
# Initialization:
: ${OCF_FUNCTIONS_DIR=${OCF_ROOT}/lib/heartbeat}
. ${OCF_FUNCTIONS_DIR}/ocf-shellfuncs
# Convenience variables
# When sysconfdir isn't passed in as a configure flag,
# it's defined in terms of prefix
prefix=@prefix@
CEPH_INIT=@sysconfdir@/init.d/ceph
ceph_meta_data() {
local longdesc
local shortdesc
case $__SCRIPT_NAME in
"osd")
longdesc="Wraps the ceph init script to provide an OCF resource agent that manages and monitors the Ceph OSD service."
shortdesc="Manages a Ceph OSD instance."
;;
"mds")
longdesc="Wraps the ceph init script to provide an OCF resource agent that manages and monitors the Ceph MDS service."
shortdesc="Manages a Ceph MDS instance."
;;
"mon")
longdesc="Wraps the ceph init script to provide an OCF resource agent that manages and monitors the Ceph MON service."
shortdesc="Manages a Ceph MON instance."
;;
esac
cat <<EOF
<?xml version="1.0"?>
<!DOCTYPE resource-agent SYSTEM "ra-api-1.dtd">
<resource-agent name="${__SCRIPT_NAME}" version="0.1">
<version>0.1</version>
<longdesc lang="en">${longdesc}</longdesc>
<shortdesc lang="en">${shortdesc}</shortdesc>
<parameters/>
<actions>
<action name="start" timeout="20" />
<action name="stop" timeout="20" />
<action name="monitor" timeout="20"
interval="10"/>
<action name="meta-data" timeout="5" />
<action name="validate-all" timeout="20" />
</actions>
</resource-agent>
EOF
}
ceph_action() {
local init_action
init_action="$1"
case ${__SCRIPT_NAME} in
osd|mds|mon)
ocf_run $CEPH_INIT $init_action ${__SCRIPT_NAME}
;;
*)
ocf_run $CEPH_INIT $init_action
;;
esac
}
ceph_validate_all() {
# Do we have the ceph init script?
check_binary @sysconfdir@/init.d/ceph
# Do we have a configuration file?
[ -e @sysconfdir@/ceph/ceph.conf ] || exit $OCF_ERR_INSTALLED
}
ceph_monitor() {
local rc
ceph_action status
# 0: running, and fully caught up with master
# 3: gracefully stopped
# any other: error
case "$?" in
0)
rc=$OCF_SUCCESS
ocf_log debug "Resource is running"
;;
3)
rc=$OCF_NOT_RUNNING
ocf_log debug "Resource is not running"
;;
*)
ocf_log err "Resource has failed"
rc=$OCF_ERR_GENERIC
esac
return $rc
}
ceph_start() {
# if resource is already running, bail out early
if ceph_monitor; then
ocf_log info "Resource is already running"
return $OCF_SUCCESS
fi
ceph_action start
while ! ceph_monitor; do
ocf_log debug "Resource has not started yet, waiting"
sleep 1
done
return $OCF_SUCCESS
}
ceph_stop() {
local rc
# exit immediately if configuration is not valid
ceph_validate_all || exit $?
ceph_monitor
rc=$?
case "$rc" in
"$OCF_SUCCESS")
# Currently running. Normal, expected behavior.
ocf_log debug "Resource is currently running"
;;
"$OCF_NOT_RUNNING")
# Currently not running. Nothing to do.
ocf_log info "Resource is already stopped"
return $OCF_SUCCESS
;;
esac
ceph_action stop
while ceph_monitor; do
ocf_log debug "Resource has not stopped yet, waiting"
sleep 1
done
# only return $OCF_SUCCESS if _everything_ succeeded as expected
return $OCF_SUCCESS
}
# Make sure meta-data and usage always succeed
case $__OCF_ACTION in
meta-data) ceph_meta_data
exit $OCF_SUCCESS
;;
usage|help) ceph_usage
exit $OCF_SUCCESS
;;
esac
# Anything other than meta-data and usage must pass validation
ceph_validate_all || exit $?
# Translate each action into the appropriate function call
case $__OCF_ACTION in
start) ceph_start;;
stop) ceph_stop;;
status|monitor) ceph_monitor;;
reload) ocf_log info "Reloading..."
ceph_start
;;
validate-all) ;;
*) ceph_usage
exit $OCF_ERR_UNIMPLEMENTED
;;
esac
rc=$?
exit $rc