X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2FIM.git;a=blobdiff_plain;f=models%2Fyang%2Fvnfr.yang;h=7a0594b73e52da9db41310cccd51a40e128536e9;hp=b669f978a61b12ffd5f1e89a5556b508325a7aeb;hb=refs%2Fchanges%2F33%2F9833%2F2;hpb=fcfb1cb90673befaf095fa2fb603e570ce2b06ec diff --git a/models/yang/vnfr.yang b/models/yang/vnfr.yang index b669f97..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,8 +197,14 @@ 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"; + type string; + default "v3.0"; + } + config false; list vnfr { description @@ -283,9 +291,9 @@ module vnfr } // Use parameters provided here to configure this VNF - container vnf-configuration { - uses manotypes:vca-configuration; - } + container vnf-configuration { + uses manotypes:vca-configuration; + } // Mainly used by Mon-params & dashboard url container mgmt-interface { @@ -437,9 +445,33 @@ module vnfr uses manotypes:supplemental-boot-data; - container vdu-configuration { - uses manotypes:vca-configuration; - } + container vdu-configuration { + 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"; @@ -489,56 +521,56 @@ module vnfr uses associated-virtual-cps; } - list interface { - description - "List of interfaces (internal and external) for the VNF"; - key name; - - leaf name { + list interface { description - "Name of the interface. Note that this - name has only local significance to the VDU."; - type string; - } + "List of interfaces (internal and external) for the VNF"; + key name; - leaf position { - description - "Explicit Position of the interface within the list"; - type uint32; - } + leaf name { + description + "Name of the interface. Note that this + name has only local significance to the VDU."; + type string; + } - leaf type { - description - "Type of the Interface"; + leaf position { + description + "Explicit Position of the interface within the list"; + type uint32; + } - type vnfd-base:interface-type; + leaf type { + description + "Type of the Interface"; - default "EXTERNAL"; - } - choice connection-point-type { - case internal { - leaf internal-connection-point-ref { - description - "Leaf Ref to the particular internal connection point"; - type leafref { - path "../../internal-connection-point/id"; + type vnfd-base:interface-type; + + default "EXTERNAL"; + } + choice connection-point-type { + case internal { + leaf internal-connection-point-ref { + description + "Leaf Ref to the particular internal connection point"; + type leafref { + path "../../internal-connection-point/id"; + } } } - } - case external { - leaf external-connection-point-ref { - description - "Leaf Ref to the particular external connection point"; - type leafref { - path "../../../connection-point/name"; + case external { + leaf external-connection-point-ref { + description + "Leaf Ref to the particular external connection point"; + type leafref { + path "../../../connection-point/name"; + } } } } + uses virtual-interface; } - uses virtual-interface; - } - leaf operational-status { + leaf operational-status { description "The operational status of the VDU init : The VDU has just started. @@ -552,12 +584,79 @@ module vnfr failed : The VDU instantiation failed. "; type vdu-operational-status; - } + } 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