mirror of
https://github.com/ceph/ceph
synced 2024-12-16 16:39:21 +00:00
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:
parent
d6e96d61c4
commit
bb624c7334
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
177
src/ocf/ceph.in
177
src/ocf/ceph.in
@ -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
|
Loading…
Reference in New Issue
Block a user