Пакеты Cisco NSO Yang успешно загружаются, но его рабочий статус остается выключенным - PullRequest
0 голосов
/ 06 мая 2020

Кто-нибудь когда-нибудь играл с Cisco NSO (в основном это проблема модели YANG / XML, не нужно быть экспертом по NSO)? Если да, спасибо за любую помощь по этой проблеме:

Я разрабатываю новую модель Янга с помощью инструментов Cisco NSO. Найдите здесь модель Янга:

  module snmpTemp1 {
  namespace "http://com/example/snmpTemp1";
  prefix snmpTemp1;

  import ietf-inet-types {
    prefix inet;
  }

  import tailf-ncs {
    prefix ncs;
  }

  import tailf-common {
    prefix tailf;
  }

  list snmpTemp1 {
    key comm-str;

    uses ncs:service-data;
    ncs:servicepoint "snmpTemp1";

    leaf comm-str {
    tailf:info "snmp-server community-string";
      type string;
    }

    // may replace this with other ways of refering to the devices.
    leaf device {
    tailf:info "Pick any one of the IOS device";
      type leafref {
        path "/ncs:devices/ncs:device/ncs:name";
      }
    }

    // replace with your own stuff here
    leaf access {
    tailf:info "Specify RO or RW";
      type enumeration {
        enum ro;
        enum rw;
      }
    }
  }
}

Когда я пытаюсь загрузить этот пакет, я получаю сообщение об ошибке:

admin@ncs# show packages package snmpTemp1
packages package snmpTemp1
 package-version 1.0
 description     "Template-based snmpTemp1 resource facing service"
 ncs-min-version [ 5.3 ]
 directory       ./state/packages-in-use/1/snmpTemp1
 oper-status file-load-error
 oper-status error-info "snmpTemp1-template.xml:2 Unknown servicepoint: snmpTemp1"
admin@ncs#

Кажется, существует проблема между моделью Янга и XML. : Найдите здесь выдержку из XML:

<config-template xmlns="http://tail-f.com/ns/config/1.0"
                 servicepoint="snmpTemp1">
  <devices xmlns="http://tail-f.com/ns/ncs">
    <device>
      <!--
          Select the devices from some data structure in the service
          model. In this skeleton the devices are specified in a leaf-list.
          Select all devices in that leaf-list:
      -->
      <name>{/device}</name>
      <config>
        <!--
            Add device-specific parameters here.
            In this skeleton the service has a leaf "dummy"; use that
            to set something on the device e.g.:
            <ip-address-on-device>{/dummy}</ip-address-on-device>
        -->
        <snmp-server xmlns="urn:ios">
          <community>
            <name>{/comm-str}</name>
            <RO when="{starts-with(access, 'ro')}"/>
            <RW when="{starts-with(access, 'rw')}"/>
          </community>
        </snmp-server>
      </config>
    </device>
  </devices>
</config-template>

Кто-нибудь когда-либо играл с Cisco NSO (в основном это проблема модели YANG / XML, не нужно быть экспертом NSO)? Если да, спасибо за любую помощь.

С уважением

1 Ответ

0 голосов
/ 14 мая 2020

Обычно такая ошибка возникает, если вы не запускаете make of package перед перезагрузкой NSO.

Обратите внимание, что вы должны скомпилировать свой пакет, даже если это чистый шаблон yang + без какой-либо службы java / python logi c.

Кроме того, такая ошибка возникает, если вы изменяете точка обслуживания после создания пакета, потому что это нарушает согласованность C -DB

...