spiegel_podman/pkg
Adrian Reber 217f2e77f8
Include root file-system changes in container migration
One of the last limitations when migrating a container using Podman's
'podman container checkpoint --export=/path/to/archive.tar.gz' was
that it was necessary to manually handle changes to the container's root
file-system. The recommendation was to mount everything as --tmpfs where
the root file-system was changed.

This extends the checkpoint export functionality to also include all
changes to the root file-system in the checkpoint archive. The
checkpoint archive now includes a tarstream of the result from 'podman
diff'. This tarstream will be applied to the restored container before
restoring the container.

With this any container can now be migrated, even it there are changes
to the root file-system.

There was some discussion before implementing this to base the root
file-system migration on 'podman commit', but it seemed wrong to do
a 'podman commit' before the migration as that would change the parent
layer the restored container is referencing. Probably not really a
problem, but it would have meant that a migrated container will always
reference another storage top layer than it used to reference during
initial creation.

Signed-off-by: Adrian Reber <areber@redhat.com>
2019-07-11 14:43:34 +02:00
..
adapter Include root file-system changes in container migration 2019-07-11 14:43:34 +02:00
annotations Update cri-o annotations 2019-04-01 11:10:54 +02:00
apparmor pkg/apparmor: fix when AA is disabled 2019-06-14 17:37:16 +02:00
cgroups cgroups: skip not existing cpuacct files 2019-07-10 10:54:36 +02:00
channelwriter account for varlink calls that dont use more 2019-07-10 08:50:05 -05:00
criu Add helper function to read out CRIU version 2018-10-23 12:52:03 +02:00
ctime ctime: Drop 32-/64-bit distinction on Linux 2018-07-07 20:35:00 +00:00
errorhandling first pass of corrections for golangci-lint 2019-07-10 15:52:17 -05:00
firewall first pass of corrections for golangci-lint 2019-07-10 15:52:17 -05:00
hooks first pass of corrections for golangci-lint 2019-07-10 15:52:17 -05:00
inspect Begin to break up pkg/inspect 2019-06-03 15:54:53 -04:00
kubeutils Remove dependency on kubernetes 2018-03-27 21:55:33 +00:00
logs first pass of corrections for golangci-lint 2019-07-10 15:52:17 -05:00
lookup pkg/lookup: Return ID-only pointers on ErrNo*Entries 2018-12-04 14:46:43 -08:00
namespaces userns: add new option --userns=keep-id 2019-05-24 17:34:12 +02:00
netns first pass of corrections for golangci-lint 2019-07-10 15:52:17 -05:00
registrar Update registrar unit tests to match them of cri-o 2019-04-04 08:53:32 +02:00
registries Use the logical registry location instead of the physical one in (podman info) 2019-06-14 15:46:17 +02:00
resolvconf Use host's resolv.conf if no network namespace enabled 2018-11-27 15:28:09 -05:00
rootless first pass of corrections for golangci-lint 2019-07-10 15:52:17 -05:00
spec first pass of corrections for golangci-lint 2019-07-10 15:52:17 -05:00
sysinfo trivial cleanups from golang 2019-07-03 15:41:33 -05:00
systemdgen Do not hardcode podman binary location in generate systemd. 2019-07-07 11:20:41 +03:00
tracing trivial cleanups from golang 2019-07-03 15:41:33 -05:00
trust trivial cleanups from golang 2019-07-03 15:41:33 -05:00
util first pass of corrections for golangci-lint 2019-07-10 15:52:17 -05:00
varlinkapi account for varlink calls that dont use more 2019-07-10 08:50:05 -05:00