Re: [netmod] Question on draft-ietf-netmod-yang-model-classification

"Carl Moberg (camoberg)" <> Wed, 08 February 2017 16:47 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 07C5C129C79; Wed, 8 Feb 2017 08:47:50 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -14.523
X-Spam-Status: No, score=-14.523 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (1024-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id 3PGLzarIsRAM; Wed, 8 Feb 2017 08:47:48 -0800 (PST)
Received: from ( []) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 4EB23129C7B; Wed, 8 Feb 2017 08:47:48 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;;; l=14098; q=dns/txt; s=iport; t=1486572468; x=1487782068; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=urW8nUdg+dksCyELZvWNMqe5DIaLauDIsdrxD25Kn9E=; b=JPbMhopos1viQs19wZRzcC6cu35uQso9QeHjzeCVwoRX1ldu8jSq3l2T 3YLZhpI7UcDT0g0qXPmk8BTyJH0tPEfAiJLBoYbMhL815MwzRI+agBCAq kQaIsH2QLboxDjX1LsZGYA9Uwf9jNJUAQHQMb42al88LsJcHiFFasA73B k=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-AV: E=Sophos;i="5.33,348,1477958400"; d="scan'208";a="206290897"
Received: from ([]) by with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 08 Feb 2017 16:47:46 +0000
Received: from ( []) by (8.14.5/8.14.5) with ESMTP id v18Glleq007767 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=FAIL); Wed, 8 Feb 2017 16:47:47 GMT
Received: from ( by ( with Microsoft SMTP Server (TLS) id 15.0.1210.3; Wed, 8 Feb 2017 10:47:46 -0600
Received: from ([]) by ([]) with mapi id 15.00.1210.000; Wed, 8 Feb 2017 10:47:46 -0600
From: "Carl Moberg (camoberg)" <>
To: "" <>
Thread-Topic: Question on draft-ietf-netmod-yang-model-classification
Thread-Index: AdJycEnw/7BBgfqES8aIslF6yofdUQIsPb0AAc2CsIAAAYRTgA==
Date: Wed, 8 Feb 2017 16:47:46 +0000
Message-ID: <>
References: <067201d27270$a08cc790$e1a656b0$> <> <06fa01d28225$05a25050$10e6f0f0$>
In-Reply-To: <06fa01d28225$05a25050$10e6f0f0$>
Accept-Language: en-US
Content-Language: en-US
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: []
Content-Type: text/plain; charset="utf-8"
Content-ID: <>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
Archived-At: <>
Cc: "" <>, "" <>, "" <>, Dean Bogdanovic <>
Subject: Re: [netmod] Question on draft-ietf-netmod-yang-model-classification
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: NETMOD WG list <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Wed, 08 Feb 2017 16:47:50 -0000


 Inline below.

> On Feb 8, 2017, at 8:04 AM, Adrian Farrel <> wrote:
> Hi Dean,
> I've been processing your response and the continuing thread with you and Tianran.
>>> We've been trying to ensure that draft-wu-opsawg-service-model-explained is
>>> consistent with the latest version of
>>> draft-ietf-netmod-yang-model-classification. In discussions with Tianran a
>>> question has come up.
>>> In section 2 you have a nice definition of Network Service YANG Modules and
>>> this definition maps nicely to our definition of "service delivery models".
>>> Furthermore, your figure 1 shows Network Service YANG Modules on the
>>> interface between OSS/BSS and the various network services.
>>> We have further defined "customer service models" at a higher layer still. That
>>> is, on the interface to the customer. This (of course?) assumes that the
>>> OSS/BSS is not customer code :-)
>>> However, your discussion of Network Service YANG Modules in section 2.1
>>> seems slightly at odds, although this may be just ambiguity.
>>> For example, when you say, "Network Service YANG Modules describe the
>>> characteristics of a service, as agreed upon with consumers of that service,"
>>> this is not the same as, "This model is used in the discussion between a
>>> customer and a service provide to describe the characteristics of a service."
>>> That is, the former case could be arrived at after processing based on the
>>> latter case - processing that we have called "service orchestration" but might
>>> (of course) be what leads to the operator poking the OSS/BSS.
>> Adrian, I can see the ambiguity. The point of service module is to be consumed by
>> the customer and there can be some modifications of the service module to
>> adapt to the customer specifics.
> So far I agree with your email and therefore not with your document. The OSS/BSS is not, IMHO, a tool used by the customer.
> Please see Figure 3 in draft-wu-opsawg-service-model-explained-05.txt that shows the customer distinct from the OSS/BSS.

 IMHO figure 3 in the draft is what it says, an _example_ of a set of relationships between the constituent parts of a provisioning/activation system.

 In all real-world applications, customers are several layers above the “service orchestrator” and adjacent systems. But the YANG model nevertheless serves the purpose of describing the structure of the service for customer (outside the SP) or other consuming parties (e.g. the OSS/BSS teams).

>>> This might all be fine and good, but later in the same section you say "Network
>>> Service YANG Modules define service models to be consumed by external
>>> systems.
>>> These modules are commonly designed, developed and deployed by network
>>> infrastructure teams." And there you introduce two terms that are previously
>>> undefined and only server to add ambiguity. Specifically "external to what?" I
>>> could make and argument that the OSS is developed and deployed by network
>>> infrastructure teams, ad also that the OSS is external to the network itself.
>> Agree that external systems are not defined and this text has to be clarified. The
>> external systems can be OSS and BSS.
> If we relabelled our "Service Delivery Model" as "Network Service Model" would that be consistent?
> That is, in any case, to say that the OSS/BSS does not talk directly to the devices.

 I think that would help. And yes, the intent of “external” was to say “other than”, rather than “outside of the company” (or something like that).

>>> And, in between these two quoted pieces of text, you have...
>>>  As an example, the Network Service YANG Module defined in
>>>  [YANG-Data-Model-for-L3VPN-service-delivery] provides an abstract
>>>  model for Layer 3 IP VPN service configuration.
>> My question is where do you see the L3SM model
>> above or below OSS?
> Well, look at the figure in section 5 of draft-ietf-l3sm-l3vpn-service-model-19.txt
> It is logically higher, but OSS/BSS are not "in the flow" as they are legacy components in a softwarized world.
> However, per our pictures, OSS/BSS should use the same set of models/modules as used by the "service orchestrator”.

 This is a little different in different SPs. Many of them consider the RFS-style service definition as laid out in L3SM as something that is owned by the infratrstucture and ordered through the OSS/BSS layer (the order manager to be more precise).

>> Because there are some nuances in the service module, but at the end we
>> decided not to do sub classification
> Mutter, mutter.
> In the document, you talk about "network service modules" not "service modules" and only trim to "service module" in the text implying that you always actually mean "network service module”.

 We always mean “network service models”, there are many “service models” out there that have little or nothing to do with the network. And I would like to not go there :-)

>> one is the business and one technical service.
>> When i read the YANG-Data-Model-for-L3VPN-service-delivery, it looked to me
>> much more like a technical model, then the business model, as didn’t see SLA
>> definitions to track the business parameters of the service use.
> It is certainly not a business model and does not include SLAs. Other people have far more experience working on these things (TMF, MEF, ...) and it is not an IETF core competence. Our intention is that our module can be augmented or accompanied by other modules in order to create a business model, acknowledging that commercial details (even including SLAs) will vary from one operator to another, but that the core technical description of the service can be (and, it turns out, is) common across multiple providers.
> We even wrote text in Section 5 of draft-wu-opsawg-service-model-explained to help with this.
>>> Per my other email, this reference needs to be fixed. But I struggle to see the
>>> L3SM module as consistent with your figure. It may or may not be consistent
>>> with your text dependent on the interpretation.
>> Sure, we can fix that reference, but the authors of L3SM module should do their
>> own module classification, as they are the only ones that know the intent of the
>> module.
> That is fine. They can classify it, and they can use your classification system, but only if it can be understood, is meaningful, and fits what they are trying to achieve :-)
> Your text currently says
>   As an example, the Network Service YANG Module defined in
>   [YANG-Data-Model-for-L3VPN-service-delivery] provides an abstract
>   model for Layer 3 IP VPN service configuration.
> Your text and figures show "Network Service YANG Module" as being something that the OSS/BSS talks (presumably toward a network orchestrator?). Thus the L3SM module does not fit here. And that is why we wrote draft-wu-opsawg-service-model-explained and included Figure 4 to augment your figure.

 Figure 4 also seems like an _example_ of how one could structure the layers. Personally I have never seen an implementation of a clear split between "Network Service YANG Modules” and "Service YANG Modules”. That’s why we wanted to stay clear of that discussion until there is experience telling us that this is indeed best practice.

> And *finally*, Tianran is concerned that there may be confusion arising from whether the module we reference are "Network service modules", "service delivery modules", "network configuration modules", "network element modules", or "device configuration modules". So many terms, but presumably these modules don't fit into all of the categories! The list is:
> [I-D.dhjain-bess-bgp-l3vpn-yang]

   There are two parts of the BGP L3VPN yang data model.  The first part
   of the model defines VRF specific parameters for L3VPN by augmenting
   the routing-instance container defined in the routing model [I-
   D.ietf-netmod-routing-cfg] and the second part of the model defines
   BGP specific parameters for the L3VPN by augmenting the base BGP data
   model defined in [I-D.shaikh-idr-bgp-model].

 and it’s importing ietf-routing, ietf-interfaces, ietf-interfaces augmenting /rt:routing/ and /if:interfaces/.

From draft-ietf-netmod-yang-model-classification:

   Network Element YANG Modules describe the characteristics of a
   network device as defined by the vendor of that device.  The modules
   are commonly structured around features of the device, e.g. interface
   configuration [RFC7223], OSPF configuration […]

 I would say that ietf-bgp-l3vpn@2016-02-22.yang is a network element YANG module.

> [I-D.ietf-bess-l2vpn-yang]

   In this version of the document, one single container, l2vpn, is
   defined.  Within the l2vpn container, endpoint-a, endpoint-z and a
   list of endpoints are defined. […]

From draft-ietf-netmod-yang-model-classification:

   That is, a
   service module does not expose the detailed configuration parameters
   of all participating network elements and features, but describes an
   abstract model that allows instances of the service to be decomposed
   into instance data according to the Network Element YANG Modules of
   the participating network elements.

 I would say that ietf-l2vpn@2016-10-24.yang is a network service YANG module.

> [I-D.ietf-bess-evpn-yang]

 This draft contains two modules:
 - ietf-ethernet-segment@2016-07-08.yang
 - ietf-evpn@2016-07-08.yang

 Reading the first paragraph of section 3.1 “Overview”

      Two top level module, Ethernet-Segment and EVPN, are defined. The
   Ethernet-Segment contains a list of interface to which any Ethernet-
   Segment attributes are configured/applied.

 …and understanding that the list of interfaces can be located on different network elements, makes me think that these two modules are both examples of network device YANG modules.

> I wonder what type of module you think these are.
> Cheers,
> Adrian