Address comments in PR 1861

Refactor configuring logging into a reusable component
so that it can be nicely used in both main() and init process init()

Co-authored-by: Georgi Sabev <georgethebeatle@gmail.com>
Co-authored-by: Giuseppe Capizzi <gcapizzi@pivotal.io>
Co-authored-by: Claudia Beresford <cberesford@pivotal.io>
Signed-off-by: Danail Branekov <danailster@gmail.com>
This commit is contained in:
Danail Branekov
2019-04-04 14:57:28 +03:00
parent feebfac358
commit c486e3c406
11 changed files with 381 additions and 134 deletions
+10 -8
View File
@@ -13,6 +13,8 @@ import (
"strconv"
"syscall" // only for Signal
"github.com/opencontainers/runc/libcontainer/logs"
"github.com/opencontainers/runc/libcontainer/cgroups"
"github.com/opencontainers/runc/libcontainer/configs"
"github.com/opencontainers/runc/libcontainer/intelrdt"
@@ -48,10 +50,10 @@ type parentProcess interface {
setExternalDescriptors(fds []string)
getChildLogs()
forwardChildLogs()
}
type pipePair struct {
type readWritePair struct {
r *os.File
w *os.File
}
@@ -60,7 +62,7 @@ type setnsProcess struct {
cmd *exec.Cmd
parentPipe *os.File
childPipe *os.File
logPipe pipePair
logPipe readWritePair
cgroupPaths map[string]string
rootlessCgroups bool
intelRdtPath string
@@ -215,15 +217,15 @@ func (p *setnsProcess) setExternalDescriptors(newFds []string) {
p.fds = newFds
}
func (p *setnsProcess) getChildLogs() {
go forwardLogs(p.logPipe.r)
func (p *setnsProcess) forwardChildLogs() {
go logs.ForwardLogs(p.logPipe.r)
}
type initProcess struct {
cmd *exec.Cmd
parentPipe *os.File
childPipe *os.File
logPipe pipePair
logPipe readWritePair
config *initConfig
manager cgroups.Manager
intelRdtManager intelrdt.Manager
@@ -525,8 +527,8 @@ func (p *initProcess) setExternalDescriptors(newFds []string) {
p.fds = newFds
}
func (p *initProcess) getChildLogs() {
go forwardLogs(p.logPipe.r)
func (p *initProcess) forwardChildLogs() {
go logs.ForwardLogs(p.logPipe.r)
}
func getPipeFds(pid int) ([]string, error) {