X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2FIM.git;a=blobdiff_plain;f=models%2Fyang%2Fvnfd-base.yang;h=9163e331309599b246c59a9a3fcfae2293c5ee82;hp=c2eae3575cb9d5e8a68cf621428eb185126532ad;hb=a338858d6db1984baf4e9a7faee6235f096661f2;hpb=ce30ffe01241f5ffb2e7bb860dfbcfac4795902c diff --git a/models/yang/vnfd-base.yang b/models/yang/vnfd-base.yang index c2eae35..9163e33 100644 --- a/models/yang/vnfd-base.yang +++ b/models/yang/vnfd-base.yang @@ -74,6 +74,17 @@ module vnfd-base } } + typedef vnf-operational-status { + type enumeration { + enum init; + enum running; + enum upgrading; + enum terminate; + enum terminated; + enum failed; + } + } + grouping virtual-interface { container virtual-interface { description @@ -89,7 +100,7 @@ module vnfd-base E1000 : Emulate E1000 interface. RTL8139 : Emulate RTL8139 interface. PCNET : Emulate PCNET interface. - OM-MGMT : Used to specify openmano mgmt external-connection type"; + OM-MGMT : Deprecated! Use VIRTIO instead and set the VNF management interface at vnfd:mgmt-interface:cp"; type enumeration { enum OM-MGMT; @@ -160,11 +171,23 @@ module vnfd-base type string; } - container vnf-configuration { uses manotypes:vca-configuration; } + leaf operational-status { + description + "The operational status of the VNF + init : The VNF has just started. + running : The VNF is active in VM + upgrading : The VNF is being upgraded (EXPERIMENTAL) + terminate : The VNF is being terminated + terminated : The VNF is in the terminated state. + failed : The VNF instantiation failed. + "; + type vnf-operational-status; + } + container mgmt-interface { description "Interface over which the VNF is managed."; @@ -193,7 +216,7 @@ module vnfd-base case cp { description - "Use the ip address associated with this connection point."; + "Use the ip address associated with this connection point. This cp is then considered as management."; leaf cp { type leafref { path "../../connection-point/name"; @@ -280,6 +303,10 @@ module vnfd-base path "../../../vdu/internal-connection-point/id"; } } + leaf ip-address { + description "IP address of the internal connection point"; + type inet:ip-address; + } } uses manotypes:provider-network; @@ -368,6 +395,25 @@ module vnfd-base uses manotypes:image-properties; + list alternative-images { + key "vim-type"; + description + "List of alternative images per VIM type. + Different images can be used for specific types of VIMs instead + of the default image. This allows deployments in sites where the + image identifier in the VIM is given by the VIM provider and + cannot be modified. + If an alternative image is specified for a VIM type, it will prevail + over the default image"; + + leaf vim-type { + description "VIM type: openvim, openstack, vmware, aws, etc."; + type string; + } + + uses manotypes:image-properties; + } + container vdu-configuration { uses manotypes:vca-configuration; } @@ -441,6 +487,17 @@ module vnfd-base default "EXTERNAL"; } + 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."; + type string; + } + choice connection-point-type { case internal { leaf internal-connection-point-ref {