Hi Andy,

Thanks for the review and comments, please see inline ...

On 03/09/2015 22:50, Andy Bierman wrote:


On Thu, Sep 3, 2015 at 1:40 PM, Robert Wilton <[email protected] <mailto:[email protected]>> wrote:

    Hi,

    I've posted a new experimental draft, that proposes a potential
    different solution for handling applied configuration, for
    possible discussion at next week's interim meeting on opstate.

    Comments before hand are welcome.


This is better than the "config" and "state" containers at least.


Multiple schema nodes to represent the same object in different states
doubles the complexity of the module.
Agreed.

Considering 97% + of devices
don't need this stuff, that's just not worth 2X the cost.

Not sure that I agree with the the 97% figure, but I don't have any concrete data to go on ...



However, it is important that the schema be stable.
The way an <rpc-reply> is parsed cannot really depend on an <rpc> that
was sent earlier. But a leaf like <mtu> will either be represented as a leaf
or as a container in the <rpc-reply>, depending on
the <with-config-state> parameter that was sent in the <rpc>.
Generally, I would prefer it if an <rpc-reply> could be processed independently of the <rpc> request (e.g. perhaps by embedding the request data in the response).

However, it seems to me that you already need to know the context of the request to be able to semantically process the reply. E.g. I would expect that you would need to know what the request is, what filters are in effect, when any of the get-default options are in effect (since that changes the meaning of the data returned for some config nodes).

So, I appreciate that if can't be a generic parser cannot be used, then a client would need to perform a lookup of the request context before parsing the reply. But it doesn't feel like this is a particularly hard problem.



I appreciate sec. 7. It is good to relate the solution back to
the requirements (even if that list seems to be growing every week).

I have not personally seen the problems in the requirements list.
Some Cisco devices (that I haven't directly worked with) use an eventual consistency configuration model, and would probably more naturally fit into a split intended/applied config model proposed by the Open Config group. Further, I suspect that more of the new developed devices may adopt this approach in future.


The delay between intended and applied is usually milliseconds, sometimes seconds.
For many of the smaller config changes that I agree that they might only take a second or two.

But for large scale config changes (e.g. 1M+ lines of config) then it can take 1-30 minutes to apply the configuration and ensure that all of the hardware is programmed. For these systems, I can see that there is a benefit to be able to see exactly what configuration is in effect at a given point in time.

I suspect that one of the reasons that the global Internet works so well is because the routing protocols adopt an eventual consistency model, e.g. the global routing table being in constant flux. So I can also certainly see the appeal of adopting an asynchronous eventual consistency configuration model where 10,000's of devices are being managed and the network is being constantly dynamically optimized for the demands being placed on it.


I don't agree that we need to diagnose line cards that are not plugged in.
The operator should figure this out some other way (e.g. entity-mib).
OK, what about a linecard that has crashed, or failed to boot, or suffered a hardware failure?

Ultimately, the operator (which in this scenario will probably be a machine) needs to able to correlate a failure back to the operation that it was trying to achieve in the first place. The related-state statement in Kent's draft helps here, but for an asynchronous configuration model there needs to be a way to indicate errors in applying that configuration that previously could have been returned as <rpc-error>'s in the <rpc-reply> of the original <edit-config> request.



It is not clear how long this data will indicate 'in progress'.
Most of the time, <cfg-intended> and <cfg-actual> will be the same.
Agreed.

(This basically triples the size of a <get-config> response)
I don't see why any enum other than 'diff-cfg-only' would be used.
OK.

This is how I would also expect the <get-state> operation to work in Kent's draft.
I may be misunderstanding Kent's draft (I'll send comments on it separately), but I read the <get-state> operation as only returning "config false" nodes and hence doesn't help with the intended config vs applied config problem.



It would really help if you included the YANG module you want to
standardize.  There are a couple examples but no formal definition.
OK. I'll try and also write that up. My excuse is that I spent quite a lot of August on PTO and hence have only had a couple of days to write this idea up.

Thanks again for the comments,
Rob



    Thanks,
    Rob



Andy



    -------- Forwarded Message --------
    Subject:    New Version Notification for
    draft-wilton-netmod-opstate-yang-00.txt
    Date:       Thu, 3 Sep 2015 13:31:00 -0700
    From:       [email protected] <mailto:[email protected]>
    To:         Robert Wilton <[email protected]> <mailto:[email protected]>,
    Robert Wilton <[email protected]> <mailto:[email protected]>



    A new version of I-D, draft-wilton-netmod-opstate-yang-00.txt
    has been successfully submitted by Robert Wilton and posted to the
    IETF repository.

    Name:               draft-wilton-netmod-opstate-yang
    Revision:   00
    Title:              "With-config-state" Capability for NETCONF/RESTCONF
    Document date:      2015-09-03
    Group:              Individual Submission
    Pages:              22
    
URL:https://www.ietf.org/internet-drafts/draft-wilton-netmod-opstate-yang-00.txt
    Status:https://datatracker.ietf.org/doc/draft-wilton-netmod-opstate-yang/
    Htmlized:https://tools.ietf.org/html/draft-wilton-netmod-opstate-yang-00


    Abstract:
        This document proposes a possible alternative solution for handling
        applied configuration state in YANG as described in draft-openconfig-
        netmod-opstate-01.  The proposed solution, roughly modelled on the
        with-defaults NETCONF/RESTCONF capability, aims to meet the key
        requirements set out in draft-openconfig-netmod-opstate-01 without
        the need for YANG module authors to explicitly duplicate
        configuration nodes in both configuration and operational containers.
        This draft does not address the issue of co-location of configuration
        and operational state for interfaces, nor does it provide a NETCONF
        mechanism to retrieve operational data separately from configuration
        data.


    Please note that it may take a couple of minutes from the time of submission
    until the htmlized version and diff are available attools.ietf.org 
<http://tools.ietf.org>.

    The IETF Secretariat





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



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

Reply via email to