Ask is moving to Stack Overflow and Serverfault.com! Please use the "opendaylight" tag on either of these sites. This site is now in Read-Only mode

Revision history [back]

click to hide/show revision 1
initial version

Error in resolving new dependencies in NETCONF

Hi All,

I have implemented a new functionality in NETCONF plugin of opendaylight. For this, I required certain addditional dependencies that I have added in the pom for netconf-impl (module inside netconf plugin code where I am implementing the functionality). These dependencies were available in nexus.opendaylight.org.

Now after adding those dependencies in pom and making changes to features.xml for netconf plugin. I get the below error after starting feature odl-netconf-connector-all.

opendaylight-user@root>feature:install odl-netconf-connector-all odl-restconf-all Error executing command: Can't install feature odl-netconf-connector-all/0.0.0:
Could not start bundle mvn:org.opendaylight.controller/netconf-impl/0.3.0-Lithium in feature(s) odl-netconf-impl-0.3.0-Lithium: The bundle "org.opendaylight.controller.netconf-impl_0.3.0.Lithium [216]" could not be resolved. Reason: Missing Constraint: Import-Package: org.kie.api; version="[6.2.0,7.0.0)"

Please let me know if any other details are required. I am stuck with this dependency resolution problem since a long time.

Would be great if somebody has some insight into this issue and can help.

My features.xml section for odl-netconf-connector-all :

<feature name='odl-netconf-connector-all' version='${project.version}' description='OpenDaylight :: Netconf Connector :: All'>
    <!--
        Necessary TODO:
        List all of the user consumable features you define in this feature file here.
        Generally you would *not* list individual bundles here, but only features defined in *this* file.
        It is useful to list them in the same order they occur in the file.

        Examples:
        <feature version='${project.version}'>odl-controller-provider</feature>
        <feature version='${project.version}'>odl-controller-model</feature>
    -->
    <feature version='${project.version}'>odl-netconf-connector</feature>
    <feature version='${project.version}'>odl-netconf-connector-ssh</feature>
    <bundle>wrap:mvn:com.google.guava/guava/${guava.version}</bundle>
    <bundle>wrap:mvn:org.kie/kie-api/6.2.0.Final</bundle>
    <bundle>wrap:mvn:org.drools/drools-core/6.2.0.Final</bundle>
    <bundle>wrap:mvn:org.drools/drools-compiler/6.2.0.Final</bundle>
    <bundle>wrap:mvn:org.drools/drools-decisiontables/6.2.0.Final</bundle>
    <bundle>wrap:mvn:org.drools/drools-osgi-integration/6.2.0.Final</bundle>
    <bundle>wrap:mvn:org.drools/knowledge-api/6.2.0.Final</bundle>
</feature>

My POM :

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemalocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelversion>4.0.0</modelversion>

<parent> <groupid>org.opendaylight.controller</groupid> <artifactid>netconf-subsystem</artifactid> <version>0.3.0-Lithium</version> </parent> <artifactid>netconf-impl</artifactid> <packaging>bundle</packaging> <name>${project.artifactId}</name>

<properties>
    <drools.version>6.2.0.Final</drools.version>
    <json.version>1.1.1</json.version>
    <guava.version>18.0</guava.version>

</properties>

<dependencies>
  <dependency>
      <groupId>org.drools</groupId>
      <artifactId>knowledge-api</artifactId>
      <version>${drools.version}</version>
  </dependency>
  <dependency>
      <groupId>org.kie</groupId>
      <artifactId>kie-api</artifactId>
      <version>${drools.version}</version>
  </dependency>
  <dependency>
      <groupId>org.drools</groupId>
      <artifactId>drools-core</artifactId>
      <version>${drools.version}</version>
  </dependency>
  <dependency>
      <groupId>org.drools</groupId>
      <artifactId>drools-compiler</artifactId>
      <version>${drools.version}</version>
  </dependency>
  <dependency>
      <groupId>org.drools</groupId>
      <artifactId>drools-decisiontables</artifactId>
      <version>${drools.version}</version>
  </dependency>
  <dependency>
      <groupId>org.osgi</groupId>
      <artifactId>org.osgi.core</artifactId>
  </dependency>
  <dependency>
      <groupId>org.drools</groupId>
      <artifactId>drools-osgi-integration</artifactId>
      <version>${drools.version}</version>
  </dependency>
  <dependency>
      <groupId>com.googlecode.json-simple</groupId>
      <artifactId>json-simple</artifactId>
      <version>${json.version}</version>
  </dependency>
<dependency>
  <groupId>${project.groupId}</groupId>
  <artifactId>ietf-netconf-monitoring</artifactId>
</dependency>
<dependency>
  <groupId>${project.groupId}</groupId>
  <artifactId>ietf-netconf-monitoring-extension</artifactId>
</dependency>
<!-- compile dependencies -->
<dependency>
  <groupId>${project.groupId}</groupId>
  <artifactId>netconf-api</artifactId>
</dependency>
<dependency>
  <groupId>${project.groupId}</groupId>
  <artifactId>netconf-mapping-api</artifactId>
</dependency>
<dependency>
  <groupId>${project.groupId}</groupId>
  <artifactId>netconf-netty-util</artifactId>
</dependency>
<dependency>
  <groupId>${project.groupId}</groupId>
  <artifactId>netconf-util</artifactId>
</dependency>
<dependency>
  <groupId>com.google.guava</groupId>
  <artifactId>guava</artifactId>
</dependency>
<dependency>
  <groupId>org.opendaylight.controller</groupId>
  <artifactId>commons.logback_settings</artifactId>
</dependency>
<dependency>
  <groupId>org.opendaylight.controller</groupId>
  <artifactId>config-util</artifactId>
</dependency>
<dependency>
  <groupId>org.opendaylight.controller</groupId>
  <artifactId>protocol-framework</artifactId>
</dependency>
<!-- test dependencies -->
<dependency>
  <groupId>org.opendaylight.yangtools</groupId>
  <artifactId>mockito-configuration</artifactId>
</dependency>
<dependency>
  <groupId>org.opendaylight.yangtools.model</groupId>
  <artifactId>ietf-inet-types</artifactId>
</dependency>
<dependency>
  <groupId>org.slf4j</groupId>
  <artifactId>slf4j-api</artifactId>
</dependency>
<dependency>
  <groupId>${project.groupId}</groupId>
  <artifactId>netconf-client</artifactId>
  <scope>test</scope>
</dependency>
<dependency>
  <groupId>${project.groupId}</groupId>
  <artifactId>netconf-client</artifactId>
  <type>test-jar</type>
  <scope>test</scope>
</dependency>
<dependency>
  <groupId>${project.groupId}</groupId>
  <artifactId>netconf-util</artifactId>
  <type>test-jar</type>
  <scope>test</scope>
</dependency>
<dependency>
  <groupId>xmlunit</groupId>
  <artifactId>xmlunit</artifactId>
  <scope>test</scope>
</dependency>

</dependencies> <build> <resources> <resource> <directory>${project.basedir}/src/main/resources</directory> <filtering>false</filtering> </resource> </resources> <plugins> <plugin> <groupid>org.apache.felix</groupid> <artifactid>maven-bundle-plugin</artifactid> <configuration> <instructions> <bundle-activator>org.opendaylight.controller.netconf.impl.osgi.NetconfImplActivator</bundle-activator> <export-package>org.opendaylight.controller.netconf.impl.*</export-package> </instructions> </configuration> </plugin> <plugin> <groupid>org.apache.maven.plugins</groupid> <artifactid>maven-jar-plugin</artifactid> <executions> <execution> <goals> <goal>test-jar</goal> </goals> <phase>package</phase> </execution> </executions> </plugin> <plugin> <groupid>org.opendaylight.yangtools</groupid> <artifactid>yang-maven-plugin</artifactid> <executions> <execution> <id>config</id> <goals> <goal>generate-sources</goal> </goals> <configuration> <codegenerators> <generator> <codegeneratorclass>org.opendaylight.controller.config.yangjmxgenerator.plugin.JMXGenerator</codegeneratorclass> <outputbasedir>${jmxGeneratorPath}</outputbasedir> <additionalconfiguration> <namespacetopackage1>urn:opendaylight:params:xml:ns:yang:controller==org.opendaylight.controller.config.yang</namespacetopackage1> </additionalconfiguration> </generator> <generator> <codegeneratorclass>org.opendaylight.yangtools.maven.sal.api.gen.plugin.CodeGeneratorImpl</codegeneratorclass> <outputbasedir>${salGeneratorPath}</outputbasedir> </generator> </codegenerators> <inspectdependencies>true</inspectdependencies> </configuration> </execution> </executions> <dependencies> <dependency> <groupid>org.opendaylight.controller</groupid> <artifactid>yang-jmx-generator-plugin</artifactid> <version>${config.version}</version> </dependency> </dependencies> </plugin> </plugins> </build> <repositories> <repository> <id>central-new</id> <name>central-new</name> <url>https://nexus.opendaylight.org/content/repositories/central-new/</url> <releases> <enabled>false</enabled> </releases> </repository> <repository> <id>jboss-public-repository-group</id> <name>JBoss Public Repository Group</name> <url>https://repository.jboss.org/nexus/content/groups/public/</url> <layout>default</layout> <releases> <enabled>true</enabled> <updatepolicy>never</updatepolicy> </releases> <snapshots> <enabled>true</enabled> <updatepolicy>daily</updatepolicy> </snapshots> </repository> </repositories> </project>