-
Notifications
You must be signed in to change notification settings - Fork 2.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ci/actuated: re-enable CRIU tests #4252
Conversation
306c883
to
b541817
Compare
1. A few tests use "criu check --feature" to check for a specific feature. Let's generalize it. 2. Fix "checkpoint --pre-dump and restore" test to require memory tracking (which is missing on ARM). Signed-off-by: Kir Kolyshkin <[email protected]>
They were failing earlier but are working now. This includes a fix to criu repo path assignment so it works for actuated case. Signed-off-by: Kir Kolyshkin <[email protected]>
b541817
to
baba55e
Compare
Glad to hear that CRIU is working on the 5.10.201 Kernel. We've got a 6.1.90 Kernel available for testing, who would be the best person to work with to co-ordinate testing on the Kernel? https://docs.actuated.dev/faq/#what-kernel-version-is-being-used Alex |
As mentioned in the previous pull request that is because the glibc in the container is too old to use restartable sequence. Once a newer glibc would be used it will fail. CRI-O has a simple workaround to disable restartable sequences in the container:
Correct. |
What are you referring to by "in the container"? |
The containers that are created by runc to test runc. That is also how CRI-O solved the problem, the glibc inside of the containers that CRI-O creates are told to not use restartable sequences by |
The time you said this sentence, there is an error occured in
|
Like @kolyshkin said, pre-dump tests are not working on aarch64. That failure comes from running a pre-dump. I think the line 115 (https://github.com/opencontainers/runc/blob/main/libcontainer/integration/checkpoint_test.go#L115) should be after the skip. |
Oh, and https://github.com/opencontainers/runc/blob/main/libcontainer/criu_linux.go#L52 also looks wrong. That should return: |
Thanks, I think it should be in the if block, not after the skip. |
We've got the CNCF organisations now running on both Kernel versions, it could be why you saw this fail now. The old CONFIG_ settings were copied across to 6.1.90, but are there any other specifics for me to double check in the Kernel's config? |
Ah, yes, the CI running on |
The kernel config:
|
@adrianreber it seems it's worse than that. The code in criuCheckFeatures assumes that if a feature is not available, criu swrk succeeds, returning features, and when it checks those. What happens instead is criu swrk fails. Might be a problem with swrk rather than runc, but nevertheless. |
This re-enables previously disabled CRIU tests for actuated-arm64 as they appear to be working just fine now.
The only test we need to skip is criu pre-dump; apparently, ARM kernel lacks dirty memory tracking feature.
See individual commits for more details.