Remove logging from init
Because namespaces are being joined in the C init and because errors reported during init are sent back to the parent process there is no reason to do logging in the init as it cannot open the file on the host side for `exec` anyways. Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
This commit is contained in:
parent
8f206929b2
commit
fa48b64e50
4
start.go
4
start.go
|
@ -85,7 +85,9 @@ var initCommand = cli.Command{
|
|||
runtime.LockOSThread()
|
||||
factory, _ := libcontainer.New("")
|
||||
if err := factory.StartInitialization(); err != nil {
|
||||
fatal(err)
|
||||
// as the error is sent back to the parent there is no need to log
|
||||
// or write it to stderr because the parent process will handle this
|
||||
os.Exit(1)
|
||||
}
|
||||
panic("libcontainer: container init failed to exec")
|
||||
},
|
||||
|
|
22
utils.go
22
utils.go
|
@ -150,33 +150,15 @@ func containerPreload(context *cli.Context) error {
|
|||
|
||||
// loadFactory returns the configured factory instance for execing containers.
|
||||
func loadFactory(context *cli.Context) (libcontainer.Factory, error) {
|
||||
var (
|
||||
debug = "false"
|
||||
root = context.GlobalString("root")
|
||||
)
|
||||
if context.GlobalBool("debug") {
|
||||
debug = "true"
|
||||
}
|
||||
root := context.GlobalString("root")
|
||||
abs, err := filepath.Abs(root)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
var logAbs string
|
||||
if l := context.GlobalString("log"); l != "" {
|
||||
if logAbs, err = filepath.Abs(context.GlobalString("log")); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
return libcontainer.New(abs, libcontainer.Cgroupfs, func(l *libcontainer.LinuxFactory) error {
|
||||
l.CriuPath = context.GlobalString("criu")
|
||||
return nil
|
||||
},
|
||||
libcontainer.InitArgs(os.Args[0],
|
||||
"--log", logAbs,
|
||||
"--log-format", context.GlobalString("log-format"),
|
||||
fmt.Sprintf("--debug=%s", debug),
|
||||
"init"),
|
||||
)
|
||||
})
|
||||
}
|
||||
|
||||
// getContainer returns the specified container instance by loading it from state
|
||||
|
|
Loading…
Reference in New Issue