X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2FIM.git;a=blobdiff_plain;f=models%2Fyang%2Fmano-types.yang;h=7784d5c37e7b9994c5e86d6de6888ff8de34f656;hp=9fb3713659824677f6935b44429cc8e827d5470c;hb=25fa538e051d06cfa4c3f23dc6617d090211cfcf;hpb=2b5a566395883b7d1959344bc725186bda441d01;ds=inline diff --git a/models/yang/mano-types.yang b/models/yang/mano-types.yang index 9fb3713..7784d5c 100644 --- a/models/yang/mano-types.yang +++ b/models/yang/mano-types.yang @@ -20,15 +20,15 @@ module mano-types { - namespace "urn:ietf:params:xml:ns:yang:nfvo:mano-types"; + namespace "urn:etsi:osm:yang:mano-types"; prefix "manotypes"; import ietf-inet-types { prefix "inet"; } - import rw-project { - prefix "rw-project"; + import osm-project { + prefix "osm-project"; } revision 2017-02-08 { @@ -257,13 +257,7 @@ module mano-types } } // END - grouping vca-metrics - grouping vca-configuration { - description - "Information about the VNF or VDU configuration. Note: - If the NS contains multiple instances of the - same VNF or VDU, each instance could have a different - configuration."; - + grouping configuration-method { choice config-method { description "Defines the configuration method for the VNF or VDU."; @@ -301,6 +295,25 @@ module mano-types } } } + } + + grouping ns-configuration { + description + "Information about NS configuration. Note: + In the future this should be equivalent to vca-configuration + grouping."; + + uses manotypes:configuration-method; + } + + grouping vca-configuration { + description + "Information about the VNF or VDU configuration. Note: + If the NS contains multiple instances of the + same VNF or VDU, each instance could have a different + configuration."; + + uses manotypes:configuration-method; list config-primitive { description @@ -358,6 +371,29 @@ module mano-types } } + list terminate-config-primitive { + description + "Terminate set of configuration primitives."; + key "seq"; + leaf seq { + description + "Sequence number for the configuration primitive."; + type uint64; + } + leaf name { + description + "Name of the configuration primitive."; + type string; + } + + uses primitive-parameter-value; + + leaf user-defined-script { + description + "A user defined script."; + type string; + } + } uses manotypes:vca-metrics; } // END - grouping vca-configuration @@ -656,7 +692,8 @@ module mano-types enum disk_write_bytes; enum packets_sent; enum packets_received; - enum packets_dropped; + enum packets_in_dropped; + enum packets_out_dropped; } } @@ -855,7 +892,6 @@ module mano-types } } - leaf om-cpu-model-string { description "OpenMANO CPU model string"; type string; @@ -869,6 +905,7 @@ module mano-types type string; } } + } } @@ -900,47 +937,76 @@ module mano-types } } - leaf cpu-pinning-policy { - description - "CPU pinning policy describes association - between virtual CPUs in guest and the - physical CPUs in the host. - DEDICATED : Virtual CPUs are pinned to - physical CPUs - SHARED : Multiple VMs may share the - same physical CPUs. - ANY : Any policy is acceptable for the VM"; - type enumeration { - enum DEDICATED; - enum SHARED; - enum ANY; + choice cpu-policy { + case cpu-pinning { + leaf cpu-pinning-policy { + description + "CPU pinning policy describes association + between virtual CPUs in guest and the + physical CPUs in the host. + DEDICATED : Virtual CPUs are pinned to + physical CPUs + SHARED : Multiple VMs may share the + same physical CPUs. + ANY : Any policy is acceptable for the VM"; + type enumeration { + enum DEDICATED; + enum SHARED; + enum ANY; + } + default "ANY"; + } + leaf cpu-thread-pinning-policy { + description + "CPU thread pinning policy describes how to + place the guest CPUs when the host supports + hyper threads: + AVOID : Avoids placing a guest on a host + with threads. + SEPARATE: Places vCPUs on separate cores, + and avoids placing two vCPUs on + two threads of same core. + ISOLATE : Places each vCPU on a different core, + and places no vCPUs from a different + guest on the same core. + PREFER : Attempts to place vCPUs on threads + of the same core."; + type enumeration { + enum AVOID; + enum SEPARATE; + enum ISOLATE; + enum PREFER; + } + } } - default "ANY"; - } - leaf cpu-thread-pinning-policy { - description - "CPU thread pinning policy describes how to - place the guest CPUs when the host supports - hyper threads: - AVOID : Avoids placing a guest on a host - with threads. - SEPARATE: Places vCPUs on separate cores, - and avoids placing two vCPUs on - two threads of same core. - ISOLATE : Places each vCPU on a different core, - and places no vCPUs from a different - guest on the same core. - PREFER : Attempts to place vCPUs on threads - of the same core."; - type enumeration { - enum AVOID; - enum SEPARATE; - enum ISOLATE; - enum PREFER; + case cpu-quota { + container cpu-quota { + description "CPU quota describes the CPU resource allocation policy. + Limit and Reserve values are defined in MHz"; + uses allocation-properties; + } } } + container mem-quota { + description "Memory quota describes the memory resource allocation policy. + Limit and Reserve values are defined in MB"; + uses allocation-properties; + } + + container disk-io-quota { + description "Disk IO quota describes the disk IO operations resource allocation policy. + Limit and Reserve values are defined in IOPS"; + uses allocation-properties; + } + + container vif-quota { + description "Virtual interfaces quota describes the virtual interface bandwidth resource allocation policy. + Limit and Reserve values are defined in Mbps"; + uses allocation-properties; + } + list pcie-device { description "List of pcie passthrough devices."; @@ -1075,6 +1141,27 @@ module mano-types } } + grouping allocation-properties { + leaf limit { + description "Defines the maximum allocation. The value 0 indicates that usage is not limited. + This parameter ensures that the instance never uses more than the defined amount of resource."; + type uint64; + } + + leaf reserve { + description "Defines the guaranteed minimum reservation. + If needed, the machine will definitely get allocated the reserved amount of resources."; + type uint64; + } + + leaf shares { + description "Number of shares allocated. + Specifies the proportional weighted share for the domain. + If this element is omitted, the service defaults to the OS provided defaults"; + type uint64; + } + } + grouping provider-network { container provider-network { description "Container for the provider network."; @@ -1786,14 +1873,7 @@ module mano-types } } - grouping alarm { - leaf alarm-id { - description - "This field is reserved for the identifier assigned by the VIM provider"; - - type string; - } - + grouping alarm-properties { leaf name { description "A human readable string to identify the alarm"; type string; @@ -1856,11 +1936,6 @@ module mano-types type alarm-severity-type; } - leaf metric { - description "The metric to be tracked by this alarm."; - type alarm-metric-type; - } - leaf statistic { description "The type of metric statistic that is tracked by this alarm"; type alarm-statistic-type; @@ -2162,7 +2237,7 @@ module mano-types grouping supplemental-boot-data { description "Grouping for custom vim data"; container supplemental-boot-data { - uses manotypes:config-file; +// uses manotypes:config-file; leaf boot-data-drive { description "Some VIMs implement additional drives to host config-files or meta-data"; type boolean; @@ -2230,7 +2305,7 @@ module mano-types description "Project to which this belongs"; type leafref { - path "/rw-project:project/rw-project:name"; + path "/osm-project:project/osm-project:name"; } } }