diff options
author | PATTEN <hp1256@att.com> | 2017-08-31 12:33:01 -0700 |
---|---|---|
committer | PATTEN <hp1256@att.com> | 2017-08-31 12:33:01 -0700 |
commit | d21906736fcc735feb49b5243928c89eb9fcdf78 (patch) | |
tree | 98e566d6bfbfbcf0f8517aa5fce9ad0627d8729b /docs | |
parent | 9ec9b1679614ecb75aced53cc4ce98afd3bdef90 (diff) |
VNFRQTS -Requirements ref
VNFRQTS -Requirements Updated section 4.a and 4.e requirements to
standard format
Issue-ID:VNFRQTS-82
Change-Id: Ibb6fea7f123ffe2b706576d291f41e1d2cd99660
Signed-off-by: PATTEN <hp1256@att.com>
Diffstat (limited to 'docs')
-rw-r--r-- | docs/Chapter4.rst | 102 |
1 files changed, 34 insertions, 68 deletions
diff --git a/docs/Chapter4.rst b/docs/Chapter4.rst index 175be28..9af325f 100644 --- a/docs/Chapter4.rst +++ b/docs/Chapter4.rst @@ -23,47 +23,27 @@ Section 5.a VNF Design in *VNF Guidelines* describes the overall guidelines for designing VNFs from VNF Components (VNFCs). Below are more detailed requirements for composing VNFs. -+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+---------+ -| VNF Design Requirements | Type | ID # | -+================================================================================================================================================================================================================================+==========+=========+ -| Decompose VNFs into granular re-usable VNFCs | Should | 20010 | -+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+---------+ -| Decompose if the functions have significantly different scaling characteristics (e.g., signaling versus media functions, control versus data plane functions). | Must | 20020 | -+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+---------+ -| Decomposition of the VNF must enable instantiating only the functionality that is needed for the VNF (e.g., if transcoding is not needed it should not be instantiated). | Must | 20030 | -+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+---------+ -| Design VNFC as a standalone, executable process. | Must | 20040 | -+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+---------+ -| Create a single component VNF for VNFCs that can be used by other VNFs. | Should | 20050 | -+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+---------+ -| Design to scale horizontally (more instances of a VNF or VNFC) and not vertically (moving the existing instances to larger VMs or increasing the resources within a VM) to achieve effective utilization of cloud resources. | Must | 20060 | -+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+---------+ -| Utilize cloud provided infrastructure and VNFs (e.g., virtualized Local Load Balancer) as part of the VNF so that the cloud can manage and provide a consistent service resiliency and methods across all VNF's. | Must | 20070 | -+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+---------+ -| VNFCs should be independently deployed, configured, upgraded, scaled, monitored, and administered by ONAP. | Should | 20080 | -+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+---------+ -| Provide API versioning to allow for independent upgrades of VNFC. | Must | 20090 | -+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+---------+ -| Minimize the use of state within a VNFC to facilitate the movement of traffic from one instance to another. | Should | 20100 | -+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+---------+ -| Maintain state in a geographically redundant datastore that may, in fact, be its own VNFC. | Should | 20110 | -+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+---------+ -| Decouple persistent data from the VNFC and keep it in its own datastore that can be reached by all instances of the VNFC requiring the data. | Should | 20120 | -+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+---------+ -| Utilize virtualized, scalable open source database software that can meet the performance/latency requirements of the service for all datastores. | Must | 20130 | -+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+---------+ -| Failure of a VNFC instance must not terminate stable sessions. | Must | 20140 | -+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+---------+ -| Enable DPDK in the guest OS for VNF’s requiring high packets/sec performance. High packet throughput is defined as greater than 500K packets/sec. | Must | 20150 | -+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+---------+ -| When using DPDK, use the NCSP’s supported library and compute flavor that supports DPDK to optimize network efficiency. [1]_ | Must | 20160 | -+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+---------+ -| Do not use technologies that bypass virtualization layers (such as SR-IOV) unless approved by the NCSP (e.g., if necessary to meet functional or performance requirements). | Must | 20170 | -+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+---------+ -| Limit the size of application data packets to no larger than 9000 bytes for SDN network-based tunneling when guest data packets are transported between tunnel endpoints that support guest logical networks. | Must | 20180 | -+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+---------+ -| Do not require the use of a dynamic routing protocol unless necessary to meet functional requirements. | Must | 20190 | -+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+---------+ +VNF Design Requirements + +* R-xxxxx The VNF **SHOULD** be decomposed into granular re-usable VNFCs. +* R-xxxxx The VNF **MUST** be decomposed if the functions have significantly different scaling characteristics (e.g., signaling versus media functions, control versus data plane functions). +* R-xxxxx The VNF **MUST** enable instantiating only the functionality that is needed for the decomposed VNF (e.g., if transcoding is not needed it should not be instantiated). +* R-xxxxx The VNFC **MUST** be designed as a standalone, executable process. +* R-xxxxx The VNF **SHOULD** create a single component VNF for VNFCs that can be used by other VNFs. +* R-xxxxx The VNF **MUST** be designed to scale horizontally (more instances of a VNF or VNFC) and not vertically (moving the existing instances to larger VMs or increasing the resources within a VM) to achieve effective utilization of cloud resources. +* R-xxxxx The VNF **MUST** utilize cloud provided infrastructure and VNFs (e.g., virtualized Local Load Balancer) as part of the VNF so that the cloud can manage and provide a consistent service resiliency and methods across all VNF's. +* R-xxxxx The VNFC **SHOULD** be independently deployed, configured, upgraded, scaled, monitored, and administered by ONAP. +* R-xxxxx The VNFC **MUST** provide API versioning to allow for independent upgrades of VNFC. +* R-xxxxx The VNFC **SHOULD** minimize the use of state within a VNFC to facilitate the movement of traffic from one instance to another. +* R-xxxxx The VNF **SHOULD** maintain state in a geographically redundant datastore that may, in fact, be its own VNFC. +* R-xxxxx The VNF **SHOULD** decouple persistent data from the VNFC and keep it in its own datastore that can be reached by all instances of the VNFC requiring the data. +* R-xxxxx The VNF **MUST** utilize virtualized, scalable open source database software that can meet the performance/latency requirements of the service for all datastores. +* R-xxxxx The VNF **MUST** NOT terminate stable sessions if a VNFC instance fails. +* R-xxxxx The VNF **MUST** enable DPDK in the guest OS for VNF’s requiring high packets/sec performance. High packet throughput is defined as greater than 500K packets/sec. +* R-xxxxx The VNF **MUST** use the NCSP’s supported library and compute flavor that supports DPDK to optimize network efficiency if using DPDK. [1]_ +* R-xxxxx The VNF **MUST** NOT use technologies that bypass virtualization layers (such as SR-IOV) unless approved by the NCSP (e.g., if necessary to meet functional or performance requirements). +* R-xxxxx The VNF **MUST** limit the size of application data packets to no larger than 9000 bytes for SDN network-based tunneling when guest data packets are transported between tunnel endpoints that support guest logical networks. +* R-xxxxx The VNF **MUST** NOT require the use of a dynamic routing protocol unless necessary to meet functional requirements. b. VNF Resiliency ================= @@ -1090,33 +1070,19 @@ package manager (e.g. aptitude for Ubuntu, yum for Redhat/CentOS). Section 5.a DevOps in *VNF Guidelines* describes the DevOps guidelines for VNFs. -+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+---------+ -| DevOps Requirements | Type | ID # | -+==============================================================================================================================================================================================================================================================================================================================================================================================================================+==========+=========+ -| Utilize only the Guest OS versions that are supported by the NCSP’s Network Cloud. [2]_ | Must | 50010 | -+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+---------+ -| Utilize only NCSP provided Guest OS images.\ :sup:`2` | Should | 50020 | -+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+---------+ -| Utilize only NCSP standard compute flavors.\ :sup:`2` | Must | 50030 | -+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+---------+ -| Running VMs will not be backed up in the Network Cloud infrastructure. VNF’s are responsible for preserving their persistent data. | Must | 50040 | -+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+---------+ -| Install VNFC(s) on non-root file systems, unless software is specifically included with the operating system distribution of the guest image. | Must | 50050 | -+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+---------+ -| Be agnostic to the underlying infrastructure (such as hardware, host OS, Hypervisor), any requirements should be provided as specification to be fulfilled by any hardware. | Must | 50060 | -+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+---------+ -| Hypervisor-level customization must not be required from the cloud provider. | Must | 50070 | -+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+---------+ -| Provide an automated test suite to validate every new version of the software on the target environment(s). The tests should be of sufficient granularity to independently test various representative VNF use cases throughout its lifecycle. Operations might choose to invoke these tests either on a scheduled basis or on demand to support various operations functions including test, turn-up and troubleshooting. | Should | 50080 | -+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+---------+ -| Provide the ability to test incremental growth of the VNF | Should | 50090 | -+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+---------+ -| If a VNF provides a load balancing function across multiple instances of its VNFCs, then the VNF must respond to a "move traffic"\ :sup:`3` command against a specific VNFC, moving all existing session elsewhere with minimal disruption. | Must | 50100 | -| | | | -| Note: Individual VNF performance aspects (e.g., move duration or disruption scope) may require further constraints. | | | -+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+---------+ -| To support scenarios such as proactive maintenance with no user impact, if a VNF provides a load balancing function across multiple instances of its VNFCs, then the VNF must respond to a "drain VNFC" [3]_ command against a specific VNFC, preventing new session from reaching the targeted VNFC, with no disruption to active sessions on the impacted VNFC. | Must | 50110 | -+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+---------+ +DevOps Requirements + +* R-xxxxx The VNF **MUST** utilize only the Guest OS versions that are supported by the NCSP’s Network Cloud. [1]_ +* R-xxxxx The VNF **SHOULD** utilize only NCSP provided Guest OS images. [2]_ +* R-xxxxx The VNF **MUST** utilize only NCSP standard compute flavors. [2]_ +* R-xxxxx The VNF **MUST** preserve their persistent data. Running VMs will not be backed up in the Network Cloud infrastructure. +* R-xxxxx The VNFC **MUST** be installed on non-root file systems, unless software is specifically included with the operating system distribution of the guest image. +* R-xxxxx The VNF **MUST** be agnostic to the underlying infrastructure (such as hardware, host OS, Hypervisor), any requirements should be provided as specification to be fulfilled by any hardware. +* R-xxxxx The VNF **MUST NOT** require Hypervisor-level customization from the cloud provider. +* R-xxxxx The VNF **SHOULD** provide an automated test suite to validate every new version of the software on the target environment(s). The tests should be of sufficient granularity to independently test various representative VNF use cases throughout its lifecycle. Operations might choose to invoke these tests either on a scheduled basis or on demand to support various operations functions including test, turn-up and troubleshooting. +* R-xxxxx The VNF **SHOULD** provide the ability to test incremental growth of the VNF. +* R-xxxxx The VNF **MUST** respond to a "move traffic" [3]_ command against a specific VNFC, moving all existing session elsewhere with minimal disruption if a VNF provides a load balancing function across multiple instances of its VNFCs. Note: Individual VNF performance aspects (e.g., move duration or disruption scope) may require further constraints. +* R-xxxxx The VNF **MUST** respond to a "drain VNFC" [2]_ command against a specific VNFC, preventing new session from reaching the targeted VNFC, with no disruption to active sessions on the impacted VNFC, if a VNF provides a load balancing function across multiple instances of its VNFCs. This is used to support scenarios such as proactive maintenance with no user impact, .. [1] |