Skip to content

Commit 090aedc

Browse files
committed
Update checkpoint/restore to match changes in latest docker.
Docker-DCO-1.1-Signed-off-by: Ross Boucher <[email protected]> (github: boucher)
1 parent 3045715 commit 090aedc

File tree

13 files changed

+30
-46
lines changed

13 files changed

+30
-46
lines changed

api/client/checkpoint.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,13 @@ package client
55
import (
66
"fmt"
77

8+
Cli "github.com/docker/docker/cli"
89
flag "github.com/docker/docker/pkg/mflag"
910
"github.com/docker/docker/runconfig"
1011
)
1112

1213
func (cli *DockerCli) CmdCheckpoint(args ...string) error {
13-
cmd := cli.Subcmd("checkpoint", []string{"CONTAINER [CONTAINER...]"}, "Checkpoint one or more running containers", true)
14+
cmd := Cli.Subcmd("checkpoint", []string{"CONTAINER [CONTAINER...]"}, "Checkpoint one or more running containers", true)
1415
cmd.Require(flag.Min, 1)
1516

1617
var (

api/client/restore.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,13 @@ package client
55
import (
66
"fmt"
77

8+
Cli "github.com/docker/docker/cli"
89
flag "github.com/docker/docker/pkg/mflag"
910
"github.com/docker/docker/runconfig"
1011
)
1112

1213
func (cli *DockerCli) CmdRestore(args ...string) error {
13-
cmd := cli.Subcmd("restore", []string{"CONTAINER [CONTAINER...]"}, "Restore one or more checkpointed containers", true)
14+
cmd := Cli.Subcmd("restore", []string{"CONTAINER [CONTAINER...]"}, "Restore one or more checkpointed containers", true)
1415
cmd.Require(flag.Min, 1)
1516

1617
var (

api/server/server_experimental_unix.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,12 @@ package server
55
import (
66
"encoding/json"
77
"fmt"
8-
"net/http"
98
"github.com/docker/docker/pkg/version"
109
"github.com/docker/docker/runconfig"
11-
)
10+
"net/http"
11+
)
1212

13-
func addExperimentalRoutes(s *Server, m map[string]map[string]HttpApiFunc) {
13+
func addExperimentalRoutes(s *Server, m map[string]map[string]HTTPAPIFunc) {
1414
m["POST"]["/containers/{name:.*}/checkpoint"] = s.postContainersCheckpoint
1515
m["POST"]["/containers/{name:.*}/restore"] = s.postContainersRestore
1616
}

api/server/server_stub.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
package server
44

5-
func addExperimentalRoutes(s *Server, m map[string]map[string]HttpApiFunc) {
5+
func addExperimentalRoutes(s *Server, m map[string]map[string]HTTPAPIFunc) {
66

77
}
88

daemon/checkpoint.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ func (daemon *Daemon) ContainerCheckpoint(name string, opts *runconfig.CriuConfi
1919
return fmt.Errorf("Cannot checkpoint container %s: %s", name, err)
2020
}
2121

22-
container.LogEvent("checkpoint")
22+
container.logEvent("checkpoint")
2323
return nil
2424
}
2525

@@ -47,10 +47,10 @@ func (daemon *Daemon) ContainerRestore(name string, opts *runconfig.CriuConfig,
4747
}
4848

4949
if err = container.Restore(opts, forceRestore); err != nil {
50-
container.LogEvent("die")
50+
container.logEvent("die")
5151
return fmt.Errorf("Cannot restore container %s: %s", name, err)
5252
}
5353

54-
container.LogEvent("restore")
54+
container.logEvent("restore")
5555
return nil
5656
}

daemon/container_checkpoint.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@ func (container *Container) Checkpoint(opts *runconfig.CriuConfig) error {
1313
}
1414

1515
if opts.LeaveRunning == false {
16-
container.ReleaseNetwork()
16+
container.releaseNetwork()
1717
}
1818

19-
if err := container.ToDisk(); err != nil {
19+
if err := container.toDisk(); err != nil {
2020
return fmt.Errorf("Cannot update config for container: %s", err)
2121
}
2222

daemon/daemon.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -899,7 +899,7 @@ func (daemon *Daemon) Checkpoint(c *Container, opts *runconfig.CriuConfig) error
899899

900900
func (daemon *Daemon) Restore(c *Container, pipes *execdriver.Pipes, restoreCallback execdriver.RestoreCallback, opts *runconfig.CriuConfig, forceRestore bool) (execdriver.ExitStatus, error) {
901901
// Mount the container's filesystem (daemon/graphdriver/aufs/aufs.go).
902-
_, err := daemon.driver.Get(c.ID, c.GetMountLabel())
902+
_, err := daemon.driver.Get(c.ID, c.getMountLabel())
903903
if err != nil {
904904
return execdriver.ExitStatus{ExitCode: 0}, err
905905
}

daemon/execdriver/lxc/driver.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -561,11 +561,11 @@ func (d *Driver) Unpause(c *execdriver.Command) error {
561561
return err
562562
}
563563

564-
func (d *driver) Checkpoint(c *execdriver.Command, opts *runconfig.CriuConfig) error {
564+
func (d *Driver) Checkpoint(c *execdriver.Command, opts *runconfig.CriuConfig) error {
565565
return fmt.Errorf("Checkpointing lxc containers not supported yet\n")
566566
}
567567

568-
func (d *driver) Restore(c *execdriver.Command, pipes *execdriver.Pipes, restoreCallback execdriver.RestoreCallback, opts *runconfig.CriuConfig, forceRestore bool) (execdriver.ExitStatus, error) {
568+
func (d *Driver) Restore(c *execdriver.Command, pipes *execdriver.Pipes, restoreCallback execdriver.RestoreCallback, opts *runconfig.CriuConfig, forceRestore bool) (execdriver.ExitStatus, error) {
569569
return execdriver.ExitStatus{ExitCode: 0}, fmt.Errorf("Restoring lxc containers not supported yet\n")
570570
}
571571

daemon/execdriver/native/create.go

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -113,24 +113,6 @@ func generateIfaceName() (string, error) {
113113
return "", errors.New("Failed to find name for new interface")
114114
}
115115

116-
// Re-create the container type from the image that was saved during checkpoint.
117-
func (d *driver) createRestoreContainer(c *execdriver.Command, imageDir string) (*libcontainer.Config, error) {
118-
// Read the container.json.
119-
f1, err := os.Open(filepath.Join(imageDir, "container.json"))
120-
if err != nil {
121-
return nil, err
122-
}
123-
defer f1.Close()
124-
125-
var container *libcontainer.Config
126-
err = json.NewDecoder(f1).Decode(&container)
127-
if err != nil {
128-
return nil, err
129-
}
130-
131-
return container, nil
132-
}
133-
134116
func (d *Driver) createNetwork(container *configs.Config, c *execdriver.Command) error {
135117
if c.Network == nil {
136118
return nil

daemon/execdriver/native/driver.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -313,7 +313,7 @@ func libcontainerCriuOpts(runconfigOpts *runconfig.CriuConfig) *libcontainer.Cri
313313
}
314314
}
315315

316-
func (d *driver) Checkpoint(c *execdriver.Command, opts *runconfig.CriuConfig) error {
316+
func (d *Driver) Checkpoint(c *execdriver.Command, opts *runconfig.CriuConfig) error {
317317
active := d.activeContainers[c.ID]
318318
if active == nil {
319319
return fmt.Errorf("active container for %s does not exist", c.ID)
@@ -329,7 +329,7 @@ func (d *driver) Checkpoint(c *execdriver.Command, opts *runconfig.CriuConfig) e
329329
return nil
330330
}
331331

332-
func (d *driver) Restore(c *execdriver.Command, pipes *execdriver.Pipes, restoreCallback execdriver.RestoreCallback, opts *runconfig.CriuConfig, forceRestore bool) (execdriver.ExitStatus, error) {
332+
func (d *Driver) Restore(c *execdriver.Command, pipes *execdriver.Pipes, restoreCallback execdriver.RestoreCallback, opts *runconfig.CriuConfig, forceRestore bool) (execdriver.ExitStatus, error) {
333333
var (
334334
cont libcontainer.Container
335335
err error

0 commit comments

Comments
 (0)