Internet DRAFT - draft-xjz-opsawg-nfvmodel
draft-xjz-opsawg-nfvmodel
Internet Working Group W. Xu
Y. Jiang
C. Zhou
Huawei
Internet Draft
Intended status: Standards Track
Expires: January 2015 July 4, 2014
Data Models for Network Functions Virtualization
draft-xjz-opsawg-nfvmodel-00.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 January 4, 2015.
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 January 4, 2015 [Page 1]
Internet-Draft NFV Data Models July 2014
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Abstract
Network Functions Virtualisation (NFV) is a technology of
virtualizing network functionalities. In NFV management and
orchestration a flexible model is needed for the description of its
information elements. This document provides some YANG data models
for Network Functions Virtualization (NFV).
Table of Contents
1. Introduction .............................................. 3
2. Conventions used in this document ......................... 3
3. Terminology ............................................... 3
4. The Design of the VNF Data Model .......................... 4
5. Data Model of Virtualization Deployment Unit (VDU) ........ 4
5.1. VDU Module Structure ................................... 5
5.2. VDU YANG Module ........................................ 6
6. Data Model of Deployment Flavor .......................... 15
6.1. Deployment Flavor Module Structure .................... 15
6.2. Deployment Flavor YANG Module ......................... 15
7. Data Model of Virtual Link Descriptor (VLD) .............. 19
7.1. VLD Module Structure .................................. 19
7.2. VLD YANG Module ....................................... 19
8. Data Model of Virtual Network Function Descriptor (VNFD) . 23
8.1. VNFD Module Structure ................................. 23
8.2. VNFD YANG Module ...................................... 25
9. Data Model of Virtual Network Function instantiation(VNFI) 35
5.1. VNF instance Module Structure ......................... 35
5.2. VNF instance YANG Module .............................. 35
10. Security Considerations .................................. 41
11. IANA Considerations ...................................... 41
12. References ............................................... 41
12.1. Normative References ............................... 41
12.2. Informative References ............................. 41
13. Contributors ............................................. 42
14. Acknowledgments .......................................... 42
Expires January 4,2015 [Page 2]
Internet-Draft NFV Data Models July 2014
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].
Network Functions Virtualisation (NFV), is a technology initiated in
ETSI, which tries to define a standard way for some network
equipments to be virtualized in COTS IT servers, switches and storage.
Therefore, with the introduction of the NFV technology, the
traditional physical network device could be implemented using the
Virtualized Network Function (VNF).
In NFV management and orchestration a flexible model is needed for
the description of its information elements. This document defines a
YANG data model for Network Functions Virtualization (NFV). Most of
the concepts in this document are borrowed from [GS-002], [GS-003]
and [GS-MANO], and they may be changed as the work is still in
progress.
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].
3. Terminology
Network Function (NF): is a functional building block within an
operator's network infrastructure, which has well defined external
interfaces and a well defined functional behaviour.
Virtual Machine (VM): a virtualized computation environment which
behaves very much like a physical computer/server.
Virtualised Network Function (VNF): is a network function that has
been virtualized and can be offered as a network service or be part
of a service comprised of a set of virtualized network functions
and/or non-virtualized network functions.
VNF Descriptor (VNFD): A configuration template that describes a VNF
in terms of its deployment and operational behaviour, and is used in
Expires January 4,2015 [Page 3]
Internet-Draft NFV Data Models July 2014
the process of VNF on-boarding and managing the lifecycle of a VNF
instance
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. The Design of the VNF Data Model
The data model for VNFDs presented in this document uses a list of
VNFDs. Each VNFD in the list is identified by its id.
A VNFD include a list of Deployment Flavour (DF). This property is
achieved by ''leafref'' to a template of deployment flavor, which
other YANG modules should used when they need to reference a
deployment flavor.
A Deployment Flavour include a list of Virtualization Deployment
Unit(VDU).
A VNFD also include a list of connection points, each of which
describes an external interface exposed by this VNF. Furthermore,
connection points should be attached to a Virtual Link upon VNF
initialization. This procedure is attained by ''leafref'' to a template
of Virtual Link Descriptor (VLD).
VNFI describes the instantiation operation of a specific VNFD. A
''leafref'' was used to reference a VNFD in the data model for VNFI.
5. Data Model of Virtualization Deployment Unit (VDU)
VDU models the deployment and operational behavior of a subset of a
VNF instance, or the entire VNF instance if it was not componentized
in subsets.
It specifies various resource requirements, such as CPU, memory,
storage and etc. It can also specify the VNF operating behaviors,
which could be embedded in scripts when the VNF instance is
initialized, terminated or shut down.
Expires January 4,2015 [Page 4]
Internet-Draft NFV Data Models July 2014
5.1. VDU Module Structure
module: ietf-vdus
+--rw vdus
+--rw vdu* [id]
+--rw id yang:uuid
+--rw instance_num? string
+--rw vm_image? string
+--rw resource
| +--rw cpu
| | +--rw vCPU_num? uint32
| | +--rw vCPU_spec* [name]
| | +--rw name string
| | +--rw description? string
| | +--rw value? uint32
| +--rw memory
| | +--rw memory_size? uint32
| | +--rw memory_spec* [name]
| | +--rw name string
| | +--rw description? string
| | +--rw value? uint32
| +--rw disk
| | +--rw disk_size? uint32
| | +--rw disk_KQI* [name]
| | +--rw name string
Expires January 4,2015 [Page 5]
Internet-Draft NFV Data Models July 2014
| | +--rw description? string
| | +--rw value? uint32
| +--rw vnic
| +--rw vnic_num? uint32
+--rw workflow_script
+--rw init? string
+--rw terminate? string
+--rw graceful-shutdown? string
5.2. VDU YANG Module
module ietf-vdus {
namespace "urn:ietf:params:xml:ns:yang:ietf-vdus";
prefix "vdu";
import ietf-yang-types {
prefix yang;
}
organization "";
contact "TBD";
description
"This module defines a VNF Deployment Unit.
Copyright (c) 2014 IETF Trust and the persons
Expires January 4,2015 [Page 6]
Internet-Draft NFV Data Models July 2014
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).
This version of this YANG module is part of RFC XXXX; see
the RFC itself for full legal notices.";
revision "2014-05-18" {
description
"Initial version";
reference
"RFC XXXX";
}
container vdus {
description
"Vdus used in a vnfd";
list vdu {
Expires January 4,2015 [Page 7]
Internet-Draft NFV Data Models July 2014
key id;
description
"Vdu key";
leaf id {
type yang:uuid;
description
"VDU ID";
}
leaf instance-num {
type uint16;
description
"Number of instances of the said VDU which shall be
instantiated";
}
leaf vm-image {
type string;
description
"Reference to a VM image";
}
container resource {
Expires January 4,2015 [Page 8]
Internet-Draft NFV Data Models July 2014
description
"The required resource";
container cpu {
description
"The required computation resource";
leaf vCPU_num {
type uint32;
description
"The number of virtual CPU units";
}
list vCPU-spec {
key "name";
description
"Processor characteristics for the VDU";
leaf name {
type string;
description
"Name of vCPU-spec";
}
Expires January 4,2015 [Page 9]
Internet-Draft NFV Data Models July 2014
leaf description {
type string;
description
"Description of vCPU-spec";
}
leaf value {
type uint32;
description
"Value of vCPU-spec";
}
}
}
container memory {
description
"The required memory resource";
leaf memory_size {
type uint32;
description
"Memory size, unit:MBytes";
}
Expires January 4,2015 [Page 10]
Internet-Draft NFV Data Models July 2014
list memory-spec {
key name;
description
"Memory characteristics for the VDU";
leaf name {
type string;
description
"Name of memory-spec";
}
leaf description {
type string;
description
"Description of memory-spec";
}
leaf value {
type uint32;
description
"Value of memory-spec";
}
Expires January 4,2015 [Page 11]
Internet-Draft NFV Data Models July 2014
}
}
container disk {
description
"The required storage resource";
leaf disk-size {
type uint32;
description
"Virtual storage size, unit:MBytes";
}
list disk-KQI {
key name;
description
"Storage characteristics in the VDU";
leaf name {
type string;
description
"Name of disk-KQI";
}
Expires January 4,2015 [Page 12]
Internet-Draft NFV Data Models July 2014
leaf description {
type string;
description
"Description of disk-KQI";
}
leaf value {
type uint32;
description
"Value of disk-KQI";
}
}
}
container vnic {
description
"Virtual network interface card (vnic) resource";
leaf vnic-num {
type uint32;
description
"The total number of virtual vnic";
}
Expires January 4,2015 [Page 13]
Internet-Draft NFV Data Models July 2014
}
}
container workflow-script {
description
"VDU workflow script";
leaf init {
type string;
description
"VDU initialization script";
}
leaf terminate {
type string;
description
"VDU termination script";
}
leaf graceful-shutdown {
type string;
description
"VDU graceful shutdown script";
}
}
Expires January 4,2015 [Page 14]
Internet-Draft NFV Data Models July 2014
}
}
}
6. Data Model of Deployment Flavor
A deployment flavor is a template that describes a specific
deployment of a Virtualised Network Function supporting required
capacity and performance.
It refers to a set of VDUs which provide the deployment and
operational behavior.
6.1. Deployment Flavor Module Structure
module: ietf-dfs
+--rw dfs
+--rw df* [df-id]
+--rw df-id yang:uuid
+--rw license-info string
+--rw pricing_info string
+--rw vdu* [vdu-id]
+--rw vdu-id leafref
6.2. Deployment Flavor YANG Module
module ietf-dfs {
namespace "urn:ietf:params:xml:ns:yang:ietf-dfs";
Expires January 4,2015 [Page 15]
Internet-Draft NFV Data Models July 2014
prefix "df";
import ietf-yang-types {
prefix yang;
}
import ietf-vdus {
prefix vdu;
}
organization "";
contact "TBD";
description
"This module defines a deployment flavor descriptor.
Copyright (c) 2014 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
Expires January 4,2015 [Page 16]
Internet-Draft NFV Data Models July 2014
(http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC XXXX; see
the RFC itself for full legal notices.";
revision "2014-05-18" {
description
"Initial version";
reference "RFC XXXX";
}
container dfs {
description
"Deployment Flavors";
list df {
key df-id;
description
"Deployment flavor key";
leaf df-id {
type yang:uuid;
description
"Deployment flavor ID";
Expires January 4,2015 [Page 17]
Internet-Draft NFV Data Models July 2014
}
leaf license-info {
type string;
description
"Software licenses required for supporting this
deployment flavour.";
}
leaf pricing_info {
type string;
description
"Pricing information required for supporting this
deployment flavour.";
}
list vdu {
key vdu-id;
description
"Refer to a VDU used for this deployment flavor";
leaf vdu-id {
type leafref {
path "/vdu:vdus/vdu:vdu/vdu:id";
}
Expires January 4,2015 [Page 18]
Internet-Draft NFV Data Models July 2014
description
"Vdu ID";
}
}
}
}
}
7. Data Model of Virtual Link Descriptor (VLD)
VLD describes the resource requirements that are needed for a
virtualization link.
7.1. VLD Module Structure
module: ietf-vlds
+--rw vlds
+--rw vld* [id]
+--rw id yang:uuid
+--rw vendor? string
+--rw version? string
+--rw number_of_enpoints? uint32
+--rw virtual-link-type? enumeration
7.2. VLD YANG Module
module ietf-vlds {
Expires January 4,2015 [Page 19]
Internet-Draft NFV Data Models July 2014
namespace "urn:ietf:params:xml:ns:yang:ietf-vlds";
prefix "vld";
import ietf-yang-types {
prefix yang;
}
organization "";
contact "TBD";
description
"This module defines a virtual link descritor.
Copyright (c) 2014 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).
Expires January 4,2015 [Page 20]
Internet-Draft NFV Data Models July 2014
This version of this YANG module is part of RFC XXXX; see
the RFC itself for full legal notices.";
revision "2014-05-18" {
description
"Initial version";
reference "RFC XXXX";
}
container vlds {
description
"Virtual Link Descriptors";
list vld {
key id;
description
"VLD Key";
leaf id {
type yang:uuid;
description
"VLD ID";
}
Expires January 4,2015 [Page 21]
Internet-Draft NFV Data Models July 2014
leaf vendor {
type string;
description
"Vendor generating this VLD";
}
leaf version {
type string;
description
"Version of this VLD";
}
leaf number-of-endpoints {
type uint32;
description
"Number of endpoints available on this VLD";
}
leaf virtual-link-type {
type enumeration {
enum "ELine";
enum "ELAN";
enum "ETree";
}
Expires January 4,2015 [Page 22]
Internet-Draft NFV Data Models July 2014
description
"Virtual network link type mandated by the VNF vendor
between two or more connection points";
}
}
}
}
8. Data Model of Virtual Network Function Descriptor (VNFD)
VNFD describes the deployment and operational behavior of a VNF.
The main objective of VNF modeling will include:
- Basic VNF attributes: The core information, such as VNF name,
version, function description.
- Deployment attributes: It specifies the infrastructure resource
requirements in case of VNF deployment, such as virtual CPU, memory
and disk requirements. It usually refer to a set of deployment flavor,
which provide the detail requirement. It also specifies the workflow
during the VNF initialization, termination, graceful shutdown.
- Interface attributes: It represents a set of external interfaces
exposed by this VNF, Here Connection-point was used as a term to
express those interfaces, Each connection-point will refer to a
virtualization link.
- Automatic scale policy attributes: It represents automatic scale
policy meta data, which include the criteria parameter,action-type,
and etc.
8.1. VNFD Module Structure
module: ietf-vnfds
+--rw vnfds
+--rw vnfd* [id]
Expires January 4,2015 [Page 23]
Internet-Draft NFV Data Models July 2014
+--rw name? string
+--rw id yang:uuid
+--rw description? string
+--rw vendor? string
+--rw descriptor-version? string
+--rw version? string
+--rw deploy-flavors
| +--rw deploy-flavor-id* leafref
+--rw workflow_script
| +--rw init? string
| +--rw terminate? string
| +--rw graceful-shutdown? string
+--rw connection-points
| +--rw connection-point* [id]
| +--rw id yang:uuid
| +--rw name? string
+--rw monitor-paras
| +--rw name* enumeration
+--rw auto-scale-policies
+--rw auto-scale-policy* [policy-id]
+--rw policy-id string
+--rw criteria
| +--rw criterion* [monitor-para-name]
| +--rw monitor-para-name leafref
Expires January 4,2015 [Page 24]
Internet-Draft NFV Data Models July 2014
| +--rw expression? enumeration
+--rw actions
+--rw action* [action-name]
+--rw action-name enumeration
8.2. VNFD YANG Module
module ietf-vnfds {
namespace "urn:ietf:params:xml:ns:yang:ietf-vnfds";
prefix "vnfd";
import ietf-yang-types {
prefix yang;
}
import ietf-dfs {
prefix df;
}
organization "";
contact "TBD";
description
Expires January 4,2015 [Page 25]
Internet-Draft NFV Data Models July 2014
"This module defines a template for other YANG modules.
Copyright (c) 2014 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).
This version of this YANG module is part of RFC XXXX; see
the RFC itself for full legal notices.";
revision "2014-05-18" {
description
"Initial version";
reference "RFC XXXX";
}
container vnfds {
description
Expires January 4,2015 [Page 26]
Internet-Draft NFV Data Models July 2014
"vnfd configuration parameters.";
list vnfd {
key id;
description
"The list of vnfd configuration parameters.";
leaf name {
type string;
description
"The name of the vnf descriptor.";
}
leaf id {
type yang:uuid;
description
"The UUID of the vnf descriptor.";
}
leaf description {
type string;
description
"The description of the vnf descriptor.";
}
Expires January 4,2015 [Page 27]
Internet-Draft NFV Data Models July 2014
leaf vendor {
type string;
description
"The vendor of the vnf descriptor.";
}
leaf descriptor-version {
type string;
description
"The version of the vnf descriptor.";
}
leaf version {
type string;
description
"The version of the vnf software.";
}
container deploy-flavors {
description
"Deployment Flavor configuration parameters.";
leaf-list deploy-flavor-id {
Expires January 4,2015 [Page 28]
Internet-Draft NFV Data Models July 2014
type leafref {
path "/df:dfs/df:df/df:df-id";
}
description
"The list of deployment flavor configuration
parameters.";
}
}
container workflow_script {
description
"The VDU workflow including the functional script. ";
leaf init {
type string;
description
"The VDU initiation script.";
}
leaf terminate {
type string;
description
"The VDU termination script.";
}
Expires January 4,2015 [Page 29]
Internet-Draft NFV Data Models July 2014
leaf graceful-shutdown {
type string;
description
"The VDU graceful shutdown script.";
}
}
container connection-points {
description
"It describes an external interface exposed by this VNF
enabling connection with a VL..";
list connection-point {
key id;
description
"The connection point exposed by the VNF enabling
connection with a VLD.";
leaf id {
type yang:uuid;
description
"The unique identifier of connection point.";
}
leaf name {
Expires January 4,2015 [Page 30]
Internet-Draft NFV Data Models July 2014
type string;
description
"The name of connection point.";
}
}
}
container monitor-paras {
description
"Monitoring parameter, which can be tracked for this
VNF.";
leaf-list name {
type enumeration {
enum cpu-utili;
enum memory-consumption;
enum bandwidth-consumption;
enum calls-per-secon;
enum number-of-subscriber;
enum num-of-rules;
enum flows-per-second;
}
description
"A list of monitor parameters.";
Expires January 4,2015 [Page 31]
Internet-Draft NFV Data Models July 2014
}
}
container auto-scale-policies {
description
"The policy of automatic scale in/out.";
list auto-scale-policy {
key policy-id;
description
"The unique identifier of automatic scale policy.";
leaf policy-id {
type string;
}
container criteria {
description
"The auto-scale criteria parameter. Note that the
default logical operation among these rules is 'OR'.";
list criterion {
key monitor-para-name;
description
"A list of rules";
Expires January 4,2015 [Page 32]
Internet-Draft NFV Data Models July 2014
leaf monitor-para-name {
type leafref {
path "../../../../../monitor-paras/name";
}
description
"The name of monitor parameter.";
}
leaf expression {
type enumeration {
enum "eq";
enum "neq";
enum "lt"; //less than
enum "gt"; //greater than
}
description
"The logical criteria expression.";
}
}
}
container actions {
description
Expires January 4,2015 [Page 33]
Internet-Draft NFV Data Models July 2014
"Action configuration parameters.";
list action {
key action-name;
description
"A list of configured action.";
leaf action-name {
type enumeration {
enum "scale-out";
enum "scale-in";
}
description
"The type of action.";
}
}
}
}
}
}
}
}
Expires January 4,2015 [Page 34]
Internet-Draft NFV Data Models July 2014
9. Data Model of Virtual Network Function instantiation(VNFI)
VNFI describes the instantiate operation of a specific VNFD.
It specifies the identifier of VNFD being instantiating, and
corresponding parameters, such as deployment flavor, a number of
interfaces exposed outside the VNF, automatic scale policy data.
5.1. VNF instance Module Structure
The data model for VNF instance has the following structure:
module: ietf-vnfis
+--rw vnfis
+--rw vnfi* [id]
+--rw id uint32
+--rw vnfd-id? leafref
+--rw flavor-id? leafref
+--rw external-attachments
| +--rw external-attachment* [connection-point-id]
| +--rw connection-point-id leafref
| +--rw virtual-link-id? leafref
+--rw scale-policy {auto-scale}?
| +--rw policy-id? leafref
| +--rw criteria-value* uint32
| +--rw target-flavor-id? leafref
5.2. VNF instance YANG Module
module ietf-vnfis {
Expires January 4,2015 [Page 35]
Internet-Draft NFV Data Models July 2014
namespace "urn:ietf:params:xml:ns:yang:ietf-vnfis";
prefix "vnfi";
import ietf-vnfds {
prefix vnfd;
}
import ietf-vlds {
prefix vld;
}
import ietf-dfs {
prefix df;
}
organization "";
contact "TBD";
description
"This module contains YANG definitions for managing VNF instance.
Copyright (c) 2014 IETF Trust and the persons
identified as authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
Expires January 4,2015 [Page 36]
Internet-Draft NFV Data Models July 2014
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).
This version of this YANG module is part of RFC XXXX; see
the RFC itself for full legal notices.";
revision "2014-05-18" {
description
"Initial version";
reference "RFC XXXX";
}
// feature statements
feature auto-scale {
description "Support auto scaling.";
}
container vnfis {
description
"VNF instances configuration parameters.";
Expires January 4,2015 [Page 37]
Internet-Draft NFV Data Models July 2014
list vnfi {
key id;
description
"The list of VNF instance configuration parameters.";
leaf id {
type uint32;
description
"the id of VNF instance.";
}
leaf vnfd-id {
type leafref {
path "/vnfd:vnfds/vnfd:vnfd/vnfd:id";
}
description "VNF descriptor ID";
}
leaf flavor-id {
type leafref {
path "/vnfd:vnfds/vnfd:vnfd/vnfd:deploy-
flavors/vnfd:deploy-flavor-id";
}
description "VNF flavor ID";
Expires January 4,2015 [Page 38]
Internet-Draft NFV Data Models July 2014
}
container external-attachments {
list external-attachment {
key connection-point-id;
leaf connection-point-id {
type leafref {
path "/vnfd:vnfds/vnfd:vnfd/vnfd:connection-
points/vnfd:connection-point/vnfd:id";
}
description "VNF connection point ID to be attached
with a virtual link.";
}
leaf virtual-link-id {
type leafref {
path "/vld:vlds/vld:vld/vld:id";
}
description "virtual link ID attached to the VNF
connection point";
}
}
}
container scale-policy {
Expires January 4,2015 [Page 39]
Internet-Draft NFV Data Models July 2014
if-feature auto-scale;
leaf policy-id {
type leafref {
path "/vnfd:vnfds/vnfd:vnfd/vnfd:auto-scale-
policies/vnfd:auto-scale-policy/vnfd:policy-id";
}
description
"auto scaling policy ID";
}
leaf-list criteria-value {
type uint32;
description
"A set of criteria value in the policy rules";
}
leaf target-flavor-id {
type leafref {
path "/df:dfs/df:df/df:df-id";
}
description
"The target deployment flavor ID";
}
Expires January 4,2015 [Page 40]
Internet-Draft NFV Data Models July 2014
}
}
}
}
10. Security Considerations
TBD.
11. IANA Considerations
TBD.
12. References
12.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
12.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-MAN001 (work in
progress), May 2014
Xu, W., Jiang, Y., Zhou, C., draft-xjz-nfv-model-problem-statement-00,
Work in progress, 2013
Expires January 4,2015 [Page 41]
Internet-Draft NFV Data Models July 2014
13. Contributors
The authors would like to thank Mehmet Ersue who made a contribution
to this document.
Mehmet Ersue
mehmet.ersue@nsn.com
14. Acknowledgments
The authors would like to thank ETSI for the production of the NFV
documents which is the basis of this draft. And we thank Mehmet Ensue
and Min Zha for their valuable discussions.
Expires January 4,2015 [Page 42]
Internet-Draft NFV Data Models July 2014
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 January 4,2015 [Page 43]