OS tier levels + AutoSD as a community OS #2266
OS tier levels + AutoSD as a community OS #2266odra wants to merge 1 commit intoeclipse-score:mainfrom
Conversation
|
|
2cb329f to
24804bd
Compare
|
The created documentation from the pull request is available at: docu-html |
629cafa to
eb1535e
Compare
|
@odra whats the state with that pr? |
|
It's waiting for a review from the Arch. WG. |
qor-lb
left a comment
There was a problem hiding this comment.
The PR is a good step towards making “supported OSs / software platforms” discoverable and positioning Red Hat AutoSD as the first documented target platform. The new entry point under the OS module is useful and the AutoSD page already contains actionable technical information (build/run/tooling pointers), which aligns well with the intention that users find practical integration guidance in one place.
That said, to fully achieve the goal that users can quickly answer:
- What platforms are supported and at which level?
- How are the levels defined?
- How do I onboard / promote a new platform?
some restructuring and additional content would make the result significantly clearer and easier to maintain long-term imho.
|
we should also update the codeowner file to reflect the necessary approvals for the different levels |
aschemmel-tech
left a comment
There was a problem hiding this comment.
see inline comments
|
@qor-lb @aschemmel-tech I've updated my PR with the requested changes, could you please review it again? |
docs/modules/os/operating_systems/docs/onboarding/os_onboard_template.rst
Outdated
Show resolved
Hide resolved
| OS Name | ||
| ======= | ||
|
|
||
| .. os: <os_name> |
There was a problem hiding this comment.
Our metamodel does not define that need, you should follow that, and OS is more or less a component, so use please .. comp: as defined here https://github.com/eclipse-score/docs-as-code/blob/main/src/extensions/score_metamodel/metamodel.yaml (row 553), example https://eclipse-score.github.io/score/main/modules/communication/ipc_binding/docs/architecture/index.html#comp__com_ipc_binding
if the intention here is only to have an description, then please use document (raw 202)
There was a problem hiding this comment.
this as the original proposed by @qor-lb:
.. platform:: <platform name>
:id: platform__<platform name snake case>
:level: <community/functinal/certifiable>
:maintainer: <GitHub Handles>
I assumed it was comment metadata (at least for now) since there's no "platform::" directive (I got a compilation error when using it)
There was a problem hiding this comment.
Also not part of metadata, as proposed, your content is mainly a document, so use ..document, the need ..platform is not intended to be implemented, as also discussed with @aschemmel-tech, S-CORE itself is defined as SW-Platform
There was a problem hiding this comment.
I've changed it to use "comp_arc_sta" instead.
| OS Name | ||
| ======= | ||
|
|
||
| .. comp_arc_sta:: os_name |
There was a problem hiding this comment.
Your PR has an very old version of doc-as-code, that's why you may not able to use comp, because does not exists yet, please update at least do bazel_dep(name = "score_docs_as_code", version = "2.3.3") or higerh and try again with comp
There was a problem hiding this comment.
rebased and updated.
I've set the comp id as "comp__os_$osname".
5b569e8 to
57c7757
Compare
| # SPDX-License-Identifier: Apache-2.0 | ||
| # ******************************************************************************* | ||
|
|
||
| .. comp:: Red Hat AutoSD |
There was a problem hiding this comment.
Please add the comp to the os module ... (see modules/os/docs/index)
| ======= | ||
|
|
||
| .. comp:: os_name | ||
| :id: comp__os_osname |
There was a problem hiding this comment.
See above. Please add to the os module.
There was a problem hiding this comment.
This is one is just a template for onboarding a new OS, does it need to be added to the module list?
There was a problem hiding this comment.
No its fine then. I hope there is no issue with it. At least a free running component. Not sure if this make some trouble in the sphinx needs linking. If this is only an template (placeholder) and not a real component, then maybe it is better to not define an sphinx needs element.
There was a problem hiding this comment.
Again, if it is a template, use the document need and add the comp need as note, as we do it also here https://eclipse-score.github.io/process_description//main/folder_templates/features/feature_name/architecture/index.html for example
There was a problem hiding this comment.
It looks like I cannot use :implements: in with comps anymore, and using logic_arc_int does not work as well since it requires a feat_req.
Should the meta model file be updated with a proper platform/os type?
| Mixed Critical Orchestration | ||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ||
|
|
||
| Upstream documentation: https://sigs.centos.org/automotive/features-and-concepts/con_mixed-criticality/ |
There was a problem hiding this comment.
Please use rst links
5c2cf49 to
6324f53
Compare
masc2023
left a comment
There was a problem hiding this comment.
Please check documentation for final review
| :implements: aou_req__platform__integration_assistance, aou_req__platform__os_integration_manual, aou_req__platform__bug_interface | ||
|
|
||
| AutoSD | ||
| ###### |
There was a problem hiding this comment.
@odra there seems some documentation issue in this file, otherwise for me it looks now fine
There was a problem hiding this comment.
it's showing a warning (future error) for :implements: aou_req__platform__integration_assistance, aou_req__platform__os_integration_manual, aou_req__platform__bug_interface - it seems it's not allowed anymore as I said in this previous comment: #2266 (comment)
There was a problem hiding this comment.
Not sure the error is "/home/runner/work/score/score/docs/modules/os/operating_systems/docs/community/autosd.rst:23: WARNING: Duplicate explicit target name: "upstream documentation". [docutils]"
@RolandJentschETAS , any idea on that?
opajonk
left a comment
There was a problem hiding this comment.
Read it once more completely. Nice job! Understandable, and clear what needs to be done for an OS.
I found only one actual typo and a few details.
|
@masc2023 it needs a new approval due to some spelling errors |
| .. comp:: AutoSD | ||
| :id: comp__os_autosd | ||
| :security: YES | ||
| :safety: QM |
There was a problem hiding this comment.
Looks from module cope now strange. QM inside ASIL module.
There was a problem hiding this comment.
But it is correct and as intended, as AutoSD applies not for Certifiable level
There was a problem hiding this comment.
My understanding of this would be: "If you integrate S-CORE on AutoSD, at the moment all you can expect is a QM system".
Disclaimer: same would be true for EB corbos Linux for Safety Application right now, until we successfully qualify for the highest integration level, as described in the PR. This is a step-by-step process, which is totally reasonable, and not how we start off.
There was a problem hiding this comment.
Or it is another module and dont fit into the OS.
There was a problem hiding this comment.
As comment above, not a problem, it shows exactly the status and any safety engineer will easily see, that AutoSD can not used currently in safety-critical context
There was a problem hiding this comment.
But it is against our process requirements, so maybe we have an process issue. See gd_req__arch_linkage_safety_trace. The module OS is defined as ASIL_B and is an architectural element (see gd_req__arch_build_blocks). Therefore linking an QM element will be against this requirement.
There was a problem hiding this comment.
Your rules does not consider yet https://eclipse-score.github.io/score/pr-2266/requirements/platform_assumptions/index.html#aou_req__platform__integration_assistance, where it is allowed to deviate, if you want only to deliver on Community Level, so that is SCORE specific tailoring of the general process
There was a problem hiding this comment.
Not sure, what "The supplier shall provide a contact point for integration assistance." have to do with this. But it might be another AOU. But nevertheless it would mean, that our docs as code which will implement the enforcement of this rule by sphinx-needs tests have to be modified or deactivated within S-CORE project scope. Right ?
There was a problem hiding this comment.
I talked with the docs_as_code colleagues. They will implement the checks (leads to built errors) and there is currently no possibility implemented and anyhow foreseen to overrule that from the project. They follow currently only the process requirements.
qor-lb
left a comment
There was a problem hiding this comment.
@odra I added some minor consistency hints for renaming Platform to OS accordingly and the addition of the newly formed release team which is required from Functional level onwards to approve. Besides this the overall change looks good to me and we can continue with merging after this has been resolved.
| 1. **Eligibility (Platform Maintainer)**: | ||
| The platform maintainer resolves the **supplier** requirements of the target level. | ||
| Only if these requirements are fulfilled, the OS can be considered for promotion. | ||
|
|
||
| 2. **Acceptance + Lifecycle Guarantees (S-CORE)**: | ||
| S-CORE reviews the promotion request. | ||
| If accepted at **Functional** or **Certifiable**, S-CORE commits to maintain the | ||
| guarantees of the accepted level across all increments. |
There was a problem hiding this comment.
Consistency: Platform -> OS
| 1. **Eligibility (Platform Maintainer)**: | |
| The platform maintainer resolves the **supplier** requirements of the target level. | |
| Only if these requirements are fulfilled, the OS can be considered for promotion. | |
| 2. **Acceptance + Lifecycle Guarantees (S-CORE)**: | |
| S-CORE reviews the promotion request. | |
| If accepted at **Functional** or **Certifiable**, S-CORE commits to maintain the | |
| guarantees of the accepted level across all increments. | |
| 1. **Eligibility (OS Maintainer)**: | |
| The OS maintainer resolves the **supplier** requirements of the target level. | |
| Only if these requirements are fulfilled, the OS can be considered for promotion. | |
| 2. **Acceptance + Lifecycle Guarantees (S-CORE)**: | |
| S-CORE reviews the promotion request. | |
| If accepted at **Functional** or **Certifiable**, S-CORE commits to maintain the | |
| guarantees of the accepted level across all increments. |
| **Eligibility requirements (Platform Maintainer / supplier requirements)** | ||
| The OS maintainer must fulfill the Community level supplier requirements as defined in: | ||
| :ref:`platform_assumptions`. | ||
|
|
||
| **Review and acceptance (S-CORE)** | ||
| S-CORE reviews the documentation entry for completeness and consistency. | ||
| Acceptance only means the platform is listed in-tree. | ||
| No infrastructure or lifecycle support is implied. |
There was a problem hiding this comment.
Consistency
| **Eligibility requirements (Platform Maintainer / supplier requirements)** | |
| The OS maintainer must fulfill the Community level supplier requirements as defined in: | |
| :ref:`platform_assumptions`. | |
| **Review and acceptance (S-CORE)** | |
| S-CORE reviews the documentation entry for completeness and consistency. | |
| Acceptance only means the platform is listed in-tree. | |
| No infrastructure or lifecycle support is implied. | |
| **Eligibility requirements (OS Maintainer / supplier requirements)** | |
| The OS maintainer must fulfill the Community level supplier requirements as defined in: | |
| :ref:`platform_assumptions`. | |
| **Review and acceptance (S-CORE)** | |
| S-CORE reviews the documentation entry for completeness and consistency. | |
| Acceptance only means the OS is listed in-tree. | |
| No infrastructure or lifecycle support is implied. |
| **Eligibility requirements (Platform Maintainer / supplier requirements)** | ||
| The platform maintainer must fulfil the Functional level supplier requirements as defined in: | ||
| :ref:`platform_assumptions`. | ||
|
|
||
| **Additional acceptance requirements (S-CORE / system integrator requirements)** | ||
| From Functional level onwards, S-CORE must be able to continuously validate the platform. | ||
| This requires infrastructure and test integration. | ||
|
|
||
| **Required approvals** | ||
| Promotion to Functional requires explicit approval by: | ||
|
|
||
| * Platform maintainers | ||
| * Architecture WG | ||
| * Infrastructure WG (CI / build & test environment support) | ||
| * Testing WG | ||
| * Quality Management |
There was a problem hiding this comment.
Consitency + We need review from the release team as they need need to maintain this guarantee in following releases
| **Eligibility requirements (Platform Maintainer / supplier requirements)** | |
| The platform maintainer must fulfil the Functional level supplier requirements as defined in: | |
| :ref:`platform_assumptions`. | |
| **Additional acceptance requirements (S-CORE / system integrator requirements)** | |
| From Functional level onwards, S-CORE must be able to continuously validate the platform. | |
| This requires infrastructure and test integration. | |
| **Required approvals** | |
| Promotion to Functional requires explicit approval by: | |
| * Platform maintainers | |
| * Architecture WG | |
| * Infrastructure WG (CI / build & test environment support) | |
| * Testing WG | |
| * Quality Management | |
| **Eligibility requirements (OS Maintainer / supplier requirements)** | |
| The OS maintainer must fulfill the Functional level supplier requirements as defined in: | |
| :ref:`platform_assumptions`. | |
| **Additional acceptance requirements (S-CORE / system integrator requirements)** | |
| From Functional level onwards, S-CORE must be able to continuously validate the OS integration. | |
| This requires infrastructure, test and release integration. | |
| **Required approvals** | |
| Promotion to Functional requires explicit approval by: | |
| * OS maintainers | |
| * Architecture WG | |
| * Infrastructure WG (CI / build & test environment support) | |
| * Testing WG | |
| * Release Team | |
| * Quality Management |
docs/modules/os/operating_systems/docs/onboarding/os_onboard_template.rst
Outdated
Show resolved
Hide resolved
| Build Instructions | ||
| ------------------ | ||
|
|
||
| Explain how to build an image of this platform and how to build Eclipse S-CORE for it. |
There was a problem hiding this comment.
Consistency
| Explain how to build an image of this platform and how to build Eclipse S-CORE for it. | |
| Explain how to build an image of this OS and how to build Eclipse S-CORE for it. |
docs/modules/os/operating_systems/docs/onboarding/os_onboard_template.rst
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Please update the codeowners file to include the TLs as intermediate reviewers until all the different representatives from the communities that need to approve have been defined:
https://github.com/eclipse-score/score/blob/main/.github/CODEOWNERS#L34C1-L34C81
# TLs are intermediate until representatives have been finalized
/docs/modules/os/operating_systems @antonkri @FScholPer @qor-lb @johannes-esr
|
@pawelrutkaq / @FScholPer can you please also review this in the context of the newly formed release team? @PiotrKorkus , @AlexanderLanin can you please take a look at this from testing/infra perspective? |
|
@odra on second sight, I think we have missed the definition of the target archtiecture. Could you make a proposal where we can define the target triplets for this in AutoSD and a place in the template? This would be important for the release team as they need to maintain the exact target triplets and I think this is also the required integration point for the toolchains. |
Please keep in mind, changing teams, roles needs to be reflected also in the process, please create issues, if there something needs to be changed see |
eada8ee to
7c59a7d
Compare
|
@qor-lb I added an "architecture table" to both files, I am not sure if this is the best format. It sounds like it should be a platform requirement card, eventually. Also, I think we need to discuss how to describe toolchains within the project as well, the same way we are doing with operating systems. |
docs/modules/os/operating_systems/docs/onboarding/os_onboard_template.rst
Outdated
Show resolved
Hide resolved
docs/modules/os/operating_systems/docs/onboarding/os_onboard_template.rst
Show resolved
Hide resolved
docs/modules/os/operating_systems/docs/onboarding/os_onboard_template.rst
Outdated
Show resolved
Hide resolved
| 1. **Eligibility (Platform Maintainer)**: | ||
| The platform maintainer resolves the **supplier** requirements of the target level. | ||
| Only if these requirements are fulfilled, the OS can be considered for promotion. | ||
|
|
||
| 2. **Acceptance + Lifecycle Guarantees (S-CORE)**: | ||
| S-CORE reviews the promotion request. | ||
| If accepted at **Functional** or **Certifiable**, S-CORE commits to maintain the | ||
| guarantees of the accepted level across all increments. |
| **Eligibility requirements (Platform Maintainer / supplier requirements)** | ||
| The OS maintainer must fulfill the Community level supplier requirements as defined in: | ||
| :ref:`platform_assumptions`. | ||
|
|
||
| **Review and acceptance (S-CORE)** | ||
| S-CORE reviews the documentation entry for completeness and consistency. | ||
| Acceptance only means the platform is listed in-tree. | ||
| No infrastructure or lifecycle support is implied. |
| **Eligibility requirements (Platform Maintainer / supplier requirements)** | ||
| The platform maintainer must fulfil the Functional level supplier requirements as defined in: | ||
| :ref:`platform_assumptions`. | ||
|
|
||
| **Additional acceptance requirements (S-CORE / system integrator requirements)** | ||
| From Functional level onwards, S-CORE must be able to continuously validate the platform. | ||
| This requires infrastructure and test integration. | ||
|
|
||
| **Required approvals** | ||
| Promotion to Functional requires explicit approval by: | ||
|
|
||
| * Platform maintainers | ||
| * Architecture WG | ||
| * Infrastructure WG (CI / build & test environment support) | ||
| * Testing WG | ||
| * Quality Management |
|
|
||
| Build Instructions | ||
| ------------------ | ||
|
|
||
| +---------------+--------------------------------+ | ||
| | Target Arch | Comments | | ||
| +---------------+--------------------------------+ | ||
| | <target_arch> | <Native Only, Cross Compile> | | ||
| +---------------+--------------------------------+ |
There was a problem hiding this comment.
@odra I don't like that the target arch table is currently duplicated in the build instructions and in the toolchains.
How about creating an additional section before the build instructions to list this down:
| Build Instructions | |
| ------------------ | |
| +---------------+--------------------------------+ | |
| | Target Arch | Comments | | |
| +---------------+--------------------------------+ | |
| | <target_arch> | <Native Only, Cross Compile> | | |
| +---------------+--------------------------------+ | |
| Supported Architectures | |
| -------------------------------- | |
| +---------------+--------------------------------+ | |
| | TArchitecture | Comments | | |
| +---------------+--------------------------------+ | |
| | <target_arch> | <Native Only, Cross Compile> | | |
| +---------------+--------------------------------+ | |
| Build Instructions | |
| ------------------ | |
An then also add the description within the build instructions and toolchain that they should reference the target architecture and explain if there are any differences when approaching the supported architectures.
There was a problem hiding this comment.
all the previous changes have already been address, I will push and update regarding the arch. table.
1437db3 to
9f86b83
Compare
aschemmel-tech
left a comment
There was a problem hiding this comment.
my comments taken into account
Co-authored-by: Lars Bauhofer <lars.bauhofer@qorix.ai> Co-authored-by: Oliver Pajonk <oliver@pjnk.de> Co-authored-by: Frank Scholter Peres(MBTI) <145544737+FScholPer@users.noreply.github.com> Signed-off-by: Leonardo Rossetti <lrossett@redhat.com>
9f86b83 to
e1a6f6a
Compare

fixes #2264
Changes