Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- root@node3:~# grep -iEv '^$|^#' /etc/init.d/neutron-plugin-openvswitch-agent
- DESC="Openstack Neutron OpenVSwitch Plugin Agent"
- PROJECT_NAME=neutron
- NAME=${PROJECT_NAME}-openvswitch-agent
- CONF_FILE=/etc/neutron/plugin.ini
- DAEMON_ARGS=""
- [ -r /usr/share/neutron-common/plugin_guess_func ] || exit 0
- . /usr/share/neutron-common/plugin_guess_func
- if ! [ -r /etc/neutron/neutron.conf ] ; then
- echo "Cloud not read /etc/neutron/neutron.conf: exiting"
- exit 0
- fi
- CURRENT_PLUGIN=`grep "^[ \t]*core_plugin[ \t]*=[ \t]*[._a-zA-Z0-9]*\$" /etc/neutron/neutron.conf | sed -e 's/^[ \t]*core_plugin[ \t]*=[ \t]*//'`
- if [ -z "${CURRENT_PLUGIN}" ] ; then
- echo "No core_plugin= value found: please set it and try again"
- exit 0
- fi
- neutron_core_plugin_to_plugin_name ${CURRENT_PLUGIN}
- neutron_plugin_ini_path ${NEUTRON_PLUGIN_NAME}
- if [ ${NEUTRON_PLUGIN_NAME} = ml2 ]; then
- DAEMON_ARGS="${DAEMON_ARGS} --config-file=${CONF_FILE}"
- fi
- if [ -z "${NEUTRON_PLUGIN_CONFIG}" ] ; then
- echo "Plugin not recognized: please edit /etc/init.d/neutron-server to select the correct .ini file to load for your plugin"
- else
- DAEMON_ARGS="${DAEMON_ARGS} --config-file=${NEUTRON_PLUGIN_CONFIG}"
- DESC="${DESC} with ${NEUTRON_PLUGIN_NAME} plugin"
- fi
- PATH=/sbin:/usr/sbin:/bin:/usr/bin
- if [ -z "${DAEMON}" ] ; then
- DAEMON=/usr/bin/${NAME}
- fi
- PIDFILE=/var/run/${PROJECT_NAME}/${NAME}.pid
- if [ -z "${SCRIPTNAME}" ] ; then
- SCRIPTNAME=/etc/init.d/${NAME}
- fi
- if [ -z "${SYSTEM_USER}" ] ; then
- SYSTEM_USER=${PROJECT_NAME}
- fi
- if [ -z "${SYSTEM_USER}" ] ; then
- SYSTEM_GROUP=${PROJECT_NAME}
- fi
- if [ "${SYSTEM_USER}" != "root" ] ; then
- STARTDAEMON_CHUID="--chuid ${SYSTEM_USER}:${SYSTEM_GROUP}"
- fi
- if [ -z "${CONFIG_FILE}" ] ; then
- CONFIG_FILE=/etc/${PROJECT_NAME}/${PROJECT_NAME}.conf
- fi
- LOGFILE=/var/log/${PROJECT_NAME}/${NAME}.log
- if [ -z "${NO_OPENSTACK_CONFIG_FILE_DAEMON_ARG}" ] ; then
- DAEMON_ARGS="${DAEMON_ARGS} --config-file=${CONFIG_FILE}"
- fi
- [ -x $DAEMON ] || exit 0
- if [ `whoami` = "root" ] ; then
- for i in lock run log lib ; do
- mkdir -p /var/$i/${PROJECT_NAME}
- chown ${SYSTEM_USER} /var/$i/${PROJECT_NAME}
- done
- fi
- . /lib/lsb/init-functions
- [ -r /etc/default/openstack ] && . /etc/default/openstack
- [ -r /etc/default/$NAME ] && . /etc/default/$NAME
- [ "x$USE_SYSLOG" = "xyes" ] && DAEMON_ARGS="$DAEMON_ARGS --use-syslog"
- [ "x$USE_LOGFILE" != "xno" ] && DAEMON_ARGS="$DAEMON_ARGS --log-file=$LOGFILE"
- do_start() {
- start-stop-daemon --start --quiet --background ${STARTDAEMON_CHUID} --make-pidfile --pidfile ${PIDFILE} --chdir /var/lib/${PROJECT_NAME} --startas $DAEMON \
- --test > /dev/null || return 1
- start-stop-daemon --start --quiet --background ${STARTDAEMON_CHUID} --make-pidfile --pidfile ${PIDFILE} --chdir /var/lib/${PROJECT_NAME} --startas $DAEMON \
- -- $DAEMON_ARGS || return 2
- }
- do_stop() {
- start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE
- RETVAL=$?
- rm -f $PIDFILE
- return "$RETVAL"
- }
- do_systemd_start() {
- exec $DAEMON $DAEMON_ARGS
- }
- case "$1" in
- start)
- init_is_upstart > /dev/null 2>&1 && exit 1
- log_daemon_msg "Starting $DESC" "$NAME"
- do_start
- case $? in
- 0|1) log_end_msg 0 ;;
- 2) log_end_msg 1 ;;
- esac
- ;;
- stop)
- init_is_upstart > /dev/null 2>&1 && exit 0
- log_daemon_msg "Stopping $DESC" "$NAME"
- do_stop
- case $? in
- 0|1) log_end_msg 0 ;;
- 2) log_end_msg 1 ;;
- esac
- ;;
- status)
- status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
- ;;
- systemd-start)
- do_systemd_start
- ;;
- restart|force-reload)
- init_is_upstart > /dev/null 2>&1 && exit 1
- log_daemon_msg "Restarting $DESC" "$NAME"
- do_stop
- case $? in
- 0|1)
- do_start
- case $? in
- 0) log_end_msg 0 ;;
- 1) log_end_msg 1 ;; # Old process is still running
- *) log_end_msg 1 ;; # Failed to start
- esac
- ;;
- *) log_end_msg 1 ;; # Failed to stop
- esac
- ;;
- *)
- echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload|systemd-start}" >&2
- exit 3
- ;;
- esac
- exit 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement