Frank,

if the simplistic model behind NETCONF's <get> or RESTCONF's unified
view on the datastores does not work for you, you have to invest in a
proper solution. Every solution addressing the limitation has costs.
There is no free lunch.

/js

On Fri, Jun 28, 2019 at 02:06:54PM +0000, Fengchong (frank) 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.
> 
>     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]] 
> 发送时间: 2019年6月28日 17:18
> 收件人: Fengchong (frank) <[email protected]>; Juergen Schoenwaelder 
> <[email protected]>
> 抄送: [email protected]; [email protected]; Zhangwei (SS) <[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]>
> Sent: 28 June 2019 10:07
> To: Juergen Schoenwaelder <[email protected]>; Rob Wilton 
> (rwilton) <[email protected]>
> Cc: [email protected]; [email protected]; Zhangwei (SS) <[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]]
> 发送时间: 2019年6月28日 16:50
> 收件人: Rob Wilton (rwilton) <[email protected]>
> 抄送: Fengchong (frank) <[email protected]>; [email protected]; 
> [email protected]; Zhangwei (SS) <[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]> On Behalf Of Fengchong (frank)
> > Sent: 28 June 2019 04:29
> > To: [email protected]; [email protected]
> > Cc: Zhangwei (SS) <[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]>
> > 公司网址: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]' <[email protected]<mailto:[email protected]>>;
> > [email protected]<mailto:[email protected]>
> > 抄送: Yangshouchuan
> > <[email protected]<mailto:[email protected]>>; Zhangwei
> > (SS) <[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]
> > 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/>

-- 
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/>

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

Reply via email to