Re: [netmod] AD review of draft-ietf-netmod-system-mgmt

"ietfdbh" <ietfdbh@comcast.net> Thu, 12 December 2013 17:08 UTC

Return-Path: <ietfdbh@comcast.net>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 985D71AE046 for <netmod@ietfa.amsl.com>; Thu, 12 Dec 2013 09:08:16 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.001
X-Spam-Level:
X-Spam-Status: No, score=-2.001 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, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001] autolearn=ham
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 kZrPHK6umN1O for <netmod@ietfa.amsl.com>; Thu, 12 Dec 2013 09:08:14 -0800 (PST)
Received: from QMTA11.westchester.pa.mail.comcast.net (qmta11.westchester.pa.mail.comcast.net [IPv6:2001:558:fe14:44:76:96:59:211]) by ietfa.amsl.com (Postfix) with ESMTP id DA29A1AD8EC for <netmod@ietf.org>; Thu, 12 Dec 2013 09:08:13 -0800 (PST)
Received: from omta18.westchester.pa.mail.comcast.net ([76.96.62.90]) by QMTA11.westchester.pa.mail.comcast.net with comcast id 0dRL1n0051wpRvQ5Bh87sD; Thu, 12 Dec 2013 17:08:07 +0000
Received: from JV6RVH1 ([67.189.237.137]) by omta18.westchester.pa.mail.comcast.net with comcast id 0h871n00C2yZEBF3eh87tt; Thu, 12 Dec 2013 17:08:07 +0000
From: ietfdbh <ietfdbh@comcast.net>
To: 'Randy Presuhn' <randy_presuhn@mindspring.com>, 'Martin Bjorklund' <mbj@tail-f.com>
References: <32246622.1386784076436.JavaMail.root@elwamui-karabash.atl.sa.earthlink.net> <20131212.085209.387856404.mbj@tail-f.com> <001b01cef716$295e2520$6b01a8c0@oemcomputer>
In-Reply-To: <001b01cef716$295e2520$6b01a8c0@oemcomputer>
Date: Thu, 12 Dec 2013 12:08:03 -0500
Message-ID: <004a01cef75c$b8610120$29230360$@comcast.net>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
X-Mailer: Microsoft Outlook 14.0
Thread-Index: AQHRWvhskhnOaPbMPUajuprGlXhfOwJKF7QAAdpcnciaKs+QQA==
Content-Language: en-us
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=comcast.net; s=q20121106; t=1386868087; bh=0xF2cW2YxBwXpr+OAwGEQ9VJZeOgc9OIL8ME+6qicPI=; h=Received:Received:From:To:Subject:Date:Message-ID:MIME-Version: Content-Type; b=emvA/lFwjfJub0wf0fZk+FheTpGOMtGo/HtWQsUrL0w+RSHYEA8oArkScqdjb5ECl FnWnsAFO6jEkqwSMjk1GsgnJ8CZnjlJHQbu9IAAR10+xnq+M5Cg9vB/O9lqnfcOuKp o0YkVFwmjbN7GiK8ZuU4gKrouJwAbqxMG2jErB8Y3GmOj3BCx3hrTSeg+KeoH7oVZe Cju4UHGJRLzejbqpZp3buB9/qB/63rCT33QJajEo2vTz3rYBXx1MG3G8w2NSNnAa8r N9/K832zLusNZrdyxCJB3Zl5U8DywQi5//6FlzJB0t+25tdRkmdDS3QtrgRtxpU7/5 2E7Xxp79QIozQ==
Cc: netmod@ietf.org
Subject: Re: [netmod] AD review of draft-ietf-netmod-system-mgmt
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 12 Dec 2013 17:08:16 -0000

Hi,

Personally, I think it would be simpler to just have the YANG objects be
constrained by DisplayString syntax, but then, I come from a country where
7-bit ASCII covers my language of choice. It would be nice to have a
consistent underlying instrumentation without duplication of effort and
resources, but that would require choosing the least common denominator
(DisplayString). 

My second choice would be to treat them as separate instances, one of
DisplayString syntax, one of YANG string syntax. That way, we don't have to
worry about side effects of changing the YANG object via the MIB, or
changing the MIB object via YANG. If we want to internationalize the syntax,
you cannot do that to the MIB within SMI limits. Mapping between them if
they support different syntax raises a whole lot of issues for the database
handling and UI of an NMS, stands the chance of breaking existing
implementations if implementers handle the translations wrong or in a
non-interoperable manner, and stands the chance of misleading operators (and
applications) if the value of the MIB object is changed dynamically because
the value is changed (in any way) via translation from the YANG object. 

I think it would be better for standardization and interoperability if we do
not try to force-feed new syntax into the existing MIB object(s). If you
were trying to do this by updating the MIB, you would most certainly need to
define a new object (much like we had to do with Counter64s to replace
Counter32s). If the YANG object is treated as a separate object from the MIB
object, then if and when the MIB is updated, the MIB can add an object to
map to the YANG object, and deprecate the DisplayString syntax object.

If the YANG object says it can be mapped, then I think the YANG object must
REQUIRE that it be implemented with DisplayString constraints, whether a
server implementation maps to the MIB or not. Assuming an NMS supports both
MIB and YANG queries, and an implementer MAY treat them as separate, then
the NMS must treat them as separate. If the implementer MAY treat them as
mapped, the NMS still needs to implement them as separate because they MAY
be separate, but the NMS probably must treat the NMS-side variables as
mapped to ensure they are in sync; otherwise reading the value via the MIB
without simultaneously reading the value via YANG would lead to the NMS
potentially displaying different values even though on the device the values
are the same. This optionality greatly increases the complexity of
implementing these objects on the NMS side. An NMS would need to determine
whether the agent/server implemented these as mapped or separate, presumably
by changing one and seeing if it affected the other, so it knew whether to
try to perform synchronization between the two. Lots of work for limited
benefit to the operator. And if NMS implementations handled synchronization
differently, the operator is stuck trying to manage with conflicting
information from different NMSs.

It would be much better to standardize the expectation - either these
objects MUST be mapped and constrained by DisplayString syntax per the IETF,
or MUST be defined as separate objects of different syntax per the IETF
standard. Then an NMS implementer knows what to expect.

David Harrington
ietfdbh@comcast.net
+1-603-828-1401
> -----Original Message-----
> From: netmod [mailto:netmod-bounces@ietf.org] On Behalf Of Randy
> Presuhn
> Sent: Thursday, December 12, 2013 3:43 AM
> To: Martin Bjorklund
> Cc: netmod@ietf.org
> Subject: Re: [netmod] AD review of draft-ietf-netmod-system-mgmt
> 
> Hi -
> 
> > From: "Martin Bjorklund" <mbj@tail-f.com>
> > To: <randy_presuhn@mindspring.com>
> > Cc: <j.schoenwaelder@jacobs-university.de>; <netmod@ietf.org>
> > Sent: Wednesday, December 11, 2013 11:52 PM
> > Subject: Re: [netmod] AD review of draft-ietf-netmod-system-mgmt
> >
> > Randy Presuhn <randy_presuhn@mindspring.com> wrote:
> > > Hi -
> > >
> > > >From: Juergen Schoenwaelder <j.schoenwaelder@jacobs-
> university.de>
> > > >Sent: Dec 11, 2013 12:38 AM
> > > >To: Randy Presuhn <randy_presuhn@mindspring.com>
> > > >Cc: netmod@ietf.org
> > > >Subject: Re: [netmod] AD review of draft-ietf-netmod-system-mgmt
> > > >
> > > >On Tue, Dec 10, 2013 at 01:18:10PM -0800, Randy Presuhn wrote:
> > > >
> > > >> > Anyway, for a standardized approach, someone would have to write
> a
> > > >> > document that defines how unicode code points are represented as
> > > >> > escaped charater sequences in DisplayStrings. I do not think that
this
> > > >> > document is in charge of doing this. Hence, until such a standard
is
> > > >> > written, I think things need to be implementation specific.
> > > >>
> > > >> Perhaps, though that is the route to being stuck with ASCII until
the
> > > >> successor to Netconf rolls along.
> > > >
> > > >Not necessarily. If you configure via NETCONF (or most CLIs these
> > > >days), you can use unicode characters. The code that maps names to
> > > >legacy non-unicode interfaces then needs to do suitable translations
> > > >to fit whatever constraint there is.
> > >
> > > Not if the data definition restricts the values to an ASCII
> > > subset, as has been proposed.  What's in the draft at the
> > > moment will bring its own interoperability problems, but
> > > at least it's a baby step forward.
> >
> > So it seems we have a chance to fix this now.  But I need to
> > understand what exactly you and/or Juergen propose.  Preferrably
> > concrete text.  I *think* that the proposal is something like this:
> >
> >    o  An implementation MUST allow any legal "string" (YANG string).
> 
> There are good reasons to restrict formatting and control characters -
> I'll assume YANG strings do this already.  If not, that's another long
> discussion.
> 
> >    o  An implementation that maps this value to the corresponding MIB
> >       object, which has size and character set limitations, MUST use
> >       some mechanism out of the scope for this document to ensure that
> >       the MIB object syntax is still valid.
> 
> Yes this seems reasonable.
> 
> But it doesn't cover a "round trip".  If the value is modified via the MIB
> interface to include what looks like the implementation-specific encoding
> into ASCII of a non-ASCII Unicode code point, does retrieving that value
> via the Netconf interface get the Unicode code point or the
implementation-
> specific ASCII encoding of it?  If it does (and I think it should) then
there
> needs to be some though put into what happens when the code point
> encoded using ASCII would, if converted to Unicode, be illegal (for
> whatever reason) in the YANG string.  It's probably best to keep the
> SNMP instrumentation ignorant of all this, so code in the Netconf side
> would need determine whether any of the ASCII "escape sequences"
> would produce forbidden code points, and, in such cases, *not* evaluate
> those sequences and just pass them through unevaluated.
> 
> 
> > Also, just to make sure, we are talking about:
> >
> >    system/location        -- sysLocation
> >    system/contact         -- sysContact
> >    interface/description  -- ifAlias
> 
> Perhaps also sysDescr (even though read-only, my comment above seems
> applicable,
> particularly since on at least some systems this comes from a static
> configuration
> file, and would be useful to support local language in some minimal way.)
> 
> sysName (think IDN) might also be worth thinking about.  There was a long
> debate
> about this a while back; I don't know what current thinking is.
> 
> Randy
> 
> _______________________________________________
> netmod mailing list
> netmod@ietf.org
> https://www.ietf.org/mailman/listinfo/netmod