Merge pull request #27467 from tonistiigi/attach-cb
Move stdio attach from libcontainerd backend to callback Upstream-commit: 8ed31089c03c36954e95c2066b1f3724e2d5c849 Component: engine
This commit is contained in:
@ -98,24 +98,6 @@ func (pm *Manager) StateChanged(id string, e libcontainerd.StateInfo) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// AttachStreams attaches io streams to the plugin
|
||||
func (pm *Manager) AttachStreams(id string, iop libcontainerd.IOPipe) error {
|
||||
iop.Stdin.Close()
|
||||
|
||||
logger := logrus.New()
|
||||
logger.Hooks.Add(logHook{id})
|
||||
// TODO: cache writer per id
|
||||
w := logger.Writer()
|
||||
go func() {
|
||||
io.Copy(w, iop.Stdout)
|
||||
}()
|
||||
go func() {
|
||||
// TODO: update logrus and use logger.WriterLevel
|
||||
io.Copy(w, iop.Stderr)
|
||||
}()
|
||||
return nil
|
||||
}
|
||||
|
||||
func (pm *Manager) init() error {
|
||||
dt, err := os.Open(filepath.Join(pm.libRoot, "plugins.json"))
|
||||
if err != nil {
|
||||
@ -167,3 +149,22 @@ func (l logHook) Fire(entry *logrus.Entry) error {
|
||||
entry.Data = logrus.Fields{"plugin": l.id}
|
||||
return nil
|
||||
}
|
||||
|
||||
func attachToLog(id string) func(libcontainerd.IOPipe) error {
|
||||
return func(iop libcontainerd.IOPipe) error {
|
||||
iop.Stdin.Close()
|
||||
|
||||
logger := logrus.New()
|
||||
logger.Hooks.Add(logHook{id})
|
||||
// TODO: cache writer per id
|
||||
w := logger.Writer()
|
||||
go func() {
|
||||
io.Copy(w, iop.Stdout)
|
||||
}()
|
||||
go func() {
|
||||
// TODO: update logrus and use logger.WriterLevel
|
||||
io.Copy(w, iop.Stderr)
|
||||
}()
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user