blob: cff7748b353cc3f2dd4e447b9ce42542a069d052 [file] [log] [blame]
Charles Chanfcfe8902022-02-02 17:06:27 -08001.. SPDX-FileCopyrightText: 2021 Open Networking Foundation <info@opennetworking.org>
2.. SPDX-License-Identifier: Apache-2.0
3
Zack Williams98fe2322021-09-20 15:02:11 -07004Release Process
5===============
6
Carmelo Casconed9f49162021-10-07 18:17:20 -07007Release artifacts
8-----------------
9There will be 4 major artifacts produced as the result of release process.
10
11- **SD-Fabric Docker image** - This includes all control plane software
12- **Stratum Docker image** - This includes Stratum switch OS
13- **SD-Fabric Helm charts**
14- **SD-Fabric documentation** - The website you are currently viewing
15
16Prerequisite
17------------
18SD-Fabric releases are guarded by our system integration tests.
19Before each release, we check the test result and make sure we have a "green light".
20Visit :ref:`testing_guide` for more details.
21
22Stratum Docker image
23--------------------
24Stratum has its own release process and release timeline.
25We request Stratum TST to make a release when necessary.
26
27SD-Fabric Docker Image
28----------------------
29We tag and release the following repositories in order:
30
31- onos:
32 - Run Jenkins release job: https://jenkins.onosproject.org/view/onos-release/job/onos-bazel-release-build/
33 - Manually publish artifacts to Maven central: https://oss.sonatype.org/
34
35- trellis-control:
pierventrebe854e92022-03-11 11:11:30 -080036 - Run Jenkins artifact release job: https://jenkins.onosproject.org/view/SD-Fabric/job/artifact-release_sdfabric-onos/ :
37
38 - Exclude ``pom.xml(s)`` through ``egrepExclude`` variable
39 - Update ``pom.xml(s)`` in the first review generated by the job:
Carmelo Casconed9f49162021-10-07 18:17:20 -070040
41 - Update dependencies (use non-snapshot onos)
42 - Update version
43 - Push Gerrit change, merge
44 - Wait for Jenkins job to publish artifacts (https://jenkins.onosproject.org/view/Trellis/job/maven-publish_trellis-control)
45 - Manually release artifacts: https://oss.sonatype.org/
pierventrebe854e92022-03-11 11:11:30 -080046 - Merge the second review generated by the job
Carmelo Casconed9f49162021-10-07 18:17:20 -070047
48- fabric-tna:
49 - Update ``pom.xml``:
50
51 - Update dependencies (use non-snapshot ``onos`` and ``trellis-control``)
52 - Update version
53 - Tag repository
pierventrebe854e92022-03-11 11:11:30 -080054 - Create a second pull request to start a new development cycle
Carmelo Casconed9f49162021-10-07 18:17:20 -070055
56- up4:
57 - Update ``pom.xml(s)``:
58
59 - Update dependencies (use non-snapshot onos)
60 - Update version
61 - Tag repository
pierventrebe854e92022-03-11 11:11:30 -080062 - Create a second pull request to start a new development cycle
Carmelo Casconed9f49162021-10-07 18:17:20 -070063
64- SD-Fabric image:
65 - Update Makefile.stable with git tags used above
66 - Merge, wait for Jenkins to publish stable image
pierventrebe854e92022-03-11 11:11:30 -080067 - Manually tag image on Dockerhub
Carmelo Casconed9f49162021-10-07 18:17:20 -070068
69SD-Fabric Helm charts
70---------------------
71The SD-Fabric umbrella chart includes 5 sub-charts:
72
73 - ONOS classic
74 - Stratum
75 - PFCP agent
76 - DBUF
77 - INT host reporter
78
79To update each sub-charts:
80 - Update chart version and default image in each charts
81 - Post-merge CI job will tag the repositories according to chart version
82
83To update the umbrella charts:
84 - Update chart version and dependencies in ``sdfabric-helm-charts/sdfabric/Chart.yaml``
85 - Post-merge CI job will tag the repositories according to chart version
86
87
88SD-Fabric documentation
89-----------------------
90- Complete release note
91- Tag documentation repository for each release
92- Branch documentation repository for each major releases