Structure test case descriptions
[yardstick.git] / docs / yardstick / 02-methodology.rst
1 ===========
2 Methodology
3 ===========
4
5 Abstract
6 ========
7
8 This chapter describes the methodology implemented by the Yardstick project for
9 verifying the NFV Infrastructure from the perspective of a VNF.
10
11 ETSI-NFV
12 ========
13
14 .. _NFV-TST001: https://docbox.etsi.org/ISG/NFV/Open/Drafts/TST001_-_Pre-deployment_Validation/
15
16 The document ETSI GS NFV-TST001_, "Pre-deployment Testing; Report on Validation
17 of NFV Environments and Services", recommends methods for pre-deployment
18 testing of the functional components of an NFV environment.
19
20 The Yardstick project implements the methodology described in chapter 6, "Pre-
21 deployment validation of NFV infrastructure".
22
23 The methodology consists in decomposing the typical VNF work-load performance
24 metrics into a number of characteristics/performance vectors, which each can be
25 represented by distinct test-cases.
26
27 The methodology includes five steps:
28
29 * *Step1:* Define Infrastruture - the HW, SW and corresponding configuration
30    target for validation; the OPNFV infrastructure, in OPNFV community labs.
31
32 * *Step2:* Identify VNF type - the application for which the infrastructure is
33    to be validated, and its requirements on the underlying infrastructure.
34
35 * *Step3:* Select test cases - depending on the workload that represents the
36    application for which the infrastruture is to be validated, the relevant
37    test cases amongst the list of available Yardstick test cases.
38
39 * *Step4:* Execute tests - define the duration and number of iterations for the
40    selected test cases, tests runs are automated via OPNFV Jenkins Jobs.
41
42 * *Step5:* Collect results - using the common API for result collection.
43
44 Metrics
45 =======
46
47 The metrics, as defined by ETSI GS NFV-TST001, are shown in
48 :ref:`Table1 <table2_1>`, :ref:`Table2 <table2_2>` and
49 :ref:`Table3 <table2_3>`.
50
51 In OPNFV Brahmaputra release, generic test cases covering aspects of the listed
52 metrics are available; further OPNFV releases will provide extended testing of
53 these metrics.
54 The view of available Yardstick test cases cross ETSI definitions in
55 :ref:`Table1 <table2_1>`, :ref:`Table2 <table2_2>` and :ref:`Table3 <table2_3>`
56 is shown in :ref:`Table4 <table2_4>`.
57 It shall be noticed that the Yardstick test cases are examples, the test
58 duration and number of iterations are configurable, as are the System Under
59 Test (SUT) and the attributes (or, in Yardstick nomemclature, the scenario
60 options).
61
62 .. _table2_1:
63
64 **Table 1 - Performance/Speed Metrics**
65
66 +---------+-------------------------------------------------------------------+
67 | Category| Performance/Speed                                                 |
68 |         |                                                                   |
69 +---------+-------------------------------------------------------------------+
70 | Compute | * Latency for random memory access                                |
71 |         | * Latency for cache read/write operations                         |
72 |         | * Processing speed (instructions per second)                      |
73 |         | * Throughput for random memory access (bytes per second)          |
74 |         |                                                                   |
75 +---------+-------------------------------------------------------------------+
76 | Network | * Throughput per NFVI node (frames/byte per second)               |
77 |         | * Throughput provided to a VM (frames/byte per second)            |
78 |         | * Latency per traffic flow                                        |
79 |         | * Latency between VMs                                             |
80 |         | * Latency between NFVI nodes                                      |
81 |         | * Packet delay variation (jitter) between VMs                     |
82 |         | * Packet delay variation (jitter) between NFVI nodes              |
83 |         |                                                                   |
84 +---------+-------------------------------------------------------------------+
85 | Storage | * Sequential read/write IOPS                                      |
86 |         | * Random read/write IOPS                                          |
87 |         | * Latency for storage read/write operations                       |
88 |         | * Throughput for storage read/write operations                    |
89 |         |                                                                   |
90 +---------+-------------------------------------------------------------------+
91
92 .. _table2_2:
93
94 **Table 2 - Capacity/Scale Metrics**
95
96 +---------+-------------------------------------------------------------------+
97 | Category| Capacity/Scale                                                    |
98 |         |                                                                   |
99 +---------+-------------------------------------------------------------------+
100 | Compute | * Number of cores and threads- Available memory size              |
101 |         | * Cache size                                                      |
102 |         | * Processor utilization (max, average, standard deviation)        |
103 |         | * Memory utilization (max, average, standard deviation)           |
104 |         | * Cache utilization (max, average, standard deviation)            |
105 |         |                                                                   |
106 +---------+-------------------------------------------------------------------+
107 | Network | * Number of connections                                           |
108 |         | * Number of frames sent/received                                  |
109 |         | * Maximum throughput between VMs (frames/byte per second)         |
110 |         | * Maximum throughput between NFVI nodes (frames/byte per second)  |
111 |         | * Network utilization (max, average, standard deviation)          |
112 |         | * Number of traffic flows                                         |
113 |         |                                                                   |
114 +---------+-------------------------------------------------------------------+
115 | Storage | * Storage/Disk size                                               |
116 |         | * Capacity allocation (block-based, object-based)                 |
117 |         | * Block size                                                      |
118 |         | * Maximum sequential read/write IOPS                              |
119 |         | * Maximum random read/write IOPS                                  |
120 |         | * Disk utilization (max, average, standard deviation)             |
121 |         |                                                                   |
122 +---------+-------------------------------------------------------------------+
123
124 .. _table2_3:
125
126 **Table 3 - Availability/Reliability Metrics**
127
128 +---------+-------------------------------------------------------------------+
129 | Category| Availability/Reliability                                          |
130 |         |                                                                   |
131 +---------+-------------------------------------------------------------------+
132 | Compute | * Processor availability (Error free processing time)             |
133 |         | * Memory availability (Error free memory time)                    |
134 |         | * Processor mean-time-to-failure                                  |
135 |         | * Memory mean-time-to-failure                                     |
136 |         | * Number of processing faults per second                          |
137 |         |                                                                   |
138 +---------+-------------------------------------------------------------------+
139 | Network | * NIC availability (Error free connection time)                   |
140 |         | * Link availability (Error free transmission time)                |
141 |         | * NIC mean-time-to-failure                                        |
142 |         | * Network timeout duration due to link failure                    |
143 |         | * Frame loss rate                                                 |
144 |         |                                                                   |
145 +---------+-------------------------------------------------------------------+
146 | Storage | * Disk availability (Error free disk access time)                 |
147 |         | * Disk mean-time-to-failure                                       |
148 |         | * Number of failed storage read/write operations per second       |
149 |         |                                                                   |
150 +---------+-------------------------------------------------------------------+
151
152 .. _table2_4:
153
154 **Table 4 - Yardstick Generic Test Cases**
155
156 +---------+-------------------+----------------+------------------------------+
157 | Category| Performance/Speed | Capacity/Scale | Availability/Reliability     |
158 |         |                   |                |                              |
159 +---------+-------------------+----------------+------------------------------+
160 | Compute | TC003             | TC003          |  TC013 [1]_                  |
161 |         | TC004             | TC004          |  TC015 [1]_                  |
162 |         | TC014             | TC010          |                              |
163 |         | TC024             | TC012          |                              |
164 |         |                   |                |                              |
165 +---------+-------------------+----------------+------------------------------+
166 | Network | TC002             | TC001          |  TC016 [1]_                  |
167 |         | TC011             | TC008          |  TC018 [1]_                  |
168 |         |                   | TC009          |                              |
169 |         |                   |                |                              |
170 +---------+-------------------+----------------+------------------------------+
171 | Storage | TC005             | TC005          |  TC017 [1]_                  |
172 |         |                   |                |                              |
173 +---------+-------------------+----------------+------------------------------+
174
175 .. note:: The description in this OPNFV document is intended as a reference for
176   users to understand the scope of the Yardstick Project and the
177   deliverables of the Yardstick framework. For complete description of
178   the methodology, refer to the ETSI document.
179
180 .. rubric:: Footnotes
181 .. [1] To be included in future deliveries.