idnits 2.17.1 draft-shytyi-netmod-vysm-02.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == Line 177 has weird spacing: '...rw link str...' == Line 179 has weird spacing: '...terface str...' == Line 181 has weird spacing: '...rw port str...' == Line 184 has weird spacing: '... switch str...' == Line 186 has weird spacing: '...rw port str...' == (1 more instance...) -- The document date (September 4, 2019) is 1694 days in the past. Is this intentional? -- Found something which looks like a code comment -- if you have code sections in the document, please surround them with '' and '' lines. Checking references for intended status: Informational ---------------------------------------------------------------------------- No issues found here. Summary: 0 errors (**), 0 flaws (~~), 7 warnings (==), 2 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group D. Shytyi 3 Internet-Draft L. Beylier 4 Intended status: Informational SFR/ALTICE 5 Expires: March 7, 2020 L. IANNONE 6 Telecom ParisTech 7 September 4, 2019 9 Virtualization YANG Servise Model (VYSM) 10 draft-shytyi-netmod-vysm-02 12 Abstract 14 This document provides a specification of the Virtual Network 15 Functions YANG Service Model (VYSM). The VNF YANG Service Model 16 serves as a base framework for managing an universal Customer- 17 Premises Equipment (uCPE) NFV subsystem from the Orchestrator. 19 Status of This Memo 21 This Internet-Draft is submitted in full conformance with the 22 provisions of BCP 78 and BCP 79. 24 Internet-Drafts are working documents of the Internet Engineering 25 Task Force (IETF). Note that other groups may also distribute 26 working documents as Internet-Drafts. The list of current Internet- 27 Drafts is at https://datatracker.ietf.org/drafts/current/. 29 Internet-Drafts are draft documents valid for a maximum of six months 30 and may be updated, replaced, or obsoleted by other documents at any 31 time. It is inappropriate to use Internet-Drafts as reference 32 material or to cite them other than as "work in progress." 34 This Internet-Draft will expire on March 7, 2020. 36 Copyright Notice 38 Copyright (c) 2019 IETF Trust and the persons identified as the 39 document authors. All rights reserved. 41 This document is subject to BCP 78 and the IETF Trust's Legal 42 Provisions Relating to IETF Documents 43 (https://trustee.ietf.org/license-info) in effect on the date of 44 publication of this document. Please review these documents 45 carefully, as they describe your rights and restrictions with respect 46 to this document. Code Components extracted from this document must 47 include Simplified BSD License text as described in Section 4.e of 48 the Trust Legal Provisions and are provided without warranty as 49 described in the Simplified BSD License. 51 Table of Contents 53 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 54 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 2 55 3. Universal CPE . . . . . . . . . . . . . . . . . . . . . . . . 3 56 4. Virtual Network Function YANG Service Model . . . . . . . . . 3 57 5. VNF YANG Service Model tree diagram overview . . . . . . . . 4 58 6. Specification of the VNF YANG Service Model . . . . . . . . . 5 59 7. Security Considerations . . . . . . . . . . . . . . . . . . . 9 60 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9 61 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 9 62 10. Normative References . . . . . . . . . . . . . . . . . . . . 10 63 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 10 65 1. Introduction 67 Network Function Virtualization is a technology that allows to 68 virtualize the network services running on dedicaded hardware. This 69 technology became a base for universal Customer-Premises 70 Equipment(uCPE). This document defines the uCPE as harware with x86 71 capabilities (whitebox or greybox) that has a hypervisor. In other 72 words, uCPE is a host that may run multiple Virtual Machines with 73 guest OSs, where each Guest OS may represent a Physical Network 74 Function. This document presents the VNF YANG Service Model (VYSM) 75 to manage from an Orchestrator the Network Function Virtualization 76 Infrastructure inside the uCPE. 78 2. Terminology 80 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 81 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 82 document are to be interpreted as described in RFC 2119 [RFC2119]. 84 Link - is an entity that enables link layer communication of nodes. 86 Port - node connector to the link. 88 NE - Network Element. 90 NSYM - Network Service Yang Module. 92 VYSM - VNF YANG Service Model. 94 3. Universal CPE 96 Firstly, this document defines the platform that is controlled with 97 VYSM - universal CPE (uCPE). The uCPE as harware with x86 98 capabilities that is generally running Linux distibution with 99 additinal virtualisation layer. Virtualization layer provides 100 virtual compute, virtual storage and virtual network resources. Each 101 VNF runnning in the uCPE requires the amount of virtual resources 102 (for example: 4 vCPUs, 4GB RAM, 40GB storege, 4 vPorts). VNFs MAY be 103 interconnected between each other and physical ports via Virtual 104 Networks. The figure below presents the uCPE architecture. 106 ----------------------------------------|-------------- 107 VNF1 VNF2 VNF3 | 108 ----------------------------------------| 109 Virtual Virtual Virtual | uCPE software 110 Compute Storage Networks| 111 ----------------------------------------|--------------- 112 PHY x86 RAM+PHY PHYsical| uCPE Hardware 113 processor storage ports | 115 4. Virtual Network Function YANG Service Model 117 Secondly, this document defines and classifies the VYSM as Network 118 Service YANG Module(NSYM) layer component RFC 8199 [RFC8199]. Thus 119 it inherits the characteristics of the NSYM Layer. VYSM is a modeled 120 representation of the specific service requirements. It provides 121 abstraction of services configuration and operations that MAY be 122 implemented in Network Elemets(NEs). Thus VYSM does not describe all 123 configuration to be performed on the devices, but provides the 124 configuration that is required for the "Network Service to Network 125 Element(s)" decomposition process RFC 8199 [RFC8199]. Example of the 126 decomposition is presented in the figure below. 128 The Network Service YANG module exposes the configuration commands 129 via the Northbound interfaces of the orchestrator. Therefore the set 130 of the commands modeled in the VYSM can be inputed via Notrhbound 131 interfaces(for example CLI). In the example the command "vm VNF1" is 132 passed via Northbound interface to the orchestrator. It defines the 133 virtual machine name. Further the same configuration MAY be 134 transormed to the one or multiple Network Element payloads (for 135 example xml for NETCONF) that carry an equivalent of commands such as 136 "nf nf-name VNF1" 137 +-+-+-+-+-+-+-+-+-+ 138 | | 139 | config t | 140 | vm VNF1 | 141 +-+-+-+-+-+-+-+-+-+ 142 # 143 # 144 ++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 145 : : 146 : +-+-+-+-+-+-+-+-+-+-+-+-+-+-++-+-+-+ : 147 : | Network Service YANG Module | : 148 : +-+-+-+-+-+-+-+-+-+-+-+-+-+-++-+-+-+ : 149 : # : 150 : ############################## orchestrator : 151 : # # # : 152 : '---------' '------------' '-----------' : 153 : 'Module1 ' ' Module 2 ' ' Module3 ' <= Network Element : 154 : '---------' '------------' '-----------' YANG Modules : 155 : # # # : 156 : # # ####################### : 157 : #### ############## # : 158 : # # # : 159 ++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 160 # # # 161 Network # element 1 Network # element 2 Network # element3 162 ++-+-+-+-+-+-+-+-+-+-+ -+-+-+-++-+-+-+-+-+-+-+-+- +-+-+-+-+-+-+-+-+ 163 | domains domain VNF1| |tenants tenant name VNF1| |nf nf-name VNF1| 164 ++-+-+-+-+-+-+-+-+-+-+ -+-+-+-++-+-+-+-+-+-+-+-+- +-+-+-+-+-+-+-+-+ 166 5. VNF YANG Service Model tree diagram overview 168 This section provides an overview of the VNF Service YANG Model 169 (VSYM) that MAY be made with "pyang" utility. The figure below 170 presents the tree diagram of VYSM. 172 module: ietf-vysm 173 +--rw virtualization* [name] 174 +--rw name string 175 +--rw device* string 176 +--rw links* [link] 177 | +--rw link string 178 +--rw interfaces* [interface] 179 | +--rw interface string 180 | +--rw ports* [port] 181 | +--rw port string 182 | +--rw link? -> ../../../links/link 183 +--rw switches* [switch] 184 | +--rw switch string 185 | +--rw ports* [port] 186 | +--rw port string 187 | +--rw name? string 188 | +--rw link? -> ../../../links/link 189 +--rw vms* [vm] 190 +--rw vm string 191 +--rw ports* [port] 192 | +--rw port string 193 | +--rw name? string 194 | +--rw link? -> ../../../links/link 195 +--rw ram? string 196 +--rw cpu? string 197 +--rw storages* [id] 198 | +--rw id string 199 | +--rw location? string 200 +--rw day0-config 201 +--rw location? string 202 +--rw day0-var-path? string 203 +--rw variable* [name] 204 +--rw name string 205 +--rw value? string 207 6. Specification of the VNF YANG Service Model 209 This section presents the specification of the VYSM. 211 file "ietf-vysm@2018-07-01.yang" 212 module ietf-vysm { 213 namespace "urn:ietf:params:xml:ns:yang:ietf-vysm"; 214 prefix ietf-vysm; 215 organization 216 "SFR/ALTICE"; 217 contact 218 "Dmytro Shytyi 219 EMail:ietf.dmytro@shytyi.net"; 220 description 221 "This is a Network Function Virtualization (NFV) YANG 222 service model."; 223 revision 2018-07-01 { 224 description 225 "Initial revision."; 226 reference 227 "draft-shytyi-netmod-vysm-01"; 228 } 230 list virtualization { 231 key name; 232 leaf name { 233 type string; 234 description "Name of the instance of the service"; 235 } 237 // may replace this with other ways of refering to the devices. 238 leaf-list device { 239 type string; 240 description "List of the devices in available in the 241 orchestrator"; 242 } 244 list links{ 245 key link; 246 leaf link{ 247 type string; 248 description "Name of the virtual link from the pool 249 of the links"; 250 } 251 description "Pool of the virtual links that connect VMs and 252 Interfaces"; 253 } 254 list interfaces{ 255 key interface; 256 leaf interface{ 257 type string; 258 description "Name of physical interface"; 259 } 260 list ports{ 261 key port; 262 leaf port{ 263 type string; 264 description "Name of the connector"; 265 } 266 leaf link{ 267 type leafref{ 268 path "../../../links/link"; 269 } 270 description "Link that is connected to 271 the port via connector"; 272 } 273 description "Set of the connectors the 274 physical interface has"; 275 } 276 description "Set of physical interfaces"; 277 } 278 list switches{ 279 key switch; 280 leaf switch{ 281 type string; 282 description "Name of the forwarding domain"; 283 } 284 list ports{ 285 key port; 286 leaf port{ 287 type string; 288 description "Name of the connector"; 289 } 290 leaf name{ 291 type string; 292 description "Name of the subconnector"; 293 } 294 leaf link{ 295 type leafref{ 296 path "../../../links/link"; 297 } 298 description "Link that is connected to the 299 switch via port"; 300 } 301 description "Set of the connectors the 302 forwarding domain has"; 303 } 304 description "Set of the forwarding domains"; 306 } 308 list vms{ 309 key vm; 310 leaf vm{ 311 type string; 312 description "Name of the Virtual Machine"; 313 } 314 list ports{ 315 key port; 316 leaf port{ 317 type string; 318 description "Name of the connector"; 319 } 320 leaf name{ 321 type string; 322 description "Name of the subconnector"; 323 } 324 leaf link{ 325 type leafref{ 326 path "../../../links/link"; 327 } 328 description "Link that connects the 329 VM with a switch or Interface 330 via connector"; 331 } 332 description "Set of Virtual Machine connectors"; 333 } 335 leaf ram{ 336 type string; 337 description "Amount of memory to allocate for 338 the Guest OS"; 339 } 340 leaf cpu{ 341 type string; 342 description "Amount of cpus to allocate for the 343 Guest OS"; 344 } 345 list storages{ 346 key id; 347 leaf id{ 348 type string; 349 description "Name of the Storage"; 350 } 351 leaf location{ 352 type string; 353 description "External location where 354 the image is saved."; 355 } 356 description "Virtual storge of the image 357 for the Virtual Machine"; 358 } 359 container day0-config{ 360 leaf location{ 361 type string; 362 description "0day configuration location"; 363 } 364 leaf day0-var-path{ 365 type string; 366 description "path of the file that contains the 367 0day variables"; 368 } 369 list variable{ 370 key name; 371 leaf name{ 372 type string; 373 description "variable name"; 374 } 375 leaf value{ 376 type string; 377 description "variable value"; 378 } 379 description "list of variables"; 380 } 381 description "0day configuration:init config"; 383 } 384 description "Set of the Virtual Machines configured 385 on the universal Customer-Premises Equipment"; 386 } 387 description "This is an RFS skeleton service"; 388 } 389 } 390 } 391 393 7. Security Considerations 395 At this time, no security considerations are addressed by this memo. 397 8. IANA Considerations 399 No request to IANA at this time. 401 9. Acknowledgements 403 At this time, no acknowledgements are addressed by this memo. 405 10. Normative References 407 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 408 Requirement Levels", BCP 14, RFC 2119, 409 DOI 10.17487/RFC2119, March 1997, 410 . 412 [RFC8199] Bogdanovic, D., Claise, B., and C. Moberg, "YANG Module 413 Classification", RFC 8199, DOI 10.17487/RFC8199, July 414 2017, . 416 Authors' Addresses 418 Dmytro Shytyi 419 SFR/ALTICE 420 Paris area , Ile-de-France 421 France 423 Email: ietf.dmytro@shytyi.net 424 URI: http://dmytro.shytyi.net 426 Laurent Beylier 427 SFR/ALTICE 428 Paris area , Ile-de-France 429 France 431 LUIGI IANNONE 432 Telecom ParisTech 433 Paris , Ile-de-France 434 France