Add a document descibing vCMTS testcase 01/67701/1
authortreyad <treyad@viosoft.com>
Wed, 20 Feb 2019 18:56:10 +0000 (10:56 -0800)
committerRex Lee <limingjiang@huawei.com>
Thu, 25 Apr 2019 12:37:01 +0000 (12:37 +0000)
JIRA: YARDSTICK-1601

Change-Id: Icfca620beb191fa935d820a23f8ce086498b130e
Signed-off-by: treyad <treyad@viosoft.com>
(cherry picked from commit a4f75aa4af079ae76a0da4350c344023d78c7d93)

docs/testing/user/userguide/14-nsb-operation.rst
docs/testing/user/userguide/nsb/nsb-list-of-tcs.rst [changed mode: 0644->0755]
docs/testing/user/userguide/nsb/tc_pktgen_k8s_vcmts.rst [new file with mode: 0755]

index 69ffb8a..8d9a110 100644 (file)
@@ -674,3 +674,34 @@ preinstalled and properly configured.
     dump_interface_table
     quit
     EOL
+
+
+Preparing test run of vCMTS test case
+-------------------------------------
+
+Location of vCMTS test cases: ``samples/vnf_samples/nsut/cmts/``.
+
+Before running a specific vIPSEC test case using NSB, some changes must be
+made to the original vCMTS package.
+
+Allow SSH access to the docker images
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+Follow the documentation at ``https://docs.docker.com/engine/examples/running_ssh_service/``
+to allow SSH access to the Pktgen/vcmts-d containers located at:
+
+* ``$VCMTS_ROOT/pktgen/docker/docker-image-pktgen/Dockerfile`` and
+* ``$VCMTS_ROOT/vcmtsd/docker/docker-image-vcmtsd/Dockerfile``
+
+
+Deploy the ConfigMaps for Pktgen and vCMTSd
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+.. code-block:: bash
+
+    cd $VCMTS_ROOT/kubernetes/helm/pktgen
+    helm template . -x templates/pktgen-configmap.yaml > configmap.yaml
+    kubectl create -f configmap.yaml
+
+    cd $VCMTS_ROOT/kubernetes/helm/vcmtsd
+    helm template . -x templates/vcmts-configmap.yaml > configmap.yaml
+    kubectl create -f configmap.yaml
+
old mode 100644 (file)
new mode 100755 (executable)
index 1a4bf32..562c80f
@@ -38,3 +38,4 @@ NSB PROX Test Case Descriptions
    tc_vfw_rfc3511
    tc_vpp_baremetal_crypto_ipsec
    tc_vims_context_sipp
+   tc_pktgen_k8s_vcmts
diff --git a/docs/testing/user/userguide/nsb/tc_pktgen_k8s_vcmts.rst b/docs/testing/user/userguide/nsb/tc_pktgen_k8s_vcmts.rst
new file mode 100755 (executable)
index 0000000..56f5c27
--- /dev/null
@@ -0,0 +1,102 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International
+.. License.
+.. http://creativecommons.org/licenses/by/4.0
+.. (c) OPNFV, 2019 Viosoft Corporation.
+
+***********************************************
+Yardstick Test Case Description: NSB vCMTS
+***********************************************
+
++------------------------------------------------------------------------------+
+|NSB Pktgen test for vCMTS characterization                                    |
+|                                                                              |
++--------------+---------------------------------------------------------------+
+|test case id  | tc_vcmts_k8s_pktgen                                           |
+|              |                                                               |
++--------------+---------------------------------------------------------------+
+|metric        | * Upstream Processing (Per Service Group);                    |
+|              | * Downstream Processing (Per Service Group);                  |
+|              | * Upstream Throughput;                                        |
+|              | * Downstream Throughput;                                      |
+|              | * Platform Metrics;                                           |
+|              | * Power Consumption;                                          |
+|              | * Upstream Throughput Time Series;                            |
+|              | * Downstream Throughput Time Series;                          |
+|              | * System Summary;                                             |
+|              |                                                               |
++--------------+---------------------------------------------------------------+
+|test purpose  | * The vCMTS test handles service groups and packet generation |
+|              |   containers setup, and metrics collection.                   |
+|              |                                                               |
+|              | * The vCMTS test case is implemented to run in Kubernetes     |
+|              |   environment with vCMTS pre-installed.                       |
++--------------+---------------------------------------------------------------+
+|configuration | The vCMTS test case configurable values are listed below      |
+|              |                                                               |
+|              | * num_sg: Number of service groups (Upstream/Downstream       |
+|              |           container pairs).                                   |
+|              | * num_tg: Number of Pktgen containers.                        |
+|              | * vcmtsd_image: vCMTS container image (feat/perf).            |
+|              | * qat_on: QAT status (true/false).                            |
+|              |                                                               |
+|              | num_sg and num_tg values should be configured in the test     |
+|              | case file and in the topology file.                           |
+|              |                                                               |
++--------------+---------------------------------------------------------------+
+|test tool     | Intel vCMTS Reference Dataplane                               |
+|              | Reference implementation of a DPDK-based vCMTS (DOCSIS MAC)   |
+|              | dataplane in a Kubernetes-orchestrated Linux Container        |
+|              | environment.                                                  |
+|              |                                                               |
++--------------+---------------------------------------------------------------+
+|applicability | This test cases can be configured with different:             |
+|              |                                                               |
+|              | * Number of service groups                                    |
+|              | * Number of Pktgen instances                                  |
+|              | * QAT offloading                                              |
+|              | * Feat/Perf Images for performance or features (more data     |
+|              |   collection)                                                 |
+|              |                                                               |
+|              | Default values exist.                                         |
+|              |                                                               |
++--------------+---------------------------------------------------------------+
+|pre-test      | Intel vCMTS Reference Dataplane should be installed and       |
+|conditions    | runnable on 2 nodes Kubernetes environment with modifications |
+|              | to the containers to allow yardstick ssh access, and the      |
+|              | ConfigMaps from the original vCMTS package deployed.          |
+|              |                                                               |
++--------------+---------------------------------------------------------------+
+|test sequence | description and expected result                               |
+|              |                                                               |
++--------------+---------------------------------------------------------------+
+|step 1        | Yardstick is connected to the Kubernetes Master node using    |
+|              | the configuration file in /etc/kubernetes/admin.yaml          |
+|              |                                                               |
++--------------+---------------------------------------------------------------+
+|step 2        | The TG containers are created and started on the traffic      |
+|              | generator server (Master node), While the VNF containers are  |
+|              | created and started on the data plan server.                  |
+|              |                                                               |
++--------------+---------------------------------------------------------------+
+|step 3        | Yardstick is connected with the TG and VNF by using ssh.      |
+|              | to start vCMTS-d, and Pktgen.                                 |
+|              |                                                               |
++--------------+---------------------------------------------------------------+
+|step 4        | Yardstick connects to the running Pktgen instances to start   |
+|              | generating traffic using the configurations from:             |
+|              |  /etc/yardstick/pktgen_values.yaml                            |
+|              |                                                               |
+|              | and connects to the vCMTS-d containers to start the upstream  |
+|              | and downstream processing using the configurations from:      |
+|              |  /etc/yardstick/vcmtsd_values.yaml                            |
+|              |                                                               |
++--------------+---------------------------------------------------------------+
+|step 5        | Yardstick copies vCMTS metrics regularly from the remote      |
+|              | InfluxDB (deployed by the vCMTS Package) to the local         |
+|              | Yardstick InfluxDB as configured in the options section in    |
+|              | the test case file.                                           |
+|              |                                                               |
++--------------+---------------------------------------------------------------+
+|test verdict  | None. The test case will collect the KPIs and plot on         |
+|              | Grafana.                                                      |
++--------------+---------------------------------------------------------------+
\ No newline at end of file