2015-12-17 16:07:04 -08:00
|
|
|
package supervisor
|
2015-12-03 16:07:53 -08:00
|
|
|
|
2016-02-17 10:55:54 -08:00
|
|
|
import "github.com/docker/containerd/runtime"
|
|
|
|
|
2016-02-11 17:26:24 -08:00
|
|
|
type CreateCheckpointTask struct {
|
2016-02-17 10:55:54 -08:00
|
|
|
baseTask
|
|
|
|
ID string
|
|
|
|
Checkpoint *runtime.Checkpoint
|
2015-12-03 16:07:53 -08:00
|
|
|
}
|
|
|
|
|
2016-02-17 10:55:54 -08:00
|
|
|
func (s *Supervisor) createCheckpoint(t *CreateCheckpointTask) error {
|
|
|
|
i, ok := s.containers[t.ID]
|
2016-02-01 15:07:02 -08:00
|
|
|
if !ok {
|
|
|
|
return ErrContainerNotFound
|
|
|
|
}
|
2016-02-17 10:55:54 -08:00
|
|
|
return i.container.Checkpoint(*t.Checkpoint)
|
2015-12-03 16:07:53 -08:00
|
|
|
}
|
2015-12-04 14:00:07 -08:00
|
|
|
|
2016-02-11 17:26:24 -08:00
|
|
|
type DeleteCheckpointTask struct {
|
2016-02-17 10:55:54 -08:00
|
|
|
baseTask
|
|
|
|
ID string
|
|
|
|
Checkpoint *runtime.Checkpoint
|
2015-12-04 14:00:07 -08:00
|
|
|
}
|
|
|
|
|
2016-02-17 10:55:54 -08:00
|
|
|
func (s *Supervisor) deleteCheckpoint(t *DeleteCheckpointTask) error {
|
|
|
|
i, ok := s.containers[t.ID]
|
2016-02-01 15:07:02 -08:00
|
|
|
if !ok {
|
|
|
|
return ErrContainerNotFound
|
|
|
|
}
|
2016-02-17 10:55:54 -08:00
|
|
|
return i.container.DeleteCheckpoint(t.Checkpoint.Name)
|
2015-12-04 14:00:07 -08:00
|
|
|
}
|