PingCAP-QE/artifacts

Migrate linux builder OS from CentOS 7 to RockyLinux 8

Closed this issue · 0 comments

Plan

The overall plan will be completed within 2024-9 and then apply in building of new TiDB major or minor versions.

Background

The impact of the end-of-life of CentOS 7

The CentOS 7 operating system officially entered the end-of-life (EOL) phase on June 30, 2024. This means that Red Hat will no longer provide security updates, vulnerability fixes, and other technical support for CentOS 7. Continuing to use CentOS 7 will lead to the following serious consequences:

  • Security risk greatly increased: over time, CentOS 7 system will accumulate a large number of security bugs, hackers can use these vulnerabilities to launch attacks, causing serious damage to the company's data and business.
  • Software compatibility issues: With the continuous development of software technology, more and more software no longer supports CentOS 7. For example, Node.js 18 and higher versions do not support installation on CentOS 7, which will directly affect our projects developed based on Node.js.
  • Toolchain aging: The toolchain version on CentOS 7 is relatively old and may not meet the requirements of the Development Environment for new projects. This will lead to low development efficiency and increase the difficulty of debugging and maintenance.
  • Reduced community support: With the decrease of CentOS 7 users, community support for CentOS 7 will gradually decrease, which will make it difficult for us to find relevant solutions and help.

Impact on the company's business

  • Decreased Development Efficiency: The outdated Development Environment will lead to low productivity of developers and increase development costs.
  • Project Delays: Project development cycles may be extended due to software compatibility issues and toolchain limitations.
  • Damaged reputation: Once a security incident introduced by the compile environment occurs, the company's reputation will be seriously damaged.

The need for upgrading

In order to deal with the risks brought by CentOS 7 EOL and ensure the security and stability of the company's business, we must upgrade the compile environment to a long-term supported and secure operating system as soon as possible.
CentOS 7's EOL has sounded the alarm for us. If we don't take timely action, we will face huge security risks and may face business losses. Upgrading the compile environment is a necessary measure to ensure the long-term development of the company.

Upgrade target

Based on CentOS 7 EOL and our requirements for stability, security, long-term support, and toolchain compatibility, we decided to upgrade the compile environment to Rocky Linux 8 .
By upgrading the compile environment to Rocky Linux 8, we expect to achieve the following goals:

  • System Stability: Rocky Linux inherits the stability of RHEL and provides a reliable platform for our software development.
  • Enhanced security: Get the same security updates as RHEL to reduce the risk of system attacks.
  • Enhanced software compatibility: Supports more emerging technologies and development frameworks.
  • Reduce costs: Free and open source features can save software licensing costs.
  • Promote community collaboration: Participate in an active open source community and get more technical support and resources.

Reasons to choose Rocky Linux 8

  • Highly compatible with CentOS 7: Rocky Linux is a community-driven RHEL clone with extremely high compatibility with CentOS 7 in terms of kernel, system libraries, etc. This allows us to smoothly migrate to Rocky Linux 8 without making extensive modifications to the existing code.
  • Long-term support: Rocky Linux provides the same long-term support cycle as RHEL, ensuring that our compile environment remains stable and secure for extended periods of time.
  • Free and open source: Rocky Linux is a completely free and open source operating system, which saves us a lot of software licensing fees.
  • Active Community: Rocky Linux has an active community that provides timely technical support and assistance.
  • Rich software ecosystem: Rocky Linux compatible with RHEL software ecosystem, can easily install and configure a variety of software packages.
  • Previous experience : The component container mirroring released from TiDB v6.6 has been adjusted to Rocky Linux 9.
  • Rocky Linux 8 has been verified for a longer time: Compared with Rocky Linux 9, Rocky Linux 8 has been tested and used by the community for a longer time, and its stability is relatively higher.
  • Better compatibility: Rocky Linux 8 is more compatible with CentOS 7. For those projects that rely on the CentOS 7 ecosystem, migration to Rocky Linux 8 can be smoother.
  • Reduce unknown risks: As a newer version, Rocky Linux 9 may have some undiscovered bugs or compatibility issues, while these issues of Rocky Linux 8 have been widely verified and fixed by the community.

Advantages of choosing Rocky Linux 8 over RHEL 8

  • Completely free: No licensing fees are required, reducing costs.
  • Community-driven: more flexible and open to respond quickly to community needs.