Return the runtime error message on failed pause and resume calls

Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
This commit is contained in:
Kenfe-Mickael Laventure 2016-03-29 11:40:05 -07:00
parent aa976325f5
commit fd888e8f34
2 changed files with 12 additions and 4 deletions

View file

@ -53,13 +53,21 @@ func (c *container) Runtime() string {
func (c *container) Pause() error { func (c *container) Pause() error {
args := c.runtimeArgs args := c.runtimeArgs
args = append(args, "pause", c.id) args = append(args, "pause", c.id)
return exec.Command(c.runtime, args...).Run() b, err := exec.Command(c.runtime, args...).CombinedOutput()
if err != nil {
return fmt.Errorf(string(b))
}
return nil
} }
func (c *container) Resume() error { func (c *container) Resume() error {
args := c.runtimeArgs args := c.runtimeArgs
args = append(args, "resume", c.id) args = append(args, "resume", c.id)
return exec.Command(c.runtime, args...).Run() b, err := exec.Command(c.runtime, args...).CombinedOutput()
if err != nil {
return fmt.Errorf(string(b))
}
return nil
} }
func (c *container) Checkpoints() ([]Checkpoint, error) { func (c *container) Checkpoints() ([]Checkpoint, error) {

View file

@ -23,7 +23,7 @@ func (s *Supervisor) updateContainer(t *UpdateTask) error {
switch t.State { switch t.State {
case runtime.Running: case runtime.Running:
if err := container.Resume(); err != nil { if err := container.Resume(); err != nil {
return ErrUnknownContainerStatus return err
} }
s.notifySubscribers(Event{ s.notifySubscribers(Event{
ID: t.ID, ID: t.ID,
@ -32,7 +32,7 @@ func (s *Supervisor) updateContainer(t *UpdateTask) error {
}) })
case runtime.Paused: case runtime.Paused:
if err := container.Pause(); err != nil { if err := container.Pause(); err != nil {
return ErrUnknownContainerStatus return err
} }
s.notifySubscribers(Event{ s.notifySubscribers(Event{
ID: t.ID, ID: t.ID,