Pass along syslog variable to podman cleanup processes

As of now, there is no way to debug podman clean up processes.
They are started by conmon with no stdout/stderr and log nowhere.
This allows us to actually figure out what is going on when a
cleanup process runs.

Signed-off-by: Matthew Heon <matthew.heon@gmail.com>
This commit is contained in:
Matthew Heon
2018-10-08 11:08:14 -04:00
parent b5f4bb15a5
commit f87f0abb77
2 changed files with 8 additions and 3 deletions

View File

@ -782,6 +782,7 @@ func parseCreateOpts(ctx context.Context, c *cli.Context, runtime *libpod.Runtim
WorkDir: workDir,
Rootfs: rootfs,
VolumesFrom: c.StringSlice("volumes-from"),
Syslog: c.GlobalBool("syslog"),
}
if config.Privileged {

View File

@ -133,6 +133,7 @@ type CreateConfig struct {
SecurityOpts []string
Rootfs string
LocalVolumes []string //Keeps track of the built-in volumes of container used in the --volumes-from flag
Syslog bool // Whether to enable syslog on exit commands
}
func u32Ptr(i int64) *uint32 { u := uint32(i); return &u }
@ -287,8 +288,8 @@ func (c *CreateConfig) GetTmpfsMounts() []spec.Mount {
return m
}
func createExitCommand(runtime *libpod.Runtime) []string {
config := runtime.GetConfig()
func (c *CreateConfig) createExitCommand() []string {
config := c.Runtime.GetConfig()
cmd, _ := os.Executable()
command := []string{cmd,
@ -301,6 +302,9 @@ func createExitCommand(runtime *libpod.Runtime) []string {
if config.StorageConfig.GraphDriverName != "" {
command = append(command, []string{"--storage-driver", config.StorageConfig.GraphDriverName}...)
}
if c.Syslog {
command = append(command, "--syslog")
}
return append(command, []string{"container", "cleanup"}...)
}
@ -474,7 +478,7 @@ func (c *CreateConfig) GetContainerCreateOptions(runtime *libpod.Runtime) ([]lib
options = append(options, libpod.WithCgroupParent(c.CgroupParent))
}
if c.Detach {
options = append(options, libpod.WithExitCommand(createExitCommand(runtime)))
options = append(options, libpod.WithExitCommand(c.createExitCommand()))
}
return options, nil