Merge "Add ansible scripts to deploy Kubernetes"
[yardstick.git] / docs / testing / user / userguide / nsb / tc_pktgen_k8s_vcmts.rst
1 .. This work is licensed under a Creative Commons Attribution 4.0 International
2 .. License.
3 .. http://creativecommons.org/licenses/by/4.0
4 .. (c) OPNFV, 2019 Viosoft Corporation.
5
6 ***********************************************
7 Yardstick Test Case Description: NSB vCMTS
8 ***********************************************
9
10 +------------------------------------------------------------------------------+
11 |NSB Pktgen test for vCMTS characterization                                    |
12 |                                                                              |
13 +--------------+---------------------------------------------------------------+
14 |test case id  | tc_vcmts_k8s_pktgen                                           |
15 |              |                                                               |
16 +--------------+---------------------------------------------------------------+
17 |metric        | * Upstream Processing (Per Service Group);                    |
18 |              | * Downstream Processing (Per Service Group);                  |
19 |              | * Upstream Throughput;                                        |
20 |              | * Downstream Throughput;                                      |
21 |              | * Platform Metrics;                                           |
22 |              | * Power Consumption;                                          |
23 |              | * Upstream Throughput Time Series;                            |
24 |              | * Downstream Throughput Time Series;                          |
25 |              | * System Summary;                                             |
26 |              |                                                               |
27 +--------------+---------------------------------------------------------------+
28 |test purpose  | * The vCMTS test handles service groups and packet generation |
29 |              |   containers setup, and metrics collection.                   |
30 |              |                                                               |
31 |              | * The vCMTS test case is implemented to run in Kubernetes     |
32 |              |   environment with vCMTS pre-installed.                       |
33 +--------------+---------------------------------------------------------------+
34 |configuration | The vCMTS test case configurable values are listed below      |
35 |              |                                                               |
36 |              | * num_sg: Number of service groups (Upstream/Downstream       |
37 |              |           container pairs).                                   |
38 |              | * num_tg: Number of Pktgen containers.                        |
39 |              | * vcmtsd_image: vCMTS container image (feat/perf).            |
40 |              | * qat_on: QAT status (true/false).                            |
41 |              |                                                               |
42 |              | num_sg and num_tg values should be configured in the test     |
43 |              | case file and in the topology file.                           |
44 |              |                                                               |
45 +--------------+---------------------------------------------------------------+
46 |test tool     | Intel vCMTS Reference Dataplane                               |
47 |              | Reference implementation of a DPDK-based vCMTS (DOCSIS MAC)   |
48 |              | dataplane in a Kubernetes-orchestrated Linux Container        |
49 |              | environment.                                                  |
50 |              |                                                               |
51 +--------------+---------------------------------------------------------------+
52 |applicability | This test cases can be configured with different:             |
53 |              |                                                               |
54 |              | * Number of service groups                                    |
55 |              | * Number of Pktgen instances                                  |
56 |              | * QAT offloading                                              |
57 |              | * Feat/Perf Images for performance or features (more data     |
58 |              |   collection)                                                 |
59 |              |                                                               |
60 |              | Default values exist.                                         |
61 |              |                                                               |
62 +--------------+---------------------------------------------------------------+
63 |pre-test      | Intel vCMTS Reference Dataplane should be installed and       |
64 |conditions    | runnable on 2 nodes Kubernetes environment with modifications |
65 |              | to the containers to allow yardstick ssh access, and the      |
66 |              | ConfigMaps from the original vCMTS package deployed.          |
67 |              |                                                               |
68 +--------------+---------------------------------------------------------------+
69 |test sequence | description and expected result                               |
70 |              |                                                               |
71 +--------------+---------------------------------------------------------------+
72 |step 1        | Yardstick is connected to the Kubernetes Master node using    |
73 |              | the configuration file in /etc/kubernetes/admin.yaml          |
74 |              |                                                               |
75 +--------------+---------------------------------------------------------------+
76 |step 2        | The TG containers are created and started on the traffic      |
77 |              | generator server (Master node), While the VNF containers are  |
78 |              | created and started on the data plan server.                  |
79 |              |                                                               |
80 +--------------+---------------------------------------------------------------+
81 |step 3        | Yardstick is connected with the TG and VNF by using ssh.      |
82 |              | to start vCMTS-d, and Pktgen.                                 |
83 |              |                                                               |
84 +--------------+---------------------------------------------------------------+
85 |step 4        | Yardstick connects to the running Pktgen instances to start   |
86 |              | generating traffic using the configurations from:             |
87 |              |  /etc/yardstick/pktgen_values.yaml                            |
88 |              |                                                               |
89 |              | and connects to the vCMTS-d containers to start the upstream  |
90 |              | and downstream processing using the configurations from:      |
91 |              |  /etc/yardstick/vcmtsd_values.yaml                            |
92 |              |                                                               |
93 +--------------+---------------------------------------------------------------+
94 |step 5        | Yardstick copies vCMTS metrics regularly from the remote      |
95 |              | InfluxDB (deployed by the vCMTS Package) to the local         |
96 |              | Yardstick InfluxDB as configured in the options section in    |
97 |              | the test case file.                                           |
98 |              |                                                               |
99 +--------------+---------------------------------------------------------------+
100 |test verdict  | None. The test case will collect the KPIs and plot on         |
101 |              | Grafana.                                                      |
102 +--------------+---------------------------------------------------------------+