Skip to content

Commit bf3f50f

Browse files
Merge pull request #107 from eclipse-score/aschemmel-tech-config-mgt-audit-rework
Config Mgt Audit fixes
2 parents 5bce5ca + 228e4e3 commit bf3f50f

File tree

14 files changed

+373
-84
lines changed

14 files changed

+373
-84
lines changed

process/folder_templates/index.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@
1212
# SPDX-License-Identifier: Apache-2.0
1313
# *******************************************************************************
1414
15+
.. _folder_templates:
16+
1517
Folder Templates
1618
################
1719

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
..
2+
# *******************************************************************************
3+
# Copyright (c) 2025 Contributors to the Eclipse Foundation
4+
#
5+
# See the NOTICE file(s) distributed with this work for additional
6+
# information regarding copyright ownership.
7+
#
8+
# This program and the accompanying materials are made available under the
9+
# terms of the Apache License Version 2.0 which is available at
10+
# https://www.apache.org/licenses/LICENSE-2.0
11+
#
12+
# SPDX-License-Identifier: Apache-2.0
13+
# *******************************************************************************
14+
15+
Concept
16+
-------
17+
18+
.. doc_concept:: Configuration Management Concept
19+
:id: doc_concept__configuration__process
20+
:status: valid
21+
22+
In this section a concept for the configuration management will be discussed.
23+
Inputs for this concepts are mainly the requirements of ISO26262 "Part 8: Supporting Processes"
24+
and ASPICE Requirements from PAM4.0, SUP.8
25+
26+
Key concept
27+
^^^^^^^^^^^
28+
The Configuration Management Plan should define the strategy to manage the configuration items
29+
in an effective and repeatable way for the project life cycle.
30+
31+
Note: configuration items are all defined work products in the project plus additional arefacts not developed by the project
32+
needed for the building of the binaries, documentation and verification reports (e.g. tools, external SW libraries).
33+
34+
Inputs
35+
^^^^^^
36+
37+
#. Stakeholders for the configuration process work products?
38+
#. Who needs which information?
39+
#. Which configuration items do we have?
40+
#. What tooling do we need?
41+
42+
Stakeholders
43+
^^^^^^^^^^^^
44+
45+
#. :need:`Technical Lead <rl__technical_lead>`
46+
47+
* for creating a module or a platform release a baseline of all configuration items is needed
48+
49+
#. :need:`Contributor <rl__contributor>` and :need:`Committer <rl__committer>`
50+
51+
* wants know which work products's version has to be used as input for his work
52+
* wants to share their created work product with others for example to get those reviewed
53+
* wants to integrate their created work product with other work products
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
..
2+
# *******************************************************************************
3+
# Copyright (c) 2025 Contributors to the Eclipse Foundation
4+
#
5+
# See the NOTICE file(s) distributed with this work for additional
6+
# information regarding copyright ownership.
7+
#
8+
# This program and the accompanying materials are made available under the
9+
# terms of the Apache License Version 2.0 which is available at
10+
# https://www.apache.org/licenses/LICENSE-2.0
11+
#
12+
# SPDX-License-Identifier: Apache-2.0
13+
# *******************************************************************************
14+
15+
Getting Started
16+
###############
17+
18+
.. doc_getstrt:: Configuration Management Get Started
19+
:id: doc_getstrt__configuration__process
20+
:status: valid
21+
22+
In case you are appointed as a :need:`Technical Lead <rl__technical_lead>` by the :need:`rl__project_lead` in the project:
23+
24+
* On platform level, process community provides a draft configuration management plan,
25+
based on the template :need:`gd_temp__config_mgt_plan`, just set it to "valid"
26+
* On module level, follow the configuration management plan of the platform also in your module.
27+
If the configuration management plan needs updating for your module, the same template can be used.
28+
29+
As a normal contributor or committer consult the configuration management plan, it should
30+
be mainly your task to use the project's selected version management tool.
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
..
2+
# *******************************************************************************
3+
# Copyright (c) 2025 Contributors to the Eclipse Foundation
4+
#
5+
# See the NOTICE file(s) distributed with this work for additional
6+
# information regarding copyright ownership.
7+
#
8+
# This program and the accompanying materials are made available under the
9+
# terms of the Apache License Version 2.0 which is available at
10+
# https://www.apache.org/licenses/LICENSE-2.0
11+
#
12+
# SPDX-License-Identifier: Apache-2.0
13+
# *******************************************************************************
14+
15+
Roles
16+
#####
17+
18+
For configuration management no additional roles need to be defined.
19+
20+
Contributing Roles:
21+
22+
* :need:`Contributor <rl__contributor>`
23+
* :need:`Committer <rl__committer>`
24+
* :need:`Technical Lead <rl__technical_lead>`
25+
* :need:`Module Project Lead <rl__module_lead>`
26+
27+
A detailed overview of the responsibility for the steps of the configuration management is listed here:
28+
29+
:need:`wf__platform__cr_mt_platform_mgmt_plan`
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
..
2+
# *******************************************************************************
3+
# Copyright (c) 2025 Contributors to the Eclipse Foundation
4+
#
5+
# See the NOTICE file(s) distributed with this work for additional
6+
# information regarding copyright ownership.
7+
#
8+
# This program and the accompanying materials are made available under the
9+
# terms of the Apache License Version 2.0 which is available at
10+
# https://www.apache.org/licenses/LICENSE-2.0
11+
#
12+
# SPDX-License-Identifier: Apache-2.0
13+
# *******************************************************************************
14+
15+
16+
Workflows Configuration Management
17+
##################################
18+
19+
The main work product is the configuration management plan, which is a part of the platform management plan.
20+
Thus the work flow :need:`wf__platform__cr_mt_platform_mgmt_plan` applies.
21+
22+
Baselines (sets of configuration items and their versions) defining a SW Release on platform or module level
23+
are created as part of this process but are documented in the respective release notes.
24+
This is part of workflows :need:`wf__rel__mod_rel_note` and :need:`wf__rel__platform_rel_note`
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
..
2+
# *******************************************************************************
3+
# Copyright (c) 2025 Contributors to the Eclipse Foundation
4+
#
5+
# See the NOTICE file(s) distributed with this work for additional
6+
# information regarding copyright ownership.
7+
#
8+
# This program and the accompanying materials are made available under the
9+
# terms of the Apache License Version 2.0 which is available at
10+
# https://www.apache.org/licenses/LICENSE-2.0
11+
#
12+
# SPDX-License-Identifier: Apache-2.0
13+
# *******************************************************************************
14+
15+
Work Products Configuration Management
16+
######################################
17+
18+
.. workproduct:: Platform Configuration Management Plan
19+
:id: wp__config_mgt_plan
20+
:status: valid
21+
:tags: config_management
22+
:complies: std_wp__iso26262__support_751
23+
24+
Config Management Plan (Part of the Platform Management Plan, :need:`wp__platform_mgmt`)

process/process_areas/configuration_management/guidance/process_req.rst renamed to process/process_areas/configuration_management/guidance/configuration_process_req.rst

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,14 @@
1515
Configuration Management Process Requirements
1616
=============================================
1717

18+
.. gd_req:: Unique Id
19+
:id: gd_req__configuration_uid
20+
:status: valid
21+
:tags: done_automation, config_mgt
22+
:complies: std_req__iso26262__support_745, std_req__aspice_40__SUP-8-BP8
23+
24+
The structured text tool shall check that the Id's of the configuration items are unique.
25+
1826
.. gd_req:: Permanent Storage
1927
:id: gd_req__config__workproducts_storage
2028
:status: valid
Lines changed: 165 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,165 @@
1+
..
2+
# *******************************************************************************
3+
# Copyright (c) 2025 Contributors to the Eclipse Foundation
4+
#
5+
# See the NOTICE file(s) distributed with this work for additional
6+
# information regarding copyright ownership.
7+
#
8+
# This program and the accompanying materials are made available under the
9+
# terms of the Apache License Version 2.0 which is available at
10+
# https://www.apache.org/licenses/LICENSE-2.0
11+
#
12+
# SPDX-License-Identifier: Apache-2.0
13+
# *******************************************************************************
14+
15+
.. _configuration_templates:
16+
17+
Template Configuration Management Plan
18+
======================================
19+
20+
.. gd_temp:: Configuration Management Plan Template
21+
:id: gd_temp__config_mgt_plan
22+
:status: valid
23+
:complies: std_req__iso26262__support_741, std_req__iso26262__support_742, std_req__iso26262__support_743, std_req__iso26262__support_744, std_req__iso26262__support_745, std_req__aspice_40__SUP-8-BP1, std_req__aspice_40__SUP-8-BP2, std_req__aspice_40__SUP-8-BP3, std_req__aspice_40__SUP-8-BP4, std_req__aspice_40__SUP-8-BP5, std_req__aspice_40__SUP-8-BP8, std_req__aspice_40__iic-13-08
24+
25+
Purpose
26+
+++++++
27+
28+
The Configuration Management Plan defines how the integrity of all work products
29+
and other project relevant artefacts can be reached and maintained.
30+
31+
32+
Objectives and scope
33+
++++++++++++++++++++
34+
35+
Goal of this plan is to describe
36+
37+
* how all configuration items in the project are identified
38+
* the infrastructure to store the configuration items
39+
* how to make all configuration items available to all concerned parties
40+
* where to find which configuration item
41+
* how to retrieve specific versions of a configuration item
42+
* how to modify a configuration item and how to control this
43+
* how to create and store versions of configuration items
44+
* how to manage baselines
45+
* how to backup and recover (including long term storage)
46+
* how to report the configuration status
47+
48+
note: for definition of "configuration items" check :need:`doc_concept__configuration__process`
49+
50+
51+
Approach
52+
++++++++
53+
54+
The steps below describe how configuration identification, retrieval, modification, branches and baselines, backup and recovery are organized.
55+
56+
Lifecycle
57+
^^^^^^^^^
58+
59+
The configuration management of the <project name> project is in place during the complete development lifecycle as described in :ref:`general_concepts_lifecycle`.
60+
I.e. in Concept Phase, Development Phase and Maintenance.
61+
62+
Identification and Properties
63+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
64+
65+
This should cover :need:`std_req__aspice_40__SUP-8-BP1` and :need:`std_req__aspice_40__SUP-8-BP2`.
66+
67+
Each work product is identified by its "Docs-as-Code" Id, this includes documents identified as such (by the document header as defined in :need:`gd_temp__documentation`).
68+
The complete list of project documents is defined in the project's <link to doc__documentation_mgt_plan>.
69+
Ids are checked for uniqueness, see :need:`gd_req__configuration_uid`.
70+
"Docs-as-Code" is also used to document the work products properties/attributes defined in the process area descriptions.
71+
The work products are stored in text or code files (these are identified by their filenames) within the selected version management tool.
72+
73+
For additional artefacts these are either
74+
75+
- files - are identified by their path/filename
76+
- precompiled tools/binaries - CI build configuration identifies those by their hash.
77+
- (external) tools/binaries to be built in <project name> CI - CI build configuration identifies those by their version.
78+
79+
80+
Retrieval
81+
^^^^^^^^^
82+
83+
<Describe how work products and files can be retrieved from versioning tooling.>
84+
Their content is defined in the process/workproducts and process_area/<area_name>/workproducts files.
85+
To find the location of the work products, the folder structure definition :ref:`folder_templates` can be used.
86+
<Describe how certain versions (also the ones for a certain baseline) of the work products and the change history can be displayed by the version management tool.>
87+
88+
For other artefacts: these are pulled into <project name> integration repository by forking to be handled as above.
89+
90+
91+
Control and Modification
92+
^^^^^^^^^^^^^^^^^^^^^^^^
93+
94+
This should cover :need:`std_req__aspice_40__SUP-8-BP3` and :need:`std_req__aspice_40__SUP-8-BP4`
95+
96+
Files or new work products contained in these files are created in local branches by the :need:`Contributor <rl__contributor>`
97+
and shared for review and incorporation into a main branch, which are after their acceptance merged by the :need:`Committer <rl__committer>`
98+
(this should be supported by version management tool).
99+
The same applies for changes in existing configuration items.
100+
All modifications (differences between before and after) are documented in the pull-requests and are the main input to the pull-request reviews.
101+
See also <link doc__platform_change_management_plan>.
102+
103+
For tool/binaries modifications (version changes) are controlled by the CI build files.
104+
These build files, like other files, are also maintained in version management tool.
105+
106+
107+
Branches and Baselines
108+
^^^^^^^^^^^^^^^^^^^^^^
109+
110+
This should cover :need:`std_req__aspice_40__SUP-8-BP5` and :need:`std_req__aspice_40__iic-13-08`
111+
112+
Branches are used as a means of parallel development. In the <project name> project the following types of branches will be used:
113+
114+
* local branches - created from "remote" branches, in these the development of the contributors takes place, no restriction on naming.
115+
* main branch - a "remote" branch (named "main") which contains all the latest file versions checked by CI, reviewed, accepted and merged.
116+
* release branch - a "remote" branch derived from main branch which is used to prepare a release,
117+
no functional code changes are allowed, only bug fixes and verification based improvements.
118+
Only the technical lead is allowed to approve a merge into a release branch. The branch name is given as defined in :need:`doc_concept__rel__process`.
119+
120+
The "remote" branch is not "local" to the developer but resides on the "remote" version management server.
121+
122+
In <project name> project all configuration items are kept in the version management tool, this means that there only needs to be one baseline for these
123+
(and not multiple ones for each of the work products which are maintained in seperate tools).
124+
<Describe how baselines are created by using the version management tool.>
125+
See also <link to doc__platform_release_management_plan>.
126+
127+
Every change in the release repository is also taken over into the main branch. The module development team
128+
can decide how to ensure this (e.g. by development in main and cherrypick to release branch).
129+
130+
131+
Backup and Recovery
132+
^^^^^^^^^^^^^^^^^^^
133+
134+
This should cover :need:`std_req__aspice_40__SUP-8-BP8`
135+
136+
<Describe how backup and recovery are covered in the project.>
137+
For the long term storage, additional measures should be taken, see :need:`gd_req__config__workproducts_storage`
138+
139+
Status and Reporting
140+
^^^^^^^^^^^^^^^^^^^^
141+
142+
This should cover :need:`std_req__aspice_40__SUP-8-BP6` and :need:`std_req__aspice_40__SUP-8-BP7`
143+
144+
Every work product defined in our proceses has a "status" attribute. These are used to communicate to all the stakeholders.
145+
The main communication means is a document list containing all documents and workproducts including their status.
146+
This list is typically part of the Documentation Management Plan <link doc__documentation_mgt_plan> as part of the Platform Management Plan,
147+
as defined in :need:`gd_guidl__documentation`.
148+
Completeness of the configuration items (within a baseline) is checked at least for every release
149+
against the list of planned documents and workproducts, which is also part of the Documentation Management Plan.
150+
151+
Configuration Management Tooling
152+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
153+
154+
Almost all requirements of the standards towards configuration management can be covered by
155+
standard versioning tooling of the Eclipse Foundation and of the <project name> project
156+
("Docs-as-Code" identification of work products).
157+
The respective tools used in the project are:
158+
159+
* versioning tool: <tool name>
160+
* "Docs-as-Code" tool: <tool name>
161+
* CI build tool: <tool name>
162+
163+
Note 1: A versioning tool covers part of configuration management but not all (namely: storage, retrieval, control and modification, branching and baselining).
164+
165+
Note 2: A "Docs-as-Code" tool is used to identify, attribute and link parts of text files and generate human and machine readable documentation.
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
..
2+
# *******************************************************************************
3+
# Copyright (c) 2025 Contributors to the Eclipse Foundation
4+
#
5+
# See the NOTICE file(s) distributed with this work for additional
6+
# information regarding copyright ownership.
7+
#
8+
# This program and the accompanying materials are made available under the
9+
# terms of the Apache License Version 2.0 which is available at
10+
# https://www.apache.org/licenses/LICENSE-2.0
11+
#
12+
# SPDX-License-Identifier: Apache-2.0
13+
# *******************************************************************************
14+
15+
Guidance
16+
########
17+
18+
.. toctree::
19+
:maxdepth: 1
20+
21+
configuration_templates
22+
configuration_process_req

0 commit comments

Comments
 (0)