-
Notifications
You must be signed in to change notification settings - Fork 277
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
[Deprecation] Properly deprecate CentOS7 as CI build image/Supported OS and switch to Almalinux8 #4379
Comments
@vamshin @jmazanec15 @VijayanB We need to put out deprecation notice before we stop support for CentOS7 in upcoming OpenSearch version. CC: @krisfreedain |
@vamshin @jmazanec15 @VijayanB - Agree with @bbarani - I'd recommend this being included in the Release Notes, and likely the launch blog @jhmcintyre |
We plan to switch to Almalinux from Rockylinux soon. |
@peterzhuamazon What glibc does almalinux have? |
Hi @jmazanec15 @naveentatikonda ,
Could you help confirm these from KNN team perspective?
If you can think of anything else, please also note. Thanks. |
Tagging @elfisher @krisfreedain @dblock as we are nearing CentOS 7 EOL date (June 30, 2024). |
Hey @peterzhuamazon
Not sure on this. Do we have any breakdown of what distro's open source users are using? @bbarani @krisfreedain
The only thing we should add is instructions for how to build and install libs from source if users do not have proper compatibility.
I dont think so. The big dependencies are openblas and openmp. openblas I think we fetch from package manager. openmp will come with gcc libs.
Only thing is to call out the OS's we are dropping support for - basically anything with glibc < 2.28 |
After offline discussion with k-NN team, we will now switch the 2.14.0 manifest to use Almalinux8 for building OpenSearch. cc: @vamshin @jmazanec15 @bbarani @elfisher @krisfreedain @dblock Thanks. |
Seems like there are some issues with almalinux8 running gcc 9.2.1 for ARM64 build. |
@peterzhuamazon right - issue here: opensearch-project/k-NN#1591 (comment). |
Based on https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94052, it seems the bug has been fixed in gcc 10 then backport to gcc 9 and gcc 8 on 2020/03/24. According to https://gcc.gnu.org/releases.html, 9.2 released on 2019/08/12 thus not containing the fix until 9.3 in 2020/03. A few routes:
Windows:
After offline discussion with @jmazanec15 we have no concern going to gcc12. Will PR soon. Thanks. |
Due to additional issues with the lib we are reverting back to CentOS7 for another release: |
Thanks @peterzhuamazon. We would need to prioritize the deprecation in next release though - @vamshin @navneet1v |
In AL2 docker image we build openblas from source from here through build team pipeline with m5.4xlarge machine. The above additional issue was found when we test against on different After adding |
Had discussion with a couple of folks from Intel team for adding AVX512 support. There are a couple of requirements that we have identified so far:
One blocker is yum only supports gcc versions 7 and 10 on AL2 (as we are switching to AL2 from OpenSearch 2.16), so we might need to manually compile it. @peterzhuamazon please let me know if you think there are any other blockers from build POV. |
Restart this process again to have k-NN work in 2.16.0, tagging @prudhvigodithi as he would be the 2.16.0 release manager. I will proceed the next steps with @junqiu-lei
Thanks. |
Try switch again from centos7 to al2 with dynamic_arch changes: |
Verified on k-NN repo that the build CI tests is passed:
|
Thanks @junqiu-lei , We are moving this issue to backlog as the AL2 part is completed. |
Hello from 2024/07/06! :) GitHub-based actions using this container no longer work. GitHub switched their runners to Node20 as of June 3 which have eventually rolled out to the runners for plugin CI. TLDR: It looks like PR #4820 is intended to address this, but the issue also mentions NodeJS 18. Will that PR support NodeJS 20, which is now a minimal version for any GitHub Actions? |
Sorry @dbwiddis AL2 only support older nodejs version: We need to support using AL2 as baseline for another year until 2025/06/30 before moving to almalinux8. Thanks. |
Note that we are are shipping nodejs18 on OSD. (edited) This is particularly that opensearch plugins repos are currently running on AL2 build images for checks purposes. And github checkout action requires to install node to checkout. This should have nothing to do with your code compilation or anything, it is just for the sake of run that action to git checkout code. OSD plugins does not affect by this at all. Because we are only supporting AL2 for another year, for support k-NN native code compilation on glibc 2.26. Hope that can explain the confusion 😅 Thanks. |
Set 3.0.0 AL2: |
20240425 We have since moved from Rockylinux8 to Almalinux8
20240430 We will switch back to CentOS7 for another release in 2.14.0
[Deprecation] Properly deprecate CentOS7 as CI build image/Supported OS and switch to RockyLinux8
Back in #3743, we already plan to migrate all CentOS7 images to RockyLinux8 as part of the NodeJS18(#1563) / Python3.9(#3351) Upgrade.
However, it was pushed back by the k-NN Team as moving from CentOS7 to RockyLinux8 would change the minimal glibc version from 2.17 to 2.28 during lib build, causing people with servers containing glibc lower than 2.28 failed to run k-NN, as the plugin will crash upon api call.
CentOS7 will end its support by 2024/06/30 (https://endoflife.date/centos), meaning we need to migrate to RockyLinux8 by then, especially for the only build image for OpenSearch. We also need to properly announce it on the website, as our compatibility chart is clearly mentioning the support for it here: https://github.com/opensearch-project/documentation-website/blob/054dc56d5dcef66576cd4b15bef0ae5efa4f8f77/_install-and-configure/install-opensearch/index.md?plain=1#L26
We need to have a plan and decide when do we announce:
2.1. Which in turn, k-NN drop CentOS7 support on its lib as well
Thanks.
PRs:
The text was updated successfully, but these errors were encountered: