Network Working Group D. Shytyi Internet-Draft L. Beylier Intended status: Informational SFR Expires: May 23, 2020 L. Iannone Telecom ParisTech November 20, 2019 A YANG Module for uCPE management. draft-shytyi-opsawg-vysm-07 Abstract This document provides a YANG data model for uCPE management (VYSM) and definition of the uCPE equipment. The YANG Model serves as a base framework for managing an universal Customer-Premises Equipment (uCPE) subsystem. The model can be used by a Network 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 May 23, 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 May 23, 2020 [Page 1] Internet-Draft A YANG Module for uCPE management November 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 3.1. uCPE purpose . . . . . . . . . . . . . . . . . . . . . . 4 3.2. uCPE VNF ecosystem example . . . . . . . . . . . . . . . 4 3.3. Internal uCPE service example . . . . . . . . . . . . . . 5 4. YANG Model for uCPE management . . . . . . . . . . . . . . . 6 5. Components for uCPE Management . . . . . . . . . . . . . . . 7 6. Diagram overview of YANG Data Model tree for uCPE management 8 7. Logical Network Elements extension YANG Model . . . . . . . . 10 8. Security Considerations . . . . . . . . . . . . . . . . . . . 14 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 14 10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 14 11. Normative References . . . . . . . . . . . . . . . . . . . . 14 Appendix A. Example of the uCPE resources management . . . . . . 15 Appendix B. Deprecated VNF YANG Model . . . . . . . . . . . . . 16 Appendix C. XML example of deprecated YANG model . . . . . . . . 22 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 24 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 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 YANG Model (VYSM) to manage from an Orchestrator the 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. Shytyi, et al. Expires May 23, 2020 [Page 2] Internet-Draft A YANG Module for uCPE management November 2019 NSYM - Network Yang Module. VYSM - VNF YANG Model. 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. Topology construction and VM lifecycle management is allowed via high level interface (Configuration can be done in the same transaction). 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 | The next elements can be managed in the uCPE: o Virtual Network Funcitons: * Number of assigned vCPUs. * Size of allocated RAM. * VNF day0 config (bootstrap). * vLinks that are attached to the VNF. o Virtual Switches: * vLinks that are attached to the vSW. o Virtual Links(vLinks). Shytyi, et al. Expires May 23, 2020 [Page 3] Internet-Draft A YANG Module for uCPE management November 2019 o Physical Ports of the uCPE. 3.1. uCPE purpose o uCPE replaces multiple types of equipment (Node#1 - Node#5) with 1 unit by virtualizing them as Virtual Network Functions on the top of NFVIs: : NODE #1 : NODE #2 : NODE #3 :NODE #4: NODE #5 : : +-----------+ : +------+ : +------+ : +--+ : +-----+ : ...-----|Aggregation|----|CE-L2 |----| CE-L3|----|FW|----|SDWAN|---LAN : | switch | : | | : | | : | | : | | : : +-----------+ : +------+ : +------+ : +--+ : +-----+ : : NODE #1 : NODE #2 : : : +.........................................+ : : +-----------+ : | +------+ +------+ +--+ +-----+ | : ...---|Aggregation|---|--|CE-L2 |----| CE-L3|----|FW|---|SDWAN|-|---LAN : | switch | : | | | | | | | | | | : : +-----------+ : | +------+ +------+ +--+ +-----+ | : : : | universal Customer-Premises Equipment | : : : +-----------------------------------------+ : o uCPE falicitates the interconnection between the Network Funtions (NF) as interconnection between NF is performed via virtual links(that is part of the uCPE management). That meens that no need to hire technichian to cable the equipment, it could be done via orchestrator. o uCPE falicitates the 0day configuration of the VNFs as its 0day configuration can be putted remotely. 3.2. uCPE VNF ecosystem example uCPE supports a Virtual Network Funcitons of different type: o SD-WAN o vRouter o vFirewall o vLB(vLoad Balancer) Shytyi, et al. Expires May 23, 2020 [Page 4] Internet-Draft A YANG Module for uCPE management November 2019 o vCGNAT(vCarrier Grade NAT) o virtual WAN Optimistaion o vWireless LAN controller o Other... 3.3. Internal uCPE service example The VNF in the uCPE could be a vRouter or vFirewall or an SD-WAN that is not a default part of virtual network resources of the uCPE. Multiple VNFs MAY be instantiated in the uCPE. With support of links and swithes, VNFs MAY participate a service chains. Example of service chains (Note that virtual switch "vs(WAN)" connected to LAN ports and vSW(WAN) is connected to WAN ports): o vSW(WAN)-l1-vRouter-l2-vSW(LAN). o vSW(WAN)-l1-vRouter-l2-vSW(Service)-l3-vFirewall-l4-vSW(LAN). o vSW(WAN)-l1-vRouter-l2-vSW(Service1)-l3-vFirewall-l4- vSW(Service2)-l5-SD-WAN-l6-vSW(LAN). o vSW(WAN)-l1-SDWAN-l2-vSW(Service)-l3-vFirewall-l4-vSW(LAN). o vSW(WAN1)--vRouter--+ +--vLoadBalance vFirewall--vSW(LAN) vSW(WAN2)--vRouter--+ | | +-vSW(Service1)+ o vSW(WAN1)--vRouter(ISP1)--+ +--SD-WAN vFirewall--vSW(LAN) vSW(WAN2)--vRouter(ISP2)--+ | | +-vSW(Service1)+ Shytyi, et al. Expires May 23, 2020 [Page 5] Internet-Draft A YANG Module for uCPE management November 2019 4. YANG Model for uCPE management Secondly, this document defines and classifies the YANG Model for uCPE Management. This Module is modeled representation of the specific network requirements. It provides abstraction of network configuration and operations. The YANG Model for uCPE Management does not describe all configuration to be performed on the devices, but provides the configuration that is required for the "Network to Network Element(s)" decomposition process RFC 8199 [RFC8199]. Example of the decomposition is presented in the figure below. The Network 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 May 23, 2020 [Page 6] Internet-Draft A YANG Module for uCPE management November 2019 +-+-+-+-+-+-+-+-+-+ | | | config t | | vm VNF1 | +-+-+-+-+-+-+-+-+-+ # # ++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ : : : +-+-+-+-+-+-+-+-+-+-+-+-+-+-++-+-+-+ : : | Network YANG Module | : : +-+-+-+-+-+-+-+-+-+-+-+-+-+-++-+-+-+ : : # : : ############################## : : # # # : : '---------' '------------' '-----------' : : '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. Components for uCPE Management This section provides a components overview to manage the uCPE. There are multiple RFCs and drafts produced by the IETF community, that are referenced in the YANG tree to manage the uCPE. Each document produced by the IETF covers a part of uCPE Management. The list of the documents is provided below: o [RFC8530] - logical network elements (VNFs) properties. o [RFC8345] - definition of networks, nodes, node-termination- points: network includes the uCPE with uCPE's physical termination points. o [I-D.ietf-teas-sf-aware-topo-model]physical ports and service functions (VNFs) interconnection matrixes (PhyPort-VNF, VNF-VNF). Shytyi, et al. Expires May 23, 2020 [Page 7] Internet-Draft A YANG Module for uCPE management November 2019 o This document itself provides yang modules that completes the existing documents produced by IETF. This document introduces yang modules for 'logical network elements properties(VNFs)" part: o day0-info: mapping between variables inside of the bootstap config and required values in the list "day0-info". In the bootstap config the variable could be putted instead value. The value could be set in the day0-info part (check the YANG model) and after the value in the list will be mapped to the variable in the bootstrap config. o vCPU/vRAM/vDisk/VNF-ports leafs and lists. The minimal list of yang models required for compilation of the YANG tree to manage the uCPE is presented below: o ietf-interfaces o ietf-logical-network-element o ietf-ietf-network o ietf-ietf-network-topology o ietf-routing-types o ietf-te-topology o ietf-te-topology-sf o ietf-te-types o ietf-yang-schema-mount o The YANG module introduced in this document 6. Diagram overview of YANG Data Model tree for uCPE management This section provides an overview of the Data YANG Model that MAY be made with "pyang" utility. The figure below presents the tree diagram. module: ietf-network +--rw networks +--rw network* [network-id] Shytyi, et al. Expires May 23, 2020 [Page 8] Internet-Draft A YANG Module for uCPE management November 2019 +--rw network-id network-id +--rw network-types | +--rw tet:te-topology! | +--rw tet-sf:sf! +--rw supporting-network* [network-ref] | +--rw network-ref -> /networks/network/network-id +--rw node* [node-id] +--rw node-id node-id +--rw supporting-node* [network-ref node-ref] | +--rw network-ref -> | | ../../../supporting-network/network-ref | +--rw node-ref -> /networks/network/node/node-id +--rw nt:termination-point* [tp-id] | +--rw nt:tp-id tp-id | +--rw nt:supporting-termination-point* | | [network-ref node-ref tp-ref] | +--rw nt:network-ref | | -> ../../../nw:supporting-node/network-ref | +--rw nt:node-ref | | -> ../../../nw:supporting-node/node-ref | +--rw nt:tp-ref | -> /nw:networks/network[nw:network-id= | current()/../network-ref]/node | [nw:node-id=current()/../node-ref]/ | termination-point/tp-id +--rw tet:te-node-id? te-types:te-node-id +--rw tet:te! +--rw tet:te-node-template* | -> ../../../../te/templates/ | node-template/name {template}? +--rw tet:te-node-attributes | ... +--rw tet-sf:service-function +--rw tet-sf:connectivity-matrices | +--rw tet-sf:connectivity-matrix* [id] | +--rw tet-sf:id uint32 | +--rw tet-sf:from | | +--rw tet-sf:service-function-id? string | | +--rw tet-sf:sf-connection-point-id? string | +--rw tet-sf:to | | +--rw tet-sf:service-function-id? string | | +--rw tet-sf:sf-connection-point-id? string | +--rw tet-sf:enabled? boolean | +--rw tet-sf:direction? connectivity-direction | +--rw tet-sf:virtual-link-id? string +--rw tet-sf:link-terminations +--rw tet-sf:link-termination* [id] +--rw tet-sf:id uint32 Shytyi, et al. Expires May 23, 2020 [Page 9] Internet-Draft A YANG Module for uCPE management November 2019 +--rw tet-sf:from | +--rw tet-sf:tp-ref? -> ../../../../ | ../../../nt:termination-point/tp-id +--rw tet-sf:to | +--rw tet-sf:service-function-id? string | +--rw tet-sf:sf-connection-point-id? string +--rw tet-sf:enabled? boolean +--rw tet-sf:direction? connectivity-direction logical-network-elements +--rw logical-network-element* [name] +--rw name string +--rw managed? boolean +--rw description? string +--rw root +--rw logical-network-elements-properties +--rw sf-connection-points* [sf-connection-point-id] | +--rw sf-connection-point-id string +--rw ram? uint64 +--rw cpu? uint64 +--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 7. Logical Network Elements extension YANG Model This section provides a YANG model that addresses the configuration of the uCPE VNF resources. file "ietf-ucpe-lne-properties@2019-11-21.yang" module ietf-ucpe-lne-properties { yang-version 1.1; namespace "urn:ietf:params:xml:ns:yang:ietf-ucpe-lne-properties"; prefix ietf-ucpe; import ietf-logical-network-element { prefix lne; reference "RFC 8530: YANG Model for Logical Network Elements"; Shytyi, et al. Expires May 23, 2020 [Page 10] Internet-Draft A YANG Module for uCPE management November 2019 } organization "SFR"; contact "Dmytro Shytyi EMail:ietf.dmytro@shytyi.net"; description "This is a Network Function Virtualization (NFV) YANG service model. Copyright (c) 2019 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 (https://trustee.ietf.org/license-info). This version of this YANG module is part of RFC XXXX (https://www.rfc-editor.org/info/rfcXXXX); see the RFC itself for full legal notices."; revision 2019-11-21 { description "Augmentation of RFC 8530"; reference "draft-shytyi-opsawg-vysm-07"; } revision 2019-10-28 { description "Yang model with vPorts assigned to the interfaces"; reference "draft-shytyi-opsawg-vysm-05"; } revision 2019-10-19 { description "Yang model was cleaned. Interfaces added"; reference "draft-shytyi-opsawg-vysm-04"; } revision 2019-09-16 { description "Added 0day config for VNFs. Yang model modified according to the received comments."; Shytyi, et al. Expires May 23, 2020 [Page 11] Internet-Draft A YANG Module for uCPE management November 2019 reference "draft-shytyi-opsawg-vysm-00"; } revision 2018-01-07 { description "Initial revision."; reference "draft-shytyi-netmod-vysm-01"; } augment "/lne:logical-network-elements/lne:logical-network-element" { container logical-network-element-properties { list sf-connection-points { key "sf-connection-point-id"; leaf sf-connection-point-id { type string; description "Name of the connector"; } description "Connection points of logical-network-element"; } description "Set of Virtual Network Function connectors"; leaf ram { type uint64; description "Size of RAM to allocate for the Guest OS"; } leaf cpu { type uint64; description "Number of vCPUs to allocate for the Guest OS"; } list storages { key "id"; leaf id { type string; description "Number of vDisk attached to the VM"; } leaf location { type string; description "External location where Shytyi, et al. Expires May 23, 2020 [Page 12] Internet-Draft A YANG Module for uCPE management November 2019 the image (ex.qcow2) is saved."; } description "Virtual storge/vDisk attached to the Virtual Machine"; } container day0-config { leaf location { type string; 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 "Properties of logic-network-element"; } } Shytyi, et al. Expires May 23, 2020 [Page 13] Internet-Draft A YANG Module for uCPE management November 2019 8. Security Considerations At this time, no security considerations are addressed by this memo. 9. IANA Considerations No request to IANA at this time. 10. Acknowledgements the authors would like to thank: o Mahesh Jethanandani. o Robert Varga. o Bill Wu. o Joe Clarke. o Tom Petch. o Martin Bjorklund. o Schonwalder Jurgen. o Dean Bogdanovic. o Bo Wu. for their valuable comments. 11. Normative References [I-D.ietf-teas-sf-aware-topo-model] Bryskin, I., Liu, X., Lee, Y., Guichard, J., Contreras, L., Ceccarelli, D., and J. Tantsura, "SF Aware TE Topology YANG Model", draft-ietf-teas-sf-aware-topo-model-03 (work in progress), March 2019. [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, . Shytyi, et al. Expires May 23, 2020 [Page 14] Internet-Draft A YANG Module for uCPE management November 2019 [RFC8345] Clemm, A., Medved, J., Varga, R., Bahadur, N., Ananthakrishnan, H., and X. Liu, "A YANG Data Model for Network Topologies", RFC 8345, DOI 10.17487/RFC8345, March 2018, . [RFC8530] Berger, L., Hopps, C., Lindem, A., Bogdanovic, D., and X. Liu, "YANG Model for Logical Network Elements", RFC 8530, DOI 10.17487/RFC8530, March 2019, . Appendix A. Example of the uCPE resources management This section provides an overview of the deprecated YANG Model that MAY give an alternative view on the uCPE management. Shytyi, et al. Expires May 23, 2020 [Page 15] Internet-Draft A YANG Module for uCPE management November 2019 module: ietf-example-ucpe +--rw ucpe* [name] +--rw name string +--rw links* [link] | +--rw link string +--rw phyInterfaces* [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? uint64 +--rw cpu? uint64 +--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 Appendix B. Deprecated VNF YANG Model This section provides a deprecated yang model that addresses the configuration of the uCPE resources presented above. file "ietf-example-ucpe@2019-10-28.yang" module ietf-example-ucpe { namespace "urn:ietf:params:xml:ns:yang:ietf-example-ucpe"; prefix ietf-example-ucpe; organization "SFR"; Shytyi, et al. Expires May 23, 2020 [Page 16] Internet-Draft A YANG Module for uCPE management November 2019 contact "Dmytro Shytyi EMail:ietf.dmytro@shytyi.net"; description "This is a Network Function Virtualization (NFV) YANG service model. Copyright (c) 2019 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 (https://trustee.ietf.org/license-info). This version of this YANG module is part of RFC XXXX (https://www.rfc-editor.org/info/rfcXXXX); see the RFC itself for full legal notices."; revision 2019-10-28 { description "Yang model with vPorts assigned to the interfaces"; reference "draft-shytyi-opsawg-vysm-05"; } revision 2019-10-19 { description "Yang model was cleaned. Interfaces added"; reference "draft-shytyi-opsawg-vysm-04"; } revision 2019-09-16 { description "Added 0day config for VNFs. Yang model modified according to the received comments."; reference "draft-shytyi-opsawg-vysm-00"; } revision 2018-01-07 { description "Initial revision."; reference "draft-shytyi-netmod-vysm-01"; } Shytyi, et al. Expires May 23, 2020 [Page 17] Internet-Draft A YANG Module for uCPE management November 2019 list ucpe { key "name"; leaf name { type string; description "ID of uCPE where a service is instantiated"; } 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 phyInterfaces { 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"; Shytyi, et al. Expires May 23, 2020 [Page 18] Internet-Draft A YANG Module for uCPE management November 2019 } 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 "ID of the Virtual Machine"; } list ports { key "port"; leaf port { type string; description Shytyi, et al. Expires May 23, 2020 [Page 19] Internet-Draft A YANG Module for uCPE management November 2019 "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 uint64; description "Size of RAM to allocate for the Guest OS"; } leaf cpu { type uint64; description "Number of vCPUs to allocate for the Guest OS"; } list storages { key "id"; leaf id { type string; description "Number of vDisk attached to the VM"; } leaf location { type string; description "External location where the image (ex.qcow2) is saved."; } description "Virtual storge/vDisk Shytyi, et al. Expires May 23, 2020 [Page 20] Internet-Draft A YANG Module for uCPE management November 2019 attached to the Virtual Machine"; } container day0-config { leaf location { type string; 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 uCPE management service"; } } Shytyi, et al. Expires May 23, 2020 [Page 21] Internet-Draft A YANG Module for uCPE management November 2019 Appendix C. XML example of deprecated YANG model The XML example below presents the configuration of the next service in the uCPE, where: vSW(LAN), vSW(WAN), vSW(Service) - virtual switches; l1,l2,l3,l4 - virtual links; VMs represent PNFs (Physical Network Fuctions) that could be bootstrapped with 0day config/ license. +--------+ +-------------+ +------------+ |vSW(LAN)|--l2--|VNF-vFirewall|--l3--| | +--------+ +-------------+ | | +--------+ +-------------+ |vSW(Service)| |vSW(WAN)|--l1--| VNF_vRtr |--l4--| | +--------+ +-------------+ +------------+ ucpe1 l1 l2 l3 l4 lan 10 l2p10 l2 service 10 l3p10 l3 Shytyi, et al. Expires May 23, 2020 [Page 22] Internet-Draft A YANG Module for uCPE management November 2019 11 l4p10 l4 wan 10 l1 VNF-vRtr 1 l1p1 l1 2 l4p2 l4 2048 2 1 http://192.168.2.1/vRtr-x86.qcow2 https://192.168.2.1/vRtr-day0.iso /config.rom hostname IETF-vRtr ipaddress 192.168.1.2 255.255.255.0 VNF-vFirewall 1 l3p1 Shytyi, et al. Expires May 23, 2020 [Page 23] Internet-Draft A YANG Module for uCPE management November 2019 l3 2 l2p2 l2 2048 2 1 http://192.168.2.1/vFirewall-x86.qcow2 https://192.168.2.1/vFirewall-day0.iso /config.rom hostname vFirewall ipaddress 192.168.1.3 255.255.255.0 Authors' Addresses Dmytro Shytyi SFR Paris , Ile-de-France France Email: ietf.dmytro@shytyi.net URI: https://dmytro.shytyi.net Laurent Beylier SFR Paris , Ile-de-France France Email: laurent.beylier@sfr.com Shytyi, et al. Expires May 23, 2020 [Page 24] Internet-Draft A YANG Module for uCPE management November 2019 Luigi Iannone Telecom ParisTech Paris , Ile-de-France France Email: luigi.iannone@telecom-paristech.fr Shytyi, et al. Expires May 23, 2020 [Page 25]