-
Notifications
You must be signed in to change notification settings - Fork 885
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
[BUG] Unable to build Docker image as it relies on Centos 8 which is EOL #1601
Comments
This is slightly odd to me as when I download the I managed to get it building from source with the above command by adding
But as in my previous comment I'm not sure the OpenSearch Dashboards image should continue to be based off Centos 8 if it is now EOL. |
I can reproduce the issue. |
Another quick fix would be replace it with AlmaLinux, Oracle Linux, or RockyLinux.
Use rockylinux as an example: Update here from
Change here to Remove this line. Then use
|
However, I am a bit concerned and don't quite understand why do we need to maintain a docker generator and docker build in our code base? why do we care about docker's platform (ubi and centos)? There might be two use cases for docker:
Do we need to maintain this docker generator? I think this might be some legacy codes when we don't have published dockers. Since docker platform is not important and we have docker files well written in opensearch.org, should we just remove this part of code (not fix it)? |
We very much use the docker build in the code base as we have some custom modifications and are building Docker containers from source, so cannot use the published Docker containers. Please don't remove this functionality from us unless there is an adequate alternative we can use to build from source and achieve this! |
Hey @jgough, don't worry. We just want to bring this to discuss and understand what are the user cases and requirements. You could see we do have multiple places of Dockerfile. Even in our OSD code base, we have /Dockerfile and /src/dev/build/tasks/os_packages/docker_generator. Meanwhile, we would like to discuss what is the purpose/use case for docker supporting specific system. If there is use cases, what systems do we want to support. |
[Triage] My opinion we haven't been properly supporting this code. When we publish docker images for releases we utilize the Build Repo. However, with that said this line, should be cleaned up to utilize what we expect. If the line is not properly setting |
I think the best path forward is to let users supply a base image via command line, defaulting to something super generic, versionless, and small, like Example: yarn build --docker --base="rockylinux:8" --release
I don't love this because we use several different images in that repo and it's not obvious which one is "default". That means users would have to pick from those, which brings us to the same UX complexity as just letting them bring whatever they want. If there is a "default" base image or preferred platform to run dashboards on, we should appoint it and use it as the default here. * I have not tested if this works |
I agree with Captain that it is best to provide an option for user to request base image. However, there are two places that we need to be very specific for diff system:
If we want to provide an option to user, this means we need to verify all the possibilities and work on their package manager, test and others. How about we support one or two popular system? and provide developer guide some instructions to modify the system? |
Here is docker build from opensearch-build: and this is the file to build our docker. You could modify it according to your needs. If we don't require centos, @jgough, would the above file satisfy your need? |
@ananzh I'm quite happy with any sensible base image (amazonlinux is fine) and the Dockerfile looks good. I just like the fact here that:
Maybe there's a way to reuse that Dockerfile in the OpenSearch Dashboards Repo when |
Describe the bug
When I try to build the docker image from source with
yarn build --docker --release
I get the following error:This seems to be because Centos 8 has reached EOL: https://techglimpse.com/failed-metadata-repo-appstream-centos-8/
Full output:
The image being used seems to be coming from here:
https://github.com/opensearch-project/OpenSearch-Dashboards/blob/main/src/dev/build/tasks/os_packages/docker_generator/run.ts#L54
Given Centos 8 has reached EOL, does the container base image need updating to a different maintained base image?
To Reproduce
Try to build docker image on head version in
main
using the buld commandyarn build --docker --release
Expected behavior
Expected docker image to be successfully built
Dashboards Version
main:HEAD
The text was updated successfully, but these errors were encountered: