Temporary certificate fix expires July 19, 2019 

TaskMove maven-stage plugin in a new profile in all pom.xml filesReview all pom file changesMerge global-jjb changes & trigger jobsAnalyze binaries delivered to NexusCherry pick needed changed into release branchesRemove old staging jobsRemove unused profiles in pom.xml filesComment on progress
ResponsibleRelEngPTLRelEngPTLPTLRelEngPTL
Estimated Duration10 min
per file
5 min 
per file
20 Min30 Min5 min10 Min10 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/

  • To do: use the java binary from repo, and not the one locally build see EXTAPI-261 - Getting issue details... STATUS
  • Also Just need to run a full release process to be sure
Holmes







Integration







Logging


Resolving 2 more failures




  • Prudence to help me remove the extra snapshot artifacts being packaged in the autorelease file which is breaking the job
  • Cleanup of old jobs done
  • The team is developing 1.5.0-SNAPSHOT which fixed several jobs
Modeling







MSB







MultiCloud






  • Maven-docker-stage jobs need to be added to replace docker-java-version-shell-daily
  • Cleanup of old jobs underprogress
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)


  • Requesting exception: Portal team requested exception in email to use the portal/sdk snapshot dependency in portal repo (mail sent to Jessica and Catherine). As these two repos (portal and portal/sdk) are developed very closely in dev sprints, they require snapshot usage in those dev sprints (so portal cannot always be on released sdk libraries). Team requests, TSC to consider this as an exception and allow Portal component to use snapshots of protal/sdk libraries while in development phase.
  • Component having dependency issues.  Information sent to the PTL for helping me analyzing them. 
  • Need to add maven-docker-stage jobs to replace docker old jobs
  • Cleanup needs to be done
SDC







SDNC







SO






Only thing to be done is remove the old deprecated jobs
UUI







VFC







VID







VNFSDK






  • Only remaining ves-agent stage-relase job need to be addressed: The job is still calling "
    nexus-staging-maven-plugin:" need to remove the plugin
    The team needs to merge https://gerrit.onap.org/r/#/c/vnfsdk/ves-agent/+/92054/
  • Done.failues need to be addressed. Looks like development needs to be done on a SNAPSHOT version and the artifacts being built from the pom.xml have a release artifact version. The team needs to add the "SNAPSHOT" in the version
  • DoneCleanup of old jobs needs to be done

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: 
  • 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


  • No labels

7 Comments

  1. 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.

  2. 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:

    • Am I covering all projects?
    • I am using centos node since SIGUL auto signing only works on Centos. Is this an issue for any project?
    • Only drools-applications have a docker job gerrit-maven-docker-stage. Do any other repos need it too? Parent and common have the Nexus2 one added.
    1. 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

  3. 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!

  4. 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?

  5. Prudence Au  looking at a few examples:

    versions-maven-plugin is having issues while trying to strip the "SNAPSHOT" portion of the version in the pom.xml.
    Please make sure that the artifact version in the pom.xml is a snapshot.
    From my notes in the tracker: "Development MUST happen on a snapshot version of the artifact. Team daily development must be done on top of snapshots. "


  6. 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