X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2FIM.git;a=blobdiff_plain;f=models%2Fyang%2Fvnfd-base.yang;h=38bede65879d9a9eff0564b4a8afe25c1897b764;hp=a320ed1e6d19604ff8e656306031390a39d54e30;hb=54409a2918af8af47dad29fa3dff637fbf3836ef;hpb=18e4ca5eb98d4337a8a591636d348643ef96b0bd diff --git a/models/yang/vnfd-base.yang b/models/yang/vnfd-base.yang index a320ed1..38bede6 100644 --- a/models/yang/vnfd-base.yang +++ b/models/yang/vnfd-base.yang @@ -20,7 +20,7 @@ module vnfd-base { - namespace "http://riftio.com/ns/riftware-1.0/vnfd-base"; + namespace "urn:etsi:osm:yang:vnfd-base"; prefix "vnfd-base"; import mano-types { @@ -95,15 +95,17 @@ module vnfd-base 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. E1000 : Emulate E1000 interface. RTL8139 : Emulate RTL8139 interface. PCNET : Emulate PCNET interface. - OM-MGMT : Deprecated! Use VIRTIO instead and set the VNF management interface at vnfd:mgmt-interface:cp"; + OM-MGMT : Deprecated! Use PARAVIRT instead and set the VNF management interface at vnfd:mgmt-interface:cp"; type enumeration { + enum PARAVIRT; enum OM-MGMT; enum PCI-PASSTHROUGH; enum SR-IOV; @@ -112,7 +114,7 @@ module vnfd-base enum RTL8139; enum PCNET; } - default "VIRTIO"; + default "PARAVIRT"; } leaf vpci { @@ -174,6 +176,8 @@ module vnfd-base container vnf-configuration { uses manotypes:vca-configuration; + uses manotypes:vca-relations; + uses manotypes:vca-config-access; } leaf operational-status { @@ -415,7 +419,24 @@ module vnfd-base list alarm { key "alarm-id"; - uses manotypes:alarm; + leaf alarm-id { + description + "This field is reserved for the identifier assigned by the VIM provider"; + + type string; + } + + + leaf vnf-monitoring-param-ref { + description + "Reference to the VNF level monitoring parameter + that is aggregated"; + type leafref { + path "../../monitoring-param/id"; + } + } + + uses manotypes:alarm-properties; } uses manotypes:image-properties; @@ -441,6 +462,7 @@ module vnfd-base container vdu-configuration { uses manotypes:vca-configuration; + uses manotypes:vca-config-access; } list monitoring-param { @@ -546,12 +568,12 @@ module vnfd-base leaf mac-address { description - "MAC address of the interface. - Some VNFs require a specific MAC address to be configured - in the interface. While this is not recommended at all in - NFV environments, this parameter exists to allow those - scenarios. - This parameter will be likely deprecated in the future."; + "MAC address of the interface. + Some VNFs require a specific MAC address to be configured + in the interface. While this is not recommended at all in + NFV environments, this parameter exists to allow those + scenarios. + This parameter will be likely deprecated in the future."; type string; } @@ -559,19 +581,19 @@ module vnfd-base case internal { leaf internal-connection-point-ref { description - "Leaf Ref to the particular internal connection point"; + "Leaf Ref to the particular internal connection point"; type leafref { - path "../../internal-connection-point/id"; - } + path "../../internal-connection-point/id"; + } } } case external { leaf external-connection-point-ref { description - "Leaf Ref to the particular external connection point"; + "Leaf Ref to the particular external connection point"; type leafref { - path "../../../connection-point/name"; - } + path "../../../connection-point/name"; + } } } } @@ -592,6 +614,118 @@ module vnfd-base } } + list kdu { + description "List of K8s Deployment Units"; + key "name"; + + leaf name { + description "Unique name for the KDU"; + type string; + } + + leaf description { + description "Description of the KDU."; + type string; + } + + container kdu-configuration { + uses manotypes:vca-configuration; + uses manotypes:vca-config-access; + + leaf-list blacklist-config-primitive { + description + "List of blacklisted config primitives from the list of + default kdu config primitives"; + + type enumeration { + enum upgrade; + enum rollback; + } + + } + + } + + choice kdu-model { + description + "Indicates the KDU model, either as a helm-chart or as a juju-bundle."; + + case helm-chart { + leaf helm-chart { + description + "Helm chart that models the KDU, in any of the following ways: + - / + - + - + - + "; + type string; + } + } + + case juju-bundle { + leaf juju-bundle { + description + "Juju bundle that models the KDU, in any of the following ways: + - / + - + - + - + "; + type string; + } + } + } + + } + + container k8s-cluster { + leaf-list version { + description + "List of supported K8s versions. + The cluster where the KDUs will be deployed will have to match + one of these versions."; + + type string; + } + + leaf-list cni { + description + "List of supported CNI plugins. + The cluster where the KDUs will be deployed will have to use + one of these CNI plugins."; + + type enumeration { + enum calico; + enum flannel; + enum multus; + } + } + + list nets { + description + "List of required networks in the K8s cluster. + The cluster where the KDUs will be deployed will have to use + one of these CNI plugins."; + + key "id"; + + leaf id { + description "Internal identifier for the K8s cluster network in this VNF"; + type string; + } + + leaf external-connection-point-ref { + description + "Leaf Ref to the particular external connection point"; + type leafref { + path "../../../connection-point/name"; + } + } + + } + } + list vdu-dependency { description "List of VDU dependencies."; @@ -719,7 +853,9 @@ module vnfd-base leaf scale-in-threshold { description "Value below which scale-in requests are generated"; - type uint64; + type decimal64{ + fraction-digits 10; + } } leaf scale-in-relational-operation { @@ -733,7 +869,9 @@ module vnfd-base leaf scale-out-threshold { description "Value above which scale-out requests are generated"; - type uint64; + type decimal64{ + fraction-digits 10; + } } leaf scale-out-relational-operation {