-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
NETCONF Server HLD #1428
base: master
Are you sure you want to change the base?
NETCONF Server HLD #1428
Conversation
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="urn:uuid:4e02f166-fc2d-4701-a7a1-b15145cc01d6"><data><interfaces xmlns="http://openconfig.net/yang/interfaces"><interface><name>Ethernet0</name><config><name>Ethernet0</name></config><subinterfaces><subinterface><index>0</index><config><index>0</index></config><ipv4 xmlns="http://openconfig.net/yang/interfaces/ip"><addresses><address><ip>10.1.1.1</ip><config><ip>10.1.1.1</ip><prefix-length>24</prefix-length></config></address></addresses></ipv4></subinterface></subinterfaces></interface></interfaces></data></rpc-reply> | ||
``` | ||
|
||
## Open/Action items - if any |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It would be good to mention the notification support (https://datatracker.ietf.org/doc/html/rfc8639) in case for scaling up capabilities in the future.
Will the NETCONF server be disabled by default ? since we already have REST, and Telemetry running. |
NETCONF server will be running in separate docker container? |
- target : running (as commit feature is not supported, only Running config is applicable) | ||
- test-option : test-and-set | ||
- error-option : rollback-on-error | ||
- [*2] get-config will return config in netopeer2/sysrepo and not from CONFIG_DB |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is understood that the sysrepo serves running datastore. But, I am not clear on how to init the sysrepo at the server init. Can you elaborate?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As of this release, sysrepo will serve as running database only for the config modified by NETCONF. Thus, it will be initialized with no data on startup. In future, we are planning to introduce functionality to sync sysrepo with CONFIG_DB but that is not scope of this release.
Would this answer your question? Let me know if you were asking from different aspect. (I will update HLD doc otherwise)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for your elaboration. I have a follow-up comment.
As we move forward, constant syncing Sysrepo will be going to be problematic and overhead to ensure data integrity. Can you make NETCONF architectured similar to sonic-mgmt-framework or sonic-gnmi?
The sonic-mgmt-common is a common infra and built into both distinct servers to provide REST/gNMI service, respectively. In the similar way, NETCONF server can be built with sonic-mgmt-common in a separate docker to directly use Translib apis mapped from NETCONF request and eliminate the redundant datastore by accessing CONFIG_DB as a single datastore for running configuration.
Yes. NETCONF will be disabled by default.
Currently, no. It's running as a process in mgmt-framework container. |
How do ensure that the NetConf running database and Redis database are synchronized? for example CLI ? Is it possible for NetConf to fetch directly from the Redis database and deprecate its own running database |
In the context of NETCONF capabilities, does this HLD will cover extended capabilities as well? |
Noting as future reference. (Comment from Kwan Kim) In today’s (14th Sep) meeting, one of questions from NTT is about NETCONF Get-config operation. NETCONF Get-config can be translated to REST Get with the “content” query parameter, i.e. content=config. We have opened PRs for query parameter support. |
not target 202311 per Kanji update. Keep a record. |
@ntt-omw @nakano-omw @ebiken-ntt |
NETCONF Server HLD