как добавить функцию в Nitrogen opendaylight?

Я пытаюсь добавить некоторые функции в свой проект с открытым дневным светом (например, l2switch, dlux, rest,...). Раньше я редактировал файлы functions.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>

я пропустил что-то еще? когда я пытаюсь добавить репозитории, как я это делал ранее в Carbon-Release. Файл feature.xml автоматически сгенерирован заново, и все мои изменения удалены.

Я использую выпуск Nitrogen, определяя и -DarchetypeVersion=1.4.0 при создании моего артефакта maven.


person Haitham    schedule 27.03.2018    source источник


Ответы (1)


См. инструменты управления конфигурацией вышестоящего уровня для примеров исполняемого кода, которые постоянно используются в нижестоящих потоках, таких как 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/азот

Таким образом, в основном вы не должны редактировать XML напрямую, вы должны редактировать конфигурацию, которая генерирует XML. Я удивлен, что сработало в Carbon.

Я рекомендую напрямую использовать инструменты управления конфигурацией вышестоящего уровня, такие как puppet-opendaylight или ansible-opendaylight вместо того, чтобы пытаться самостоятельно разобраться с ручками конфигурации, дублируя усилия. Если вы выполняете более сложное развертывание, посмотрите установщик OPNFV сценарии (которые основаны на этих инструментах ODL) против попыток решить эту очень сложную проблему самостоятельно.

person dfarrell07    schedule 28.03.2018
comment
Большое спасибо за ваш ответ. Я на самом деле новичок в разработке opendaylight. Я разрабатываю простое приложение, которое прослушивает все пакеты PacketProcessingListener, извлекает информацию заголовка и сохраняет ее в дереве для использования через REST. Есть ли какое-либо руководство или простое руководство по использованию puppet-opendaylight или ansible-opendaylight? для pom.xml я также должен использовать эти инструменты? - person Haitham; 29.03.2018
comment
Немного документации здесь, еще несколько документов в README в каждом репо. - person dfarrell07; 30.04.2018