ConfD User Community

Why these two identifiers are not shown in response when send schemas request?


#1

I send the below rpc to confd to fetch the identifier list

<rpc message-id=\"101\" xmlns=\"urn:ietf:params:xml:ns:netconf:base:1.0\">
    <get> <filter type=\"subtree\"> <netconf-state xmlns=\"urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring\">
     <schemas/> </netconf-state> </filter> </get> </rpc>

But I found two identifiers are missed in the list

  1. confd_dyncfg
  2. ietf-netconf-acm

i think both of these two yang files are created by Tailf?

For ‘confd_dyncfg’, this module is imported in another module I defined.
For 'ietf-netconf-acm, this module is imported in tailf-acm.yang and tailf-kicker.yang. However, I can;t find where tailf-acm and tailf-kicker are imported in other yang modules.

Any idea why these two identifers are not shown in the response schema list ?

Thanks.


#2

I think I figured out the reason.

For some reasons, the confd export option for confd_dyncfg and ietf-netconf-acm are configured to none.

confd --status | grep 'exported to: none'
namespaces: http://tail-f.com/ns/confd_dyncfg/1.0 prefix:confd_dyncfg exported to: none
            urn:ietf:params:xml:ns:yang:ietf-netconf-acm prefix:nacm exported to: none
            http://tail-f.com/ns/aaa/1.1 prefix:aaa exported to: none

Change the option should expose these two identifiers.


#3

They (i.e. the .fxs files) are not shipped that way in the ConfD release, so this is something that has been done in your project. But it is a very reasonable thing to do, since you typically don’t want to expose them as-is to NB interfaces (in particular not confd_dyncfg), but only provide a high-level interface through transforms. (By the way, ietf-netconf-acm is not created by Tail-f, as the “ietf” prefix shows - it is part of RFC 8341.)

Yes, the /netconf-state/schemas/schema list in ietf-netconf-monitoring shows only modules exported to netconf. But per above, you may not want to change the export setting.