Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 16 additions & 2 deletions cmd/podman/restore.go
Original file line number Diff line number Diff line change
Expand Up @@ -76,8 +76,22 @@ func restoreCmd(c *cliconfig.RestoreValues, cmd *cobra.Command) error {
return errors.Errorf("--tcp-established cannot be used with --name")
}

if (c.Import != "") && (c.All || c.Latest) {
return errors.Errorf("Cannot use --import and --all or --latest at the same time")
argLen := len(c.InputArgs)
if c.Import != "" {
if c.All || c.Latest {
return errors.Errorf("Cannot use --import with --all or --latest")
}
if argLen > 0 {
return errors.Errorf("Cannot use --import with positional arguments")
}
}

if (c.All || c.Latest) && argLen > 0 {
return errors.Errorf("no arguments are needed with --all or --latest")
}
if argLen < 1 && !c.All && !c.Latest && c.Import == "" {
return errors.Errorf("you must provide at least one name or id")
}

return runtime.Restore(getContext(), c, options)
}
4 changes: 2 additions & 2 deletions docs/podman-container-restore.1.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,8 @@ connections.
**--import, -i**

Import a checkpoint tar.gz file, which was exported by Podman. This can be used
to import a checkpointed container from another host. It is not necessary to specify
a container when restoring from an exported checkpoint.
to import a checkpointed container from another host. Do not specify a *container*
argument when using this option.

**--name, -n**

Expand Down
4 changes: 1 addition & 3 deletions test/system/005-info.bats
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ Distribution:
OCIRuntime:\\\s\\\+package:
os:
rootless:
insecure registries:
registries:
store:
GraphDriverName:
GraphRoot:
Expand All @@ -37,9 +37,7 @@ RunRoot:

tests="
host.BuildahVersion | [0-9.]
host.Conmon.package | $expr_nvr
host.Conmon.path | $expr_path
host.OCIRuntime.package | $expr_nvr
host.OCIRuntime.path | $expr_path
store.ConfigFile | $expr_path
store.GraphDriverName | [a-z0-9]\\\+\\\$
Expand Down
4 changes: 4 additions & 0 deletions test/system/120-load.bats
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,10 @@ verify_iid_and_name() {


@test "podman load - will not read from tty" {
if [ ! -t 0 ]; then
skip "STDIN is not a tty"
fi

run_podman 125 load
is "$output" \
"Error: cannot read from terminal. Use command-line redirection" \
Expand Down