X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2FIM.git;a=blobdiff_plain;f=models%2Fyang%2Fvnfr.yang;h=ef2edde8693304e5c549135009e8ae7b34560f23;hp=ebccf129efb289b36b7fa96cc5c1c7d778d2207e;hb=2b5a566395883b7d1959344bc725186bda441d01;hpb=989442ed148edbd11f94e48a8ebb40ddd7d5d65b diff --git a/models/yang/vnfr.yang b/models/yang/vnfr.yang index ebccf12..ef2edde 100644 --- a/models/yang/vnfr.yang +++ b/models/yang/vnfr.yang @@ -74,6 +74,7 @@ module vnfr enum vm-init-phase; enum vm-alloc-pending; enum running; + enum upgrading; enum terminate; enum vl-terminate-phase; enum terminated; @@ -88,6 +89,7 @@ module vnfr enum vl-init-phase; enum vm-init-phase; enum running; + enum upgrading; // Experimental enum terminate; enum vm-terminate-phase; enum vl-terminate-phase; @@ -195,6 +197,12 @@ module vnfr augment "/rw-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 @@ -281,9 +289,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 { @@ -435,9 +443,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"; @@ -487,74 +519,142 @@ 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. vm-init-phase : The VDUs in the VNF is being created in VIM. vm-alloc-pending : The VM alloc is pending in VIM running : The VDU is active in VM + upgrading : The VDU is being upgraded (EXPERIMENTAL) terminate : The VDU is being terminated vm-terminate-phase : The VDU in the VNF is being terminated in VIM. terminated : The VDU is in the terminated state. 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