[DOCS-15] odlparent references nonexistent artifacts Created: 14/Jan/16  Updated: 19/Oct/17  Resolved: 17/Jun/16

Status: Resolved
Project: docs
Component/s: Wiki
Affects Version/s: unspecified
Fix Version/s: None

Type: Bug
Reporter: Jozef Behran Assignee: Unassigned
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Attachments: File controller.log.xz     File odlparent.log.xz    
External issue ID: 4960

 Description   

Found on beryllium (the master branch), pulled out yesterday.

This bug manifests during build as either "[WARNING] Could not download some/crazy/location/some-artifact.pom" warning messages or as "[WARNING] Unable to create Maven project for some:weird.artifact:pom:some.weird.version from repository." followed by org.apache.maven.project.ProjectBuildingException: Error resolving project artifact: Failure to find some:weird.artifact:pom:some.weird.version in https://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced for project some:weird.artifact:pom:some.weird.version".

It was tracked down to odlparent referencing nonexistent artifacts which were either moved or deleted. While it won't cause build of odlparent to break, it causes the build of other projects to break. I suspect this problem is causing the newest fixes not getting through to us, testers as the build of the artifact fails and an older build (without the fixes) gets pulled out of artifactory instead.

My current testing revealed that at least controller is rendered unbuildable by this bug, affecting clustering tests (as the clustering implementation is mainly clustered in the controller project).



 Comments   
Comment by Vratko Polak [ 14/Jan/16 ]

Is there a link to look at to see the details?

Current controller builds are failing due to what looks like just a badly written unit test: https://jenkins.opendaylight.org/releng/view/Merge-Jobs/job/controller-merge-beryllium/1126/org.opendaylight.controller$sal-akka-raft/testReport/org.opendaylight.controller.cluster.raft/RaftActorTest/testRaftActorForwardsToRaftActorSnapshotMessageSupport/

So perhaps this is WORKSFORME now?

Comment by Jozef Behran [ 14/Jan/16 ]

Hm... That appears to me that the controller build either got fixed or is done in a way that makes it resilient to the nonexistent dependencies recorded in the odlparent's pom.

As a quick example of nonexistent artifact dependencies: anything in the "orbit" group was either moved or deleted. See lines 590 and following in odlparent/pom.xml and also line 635 and following. Another example is anything that has "eclipselink" in its URL but this might be just a botched setup on my build machine.

Setting importance to "minor" as I managed to find an ODL image that appears to have clustering in a reasonably working shape so I am no longer blocked by this. Additionally, I need to go working on more important stuff so I am leaving this here as a reminder.

Comment by Tony Tkacik [ 15/Jan/16 ]

Please provide concrete list of misssing dependencies.

Some of the dependencies are not coming from maven repository but from others,
and maven tries to locate them in all configured repositories.

Comment by Jozef Behran [ 15/Jan/16 ]

Well, after discussion with Vratko I found one possible cause: it requires maven 3.3.9, I was trying to build it with maven 3.2.3.

I will retest and report my mileage.

Comment by Jozef Behran [ 15/Jan/16 ]

I don't have the complete list of concrete dependencies, it will take a while to figure them out all. I started the collection but it takes time as I have more important tasks to finish first but I will keep trying and report once I find something.

Comment by Jozef Behran [ 19/Jan/16 ]

So, I managed to install maven 3.3.9 and rerun the build, while I was waiting for the sandbox to run the 10+ test runs aimed at catching a netconf readiness bug. Here are the results.

Tested commits are (in the order in which the projects were built):

odlparent: bd783b993c59f9e3725b028e8c8ff3251ba680a7
affinity: 915790e099042fd7a66bc14c94d548740997d0bb
yangtools: 9312147572d7d9058c794d5456d401e55cd0409c
mdsal: a3d4c76eff60d788552126c5e5817c355574ad14
controller: 2895ebebbc5178ff051b5611341444159dd69770

Here is a list of dead links that Maven tried when building odlparent.

[1] https://repo.maven.apache.org/maven2/eclipselink/javax.persistence/2.0.4.v201112161009/javax.persistence-2.0.4.v201112161009.pom
[2] https://repo.maven.apache.org/maven2/eclipselink/javax.resource/1.5.0.v200906010428/javax.resource-1.5.0.v200906010428.pom
[3] https://repo.maven.apache.org/maven2/equinoxSDK381/javax.servlet/3.0.0.v201112011016/javax.servlet-3.0.0.v201112011016.pom
[4] https://repo.maven.apache.org/maven2/equinoxSDK381/javax.servlet.jsp/2.2.0.v201112011158/javax.servlet.jsp-2.2.0.v201112011158.pom
[5] https://repo.maven.apache.org/maven2/equinoxSDK381/org.apache.felix.gogo.command/0.8.0.v201108120515/org.apache.felix.gogo.command-0.8.0.v201108120515.pom
[6] https://repo.maven.apache.org/maven2/equinoxSDK381/org.apache.felix.gogo.runtime/0.8.0.v201108120515/org.apache.felix.gogo.runtime-0.8.0.v201108120515.pom
[7] https://repo.maven.apache.org/maven2/equinoxSDK381/org.apache.felix.gogo.shell/0.8.0.v201110170705/org.apache.felix.gogo.shell-0.8.0.v201110170705.pom
[8] https://repo.maven.apache.org/maven2/equinoxSDK381/org.eclipse.equinox.cm/1.0.400.v20120522-1841/org.eclipse.equinox.cm-1.0.400.v20120522-1841.pom
[9] https://repo.maven.apache.org/maven2/equinoxSDK381/org.eclipse.equinox.console/1.0.0.v20120522-1841/org.eclipse.equinox.console-1.0.0.v20120522-1841.pom
[10] https://repo.maven.apache.org/maven2/equinoxSDK381/org.eclipse.equinox.ds/1.4.0.v20120522-1841/org.eclipse.equinox.ds-1.4.0.v20120522-1841.pom
[11] https://repo.maven.apache.org/maven2/equinoxSDK381/org.eclipse.equinox.launcher/1.3.0.v20120522-1813/org.eclipse.equinox.launcher-1.3.0.v20120522-1813.pom
[12] https://repo.maven.apache.org/maven2/equinoxSDK381/org.eclipse.equinox.util/1.0.400.v20120522-2049/org.eclipse.equinox.util-1.0.400.v20120522-2049.pom
[13] https://repo.maven.apache.org/maven2/equinoxSDK381/org.eclipse.osgi/3.8.1.v20120830-144521/org.eclipse.osgi-3.8.1.v20120830-144521.pom
[14] https://repo.maven.apache.org/maven2/equinoxSDK381/org.eclipse.osgi.services/3.3.100.v20120522-1822/org.eclipse.osgi.services-3.3.100.v20120522-1822.pom
[15] https://repo.maven.apache.org/maven2/geminiweb/org.eclipse.gemini.web.core/2.2.0.RELEASE/org.eclipse.gemini.web.core-2.2.0.RELEASE.pom
[16] https://repo.maven.apache.org/maven2/geminiweb/org.eclipse.gemini.web.extender/2.2.0.RELEASE/org.eclipse.gemini.web.extender-2.2.0.RELEASE.pom
[17] https://repo.maven.apache.org/maven2/geminiweb/org.eclipse.gemini.web.tomcat/2.2.0.RELEASE/org.eclipse.gemini.web.tomcat-2.2.0.RELEASE.pom
[18] https://repo.maven.apache.org/maven2/geminiweb/org.eclipse.virgo.kernel.equinox.extensions/3.6.0.RELEASE/org.eclipse.virgo.kernel.equinox.extensions-3.6.0.RELEASE.pom
[19] https://repo.maven.apache.org/maven2/geminiweb/org.eclipse.virgo.util.common/3.6.0.RELEASE/org.eclipse.virgo.util.common-3.6.0.RELEASE.pom
[20] https://repo.maven.apache.org/maven2/geminiweb/org.eclipse.virgo.util.io/3.6.0.RELEASE/org.eclipse.virgo.util.io-3.6.0.RELEASE.pom
[21] https://repo.maven.apache.org/maven2/geminiweb/org.eclipse.virgo.util.math/3.6.0.RELEASE/org.eclipse.virgo.util.math-3.6.0.RELEASE.pom
[22] https://repo.maven.apache.org/maven2/geminiweb/org.eclipse.virgo.util.osgi/3.6.0.RELEASE/org.eclipse.virgo.util.osgi-3.6.0.RELEASE.pom
[23] https://repo.maven.apache.org/maven2/geminiweb/org.eclipse.virgo.util.osgi.manifest/3.6.0.RELEASE/org.eclipse.virgo.util.osgi.manifest-3.6.0.RELEASE.pom
[24] https://repo.maven.apache.org/maven2/geminiweb/org.eclipse.virgo.util.parser.manifest/3.6.0.RELEASE/org.eclipse.virgo.util.parser.manifest-3.6.0.RELEASE.pom
[26] https://repo.maven.apache.org/maven2/orbit/javax.activation/1.1.0.v201211130549/javax.activation-1.1.0.v201211130549.pom
[27] https://repo.maven.apache.org/maven2/orbit/javax.annotation/1.1.0.v201209060031/javax.annotation-1.1.0.v201209060031.pom
[28] https://repo.maven.apache.org/maven2/orbit/javax.ejb/3.1.1.v201204261316/javax.ejb-3.1.1.v201204261316.pom
[29] https://repo.maven.apache.org/maven2/orbit/javax.el/2.2.0.v201108011116/javax.el-2.2.0.v201108011116.pom
[30] https://repo.maven.apache.org/maven2/orbit/javax.mail.glassfish/1.4.1.v201108011116/javax.mail.glassfish-1.4.1.v201108011116.pom
[31] https://repo.maven.apache.org/maven2/orbit/javax.servlet.jsp.jstl/1.2.0.v201105211821/javax.servlet.jsp.jstl-1.2.0.v201105211821.pom
[32] https://repo.maven.apache.org/maven2/orbit/javax.servlet.jsp.jstl.impl/1.2.0.v201210211230/javax.servlet.jsp.jstl.impl-1.2.0.v201210211230.pom
[33] https://repo.maven.apache.org/maven2/orbit/javax.xml.rpc/1.1.0.v201005080400/javax.xml.rpc-1.1.0.v201005080400.pom
[34] https://repo.maven.apache.org/maven2/orbit/org.apache.catalina/7.0.53.v201406061610/org.apache.catalina-7.0.53.v201406061610.pom
[35] https://repo.maven.apache.org/maven2/orbit/org.apache.catalina.ha/7.0.53.v201406070630/org.apache.catalina.ha-7.0.53.v201406070630.pom
[36] https://repo.maven.apache.org/maven2/orbit/org.apache.catalina.tribes/7.0.53.v201406070630/org.apache.catalina.tribes-7.0.53.v201406070630.pom
[37] https://repo.maven.apache.org/maven2/orbit/org.apache.coyote/7.0.53.v201406070630/org.apache.coyote-7.0.53.v201406070630.pom
[38] https://repo.maven.apache.org/maven2/orbit/org.apache.el/7.0.53.v201406060720/org.apache.el-7.0.53.v201406060720.pom
[39] https://repo.maven.apache.org/maven2/orbit/org.apache.jasper/7.0.53.v201406070630/org.apache.jasper-7.0.53.v201406070630.pom
[40] https://repo.maven.apache.org/maven2/orbit/org.apache.juli.extras/7.0.53.v201406060720/org.apache.juli.extras-7.0.53.v201406060720.pom
[41] https://repo.maven.apache.org/maven2/orbit/org.apache.tomcat.api/7.0.53.v201406060720/org.apache.tomcat.api-7.0.53.v201406060720.pom
[42] https://repo.maven.apache.org/maven2/orbit/org.apache.tomcat.util/7.0.53.v201406070630/org.apache.tomcat.util-7.0.53.v201406070630.pom
[43] https://repo.maven.apache.org/maven2/org/aopalliance/com.springsource.org.aopalliance/1.0.0/com.springsource.org.aopalliance-1.0.0.pom
[44] https://repo.maven.apache.org/maven2/org/opendaylight/controller/thirdparty/com.sun.jersey.jersey-servlet/1.17/com.sun.jersey.jersey-servlet-1.17.pom
[45] https://repo.maven.apache.org/maven2/virgomirror/org.eclipse.jdt.core.compiler.batch/3.8.0.I20120518-2145/org.eclipse.jdt.core.compiler.batch-3.8.0.I20120518-2145.pom

None causes odlparent to fail but [13] causes the controller build to fail as it is pulled in by odlparent as a dependency.

I was able to locate [26][30] and [34][42] and replace them but I need to finish the rest to check if that efforts are any good. The preliminary changes are here:

https://git.opendaylight.org/gerrit/33011
https://git.opendaylight.org/gerrit/33012

Additionally there is mentioned artifact "oro:oro:jar:2.0.8" which "has no file, won't be listed in dependency files details."

Comment by Jozef Behran [ 19/Jan/16 ]

Attachment odlparent.log.xz has been added with description: Build log from odlparent, showing the dead link download attempts

Comment by Jozef Behran [ 19/Jan/16 ]

Attachment controller.log.xz has been added with description: Build log from controller, showing the failure caused by the nonexistent artifact

Comment by Jozef Behran [ 19/Jan/16 ]

Also I forgot to mention this: I was trying to follow instructions at ODL Wiki [1]. So when I get the problem resolved and [1] fixed, this bug will be considered fixed.

Also Vratko pointed me to [2] which explains that default maven setup won't work when building and that its "settings.xml" needs to be updated (and how). So the problem might be misconfigured development environment. Which sounds plausible as it seems the build servers at Releng did not have a problem. I could not observe that until now as the entire Releng had a really hard time adapting to Boron branch cut (or something else?) and the builds appeared to be pretty flaky. If the problem indeed turns out to be the missing "settings.xml" in my local repo, this bug will get closed quite soon.

[1] https://wiki.opendaylight.org/view/GettingStarted:Pulling,_Hacking,_and_Pushing_All_the_Code_from_the_CLI
[2] https://wiki.opendaylight.org/view/GettingStarted:Development_Environment_Setup#Edit_your_.7E.2F.m2.2Fsettings.xml

Comment by Jozef Behran [ 19/Jan/16 ]

So I confirmed the link [2] (see my previous comment) contains a piece of information that is missing in [1] so [1] needs to be fixed. Once [1] is fixed, this bug can be closed as FIXED. For now changing to "waiting for review".

Comment by Robert Varga [ 09/Feb/16 ]

Needs a Wiki cleanup it seems, moving to the docs project.

Comment by Colin Dixon [ 17/Jun/16 ]

I've removed the actual content in the wiki and made sure it just points to the settings.xml in odlparent assuming that will be kept up to date.

Generated at Wed Feb 07 19:58:26 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.