Temporary certificate fix expires July 19, 2019
Task | Move maven-stage plugin in a new profile in all pom.xml files | Review all pom file changes | Merge global-jjb changes & trigger jobs | Analyze binaries delivered to Nexus | Cherry pick needed changed into release branches | Remove old staging jobs | Remove unused profiles in pom.xml files | Comment on progress |
---|---|---|---|---|---|---|---|---|
Responsible | RelEng | PTL | RelEng | PTL | PTL | RelEng | PTL | |
Estimated Duration | 10 min per file | 5 min per file | 20 Min | 30 Min | 5 min | 10 Min | 10 min per file | |
AAF | ||||||||
AAI | ||||||||
APPC | ||||||||
CCSDK | ||||||||
CLAMP | ||||||||
CLI |
| |||||||
DCAE |
7/17 Update: All impacted dcae repo (15/15) migrated to new jobs. Validation and resolution (of some job failures for Ubuntu dependency) are in-progress. | |||||||
Demo | ||||||||
DMAAP | ||||||||
ExtAPI | ExtAPI seems to be ok, all jobs ok, pom cleaned. https://jenkins.onap.org/view/externalapi/ | |||||||
Holmes | ||||||||
Integration | ||||||||
Logging | Resolving 2 more failures |
| ||||||
Modeling | ||||||||
MSB | ||||||||
MultiCloud |
| |||||||
Music | ||||||||
OOF | All jobs work, only cmso is skipping artifact signing since they need to run in Ubuntu and SIGUL is just supported in Centos. Signing images for their releases will need to continue to be done manually, but at least we are migrated and not using the plugin in question. | |||||||
OOM | Confirmed with Mike that they don't need to make any releases. | |||||||
O-parent | ||||||||
Policy | Actively working with Pam, we are getting few components at a time | |||||||
Portal | Failures due to banned dependencies (Exception approved by TSC on Aug 1) |
| ||||||
SDC | ||||||||
SDNC | ||||||||
SO | Only thing to be done is remove the old deprecated jobs | |||||||
UUI | ||||||||
VFC | ||||||||
VID | ||||||||
VNFSDK |
|
Nexus2 releases migration notes
Ready to migrate? Things to consider and challenges faced with the currently migrated teams
- The job we are migrating to can be found in global-jjb:
- Maven releases: https://github.com/lfit/releng-global-jjb/blob/master/jjb/lf-maven-jobs.yaml#L799
- Docker releases built with maven artifacts: https://github.com/lfit/releng-global-jjb/blob/master/jjb/lf-maven-jobs.yaml#L975
- These jobs are being designed to eventually automate the release process without LF intervention.
- gerrit-maven-stage jobs incude a step to automatically sign the artifacts using SIGUL:
- Currently, SIGUL only works in CentOS for which the teams will need to use these nodes for running their builds
- If the team has a special dependency on Ubuntu, please inform LFRELENG before the migration so that we disable SIGUL signing for that project in particular.
- gerrit-maven-stage enforces depenendcies exclusively on released versions. Please do not use dependnecies on snapshot artifacts
- Development MUST happen on a snapshot version of the artifact. Team daily development must be done on top of snapshots.
- Failing to do so will cause the jobs to fail since gerrit-maven-stage is designed to produce a new release candidate out of a snapshot version.
- gerrit-maven-stage and gerrit-maven-docker-stage support versions plugin. The team can decide to use it or skip it to bump their versions.
- gerrit-maven-stage and gerrit-maven-docker-stage produce a patchset that is ready for the tech teams to use to commit their release candidate details. Please use it.
Changes needed to be done and stakeholders
TECHTEAM: Verify that the previous section's concerns listed above are not a concern to the tech team.
TECHTEAM: If the project's pom.xml has a dependency on Oparent, they need to migrate to version 2.0.0. For example: https://gerrit.onap.org/r/#/c/modeling/toscaparsers/+/88216/
TECHTEAM: Make sure there is no usage of nexus-staging-maven-plugin in pom.xml. For example: https://gerrit.onap.org/r/#/c/clamp/+/87812/
LFRELENG: Add the team's needed jobs from global-jjb. For example: https://gerrit.onap.org/r/#/c/ci-management/+/77825/
TECHTEAM + LFRELENG: Verify the new jobs are running fine and deploying the correct artifacts.
LFRELENG: Cleanup old un needed jobs. For example: https://gerrit.onap.org/r/#/c/ci-management/+/87495/
Testing the migration
- The migration cannot be tested in the Sandbox unfortunatelly.
- The Sandbox is specifically designed to block Nexus2 pushes and we will not be able to confirm if the artifacts were pushed correctly.
- The migration changes depend on pom.xml file changes in the source code which cannot be tested unless these changes are merged.
- Please notice that we can't keep both version-java-daily (and similar local templates) and gerrit-maven-stage (from global-jjb) running successfully at the same time.
- The plugin in question "nexus-staging-maven-plugin" only works for the old templates and, once we remove it's usage to be able to migrate, it will cause the old jobs to fail.
Triggering the stage release jobs
Please use the comment "stage-release" to trigger.
Release process
The release process is still the same:
- The PTL works towards their component development (I believe teams work on JAR artifact changes first and then Docker images)
- Once the PTL has a JAR artifact ready for releasing, they will trigger the gerrit-maven-stage job using the "stage-release" comment in Gerrit.
- The PTL will create a LF support jira ticket with the link of the gerrit-maven-stage job that produced their "autorelease" package (The same way they were already doing for release-java-daily jobs)
- LF will make a release in Nexus2
- PTL works towards their Docker images (which will use the previously released JARs for building)
- Once the PTL has a Docker images ready for releasing, they will trigger the gerrit-maven-docker-stage job using the "stage-release" comment in Gerrit.
- The PTL will create a LF support jira ticket with the link of the gerrit-maven-docker-stage job that produced their images (The same way they were already doing for docker-java-daily jobs)
- LF will make the release in Nexus3
7 Comments
Pamela Dragosh
Jessica Wagantall - any idea when you will get to Policy? I am looking to upgrade our components on master branch to oparent 2.0.0 sometime this week. Please let me know.
Jessica Wagantall
Pamela Dragosh clearly I am not the best at noticing the wiki comments. Sorry for the delay.
I noticed the changes your team is doing and I have the ci-management changes here ready for your review:
https://gerrit.onap.org/r/#/c/ci-management/+/77820/
Please review the following:
Pamela Dragosh
Yes - there are other repos that I believe need the changes for docker job as they produce docker images:
apex-pdp (open review to change to docker job - will pull in soon)
drools-pdp
engine
xacml-pdp
api
pap
drools-applications
docker
distribution
These are maven releases:
parent
common
models
Prudence Au
Jessica Wagantall For the logging-analytics, I replied to your email with some questions. Did you have a chance to read it? Basically, I believe the projects are not referring any SNAPSHOT or "nexus-staging-maven-plugin". Not sure why it's still not working. Any suggestions? Thanks!
Kiran Kamineni
Jessica Wagantall We don't have any maven files and don't use it to build docker images.
Does this affect jobs that use a bash scripts to build and push docker images to nexus3?
Jessica Wagantall
Prudence Au looking at a few examples:
Jessica Wagantall
Kiran Kamineni if you dont have any maven releases, then you can skip the addition of gerrit-maven-stage.
You should be able to use the "gerrit-maven-docker-stage" job to develop your docker images