mirror of
https://github.com/linuxkit/linuxkit.git
synced 2025-07-29 21:42:39 +00:00
Merge pull request #721 from justincormack/vsudd-before-syslog
Always start vsudd before syslog
This commit is contained in:
commit
f81abe7a39
76
alpine/etc/init.d/sysklogd
Executable file
76
alpine/etc/init.d/sysklogd
Executable file
@ -0,0 +1,76 @@
|
|||||||
|
#!/sbin/openrc-run
|
||||||
|
# Copyright 1999-2011 Gentoo Foundation
|
||||||
|
# Distributed under the terms of the GNU General Public License, v2 or later
|
||||||
|
# $Header: /var/cvsroot/gentoo-x86/app-admin/sysklogd/files/sysklogd.rc7,v 1.1 2011/09/14 22:22:57 polynomial-c Exp $
|
||||||
|
|
||||||
|
extra_started_commands="reload"
|
||||||
|
|
||||||
|
depend() {
|
||||||
|
need clock hostname localmount vsudd
|
||||||
|
before net
|
||||||
|
provide logger
|
||||||
|
}
|
||||||
|
|
||||||
|
start_daemon() {
|
||||||
|
local retval=0
|
||||||
|
local daemon="$1"
|
||||||
|
local options="$2"
|
||||||
|
|
||||||
|
[ -z "${daemon}" ] && return 1
|
||||||
|
|
||||||
|
ebegin "sysklogd -> start: ${daemon}"
|
||||||
|
start-stop-daemon --start --exec /usr/sbin/"${daemon}" \
|
||||||
|
--pidfile /var/run/"${daemon}".pid -- ${options}
|
||||||
|
retval=$?
|
||||||
|
eend ${retval} "Failed to start ${daemon}"
|
||||||
|
|
||||||
|
return ${retval}
|
||||||
|
}
|
||||||
|
|
||||||
|
stop_daemon() {
|
||||||
|
local retval=0
|
||||||
|
local daemon="$1"
|
||||||
|
|
||||||
|
[ -z "${daemon}" ] && return 1
|
||||||
|
|
||||||
|
ebegin "sysklogd -> stop: ${daemon}"
|
||||||
|
# syslogd can be stubborn some times (--retry 15)...
|
||||||
|
start-stop-daemon --stop --retry 15 --quiet --pidfile /var/run/"${daemon}".pid
|
||||||
|
retval=$?
|
||||||
|
eend ${retval} "Failed to stop ${daemon}"
|
||||||
|
|
||||||
|
return ${retval}
|
||||||
|
}
|
||||||
|
|
||||||
|
start() {
|
||||||
|
start_daemon "syslogd" "${SYSLOGD}" || return 1
|
||||||
|
|
||||||
|
# klogd do not always start proper if started too early
|
||||||
|
sleep 1
|
||||||
|
|
||||||
|
if ! start_daemon "klogd" "${KLOGD}" ; then
|
||||||
|
stop_daemon "syslogd"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
stop() {
|
||||||
|
stop_daemon "klogd" || return 1
|
||||||
|
stop_daemon "syslogd" || return 1
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
reload() {
|
||||||
|
local ret=0
|
||||||
|
|
||||||
|
ebegin "Reloading configuration"
|
||||||
|
|
||||||
|
start-stop-daemon --signal HUP --pidfile /var/run/syslogd.pid
|
||||||
|
ret=$((${ret} + $?))
|
||||||
|
start-stop-daemon --signal USR1 --pidfile /var/run/klogd.pid
|
||||||
|
ret=$((${ret} + $?))
|
||||||
|
|
||||||
|
eend ${ret}
|
||||||
|
}
|
@ -2,11 +2,6 @@
|
|||||||
|
|
||||||
description="vsock socket proxy client"
|
description="vsock socket proxy client"
|
||||||
|
|
||||||
depend()
|
|
||||||
{
|
|
||||||
before logger docker
|
|
||||||
}
|
|
||||||
|
|
||||||
start()
|
start()
|
||||||
{
|
{
|
||||||
[ "$(mobyplatform)" != "mac" ] && [ "$(mobyplatform)" != "windows" ] && exit 0
|
[ "$(mobyplatform)" != "mac" ] && [ "$(mobyplatform)" != "windows" ] && exit 0
|
||||||
@ -31,10 +26,11 @@ start()
|
|||||||
start-stop-daemon --start --quiet \
|
start-stop-daemon --start --quiet \
|
||||||
--background \
|
--background \
|
||||||
--exec /sbin/vsudd \
|
--exec /sbin/vsudd \
|
||||||
--make-pidfile --pidfile ${PIDFILE} \
|
|
||||||
-- -inport "${DOCKER_PORT}:unix:/var/run/docker.sock" \
|
-- -inport "${DOCKER_PORT}:unix:/var/run/docker.sock" \
|
||||||
${SYSLOG_OPT} \
|
${SYSLOG_OPT} \
|
||||||
-detach
|
-pidfile ${PIDFILE}
|
||||||
|
|
||||||
|
[ -n "${SYSLOG_OPT}" ] && ewaitfile 10 /var/run/syslog.vsock
|
||||||
|
|
||||||
eend $? "Failed to start vsudd"
|
eend $? "Failed to start vsudd"
|
||||||
}
|
}
|
||||||
|
@ -31,6 +31,7 @@ var (
|
|||||||
detach bool
|
detach bool
|
||||||
useHVsock bool
|
useHVsock bool
|
||||||
syslogFwd string
|
syslogFwd string
|
||||||
|
pidfile string
|
||||||
)
|
)
|
||||||
|
|
||||||
type vConn interface {
|
type vConn interface {
|
||||||
@ -60,12 +61,25 @@ func init() {
|
|||||||
flag.Var(&inForwards, "inport", "incoming port to forward")
|
flag.Var(&inForwards, "inport", "incoming port to forward")
|
||||||
flag.StringVar(&syslogFwd, "syslog", "", "enable syslog forwarding")
|
flag.StringVar(&syslogFwd, "syslog", "", "enable syslog forwarding")
|
||||||
flag.BoolVar(&detach, "detach", false, "detach from terminal")
|
flag.BoolVar(&detach, "detach", false, "detach from terminal")
|
||||||
|
flag.StringVar(&pidfile, "pidfile", "", "pid file")
|
||||||
}
|
}
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
log.SetFlags(log.LstdFlags)
|
log.SetFlags(log.LstdFlags)
|
||||||
flag.Parse()
|
flag.Parse()
|
||||||
|
|
||||||
|
if pidfile != "" {
|
||||||
|
file, err := os.OpenFile(pidfile, os.O_WRONLY|os.O_CREATE|os.O_TRUNC, 0600)
|
||||||
|
if err != nil {
|
||||||
|
log.Fatalln("Failed to open pidfile", err)
|
||||||
|
}
|
||||||
|
_, err = fmt.Fprintf(file, "%d", os.Getpid())
|
||||||
|
file.Close()
|
||||||
|
if err != nil {
|
||||||
|
log.Fatalln("Failed to write pid", err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if detach {
|
if detach {
|
||||||
syslog, err := syslog.New(syslog.LOG_INFO|syslog.LOG_DAEMON, "vsudd")
|
syslog, err := syslog.New(syslog.LOG_INFO|syslog.LOG_DAEMON, "vsudd")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
Loading…
Reference in New Issue
Block a user