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]