Minutes for NETMOD at IETF-89
minutes-89-netmod-2
Meeting Minutes | Network Modeling (netmod) WG | |
---|---|---|
Date and time | 2014-03-05 13:00 | |
Title | Minutes for NETMOD at IETF-89 | |
State | Active | |
Other versions | plain text | |
Last updated | 2014-03-12 |
minutes-89-netmod-2
============================================================= NETCONF Data Modeling Language WG (netmod) IETF #89, London, United Kingdom Wednesday, March 5th, 2014, 13:00-15:00, Palace C Minutes Balazs Lengyel, Juergen Schoenwaelder ============================================================= WG Chairs: Thomas Nadeau Juergen Schoenwaelder WG URL: http://tools.ietf.org/wg/netmod/ Jabber: xmpp:netmod@jabber.ietf.org Agenda: 1. Administrivia and WG Status (Juergen & Thomas) 13:00 [ 5 min] 2. Recharter Discussion (Thomas & Juergen) 13:05 [20 min] 3. YANG Maintenance Issues (Martin) 13:25 [60 min] 4. YANG Conformance (Andy) 14:25 [10 min] 5. YANG Guidelines (Andy) 14:35 [10 min] 6. Stateless Packet Filter Config Data Model (Andy) 14:45 [10 min] 7. Open Mike 14:55 [ 5 min] Summary: The NETMOD meeting in London was attended by about 70 people. All currently charter work items are either in the RFC editor queue, on the IESG agenda, or they passed WG last call and are on the way to the area director. The discussion of a proposed new WG charter resulted in some minor modifications. The WG also discussed the ecosystem around YANG data model development and support and how it could be improved to better support and accelerate implementations of YANG modules. The active contributors indicated support for the new charter and there were no objections. The revised charter text including the modifications has been circulated on the mailing list right after the meeting. After the charter discussion, the WG started to go through a list of issues that may be addressed in a YANG maintenance release in order to determine which issues are in scope, out of scope, or need more discussion. The status of the stateless packet filter data model and a revision of the guidelines document has been reported. Slides: http://www.ietf.org/proceedings/89/netmod.html Audio: http://www.ietf.org/audio/ietf89/ Actors: - JS = Juergen Schoenwaelder - TN = Thomas Nadeau - AB = Andy Bierman - MB = Martin Bjorklund - LL = Ladislav Lhotka - BC = Benoit Claise - KW = Kent Watsen - BL = Balazs Lengyel - JM = Jan Medved - QZ = Quintin Zhao (??) - MA = Mikael Abrahamsson - RV = Robert Varga - DB = Dan Bogdanowich - DY = Derek Yeung - AK = Anik Kachik (??) - SC = Steve Cheng Meeting Notes: * Rechartering Discussion BC: If there are YANG modules that are not part of a charter of an active working group, they are welcome in NETMOD. JS: What about situations where we have an active WG but YANG work is not on the charter? BC: We will talk with the ADs and WG chairs to sort this out (like we did in the I2RS case). BC: Expert review is key and required. AB: Our process is lacking the use of issue trackers. We get many late reviews and issues pop up again. ??: The PCE working group is currently doing MIB modules and the policy is to finish this work before considering YANG modules. As an implementer, should I wait for this process to finish or should I go to NETMOD in order to make progress? BC: I will discuss this with the ADs and WG chairs involved. MA: How is the whole ecosystem going to work? Which models are needed? We need hundreds of models to configure everything using NETCONF and YANG. I am concerned about the whole process and the ecosystem. Perhaps you want the YANG models be developed alongside the standard. Perhaps you want a well-known repository during development, a more decentralized process may be needed. AB: The hard part of doing a standard is reaching consensus among competitors. MA: A community process could prepare YANG modules for a later RFC approval process. RV: Keeping models close to implementation is critical during development. We may need an upstream/downstream model where things are prototyped and then pushed upstream into the IETF process. For example, start with simple draft with basic concepts, let people implement and build on it, then add more features. MA: What I want to avoid having multiple vendors each creating their own model and to merge them late in the process. Trying to seek early agreement is much better. JM: There are a couple of foundational models, topology is one of them and another one is inventory. Since these models are foundational, it may be a good idea to develop them in this working group. BC: I do not have the solution: The IETF is about running code and consensus. We need to find the balance between the two. LL: It is not likely that this working group can do all data models. There is an OSPF module which is quite Cisco specific. I have one that is Bird specific. It is up to the vendors to work out a common model. Experience with the routing module tells us that the exposition to routing experts is much less here than in the routing area. Leave it to the domain experts to do their data models. We can help them but not do their work. DB: Agrees that this WG should help if there are specific questions coming up in other working groups. MA: My proposal was not to move all work here but instead help others to find good workflows. RV: I agree. Need guidelines how to solve certain problems with YANG. DY: Some help is needed how to represent things correctly. We can work with the experts in other working groups to sort out what should be standardized and what not. AB: We have a process called design teams. I do not see this is any different, we could simply work with design teams creating vendor neutral models. ??: L2VPN (co-chair) It might make a difference whether the model lives on a network element on in some kind of a controller. MA: This group should aid others with their YANG module development. BC: YANG Doctors are there for helping others. KW: Maybe we could compile a list of new concepts and review it? MB: How do we actually define new data modeling concept? Maybe this text is OK and we need to define on a case-by-case basis. RV: Is introducing a new base datatype (floats) considered a new data modeling concept? DB: Change to a should not add new data modeling concepts? JS: The motivation behind the text and in particular the third bullet was to keep YANG stable and to avoid sending out a signal that YANG may change significantly (e.g., becoming object-oriented to name an example). BL: Is this language enough for I2RS in order to use YANG? JM: If I2RS picks up YANG, do we recharter again to meet their needs? TN: We want to support I2RS and RESTCONF but not go beyond. BC: We need to resolve how we deal with ephemeral state, either in NETMOD or NETCONF. MB: As far as we know right now, everything I2RS needs can be done with YANG extensions. The goal of YANG 1.1 is to open it up in a few cases such that the language does not need further changes. LL: Some formulations in RFC 6020 are NETCONF specific. We should try to make things more protocol neutral. JS: The goal is that YANG 1.1 reaches a point such that groups like I2RS can get everything done with extensions, that is without changes to the YANG core. KW: The text says NETCONF but it should probably also mention RESTCONF. JM: I see stateless packet filter work but no other data models. As mentioned before, I consider other foundational data models. JS: My understanding was that the topology work was moved to I2RS. JM: Because this working group did not pick it. BC: Need to check my emails but I think this was discussed with the routing ADs and the WG chairs. MB: The charter is open to take on additional data models. JM: I think topology and inventory should be done here. JS: I am concerned about an information model in I2RS and a data model in NETMOD. I think they belong together. JM: I2RS started only doing information models. RV: There are a number of information models that really are basically nodes and arcs. JM: We already have tools in place that transform data models into running code. Information models are somewhat nebulous. TN: The routing ADs confirmed that I2RS would work on topology data models but perhaps we need to have this discussion again. DB: The charter text should support both NETCONF and RESTCONF and not be NETCONF protocol specific. BC: What about YANG tree diagrams, which came up during IESG review? JS: This may become part of the guidelines or a separate document if people think this is useful but some people might find the cut and paste text fine as well since the description of the format is right in place. TN: Is the scope of the work appropriate? About 20% of the people in the room in favor, nobody against. AB: I did not see the YANG conformance work anymore, has this been dropped? JS: It is part of YANG 1.1. We will go through a process collecting all YANG 1.1 issue and then determine one-by-one what is in scope of the YANG 1.1 document. * YANG Maintenance Issues - boolean if-feature expressions AB: There may be other solutions, e.g., by using xpath. MB: No, xpath only works in must and when statements. KW: This is a real-world issue. - allow must in input and output statements BL: It is unclear what must in an output means. MB: You can already do that within containers in output statements. - accessible tree in xpath in notifs and rpc AB: Servers ignore the constraints on their output. It is the clients that do the validation but they do not have access to all the state data. AB: I do not think this is problem worth solving but in any case we should make sure the solution is implementable. RV: I confirm that this is difficult or impossible to do. AB: A mandatory true statement in rpc output indicates that a server implementing a non-mandatory leaf never returns it. But this may be a separate issue. - unprefixed path in top-level typedef <no discussion> - escaped characters in double quoted strings <no discussion> - do not allow when on keys <no discussion> - make leaf-list of type empty illegal <no discussion> - allow optional keys? LL: What does this mean? Keys are not mandatory? MB: Some key elements may be absent. MB: There still must be a unique value to identify a list element. ??: If you have two optional keys, then one key must be present. - allow restrictions on enumerations <no discussion> - allow if-feature on enums? KW: We also need a way to say NOT feature. This is useful AB: I am concerned that this makes implementations really complicated. I am not sure this is really helpful since this is part of the leaf validation code. MB: I do not see why this is more complex than must expressions. KW: I have a cluster use case, having feature constraints specified for enums is helpful. - initialized-by server <no discussion> - allow multiple 'base' stmts for identities AB: Why is this needed? LL: Sometimes you have an identity that is a combination of two identities. LL: Identities should be a partial ordering, currently base values are excluded. RV: This is useful when identities are used to capture multiple inheritance hierarchies (e.g., mapping to Java interfaces) JS: It might help to have clear use cases for this. - clarify the string value for identities when used in must/when <no discussion> - identity advertisement problem RV: This can be solved by providing guidance to module organization, move identities to separate modules. AB: Identities are just identifiers and I do not see the need for multiple bases. We seem to be trying to overload identities. LL: The way identities are used in core modules (when expressions in an identity), you want to include all identities derived from a certain base. AK: We use identities to represent service types in open daylight. We are modeling how other parts of the data model are structured using identities. RV: Using YANG extensions, I can attach semantic meaning to identities and hence separating identities into separate modules is important. AB: Make sure we expand the usage of identities carefully. And we either partition models into multiple modules or we have more powerful conformance mechanisms. Full module conformance has already proved inadequate. RV: Refining identityrefs is full of holes. MB: Please bring this to the list so we can take a look. - module advertisement optimization RV: Yes, definitely a problem, in particular for implementations that work with size limited static buffers. - remove import-by-revision? AK: Import-by-revision helps with debugging and its usage should probably be mandatory. MB: But this is not incompatible if types are added. YANG rules protect you. AK: But it is fine to pick the latest version. RV: AK, you are referring to a minimum revision of a module. MB: Yes, this is not how it works today. AB: If you follow the update rules and the server advertises the latest version, everything just works. - support recursive groupings? KW: A use case is topology but there should be data model defined limit. MB: But this depends on the way you model topology. You can model topology without needed recursion. LL: In my view it was a design decision to avoid recursive structures in the data tree. Use leafref's to handle such situations. MB: Using leafrefs may not always been very natural. BL: I have seen use cases like modeling hardware containment or nested queues in quality of service models. RV: Please don't, you can avoid it and it adds a lot of complexity. - remove auto-assignment of enum values? LL: I do not buy the backwards compatibility argument since the number assigned to an enum is never exposed anywhere in NETCONF or YANG. The automatic assignment should be removed. MB: If the tools are using the assigned numbers, then the tool produces inconsistent results. LL: But this is all local to an implementation. If there is meaning of the numeric value, it should be explicitly assigned. * YANG Conformance AB reviewed the recent changes and he discussed the next steps. MB: Caching the entire capability set is problematic since it requires an update of the NETCONF protocol. Caching of just the data model announces should be doable. AB: I agree and the number of NETCONF protocol capabilities is small. * YANG Guidelines AB reviewed the upgrades of the guidelines and the open issues. RV: I think the definition of the tree diagram format should be in a separate document and I tree diagrams should be non-normative. AB: I like this approach. MB: We will have to keep working on this document until we have YANG 1.1 done. AB: We also need to look for things that are legal in YANG but not allowed in IETF modules. JS: People who recently learned using YANG should provide feedback what is missing or could be improved. AB: One task of YANG doctors is to inform people that they ignore existing work. * Stateless Packet Filter Config Data Model The document has not changed. AB explains that this document aims at establishing a framework, not to be covering all possible filters. This is a core model but it won't have all possible filters in it. JS: Clearly this document needs more review in order turn this into a framework that can be extended without touching the framework. AB: This is an example showing that going from a vendor specific module to a standard is difficult. * Open Mike DY: The OSPF data model has been updated. We are looking for a YANG doctor to help with this module. We will take this to the OSPF working group be we need help to get the YANG aspects right. KW: Juniper has the notion of a default configuration. I will take this to the list. SC: Do you consider some QoS YANG modules? JS: It all depends on having concrete proposals (Internet-Drafts) that we can look at and form an opinion.