b9f6cdd5ab60715018adaa5525c49a66fe069c94
[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
8 Release 3.6.2
9 =============
10 NFVBENCH-152 Add service_mode method for debugging purpose
11 NFVBENCH-150 Add support for VXLAN latency
12 NFVBENCH-146 Add cache_size option
13 NFVBENCH-151 Allocate hugepages on two NUMAs in nfvbenchvm
14 NFVBENCH-149 Negative latency exception during NDR/PDR search
15 NFVBENCH-148 Increase the waiting time based on # of instances
16
17 Release 3.5.1
18 =============
19
20 - NFVBENCH-147 Incorrect URL used for admin check in credentials
21 - Release the validation check for VxLAN networks
22 - NFVBENCH-145 Config file not found. No explicit error
23 - NFVBENCH-144 Trex cannot take account NFVBench config (platform thread id 0)
24
25 - NFVBENCH-140 Retrieve High Dynamic Range latency histograms with TRex v2.59
26 - NFVBENCH-143 Trex cannot start due to invalid config (platform None)
27 - NFVBENCH-141 Fix Openstack user admin role check
28 - NFVBENCH-139 Fix master_thread_id and latency_thread_id property checking
29 - NFVBENCH-95 Add HdrHistogram encodes returned by TRex to JSON results
30 - NFVBENCH-138 Use yaml.safe_load() instead of unsafe yaml load
31 - NFVBENCH-137 NFVbench generates wrong L4 checksums for VxLAN traffic
32
33 Release 3.4.0
34 =============
35
36 - Add L3 traffic management with Neutron routers
37
38
39 Release 3.3.0
40 =============
41
42 Major release highlights:
43
44 - VxLAN support
45 - test VM can now have idle interfaces
46 - test VM can be launched with multiqueue enabled
47 - upgrade to TRex v2.56
48
49
50 Release 2.0
51 ===========
52 NFVbench will now follow its own project release numbering (x.y.z) which is independent of the OPNFV release numbering (opnfv-x.y.z)
53
54 Major release highlights:
55
56 - Dedicated edge networks for each chain
57 - Enhanced chain analysis
58 - Code refactoring and enhanced unit testing
59 - Miscellaneous enhancement
60
61 Dedicated edge networks for each chain
62 --------------------------------------
63 NFVbench 1.x only supported shared edge networks for all chains.
64 For example, 20xPVP would create only 2 edge networks (left and right) shared by all chains.
65 With NFVbench 2.0, chain networks are dedicated (unshared) by default with an option in
66 the nfvbench configuration to share them. A 20xPVP run will create 2x20 networks instead.
67
68 Enhanced chain analysis
69 -----------------------
70 The new chain analysis improves at multiple levels:
71
72 - there is now one table for each direction (forward and reverse) that both read from left to right
73 - per-chain packet counters and latency
74 - all-chain aggregate packet counters and latency
75 - supports both shared and dedicated chain networks
76
77 Code refactoring and enhanced unit testing
78 ------------------------------------------
79 The overall code structure is now better partitioned in the following functions:
80
81 - staging and resource discovery
82 - traffic generator
83 - stats collection
84
85 The staging algorithm was rewritten to be:
86
87 - a lot more robust to errors and to handle better resource reuse use cases.
88   For example when a network with a matching name is discovered the new code will verify that the
89   network is associated to the right VM instance
90 - a lot more strict when it comes to the inventory of MAC addresses. For example the association
91   from each VM MAC to a chain index for each Trex port is handled in a much more strict manner.
92
93 Although not all code is unit tested, the most critical parts are unit tested with the use of
94 the mock library. The resulting unit test code can run in isolation without needing a real system under test.
95
96
97 OPNFV Fraser Release
98 ====================
99
100 Over 30 Jira tickets have been addressed in this release (Jira NFVBENCH-55 to NFVBENCH-78)
101
102 The Fraser release adds the following new features:
103
104 - support for benchmarking non-OpenStack environments (with external setup and no OpenStack openrc file)
105 - PVVP packet path with SRIOV at the edge and vswitch between VMs
106 - support logging events and results through fluentd
107
108 Enhancements and main bug fixes:
109
110 - end to end connectivity for larger chain count is now much more accurate for large chain count - avoiding excessive drops
111 - use newer version of TRex (2.32)
112 - use newer version of testpmd DPDK
113 - NDR/PDR uses actual TX rate to calculate drops - resulting in more accurate results
114 - add pylint to unit testing
115 - add self sufficient and standalone unit testing (without actual testbed)
116
117
118 OPNFV Euphrates Release
119 =======================
120
121 This is the introductory release for NFVbench. In this release, NFVbench provides the following features/capabilities:
122
123 - standalone installation with a single Docker container integrating the open source TRex traffic generator
124 - can measure data plane performance for any NFVi full stack
125 - can setup automatically service chains with the following packet paths:
126     - PVP (physical-VM-physical)
127     - PVVP (physical-VM-VM-physical) intra-node and inter-node
128 - can setup multiple service chains
129     - N * PVP
130     - N * PVVP
131 - supports any external service chain (pre-set externally) that can do basic IPv4 routing
132 - can measure
133     - drop rate and latency for any given fixed rate
134     - NDR (No Drop Rate) and PDR (Partial Drop Rate) with configurable drop rates
135 - traffic specification
136     - any fixed frame size or IMIX
137     - uni or bidirectional traffic
138     - any number of flows
139     - vlan tagging can be enabled or disabled
140 - user interface:
141     - CLI
142     - REST+socketIO
143 - fully configurable runs with yaml-JSON configuration
144 - detailed results in JSON format
145 - summary tabular results
146 - can send logs and results to one or more fluentd aggregators (per configuration)