-
Notifications
You must be signed in to change notification settings - Fork 59
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
InstantOn: Unable to interrupt task: 205 (Operation not permitted) #352
Comments
These you can safely ignore and should be fixed in the next beta. Quick question. Are you doing this as a non-root user? |
Yes, as non-root user. My guess is that this is not an issue with the OL image and I did find some threads on the interweb pointing to some kernel changes. |
You should not need CRIU installed on the host system to use Liberty InstantOn with our container images. I expect the issue is rootless podman cannot successfully grant the running container the necessary capabilities. It would be useful to know if this fails for you when not using rootless podman. |
Hi Thomas! I can confirm that it works flawlessly when:
Result:
Thanks! |
If on a kernel that has
If you system doesn't have
On RHEL podman seems to grant (by default) all the necessary system calls CRIU needs. But if you have trouble with the with the above it maybe that your system does not. In that case you need to use the Note that even though you are using
We can leave open while we investigate if rootless podman is possible. Somehow containers will need to be granted the above capabilities successfully when launched this way. We are looking to remove NET_ADMIN requirement, but CHECKPOINT_RESTORE and SYS_PTRACE are unavoidable for restoring the process. |
Given how containers/podman#7866 was handled I do not expect us to be able to use rootless podman to restore in-container. |
Understood! Will revert to docket then. Thanks for the information. |
FYI I just found this: As well as https://mbien.dev/blog/entry/java-in-rootless-containers-with |
The OpenJ9 team worked on getting the the support for cap_checkpoint_restore in to criu (see checkpoint-restore/criu#1930). That is what we are using to be able to restore the process in-container without needing to use a privileged container to run. The issue is podman rootless does not allow such capabilities to be elevated to a container from a non-root user. When using the latest docker this is allowed when using the docker daemon. The latest docker release now has support for passing the cap_checkpoint_restore capability when running a container. So that is an option for non-root usage. |
Hey everyone!
First of all thanks for InstantOn. I think it is a GREAT technology!
So first of all, I prepared my application to use CRIU: https://github.com/bmarwell/openliberty-content-negotiation-example/tree/54faec642e27d0f12c976f12f68ccc292b0632cd
I used this guide: https://openliberty.io/blog/2022/09/29/instant-on-beta.html#app-image
mvn package -Ddockerize
Image building works just fine. The original image is being built by the
k8s-maven-plugin
, so you only need to execute a few commands afterwards, mainly:Now since this is JSON-logging, I added jq (omit if you would like to).
There are a few errors:
To see the contents of that checkpoint file, I committed the name and run
cat /logs/checkpoint/checkpoint.log
which yields:On my host machine I am running Manjaro Linux (similar to arch), I have podman and podman-docker installed, I started a podman service (as needed by k8s-maven-plugin, see env var
DOCKER_HOST
).I hope I can help fix this problem before InstantOn gets out of beta.
Thanks!
Dockerfile: https://github.com/bmarwell/openliberty-content-negotiation-example/blob/54faec642e27d0f12c976f12f68ccc292b0632cd/app/openliberty/docker/Dockerfile
server.xml: https://github.com/bmarwell/openliberty-content-negotiation-example/blob/54faec642e27d0f12c976f12f68ccc292b0632cd/app/openliberty/docker/src/main/docker/config/server.xml
The text was updated successfully, but these errors were encountered: