+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ IETF 75, NETMOD WG MONDAY, July 27, 2009, 1300-1500 David Kessens, David Partain The chairs wish to thanks the notetakers: Phil Shafer Balazs Lengyel Bert Wijnen Ladislav Lhotka Audio feed archive: ftp://videolab.uoregon.edu/pub/videolab/media/ietf75/ietf75-mon-caberet-pm.mp3 Agenda slides: http://www.ietf.org/proceedings/75/slides/netmod-3.ppt David Partain: No new work to be chartered before all current items are in the hands of the IESG. We still believe we will send all documents to IESG in September =================================================================== Architecture draft: Phil Shafer Slides: http://www.ietf.org/proceedings/75/slides/netmod-2.ppt Phil Shafer: Modified with comments, IMO it is ready. David Partain: We will send it to last call after the IETF. =================================================================== Common Data Types: Juergen Schoenwaelder Slides: http://www.ietf.org/proceedings/75/slides/netmod-6.pdf Juergen Schoenwaelder: If people have read the doc, please support it actively! 1. new proposed type: date David Partain: it seems a good idea Straw poll: 6 for, against 0 2. new proposed type: time types David Partain: Looks more difficult. Phil Shafer: What is the use case? What about weeks, fortnight? Balazs Lengyel: seems too many Ladislav Lhotka: 'units' YANG construct makes this superfluous, against it Andy Bierman: 'units' must be used consistently, standardizing them makes it more uniform Juergen Schoenwaelder: We can't force their usage anyway David Partain: straw poll: yes 0, no 6-7 Andy Bierman: Could put suggested units name in usage draft; that would be good enough 3. flagging SNMP compatibility Juergen Schoenwaelder: OID, timeticks are not SNMP-specific David Partain: What is the motivation? Juergen Schoenwaelder: These types should not be used for anything but SNMP Andy Bierman: not clear how these SMI types are used in NETCONF David Partain: So they should not be used for anything but SNMP related stuff, is that correct Andy? David Partain: straw poll: yes 0 no 6-7 Andy Bierman: the YANG object identifier is an XPath expression Juergen Schoenwaelder: That's his terminology 4. absolute schema node ID type Juergen Schoenwaelder: useful, but namespace prefixes are a problem Martin Bjorklund: prefix mapping can be similar to the one for instance identifier Juergen Schoenwaelder: this points to schema nodes Martin Bjorklund: this could point to choices, cases etc. Martin Bjorklund: What is the use case, where would you use it? Andy Bierman: leave it out I guess -- don't care David Partain: straw poll yes: 0 no: 6-7 5. date-and-time timestamp type, must be in UTC Juergen Schoenwaelder: does not see the difference between this and current date and time, why must we enforce UTC? Brent Chapman: conversion from localtime to UTC is a big problem, so forcing UTC is a good practice. Juergen Schoenwaelder: date-and-time has a suffix/offset in hours and minutes, so translation should be easy. Andy Bierman: I do not remember making this request; YANG canonical format -- agent MUST send UTC only Ladislav Lhotka: true canonical format is UTC David Partain/Juergen Schoenwaelder: So this is not an issue at all. Phil Shafer: I don't want to be forced to use UTC, we lose local time info. Martin Bjorklund: does the agent have to send the canonical format? Balazs Lengyel: yes, canonical must be used. Brent Chapman: we need the local time. e.g. some thing can only be done during the local night 6. date-and-time-delta type: Juergen Schoenwaelder: Proposal needs details, discussion missing Andy Bierman: SMIv2 has it, so we need it Bert Wijnen: Andy, please clarify. David Harrington: IMO we don't have it in SMIv2. Why are we adding new types this late? Andy Bierman: do we need any time intervals or just absolute time in NETCONF? Brent Chapman: I am missing a data type for a duration? e.g 20 millisec. What data type do I use to express those durations? Juergen Schoenwaelder: No such data type. Part of the problem is that the range would need to cover such a wide space in a generic data type. Brent Chapman: is this the result because SNMP being mostly considered a monitoring standard? Since this is configuration, whether it was in SNMP or not is not relevant. Balazs Lengyel: this is the same question as slide 2 Brent Chapman: Certainly related Juergen Schoenwaelder: this asks for a generic duration type that covers 2 msecs and 2 years as well David Partain: is this too big too late? David Harrington: ask yes or no! Too big, handle later. Juergen Schoenwaelder: people should come up with a concrete proposal. Martin Bjorklund: there is a duration type in XSD. David Partain: is this too big, too late? yes 6-7 no 1 7. XSD and RNG translations Juergen Schoenwaelder: should we keep them? David Partain: was it not the original idea to help people understand the types? It might not be needed anymore. Seems you are worried about precedent. We don't want the translations in all future documents. Juergen Schoenwaelder: A free tool for translation is available. Ladislav Lhotka: understanding datatypes is easy; vote against. Brent Chapman: If you have 3 description, you get the question which is authoritative. Juergen Schoenwaelder: YANG is the real one David Partain: can we put a link to a tool in a draft? maybe the tools name? David Partain: remove straw poll: yes 10 no 0 David Partain: Can we put a URL in the draft? Dan Romascanu: If it's normative then don't do it, if informative it might be acceptable. Juergen Schoenwaelder: we might point to guidelines document or some tool page. David Partain: how many read the data-types doc: 5-6 =================================================================== draft-ietf-netmod-yang-07.txt - Martin Bjorklund Slides: http://www.ietf.org/proceedings/75/slides/netmod-6.pdf 1. Nested choices Martin Bjorklund: let's allow them Ladislav Lhotka: there are problems, but don't remember them Martin Bjorklund: makes implementation difficult, but still remove it Phil Shafer: should not make it difficult Martin Bjorklund: naming is still difficult Phil Shafer: so clarify naming rules Andy Bierman: no, it is not. The selected case can itself consist of a leaf and another choice. Vote: allow them yes 6-7 no 0 2. prefixes in groupings (Editor: note the example in the slide is incorrect) Martin Bjorklund: don't use prefixes for internal references in groupings Ladislav Lhotka: David Partain: Is this a good start? 5-6 hands shown Andy Bierman: do not make XPath parsers treat expressions in groupings differently. Martin Bjorklund: different from what? (Confusion about Andy comments.) Andy Bierman: Is it OK to map local-prefix:/X in a grouping to the node X, even though the namespace will change later? Martin Bjorklund: with this proposal no. Prefix will be fixed. Martin Bjorklund: Should we allow references to external entities without a prefix? Juergen Schoenwaelder: allow it Andy Bierman: this rule makes off-the-shelf XPath parsing impossible, right? the parser needs to allow prefixes outside a grouping, but not allow it inside a grouping Ladislav Lhotka: I see a use case for this, similar use case could be for leafref. A name without a namespace only gets its prefix when it is used Andy Bierman: leafref path is not XPath Phil Shafer: you can use a stock parser, but use it at build time. I dislike this proposal. It is easy to make mistakes. Can you refer to non-existent nodes? and can you allow this in groupings? You should not allow this generally. In groupings it could be done, but its fragile. Martin Bjorklund: yes this is fragile, but that's OK, tools can still check it. if not at compile time then later. Andy Bierman: I agree with Juergen. This is just a constant expression, no reason to add CLRs to XPath Ladislav Lhotka: you need to manipulate XPath namespaces for standard XPath tools anyway Martin Bjorklund: yes, you need to prefixes Balazs Lengyel: hard to understand all cases. Phil Shafer: referring to non-existing stuff will be a problem Juergen Schoenwaelder: this is a macro kind of thing, so it will find C node Martin Bjorklund: it will work Phil Shafer: 2 issues 1) Can you refer to a node that does not exist. Must be an error. 2) Can you refer to stuff for things outside the grouping. Is fragile, but can live with it Andy Bierman: XPath does not treat this as an error. It is just a YANG warning, not an error. Ladislav Lhotka: this reference to external node C might be intentional. Phil Shafer: If C is not there in the user module, how will it fail? It should fail early at compile. Phil Shafer: XPATH does not detect it, it is difficult to debug. Martin Bjorklund: So if we detect a references to something non-existing should we detect that? Phil Shafer: Some of these are just run-time errors. That's bad. Issue 1) Can I have a must referring to a non-existent node or namespace Issue 2) Inside can you refer to something outside the grouping? Andy Bierman: no -- missing xmlns for a prefix is an error in XPath Phil Shafer: I want to make this a compiler error. Juergen Schoenwaelder: We should not make too many mandatory checks, we must not mandate it too make perfect tools to be YANG compatible. Ladislav Lhotka: resolve any prefixes when defining the grouping, leave everything alone. Andy Bierman: it is a compile time error because the XPath expression would be invalid. Andy Bierman: there are lots of ways to produce garbage XPath; do not understand proposal. Phil Shafer: the question is if such references are legal. Martin Bjorklund: this is legal XPath, it is just stupid, so allow it and give a warning. Juergen Schoenwaelder: We allow 0<1 as well Ladislav Lhotka: rather give only warnings, not errors. David Partain: I am worried about pointing at garbage. Martin Bjorklund: it is valid XPATH. Phil Shafer: it is still garbage. Juergen Schoenwaelder: there are so many ways to produce garbage, how many do we want to check (and force to be checked)? David Kessens: Maybe put it into a usage guidelines? Phil Shafer: if it is clearly garbage it is still an error. Ladislav Lhotka: augment can correct it. David Partain: let's take the simple example without groupings David Partain: it seems we agree on allowing pointers in groupings to point outside. Should we generally allow pointing at garbage? IMO NO. David Partain: Should we have flexible/fragile groupings: yes 4 no 1 David Partain: pointing at undefined elements valid YANG: yes 4 no 4 David Partain: take second one to list or resolve it for Wednesday meeting =================================================================== draft-ietf-netmod-dsdl-map-03.txt - Ladislav Lhotka Slides: http://www.ietf.org/proceedings/75/slides/netmod-5.pdf See slides, which Ladislav followed closely in his presentation. No questions or comments. David Partain: how many read it: 3. Too few... problem. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ IETF 75, NETMOD WG WEDNESDAY, July 29, 2009, 1300-1500 David Kessens, David Partain Audio archive: ftp://videolab.uoregon.edu/pub/videolab/media/ietf75/ietf75-wed-rm307-pm.mp3 Slides: http://www.ietf.org/proceedings/75/slides/netmod-8.ppt =================================================================== Issue Resolution Day 2 (David Partain) Issue #1 XPath warnings What to do with valid XPath which is clearly an error? Is it compile time error? In last meeting, there was no rough concensus. Proposal: It is valid YANG; do not mandate that compilers have to find this. Phil Shafer: We have compilers that can do something, we don't claim they will do everything. Andy Bierman and David Reid (both on Jabber) agree with the proposal. 8:2 consensus in favor of the proposal. Issue #2 - date-and-time canonicalization Phil Shafer: Do we have any other datatype that discard information (i.e. are evil)? Juergen Schoenwaelder: It depends on whether you want just date and time information or timezone location as well. Phil Shafer: We should have two separate datatypes, one for local time and another for UTC time. Juergen Schoenwaelder: What's your definition of local time? Phil Shafer: For instance, I want to run backups between 2 and 3 AM local time. Juergen Schoenwaelder: So your local time means time without timezone information. Mark Ellison: If operators know the timezone of each device, it's OK. Juergen Schoenwaelder: Device's timezone is not the same as a time recorded in configuration. Rough consensus for using UTC as the canonical value. Issue #3 - types document: include 'date' type Are there any use-cases? Proposal: do not include 'date' 7-0: so goes to list as consensus Issue #4 - include prefix in IANA registry Bert Wijnen: TBD for IANA has to be included in a draft with instructions how IANA is supposed to use the registry. Martin Bjorklund: Do we have to change anything in the draft? Juergen Schoenwaelder will help to compose text for IANA considerations section Bert Wijnen: So the draft will start the registry. Martin Bjorklund: Yes. Balazs Lengyel: There are actually two things: one is starting the registry and another proposal is that the prefixes will be required unique in all modules published by IETF. Andy Bierman: This will not help. People will think all prefixes are unique, but vendor prefixes will never be unique. Ladislav Lhotka: The developers will take the prefixes for granted and will not care about URIs. This happened in XML and led to interoperability problems. Juergen Schoenwaelder: We can also publish conflicting prefixes. We must make it clear what tools have to do. Andy Bierman: Which mandatory prefixes do I have to use? Do I also have to import modules with the registered prefixes? Does not agree with proposal. Balazs Lengyel: You SHOULD, not MUST. Bert Wijnen: We have two questions here: (i) Do we want to have prefixes in an IANA registry? (ii) What are the rules for their use? Ladislav Lhotka: Short prefixes will get exhausted and this will force developers to choose longer ones, which impacts readability. No need to register prefix. Andy Bierman: We will effectively crunch readable module names into unreadable prefixes. So why don't we use module names as prefixes? Phil Shafer: If YANG is so successful that we run out of short prefixes, we can change the policy. Balazs Lengyel: we do not want to use long prefixes. Andy Bierman: Ladislav is right. This looks good for 5 modules, but how about 300? Rough consensus 7:3 in favor of including the prefixes in IANA. Balazs Lengyel: as I proposed: you SHOULD use unique prefixes.... we cannot guarantee it. Mark Ellison: I don't care but don't think this is needed. Juergen Schoenwaelder: Registering is enough, we don't need to require uniqueness. Probably IETF prefixes will be unique for a while. David Partain: agrees with Juergen (as contributor) Andy Bierman: what if vendors have a prefix that IANA adds later to the registry? Rough consensus 6:1 for not requiring uniqueness. =================================================================== YANG Usage Guidelines (Martin Bjorklund for Andy Bierman) Slides: http://www.ietf.org/proceedings/75/slides/netmod-4.pdf Slide 1 - BCP versus informational David Partain: It's fine to start this I-D as informational. - Identityref versus enumeration Martin Bjorklund: Identityref should be used if the set of values is designed to be extensible. David Partain: suggest we wait till we see text or leave it out if using enums is considered better. Andy Bierman: OK, I can leave this out if enums are considered better. Juergen Schoenwaelder: The document refers to MIB security templates, this doesn't make sense. Slide 2 - interim URIs - temp namespace for module namespace URI while work-in-progress (and not leave it blank as in SMIv2) so that it is a valid name Phil Shafer: It might be better to use URNs and scope them properly. Juergen Schoenwaelder: We should take the URI that the module will eventually have, and modify it so that the modification can be removed when the module is published. Andy Bierman: I-D name is OK. David Partain: we look forward for some proposals on the list - number of top level elements do we want a recommendation? if so should it be 1? Balazs Lengyel: Modules with a single root are easier to understand, the guidelines should recommend that only one root be used. Juergen Schoenwaelder: I don't know why modules with a single root are easier to understand. This is just another unnecessary rule. Andy Bierman: agrees to not add a rule - mandatory nodes at the top level not really deployable... (see slide) should this condition be a SHOULD NOT or MUST NOT or just a warning? or should this be an error in the YANG I-D? Balazs Lengyel: They are not a problem, devices always create some skeleton configuration. There seems there is some confusion between Martin Bjorklund, Phil, Balazs and Andy on what mandatory means. Andy Bierman: Mandatory means that manager must provide a value. Balazs Lengyel: No, mandatory means that the value must be present. Andy Bierman: That's not my understanding of "mandatory". David Partain: We should move this discussion to the mailing list. Juergen Schoenwaelder [looked up the definition of mandatory]: It is not clear in the text. Ladislav Lhotka: Are the initial values filled in by the device default values or something else? Andy Bierman: Why is then default-stmt not allowed together with mandatory? The question is: Is the agent allowed to supply a value for a mandatory leaf? Phil Shafer: Yes. Balazs Lengyel: The draft says: "Mandatory leaf must exist." Ladislav Lhotka: The draft says that "preceding" and "preceding-sibling" axes (and their "following" counterparts) SHOULD NOT be used. I sent examples to the mailing list where these axes are useful, so I don't agree with it. Andy Bierman: OK, I can remove this recommendation and say that the order may not be stable. David Partain: We need to discuss these open issues more and we need a new draft. Action Item: Martin Bjorklund to take a look at mandatory statement. (Editor: significant discussion on the list after the IETF) =================================================================== David Partain: We are not entertaining any new work BEFORE we have the deliverables out the door but it is OK to air ideas. =================================================================== Translation of MIBv2 to YANG (Juergen Schoenwaelder) Slides: http://www.ietf.org/proceedings/75/slides/netmod-0.pdf David Partain: thinks this is great, so it gives us some real modules to look at. Dan Romascanu: Also thinks this very useful. We can look at this when current work completes. Dan Romascanu: Should the autogenerated modules refer to the existing registry? Andy Bierman: Is SMIv2 intended to be used as a framework for developing new YANG modules? Juergen Schoenwaelder: If new modules can be developed from scratch, they should be done that way. This is just a way to reuse existing work. Andy Bierman: How will the translations be used in the standardization process? David Partain: This is up to the WG. Dan Romascanu: If there is a standard mapping, modules generated from standard MIBs could be automatically accepted. Mehmet Ersue: Shouldn't we rather encourage people to write YANG? Juergen Schoenwaelder: I just wrote the tool, it doesn't imply it will be used in one way or another. Dan Romascanu: This work should be discussed in the process of rechartering. Andy Bierman: This is a useful work. David Reid: I also support it and send comments to the mailing list. David Partain: It is OK to discuss this on the mailing list. =================================================================== Complex Types and Typed Instance Identifiers (Bernd Linowski) Slides: http://www.ietf.org/proceedings/75/slides/netmod-7.ppt Slide 7 Juergen Schoenwaelder: Where is the type info in the XML document? Bernd Linowski: It is in the elements prefixed with "ymi:". Slide 8 Ladislav Lhotka: The draft says the complex types don't have any corresponding nodes in the instance document. So where does a instance identifier typed to a complex type point to? Bernd Linowski: It looks the same as now in XML. There is always an element that has the complex type. =================================================================== David Partain: reminds the WG about OPS area open meeting - Juergen Schoenwaelder will present a NETCONF/YANG tutorial there. David Partain: Presented a roadmap for the WG items. WGLC for Architecture Second WGLC for YANG Same for YANG Data Types DSDL Mapping document NOTE: we MUST have feedback on WG LC, for all documents Martin Bjorklund: Why do we need a second WGLC for the datatypes draft? David Partain: There were no comments during the first WGLC. This means people didn't read it. So, yes.