Removal of the rememberance of Al
[opnfvdocs.git] / docs / release / overview.rst
1 .. _opnfv-overview:
2
3 .. This work is licensed under a Creative Commons Attribution 4.0 International License.
4 .. SPDX-License-Identifier: CC-BY-4.0
5 .. (c) Open Platform for NFV Project, Inc. and its contributors
6
7 NOTE: This Document will be updated for Anuket in the Lakelse Release.
8
9 =================
10 Platform overview
11 =================
12
13 Introduction
14 ============
15
16 Network Functions Virtualization (NFV) is transforming the networking industry via
17 software-defined infrastructures and open source is the proven method for quickly developing
18 software for commercial products and services that can move markets.
19 Open Platform for NFV (OPNFV) facilitates the development and evolution of NFV
20 components across various open source ecosystems. Through system level integration,
21 deployment and testing, OPNFV constructs a reference NFV platform to accelerate the
22 transformation of enterprise and service provider networks.
23 As an open source project, OPNFV is uniquely positioned to bring together the work
24 of standards bodies, open source communities, service providers and commercial suppliers to deliver
25 a de facto NFV platform for the industry.
26
27 By integrating components from upstream projects, the community is able to conduct performance
28 and use case-based testing on a variety of solutions to ensure the platform’s suitability for
29 NFV use cases. OPNFV also works upstream with other open source communities to bring contributions
30 and learnings from its work directly to those communities in the form of blueprints, patches, bugs,
31 and new code.
32
33 OPNFV focuses on building NFV Infrastructure (NFVI) and Virtualized Infrastructure Management (VIM) by
34 integrating components from upstream projects such as OpenDaylight, OVN, OpenStack, Kubernetes,
35 Ceph Storage, KVM, Open vSwitch, Linux, DPDK and FD.io. OPNFV- is able to run on both Intel and
36 ARM commercial and white-box hardware, support VM, Container and BareMetal workloads.
37
38 These capabilities, along with application programmable interfaces (APIs) to other NFV
39 elements, form the basic infrastructure required for Virtualized Network Functions (VNF)
40 and MANO components.
41
42 Concentrating on these components, OPNFV aims to enhance
43 NFV services by increasing performance and power efficiency improving reliability,
44 availability and serviceability, and delivering comprehensive platform instrumentation.
45
46
47 OPNFV Platform Architecture
48 ===========================
49
50 The OPNFV project addresses a number of aspects in the development of a consistent virtualisation
51 platform including common hardware requirements, software architecture, MANO and applications.
52
53
54 OPNFV Platform Overview Diagram
55
56 .. image:: ../images/hunter.png
57    :alt: Overview infographic of the opnfv platform and projects.
58
59
60 To address these areas effectively, the OPNFV platform architecture can be decomposed
61 into the following basic building blocks:
62
63 * Hardware: Infrastructure working group, Pharos project and associated activities
64 * Software Platform: Platform integration and deployment projects
65 * Tooling and testing: Testing working group and test projects
66 * Applications: All other areas and drive requirements for OPNFV
67
68 OPNFV Lab Infrastructure
69 ========================
70
71 The infrastructure working group oversees such topics as lab management, workflow,
72 definitions, metrics and tools for OPNFV infrastructure.
73
74 Fundamental to the WG is the
75 `Pharos Specification <https://wiki.opnfv.org/display/pharos/Pharos+Specification>`_
76 which provides a set of defined lab infrastructures over a geographically and technically
77 diverse federated global OPNFV lab.
78
79 Labs may instantiate bare-metal and virtual environments that are accessed remotely by the
80 community and used for OPNFV platform and feature development, build, deploy and testing.
81 No two labs are the same and the heterogeneity of the Pharos environment provides the ideal
82 platform for establishing hardware and software abstractions providing well understood
83 performance characteristics.
84
85 Community labs are hosted by OPNFV member companies on a voluntary basis.
86 The Linux Foundation also hosts an OPNFV lab that provides centralized CI
87 and other production resources which are linked to community labs.
88
89 The Lab-as-a-service (LaaS) offering provides developers to readily access NFV infrastructure on demand.
90 Ongoing lab capabilities will include the ability to easily automate deployment and test of any OPNFV install
91 scenario in any lab environment using a concept called “Dynamic CI”.
92
93 OPNFV Software Platform Architecture
94 ====================================
95
96 The OPNFV software platform is comprised exclusively of open source implementations of
97 platform component pieces.  OPNFV is able to draw from the rich ecosystem of NFV related
98 technologies available in open source communities, and then integrate, test, measure and improve these
99 components in conjunction with our upstream communities.
100
101 ---------------------------------
102 Virtual Infrastructure Management
103 ---------------------------------
104
105 OPNFV derives its Virtual Infrastructure Management from OpenStack and Kubernetes. OpenStack provides a
106 complete reference cloud management system and associated technologies. While the OpenStack community
107 sustains a broad set of projects, not all technologies are relevant in the NFV domain, the OPNFV community
108 consumes a sub-set of OpenStack projects and the usage and composition may vary depending on the installer and scenario.
109 Additionally, OPNFV also uses Kubernetes, the popular Container Orchestration Engine. Kubernetes is intended to be a VIM for
110 Cloud Native Network Functions (CNFs).
111
112 For details on the scenarios available in OPNFV and the specific composition of components
113 refer to the :ref:`OPNFV User Guide & Configuration Guide <opnfv-user-config>`.
114
115 -----------------
116 Operating Systems
117 -----------------
118
119 OPNFV currently uses Linux on all target machines. The
120 specific version of Linux used for any deployment is documented in the installation guide.
121
122 Networking Technologies
123 =======================
124
125 ---------------
126 SDN Controllers
127 ---------------
128 OPNFV, as an NFV focused project, has a significant investment on networking technologies
129 and provides a broad variety of integrated open source reference solutions.  The diversity
130 of controllers able to be used in OPNFV is supported by a similarly diverse set of
131 forwarding technologies.
132
133 There are many SDN controllers available today relevant to virtual environments
134 where the OPNFV community supports and contributes to a number of these.  The controllers
135 being worked on by the community during this release of OPNFV include:
136
137 * Neutron: an OpenStack project to provide “network connectivity as a service” between
138   interface devices (e.g., vNICs) managed by other OpenStack services (e.g. Nova).
139 * OpenDaylight: addresses multivendor, traditional and greenfield networks, establishing the
140   industry’s de facto SDN platform and providing the foundation for networks of the future.
141 * OVN: a distributed control-plane on top of the popular Open vSwitch (OVS) offers network virtualization
142   services.
143
144 ----------
145 Data Plane
146 ----------
147 OPNFV extends Linux virtual networking capabilities by using virtual switching
148 and routing components. The OPNFV community proactively engages with the following open source
149 communities to address performance, scale and resiliency needs apparent in carrier
150 networks.
151
152 * OVS (Open vSwitch): a production quality, multilayer virtual switch designed to enable massive
153   network automation through programmatic extension, while still supporting standard management interfaces and protocols.
154 * FD.io (Fast data - Input/Output): a high performance alternative to Open vSwitch, the core engine of
155   FD.io is a vector processing engine (VPP). VPP processes a number of packets in parallel instead of one at
156   a time thus significantly improving packet throughput.
157 * DPDK:  a set of libraries that bypass the kernel and provide polling mechanisms, instead of interrupt based operations,
158   to speed up packet processing. DPDK works with both OVS and FD.io.
159
160 Deployment Architecture
161 =======================
162
163 A typical OPNFV deployment starts with three controller nodes running in a high availability
164 configuration including control plane components from OpenStack, SDN controllers, etc. and a minimum
165 of two compute nodes for deployment of workloads (VNFs).
166 A detailed description of the hardware requirements required to support the 5 node configuration
167 can be found in pharos specification: `Pharos Project <https://www.opnfv.org/developers/pharos>`_
168
169 In addition to the deployment on a highly available physical infrastructure, OPNFV can be
170 deployed for development and lab purposes in a virtual environment.  In this case each of the hosts
171 is provided by a virtual machine and allows control and workload placement using nested virtualization.
172
173 The initial deployment is done using a staging server, referred to as the "jumphost".
174 This server-either physical or virtual-is first installed with the installation program
175 that then installs OpenStack and other components on the controller nodes and compute nodes.
176 See the :ref:`OPNFV User Guide & Configuration Guide <opnfv-user-config>` for more details.
177
178
179 The OPNFV Testing Ecosystem
180 ===========================
181
182 The OPNFV community has set out to address the needs of virtualization in the carrier
183 network and as such platform validation and measurements are a cornerstone to the
184 iterative releases and objectives.
185
186 To simplify the complex task of feature, component and platform validation and characterization
187 the testing community has established a fully automated method for addressing all key areas of
188 platform validation. This required the integration of a variety of testing frameworks in our CI
189 systems, real time and automated analysis of results, storage and publication of key facts for
190 each run as shown in the following diagram.
191
192 .. image:: ../images/OPNFV_testing_working_group.png
193   :alt: Overview infographic of the OPNFV testing Ecosystem
194
195 Release Verification
196 ====================
197
198 The OPNFV community relies on its testing community to establish release criteria for each OPNFV
199 release. With each release cycle the testing criteria become more stringent and better representative
200 of our feature and resiliency requirements. Each release establishes a set of deployment scenarios to validate,
201 the testing infrastructure and test suites need to accommodate these features and capabilities.
202
203 The release criteria as established by the testing teams include passing a set of test cases
204 derived from the functional testing project ‘functest,’ a set of test cases derived from our
205 platform system and performance test project ‘yardstick,’ and a selection of test cases for
206 feature capabilities derived from other test projects such as bottlenecks, vsperf, cperf and
207 storperf. The scenario needs to be able to be deployed, pass these tests, and be removed from
208 the infrastructure iteratively in order to fulfill the release criteria.
209
210 --------
211 Functest
212 --------
213 Functest provides a functional testing framework incorporating a number of test suites
214 and test cases that test and verify OPNFV platform functionality.
215 The scope of Functest and relevant test cases can be found in the :ref:`Functest User Guide <functest-userguide>`
216
217 Functest provides both feature project and component test suite integration, leveraging
218 OpenStack and SDN controllers testing frameworks to verify the key components of the OPNFV
219 platform are running successfully.
220
221 ---------
222 Yardstick
223 ---------
224 Yardstick is a testing project for verifying the infrastructure compliance when running VNF applications.
225 Yardstick benchmarks a number of characteristics and performance vectors on the infrastructure making it
226 a valuable pre-deployment NFVI testing tools.
227
228 Yardstick provides a flexible testing framework for launching other OPNFV testing projects.
229
230 There are two types of test cases in Yardstick:
231
232 * Yardstick generic test cases and OPNFV feature test cases;
233   including basic characteristics benchmarking in compute/storage/network area.
234 * OPNFV feature test cases include basic telecom feature testing from OPNFV projects;
235   for example nfv-kvm, sfc, ipv6, Parser, Availability and SDN VPN
236
237 With the addition of the Network Service Benchmarking (NSB) initiative, it is possible to use Yardstick NSB
238 for benchmarking the performance of VNFs and Network Services.
239
240 System Evaluation and compliance testing
241 ========================================
242
243 The OPNFV community is developing a set of test suites intended to evaluate a set of reference
244 behaviors and capabilities for NFV systems developed externally from the OPNFV ecosystem to
245 evaluate and measure their ability to provide the features and capabilities developed in the
246 OPNFV ecosystem.
247
248 The Dovetail project provides a test framework and methodology able to be used on any NFV platform,
249 including an agreed set of test cases establishing an evaluation criteria for exercising
250 an OPNFV compatible system.
251
252 Additional Testing
253 ==================
254
255 Besides the test suites and cases for release verification, additional testing is performed to validate
256 specific features or characteristics of the OPNFV platform.
257 These testing framework and test cases may include some specific needs; such as extended measurements,
258 additional testing stimuli, or tests simulating environmental disturbances or failures.
259
260 These additional testing activities provide a more complete evaluation of the OPNFV platform.
261 Some of the projects focused on these testing areas include:
262
263 -----------
264 Bottlenecks
265 -----------
266 Bottlenecks provides a framework to find system limitations and bottlenecks, providing
267 root cause isolation capabilities to facilitate system evaluation.
268
269 --------
270 NFVBench
271 --------
272 NFVbench is a lightweight end-to-end dataplane benchmarking framework project.
273 It includes traffic generator(s) and measures a number of packet performance related metrics.
274
275 --------
276 Storperf
277 --------
278 Storperf measures the performance of external block storage. The goal of this project is
279 to provide a report based on SNIA’s (Storage Networking Industry Association) Performance Test Specification.
280
281 ------
282 VSPERF
283 ------
284 VSPERF provides an automated test-framework and comprehensive test suite for measuring data-plane
285 performance of the NFVI including switching technology, physical and virtual network interfaces.
286 The provided test cases with network topologies can be customized while also allowing individual
287 versions of Operating System, vSwitch and hypervisor to be specified.
288
289
290
291
292 .. _`OPNFV Configuration Guide`: `OPNFV User Guide & Configuration Guide`
293 .. _`OPNFV User Guide`: `OPNFV User Guide & Configuration Guide`
294 .. _`Dovetail project`: https://wiki.opnfv.org/display/dovetail