Re: [babel] info and data models -- feedback requested

Mahesh Jethanandani <mjethanandani@gmail.com> Mon, 17 February 2020 16:38 UTC

Return-Path: <mjethanandani@gmail.com>
X-Original-To: babel@ietfa.amsl.com
Delivered-To: babel@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 5F6EB12011D for <babel@ietfa.amsl.com>; Mon, 17 Feb 2020 08:38:06 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.898
X-Spam-Level:
X-Spam-Status: No, score=-0.898 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, FREEMAIL_REPLY=1, HTML_MESSAGE=0.001, HTTPS_HTTP_MISMATCH=0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=no autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 7U1SzO9ukucU for <babel@ietfa.amsl.com>; Mon, 17 Feb 2020 08:38:03 -0800 (PST)
Received: from mail-pg1-x52f.google.com (mail-pg1-x52f.google.com [IPv6:2607:f8b0:4864:20::52f]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 7741612007C for <babel@ietf.org>; Mon, 17 Feb 2020 08:38:03 -0800 (PST)
Received: by mail-pg1-x52f.google.com with SMTP id j15so9469535pgm.6 for <babel@ietf.org>; Mon, 17 Feb 2020 08:38:03 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:message-id:mime-version:subject:date:in-reply-to:cc:to :references; bh=MLm3/joipyC34LqcIxXc9fBQn9Kuwvfr/q/1o5yHvak=; b=TU3bH+fgZUF9zmHu0bAvHYTXw5LP9GTquqC8bIh6g+YoVv99Eqauiuir075o3Z1A29 ctW7G5ST7lhXdiIsJWIWju6nkgqT1nBlzjv+aZ1YRaawrwSp3ZyUOQD1U9TaqYD5xXqw 1sjK3tXHa1PEGCvKZEPL+MjHiHnKP8pvQA8e7hnzSXClC2qCPCE7/BqLaYdlcpcqkNwR hZ4NZ8TYTVdfr++Npbx1vRJYqgFp7Hfb/kSQw67kbaeze3ri9l06/Z2+V+jBoPcYBzJM fTeCQN50kGA3aDnshJBtnsQTThGvB26gvScIw97oS7fZH4oCw7tmfNVCHkRMpiIANe5w 4XFg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:message-id:mime-version:subject:date :in-reply-to:cc:to:references; bh=MLm3/joipyC34LqcIxXc9fBQn9Kuwvfr/q/1o5yHvak=; b=X3V+PYIhoytvcfpgDBI36dDewUsSvbKz8CZbjac43SCP00NywIH0sCxj6opWR8Hbw5 aOgJ6kLsS7EKB0mDPTUfQutLsrM6K64odp0akkc/pnk+axdYQZ/sGR2pqgjnhHS02QtV IsQ87QgrJZi5oe1pS6l75uPVOCahvO4/Ewc8M3nV/Fy30R/c8LVakYMTL/BMlnI42kjs W4g2olaRryyYgFoZVNAndIRqqDRMbvVQ0OlgOlf0AInz/nVosfTsmndCt/7On/xb4vvg dSgrDVEZ7/zhfrrJcpzm4yIgLwTTwW2x0pU8AlbRo1zkh+TGzfPTB3mFroA6kneAJ1GG hdsA==
X-Gm-Message-State: APjAAAWkaCn+u9JM19vK7XVvjnxdFDuuheM1m1KUGtjL+yFjFDYlDikn 3fgAnILErjSm7lnYXf/DY/U=
X-Google-Smtp-Source: APXvYqzUARHrli3i1CznucwxS3aNlId3tk1lhuIvXSarmXDYeKW6uFSOxlKrIvSsuMbAVvKiHoYT0w==
X-Received: by 2002:a63:5809:: with SMTP id m9mr18002827pgb.26.1581957482550; Mon, 17 Feb 2020 08:38:02 -0800 (PST)
Received: from ?IPv6:2601:647:5600:5020:cca3:c610:3be7:3a9e? ([2601:647:5600:5020:cca3:c610:3be7:3a9e]) by smtp.gmail.com with ESMTPSA id u2sm1419014pgj.7.2020.02.17.08.38.00 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 17 Feb 2020 08:38:01 -0800 (PST)
From: Mahesh Jethanandani <mjethanandani@gmail.com>
Message-Id: <9764387E-CCD0-4D42-AF4E-7C45A66D6A23@gmail.com>
Content-Type: multipart/alternative; boundary="Apple-Mail=_6BF03C72-1355-45E4-864E-A06863F5F7FB"
Mime-Version: 1.0 (Mac OS X Mail 11.5 \(3445.9.1\))
Date: Mon, 17 Feb 2020 08:37:59 -0800
In-Reply-To: <2D09D61DDFA73D4C884805CC7865E611537590F3@GAALPA1MSGUSRBF.ITServices.sbc.com>
Cc: Donald Eastlake <d3e3e3@gmail.com>, "babel@ietf.org" <babel@ietf.org>
To: "STARK, BARBARA H" <bs7652@att.com>
References: <2D09D61DDFA73D4C884805CC7865E61153754370@GAALPA1MSGUSRBF.ITServices.sbc.com> <53327E10-4D4F-4F2D-9F9C-DC30EC3C1FA1@gmail.com> <CAF4+nEGLgO2Swkd4_DMGmyygM_-jZZKCooNV4OExAR6XR0xcxA@mail.gmail.com> <2D09D61DDFA73D4C884805CC7865E61153757B62@GAALPA1MSGUSRBF.ITServices.sbc.com> <BCAFDF16-31C7-45C7-B42B-2E900D2A1287@gmail.com> <2D09D61DDFA73D4C884805CC7865E611537590F3@GAALPA1MSGUSRBF.ITServices.sbc.com>
X-Mailer: Apple Mail (2.3445.9.1)
Archived-At: <https://mailarchive.ietf.org/arch/msg/babel/osQOqEkkoG99fsFKzlYyJpz_oT8>
Subject: Re: [babel] info and data models -- feedback requested
X-BeenThere: babel@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "A list for discussion of the Babel Routing Protocol." <babel.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/babel>, <mailto:babel-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/babel/>
List-Post: <mailto:babel@ietf.org>
List-Help: <mailto:babel-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/babel>, <mailto:babel-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 17 Feb 2020 16:38:07 -0000

Hi Barbara,

Sorry for going silent on this. 

As I said before, YANG DM cannot enforce what happens outside of the model. Of the behaviors noted below, the DM cannot enforce what happens to the contents of the log file/memory. All it can do is to clear the reference to the log file/memory. Therefore in 1 it cannot delete the old file or clear the old memory. In 4 it cannot clear the existing file/memory.

You do ask in 1, 2 that the old reference be replaced by the new reference. For that you do not need a clear/reset action. All you have to do is to overwrite the old reference with a new reference.

As such, I still do not see why a reset/clear action is needed for log in the (YANG) DM. But there are many things I do not see :-)

> On Jan 21, 2020, at 9:29 AM, STARK, BARBARA H <bs7652@att.com> wrote:
> 
> For logs, I can see several holistic (not focusing on result of a single action) sets of behaviors a user may want to accomplish at the time they’re enabling logging (I’m wording this specifically to be vague about how many commands the user might need to issue):
> Old file is deleted or old memory store is cleared/released, new file is started or memory space created with new reference.
> Old file / memory store stays, new file / memory store is started with new reference. // there is no longer a reference specified in the Babel info model that would point to the old file or memory; some DM schemes, like TR-181, would still allow access to the log (the Babel packet log is a reference to an entry in a log object); where the log came from, though, would be lost unless it was incorporated in the filename by the implementation or otherwise contained in log metadata; may need to consider if something needs to be said about persistence across reboots
> Existing referenced file / memory store is appended.
> Existing referenced file / memory store is cleared and then appended.
>  
> 1 and 4 are very similar in effect. 
>  
> Note that there are behaviors that can be enforced by the model, and behaviors that are imposed on compliant implementations (e.g., mandatory to implement). I’m not concerned with whether or not a desired behavior is enforced by a model. I’m perfectly satisfied for desired behaviors to be imposed through implementation compliance. The question for me is what the desired behavior is, and not whether or not any particular DM scheme has the ability to enforce.
>  
> I’m thinking (based on opinions expressed to date) that in the absence of a log “reset”, behavior 3 (appending) might be expected to occur (note the info model says nothing about limiting filesize – it’s up to the DM or implementation to do or say something wrt max filesize and what to do when max is reached). If we were to have a log reset, I think either behavior 1 or 4 would be fine, and don’t think we’d need to dictate one or the other in the info model. I’d prefer to avoid 2, because I think it poses a danger of memory leaks. It may also be useful to include a statement that there is no expectation for logs to persist across reboots.
>  
> Barbara
>  
> From: Mahesh Jethanandani <mjethanandani@gmail.com> 
> 
> Hi Barbara,
>  
> Good point. What would you expect the reset action on packet log to do?
>  
> The difference between packet log and statistics from a data model is that, statistics are maintained by the data model. As such a reset causes the values in the data model to be cleared. For the packet log, all that the model does is maintain a pointer to a URL/file where the log is maintained. It does not maintain the contents of that log. A reset action on an object that is external to the model cannot be enforced by the model. All the model can do is clear the pointer, but I gather that is not what you are looking for it to do.
>  
> Cheers.
> 
> 
> On Jan 20, 2020, at 8:25 AM, STARK, BARBARA H <bs7652@att.com <mailto:bs7652@att.com>> wrote:
>  
> That would suggest we should add a reset action for the packet log. We don’t currently have one.
> Barbara
>  
> From: Donald Eastlake <d3e3e3@gmail.com <mailto:d3e3e3@gmail.com>> 
> 
> Hi Mahesh and Barbara,
>  
> Speaking just as a WG member, it seems to me more flexible for the clearing of statistics and the enablement of statistics to be separate actions. You can always do both if that's wht you want.
> 
> Thanks,
> Donald
> ===============================
>  Donald E. Eastlake 3rd   +1-508-333-2270 (cell)
>  2386 Panoramic Circle, Apopka, FL 32703 USA
>  d3e3e3@gmail.com <mailto:d3e3e3@gmail.com>
>  
>  
> On Fri, Jan 17, 2020 at 3:13 PM Mahesh Jethanandani <mjethanandani@gmail.com <mailto:mjethanandani@gmail.com>> wrote:
> 
> 
> > On Jan 17, 2020, at 7:32 AM, STARK, BARBARA H <bs7652@att.com <mailto:bs7652@att.com>> wrote:
> > 
> > There are 2 items related to the info/data models that have been swirling around in my head over the past month. 
> > 
> > 1. Since the most recent drafts of rfc6126bis now have 2 examples of initial interval settings (for cases where fast convergence is desired, or where slow convergence is acceptable and less chattiness is desired), I don't like that we have no means for the user to express what their preference is around this (in case an implementation could support both cases). Should we have something at the top level of the model like:
> > boolean                rw converge-fast;
> > 
> >   converge-fast:  Indicates whether the user wants the network to converge 
> >      quickly (which will cause Babel messages to be sent more frequently), or
> >      prefers fewer Babel messages with slower time to convergence.  Fast
> >      convergence is desired if "true". An implementation MAY choose to expose
> >      this parameter as read-only ("ro").
> > 
> > 2. In BBF, I got a comment related to babel-stats-enable and babel-packet-log-enable. It's unspecified as to whether previous data is discarded when the stats or log are enabled, or the new log entries are appended / existing counts incremented. I tend to agree that the lack of a statement will lead to inconsistency, and would prefer consistent behavior. Mahesh and I had a brief exchange where we disagreed on what the preferred behavior should be -- which suggests there is definitely a strong likelihood of different implementations choosing different behavior in the absence of guidance.
> 
> And to clarify the disagreement between Barbara and I was …
> 
> The Babel information and data models define a boolean flag that enables/disables the collection of statistics. The Babel data model in addition has an ‘action’ YANG statement defined to clear the statistics being collected. Barbara’s assumption with enabling the boolean flag was that it would implicitly clear all the statistics. But the data model with a separate ‘action’ statement requires it to be called explicitly to clear the statistics. 
> 
> Unfortunately, there isn’t a way in YANG to invoke the calling of an ‘action’ statement when a certain attribute value toggles. Implementations can choose to make it implicit by including the call to the ‘action’ statement as part of enabling statistics. But it is not something YANG can enforce.
> 
> So the question is - should the information model require that enabling of statistics collection also clear the statistics (even if the YANG model cannot enforce it) or leave it to implementations to decide/enforce?
> 
> Cheers.
> 
> > 
> > I realize we're past last call. But I think these are important.
> > 
> > Barbara
> > 
> > _______________________________________________
> > babel mailing list
> > babel@ietf.org <mailto:babel@ietf.org>
> > https://www.ietf.org/mailman/listinfo/babel <https://urldefense.proofpoint.com/v2/url?u=https-3A__www.ietf.org_mailman_listinfo_babel&d=DwMFaQ&c=LFYZ-o9_HUMeMTSQicvjIg&r=LoGzhC-8sc8SY8Tq4vrfog&m=Ervar6YVPnCewTWpMGUQdvrWDl--UTRIKVyMm-SEvF4&s=DhjYNDHNRPLsBhCPPje6e653wL9I_VCvgpjEGykc0aA&e=>
> 
> Mahesh Jethanandani
> mjethanandani@gmail.com <mailto:mjethanandani@gmail.com>
> 
> 
> 
> _______________________________________________
> babel mailing list
> babel@ietf.org <mailto:babel@ietf.org>
> https://www.ietf.org/mailman/listinfo/babel <https://urldefense.proofpoint.com/v2/url?u=https-3A__www.ietf.org_mailman_listinfo_babel&d=DwMFaQ&c=LFYZ-o9_HUMeMTSQicvjIg&r=LoGzhC-8sc8SY8Tq4vrfog&m=Ervar6YVPnCewTWpMGUQdvrWDl--UTRIKVyMm-SEvF4&s=DhjYNDHNRPLsBhCPPje6e653wL9I_VCvgpjEGykc0aA&e=>
Mahesh Jethanandani
mjethanandani@gmail.com