Add id to state command to return single container

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
This commit is contained in:
Michael Crosby 2016-02-11 12:20:29 -08:00
parent 58c5eb5ecb
commit 76d69b4ed8
8 changed files with 100 additions and 78 deletions

View file

@ -18,11 +18,7 @@ func (h *AddProcessEvent) Handle(e *Event) error {
if !ok {
return ErrContainerNotFound
}
process, err := ci.container.Exec(e.Pid, *e.ProcessSpec, runtime.Stdio{
Stdin: e.Stdin,
Stdout: e.Stdout,
Stderr: e.Stderr,
})
process, err := ci.container.Exec(e.Pid, *e.ProcessSpec, runtime.NewStdio(e.Stdin, e.Stdout, e.Stderr))
if err != nil {
return err
}

View file

@ -5,6 +5,14 @@ type GetContainersEvent struct {
}
func (h *GetContainersEvent) Handle(e *Event) error {
if e.ID != "" {
ci := h.s.containers[e.ID]
if ci == nil {
return ErrContainerNotFound
}
e.Containers = append(e.Containers, ci.container)
return nil
}
for _, i := range h.s.containers {
e.Containers = append(e.Containers, i.container)
}

View file

@ -38,11 +38,7 @@ func (w *worker) Start() {
defer w.wg.Done()
for t := range w.s.tasks {
started := time.Now()
process, err := t.Container.Start(t.Checkpoint, runtime.Stdio{
Stdin: t.Stdin,
Stdout: t.Stdout,
Stderr: t.Stderr,
})
process, err := t.Container.Start(t.Checkpoint, runtime.NewStdio(t.Stdin, t.Stdout, t.Stderr))
if err != nil {
evt := NewEvent(DeleteEventType)
evt.ID = t.Container.ID()