4 * Copyright 2016 RIFT.IO Inc
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
10 * http://www.apache.org/licenses/LICENSE-2.0
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.
23 namespace "http://riftio.com/ns/riftware-1.0/rw-vnfr";
30 import rw-pb-ext { prefix "rwpb"; }
48 import ietf-yang-types {
54 "Initial revision. This YANG file augments
57 "Derived from earlier versions of base YANG files";
60 grouping vnfr-operational-events {
61 list operational-events {
64 "Recent operational events for VNFR
65 Though the model does not impose any restrictions on the numbe of events,
66 the max operational events will be limited to the most recent 10";
69 description "The id of the instance";
75 "The timestamp of this event expressed as seconds since
76 unix epoch - 1970-01-01T00:00:00Z";
80 description "The event";
82 //rwpb:enum-type "VnfrOperationalEvent";
83 enum instantiate-rcvd;
95 "The description of this event";
101 grouping vdur-operational-events {
102 list operational-events {
105 "Recent operational events for VDUR
106 Though the model does not impose any restrictions on the numbe of events,
107 the max operational events will be limited to the most recent 10";
110 description "The id of the instance";
116 "The timestamp of this event expressed as seconds since
117 unix epoch - 1970-01-01T00:00:00Z";
121 description "The event";
123 //rwpb:enum-type "VdurOperationalEvent";
124 enum instantiate-rcvd;
125 enum vm-allocation-requested;
128 enum vm-terminate-requested;
134 "The description of this event";
140 augment /vnfr:vnfr-catalog/vnfr:vnfr {
141 uses manotypes:action-param;
142 uses manotypes:control-param;
146 "The cloud account to use when requesting resources for
149 path "/rwcloud:cloud/rwcloud:account/rwcloud:name";
153 container nfvi-metrics {
157 "Label to show in UI";
164 "The number of active VMs.";
170 "The number of inactive VMs.";
175 uses manotypes:nfvi-metrics;
180 "This section defines the RIFT.ware
182 key "component-name";
183 //rwpb:msg-new VcsComponentOp;
184 //rwpb:application-request-point;
186 leaf component-name {
191 leaf component-type {
193 type rwvcstypes:component_type;
198 case rwvcs-rwcollection {
199 uses rwvcstypes:rwvcs-rwcollection;
202 uses rwvcstypes:rwvcs-rwvm;
205 uses rwvcstypes:rwvcs-rwproc;
208 uses rwvcstypes:native-proc;
210 case rwvcs-rwtasklet {
211 uses rwvcstypes:rwvcs-rwtasklet;
215 uses vnfr-operational-events;
218 augment /vnfr:vnfr-catalog/vnfr:vnfr/vnfr:vdur {
221 "The pool from which this vm was allocated from";
225 container nfvi-metrics {
226 uses manotypes:nfvi-metrics;
229 leaf vcs-component-ref {
231 "This defines the software components using the
232 RIFT.ware Virtual Component System (VCS). This
233 also allows specifying a state machine during
235 NOTE: This is an significant addition to MANO,
236 since MANO doesn't clearly specify a method to
237 identify various software components in a VM.
238 Also using a state machine is not something that
239 is well described in MANO.";
241 path "/vnfr:vnfr-catalog/vnfr:vnfr/rw-vnfr:component/rw-vnfr:component-name";
244 uses vdur-operational-events;
246 grouping vnfd-ref-count {
247 list vnfd-ref-count {
249 description "This table maintains the number of VNFRs used by each VNFD";
252 description "Reference to VNFD";
254 path "/vnfd:vnfd-catalog/vnfd:vnfd/vnfd:id";
257 leaf instance-ref-count {
259 "Reference count for the number of VNFRs refering this VNFD.
260 Every VNF Record instantiated using this descriptor takes
261 a reference on the VNFD and releases the reference when the
262 virtual network service is terminated. This desciptor cannot
263 be deleted when this counter is non zero";
268 augment /vnfr:vnfr-catalog {