如何在Nitrogen opendaylight中添加功能?

时间:2018-03-27 19:42:56

标签: maven apache-karaf opendaylight

我正在尝试为我的开放日光项目添加一些功能(例如l2switch,dlux,rest,...)。 我曾经编辑过features.xml和pom.xml,用于在Carbon版本中添加功能。我目前正在使用Nitrogen版本,在我的功能pom.xml文件中添加这些依赖项时,我仍然无法在登录我的karaf时检测到这些功能(使用功能:install / list)。

<dependency>
  <groupId>org.opendaylight.netconf</groupId>
  <artifactId>features-restconf</artifactId>
  <classifier>features</classifier>
  <version>${restconf.version}</version>
  <type>xml</type>
  <scope>runtime</scope>
</dependency>

<dependency>
  <groupId>org.opendaylight.dluxapps</groupId>
  <artifactId>features-dluxapps</artifactId>
  <classifier>features</classifier>
  <version>${dluxapps.version}</version>
  <type>xml</type>
  <scope>runtime</scope>
</dependency>
我错过了别的什么吗?当我尝试添加存储库时,就像我之前在碳释放中所做的那样。它自动重新生成的feature.xml和我的所有编辑都被删除了。

我在生成我的maven工件时通过定义和-DarchetypeVersion = 1.4.0来使用氮气释放。

1 个答案:

答案 0 :(得分:0)

请参阅上游配置管理工具,了解在OPNFV等下游不断使用的运行代码示例。

  # Configuration of Karaf features to install
  file { 'org.apache.karaf.features.cfg':
    ensure => file,
    path   => '/opt/opendaylight/etc/org.apache.karaf.features.cfg',
    # Set user:group owners
    owner  => 'odl',
    group  => 'odl',
  }
  $features_csv = join($opendaylight::features, ',')
  file_line { 'featuresBoot':
    path  => '/opt/opendaylight/etc/org.apache.karaf.features.cfg',
    line  => "featuresBoot=${features_csv}",
    match => '^featuresBoot=.*$',
  }

puppet-opendaylight, manifests/config.pp, stable/nitrogen

所以基本上你不应该直接编辑XML,你应该编辑生成XML的配置。我很惊讶在Carbon工作。

我建议直接使用上游配置管理工具,如puppet-opendaylightansible-opendaylight,而不是尝试自己弄清楚配置旋钮,重复工作。如果您正在进行更复杂的部署,请查看OPNFV installer方案(基于这些ODL工具构建)与尝试自己解决这个非常棘手的问题。