Timeline of events
...
To prevent dependency issues, this migration is planned to happen in 2 stages.
Stage 1 will use hardcoded sonar goals to the needed plugin version to avoid waiting on dependencies from where this can be inherited.
Stage 2 will be a cleanup stage and work towards fixing the plugin in the dependencies like oparent and slowly migrate teams to it while removing hardcoded sonar goals.
STAGE 1
- RELENG → Will add the needed changes in ci-management for each project and run a test in the sandbox
- RELENG → will post the restults of the sandbox test in the 3rd column below.
- This is not reflecting if the Sonar report actually pass or failed a quality gate. Instead, this result is the outcome of running the Sandbox job using the changes in ci-management.
- TECHTEAM → Review the results and comments posted by Releng in column 4. PTLs will be mentioned explicitly to notify them that the next action is on their team.
- TECHTEAM&RELENG → Will work on any additional comments/questions/issues from column 4 and 5.
...
- Update oparent to remove SonarQube plugin and configure Jacoco https://gerrit.onap.org/r/#/c/oparent/+/98687/ (ETA Nov 22)
- Make an oparent release wit this change (ETA Nov 22)
- Present the teams with next steps to complete the table below (ETA Nov 25)
Tableenhancer | ||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||
failed |
|
STAGE 2
- Update oparent to upgrade the sonar plugin and Jacoco configuration to the latest plugin required by SonarCloud: https://sonarcloud.io/documentation/analysis/scan/sonarscanner-for-maven/
- Make an oparent release wit this change
- Migrate teams to the new oparent while also removing the hardcoded goals in their sonar ci-management changes from the above table
SonarCloud migration notes
...
- Teams will still be using the same Jenkins jobs
- SonarCloud is based on SonarQube 8.0 with +- some feature and plugin differences
- SonarQube will stay around for some time, but eventually will be deprecated (mid next year)
- Warnings in Quality Gates are no longer applicable in SonarCloud
- Teams using the "org.sonarsource.scanner.maven" plugin, might face issues during the migration since this plugin calls SonarQube directly .in older versions.
- Releng will report these issues from the testing
- Teams will need to disable this plugin and configure jacoco like ODL does https://githubsonarcloud.comio/opendaylightdocumentation/aaaanalysis/blob/master/pom.xml#L58-L93
- APPC example of this: https://gerrit.onap.org/r/#/c/appc/+/98197/
Changes needed to be done and stakeholders
RELENG: Modify project's yaml files to run Sonar on SonarCloud
RELENG: Test new runs in Sandbox and report failures
TECHTEAM: If failures are reported from the test, techteams help will be needed (Most likely related to dependencies and SonarQube specific plugins in the source)
TECHTEAM: Once test passes, review the final report and +1 Releng ci-management change
...
Testing the migration
The reports will now be posted under: https://sonarcloud.io/organizations/onap/projects
...