blob: ef2edde8693304e5c549135009e8ae7b34560f23 [file] [log] [blame]
velandy88a64f12017-06-07 23:32:49 -04001
2/*
Adam Israelcc14dd72017-06-28 14:31:45 -04003 *
Rajesh Velandye27e0b22017-09-18 17:21:48 -04004 * Copyright 2016-2017 RIFT.IO Inc
velandy88a64f12017-06-07 23:32:49 -04005 *
6 * Licensed under the Apache License, Version 2.0 (the "License");
7 * you may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
9 *
10 * http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
17 *
18 *
19 */
20
21module vnfr
22{
23 namespace "urn:ietf:params:xml:ns:yang:nfvo:vnfr";
24 prefix "vnfr";
25
26 import mano-types {
27 prefix "manotypes";
28 }
29
Rajesh Velandye27e0b22017-09-18 17:21:48 -040030 import vnfd-base {
31 prefix "vnfd-base";
velandy88a64f12017-06-07 23:32:49 -040032 }
33
Rajesh Velandye27e0b22017-09-18 17:21:48 -040034 import project-vnfd {
35 prefix "project-vnfd";
36 }
37
38 import project-nsd {
39 prefix "project-nsd";
velandy88a64f12017-06-07 23:32:49 -040040 }
41
42 import vlr {
43 prefix "vlr";
44 }
45
46 import ietf-yang-types {
47 prefix "yang";
48 }
49
50 import ietf-inet-types {
51 prefix "inet";
52 }
53
Rajesh Velandye27e0b22017-09-18 17:21:48 -040054 import rw-project {
55 prefix "rw-project";
56 }
57
58 revision 2017-02-28 {
59 description
60 "Update model to support projects.";
61 }
62
velandy88a64f12017-06-07 23:32:49 -040063 revision 2015-09-10 {
64 description
65 "Initial revision. This YANG file defines
66 the Virtual Network Function Record (VNFR)";
67 reference
68 "Derived from earlier versions of base YANG files";
69 }
70
Rajesh989442e2017-10-08 04:13:32 +000071 typedef vdu-operational-status {
72 type enumeration {
73 enum init;
74 enum vm-init-phase;
75 enum vm-alloc-pending;
76 enum running;
Adam Israelfcfb1cb2017-10-10 12:12:30 -040077 enum upgrading;
Rajesh989442e2017-10-08 04:13:32 +000078 enum terminate;
79 enum vl-terminate-phase;
80 enum terminated;
81 enum failed;
82 }
83 }
84
85 typedef vnf-operational-status {
86 type enumeration {
87 enum pre-init;
88 enum init;
89 enum vl-init-phase;
90 enum vm-init-phase;
91 enum running;
Adam Israelfcfb1cb2017-10-10 12:12:30 -040092 enum upgrading; // Experimental
Rajesh989442e2017-10-08 04:13:32 +000093 enum terminate;
94 enum vm-terminate-phase;
95 enum vl-terminate-phase;
96 enum terminated;
97 enum failed;
98 }
99 }
100
velandy88a64f12017-06-07 23:32:49 -0400101 grouping placement-group-info {
102 list placement-groups-info {
103 description
104 "
105 Placement groups to which this VDU belongs and its
106 cloud construct
107 ";
108 key "name";
109 uses manotypes:placement-group-info;
110 uses manotypes:placement-group-input;
Adam Israelcc14dd72017-06-28 14:31:45 -0400111 }
velandy88a64f12017-06-07 23:32:49 -0400112 }
Adam Israelcc14dd72017-06-28 14:31:45 -0400113
velandy88a64f12017-06-07 23:32:49 -0400114 grouping virtual-interface {
115 container virtual-interface {
116 description
117 "Container for the virtual interface properties";
118
119 leaf type {
120 description
121 "Specifies the type of virtual interface
122 between VM and host.
123 VIRTIO : Use the traditional VIRTIO interface.
124 PCI-PASSTHROUGH : Use PCI-PASSTHROUGH interface.
125 SR-IOV : Use SR-IOV interface.";
126 type enumeration {
127 enum VIRTIO;
128 enum PCI-PASSTHROUGH;
129 enum SR-IOV;
130 }
131 }
132
133 leaf bandwidth {
134 description
135 "Aggregate bandwidth of the NIC.";
136 type uint64;
137 }
138
139 leaf ovs-offload {
140 description
141 "Defines if the NIC supports OVS offload.
142 MANDATORY : OVS offload support in the NIC is mandatory.
143 PREFERRED : OVS offload support in the NIC is preferred.";
144 type enumeration {
145 enum MANDATORY;
146 enum PREFERRED;
147 }
148 }
149
150 leaf vendor-id {
151 description
152 "Specifies the vendor specific id for
153 the device. This is used when a NIC from
154 specific HW vendor is required.";
155 type string;
156 }
157
158 leaf datapath-library {
159 description
160 "Specifies the name and version of the datapath
161 library the NIC is expected to support.";
162 type string;
163 }
164
165 leaf provider-network-name {
166 description
167 "Name of the provider network to which this
168 NIC is attached.";
169 type string;
170 }
171 }
172 }
173
Rajesh Velandye27e0b22017-09-18 17:21:48 -0400174 grouping associated-virtual-cps {
175 list virtual-cps {
176 key "name";
177 uses vnfd-base:common-connection-point;
velandy88a64f12017-06-07 23:32:49 -0400178
Rajesh Velandye27e0b22017-09-18 17:21:48 -0400179 leaf ip-address {
180 description
181 "IP address assigned to the virtual connection point";
182 type inet:ip-address;
velandy88a64f12017-06-07 23:32:49 -0400183 }
184
Rajesh Velandye27e0b22017-09-18 17:21:48 -0400185 leaf mac-address {
velandy88a64f12017-06-07 23:32:49 -0400186 description
Rajesh Velandye27e0b22017-09-18 17:21:48 -0400187 "MAC address assigned to the virtual connection point";
188 type string;
189 }
190
191 leaf connection-point-id {
192 description "VIM identifier for connection point";
193 type string;
194 }
195 }
196 }
197
198 augment "/rw-project:project" {
199 container vnfr-catalog {
garciadeblas781fe342017-12-18 11:34:47 +0100200 leaf schema-version {
201 description "Schema version for the VNFR. If unspecified, it assumes v3.0";
202 type string;
203 default "v3.0";
204 }
205
Rajesh Velandye27e0b22017-09-18 17:21:48 -0400206 config false;
207 list vnfr {
208 description
209 "Virtual Network Function Record (VNFR).";
210 key "id";
211 unique "name";
212
213 leaf id {
214 description "Identifier for the VNFR.";
215 type yang:uuid;
216 }
217
218 leaf nsr-id-ref {
219 description
velandy88a64f12017-06-07 23:32:49 -0400220 "NS instance identifier.
221 This is a leafref /nsr:ns-instance-config/nsr:nsr/nsr:id";
Rajesh Velandye27e0b22017-09-18 17:21:48 -0400222 type yang:uuid;
velandy88a64f12017-06-07 23:32:49 -0400223 }
velandy88a64f12017-06-07 23:32:49 -0400224
Rajesh Velandye27e0b22017-09-18 17:21:48 -0400225 leaf member-vnf-index-ref {
226 description "Reference to member VNF index in Network service.";
227 type leafref {
228 path "../../../project-nsd:nsd-catalog/project-nsd:nsd/project-nsd:constituent-vnfd/project-nsd:member-vnf-index";
229 }
230 }
velandy88a64f12017-06-07 23:32:49 -0400231
Rajesh Velandye27e0b22017-09-18 17:21:48 -0400232 leaf dashboard-url {
233 description "Dashboard URL";
234 type inet:uri;
235 }
velandy88a64f12017-06-07 23:32:49 -0400236
Rajesh Velandye27e0b22017-09-18 17:21:48 -0400237 leaf name {
238 description "VNFR name.";
239 type string;
240 }
velandy88a64f12017-06-07 23:32:49 -0400241
Rajesh Velandye27e0b22017-09-18 17:21:48 -0400242 leaf short-name {
243 description "VNFR short name.";
244 type string;
245 }
velandy88a64f12017-06-07 23:32:49 -0400246
Rajesh Velandye27e0b22017-09-18 17:21:48 -0400247 leaf vendor {
248 description "Vendor of the VNFR.";
249 type string;
250 }
velandy88a64f12017-06-07 23:32:49 -0400251
Rajesh Velandye27e0b22017-09-18 17:21:48 -0400252 leaf description {
253 description "Description of the VNFR.";
254 type string;
255 }
velandy88a64f12017-06-07 23:32:49 -0400256
Rajesh Velandye27e0b22017-09-18 17:21:48 -0400257 leaf version {
258 description "Version of the VNFR";
259 type string;
260 }
261
262 leaf create-time {
263 description
264 "Creation timestamp of this Virtual Network
Adam Israelcc14dd72017-06-28 14:31:45 -0400265 Function. The timestamp is expressed as
velandy88a64f12017-06-07 23:32:49 -0400266 seconds since unix epoch - 1970-01-01T00:00:00Z";
267
Rajesh Velandye27e0b22017-09-18 17:21:48 -0400268 type uint32;
269 }
velandy88a64f12017-06-07 23:32:49 -0400270
Rajesh Velandye27e0b22017-09-18 17:21:48 -0400271 leaf uptime {
272 description
273 "Active period of this Virtual Network Function.
velandy88a64f12017-06-07 23:32:49 -0400274 Uptime is expressed in seconds";
275
Rajesh Velandye27e0b22017-09-18 17:21:48 -0400276 type uint32;
277 }
velandy88a64f12017-06-07 23:32:49 -0400278
Rajesh Velandye27e0b22017-09-18 17:21:48 -0400279 container vnfd {
280 description "VNF descriptor used to instantiate this VNF";
281 uses vnfd-base:vnfd-descriptor;
282 }
velandy88a64f12017-06-07 23:32:49 -0400283
Rajesh Velandye27e0b22017-09-18 17:21:48 -0400284 leaf vnfd-ref {
285 description "Reference to VNFD";
286 type leafref {
287 path "../../../project-vnfd:vnfd-catalog/project-vnfd:vnfd/project-vnfd:id";
288 }
289 }
290
291 // Use parameters provided here to configure this VNF
garciadeblas0ec676d2017-12-18 18:22:27 +0100292 container vnf-configuration {
293 uses manotypes:vca-configuration;
294 }
velandy88a64f12017-06-07 23:32:49 -0400295
Rajesh Velandye27e0b22017-09-18 17:21:48 -0400296 // Mainly used by Mon-params & dashboard url
297 container mgmt-interface {
298 leaf ip-address {
299 type inet:ip-address;
300 }
velandy88a64f12017-06-07 23:32:49 -0400301
Rajesh Velandye27e0b22017-09-18 17:21:48 -0400302 leaf port {
303 type inet:port-number;
304 }
velandy88a64f12017-06-07 23:32:49 -0400305
Rajesh Velandye27e0b22017-09-18 17:21:48 -0400306 container ssh-key {
307 description "SSH key pair used for this VNF";
308 leaf public-key {
309 description "Public key configured on this VNF";
310 type string;
311 }
312
313 leaf private-key-file {
314 description "Path to the private key file";
315 type string;
316 }
velandy88a64f12017-06-07 23:32:49 -0400317 }
318 }
319
Rajesh Velandye27e0b22017-09-18 17:21:48 -0400320 list internal-vlr {
321 key "vlr-ref";
322
323 leaf vlr-ref {
324 description "Reference to a VLR record in the VLR catalog";
325 type leafref {
326 path "../../../../vlr:vlr-catalog/vlr:vlr/vlr:id";
327 }
328 }
329
330 leaf-list internal-connection-point-ref {
331 type leafref {
332 path "../../vdur/internal-connection-point/id";
333 }
velandy88a64f12017-06-07 23:32:49 -0400334 }
335 }
velandy88a64f12017-06-07 23:32:49 -0400336
Rajesh Velandye27e0b22017-09-18 17:21:48 -0400337 list connection-point {
338 key "name";
339 description
velandy88a64f12017-06-07 23:32:49 -0400340 "List for external connection points. Each VNF has one
341 or more external connection points. As the name
342 implies that external connection points are used for
343 connecting the VNF to other VNFs or to external networks.
344 Each VNF exposes these connection points to the
345 orchestrator. The orchestrator can construct network
346 services by connecting the connection points between
347 different VNFs. The NFVO will use VLDs and VNFFGs at
348 the network service level to construct network services.";
349
Rajesh Velandye27e0b22017-09-18 17:21:48 -0400350 uses vnfd-base:common-connection-point;
velandy88a64f12017-06-07 23:32:49 -0400351
Rajesh Velandye27e0b22017-09-18 17:21:48 -0400352 leaf vlr-ref {
353 description
velandy88a64f12017-06-07 23:32:49 -0400354 "Reference to the VLR associated with this connection point";
Rajesh Velandye27e0b22017-09-18 17:21:48 -0400355 type leafref {
356 path "../../../../vlr:vlr-catalog/vlr:vlr/vlr:id";
357 }
velandy88a64f12017-06-07 23:32:49 -0400358 }
velandy88a64f12017-06-07 23:32:49 -0400359
Rajesh Velandye27e0b22017-09-18 17:21:48 -0400360 leaf ip-address {
361 description
velandy88a64f12017-06-07 23:32:49 -0400362 "IP address assigned to the external connection point";
Rajesh Velandye27e0b22017-09-18 17:21:48 -0400363 type inet:ip-address;
velandy88a64f12017-06-07 23:32:49 -0400364 }
Rajesh989442e2017-10-08 04:13:32 +0000365
Rajesh Velandye27e0b22017-09-18 17:21:48 -0400366 leaf mac-address {
367 description
368 "MAC address assigned to the external connection point";
369 // type inet:mac-address;
370 type string;
371 }
372
373 leaf connection-point-id {
374 type string;
375 }
376
377 uses associated-virtual-cps;
velandy88a64f12017-06-07 23:32:49 -0400378 }
379
Rajesh Velandye27e0b22017-09-18 17:21:48 -0400380 list vdur {
381 description "List of Virtual Deployment Units";
382 key "id";
383 unique "name";
velandy88a64f12017-06-07 23:32:49 -0400384
Rajesh Velandye27e0b22017-09-18 17:21:48 -0400385 leaf id {
386 description "Unique id for the VDU";
387 type yang:uuid;
388 }
velandy88a64f12017-06-07 23:32:49 -0400389
Rajesh Velandye27e0b22017-09-18 17:21:48 -0400390 leaf name {
391 description "name of the instantiated VDUR";
392 type string;
393 }
velandy88a64f12017-06-07 23:32:49 -0400394
Rajesh Velandye27e0b22017-09-18 17:21:48 -0400395 leaf unique-short-name {
396 description "Short Unique name of the VDU
397 This will be of the format NSR name-ShortnedString-VDUname
398 NSR name and VDU name shall be constrained to 10 characters";
Rajesh Velandye27e0b22017-09-18 17:21:48 -0400399 type string;
400 }
velandy88a64f12017-06-07 23:32:49 -0400401
Rajesh Velandye27e0b22017-09-18 17:21:48 -0400402 leaf vdu-id-ref {
403 type leafref {
404 path "../../vnfd/vdu/id";
405 }
406 }
velandy88a64f12017-06-07 23:32:49 -0400407
Rajesh Velandye27e0b22017-09-18 17:21:48 -0400408 leaf vim-id {
409 description "Allocated VM resource id";
410 type string;
411 }
velandy88a64f12017-06-07 23:32:49 -0400412
Rajesh Velandye27e0b22017-09-18 17:21:48 -0400413 leaf flavor-id {
414 description "VIM assigned flavor id";
415 type string;
416 }
velandy88a64f12017-06-07 23:32:49 -0400417
Rajesh Velandye27e0b22017-09-18 17:21:48 -0400418 leaf image-id {
419 description "VIM assigned image id";
420 type string;
421 }
422
423 leaf management-ip {
424 description "Management IP address";
425 type inet:ip-address;
426 }
427
428 leaf vm-management-ip {
429 description "VM Private Management IP address";
430 type inet:ip-address;
431 }
432
433 leaf console-url {
434 description "Console URL for this VDU, if available";
435 type inet:uri;
436 }
437
438 uses manotypes:vm-flavor;
439 uses manotypes:guest-epa;
440 uses manotypes:vswitch-epa;
441 uses manotypes:hypervisor-epa;
442 uses manotypes:host-epa;
443
444 uses manotypes:supplemental-boot-data;
velandy88a64f12017-06-07 23:32:49 -0400445
garciadeblas0ec676d2017-12-18 18:22:27 +0100446 container vdu-configuration {
447 uses manotypes:vca-configuration;
448 }
Adam Israelcc14dd72017-06-28 14:31:45 -0400449
garciadeblas7c7af702018-06-12 15:43:51 +0200450 list monitoring-param {
451 description
452 "List of VDU-related monitoring parameters at NFVI level";
453 key id;
454 leaf id {
455 description "The unique id of the monitoring param at VDU level";
456 type string;
457 }
458
459 leaf nfvi-metric {
460 description "The associated NFVI metric to be monitored";
461 type manotypes:nfvi-metric-type;
462 }
463
464 leaf interface-name-ref {
465 description
466 "Reference to a VDU interface name. Applicable only when the nfvi-metric
467 refers to an interface and not to the VM";
468 type leafref {
469 path "../../interface/name";
470 }
471 }
472 }
473
Rajesh Velandye27e0b22017-09-18 17:21:48 -0400474 list volumes {
475 key "name";
velandy88a64f12017-06-07 23:32:49 -0400476
Rajesh Velandye27e0b22017-09-18 17:21:48 -0400477 leaf name {
478 description "Name of the disk-volumes, e.g. vda, vdb etc";
479 type string;
480 }
481
482 leaf volume-id {
483 description "VIM assigned volume id";
484 type string;
485 }
486
487 uses manotypes:volume-info;
velandy88a64f12017-06-07 23:32:49 -0400488 }
489
Rajesh Velandye27e0b22017-09-18 17:21:48 -0400490 list internal-connection-point {
491 key "id";
492 description
velandy88a64f12017-06-07 23:32:49 -0400493 "List for internal connection points. Each VNFC
494 has zero or more internal connection points.
495 Internal connection points are used for connecting
496 the VNF components internal to the VNF. If a VNF
497 has only one VNFC, it may not have any internal
498 connection points.";
499
Rajesh Velandye27e0b22017-09-18 17:21:48 -0400500 uses vnfd-base:common-connection-point;
velandy88a64f12017-06-07 23:32:49 -0400501
Rajesh Velandye27e0b22017-09-18 17:21:48 -0400502 leaf ip-address {
503 description
velandy88a64f12017-06-07 23:32:49 -0400504 "IP address assigned to the internal connection point";
Rajesh Velandye27e0b22017-09-18 17:21:48 -0400505 type inet:ip-address;
506 }
Rajesh989442e2017-10-08 04:13:32 +0000507
Rajesh Velandye27e0b22017-09-18 17:21:48 -0400508 leaf mac-address {
509 description
velandy88a64f12017-06-07 23:32:49 -0400510 "MAC address assigned to the internal connection point";
Rajesh Velandye27e0b22017-09-18 17:21:48 -0400511 // type inet:mac-address;
512 type string;
513 }
velandy88a64f12017-06-07 23:32:49 -0400514
Rajesh Velandye27e0b22017-09-18 17:21:48 -0400515 leaf connection-point-id {
516 type string;
517 }
518
519 uses associated-virtual-cps;
520 }
521
garciadeblas0ec676d2017-12-18 18:22:27 +0100522 list interface {
velandy88a64f12017-06-07 23:32:49 -0400523 description
garciadeblas0ec676d2017-12-18 18:22:27 +0100524 "List of interfaces (internal and external) for the VNF";
525 key name;
velandy88a64f12017-06-07 23:32:49 -0400526
garciadeblas0ec676d2017-12-18 18:22:27 +0100527 leaf name {
528 description
529 "Name of the interface. Note that this
530 name has only local significance to the VDU.";
531 type string;
532 }
Rajesh Velandye27e0b22017-09-18 17:21:48 -0400533
garciadeblas0ec676d2017-12-18 18:22:27 +0100534 leaf position {
535 description
536 "Explicit Position of the interface within the list";
537 type uint32;
538 }
Rajesh Velandye27e0b22017-09-18 17:21:48 -0400539
garciadeblas0ec676d2017-12-18 18:22:27 +0100540 leaf type {
541 description
542 "Type of the Interface";
Rajesh Velandye27e0b22017-09-18 17:21:48 -0400543
garciadeblas0ec676d2017-12-18 18:22:27 +0100544 type vnfd-base:interface-type;
545
546 default "EXTERNAL";
547 }
548 choice connection-point-type {
549 case internal {
550 leaf internal-connection-point-ref {
551 description
552 "Leaf Ref to the particular internal connection point";
553 type leafref {
554 path "../../internal-connection-point/id";
555 }
556 }
557 }
558 case external {
559 leaf external-connection-point-ref {
560 description
561 "Leaf Ref to the particular external connection point";
562 type leafref {
563 path "../../../connection-point/name";
564 }
Rajesh Velandye27e0b22017-09-18 17:21:48 -0400565 }
566 }
567 }
garciadeblas0ec676d2017-12-18 18:22:27 +0100568 uses virtual-interface;
velandy88a64f12017-06-07 23:32:49 -0400569 }
velandy88a64f12017-06-07 23:32:49 -0400570
garciadeblas0ec676d2017-12-18 18:22:27 +0100571 leaf operational-status {
Rajesh989442e2017-10-08 04:13:32 +0000572 description
573 "The operational status of the VDU
574 init : The VDU has just started.
575 vm-init-phase : The VDUs in the VNF is being created in VIM.
576 vm-alloc-pending : The VM alloc is pending in VIM
577 running : The VDU is active in VM
Adam Israelfcfb1cb2017-10-10 12:12:30 -0400578 upgrading : The VDU is being upgraded (EXPERIMENTAL)
Rajesh989442e2017-10-08 04:13:32 +0000579 terminate : The VDU is being terminated
580 vm-terminate-phase : The VDU in the VNF is being terminated in VIM.
581 terminated : The VDU is in the terminated state.
582 failed : The VDU instantiation failed.
583 ";
584 type vdu-operational-status;
garciadeblas0ec676d2017-12-18 18:22:27 +0100585 }
Rajesh Velandye27e0b22017-09-18 17:21:48 -0400586
587 uses placement-group-info;
588 }
589
garciadeblas7c7af702018-06-12 15:43:51 +0200590 list monitoring-param {
591 description
592 "List of monitoring parameters at the network service level";
593 key id;
594 leaf id {
595 type string;
596 }
597
598 leaf name {
599 type string;
600 }
601
602 uses manotypes:monitoring-param-aggregation;
603
604 choice monitoring-type {
605 description
606 "Defines the type of monitoring param to be used:
607 * vdu-monitorin-param: VDU-related metric (from NFVI)
608 * vnf-metric: VNF-related metric (from VCA)
609 * vdu-metric: VDU-related metric (from VCA)
610 ";
611
612 case vdu-monitoring-param {
613 description "VDU-related metric from the infrastructure";
614 container vdu-monitoring-param {
615 leaf vdu-ref {
616 type leafref {
617 path "../../../vdur/id";
618 }
619 }
620 leaf vdu-monitoring-param-ref {
621 type leafref {
622 path "../../../vdur[id = current()/../vdu-ref]/monitoring-param/id";
623 }
624 }
625 }
626 }
627
628 case vnf-metric {
629 description "VNF-related metric (from VCA)";
630 container vnf-metric {
631 leaf vnf-metric-name-ref {
632 type leafref {
633 path "../../../vnf-configuration/metrics/name";
634 }
635 }
636 }
637 }
638
639 case vdu-metric {
640 description "VDU-related metric (from VCA)";
641 container vdu-metric {
642 leaf vdu-ref {
643 type leafref {
644 path "../../../vdur/id";
645 }
646 }
647 leaf vdu-metric-name-ref {
648 type leafref {
649 path "../../../vdur[id = current()/../vdu-ref]/vdu-configuration/metrics/name";
650 }
651 }
652 }
653 }
654
655 }
656
657 }
Rajesh Velandye27e0b22017-09-18 17:21:48 -0400658
659 leaf operational-status {
660 description
661 "The operational status of the VNFR instance
662 pre-init : The VNF before Input Param Substitution.
663 init : The VNF has just started.
664 vl-init-phase : The internal VLs in the VNF are being instantiated.
665 vm-init-phase : The VMs for VDUs in the VNF are being instantiated.
666 running : The VNF is in running state.
667 terminate : The VNF is being terminated.
668 vm-terminate-phase : The VMs in the VNF are being terminated.
669 vl-terminate-phase : The internal VLs in the VNF are being terminated.
670 terminated : The VNF is in the terminated state.
671 failed : The VNF instantiation failed
672 ";
Rajesh989442e2017-10-08 04:13:32 +0000673 type vnf-operational-status;
velandy88a64f12017-06-07 23:32:49 -0400674 }
velandy88a64f12017-06-07 23:32:49 -0400675
Rajesh Velandye27e0b22017-09-18 17:21:48 -0400676 leaf config-status {
677 description
678 "The configuration status of the NS instance
velandy88a64f12017-06-07 23:32:49 -0400679 configuring: At least one of the VNFs in this instance is in configuring state
680 configured: All the VNFs in this NS instance are configured or config-not-needed state
681 ";
682
Rajesh Velandye27e0b22017-09-18 17:21:48 -0400683 type enumeration {
684 enum configuring {
685 value 1;
686 }
687 enum configured {
688 value 2;
689 }
690 enum failed {
691 value 3;
692 }
693 enum config-not-needed {
694 value 4;
695 }
velandy88a64f12017-06-07 23:32:49 -0400696 }
697 }
Rajesh Velandye27e0b22017-09-18 17:21:48 -0400698 uses placement-group-info;
velandy88a64f12017-06-07 23:32:49 -0400699
Rajesh Velandye27e0b22017-09-18 17:21:48 -0400700 container cloud-config {
Rajesh Velandye27e0b22017-09-18 17:21:48 -0400701 uses manotypes:cloud-config;
702 }
velandy88a64f12017-06-07 23:32:49 -0400703 }
704 }
705 }
706}