mirror of
https://github.com/containers/podman.git
synced 2025-07-01 16:17:06 +08:00
Merge pull request #23083 from Luap99/restore-hosts
restore: fix missing network setup
This commit is contained in:
@ -1725,6 +1725,15 @@ func (c *Container) restore(ctx context.Context, options ContainerCheckpointOpti
|
||||
}
|
||||
}
|
||||
|
||||
// setup hosts/resolv.conf files
|
||||
// Note this should normally be called after the container is created in the runtime but before it is started.
|
||||
// However restore starts the container right away. This means that if we do the call afterwards there is a
|
||||
// short interval where the file is still empty. Thus I decided to call it before which makes it not working
|
||||
// with PostConfigureNetNS (userns) but as this does not work anyway today so I don't see it as problem.
|
||||
if err := c.completeNetworkSetup(); err != nil {
|
||||
return nil, 0, fmt.Errorf("complete network setup: %w", err)
|
||||
}
|
||||
|
||||
runtimeRestoreDuration, err = c.ociRuntime.CreateContainer(c, &options)
|
||||
if err != nil {
|
||||
return nil, 0, err
|
||||
|
@ -247,6 +247,9 @@ function teardown() {
|
||||
run_podman inspect $cid --format "{{(index .NetworkSettings.Networks \"$netname\").MacAddress}}"
|
||||
mac1="$output"
|
||||
|
||||
run_podman exec $cid cat /etc/hosts /etc/resolv.conf
|
||||
pre_hosts_resolv_conf_output="$output"
|
||||
|
||||
run_podman container checkpoint $cid
|
||||
is "$output" "$cid"
|
||||
run_podman container restore $cid
|
||||
@ -258,6 +261,10 @@ function teardown() {
|
||||
run_podman inspect $cid --format "{{(index .NetworkSettings.Networks \"$netname\").MacAddress}}"
|
||||
mac2="$output"
|
||||
|
||||
# Make sure hosts and resolv.conf are the same after restore (#22901)
|
||||
run_podman exec $cid cat /etc/hosts /etc/resolv.conf
|
||||
assert "$output" == "$pre_hosts_resolv_conf_output" "hosts/resolv.conf must be the same after checkpoint"
|
||||
|
||||
assert "$ip2" == "$ip1" "ip after restore should match"
|
||||
assert "$mac2" == "$mac1" "mac after restore should match"
|
||||
|
||||
|
Reference in New Issue
Block a user