Network Working Group                                          D. Shytyi
Internet-Draft                                                L. Beylier
Intended status: Informational                                SFR/ALTICE
Expires: March 7, 2020                                        L. IANNONE
                                                       Telecom ParisTech
                                                       September 4, 2019


                Virtualization YANG Servise Model (VYSM)
                      draft-shytyi-netmod-vysm-02

Abstract

   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.

Status of This Memo

   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 March 7, 2020.

Copyright Notice

   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




Shytyi, et al.            Expires March 7, 2020                 [Page 1]


Internet-Draft  Virtualization Yang Service Model (VYSM)  September 2019


   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Terminology . . . . . . . . . . . . . . . . . . . . . . . . .   2
   3.  Universal CPE . . . . . . . . . . . . . . . . . . . . . . . .   3
   4.  Virtual Network Function YANG Service Model . . . . . . . . .   3
   5.  VNF YANG Service Model tree diagram overview  . . . . . . . .   4
   6.  Specification of the VNF YANG Service Model . . . . . . . . .   5
   7.  Security Considerations . . . . . . . . . . . . . . . . . . .   9
   8.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   9
   9.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .   9
   10. Normative References  . . . . . . . . . . . . . . . . . . . .  10
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  10

1.  Introduction

   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.

2.  Terminology

   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 [RFC2119].

   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.






Shytyi, et al.            Expires March 7, 2020                 [Page 2]


Internet-Draft  Virtualization Yang Service Model (VYSM)  September 2019


3.  Universal CPE

   Firstly, this document defines the platform that is controlled with
   VYSM - universal CPE (uCPE).  The uCPE as harware with x86
   capabilities that is generally 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   |




4.  Virtual Network Function YANG Service Model

   Secondly, this document defines and classifies the VYSM as Network
   Service YANG Module(NSYM) layer component RFC 8199 [RFC8199].  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 [RFC8199].  Example of the
   decomposition is presented in the figure below.

   The Network Service YANG module exposes the configuration commands
   via the Northbound interfaces of the orchestrator.  Therefore the set
   of the commands modeled in the VYSM can be inputed via Notrhbound
   interfaces(for example CLI).  In the example the command "vm VNF1" is
   passed via Northbound 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"



Shytyi, et al.            Expires March 7, 2020                 [Page 3]


Internet-Draft  Virtualization Yang Service Model (VYSM)  September 2019


                                +-+-+-+-+-+-+-+-+-+
                                |                 |
                                |  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|
   ++-+-+-+-+-+-+-+-+-+-+  -+-+-+-++-+-+-+-+-+-+-+-+-  +-+-+-+-+-+-+-+-+



5.  VNF YANG Service Model tree diagram overview

   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.















Shytyi, et al.            Expires March 7, 2020                 [Page 4]


Internet-Draft  Virtualization Yang Service Model (VYSM)  September 2019


              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
                      +--rw day0-config
                         +--rw location?        string
                         +--rw day0-var-path?   string
                         +--rw variable* [name]
                            +--rw name     string
                            +--rw value?   string


6.  Specification of the VNF YANG Service Model

   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



Shytyi, et al.            Expires March 7, 2020                 [Page 5]


Internet-Draft  Virtualization Yang Service Model (VYSM)  September 2019


                 "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";
                         }



Shytyi, et al.            Expires March 7, 2020                 [Page 6]


Internet-Draft  Virtualization Yang Service Model (VYSM)  September 2019


                         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";
                 }



Shytyi, et al.            Expires March 7, 2020                 [Page 7]


Internet-Draft  Virtualization Yang Service Model (VYSM)  September 2019


                 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";
                 }
                 container day0-config{
                       leaf location{
                         type string;



Shytyi, et al.            Expires March 7, 2020                 [Page 8]


Internet-Draft  Virtualization Yang Service Model (VYSM)  September 2019


                         description "0day configuration location";
                       }
                       leaf day0-var-path{
                         type string;
                         description "path of the file that contains the
                         0day variables";
                       }
                       list variable{
                         key name;
                         leaf name{
                           type string;
                           description "variable name";
                         }
                         leaf value{
                           type string;
                           description "variable value";
                           }
                       description "list of variables";
                       }
                       description "0day configuration:init config";

                 }
                 description "Set of the Virtual Machines configured
                 on the universal Customer-Premises Equipment";
         }
         description "This is an RFS skeleton service";
   }
   }
 }
 <CODE ENDS>


7.  Security Considerations

   At this time, no security considerations are addressed by this memo.

8.  IANA Considerations

   No request to IANA at this time.

9.  Acknowledgements

   At this time, no acknowledgements are addressed by this memo.








Shytyi, et al.            Expires March 7, 2020                 [Page 9]


Internet-Draft  Virtualization Yang Service Model (VYSM)  September 2019


10.  Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119,
              DOI 10.17487/RFC2119, March 1997,
              <https://www.rfc-editor.org/info/rfc2119>.

   [RFC8199]  Bogdanovic, D., Claise, B., and C. Moberg, "YANG Module
              Classification", RFC 8199, DOI 10.17487/RFC8199, July
              2017, <https://www.rfc-editor.org/info/rfc8199>.

Authors' Addresses

   Dmytro Shytyi
   SFR/ALTICE
   Paris area , Ile-de-France
   France

   Email: ietf.dmytro@shytyi.net
   URI:   http://dmytro.shytyi.net


   Laurent Beylier
   SFR/ALTICE
   Paris area , Ile-de-France
   France


   LUIGI IANNONE
   Telecom ParisTech
   Paris , Ile-de-France
   France



















Shytyi, et al.            Expires March 7, 2020                [Page 10]