Internet DRAFT - draft-xjz-nfv-model-datamodel

draft-xjz-nfv-model-datamodel



Internet Working Group                                          W. Xu
                                                             Y. Jiang
                                                              C. Zhou
                                                               Huawei
Internet Draft

Intended status: Standards Track

Expires: August 2014                                 February 14, 2014



              Data Models for Network Functions Virtualization
                    draft-xjz-nfv-model-datamodel-02.txt


Status of this Memo

   This Internet-Draft is submitted to IETF in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups.  Note that
   other groups may also distribute working documents as Internet-Drafts.

   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."

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/ietf/1id-abstracts.txt

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html

   This Internet-Draft will expire on July 14, 2014.

Copyright Notice

   Copyright (c) 2014 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
   (http://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



Xu, et al              Expires August 14, 2014                [Page 1]

Internet-Draft           Data Models for NFV             February 2014


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

Abstract

   This document provides some YANG data models for Network Functions
   Virtualization (NFV).



Table of Contents

   1.   Introduction ............................................... 2
   2.   Conventions used in this document .......................... 2
   3.   Terminology ................................................ 3
   4.   Data Model of Virtual Network Function Descriptor (VNFD) ... 3
      4.1. VNFD Module Structure ................................... 4
      4.2. VNFD YANG Module ........................................ 5
   5.   VNF instance Data Model ................................... 10
      5.1. VNF instance Module Structure .......................... 10
      5.2. VNF instance YANG Module ............................... 11
   6.   Security Considerations ................................... 16
   7.   IANA Considerations ....................................... 16
   8.   References ................................................ 16
      8.1. Normative References ................................... 16
      8.2. Informative References ................................. 16
   9.   Contributors .............................................. 17
   10.  Acknowledgments ........................................... 17



1. Introduction

   YANG [RFC6020] is a data modeling language used to model
   configuration and state data manipulated by the Network Configuration
   Protocol (NETCONF) [RFC6241]. A small set of built-in data types are
   defined in [RFC6020], a collection of common data types are further
   defined in [RFC6991].

   This document defines a YANG data model for Network Functions
   Virtualization (NFV).

2. Conventions used in this document

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


                      Expires August 14, 2014                [Page 2]

Internet-Draft           Data Models for NFV             February 2014


3. Terminology

   Network Function (NF): A functional block (FB) within a network
   infrastructure which has well-defined external interfaces and well-
   defined functional behaviour.

   Virtual Machine (VM): a virtualized computation environment which
   behaves very much like a physical computer/server.

   Virtualised Network Function (VNF): An implementation of an
   executable software program that constitutes the whole or a part of
   an NF and can be deployed on a virtualisation infrastructure.

   Virtualised Network Function Component (VNFC): a single VNF which is
   hosted by a single VM is called a Virtual Network Function Component
   (VNFC).

   VNF Descriptor (VNFD): A configuration template that describes a VNF
   in terms of its deployment and operational behavior, and is used in
   the process of on-boarding and instantiating a VNF. The deployment
   behavior describes the NFV Infrastructure resources that a VNF
   instance requires whereas the operational behavior describes the VNF
   instance topology and VNF instance lifecycle operations.

   VNF Forwarding Graph: A graph specified by a Network Service Provider
   of bi-directional logical links connecting NF nodes where at least
   one node is a VNF through which network traffic is directed.

   VNF Instance: a run-time instantiation of the VNF, resulting from
   completing the instantiation of VNF, using the VNF deployment and
   operational information captured in the VNFD, as well as additional
   run-time instance-specific information and constraints.

   Virtualization Deployment Unit (VDU):  a construct that can be used
   in an information model, supporting the description of the deployment
   and operational behaviour of a subset of a VNF, or the entire VNF if
   it was not componentized in subsets.



4. Data Model of Virtual Network Function Descriptor (VNFD)



   The main objective of VNF modeling will include:




                      Expires August 14, 2014                [Page 3]

Internet-Draft           Data Models for NFV             February 2014


   - Basic VNF attributes: VNF name, function description, sharing or
   non-sharing attribute.

   - Deployment attributes: environment requirements of VNF deployment
   such as the number of VMs, virtual CPU, memory and disk requirements,
   image of each VM, and QoS requirements such as bandwidth and delay of
   VNF.

   - Interface attributes: external interface, such as interface type,
   configuration parameters of these interfaces.



4.1. VNFD Module Structure

      +--rw VNF-descriptor

         +--rw general-information

         |  +--rw name?          string

         |  +--rw description?   string

         |  +--rw vendor?        string

         |  +--rw version?       uint8

         |  +--rw sharing?       enumeration

         +--rw deploy-information

         |  +--rw virtualization-deployment-unit* [index]

         |     +--rw index               uint16

         |     +--rw require-resource

         |     |  +--rw CPU-unit?      uint16

         |     |  +--rw memory-size?   uint64

         |     |  +--rw disk-size?     uint64

         |     +--rw image-ref?          string

         +--rw external-interface* [name]



                      Expires August 14, 2014                [Page 4]

Internet-Draft           Data Models for NFV             February 2014


            +--rw name    string





4.2. VNFD YANG Module



   module ietf-vnfd {



        namespace "urn:ietf:params:xml:ns:yang:ietf-vnfd";

        prefix vnfd;



        organization "Huawei Technologies";

        contact "Yuanlong Jiang

                <mailto:jiangyuanlong@huawei.com>

              Weiping Xu

                <mailto:xuweiping@huawei.com>

              Cathy Zhou

                <mailto:cathy.zhou@huawei.com>";



        description

          "This module contains a collection of YANG definitions for

           managing VNFD.

           Copyright (c) 2013 IETF Trust and the persons identified as

           authors of the code.  All rights reserved.




                      Expires August 14, 2014                [Page 5]

Internet-Draft           Data Models for NFV             February 2014


           Redistribution and use in source and binary forms, with or

           without modification, is permitted pursuant to, and subject

           to the license terms contained in, the Simplified BSD License

           set forth in Section 4.c of the IETF Trust's Legal Provisions

           Relating to IETF Documents

           (http://trustee.ietf.org/license-info).";



        revision 2014-01-03 {

             description

               "Initial revision.";

        }



        container VNF-descriptor {

          description "A configuration template that describes a VNF.";

          container general-information {

            description "General information of a VNF.";

            leaf name {

              type string;

              description "the name of this VNF.";

            }



            leaf description {

              type string;

              description "description of this VNF.";


                      Expires August 14, 2014                [Page 6]

Internet-Draft           Data Models for NFV             February 2014


            }



            leaf vendor {

              type string;

              description "the vendor generating this VNF.";

            }



            leaf version {

              type uint8;

              description "the version number.";

            }



            leaf sharing {

              type enumeration {

                enum non-sharing {

                  value "0";

                  description  "The VNF could not be shared by more than
   one consumer.";

                }



                enum sharing {

                  value "1";

                  description  "The VNF could be shared, such as virtual
   STB is shared by more than one consumer.";

                }


                      Expires August 14, 2014                [Page 7]

Internet-Draft           Data Models for NFV             February 2014


              }

              description "The flag shows whether the VNF could be
   shared by more than one consumer.";

            }

          }



          container deploy-information {

            description "VNF deployment information.";



            list virtualization-deployment-unit {

              key index;

              description "Used to store the deployment parameters of
   VNF.";



              leaf index {

                type uint16;

                description "the VDU index.";

              }



              container require-resource {

                description "The required source for the VNF.";

                leaf CPU-unit {

                  type uint16;

                  description "The virtual CPU unit numbers";

                }


                      Expires August 14, 2014                [Page 8]

Internet-Draft           Data Models for NFV             February 2014




                leaf memory-size {

                  type uint64;

                  description "The virtual memory size, unit:KByte.";

                }



                leaf disk-size {

                  type uint64;

                  description "The virtual disk size, unit:MByte.";

                }

              }



              leaf image-ref {

                type string;

                description "the software image associated with the
   VNF.";

              }

            }

          }



          list external-interface {

            key name;

            description "The interface connected to other VNF.";





                      Expires August 14, 2014                [Page 9]

Internet-Draft           Data Models for NFV             February 2014


            leaf name {

              type string;

                description "The interface name.";

            }

          }

        }

   }



5. VNF instance Data Model



      The main objective of VNF modeling will include:



      - Operational attributes: which defines the operational and

      management behavior, such as start, stop, pause, migration, etc.





5.1. VNF instance Module Structure



      The data model for VNF instance has the following structure:



   module: ietf-vnf-instance

      +--rw VNF-instance

         +--rw id?          uint32

         +--rw VNFD-name?   string


                      Expires August 14, 2014               [Page 10]

Internet-Draft           Data Models for NFV             February 2014


         +--rw operation

            +--rw action?      enumeration

            +--rw parameter

               +--rw (action)?

                  +--:(scale)

                  |  +--rw CPU-unit?               uint16

                  |  +--rw memory-size?            uint64

                  |  +--rw disk-size?              uint64

                  +--:(migration)

                     +--rw destination-location?   inet:ip-address







5.2. VNF instance YANG Module



   module ietf-vnf-instance {



        namespace "urn:ietf:params:xml:ns:yang:ietf-vnf-instance";



        prefix vnf;



        import ietf-inet-types { prefix inet; }



        organization "Huawei Technologies";


                      Expires August 14, 2014               [Page 11]

Internet-Draft           Data Models for NFV             February 2014


        contact "Yuanlong Jiang

                <mailto:jiangyuanlong@huawei.com>

              Weiping Xu

                <mailto:xuweiping@huawei.com>

              Cathy Zhou

                <mailto:cathy.zhou@huawei.com>";



        description

          "This module contains a collection of YANG definitions for

           managing VNF instance.



           Copyright (c) 2013 IETF Trust and the persons identified as

           authors of the code.  All rights reserved.



           Redistribution and use in source and binary forms, with or

           without modification, is permitted pursuant to, and subject

           to the license terms contained in, the Simplified BSD License

           set forth in Section 4.c of the IETF Trust's Legal Provisions

           Relating to IETF Documents

           (http://trustee.ietf.org/license-info).";



        revision 2014-01-03 {

             description

               "Initial revision.";


                      Expires August 14, 2014               [Page 12]

Internet-Draft           Data Models for NFV             February 2014


        }





        container VNF-instance {

          description "VNF instance.";



          leaf id {

            type uint32;

            description "the instance id.";

          }



          leaf VNFD-name {

            type string;

            description "the name of VNF descriptor.";

          }





          container operation {

            description "Performing an operation on VNF.";



            leaf action {

              type enumeration {

                enum start {

                  description "Start a VNF instance.";


                      Expires August 14, 2014               [Page 13]

Internet-Draft           Data Models for NFV             February 2014


                }

                enum stop {

                  description "Stop a VNF instance.";

                }

                enum pause {

                  description "Pause a VNF instance.";

                }

                enum migrate {

                  description "Pause a VNF instance.";

                }

                enum scale-up {

                  description "Add resource to a VNF instance.";

                }

                enum scale-down {

                  description "Add resource to a VNF instance.";

                }

              }



              description "The operation on VNF";

            }



            container parameter {

              description "The parameters that associated with scale
   procedure.";



                      Expires August 14, 2014               [Page 14]

Internet-Draft           Data Models for NFV             February 2014




              choice action {

                description "Different parameter with different action.";

                case scale {

                  leaf CPU-unit {

                    type uint16;

                    description "The virtual CPU unit numbers";

                  }



                  leaf memory-size {

                    type uint64;

                    description "The virtual memory size, unit:KByte.";

                  }

                  leaf disk-size {

                    type uint64;

                    description "The virtual disk size, unit:MByte.";

                  }

                }

                case migration {

                  leaf destination-location {

                    type inet:ip-address;

                    description "The ip address of the destination
   location.";

                  }



                      Expires August 14, 2014               [Page 15]

Internet-Draft           Data Models for NFV             February 2014


                }

              }

            }

          }

        }

   }



6. Security Considerations

   TBD.

7. IANA Considerations

   TBD.



8. References

8.1.  Normative References

   [RFC6020] Schoenwaelder,J., RFC 6020, YANG - A Data Modeling Language
             for the Network Configuration Protocol (NETCONF), 2010

   [RFC6991] Schoenwaelder,J.,RFC 6991, Common YANG Data Types, 2013

8.2. Informative References

   [GS-002]  ETSI GS NFV 002, Network Functions Virtualisation (NFV) -
             Architectural Framework, 2013

   [GS-003]  ETSI GS NFV 003, Network Functions Virtualisation (NFV) -
             Terminology for Main Concepts in NFV, 2013

   [GS-MANO] ETSI ISG NFV, "Network Function Virtualization (NFV)
             Management and Orchestration", NFV-MAN001v020 (work in
             progress), January 2014

   Xu, W., Jiang, Y., Zhou, C., draft-xjz-nfv-model-problem-statement-00,
             Work in progress, 2013


                      Expires August 14, 2014               [Page 16]

Internet-Draft           Data Models for NFV             February 2014


9.  Contributors

   The authors would like to thank Mehmet Ersue who made a contribution
   to this document.

   Mehmet Ersue
   mehmet.ersue@nsn.com


10.  Acknowledgments

   The authors would like to thank Min Zha for his valuable discussions.


Authors' Addresses


   Weiping Xu
   Huawei Technologies Co., Ltd.
   Bantian, Longgang district
   Shenzhen 518129, China
   Email: xuweiping@huawei.com


   Yuanlong Jiang
   Huawei Technologies Co., Ltd.
   Bantian, Longgang district
   Shenzhen 518129, China
   Email: jiangyuanlong@huawei.com


   Cathy Zhou
   Huawei Technologies Co., Ltd.
   Bantian, Longgang district
   Shenzhen 518129, China
   Email: cathy.zhou@huawei.com













                      Expires August 14, 2014               [Page 17]