Change c/r leaverunning to exit
This allows the default checkpoint functionality to leave the container running after it has been checkpointed. Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
This commit is contained in:
parent
c10b3cde9f
commit
e21364603e
4 changed files with 17 additions and 10 deletions
|
@ -338,7 +338,7 @@ func (s *server) createCheckpoint(w http.ResponseWriter, r *http.Request) {
|
|||
e.Checkpoint = &runtime.Checkpoint{
|
||||
Name: name,
|
||||
Path: cp.Path,
|
||||
Running: cp.Running,
|
||||
Exit: cp.Exit,
|
||||
Tcp: cp.Tcp,
|
||||
UnixSockets: cp.UnixSockets,
|
||||
Shell: cp.Shell,
|
||||
|
|
|
@ -59,7 +59,7 @@ type Event struct {
|
|||
type Checkpoint struct {
|
||||
Name string `json:"name,omitempty"`
|
||||
Path string `json:"path"`
|
||||
Running bool `json:"running,omitempty"`
|
||||
Exit bool `json:"exit,omitempty"`
|
||||
Tcp bool `json:"tcp"`
|
||||
UnixSockets bool `json:"unixSockets"`
|
||||
Shell bool `json:"shell"`
|
||||
|
|
|
@ -217,7 +217,7 @@ func (c *libcontainerContainer) Checkpoint(cp runtime.Checkpoint) error {
|
|||
|
||||
func (c *libcontainerContainer) createCheckpointOpts(cp *runtime.Checkpoint) *libcontainer.CriuOpts {
|
||||
opts := libcontainer.CriuOpts{}
|
||||
opts.LeaveRunning = cp.Running
|
||||
opts.LeaveRunning = !cp.Exit
|
||||
opts.ShellJob = cp.Shell
|
||||
opts.TcpEstablished = cp.Tcp
|
||||
opts.ExternalUnixConnections = cp.UnixSockets
|
||||
|
|
|
@ -30,13 +30,20 @@ type Stdio struct {
|
|||
}
|
||||
|
||||
type Checkpoint struct {
|
||||
Timestamp time.Time `json:"timestamp,omitempty"`
|
||||
Path string `json:"path,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
Tcp bool `json:"tcp"`
|
||||
UnixSockets bool `json:"unixSockets"`
|
||||
Shell bool `json:"shell"`
|
||||
Running bool `json:"running,omitempty"`
|
||||
// Timestamp is the time that checkpoint happened
|
||||
Timestamp time.Time `json:"timestamp,omitempty"`
|
||||
// Path is the custom path to the checkpoint, this is optional
|
||||
Path string `json:"path,omitempty"`
|
||||
// Name is the name of the checkpoint
|
||||
Name string `json:"name,omitempty"`
|
||||
// Tcp checkpoints open tcp connections
|
||||
Tcp bool `json:"tcp"`
|
||||
// UnixSockets persists unix sockets in the checkpoint
|
||||
UnixSockets bool `json:"unixSockets"`
|
||||
// Shell persists tty sessions in the checkpoint
|
||||
Shell bool `json:"shell"`
|
||||
// Exit exits the container after the checkpoint is finished
|
||||
Exit bool `json:"exit,omitempty"`
|
||||
}
|
||||
|
||||
type Container interface {
|
||||
|
|
Loading…
Reference in a new issue