Re: [NGO] Re: Why NETCONF needs a data modeling language
Andy Bierman <ietf@andybierman.com> Thu, 29 November 2007 15:36 UTC
Return-path: <ngo-bounces@ietf.org>
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1IxlQv-0007fS-0N; Thu, 29 Nov 2007 10:36:09 -0500
Received: from ngo by megatron.ietf.org with local (Exim 4.43) id 1IxlQu-0007fL-Da for ngo-confirm+ok@megatron.ietf.org; Thu, 29 Nov 2007 10:36:08 -0500
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1IxlQu-0007f8-3j for ngo@ietf.org; Thu, 29 Nov 2007 10:36:08 -0500
Received: from smtp122.sbc.mail.sp1.yahoo.com ([69.147.64.95]) by ietf-mx.ietf.org with smtp (Exim 4.43) id 1IxlQt-0001uH-GF for ngo@ietf.org; Thu, 29 Nov 2007 10:36:08 -0500
Received: (qmail 11398 invoked from network); 29 Nov 2007 15:36:06 -0000
Received: from unknown (HELO ?192.168.0.10?) (andybierman@att.net@68.120.84.135 with plain) by smtp122.sbc.mail.sp1.yahoo.com with SMTP; 29 Nov 2007 15:36:06 -0000
X-YMail-OSG: wE572gMVM1mKmBz1bHeO260vq5DhBhxXW1pfI9NCN8oeAVTJ
Message-ID: <474EDBEA.3050407@andybierman.com>
Date: Thu, 29 Nov 2007 07:34:02 -0800
From: Andy Bierman <ietf@andybierman.com>
User-Agent: Thunderbird 2.0.0.9 (Windows/20071031)
MIME-Version: 1.0
To: Ladislav Lhotka <lhotka@cesnet.cz>
Subject: Re: [NGO] Re: Why NETCONF needs a data modeling language
References: <474E0F71.2050003@andybierman.com> <953beacc0711282017p3ad865abw19920b4e68e82e80@mail.gmail.com> <20071129113446.GB10751@elstar.local> <1196348560.5918.76.camel@missotis>
In-Reply-To: <1196348560.5918.76.camel@missotis>
Content-Type: text/plain; charset="UTF-8"; format="flowed"
Content-Transfer-Encoding: 8bit
X-Spam-Score: 0.0 (/)
X-Scan-Signature: b5d20af10c334b36874c0264b10f59f1
Cc: ngo@ietf.org
X-BeenThere: ngo@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: NETCONF Goes On - discussions on future work and extensions to NETCONF <ngo.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/ngo>, <mailto:ngo-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/ngo>
List-Post: <mailto:ngo@ietf.org>
List-Help: <mailto:ngo-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/ngo>, <mailto:ngo-request@ietf.org?subject=subscribe>
Errors-To: ngo-bounces@ietf.org
Ladislav Lhotka wrote: > Juergen Schoenwaelder píše v Čt 29. 11. 2007 v 12:34 +0100: > >> Statements like 'config true;' are essential for the processing of >> NETCONF messages and also for validating content exchanged in NETCONF >> messages (and this is why for example generic XML validation tools are >> only of limited value for NETCONF implementors). > > Yes, I think pure RNG is not an option. But again, RNG is considerably > more open to extensions than XSD (no appinfo wrappers needed). However, > to be fair, using foreign elements/namespaces (and annotations) > seriously damages the readability of the compact syntax (not so much the > XML syntax). Exactly. I was one of the 'researchers' that spent the last 3 years trying to build NETCONF tools from XSD, then RNG-compact, then my own NCX language, and now YANG. Operators have made it clear (to me anyway) that they prefer to read and write text. To them, text does not mean tons of angle brackets and verbose tagging, hiding the real info. The config file mindset is alive and well. IMO, YANG has the best balance between syntax and semantics that I have ever seen. Neither is sacrificed whatsoever. (However, YANG chooses not to support XML attributes or xsd:list data type, because they are bad wrt/ NETCONF tools). XSD and RNG have more powerful (and more complex) features than YANG, which are suited to constructing XML instance documents. YANG has configuration features, Xpath-based object-constraint features, lots of vendor extensibility, and a very easy-to-grok syntax, no matter how complicated the data model gets. YANG is not a general purpose XML language, like XSD and RNG. (Ever notice that your carpenter doesn't use those all-in-one tools advertised on late-night TV?) > >> a) that doing so will lead to a large reuse of available RNG tools for >> processing NETCONF data models (since they don't know the RNG >> subset nor the semantic additions) > > For example, NETCONF data could be validated (as an XML document) using > the existing tools, RNG specification requires that foreign elements be > ignored. As for the subset of RNG - could it perhaps be just a > convention, like "avoid mixed content"? > I don't see how an RNG validation tool can possibly help an agent, or even a manager implementation. RNG doesn't know which data is writable vs. read-only. It doesn't know interface[eth0] from interface[eth1]. It doesn't know about the NETCONF 'operation' attribute in <edit-config>. In short, RNG doesn't know anything about NETCONF. That is YANG's reason for existing. NETCONF is all YANG does, and it covers the details better than add-ons to RNG ever could. >> b) that the effort to specify such an extended subset will be less >> than the effort for defining a domain specific language like YANG > > I'd say the former effort will be *significantly* smaller than the > latter since the main issue - defining document structure - comes for > free and has already been thoroughly tested. A problem may be though > that the hybrid language could turn out to be less readable for humans. > >> c) that the effort to implement tools understanding the adapted subset >> of RNG will be less than writing proper tools for a domain specific >> language from scratch > > It would make sense if one could use both the traditional XML tools and > new NETCONF-specific tools. The big advantage would be that both > categories would use exactly the same data model specification. Even if > someone writes conversion tools like YANG->RNG, it would be more > difficult to guarantee consistency. > >> d) that there will be long term (say 20 year) reliable change control >> exercised by the organization that has change control over NETCONF > > For the extension within an IETF-controlled namespace this could be > guaranteed, but of course if the XML world turns entirely to Yet Another > Schema Language, the extension would have to be ported to it. Given the > momentum behind RNG these days, I don't think it is very likely. > > Lada > Andy _______________________________________________ NGO mailing list NGO@ietf.org https://www1.ietf.org/mailman/listinfo/ngo
- [NGO] Why NETCONF needs a data modeling language Andy Bierman
- [NGO] Re: Why NETCONF needs a data modeling langu… Juergen Schoenwaelder
- [NGO] Re: Why NETCONF needs a data modeling langu… Phil Shafer
- [NGO] Re: Why NETCONF needs a data modeling langu… Rohan Mahy
- Re: [NGO] Re: Why NETCONF needs a data modeling l… Ladislav Lhotka
- Re: [NGO] Re: Why NETCONF needs a data modeling l… Juergen Schoenwaelder
- Re: [NGO] Re: Why NETCONF needs a data modeling l… Andy Bierman
- Re: [NGO] Re: Why NETCONF needs a data modeling l… Ladislav Lhotka
- Re: [NGO] Re: Why NETCONF needs a data modeling l… Balazs Lengyel
- RE: [NGO] Re: Why NETCONF needs a data modeling l… Romascanu, Dan (Dan)
- [NGO] Re: Why NETCONF needs a data modeling langu… Rohan Mahy
- Re: [NGO] Re: Why NETCONF needs a data modeling l… Ladislav Lhotka
- Re: [NGO] Re: Why NETCONF needs a data modeling l… Ladislav Lhotka
- [NGO] Re: Why NETCONF needs a data modeling langu… Chris Cross
- [NGO] Re: Why NETCONF needs a data modeling langu… Phil Shafer
- [NGO] RE: [YANG] Re: Why NETCONF needs a data mod… David Harrington
- [NGO] Why NETCONF needs a data modeling language David Harrington
- [NGO] Re: Why NETCONF needs a data modeling langu… Martin Bjorklund
- [NGO] Re: Why NETCONF needs a data modeling langu… Andy Bierman
- [NGO] Re: Why NETCONF needs a data modeling langu… Balazs Lengyel
- [NGO] Re: Why NETCONF needs a data modeling langu… Jon Saperia
- [NGO] Re: Why NETCONF needs a data modeling langu… Balazs Lengyel
- [NGO] Re: Why NETCONF needs a data modeling langu… Jon Saperia