Network Working Group | D. Shytyi |
Internet-Draft | L. Beylier |
Intended status: Informational | SFR/ALTICE |
Expires: September 29, 2019 | L. IANNONE |
Telecom ParisTech | |
March 28, 2019 |
Virtualization YANG Servise Model (VYSM)
draft-shytyi-netmod-vysm-01.txt
This document provides a specification of the Virtual Network Functions YANG Service Model (VYSM). The VNF YANG Service Model serves as a base framework for managing an universal Customer-Premises Equipment (uCPE) NFV subsystem from the Orchestrator.
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."
This Internet-Draft will expire on September 29, 2019.
Copyright (c) 2019 IETF Trust and the persons identified as the document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.
Network Function Virtualization is a technology that allows to virtualize the network services running on dedicaded hardware. This technology became a base for universal Customer-Premises Equipment(uCPE). This document defines the uCPE as harware with x86 capabilities (whitebox or greybox) that has a hypervisor. In other words, uCPE is a host that may run multiple Virtual Machines with guest OSs, where each Guest OS may represent a Physical Network Function. This document presents the VNF YANG Service Model (VYSM) to manage from an Orchestrator the Network Function Virtualization Infrastructure inside the uCPE.
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119.
Link - is an entity that enables link layer communication of nodes.
Port - node connector to the link.
NE - Network Element.
NSYM - Network Service Yang Module.
VYSM - VNF YANG Service Model.
Firstly, this document defines the platform that is controlled with VYSM - universal CPE (uCPE). The uCPE as harware with x86 capabilities that is running Linux distibution with additinal virtualisation layer. Virtualization layer provides virtual compute, virtual storage and virtual network resources. Each VNF runnning in the uCPE requires the amount of virtual resources (for example: 4 vCPUs, 4GB RAM, 40GB storege, 4 vPorts). VNFs MAY be interconnected between each other and physical ports via Virtual Networks. The figure below presents the uCPE architecture.
----------------------------------------|-------------- VNF1 VNF2 VNF3 | ----------------------------------------| Virtual Virtual Virtual | uCPE software Compute Storage Networks| ----------------------------------------|--------------- PHY x86 RAM+PHY PHYsical| uCPE Hardware processor storage ports |
Secondly, this document defines and classifies the VYSM as Network Service YANG Module(NSYM) layer component RFC 8199. Thus it inherits the characteristics of the NSYM Layer. VYSM is a modeled representation of the specific service requirements. It provides abstraction of services configuration and operations that MAY be implemented in Network Elemets(NEs). Thus VYSM does not describe all configuration to be performed on the devices, but provides the configuration that is required for the "Network Service to Network Element(s)" decomposition process RFC 8199. Example of the decomposition is presented in the figure below.
The Network Service YANG module exposes the configuration commands via the Southbound interfaces of the orchestrator. Therefore the set of the commands modeled in the VYSM can be inputed via Southbound interfaces(for example CLI). In the example the command "vm VNF1" is passed via Southbound interface to the orchestrator. It defines the virtual machine name. Further the same configuration MAY be transormed to the one or multiple Network Element payloads (for example xml for NETCONF) that carry an equivalent of commands such as "nf nf-name VNF1"
@@@@@@@@@@@@@@@@@@@ @ @ @ config t @ @ vm VNF1 @ @@@@@@@@@@@@@@@@@@@ , , :@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@, : , : @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ , : @ Network Service YANG Module @ , : @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ , : # , : ############################## orchestrator , : # # # , : '---------' '------------' '-----------' , : 'Module1 ' ' Module 2 ' ' Module3 ' <= Network Element , : '---------' '------------' '-----------' YANG Modules , : + + + , : + + +++++++++++++++++++++ , : +++++ ++++++++++++++++++ + , : + + + , :@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@, + # @ Network + element 1 Network # element 2 Network @ element3 @@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@ @domains domain VNF1@ @tenants tenant name VNF1@ @ nf nf-name VNF1@ @@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@
This section provides an overview of the VNF Service YANG Model (VSYM) that MAY be made with "pyang" utility. The figure below presents the tree diagram of VYSM.
module: ietf-vysm +--rw virtualization* [name] +--rw name string +--rw device* string +--rw links* [link] | +--rw link string +--rw interfaces* [interface] | +--rw interface string | +--rw ports* [port] | +--rw port string | +--rw link? -> ../../../links/link +--rw switches* [switch] | +--rw switch string | +--rw ports* [port] | +--rw port string | +--rw name? string | +--rw link? -> ../../../links/link +--rw vms* [vm] +--rw vm string +--rw ports* [port] | +--rw port string | +--rw name? string | +--rw link? -> ../../../links/link +--rw ram? string +--rw cpu? string +--rw storages* [id] +--rw id string +--rw location? string
This section presents the specification of the VYSM.
<CODE BEGINS> file "ietf-vysm@2018-07-01.yang" module ietf-vysm { namespace "urn:ietf:params:xml:ns:yang:ietf-vysm"; prefix ietf-vysm; organization "SFR/ALTICE"; contact "Dmytro Shytyi EMail:ietf.dmytro@shytyi.net"; description "This is a Network Function Virtualization (NFV) YANG service model."; revision 2018-07-01 { description "Initial revision."; reference "draft-shytyi-netmod-vysm-01"; } list virtualization { key name; leaf name { type string; description "Name of the instance of the service"; } // may replace this with other ways of refering to the devices. leaf-list device { type string; description "List of the devices in available in the orchestrator"; } list links{ key link; leaf link{ type string; description "Name of the virtual link from the pool of the links"; } description "Pool of the virtual links that connect VMs and Interfaces"; } list interfaces{ key interface; leaf interface{ type string; description "Name of physical interface"; } list ports{ key port; leaf port{ type string; description "Name of the connector"; } leaf link{ type leafref{ path "../../../links/link"; } description "Link that is connected to the port via connector"; } description "Set of the connectors the physical interface has"; } description "Set of physical interfaces"; } list switches{ key switch; leaf switch{ type string; description "Name of the forwarding domain"; } list ports{ key port; leaf port{ type string; description "Name of the connector"; } leaf name{ type string; description "Name of the subconnector"; } leaf link{ type leafref{ path "../../../links/link"; } description "Link that is connected to the switch via port"; } description "Set of the connectors the forwarding domain has"; } description "Set of the forwarding domains"; } list vms{ key vm; leaf vm{ type string; description "Name of the Virtual Machine"; } list ports{ key port; leaf port{ type string; description "Name of the connector"; } leaf name{ type string; description "Name of the subconnector"; } leaf link{ type leafref{ path "../../../links/link"; } description "Link that connects the VM with a switch or Interface via connector"; } description "Set of Virtual Machine connectors"; } leaf ram{ type string; description "Amount of memory to allocate for the Guest OS"; } leaf cpu{ type string; description "Amount of cpus to allocate for the Guest OS"; } list storages{ key id; leaf id{ type string; description "Name of the Storage"; } leaf location{ type string; description "External location where the image is saved."; } description "Virtual storge of the image for the Virtual Machine"; } description "Set of the Virtual Machines configured on the universal Customer-Premises Equipment"; } description "This is an RFS skeleton service"; } } } <CODE ENDS>
At this time, no security considerations are addressed by this memo.
No request to IANA at this time.
At this time, no acknowledgements are addressed by this memo.
[RFC2119] | Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997. |
[RFC8199] | Bogdanovic, D., Claise, B. and C. Moberg, "YANG Module Classification", RFC 8199, DOI 10.17487/RFC8199, July 2017. |