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 {
52 import ietf-inet-types {
58 "Initial revision. This YANG file augments
61 "Derived from earlier versions of base YANG files";
64 grouping vnfr-operational-events {
65 list operational-events {
68 "Recent operational events for VNFR
69 Though the model does not impose any restrictions on the numbe of events,
70 the max operational events will be limited to the most recent 10";
73 description "The id of the instance";
79 "The timestamp of this event expressed as seconds since
80 unix epoch - 1970-01-01T00:00:00Z";
84 description "The event";
86 rwpb:enum-type "VnfrOperationalEvent";
87 enum instantiate-rcvd;
99 "The description of this event";
105 grouping vdur-operational-events {
106 list operational-events {
109 "Recent operational events for VDUR
110 Though the model does not impose any restrictions on the numbe of events,
111 the max operational events will be limited to the most recent 10";
114 description "The id of the instance";
120 "The timestamp of this event expressed as seconds since
121 unix epoch - 1970-01-01T00:00:00Z";
125 description "The event";
127 rwpb:enum-type "VdurOperationalEvent";
128 enum instantiate-rcvd;
129 enum vm-allocation-requested;
132 enum vm-terminate-requested;
138 "The description of this event";
144 augment /vnfr:vnfr-catalog/vnfr:vnfr {
145 uses manotypes:action-param;
146 uses manotypes:control-param;
150 "The cloud account to use when requesting resources for
153 path "/rwcloud:cloud/rwcloud:account/rwcloud:name";
159 "Openmano datacenter name to use when instantiating
160 the network service. This is only used when openmano
161 is selected as the cloud account. This should be superceded
162 by multiple cloud accounts when that becomes available.";
166 container nfvi-metrics {
170 "Label to show in UI";
177 "The number of active VMs.";
183 "The number of inactive VMs.";
188 uses manotypes:nfvi-metrics;
193 "This section defines the RIFT.ware
195 key "component-name";
196 rwpb:msg-new VcsComponentOp;
197 rwpb:application-request-point;
199 leaf component-name {
204 leaf component-type {
206 type rwvcstypes:component_type;
211 case rwvcs-rwcollection {
212 uses rwvcstypes:rwvcs-rwcollection;
215 uses rwvcstypes:rwvcs-rwvm;
218 uses rwvcstypes:rwvcs-rwproc;
221 uses rwvcstypes:native-proc;
223 case rwvcs-rwtasklet {
224 uses rwvcstypes:rwvcs-rwtasklet;
229 uses vnfr-operational-events;
231 leaf operational-status-details {
233 "The error message in case of a failed VNFR operational status";
238 augment /vnfr:vnfr-catalog/vnfr:vnfr/vnfr:vdur {
241 "The pool from which this vm was allocated from";
245 container nfvi-metrics {
246 uses manotypes:nfvi-metrics;
249 leaf vcs-component-ref {
251 "This defines the software components using the
252 RIFT.ware Virtual Component System (VCS). This
253 also allows specifying a state machine during
255 NOTE: This is an significant addition to MANO,
256 since MANO doesn't clearly specify a method to
257 identify various software components in a VM.
258 Also using a state machine is not something that
259 is well described in MANO.";
261 path "/vnfr:vnfr-catalog/vnfr:vnfr/rw-vnfr:component/rw-vnfr:component-name";
265 uses vdur-operational-events;
267 leaf operational-status-details {
269 "The error message in case of a failed VDU operational status";
273 grouping vnfd-ref-count {
274 list vnfd-ref-count {
276 description "This table maintains the number of VNFRs used by each VNFD";
279 description "Reference to VNFD";
281 path "/vnfd:vnfd-catalog/vnfd:vnfd/vnfd:id";
284 leaf instance-ref-count {
286 "Reference count for the number of VNFRs refering this VNFD.
287 Every VNF Record instantiated using this descriptor takes
288 a reference on the VNFD and releases the reference when the
289 virtual network service is terminated. This desciptor cannot
290 be deleted when this counter is non zero";
295 augment /vnfr:vnfr-catalog {
299 container vnfr-console {
304 description "Identifier for the VNFR.";
308 description "List of Virtual Deployment Units";
311 description "Unique id for the VDU";
315 description "Console URL for this VDU, if available";