| |
| /* |
| * |
| * Copyright 2016 RIFT.IO Inc |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| * |
| * |
| */ |
| |
| module rw-nsr |
| { |
| namespace "http://riftio.com/ns/riftware-1.0/rw-nsr"; |
| prefix "rw-nsr"; |
| |
| import mano-types { |
| prefix "manotypes"; |
| } |
| |
| import nsr { |
| prefix "nsr"; |
| } |
| |
| import nsd { |
| prefix "nsd"; |
| } |
| |
| import rw-cloud { |
| prefix "rw-cloud"; |
| } |
| |
| import rw-config-agent { |
| prefix "rw-config-agent"; |
| } |
| |
| import rw-sdn { |
| prefix "rw-sdn"; |
| } |
| |
| import ietf-yang-types { |
| prefix "yang"; |
| } |
| |
| revision 2015-09-10 { |
| description |
| "Initial revision. This YANG file augments |
| the base MANO VNFD"; |
| reference |
| "Derived from earlier versions of base YANG files"; |
| } |
| |
| grouping operational-events { |
| list operational-events { |
| key "id"; |
| description |
| "Recent operational events for this network service. |
| Though the model does not impose any restrictions on the numbe of events, |
| the max operational events will be limited to the most recent 10"; |
| |
| leaf id { |
| description "The id of the instance"; |
| type uint64; |
| } |
| |
| leaf timestamp { |
| description |
| "The timestamp of this event expressed as seconds since |
| unix epoch - 1970-01-01T00:00:00Z"; |
| type uint32; |
| } |
| leaf event { |
| description "Short description of the event"; |
| type string; |
| } |
| leaf description { |
| description |
| "The description of this event"; |
| type string; |
| } |
| leaf details { |
| description |
| "The detailed description of this event (in case of errors)"; |
| type string; |
| } |
| } |
| } |
| |
| |
| grouping rw-ns-instance-config { |
| leaf cloud-account { |
| description |
| "The configured cloud account which the NSR is instantiated within. |
| All VDU's, Virtual Links, and provider networks will be requested |
| using the cloud-account's associated CAL instance"; |
| type leafref { |
| path "/rw-cloud:cloud/rw-cloud:account/rw-cloud:name"; |
| } |
| } |
| |
| leaf om-datacenter { |
| description |
| "Openmano datacenter name to use when instantiating |
| the network service. This is only used when openmano |
| is selected as the cloud account. This should be superceded |
| by multiple cloud accounts when that becomes available."; |
| type string; |
| } |
| |
| list vnf-cloud-account-map { |
| description |
| "Mapping VNF to Cloud Account where VNF will be instantiated"; |
| |
| key "member-vnf-index-ref"; |
| leaf member-vnf-index-ref { |
| type uint64; |
| } |
| |
| leaf cloud-account { |
| description |
| "The configured cloud account where VNF is instantiated within. |
| All VDU's, Virtual Links, and provider networks will be requested |
| using the cloud-account's associated CAL instance"; |
| type leafref { |
| path "/rw-cloud:cloud/rw-cloud:account/rw-cloud:name"; |
| } |
| } |
| |
| leaf om-datacenter { |
| description |
| "Openmano datacenter name to use when instantiating |
| the network service. This is only used when openmano |
| is selected as the cloud account. This should be superceded |
| by multiple cloud accounts when that becomes available."; |
| type string; |
| } |
| |
| leaf config-agent-account { |
| description |
| "The configured config agent account to use for instantiating this VNF. |
| The configuration for this VNF will be driven using the specified config |
| agent account"; |
| type leafref { |
| path "/rw-config-agent:config-agent/rw-config-agent:account/rw-config-agent:name"; |
| } |
| } |
| } |
| |
| list vl-cloud-account-map { |
| description |
| "Mapping VL to Cloud Account where VL will be instantiated"; |
| |
| key "vld-id-ref"; |
| |
| leaf vld-id-ref { |
| description |
| "A reference to a vld. |
| leafref path ../../nsd/vld/id"; |
| type string; |
| } |
| |
| leaf-list cloud-accounts { |
| description |
| "The configured list of cloud accounts where VL is instantiated. |
| All VDU's, Virtual Links, and provider networks will be requested |
| using the cloud-account's associated CAL instance"; |
| type leafref { |
| path "/rw-cloud:cloud/rw-cloud:account/rw-cloud:name"; |
| } |
| } |
| |
| leaf-list om-datacenters { |
| description |
| "Openmano datacenter names to use when instantiating |
| the VLs. This is only used when openmano |
| is selected as the cloud account. This should be superceded |
| by multiple cloud accounts when that becomes available."; |
| type string; |
| } |
| } |
| } |
| |
| |
| augment /nsr:ns-instance-config/nsr:nsr { |
| uses rw-ns-instance-config; |
| } |
| |
| augment /nsr:start-network-service/nsr:input{ |
| uses rw-ns-instance-config; |
| } |
| |
| augment /nsr:ns-instance-opdata/nsr:nsr { |
| uses manotypes:action-param; |
| uses manotypes:control-param; |
| |
| leaf sdn-account { |
| description |
| "The SDN account associted with the cloud account using which an |
| NS was instantiated."; |
| type leafref { |
| path "/rw-sdn:sdn/rw-sdn:account/rw-sdn:name"; |
| } |
| } |
| |
| leaf config-status-details { |
| description |
| "The configuration status error details of the NS instance, in case of any errors"; |
| type string; |
| } |
| |
| container nfvi-metrics { |
| container vm { |
| leaf label { |
| description |
| "Label to show in UI"; |
| type string; |
| default "VM"; |
| } |
| |
| leaf active-vm { |
| description |
| "The number of active VMs."; |
| type uint64; |
| } |
| |
| leaf inactive-vm { |
| description |
| "The number of inactive VMs."; |
| type uint64; |
| } |
| } |
| |
| uses manotypes:nfvi-metrics; |
| } |
| |
| container epa-param { |
| container ovs-acceleration { |
| leaf label { |
| description |
| "Label to show in UI for the param"; |
| type string; |
| default "OVS ACCELERATION"; |
| } |
| |
| leaf vm { |
| description |
| "Number of VMs with the EPA attribute"; |
| type uint64; |
| } |
| |
| leaf unit { |
| description |
| "Unit label to show in the UI"; |
| type string; |
| default "vms"; |
| } |
| } |
| |
| container ovs-offload { |
| leaf label { |
| description |
| "Label to show in UI for the param"; |
| type string; |
| default "OVS OFFLOAD"; |
| } |
| |
| leaf vm { |
| description |
| "Number of VMs with the EPA attribute"; |
| type uint64; |
| } |
| |
| leaf unit { |
| description |
| "Unit label to show in the UI"; |
| type string; |
| default "vms"; |
| } |
| |
| } |
| |
| container ddio { |
| leaf label { |
| description |
| "Label to show in UI for the param"; |
| type string; |
| default "DDIO"; |
| } |
| |
| leaf vm { |
| description |
| "Number of VMs with the EPA attribute"; |
| type uint64; |
| } |
| |
| leaf unit { |
| description |
| "Unit label to show in the UI"; |
| type string; |
| default "vms"; |
| } |
| |
| } |
| |
| container cat { |
| leaf label { |
| description |
| "Label to show in UI for the param"; |
| type string; |
| default "CAT"; |
| } |
| |
| leaf vm { |
| description |
| "Number of VMs with the EPA attribute"; |
| type uint64; |
| } |
| |
| leaf unit { |
| description |
| "Unit label to show in the UI"; |
| type string; |
| default "vms"; |
| } |
| } |
| |
| container cmt { |
| leaf label { |
| description |
| "Label to show in UI for the param"; |
| type string; |
| default "CMT"; |
| } |
| |
| leaf vm { |
| description |
| "Number of VMs with the EPA attribute"; |
| type uint64; |
| } |
| |
| leaf unit { |
| description |
| "Unit label to show in the UI"; |
| type string; |
| default "vms"; |
| } |
| |
| } |
| } |
| uses operational-events; |
| } |
| |
| |
| augment /nsr:ns-instance-opdata/nsr:nsr/nsr:vlr { |
| leaf assigned-subnet { |
| description "Subnet added for the VL"; |
| type string; |
| } |
| leaf cloud-account { |
| description |
| "The configured cloud account in which the VL is instantiated within."; |
| type leafref { |
| path "/rw-cloud:cloud/rw-cloud:account/rw-cloud:name"; |
| } |
| } |
| leaf om-datacenter { |
| description |
| "Openmano datacenter name to use when instantiating |
| the network service. This is only used when openmano |
| is selected as the cloud account. This should be superceded |
| by multiple cloud accounts when that becomes available."; |
| type string; |
| } |
| } |
| |
| augment /nsr:ns-instance-opdata/nsr:nsr/nsr:constituent-vnfr-ref { |
| leaf cloud-account { |
| description |
| "The configured cloud account in which the VNF is instantiated within. |
| All VDU's, Virtual Links, and provider networks will be requested |
| using the cloud-account's associated CAL instance"; |
| type leafref { |
| path "/rw-cloud:cloud/rw-cloud:account/rw-cloud:name"; |
| } |
| } |
| leaf om-datacenter { |
| description |
| "Openmano datacenter name to use when instantiating |
| the network service. This is only used when openmano |
| is selected as the cloud account. This should be superceded |
| by multiple cloud accounts when that becomes available."; |
| type string; |
| } |
| } |
| |
| augment /nsr:ns-instance-config { |
| leaf nfvi-polling-period { |
| description |
| "Defines the period (secons) that the NFVI metrics are polled at"; |
| type uint64; |
| default 4; |
| } |
| } |
| |
| notification nsm-notification { |
| description "Notification for NSM Events. |
| The timestamp of this event is automatically expressed |
| in human readble format - 1970-01-01T00:00:00Z"; |
| |
| leaf event { |
| description "Short name of the event"; |
| type string; |
| } |
| |
| leaf description { |
| description "The description of this event"; |
| type string; |
| } |
| |
| leaf details { |
| description "The detailed description of this event, in case of errors"; |
| type string; |
| } |
| } |
| } |
| |
| // vim: sw=2 |