X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2FIM.git;a=blobdiff_plain;f=models%2Fyang%2Fvnfd-base.yang;h=acb5b2804edcb083b13d831e492f004d856c5c51;hp=5d7629009e67076416604a2812bb2db69ef20de8;hb=4a09d8e4013dab10c0f6d8c5e74216e87cb4e1c9;hpb=d6ccaf7e0a66331e9be1046642868f84e7184a31 diff --git a/models/yang/vnfd-base.yang b/models/yang/vnfd-base.yang index 5d76290..acb5b28 100644 --- a/models/yang/vnfd-base.yang +++ b/models/yang/vnfd-base.yang @@ -64,6 +64,7 @@ module vnfd-base leaf port-security-enabled { description "Enables the port security for the port"; type boolean; + default true; } } @@ -74,6 +75,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 +101,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,7 +172,22 @@ module vnfd-base type string; } - uses manotypes:vca-configuration; + 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 @@ -190,7 +217,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"; @@ -277,6 +304,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; @@ -316,6 +347,19 @@ module vnfd-base at the network service level to construct network services."; uses common-connection-point; + + leaf internal-vld-ref { + description + "Reference to an internal VLD of the VNF. This field is + optional. It allows exposing an internal VLD through a + connection point. When building a NS, this VNF CP might be + connected to a NS VLD, then both VLDs (the i-VLD of the VNF and the + VLD of the NS) will become the same network and the IP profile will + be the one configured at NS level."; + type leafref { + path "../../internal-vld/id"; + } + } } list vdu { @@ -365,6 +409,29 @@ 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; + } + choice cloud-init-input { description "Indicates how the contents of cloud-init script are provided. @@ -434,6 +501,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 {