From 736b4a78cbde47237b273c15f375da8a5dd5d859 Mon Sep 17 00:00:00 2001 From: ramonsalguer Date: Mon, 8 Apr 2019 17:37:01 +0200 Subject: [PATCH] Unified NFVI requirements for EPA and non-EPA VNFs - Unified both sections - Changed numbered list to subsections --- 01-requirements.md | 56 +++++++++++++++++++++++++++------------------- 1 file changed, 33 insertions(+), 23 deletions(-) diff --git a/01-requirements.md b/01-requirements.md index a404958..64e7d10 100644 --- a/01-requirements.md +++ b/01-requirements.md @@ -6,7 +6,9 @@ To achieve the onboarding of each lifecycle stage successfully, the following sp The main objetive of Day 0 is to instantiate the VNF and establish management access so it can be configured. To achieve this, the main requirements are: -1. **Description of each VNF component**: The main function of every VNF component (VDU) should be clearly described in order to ease the understanding of the VNF. For example: +### Description of each VNF component + +The main function of every VNF component (VDU) should be clearly described in order to ease the understanding of the VNF. For example: | VDU | Description | |:------:|:------------------------------------| @@ -14,7 +16,9 @@ The main objetive of Day 0 is to instantiate the VNF and establish management ac | uMgmt | Universal VNF Manager (EM) | | sBE | Service Backend of the platform | -2. **Defining NFVI basic requirements**: Basic requirements include the number of vCPUs, RAM GBs and disk GBs per component, as well as any other resource that the VNF components need from the physical infrastructure. For example: +### Defining NFVI requirements + +These requirements refer to properties like the number of vCPUs, RAM GBs and disk GBs per component, as well as any other resource that the VNF components need from the physical infrastructure. For example: | VDU | vCPU | RAM (GB) | Storage (GB) | External volume? | |:-----:|:----:|:--------:|:------------:|:----------------:| @@ -22,33 +26,37 @@ The main objetive of Day 0 is to instantiate the VNF and establish management ac | uMgmt | 1 | 1 | 2 | N | | sBE | 2 | 8 | 10 | Y | -3. **Defining NFVI EPA requirements**: Enhanced Platform Awareness characteristics should be defined in case the VNF requires 'higher than default' performance capabilities or any particular hardware architecture from the NFVI. Popular EPA attributes include: +For some VNFs, Enhanced Platform Awareness (EPA) characteristics need to be defined when VNF requires 'higher than default' performance capabilities or any particular hardware architecture from the NFVI. Popular EPA attributes include: + +- Compute performance attributes: + - Hypervisor type / version + - CPU Pinning + - NUMA Topology Awareness + - Memory Page Size +- Data plane performance attributes: + - SR-IOV / PCI-Passthrough + - OVS-DPDK Acceleration +- Host attributes: + - CPU Model, Architecture & Vendor + - CPU Socket & Core count - - Compute performance attributes: - - Hypervisor type / version - - CPU Pinning - - NUMA Topology Awareness - - Memory Page Size - - Data plane performance attributes: - - SR-IOV / PCI-Passthrough - - OVS-DPDK Acceleration - - Host attributes: - - CPU Model, Architecture & Vendor - - CPU Socket & Core count +For example, vLB and sBE VDU could require: - For example, vLB and sBE VDU could require: +- KVM 2.11+ +- 2 dedicated vCPUs +- Large size memory pools +- eth1 and eth2 interfaces should use SR-IOV +- CPU should be Intel x86 with no further restrictions - - KVM 2.11+ - - 2 dedicated vCPUs - - Large size memory pools - - eth1 and eth2 interfaces should use SR-IOV - - CPU should be Intel x86 with no further restrictions +### Topology and management definition -4. **Topology and management definition**: Ideally, a diagram should be used to quickly identify components and internal/external connections. +Ideally, a diagram should be used to quickly identify components and internal/external connections. ![](assets/vnftopology1.png) -5. **Images and cloud-init files**: The images for each component should be available in the format that corresponds to the main supported hypervisor. This image should contain the minimal configuration that makes it generic (not scenario-specific) and with **no hardcoded parameters*- that are relevant to the service. Furthermore, cloud-init files can be used to inject this minimal configuration to the VNF. Some examples: +### Images and cloud-init files + +The images for each component should be available in the format that corresponds to the main supported hypervisor. This image should contain the minimal configuration that makes it generic (not scenario-specific) and with **no hardcoded parameters*- that are relevant to the service. Furthermore, cloud-init files can be used to inject this minimal configuration to the VNF. Some examples: ```yaml # Cloud-init using cloud-config format @@ -76,7 +84,9 @@ echo -y | cp /tmp/ipcfg /etc/sysconfig/network-scripts/ifcfg-eth0 systemctl restart network ``` -6. **Identifying the need for instantiation parameters**: the VNF Day-0 configuration may require some parameters passed at instantiation time in order to fulfill the needs of the particular environment or of other VNFs in the Network Service. This parameters should be identified as early in the process as possible. +### Identifying the need for instantiation parameters + +The VNF Day-0 configuration may require some parameters passed at instantiation time in order to fulfill the needs of the particular environment or of other VNFs in the Network Service. This parameters should be identified as early in the process as possible. ## Day 1 requirements -- GitLab