Re: [Ibnemo] service based intent

Zhoutianran <zhoutianran@huawei.com> Fri, 16 October 2015 10:02 UTC

Return-Path: <zhoutianran@huawei.com>
X-Original-To: ibnemo@ietfa.amsl.com
Delivered-To: ibnemo@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 50EB71A004E for <ibnemo@ietfa.amsl.com>; Fri, 16 Oct 2015 03:02:15 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.61
X-Spam-Level:
X-Spam-Status: No, score=-3.61 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, J_CHICKENPOX_12=0.6, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] 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 Xb8qCqs8C-xG for <ibnemo@ietfa.amsl.com>; Fri, 16 Oct 2015 03:02:08 -0700 (PDT)
Received: from lhrrgout.huawei.com (lhrrgout.huawei.com [194.213.3.17]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id C3AB31A0158 for <ibnemo@ietf.org>; Fri, 16 Oct 2015 03:02:07 -0700 (PDT)
Received: from 172.18.7.190 (EHLO lhreml404-hub.china.huawei.com) ([172.18.7.190]) by lhrrg01-dlp.huawei.com (MOS 4.3.7-GA FastPath queued) with ESMTP id CCQ00698; Fri, 16 Oct 2015 10:02:03 +0000 (GMT)
Received: from NKGEML404-HUB.china.huawei.com (10.98.56.35) by lhreml404-hub.china.huawei.com (10.201.5.218) with Microsoft SMTP Server (TLS) id 14.3.235.1; Fri, 16 Oct 2015 11:02:01 +0100
Received: from NKGEML512-MBX.china.huawei.com ([169.254.7.203]) by nkgeml404-hub.china.huawei.com ([10.98.56.35]) with mapi id 14.03.0235.001; Fri, 16 Oct 2015 18:01:58 +0800
From: Zhoutianran <zhoutianran@huawei.com>
To: Susan Hares <shares@ndzh.com>, "ibnemo@ietf.org" <ibnemo@ietf.org>
Thread-Topic: service based intent
Thread-Index: AdEGaY5x7K1ZMvNqQMSG+MSLkrTEswBjY9Zw
Date: Fri, 16 Oct 2015 10:01:57 +0000
Message-ID: <BBA82579FD347748BEADC4C445EA0F218315A701@nkgeml512-mbx.china.huawei.com>
References: <001401d1068a$d204abb0$760e0310$@ndzh.com>
In-Reply-To: <001401d1068a$d204abb0$760e0310$@ndzh.com>
Accept-Language: zh-CN, en-US
Content-Language: zh-CN
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.111.156.116]
Content-Type: multipart/alternative; boundary="_000_BBA82579FD347748BEADC4C445EA0F218315A701nkgeml512mbxchi_"
MIME-Version: 1.0
X-CFilter-Loop: Reflected
Archived-At: <http://mailarchive.ietf.org/arch/msg/ibnemo/ELOrtByismjiYI4buv_uTWp4Mcw>
Subject: Re: [Ibnemo] service based intent
X-BeenThere: ibnemo@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "Discussion of Nemo, an intent-based North Bound \(NB\) interface consisting of an application protocol running over HTTP \(RESTful interfaces\) to exchange intent-based primitives between applications and meta-controllers controlling virtual network resources \(networks, storage, CPU\)." <ibnemo.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ibnemo>, <mailto:ibnemo-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ibnemo/>
List-Help: <mailto:ibnemo-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ibnemo>, <mailto:ibnemo-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 16 Oct 2015 10:02:15 -0000

Hi Sue,

You raised a very interesting topic.
In the NEMO implementation in ODL, we have some embedded types for Node and Connection.
For example, we will have point to point, point to multi point, and mesh connections with QoS and bandwidth properties.
But NEMO language and engine enable the dynamic import of new models.
The L3VPN type you shown in the case is a very good example. And I think many other models developed by IETF can also be used by NEMO language to express the service intent.
The NEMO language could be the glue to connect many models, and instantiate services, apply policies.

WRT your question on the model expression, whether to support hierarchy. It depend on the demand from use cases, as the intent is going to be simple can clear. I current implementation we do not support unfortunately, because that will increase the complexity.
But it's a very good discussion point that

1.  whether we really need this?

2.  Whether we can find a elegant way to express the hierarchy.

I really look forward to your comments and suggestions.

Thanks,
Tianran

From: Susan Hares [mailto:shares@ndzh.com]
Sent: Wednesday, October 14, 2015 10:16 PM
To: ibnemo@ietf.org
Cc: 'PEDRO ANDRES ARANDA GUTIERREZ'; Zhoutianran; 'Bert Wijnen (IETF)'
Subject: service based intent

Hi all:

I could really use some help this week on service-based intent as I'm trying to link service-based intent to the various service modes.  At IETF 93, we described the application expressing their service level needs at a service level by expressing the service needs, and letting the Intent based work negotiate the service.

I would like to explore how this works for five different types of services:  L3VPN, L2VPN, and EVPN, Cable-network services, B-2B. However, let me start with the L3VPN which has an IETF service level description (draft-ietf-l3sm-l3vpn-service-model-01) or
https://tools.ietf.org/pdf/draft-ietf-l3sm-l3vpn-service-model-01.pdf.   See the bottom of the page for the diagram of an L3VPN network.

L3SM
The L3VPN Service model limits is description to BGP PE-Based VPNs as described in [RFC4110] and [RFC4364].  The L3SM model is input to the orchestration system shown in the diagram below this text.  The L3SM provides two top level information:


1)      vpn-svc [name]

2)      sites* [site-id]

vpn-svc [name] list  has the following components per service:

*        name, id, customer-name, topology id, cloud access, mpls, multicast tree
sites [id] list has the following components per site:

*        Site-id

*        Apply-template (yes/no)

*        site level parameters [start/stop service time, location, site diversity, availability, management, vpn policies, maximum number of routes,  management, VPN policies,  customer-info, security, physical attachment (aka bearer), service parameters (bandwidth in/out, QOS, traffic protection, mpls, protocols-run), site templates

An example from draft-ietf-l3sm-l3vpn-service-model-01 is:
<vpn-svc>
<name>ZKITYHJ054687</name>
<id>12456487</id>
<customer-name>CUSTOMER_1</customer-name>
<topology>any-to-any</topology>
<cloud-access>
<cloud-identifier>51</cloud-identifier>
<nat-enabled>true</nat-enabled>
<nat-address>1.1.1.1</nat-address>
</cloud-access>
</vpn-svc>

IB-Nemo Intent to Create this L3SM

Concept: IBNemo - would have the sites become nodes with specific EndNodes as the end nodes at each site.   The L3VPN would be created by the following statement:

Create Connection ZKITYHJ054687
           Type  L3SM
           EndNodes <site_1> <site_2> <site_3> ... <site_n>
           Property  id: 1245487; customer-name: Customer1; topology: any-to-any;
                           cloud-access-cloud-identifier: 51;
                           cloud-access-nat-enabled: true;
                           cloud-access-nat-address: 1.1.1.1;
                                mpls-signaling-type:  BGP;
                           multicast-tree: SSM;

The problem is that one would like hierarchy in the property so that one can give cloud access the following type of syntax:
           Create Property  cloud-access [id]  {
                   identifier: 51;
                 nat-enabled: true;
                 nat-address: 1.1.1.1;
          }

Is this possible with Nemo properties?

This would shorten the definition to:
           Create Connection ZKITYHJ054687
           Type  L3SM
           EndNodes <site_1> <site_2> <site_3> ... <site_n>
           Property  id: 1245487;
                           customer-name: Customer1;
                           topology: any-to-any;
                           cloud-access: 51;
                                mpls-signaling-type:  BGP;
                           multicast-tree: SSM;

Thank you.


Background info
------------------


The sites is a list of sites where each site has the following information:

*        Site-id

*        Apply-template (yes/no)

*        site level parameters:

o   Requested start/stop

o   Actual start/stop

o   Location: address, zip, city, country code,

o   Site diversity - (type, site-group)

o   Availability (Availability type (service-type, access-type), Loadsharing: type)

o   Management: Type, transport, address

o   VPN policies

o   Maximum number of routes

o   Customer specified information

o   Security (apply template, authentication, encryption)

o   Attachment (apply template, bearer, ip-connection)

o   Service (apply template, Bandwidth In, Bandwith out, svc-mtu, QOS, traffic protection, mpls, multicast, prototype type)

o   Site-templates

ASCII diagram for L3VPN-SVC Model

L3VPN-SVC |
   MODEL  |
          |
     +------------------+         +-----+
     | Orchestration    | < --- > | OSS |
     +------------------+         +-----+
     |             |
+----------------+ |
| Config manager | |
+----------------+ |
|                  |
|     Netconf/CLI ...
|                  |
+------------------------------------------------+
Network
+++++++
+ AAA +
+++++++


+++++++ Bearer  ++++++++     ++++++++       +++++++
+ CEA + ------- + PE A +     + PE B + ----- + CEB +
+++++++ Cnct    ++++++++     ++++++++       +++++++
Site A                                Site B