Commit "Fix compilation errors for v4.4.1-rhel compatibility"
introduced both go-criu/v5 and go-criu/v6 dependencies, causing a
protobuf registration conflict error:
panic: proto: file "stats/stats.proto" is already registered
previously from: "github.com/checkpoint-restore/go-criu/v5/stats"
currently from: "github.com/checkpoint-restore/go-criu/v6/stats"
Fix this by:
- Removing go-criu/v5 from go.mod
- Updating all imports from v5 to v6 in:
* pkg/criu/criu_linux.go
* pkg/checkpoint/crutils/checkpoint_restore_utils.go
* test/e2e/checkpoint_test.go
- Regenerating vendor directory with 'make vendor'
Generated with the Assistance of AI: Cursor <auto>
Signed-off-by: Chris Evich <cevich@redhat.com>
Align codebase with v4.4.1-rhel PodmanConfig structure
and API signatures to resolve compilation errors.
- Update all cfg.Engine.* references to
cfg.ContainersConf.Engine.* or
cfg.ContainersConfDefaultsRO.Engine.*
- Update all cfg.Network.* references to
cfg.ContainersConf.Network.*
- Update all cfg.Containers.* references to
cfg.ContainersConf.Containers.* or
cfg.ContainersConfDefaultsRO.Containers.*
- Update cfg.Machine.* references to
cfg.ContainersConfDefaultsRO.Machine.*
- Fix PodmanConfig initialization in config.go to use
ContainersConf and ContainersConfDefaultsRO fields
- Add createOptions parameter to NetworkCreate method
across all implementations (abi, tunnel, handlers)
- Update ContainerEngine interface to match new
NetworkCreate signature
- Fix manager.Store call in secrets.go to use
StoreOptions struct
- Update DiskUsage to handle 3 return values
- Fix NewConnectionWithIdentity call signature
- Remove duplicate setupRemoteConnection function
- Remove duplicate readRemoteCliFlags function
- Remove duplicate function declarations in
container_path_resolution.go, oci_conmon_linux.go
- Comment out duplicate SpecGenToOCI and helper
functions in oci.go/oci_linux.go
- Remove unused imports across multiple files
- Fix SSHMode flag handling (field doesn't exist in
current PodmanConfig)
- Fix ns.NetNS type handling in container_internal_linux.go
- Add missing Terminal() method to Container struct
- Add missing SdNotifySocket field to ContainerConfig
- Fix DefaultCapabilities to use .Get() method
- Fix cgroups.AvailableControllers reference
- Fix ConmonPath type conversion (attributedstring.Slice)
- Add missing ErrNetworkConnected error definition
- Fix NetworkCreateOptions handling in secrets.go
- Update networking code to use getNetNSPathCommon helper
- Fix teardownNetwork method signature
- Fix makeInspectPorts to makeInspectPortBindings
- Remove hardcoded IsPasta() checks
- Fix runtime_libpod.go field access patterns
All changes align with the v4.4.1-rhel worktree structure
to ensure compatibility with upcoming cherry-picks.
Substantially Assisted-by AI: Cursor <auto>
Signed-off-by: Chris Evich <cevich@redhat.com>
As the title says. Bumping to address:
CVE-2024-1753
https://issues.redhat.com/browse/RHEL-26761
[NO NEW TESTS NEEDED]
Signed-off-by: tomsweeneyredhat <tsweeney@redhat.com>
The changes in this commit have been generated with the following
commands:
go get github.com/checkpoint-restore/checkpointctl
make vendor
Signed-off-by: Radostin Stoyanov <radostin@redhat.com>
DevShmCheckpointTar constant has been recently introduced in
checkpointctl. This constant will be used in subsequent patch and this
patch contains auto-generated changes with the following commands:
go get github.com/checkpoint-restore/checkpointctl
go mod tidy
go mod vendor
Signed-off-by: Radostin Stoyanov <rstoyanov@fedoraproject.org>
There was the question about how long it takes to create a checkpoint.
CRIU already provides some statistics about how long it takes to create
a checkpoint and similar.
With this change the file 'stats-dump' is included in the checkpoint
archive and the tool checkpointctl can be used to display these
statistics:
./checkpointctl show -t /tmp/cp.tar --print-stats
Displaying container checkpoint data from /tmp/dump.tar
[...]
CRIU dump statistics
+---------------+-------------+--------------+---------------+---------------+---------------+
| FREEZING TIME | FROZEN TIME | MEMDUMP TIME | MEMWRITE TIME | PAGES SCANNED | PAGES WRITTEN |
+---------------+-------------+--------------+---------------+---------------+---------------+
| 105405 us | 1376964 us | 504399 us | 446571 us | 492153 | 88689 |
+---------------+-------------+--------------+---------------+---------------+---------------+
Signed-off-by: Adrian Reber <areber@redhat.com>
Update CNI so we can match wrapped errors. This should silence ENOENT
warnings when trying to read the cni conflist files.
Fixes#10926
Because CNI v1.0.0 contains breaking changes we have to change some
import paths. Also we cannot update the CNI version used for the
conflist files created by `podman network create` because this would
require at least containernetwork-plugins v1.0.1 and a updated dnsname
plugin. Because this will take a while until it lands in most distros
we should not use this version. So keep using v0.4.0 for now.
The update from checkpoint-restore/checkpointctl is also required to
make sure it no longer uses CNI to read the network status.
[NO TESTS NEEDED]
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
checkpointctl contains common code to work with checkpoint images in
Podman, CRI-O and Kubernetes.
Use functions and definitions from checkpointctl where possible.
Signed-off-by: Adrian Reber <areber@redhat.com>
* If possible, update each dependency to the latest available version.
* Use releases over commit IDs and avoid vendoring branches.
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>