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

Doc update to introduce Tiered Platform Support Model #8224

Merged
merged 19 commits into from
Sep 25, 2023
Merged
Changes from 1 commit
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
6335604
Doc update to introduce Tiered Platform Support
rrschulze Aug 13, 2023
f5302f0
Merge branch 'open-telemetry:main' into doc-update
rrschulze Aug 16, 2023
52b831a
Update typo in docs/platform-support.md - received vs. receivers
rrschulze Aug 27, 2023
4ec6b7d
Update link to issue 19195 in docs/platform-support.md
rrschulze Aug 27, 2023
6f530ef
Added definition of platform in docs/platform-support.md
rrschulze Aug 27, 2023
34234e6
Clarified OS version support and added requirement to name platform o…
rrschulze Sep 18, 2023
b94cb66
Update test strategy section in platform-support.md
rrschulze Sep 18, 2023
77a29a0
Updated tiered platform support model in platform-support.md
rrschulze Sep 18, 2023
4c2bfe8
Fix of typo in platform-support.md
rrschulze Sep 19, 2023
fd55577
Added statement about unsupported platforms in platform-support.md
rrschulze Sep 19, 2023
3c99849
Split first section into paragraphs in docs/platform-support.md
rrschulze Sep 21, 2023
987cbaf
Wording update to test strategy in docs/platform-support.md
rrschulze Sep 22, 2023
bd81c14
Update to initial section of docs/platform-support.md
rrschulze Sep 22, 2023
27103d8
Clarify release cycle in tier description of docs/platform-support.md
rrschulze Sep 22, 2023
f49a099
Wording update around release cycle in docs/platform-support.md
rrschulze Sep 22, 2023
457a69a
Update to include s390x in tier 3 in docs/platform-support.md
rrschulze Sep 22, 2023
cef60f1
Update to include s390x in tier 3 in docs/platform-support.md
rrschulze Sep 22, 2023
3943d17
Added owners for linux/s390x in doc/platform-support.md
rrschulze Sep 22, 2023
638c372
Updated reference to container platforms in doc/platform-support.md
rrschulze Sep 22, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 44 additions & 0 deletions docs/platform-support.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# Platform Support
mx-psi marked this conversation as resolved.
Show resolved Hide resolved
mx-psi marked this conversation as resolved.
Show resolved Hide resolved

The OpenTelemetry Collector will be supported following a tiered platform support model to balance between the aim to support as many platforms as possible and to guarantee stability for the most important platforms. The platform support for the OpenTelemetry Collector is broken into three tiers with different levels of support for each tier and aligns with the current test strategy.

## Current Test Strategy

mx-psi marked this conversation as resolved.
Show resolved Hide resolved
The current verification process of the OpenTelemetry Collector includes unit and performance tests for core and additional end-to-end and integration tests for contrib. In the end-to-end tests, receivers, processors, and exporters etc. are tested in a testbed, while the integration tests rely on actual instances and available container images. Additional stability tests are in preparation for the future as well. All verification tests are run on Ubuntu 22.04 Linux on amd64 as the primary platform today. In addition, unit tests are run for the _contrib_ collector on Microsoft Windows Server 2022 (amd64). The cross compile supports two MacOS/Darwin targets (amd64 and arm64), five Linux platforms (amd64, arm64, i386, arm and ppc64le) and two Windows binaries (amd64, i386) today. None of those platforms is tested today, except of Linux on amd64 as the primary platform. The OpenTelemetry Collector can be installed using apk, deb or rpm files and is available as container images (core, contrib) for deployment on Kubernetes and Docker. The container images are built using qemu and published to Docker Hub and ghcr.io for Linux on amd64, arm64, i386, arm/v7 and ppc64le. The end-to-end test for the _contrib_ container images is run on Ubuntu 22.04 Linux for the Kubernetes versions v1.23 to v1.26.
mx-psi marked this conversation as resolved.
Show resolved Hide resolved

## Tiered platform support model
mx-psi marked this conversation as resolved.
Show resolved Hide resolved

The OpenTelemetry Collector will be supported following a tiered platform support model to balance between the aim to support as many platforms as possible and to guarantee stability for the most important platforms. The platform support for the OpenTelemetry Collector is broken into three tiers with different levels of support for each tier.
rrschulze marked this conversation as resolved.
Show resolved Hide resolved

### Tier 1 – Primary Support

The Tier 1 supported platforms are _guaranteed to work_. Precompiled binaries are built on the platform, fully supported for all collector add-ons (receivers, processor, exporters etc.), and continuously tested as part of the development processes to ensure any proposed change will function correctly. Build and test infrastructure is provided by the project. All tests are executed on the platform as part of automated continuous integration (CI) for each pull request and the biweekly release cycle. Any build or test failure block the release of the collector distribution for all platforms. Defects are addressed with priority and depending on severity fixed for the previous release in a bug fix release.
mx-psi marked this conversation as resolved.
Show resolved Hide resolved
mx-psi marked this conversation as resolved.
Show resolved Hide resolved
mx-psi marked this conversation as resolved.
Show resolved Hide resolved

Tier 1 platforms are currently:
- Linux amd64
mx-psi marked this conversation as resolved.
Show resolved Hide resolved
- Kubernetes amd64
mx-psi marked this conversation as resolved.
Show resolved Hide resolved

### Tier 2 – Secondary Support

Tier 2 platforms are _guaranteed to work with specified limitations_. Precompiled binaries are built and tested on the platform as part of the biweekly release cycle. Build and test infrastructure is provided by the platform maintainers. All tests are executed on the platform as far as they are applicable, and all prerequisites are fulfilled. Not executed tests and not tested collector add-ons (received, processors, exporters, etc.) are published on release of the collector distribution. Any build or test failure delays the release of the binaries for the respective platform but not the collector distribution for all other platforms. Defects are addressed but not with the priority as for Tier 1 and, if specific to the platform, require the support of the platform maintainers.
rrschulze marked this conversation as resolved.
Show resolved Hide resolved

Tier 2 platforms are currently:
- None

### Tier 3 - Community Support

Tier 3 platforms are _guaranteed to build_. Precompiled binaries are made available as part of the release process and as result of a cross compile build on Linux amd64 but the binaries are not tested at all. Any build failure delays the release of the binaries for the respective platform but not the collector distribution for all other platforms. Defects are addressed based on community contributions. Core developers might provide guidance or code reviews, but direct fixes may be limited.

Tier 3 platforms are currently:
- MacOS/Darwin amd64
mx-psi marked this conversation as resolved.
Show resolved Hide resolved
- MacOS/Darwin arm64
- Linux arm64
- Linux i386
- Linux arm/7
- Linux ppc64le
- Windows amd64
mx-psi marked this conversation as resolved.
Show resolved Hide resolved
- Windows i386
- Kubernetes arm64, i386, arm/v7 and ppc64le
- Docker amd64, arm64, i386, arm/v7 and ppc64le

The proposed additional platforms Linux on s390x (#378) and AIX on ppc64 ([#19195](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/19195#issuecomment-1458560971)) will be included into Tier 3 once they're added to the OpenTelemetry Collector as platforms.
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
The proposed additional platforms Linux on s390x (#378) and AIX on ppc64 ([#19195](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/19195#issuecomment-1458560971)) will be included into Tier 3 once they're added to the OpenTelemetry Collector as platforms.
The proposed additional platforms Linux on s390x ([#378](https://github.com/open-telemetry/opentelemetry-collector-releases/issues/378#issuecomment-1662371014)) and AIX on ppc64 ([#19195](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/19195#issuecomment-1458560971)) will be included into Tier 3 once they're added to the OpenTelemetry Collector as platforms.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Instead of linking to specific issue comments here, it is sufficient to link to the related issues. I will update the link for AIX on ppc64.