summaryrefslogtreecommitdiffstats
path: root/tests/opnfv/test_cases/opnfv_yardstick_tc071.yaml
blob: 0911d8e682a3cd7aaba44b05ce8531e0117382af (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
##############################################################################
# Copyright (c) 2017 Huawei Technologies Co.,Ltd and others.
#
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Apache License, Version 2.0
# which accompanies this distribution, and is available at
# http://www.apache.org/licenses/LICENSE-2.0
##############################################################################
---

schema: "yardstick:task:0.1"
description: >
    Yardstick TC071 config file;
    Measure cache hit/miss ratio and usage, network throughput and latency;
    Different amounts of flows are tested with, from 2 up to 1001000;
    All tests are run 2 times each. First 2 times with the least
    amount of ports, then 2 times with the next amount of ports,
    and so on until all packet sizes have been run with;
    During the measurements cache hit/miss ration, cache usage statistics and
    network latency are recorded/measured using cachestat and ping, respectively;

scenarios:
-
  type: CACHEstat
  run_in_background: true

  options:
    interval: 1

  host: demeter.yardstick-TC071
-
  type: CACHEstat
  run_in_background: true

  options:
    interval: 1

  host: poseidon.yardstick-TC071
-
  type: Ping
  run_in_background: true

  options:
    packetsize: 100

  host: demeter.yardstick-TC071
  target: poseidon.yardstick-TC071

  sla:
    max_rtt: 10
    action: monitor
{% for num_ports in [1, 10, 50, 100, 300, 500, 750, 1000] %}
-
  type: Pktgen
  options:
    packetsize: 64
    number_of_ports: {{num_ports}}
    duration: 20

  host: demeter.yardstick-TC071
  target: poseidon.yardstick-TC071

  runner:
    type: Iteration
    iterations: 2
    interval: 1

  sla:
    max_ppm: 1000
    action: monitor
{% endfor %}

context:
  name: yardstick-TC071
  image: yardstick-image
  flavor: yardstick-flavor
  user: ubuntu

  placement_groups:
    pgrp1:
      policy: "availability"

  servers:
    demeter:
      floating_ip: true
      placement: "pgrp1"
    poseidon:
      floating_ip: true
      placement: "pgrp1"

  networks:
    test:
      cidr: '10.0.1.0/24'
| +--------------+--------------------------------------------------------------+ |references | DPDK Pktgen: DPDKpktgen_ | | | | | | ETSI-NFV-TST001 | | | | | | RFC 2544: rfc2544_ | | | | +--------------+--------------------------------------------------------------+ |applicability | Test can be configured with different flavors, vNIC type | | | and packet sizes. Default values exist as specified above. | | | The vNIC type and flavor MUST be specified by the user. | | | | +--------------+--------------------------------------------------------------+ |pre-test | The vTC has been successfully instantiated and configured. | | | The user has correctly assigned the values to the deployment | | | configuration parameters. | | | | | | - Multicast traffic MUST be enabled on the network. | | | The Data network switches need to be configured in | | | order to manage multicast traffic. | | | - In the case of SR-IOV vNICs use, SR-IOV compatible NICs | | | must be used on the compute node. | | | - Yarsdtick needs to be installed on a host connected to the | | | data network and the host must have 2 DPDK-compatible | | | NICs. Proper configuration of DPDK and DPDK pktgen is | | | required before to run the test case. | | | (For further instructions please refer to the ApexLake | | | documentation). | | | | +--------------+--------------------------------------------------------------+ |test sequence | Description and expected results | | | | +--------------+--------------------------------------------------------------+ |step 1 | The vTC is deployed, according to the user-defined | | | configuration | | | | +--------------+--------------------------------------------------------------+ |step 2 | The vTC is correctly deployed and configured as necessary | | | The initialization script has been correctly executed and | | | vTC is ready to receive and process the traffic. | | | | +--------------+--------------------------------------------------------------+ |step 3 | Test case is executed with the selected parameters: | | | - vTC flavor | | | - vNIC type | | | - packet size | | | The traffic is sent to the vTC using the maximum available | | | traffic rate for 60 seconds. | | | | +--------------+--------------------------------------------------------------+ |step 4 | The vTC instance forwards all the packets back to the packet | | | generator for 60 seconds, as specified by RFC 2544. | | | | | | Steps 3 and 4 are executed different times, with different | | | rates in order to find the maximum supported traffic rate | | | according to the current definition of throughput in RFC | | | 2544. | | | | +--------------+--------------------------------------------------------------+ |test verdict | The result of the test is a number between 0 and 100 which | | | represents the throughput in terms of percentage of the | | | available pktgen NIC bandwidth. | | | | +--------------+--------------------------------------------------------------+