Agree with Andy, Jurgen, Rob.
If my understanding is correct, Frank’s intention is not proposed to fall back 
to single datastore, split tree. His concern is how Does the non-NMDA client 
talk with NMDA compliant devices, suppose large amount of devices support NMDA.
Does the device need to support both NMDA model and non-NMDA model? Is this 
common case or corner case in real deployment senario.
suggestions or guidelines defined in NMDA architecture and NMDA 
guideline(/rfc8407#section-4.23.3) seem to only assume NMDA client only talks 
with NMDA server, non-NMDA client only talks with non-NMDA server.

-Qin
发件人: netmod [mailto:[email protected]] 代表 Andy Bierman
发送时间: 2019年6月28日 23:05
收件人: Fengchong (frank) <[email protected]>
抄送: [email protected]; Zhangwei (SS) <[email protected]>; Yangang 
<[email protected]>; [email protected]
主题: Re: [netmod] [netconf] 答复: pls clarify get operation



On Fri, Jun 28, 2019 at 7:09 AM Fengchong (frank) 
<[email protected]<mailto:[email protected]>> wrote:
Hi Rob,
    I think IETF solution: migrate to NMDA is unrealistic. The cost of 
migration to NMDA is too expensive, If the entire industry migrates to NMDA, 
the time will be long.
    This will delay the deployment of the IETF model in the industry.
    Anyway, even if vendor implements NMDA, the network manager/ controller or 
client tools may not support NMDA client.
    A non-NMDA client only support get/get-config, it still has no way to 
retrieve system-controlled data.


Although it would have been possible to augment the existing <get> operation, 
it is much cleaner
to create a new operation instead. (From standards and implementation POV).

There is a significant amount of work needed to support NMDA in a server.
This effort would be the same whether <get> or <get-data> was used.
The protocol work is the tip of the iceberg.  Updating all the instrumentation 
callbacks to
return operational values is the real work -- and exactly the same no matter 
what protocol
solution is used. Client complexity is mostly related to the new YANG library.

Starting over on a new solution would only take longer to deploy.


Andy



    Generation config false copy for IETF YANG model is not reasonable, because 
published IETF standard YANG should not be changed, moreover, this is not 
friendly to the client or the server.
-----邮件原件-----
发件人: Rob Wilton (rwilton) [mailto:[email protected]<mailto:[email protected]>]
发送时间: 2019年6月28日 17:18
收件人: Fengchong (frank) 
<[email protected]<mailto:[email protected]>>; Juergen 
Schoenwaelder 
<[email protected]<mailto:[email protected]>>
抄送: [email protected]<mailto:[email protected]>; 
[email protected]<mailto:[email protected]>; Zhangwei (SS) 
<[email protected]<mailto:[email protected]>>
主题: RE: [netmod] pls clarify get operation

Hi Frank,

You can't just change definitions in RFCs.  It breaks all existing 
clients/servers.  Besides, what you suggest doesn't really work (path clashes 
between configuration and operational state), unless you return two trees ... 
which starts to look extremely similar to the NMDA architecture ...

IETF has already explored this problem and there is already a published IETF 
solution to the problem that you describe: Migrate to NMDA.  The NMDA 
architecture has many other benefits as well (E.g. allows for templating, 
inactive configuration, dynamic configuration, consistent OIR handling).

Thanks,
Rob


-----Original Message-----
From: Fengchong (frank) 
<[email protected]<mailto:[email protected]>>
Sent: 28 June 2019 10:07
To: Juergen Schoenwaelder 
<[email protected]<mailto:[email protected]>>;
 Rob Wilton (rwilton) <[email protected]<mailto:[email protected]>>
Cc: [email protected]<mailto:[email protected]>; 
[email protected]<mailto:[email protected]>; Zhangwei (SS) 
<[email protected]<mailto:[email protected]>>
Subject: 答复: [netmod] pls clarify get operation

Should we change the definition of get operation? Like this, get operation can 
retrieve all running operational data including running configuration, system 
configuration.
Otherwise, we have no way to get the information of system-controlled data 
according a NMDA-style YANG module(because has no config false copy ) unless we 
implement NMDA.
-----邮件原件-----
发件人: Juergen Schoenwaelder 
[mailto:[email protected]<mailto:[email protected]>]
发送时间: 2019年6月28日 16:50
收件人: Rob Wilton (rwilton) <[email protected]<mailto:[email protected]>>
抄送: Fengchong (frank) 
<[email protected]<mailto:[email protected]>>; 
[email protected]<mailto:[email protected]>; 
[email protected]<mailto:[email protected]>; Zhangwei (SS) 
<[email protected]<mailto:[email protected]>>
主题: Re: [netmod] pls clarify get operation

Yes, both the NETCONF <get> operation and the RESTCONF GET on the unified view 
of the underlying datastores have limitations and a solution in situations 
where these limitations hurt is to move towards NMDA.

/js

On Fri, Jun 28, 2019 at 08:38:38AM +0000, Rob Wilton (rwilton) wrote:
> Hi Frank,
>
> Pre NMDA:
>
>   *   You have a the <running> datastore, along with some others like 
> <candidate> and <startup> that you can ignore for the purposes of this 
> discussion.
>   *   The <running> datastore can only contains data for schema nodes that 
> are marked as “config true” in YANG (i.e. “rw” in your tree output below).
>   *   The system may also have some operational state data that is marked as 
> “config false” in YANG (i.e. “ro” in your tree output below).
>
> The NETCONF <get-config> operation returns the contents of the <running> 
> datastore.
> The NETCONF <get> operation returns the contents of the <running> datastore 
> combined with all the operational state as well.  Filters can be applied to 
> return a subset of the data.
>
> Regarding your question about user created configuration vs system created 
> configuration, it depends on whether the devices instantiates the 
> configuration in <running> or not.  If it does, then it would be returned in 
> <get> and <get-config> operations.  If it doesn’t then it would not.  
> Different vendors/devices will likely implement this in different ways.
>
> Generally, I think that <running> should only contain the configuration 
> explicitly configured by the operator’s systems.  But this means that there 
> isn’t a clean way to represent system created configuration or applied 
> configuration, unless you make a config false copy of every config true node 
> in YANG.  This is approach that was taken by the original IETF YANG models 
> (e.g. RFC 7223) before they were superseded by NMDA, and also the OpenConfig 
> YANG models (but using a different structure – which also struggles to 
> cleanly represent system created configuration data).
>
> The NMDA architecture was written to solve this problem in a clean way 
> without requiring duplication in the YANG data models.
>
> Hopefully this helps clarify.
>
> Thanks,
> Rob
>
>
> From: netmod <[email protected]<mailto:[email protected]>> On 
> Behalf Of Fengchong (frank)
> Sent: 28 June 2019 04:29
> To: [email protected]<mailto:[email protected]>; 
> [email protected]<mailto:[email protected]>
> Cc: Zhangwei (SS) <[email protected]<mailto:[email protected]>>
> Subject: [netmod] 答复: pls clarify get operation
>
> Hi all,
>
>      Pls clarify this question. I have been confused for a long time.
>
> ________________________________
> 华为技术有限公司 Huawei Technologies Co., Ltd.
> [Company_logo]
> 个人签名:冯冲
> 手  机:13776612983
> 电子邮件:[email protected]<mailto:[email protected]><mailto:[email protected]<mailto:[email protected]>>
> 公司网址:www.huawei.com<http://www.huawei.com><http://www.huawei.com>
> ________________________________
>  本邮件及其附件含有华为公司的保密信息,仅限于发送给上面地址中列出的个人或群组。禁
> 止任何其他人以任何形式使用(包括但不限于全部或部分地泄露、复制、或散发)本邮件中
> 的信息。如果您错收了本邮件,请您立即电话或邮件通知发件人并删除本邮件!
> This e-mail and its attachments contain confidential information from
> HUAWEI, which is intended only for the person or entity whose address
> is listed above. Any use of the information contained herein in any
> way (including, but not limited to, total or partial disclosure,
> reproduction, or dissemination) by persons other than the intended
> recipient(s) is prohibited. If you receive this e-mail in error,
> please notify the sender by phone or email immediately and delete it!
>
> 发件人: Fengchong (frank)
> 发送时间: 2019年6月27日 9:59
> 收件人: '[email protected]<mailto:[email protected]>' 
> <[email protected]<mailto:[email protected]><mailto:[email protected]<mailto:[email protected]>>>;
> [email protected]<mailto:[email protected]><mailto:[email protected]<mailto:[email protected]>>
> 抄送: Yangshouchuan
> <[email protected]<mailto:[email protected]><mailto:[email protected]<mailto:[email protected]>>>;
>  Zhangwei
> (SS) 
> <[email protected]<mailto:[email protected]><mailto:[email protected]<mailto:[email protected]>>>
> 主题: pls clarify get operation
>
> Hi all,
> In RFC6241, get operation is defined as:
> 7.7<https://tools.ietf.org/html/rfc6241#section-7.7>.  <get>
>
>    Description:  Retrieve running configuration and device state
>
>       information.
> This description is too simply, so I think it should be clarified.
>
> The case is: a data node modelled by one yang can be configured by user, but 
> also can be created/modified by system or other protocols. If client issues 
> get operation to retrieve this node,
>           The data is created/modified by system or other protocols SHOULD be 
> returned?
>           For example:
>           Rib can be configured by user and also can be created by routing 
> protocols. In RFC 8349, the rib list is defined as:
>
>
>
>       +--rw ribs
>
>          +--rw rib* [name]
>
>             +--rw name              string
>
>             +--rw address-family?   identityref
>
>             +--ro default-rib?      boolean {multiple-ribs}?
>
>             +--ro routes
>
>             |  +--ro route*
>
>             |        ...
>
>             +---x active-route
>
>             |  +---w input
>
>             |  |  +---w v4ur:destination-address?   inet:ipv4-address
>
>             |  |  +---w v6ur:destination-address?   inet:ipv6-address
>
>             |  +--ro output
>
>             |        ...
>
>             +--rw description?      string
>
>
>
>        If client issued get operation to retrieve ribs from non-NMDA device, 
> rib instance created by routing protocols should be returned?
>
>        Another associated question: If client issued get-config operation 
> from non-NMDA device, only user-controlled rib instance should be returned?
>



> _______________________________________________
> netmod mailing list
> [email protected]<mailto:[email protected]>
> https://www.ietf.org/mailman/listinfo/netmod


--
Juergen Schoenwaelder           Jacobs University Bremen gGmbH
Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
Fax:   +49 421 200 3103         <https://www.jacobs-university.de/>
_______________________________________________
netconf mailing list
[email protected]<mailto:[email protected]>
https://www.ietf.org/mailman/listinfo/netconf

Attachment: draft-wu-netmod-base-notification-nmda-03.xml
Description: draft-wu-netmod-base-notification-nmda-03.xml

_______________________________________________
netmod mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/netmod

Reply via email to