#!/bin/bash # # sfa Wraps PLCAPI into the SFA compliant API # # hopefully right after plc # chkconfig: 2345 61 39 # # description: Wraps PLCAPI into the SFA compliant API # # Source config [ -f /etc/sfa/sfa_config ] && . /etc/sfa/sfa_config # source function library . /etc/init.d/functions # Regenerate configuration files - almost verbatim from plc.init reload () { force=$1 # Regenerate the main configuration file from default values # overlaid with site-specific and current values. # Thierry -- 2007-07-05 : values in plc_config.xml are *not* taken into account here files=( /etc/sfa/default_config.xml /etc/sfa/configs/site.xml ) for file in "${files[@]}" ; do if [ -n "$force" -o $file -nt /etc/sfa/sfa_config.xml ] ; then tmp=$(mktemp /tmp/sfa_config.xml.XXXXXX) plc-config --xml "${files[@]}" >$tmp if [ $? -eq 0 ] ; then mv $tmp /etc/sfa/sfa_config.xml chmod 444 /etc/sfa/sfa_config.xml else echo "SFA: Warning: Invalid configuration file(s) detected" rm -f $tmp fi break fi done # Convert configuration to various formats if [ -n "$force" -o /etc/sfa/sfa_config.xml -nt /etc/sfa/sfa_config ] ; then plc-config --shell /etc/sfa/sfa_config.xml >/etc/sfa/sfa_config fi if [ -n "$force" -o /etc/sfa/sfa_config.xml -nt /etc/sfa/sfa_config.py ] ; then plc-config --python /etc/sfa/sfa_config.xml >/etc/sfa/sfa_config.py fi # if [ -n "$force" -o /etc/sfa/sfa_config.xml -nt /etc/sfa/php/sfa_config.php ] ; then # mkdir -p /etc/sfa/php # plc-config --php /etc/sfa/sfa_config.xml >/etc/sfa/php/sfa_config.php # fi # [re]generate the sfa_component_config gen-sfa-cm-config.py } start() { reload # install peer certs action $"SFA installing peer certs" daemon /usr/bin/sfa-start.py -t -d $OPTIONS if [ "$SFA_REGISTRY_ENABLED" -eq 1 ]; then action $"SFA Registry" daemon /usr/bin/sfa-start.py -r -d $OPTIONS fi if [ "$SFA_AGGREGATE_ENABLED" -eq 1 ]; then action $"SFA Aggregate" daemon /usr/bin/sfa-start.py -a -d $OPTIONS fi if [ "$SFA_SM_ENABLED" -eq 1 ]; then action "SFA SliceMgr" daemon /usr/bin/sfa-start.py -s -d $OPTIONS fi if [ "$SFA_FLASHPOLICY_ENABLED" -eq 1 ]; then action "Flash Policy Server" daemon /usr/bin/sfa_flashpolicy.py --file="$SFA_FLASHPOLICY_CONFIG_FILE" --port=$SFA_FLASHPOLICY_PORT -d fi RETVAL=$? [ $RETVAL -eq 0 ] && touch /var/lock/subsys/sfa-start.py } stop() { action $"Shutting down SFA" killproc sfa-start.py RETVAL=$? [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/sfa-start.py } case "$1" in start) start ;; stop) stop ;; reload) reload force ;; restart) stop; start ;; condrestart) if [ -f /var/lock/subsys/sfa-start.py ]; then stop start fi ;; status) status sfa-start.py RETVAL=$? ;; *) echo $"Usage: $0 {start|stop|reload|restart|condrestart|status}" exit 1 ;; esac exit $RETVAL