Update VM build
[nfvbench.git] / docs / release / release-notes / release-notes.rst
1 .. This work is licensed under a Creative Commons Attribution 4.0 International License.
2 .. http://creativecommons.org/licenses/by/4.0
3 .. (c) Cisco Systems, Inc
4
5 RELEASE NOTES
6 +++++++++++++
7 Release 3.3.0
8 =============
9
10 Major release highlights:
11
12 - VxLAN support
13 - test VM can now have idle interfaces
14 - test VM can be launched with multiqueue enabled
15 - upgrade to TRex v2.56
16
17
18 Release 2.0
19 ===========
20 NFVbench will now follow its own project release numbering (x.y.z) which is independent of the OPNFV release numbering (opnfv-x.y.z)
21
22 Major release highlights:
23
24 - Dedicated edge networks for each chain
25 - Enhanced chain analysis
26 - Code refactoring and enhanced unit testing
27 - Miscellaneous enhancement
28
29 Dedicated edge networks for each chain
30 --------------------------------------
31 NFVbench 1.x only supported shared edge networks for all chains.
32 For example, 20xPVP would create only 2 edge networks (left and right) shared by all chains.
33 With NFVbench 2.0, chain networks are dedicated (unshared) by default with an option in
34 the nfvbench configuration to share them. A 20xPVP run will create 2x20 networks instead.
35
36 Enhanced chain analysis
37 -----------------------
38 The new chain analysis improves at multiple levels:
39
40 - there is now one table for each direction (forward and reverse) that both read from left to right
41 - per-chain packet counters and latency
42 - all-chain aggregate packet counters and latency
43 - supports both shared and dedicated chain networks
44
45 Code refactoring and enhanced unit testing
46 ------------------------------------------
47 The overall code structure is now better partitioned in the following functions:
48
49 - staging and resource discovery
50 - traffic generator
51 - stats collection
52
53 The staging algorithm was rewritten to be:
54
55 - a lot more robust to errors and to handle better resource reuse use cases.
56   For example when a network with a matching name is discovered the new code will verify that the
57   network is associated to the right VM instance
58 - a lot more strict when it comes to the inventory of MAC addresses. For example the association
59   from each VM MAC to a chain index for each Trex port is handled in a much more strict manner.
60
61 Although not all code is unit tested, the most critical parts are unit tested with the use of
62 the mock library. The resulting unit test code can run in isolation without needing a real system under test.
63
64
65 OPNFV Fraser Release
66 ====================
67
68 Over 30 Jira tickets have been addressed in this release (Jira NFVBENCH-55 to NFVBENCH-78)
69
70 The Fraser release adds the following new features:
71
72 - support for benchmarking non-OpenStack environments (with external setup and no OpenStack openrc file)
73 - PVVP packet path with SRIOV at the edge and vswitch between VMs
74 - support logging events and results through fluentd
75
76 Enhancements and main bug fixes:
77
78 - end to end connectivity for larger chain count is now much more accurate for large chain count - avoiding excessive drops
79 - use newer version of TRex (2.32)
80 - use newer version of testpmd DPDK
81 - NDR/PDR uses actual TX rate to calculate drops - resulting in more accurate results
82 - add pylint to unit testing
83 - add self sufficient and standalone unit testing (without actual testbed)
84
85
86 OPNFV Euphrates Release
87 =======================
88
89 This is the introductory release for NFVbench. In this release, NFVbench provides the following features/capabilities:
90
91 - standalone installation with a single Docker container integrating the open source TRex traffic generator
92 - can measure data plane performance for any NFVi full stack
93 - can setup automatically service chains with the following packet paths:
94     - PVP (physical-VM-physical)
95     - PVVP (physical-VM-VM-physical) intra-node and inter-node
96 - can setup multiple service chains
97     - N * PVP
98     - N * PVVP
99 - supports any external service chain (pre-set externally) that can do basic IPv4 routing
100 - can measure
101     - drop rate and latency for any given fixed rate
102     - NDR (No Drop Rate) and PDR (Partial Drop Rate) with configurable drop rates
103 - traffic specification
104     - any fixed frame size or IMIX
105     - uni or bidirectional traffic
106     - any number of flows
107     - vlan tagging can be enabled or disabled
108 - user interface:
109     - CLI
110     - REST+socketIO
111 - fully configurable runs with yaml-JSON configuration
112 - detailed results in JSON format
113 - summary tabular results
114 - can send logs and results to one or more fluentd aggregators (per configuration)