X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2FIM.git;a=blobdiff_plain;f=models%2Fyang%2Fvnfr.yang;h=7a0594b73e52da9db41310cccd51a40e128536e9;hp=aff7af4e8e88aedb6f76126030ddae966d58dce8;hb=refs%2Fchanges%2F33%2F9833%2F2;hpb=0ec676d96d7b43310d756afe41218a783a707abc diff --git a/models/yang/vnfr.yang b/models/yang/vnfr.yang index aff7af4..7a0594b 100644 --- a/models/yang/vnfr.yang +++ b/models/yang/vnfr.yang @@ -20,7 +20,7 @@ module vnfr { - namespace "urn:ietf:params:xml:ns:yang:nfvo:vnfr"; + namespace "urn:etsi:osm:yang:vnfr"; prefix "vnfr"; import mano-types { @@ -51,8 +51,8 @@ module vnfr prefix "inet"; } - import rw-project { - prefix "rw-project"; + import osm-project { + prefix "osm-project"; } revision 2017-02-28 { @@ -120,10 +120,12 @@ module vnfr description "Specifies the type of virtual interface between VM and host. - VIRTIO : Use the traditional VIRTIO interface. + PARAVIRT : Use the default paravirtualized interface for the VIM (virtio, vmxnet3, etc.). + VIRTIO : Deprecated! Use the traditional VIRTIO interface. PCI-PASSTHROUGH : Use PCI-PASSTHROUGH interface. SR-IOV : Use SR-IOV interface."; type enumeration { + enum PARAVIRT; enum VIRTIO; enum PCI-PASSTHROUGH; enum SR-IOV; @@ -195,7 +197,7 @@ module vnfr } } - augment "/rw-project:project" { + augment "/osm-project:project" { container vnfr-catalog { leaf schema-version { description "Schema version for the VNFR. If unspecified, it assumes v3.0"; @@ -447,6 +449,30 @@ module vnfr uses manotypes:vca-configuration; } + list monitoring-param { + description + "List of VDU-related monitoring parameters at NFVI level"; + key id; + leaf id { + description "The unique id of the monitoring param at VDU level"; + type string; + } + + leaf nfvi-metric { + description "The associated NFVI metric to be monitored"; + type manotypes:nfvi-metric-type; + } + + leaf interface-name-ref { + description + "Reference to a VDU interface name. Applicable only when the nfvi-metric + refers to an interface and not to the VM"; + type leafref { + path "../../interface/name"; + } + } + } + list volumes { key "name"; @@ -563,7 +589,74 @@ module vnfr uses placement-group-info; } - uses manotypes:monitoring-param; + list monitoring-param { + description + "List of monitoring parameters at the network service level"; + key id; + leaf id { + type string; + } + + leaf name { + type string; + } + + uses manotypes:monitoring-param-aggregation; + + choice monitoring-type { + description + "Defines the type of monitoring param to be used: + * vdu-monitorin-param: VDU-related metric (from NFVI) + * vnf-metric: VNF-related metric (from VCA) + * vdu-metric: VDU-related metric (from VCA) + "; + + case vdu-monitoring-param { + description "VDU-related metric from the infrastructure"; + container vdu-monitoring-param { + leaf vdu-ref { + type leafref { + path "../../../vdur/id"; + } + } + leaf vdu-monitoring-param-ref { + type leafref { + path "../../../vdur[id = current()/../vdu-ref]/monitoring-param/id"; + } + } + } + } + + case vnf-metric { + description "VNF-related metric (from VCA)"; + container vnf-metric { + leaf vnf-metric-name-ref { + type leafref { + path "../../../vnf-configuration/metrics/name"; + } + } + } + } + + case vdu-metric { + description "VDU-related metric (from VCA)"; + container vdu-metric { + leaf vdu-ref { + type leafref { + path "../../../vdur/id"; + } + } + leaf vdu-metric-name-ref { + type leafref { + path "../../../vdur[id = current()/../vdu-ref]/vdu-configuration/metrics/name"; + } + } + } + } + + } + + } leaf operational-status { description