Add TRex Baremetal/SA scale up test cases
[yardstick.git] / samples / vnf_samples / nsut / cgnapt / tc_baremetal_rfc2544_ipv4_trex_scale_up.yaml
1 # Copyright (c) 2016-2019 Intel Corporation
2 #
3 # Licensed under the Apache License, Version 2.0 (the "License");
4 # you may not use this file except in compliance with the License.
5 # You may obtain a copy of the License at
6 #
7 #      http://www.apache.org/licenses/LICENSE-2.0
8 #
9 # Unless required by applicable law or agreed to in writing, software
10 # distributed under the License is distributed on an "AS IS" BASIS,
11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 # See the License for the specific language governing permissions and
13 # limitations under the License.
14 {% set framesize = framesize or "{64B: 100}" %}
15 {% set worker_threads = worker_threads or [1] %}
16 {% set duration = duration or 30 %}
17 {% set tolerance_low = tolerance_low or 0.0001 %}
18 {% set tolerance_high = tolerance_high or 0.0001 %}
19 {% set public_ip = public_ip or ["152.16.40.10"] %}
20 {% set vports = vports or 2 %}
21 ---
22 schema: yardstick:task:0.1
23 scenarios:
24 {% for worker_thread in worker_threads %}
25 - type: NSPerf-RFC2544
26   traffic_profile: ../../traffic_profiles/ipv4_throughput_cgnapt-scale-up.yaml
27   extra_args:
28     vports: {{ vports }}
29   topology: cgnapt-tg-topology-scale-up.yaml
30   nodes:
31     tg__0: trafficgen_0.yardstick
32     vnf__0: vnf_0.yardstick
33   options:
34     duration: {{ duration }}
35     framesize:
36       uplink: {{ framesize }}
37       downlink: {{ framesize }}
38     flow:
39       src_ip:
40 {% for vport in range(0, vports|int, 2) %}
41         - {'tg__0': 'xe{{ vport }}'}
42 {% endfor %}
43       dst_ip:
44 {% for vport in range(1, vports|int, 2) %}
45         - {'tg__0': 'xe{{ vport }}'}
46 {% endfor %}
47       public_ip:
48 {% for port_num in range((vports/2)|int) %}
49         - {{ public_ip[port_num] }}
50 {% endfor %}
51       count: 1
52     traffic_type: 4
53     rfc2544:
54       allowed_drop_rate: "{{ tolerance_low }} - {{ tolerance_high }}"
55     vnf__0:
56       vnf_config: {lb_config: 'HW', lb_count: 1, worker_config: '1C/1T', worker_threads: {{worker_thread}}}
57       nfvi_enable: True
58   runner:
59     type: Iteration
60     iterations: 1
61     interval: 5
62 {% endfor %}
63 context:
64   type: Node
65   name: yardstick
66   nfvi_type: baremetal
67   file: /etc/yardstick/nodes/pod.yaml