[OpenDaylight TSC] Inter-project dependencies and features

Robert Varga nite at hq.sk
Wed Sep 20 11:56:21 UTC 2017


Hello everyone,

a cursory glance at RC3's contents using:

karaf-0.7.0/system/org/opendaylight$ find . -name \*features.xml | xargs
fgrep '<bundle>'

reveals that quite a few inter-project dependencies are not expressed
correctly in feature definitions, as downstream projects are packaging
their ODL upstream's bundles directly in their features, rather than
properly depending on upstream's features.

A simple example, one for great many:

./genius/odl-genius/0.3.0/odl-genius-0.3.0-features.xml:
<bundle>mvn:org.opendaylight.ovsdb/utils.southbound-utils/1.5.0</bundle>
./neutron/odl-neutron-hostconfig-ovs/0.9.0/odl-neutron-hostconfig-ovs-0.9.0-features.xml:

<bundle>mvn:org.opendaylight.ovsdb/utils.southbound-utils/1.5.0</bundle>
./ovsdb/odl-ovsdb-southbound-test/1.5.0/odl-ovsdb-southbound-test-1.5.0-features.xml:

<bundle>mvn:org.opendaylight.ovsdb/utils.southbound-utils/1.5.0</bundle>

This is incorrect, as every bundle should be packaged in its project
ONLY. Please check the feature files your project is generating and when
you find they include <bundle> lines mentioning artifacts from a
different ODL project, fix your feature's pom.xml to depend on the
upstream feature which packages that jar.

If your upstream does not package it, there is something wrong and you
need to work with them to resolve this.

At the end of the day, every ODL jar file should be part of EXACTLY ONE
feature and that feature MUST reside in the same project as the source
code used to build that jar.

Notable offenders are:
integration/odl-distribution-version
bier/odl-bier-adapter
bier/odl-bier-bierman
cardinal/odl-cardinal
eman/odl-eman-api
eman/odl-eman-ui
faas/odl-faas-base
infrautils/odl-infrautils-counters
infrautils/odl-infrautils-jobcoordinator
netconf/odl-netconf-netty-util
netvirt/odl-netvirt-api
nic/odl-nic-intent-common
neutron/odl-neutron-hostconfig-ovs
sxp/odl-sxp-api
ttp/odl-ttp-model

Please do treat this as a blocker for Nitrogen SR1, as multi-packaging
on bundles has the potential to create conflicts and leads to
combinatorial explosion during feature:install (as evidenced by SFT
running into OOM).

Regards,
Robert

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 850 bytes
Desc: OpenPGP digital signature
URL: <http://lists.opendaylight.org/pipermail/tsc/attachments/20170920/57540b99/attachment.sig>


More information about the TSC mailing list