Problem aiming to solve
Experimental proposal Proposal for describing a VNF that is based on osContainers.
Changes
New Classes/Types:
- New typ osContainerDesc type OsContainerDesc which describes the member properties of a set of co-located container compute resources when these are realizing a VDU
The osConatainerDesc element(s) are listed in the VNF Descriptor and referenced by the VDU element(s). Each VDU may be made up of group of containers, often called a "pod".
Attribute
Qualifier
Cardinality
Content
Description
osContainerDescId
M
1
Identifier
Unique identifier of this OsContainerDesc in the VNFD.
requestedCpuResources
M
0..1
Integer
Number of CPU resources requested for the container (e.g. in milli-CPU-s)
requestedMemoryResources
M
0..1
Number
Amount of memory resources requested for the container (e.g. in MB).
requestedEphemeralStorageResources
M
0..1
Number
Size of ephemeral storage resources requested for the container (e.g. in GB).
extendedResourceRequests
M
0..N
Not specified
An array of key-value pairs of extended resources required by the container.
See note.
cpuResourceLimit
M
0..1
Integer
Number of CPU resources the container can maximally use (e.g. in milli-CPU).
memoryResourceLimit
M
0..1
Number
Amount of memory resources the container can maximum use (e.g. in MB).
ephemeralStorageResourceLimit
M
0..1
Number
Size of ephemeral storage resources the container can maximum use (e.g. in GB).
swImageDesc
M
1
Identifier (Reference to SwImageDesc)
Describes the software image realizing this OS container.
bootData
M
0..1
Not specified
Contains a string or a URL to a file contained in the VNF package used to customize a container resource at boot time. The bootData may contain variable parts that are replaced by deployment specific values before being sent.
virtualStorageDesc
M
0..N
Identifier (Reference to VirtualStorageDesc)
Links to virtualStorageDesc-s of the Vdu. The storages represented by the linked VirtualStorageDesc-s are attached to the OS Container as volumes. Shall be present in case the OS container requires storage resources.
monitoringParameters
M
0..N
MonitoringParameter
Specifies the virtualised resource related performance metrics on the OsContainerDesc level to be tracked by the VNFM. MonitoringParameter is defined in clause 7.1.11.3.
NOTE: Extended resources are to describe any type of resource provided by the container infrastructure. One example implementation of extended resources are “Extended Resources” in case the container infrastructure service is a Kubernetes® instance.
- New type mciopProfile which describes provides properties MciopProfile which describes properties of the Managed Container Infrastructure Object Package (MCIOP) which are used during deployment of containerized workloads based on a MCIOP, associated to a VNF deployment flavour. A Managed Container Infrastructure Object Package (MCIOP) An MCIOP is a hierarchical aggregate of information objects for OS container management and orchestration. Multiple MCIOPs can be included in a VNF Package. The MCIOP is expected to be realized by a Helm chart.
Each VnfDf in the VNF Descriptor would list the appropriate mciopProfiles.
Attribute
Qualifier
Cardinality
Content
Description
mciopId
M
1
Identifier
Identifies the MCIOP in the VNF package.
deploymentOrder
M
0..1
Integer
Indicates the order in which this MCIOP shall be deployed in relation to other MCIOPs. A lower value specifies an earlier deployment.
affinityOrAntiAffinityGroupId
M
0..N
Identifier (Reference to AffinityOrAntiAffinityGroup)
References the affinity or anti-affinity group(s) the MCIOP belongs to.
See note.
associatedVdu
M
0..N
Identifier (Reference to Vdu)
List of VDUs which are associated to this MCIOP and which are deployed using this MCIOP.
NOTE: Each identifier references an affinity or anti-affinity group which expresses affinity or anti-affinity relationships between the containerized workloads to be created using this MCIOP and the containerized workloads to be created using other MCIOP(s) in the same group.
- New types VirtualCpd, AdditionalServiceData, and which is a type of Cpd that describes a requirement to create a virtual connection point allowing the access to a number of VNFC instances (based on their respective VDUs).
VirtualCpd
Attribute
Qualifier
Cardinality
Content
Description
vdu
M
1..N
Identifier (Reference to Vdu)
References the VDU(s) which implement this service.
additionalServiceData
M
0..N
AdditionalServiceData
Additional service identification data of the VirtualCp exposed to NFV-MANO.
(inherited attributes)
All attributes inherited from Cpd.
See note.NOTE: If this VirtualCp represents a load balancing virtual IP address of a VNFC realized by one or a set of OS containers and the IP address is configurable in the declarative descriptor of the corresponding MCIO, the attribute iPAddressAssignment shall be set to value=true in the L3AddressData.
AdditionalServiceData
Attribute
Qualifier
Cardinality
Content
Description
portData
M
1..N
ServicePortData
Service port numbers exposed by the VirtualCp.
serviceData
M
0..1
Not specified
Service matching information exposed by the VirtualCp.
See note.
NOTE: This attribute shall only be present if additional information is needed to identify the service termination within the VNF, such as for example a url path information in an HTTP request required to allow a single VirtualCp IP address to be used for several HTTP based services that use the same portnumber.
ServicePortData
Attribute
Qualifier
Cardinality
Content
Description
name
M
1
String
The name of the port exposed by the VirtualCp.
protocol
M
1
Enum
The L4 protocol for this port exposed by the VirtualCp.
VALUES:
· TCP
· UDP
· SCTP
port
M
1
Integer
The L4 port number exposed by the VirtualCp.
portConfigurable
M
1
Boolean
Specifies whether the port attribute value is allowed to be configurable.
Other changes:
- New property vnfd::osContainerDesc of type osContainerDesc with cardinality 0..N which defines descriptors of container compute resources to be used by the VNF when the VDUs of the VNF are realized by a set of OS Containers sharing the same host and same networking namespace. Only one of virtualComputeDesc or osContanerDesc may be present in the vnfd
- New property vnfd::virtualCpd which describes a virtual connection point(s) allowing to access a set of VNFC instances (based on their respective VDUs).
- New property VnfExtCpd::virtualCpd which references the Virtual CPD which is used to describe a virtual connection point allowing to access a set of VNFC instances (based on their respective VDUs).
- New property vdu::osContainerDesc of type identifier (Reference to osContainerDesc) with cardinality 0..N which describes CPU, memory requirements and limits, and software images of the OS Containers realizing this Vdu corresponding to OS Containers sharing the same host and same network namespace. Each unique identifier is referenced only once within one VDU.
- Modification of VduCpd::vnictype to include several new types (BRIDGE, IPVLAN, LOOPBACK, MACVLAN, PTP, VLAN, HOST-DEVICE)
- Modification to the cardinality of SwImageDesc::diskFormat, SwImageDesc::minDisk to allow cardinality of 0..N
- New property VndDf::mciopProfile of type mciopProfile with cardinality 0..N which describes additional instantiation data for the MCIOPs used in this deployment flavour. This attribute shall be present if the DF references containerized workloads based on a MCIOP.
- New property VirtualStorageDesc::volumeTemplate of type Boolean with cardinality 0..1 which indicates whether the virtual storage descriptor shall be used as template, i.e. if the virtual storage resource shall be instantiated per VNFC instance. If the value is true (default), a persistent virtual storage resource shall be instantiated for each VNFC instance that is based on a VDU referring to this virtual storage descriptor. If the value is false, a single persistent virtual storage resource shall be instantiated with a lifetime independent of the lifetime of individual VNFC instances based on a VDU referring to this virtual storage descriptor.
- Proposed new properties of vipCpd to support "services"
GenDoc Output: View file