4 * Copyright 2016-2017 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-nsr";
42 import rw-config-agent {
43 prefix "rw-config-agent";
54 import ietf-yang-types {
60 "Update model to support projects.";
65 "Initial revision. This YANG file augments
68 "Derived from earlier versions of base YANG files";
71 grouping operational-events {
72 list operational-events {
75 "Recent operational events for this network service.
76 Though the model does not impose any restrictions on the numbe of events,
77 the max operational events will be limited to the most recent 10";
80 description "The id of the instance";
86 "The timestamp of this event expressed as seconds since
87 unix epoch - 1970-01-01T00:00:00Z";
91 description "Short description of the event";
96 "The description of this event";
101 "The detailed description of this event (in case of errors)";
107 grouping nsd-ref-count {
110 description "This table maintains the number of NSRs used by each NSD";
113 description "Reference to NSD";
115 path "../../../project-nsd:nsd-catalog/project-nsd:nsd/project-nsd:id";
118 leaf instance-ref-count {
120 "Reference count for the number of NSRs refering this NSD.
121 Every NS record instantiated using this descriptor takes
122 a reference on the NSD and releases the reference when the
123 network service is terminated. This desciptor cannot be
124 deleted when this counter is non zero";
130 grouping rw-ns-instance-config {
133 "The configured cloud account which the NSR is instantiated within.
134 All VDU's, Virtual Links, and provider networks will be requested
135 using the cloud-account's associated CAL instance";
137 path "../../../rw-cloud:cloud/rw-cloud:account/rw-cloud:name";
143 "Openmano datacenter name to use when instantiating
144 the network service. This is only used when openmano
145 is selected as the cloud account. This should be superceded
146 by multiple cloud accounts when that becomes available.";
150 list vnf-cloud-account-map {
152 "Mapping VNF to Cloud Account where VNF will be instantiated";
154 key "member-vnf-index-ref";
155 leaf member-vnf-index-ref {
161 "The configured cloud account where VNF is instantiated within.
162 All VDU's, Virtual Links, and provider networks will be requested
163 using the cloud-account's associated CAL instance";
165 path "../../../../rw-cloud:cloud/rw-cloud:account/rw-cloud:name";
171 "Openmano datacenter name to use when instantiating
172 the network service. This is only used when openmano
173 is selected as the cloud account. This should be superceded
174 by multiple cloud accounts when that becomes available.";
178 leaf config-agent-account {
180 "The configured config agent account to use for instantiating this VNF.
181 The configuration for this VNF will be driven using the specified config
184 path "../../../../rw-config-agent:config-agent/" +
185 "rw-config-agent:account/rw-config-agent:name";
190 list vl-cloud-account-map {
192 "Mapping VL to Cloud Account where VL will be instantiated";
198 "A reference to a vld.
199 leafref path ../../nsd/vld/id";
203 leaf-list cloud-accounts {
205 "The configured list of cloud accounts where VL is instantiated.
206 All VDU's, Virtual Links, and provider networks will be requested
207 using the cloud-account's associated CAL instance";
209 path "../../../../rw-cloud:cloud/rw-cloud:account/rw-cloud:name";
213 leaf-list om-datacenters {
215 "Openmano datacenter names to use when instantiating
216 the VLs. This is only used when openmano
217 is selected as the cloud account. This should be superceded
218 by multiple cloud accounts when that becomes available.";
225 augment /rw-project:project/nsr:ns-instance-config/nsr:nsr {
226 uses rw-ns-instance-config;
229 augment /nsr:start-network-service/nsr:input{
232 "The configured cloud account which the NSR is instantiated within.
233 All VDU's, Virtual Links, and provider networks will be requested
234 using the cloud-account's associated CAL instance";
236 path "/rw-project:project[rw-project:name=current()/../" +
237 "nsr:project-name]/rw-cloud:cloud/rw-cloud:account" +
244 "Openmano datacenter name to use when instantiating
245 the network service. This is only used when openmano
246 is selected as the cloud account. This should be superceded
247 by multiple cloud accounts when that becomes available.";
251 list vnf-cloud-account-map {
253 "Mapping VNF to Cloud Account where VNF will be instantiated";
255 key "member-vnf-index-ref";
256 leaf member-vnf-index-ref {
262 "The configured cloud account where VNF is instantiated within.
263 All VDU's, Virtual Links, and provider networks will be requested
264 using the cloud-account's associated CAL instance";
266 path "/rw-project:project[rw-project:name=current()/../../" +
267 "nsr:project-name]/rw-cloud:cloud/rw-cloud:account/" +
274 "Openmano datacenter name to use when instantiating
275 the network service. This is only used when openmano
276 is selected as the cloud account. This should be superceded
277 by multiple cloud accounts when that becomes available.";
281 leaf config-agent-account {
283 "The configured config agent account to use for instantiating this VNF.
284 The configuration for this VNF will be driven using the specified config
287 path "/rw-project:project[rw-project:name=current()/../.." +
288 "/nsr:project-name]/rw-config-agent:config-agent/" +
289 "rw-config-agent:account/rw-config-agent:name";
294 list vl-cloud-account-map {
296 "Mapping VL to Cloud Account where VL will be instantiated";
302 "A reference to a vld.
303 leafref path ../../nsd/vld/id";
307 leaf-list cloud-accounts {
309 "The configured list of cloud accounts where VL is instantiated.
310 All VDU's, Virtual Links, and provider networks will be requested
311 using the cloud-account's associated CAL instance";
313 path "/rw-project:project[rw-project:name=current()/../../" +
314 "nsr:project-name]/rw-cloud:cloud/rw-cloud:account/" +
319 leaf-list om-datacenters {
321 "Openmano datacenter names to use when instantiating
322 the VLs. This is only used when openmano
323 is selected as the cloud account. This should be superceded
324 by multiple cloud accounts when that becomes available.";
330 augment /rw-project:project/nsr:ns-instance-opdata/nsr:nsr {
331 uses manotypes:action-param;
332 uses manotypes:control-param;
336 "The SDN account associted with the cloud account using which an
337 NS was instantiated.";
339 path "../../../rw-sdn:sdn/rw-sdn:account/rw-sdn:name";
343 leaf config-status-details {
345 "The configuration status error details of the NS instance, in case of any errors";
349 container nfvi-metrics {
353 "Label to show in UI";
360 "The number of active VMs.";
366 "The number of inactive VMs.";
371 uses manotypes:nfvi-metrics;
374 container epa-param {
375 container ovs-acceleration {
378 "Label to show in UI for the param";
380 default "OVS ACCELERATION";
385 "Number of VMs with the EPA attribute";
391 "Unit label to show in the UI";
397 container ovs-offload {
400 "Label to show in UI for the param";
402 default "OVS OFFLOAD";
407 "Number of VMs with the EPA attribute";
413 "Unit label to show in the UI";
423 "Label to show in UI for the param";
430 "Number of VMs with the EPA attribute";
436 "Unit label to show in the UI";
446 "Label to show in UI for the param";
453 "Number of VMs with the EPA attribute";
459 "Unit label to show in the UI";
468 "Label to show in UI for the param";
475 "Number of VMs with the EPA attribute";
481 "Unit label to show in the UI";
488 uses operational-events;
491 augment /rw-project:project/nsr:ns-instance-opdata {
495 augment /rw-project:project/nsr:ns-instance-opdata/nsr:nsr/nsr:vlr {
496 leaf assigned-subnet {
497 description "Subnet added for the VL";
502 "The configured cloud account in which the VL is instantiated within.";
504 path "../../../../rw-cloud:cloud/rw-cloud:account/rw-cloud:name";
509 "Openmano datacenter name to use when instantiating
510 the network service. This is only used when openmano
511 is selected as the cloud account. This should be superceded
512 by multiple cloud accounts when that becomes available.";
517 augment /rw-project:project/nsr:ns-instance-opdata/nsr:nsr/nsr:constituent-vnfr-ref {
520 "The configured cloud account in which the VNF is instantiated within.
521 All VDU's, Virtual Links, and provider networks will be requested
522 using the cloud-account's associated CAL instance";
524 path "../../../../rw-cloud:cloud/rw-cloud:account/rw-cloud:name";
529 "Openmano datacenter name to use when instantiating
530 the network service. This is only used when openmano
531 is selected as the cloud account. This should be superceded
532 by multiple cloud accounts when that becomes available.";
537 augment /rw-project:project/nsr:ns-instance-config {
538 leaf nfvi-polling-period {
540 "Defines the period (secons) that the NFVI metrics are polled at";
546 notification nsm-notification {
547 description "Notification for NSM Events.
548 The timestamp of this event is automatically expressed
549 in human readble format - 1970-01-01T00:00:00Z";
552 description "Short name of the event";
557 description "The description of this event";
562 description "The detailed description of this event, in case of errors";