Skip to content
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

Add documentation on support lifecycle #232

Merged
merged 6 commits into from
Jun 12, 2021

Conversation

dhollinger
Copy link
Member

No description provided.

@binford2k
Copy link
Member

Should this link to https://endoflife.software/operating-systems?

| ------- | -------------- | ----------- | --------------- | -------------- | --------------- |
| CentOS/RHEL 6 | July 10th, 2011 | Nov 30th, 2020 | N/A | Nov 30th, 2020 | Nov 30th, 2021 |
| CentOS/RHEL 7 | July 7th, 2014 | June 30th, 2024 | Mar 31st, 2024 | June 30th, 2024 | June 30th, 2025 |
| CentOS/RHEL 8 | Sept 24th, 2019 | Dec 31, 2021 | Sept 30th, 2021 | Dec 31, 2021 | Dec 31, 2022 |
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

RHEL 8 of course won't be EOL next year.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it's a 'wait and see' for now as to how we test RHEL 8 when CentOS 8 disappears. Maybe we just have to use CentOS 8.3 images even when RHEL is on eg 8.8???

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

According to CentOS' FAQ, we need to be testing for RHEL on RHEL images going forward 🤷

@ekohl mentioned that there seems to be some confusion around this though.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For those unaware, I have sent an email about this with the PMC on CC. There is nothing secret in the initial email. To set the expectations right, I think the people responsible for that alias are currently busy but they are working on a solution exactly for the problem we're having: CI to test integration for community projects. While I work for Red Hat, this is not an area I work on and can only advocate for it. Luckily, our use case is not special in any way (loads of projects can/should do CI like we do) and one that was explicitly mentioned to be a focus point.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A Red Hat Developer subscription for the Vox Pupuli organization would almost work, if not for the "single-user" limitations. https://developers.redhat.com/articles/faqs-no-cost-red-hat-enterprise-linux

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have been told they want to fix this. Since it's a license, legal is involved. That means we need to be patient. The holiday season probably doesn't help either.

| CentOS/RHEL 6 | July 10th, 2011 | Nov 30th, 2020 | N/A | Nov 30th, 2020 | Nov 30th, 2021 |
| CentOS/RHEL 7 | July 7th, 2014 | June 30th, 2024 | Mar 31st, 2024 | June 30th, 2024 | June 30th, 2025 |
| CentOS/RHEL 8 | Sept 24th, 2019 | Dec 31, 2021 | Sept 30th, 2021 | Dec 31, 2021 | Dec 31, 2022 |
| CentOS Stream | Jan 1st, 2022 | N/A | N/A | N/A | N/A |
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think there is an EOL date as there will be a CentOS 8 Stream and later a CentOS 9 Stream.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe the CentOS itself only supports the mainline CentOS Stream. CentOS Stream 8 and Stream 9 are for RHEL Dev purposes.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Each major release will have a branch, similar to how CentOS Linux is currently structured; however, CentOS Stream is designed to focus on RHEL development, so only the latest Stream will have the marketing focus of the CentOS Project.

https://centos.org/distro-faq/

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is my understanding that while RHEL 8 is its full support cycle, there will be a CentOS 8 stream. During RHEL's full support cycle, new features and hardware enablement are being implemented and those should first land in CentOS 8 stream. It is exactly the purpose of stream to allow anyone a preview of that. The goal here is Continuous Delivery, similar to how modern development should have an always production ready git master branch. There should be CI to cover this, but of course there will be bugs and regressions since it's still software.

After the full support cycle ends, it enters Maintenance Support. In this phase, RHEL should only receive security features and urgent bug fixes. As such, there's a lot less need for integration testing for upcoming releases (essentially what stream allows).

There is a period (roughly 2 years) where development of RHEL 8 and 9 overlap. During this period there should be 2 streams in parallel, but I think marketing focus implies they'll direct users to CentOS Stream 9 rather than 8.

This is based on https://access.redhat.com/support/policy/updates/errata/

Copy link
Contributor

@igalic igalic left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🙋🏻️

_docs/software_support_lifecycle.md Outdated Show resolved Hide resolved
### Support Lifecycle

#### Operating Systems
An Operating System is no longer considered supported once it reaches an End of Life date determined by the upstream maintainer* of the operating system. To ensure our users have enough time to adjust, we will take the following steps to ensure as seamless of a transition as possible:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

there are some edge cases. for example debian has still "support" for debian 8, but that's very very limited. In the past we considered that as not-supported. Same applies for RedHat 5/6 where you can only get support if you buy it from redhat. I also consider those distros as not supported anymore

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we do need to decide ahead of time which versions we will support.

For Debian, do we want to support until EOL or until End of LTS. This one is confusing as other LTS operating systems, like RHEL and Ubuntu, have EOL and end of LTS as the same thing and post LTS support as "Extended Support".

I think for RHEL, I'd like to end our support on the EOL date, not the End of Extended support. That only affects paying RHEL customers and we aren't in the "business" of supporting Enterprises. We build for any user and as such our focus needs to be on what's best for the community as a whole, not the Enterprise users only.

@dhollinger dhollinger force-pushed the os_support_lc branch 2 times, most recently from f5a3690 to 0e23996 Compare December 22, 2020 16:12
| CentOS/RHEL 7 | 2014/07/07 | 2024/06/30 | 2024/03/31 | 2024/06/30 | 2025/06/30 |
| CentOS 8 | 2019/09/24 | 2021/12/31 | 2021/09/30 | 2021/12/31 | 2022/12/31 |
| RHEL 8 | 2019/05/01 | 2029/05/31 | 2029/02/28 | 2029/05/31 | 2030/05/31 |
| CentOS Stream 8 | 2022/01/01 | 2029/05/31 | 2029/02/28 | 2029/05/31 | 2030/05/31 |

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CentOS Stream 8 upstream EOL is in May 31, 2024 according to https://centos.org/distro-faq/#q2-what-about-the-other-releases-of-centos-linux that states it's supported until "full RHEL support phase" which is defined in https://access.redhat.com/support/policy/updates/errata/#Life_Cycle_Dates and specifically doesn't include the 5 year Maintenance Phase RHEL itself gets. There will be CentOS Stream 9 with 2 year overlap released before that according to Question 6 of the FAQ, though.

This was referenced Jan 6, 2021
@ekohl
Copy link
Member

ekohl commented Jan 8, 2021

So how do we break the stalemate here? It appears some people are in favor of keeping dead code while others (myself included) are against. Would a vote help?

@binford2k
Copy link
Member

Let's commence a vote then!

👍 Keep dead code until one of the listed milestones is reached
👎 Kill dead code immediately and require users to pin to old versions at their own peril

@ekohl
Copy link
Member

ekohl commented Feb 28, 2021

The votes look fairly conclusive to me but let's give this an explicit deadline. Is next week (March 8th) ok for everyone?

@ekohl
Copy link
Member

ekohl commented Mar 8, 2021

Today is the 8th. I don't think the votes changed and we can conclude that with 9 votes Kill dead code immediately and require users to pin to old versions at their own peril won. There were 2 votes for Keep dead code until one of the listed milestones is reached. It should be noted that @binford2k voted for both, likely so both buttons showed up.

Thanks everyone who voted.

@dhollinger can you update the PR or anyone else wants to take a stab?

@binford2k
Copy link
Member

@ekohl yes, that was my intention.

@dhollinger
Copy link
Member Author

I will take a look shortly and update the PR accordingly

@dhollinger dhollinger marked this pull request as ready for review March 8, 2021 22:42
_docs/software_support_lifecycle.md Outdated Show resolved Hide resolved
Comment on lines +16 to +18
If a user still needs to use the EOL operating system, then they must either:
* Pin their module version to a version compatible with their operating system.
* Fork the module and maintain it internally.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would still argue that if you are a maintainer of a module within Voxpupuli there should be the possibility to maintain support within the official releases. This does require automated test coverage IMHO. This can be a nice incentive to become a member of Voxpupuli and maintain a module.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah. I think as long as the person is willing to maintain support and it's tested and it doesn't block further development it's fine. but that's also an edge case.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should modules with extended support policies have a clearly marked exception to the standard case?

_docs/software_support_lifecycle.md Outdated Show resolved Hide resolved
_docs/software_support_lifecycle.md Outdated Show resolved Hide resolved
@bastelfreak
Copy link
Member

I will merge this now as-is. In my opinion it reflects the current state of the discussion. The PR has quite a history of comments and more comments make it even harder to read. If anything doesn't agree with the post please raise an issue or open a PR to fix it.

@bastelfreak bastelfreak merged commit b79a440 into voxpupuli:master Jun 12, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.