-
Notifications
You must be signed in to change notification settings - Fork 36
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
feat: Support running VS Code in ubi9-based containers #324
Conversation
Pull Request Dev image published: |
1 similar comment
Pull Request Dev image published: |
Pull Request Che-Code image published: |
Pull Request Dev image published: |
Pull Request Che-Code image published: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have tested this PR vscode image on workspaces using alpine, busybox, docker, fedora, golang, openjdk, ubi8, ubi9 and ubuntu base images and if worked on most of them (docker.io/alpine:3.19.0
, docker.io/busybox:1.36.1
, docker.io/docker:24.0.6-dind
are still failing). This is an important improvement compared to what we get trying current vs code image.
Some improvments (for later PRs) could be:
- support recent alpine with new version of
musl
(that should fixquay.io/jaegertracing/all-in-one:1.50
too) - support images that don't have neither
openssl
norrpm
(looking for/usr/lib/libcrypto*
for example) libc-ubi8
andlibc-ubi9
checode should be renamedlibc-v1
andlibc-v3
as they run on any image using libc, not just on UBI.- default che-code should be
libc-ubi9
/libc-v3
instead of thelibc-ubi8
as new images will all have the new version of libc.
@l0rd I would like to clarify some points for myself:
It's possible to apply the improvement for the
=====================
I'm afraid I didn't get what do you mean here:
=====================
I'm not sure about So, I consider
|
Right. There is no request to support alpine downstream. It's an upstream only issue.
What I mean is the default when the openssl version is unknown. When the bash script fails to figure out the openssl version (that happens on the ubuntu and busybox images for example) then it currently defaults to the ubi8 assembly. If we change that, and use ubi9 in case of unknown openssl version, any recent ubuntu-based image will work out of the box.
Does it matter if the assembly has been built in a ubi8, a fedora or an ubuntu container? che-code built on ubi8 works on images that have |
Maybe it's true for ubuntu, but not for the mentioned above So, for the |
@l0rd thank you for the feedback! It's really helpful! @l0rd @ibuziuk
The changes look simple, after applying them I could test it for my table in the PR description. |
I believe it makes sense to start with supporting ubi8 and ubi 9 and merge this PR, but we need to create follow up issue - The ultimate goal / story - Also, please create separate issues for 2 devfile.io devfiles that are currently failing. In the next sprint it would be great to finalize the following epic - eclipse-che/che#20251
I think the scripts for testing various images are part of https://github.com/l0rd/cloud-dev-images |
@RomanNikitenko I approved this PR so from my point of view that's ok to merge as it is. At some point we should support ubuntu-based images (that looks easy, it's just changing the script to use the opensslv3 assembly rather than the opensslv1 when the openssl version is unknown) and alpine-based images (that seams a little bit harder: introduce a new musl assembly that supports openssl v3).
|
526e234
to
bc35c20
Compare
Pull Request Dev image published: |
Pull Request Che-Code image published: |
Signed-off-by: Roman Nikitenko <[email protected]>
bc35c20
to
6e51e9d
Compare
Pull Request Dev image published: |
Pull Request Che-Code image published: |
@azatsarynnyy |
@RomanNikitenko done |
Build 3.13 :: code_3.x/1285: Console, Changes, Git Data |
Build 3.12 :: code_3.12/25: Console, Changes, Git Data |
Build 3.12 :: sync-to-downstream_3.12/107: Console, Changes, Git Data |
Build 3.13 :: sync-to-downstream_3.x/6240: Console, Changes, Git Data |
Build 3.12 :: get-sources-rhpkg-container-build_3.12/104: code : 3.12 :: Failed in 58907335 : code-rhel8-3.12-61 |
Build 3.13 :: push-latest-container-to-quay_3.x/4367: Console, Changes, Git Data |
Build 3.13 :: get-sources-rhpkg-container-build_3.x/6168: code : 3.x :: Build 58915236 : quay.io/devspaces/code-rhel8:3.13-15 |
Build 3.13 :: update-digests_3.x/5869: Console, Changes, Git Data |
Build 3.13 :: update-digests_3.x/5869: No new images detected: nothing to do! |
Build 3.13 :: code_3.x/1286: Console, Changes, Git Data |
Build 3.13 :: sync-to-downstream_3.x/6243: Console, Changes, Git Data |
What does this PR do?
Use:
registry.access.redhat.com/ubi9/nodejs-18
libbrotli
library from the same imageLD_LIBRARY_PATH
env variable to define additional shared libs placeto run VS Code in a user's
ubi9-based
container.What issues does this PR fix?
eclipse-che/che#21778
How to test this PR?
registry.access.redhat.com/ubi8
registry.access.redhat.com/ubi9
registry.access.redhat.com/ubi9/ubi:9.3-1476
registry.access.redhat.com/ubi9/ubi-minimal:9.3-1475
registry.access.redhat.com/ubi9/podman:9.3-8
registry.access.redhat.com/ubi9/perl-532:1-121
registry.access.redhat.com/ubi9/php-81:1-43
registry.access.redhat.com/ubi9/ruby-30:1-138
registry.access.redhat.com/ubi9/openjdk-21-runtime
registry.access.redhat.com/ubi9/nodejs-16:1-143
registry.access.redhat.com/ubi9/nodejs-18:1-84
registry.access.redhat.com/ubi9/nodejs-20:1-20
registry.access.redhat.com/ubi9/openjdk-11:1.17-1.1705602311
registry.access.redhat.com/ubi9/openjdk-17:1.17-1
registry.access.redhat.com/ubi9/go-toolset:1.19.13-4.1697647145
registry.access.redhat.com/ubi8/nodejs-16:latest
registry.access.redhat.com/ubi9/python-39:1-161
registry.access.redhat.com/ubi9/python-39:1-161
registry.access.redhat.com/ubi8/openjdk-17:1.18-2
quay.io/eclipse/che-java11-maven:7.37.2
the cause of the problem
quay.io/jaegertracing/all-in-one:1.50
the cause of the problem
docker.io/alpine:3.19.0
docker.io/node:18.18.2-alpine3.18