Merge changes from topic 'manual_ci_test_cases'
[yardstick.git] / samples / vnf_samples / nsut / cgnapt / tc_ovs_rfc2544_ipv4_trex_scale_up.yaml
1 # Copyright (c) 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 vports = vports or 2 %}
15 {% set tolerance_low = tolerance_low or 0.0001 %}
16 {% set tolerance_high = tolerance_high or 0.0001 %}
17 {% set framesize = framesize or "{64B: 100}" %}
18 ---
19 schema: yardstick:task:0.1
20 scenarios:
21 - type: NSPerf-RFC2544
22   traffic_profile: ../../traffic_profiles/ipv4_throughput_cgnapt-scale-up.yaml
23   extra_args:
24     vports: {{ vports }}
25   topology: cgnapt-tg-topology-scale-up.yaml
26   nodes:
27     tg__0: trafficgen_0.yardstick
28     vnf__0: vnf_0.yardstick
29   options:
30     framesize:
31       uplink: {{ framesize }}
32       downlink: {{ framesize }}
33     flow:
34       src_ip:
35 {% for vport in range(0, vports|int, 2) %}
36         - {'tg__0': 'xe{{ vport }}'}
37 {% endfor %}
38       dst_ip:
39 {% for vport in range(1, vports|int, 2) %}
40         - {'tg__0': 'xe{{ vport }}'}
41 {% endfor %}
42       public_ip:
43 {% for port_num in range((vports/2)|int) %}
44         - {{ public_ip[port_num] }}
45 {% endfor %}
46       count: 1
47     traffic_type: 4
48     rfc2544:
49       allowed_drop_rate: "{{ tolerance_low }} - {{ tolerance_high }}"
50     vnf__0:
51       vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1}
52   runner:
53     type: Iteration
54     iterations: 1
55     interval: 5
56 contexts:
57    - name: yardstick
58      type: Node
59      file: /etc/yardstick/nodes/standalone/trex_bm.yaml
60    - type: StandaloneOvsDpdk
61      name: yardstick
62      file: /etc/yardstick/nodes/standalone/pod_ovs.yaml
63      vm_deploy: True
64      ovs_properties:
65        version:
66          ovs: 2.8.1
67          dpdk: 17.05.2
68        pmd_threads: 2
69        ram:
70          socket_0: 2048
71          socket_1: 2048
72        queues: 4
73        vpath: "/usr/local"
74
75      flavor:
76        images: "/var/lib/libvirt/images/yardstick-nsb-image.img"
77        ram: 16384
78        extra_specs:
79          hw:cpu_sockets: 1
80          hw:cpu_cores: 6
81          hw:cpu_threads: 2
82        user: ""
83        password: ""
84      servers:
85        vnf_0:
86          network_ports:
87            mgmt:
88              cidr: '1.1.1.7/24'
89 {% for port_num in range((vports/2)|int) %}
90            xe{{ port_num * 2 }}:
91              - uplink_{{ port_num }}
92            xe{{ (port_num * 2) + 1 }}:
93              - downlink_{{ port_num }}
94 {% endfor %}
95      networks:
96 {% for port_num in range((vports/2)|int) %}
97        uplink_{{ port_num }}:
98          port_num: {{ networks.uplink[port_num].port_num }}
99          phy_port: "{{ networks.uplink[port_num].phy_port }}"
100          vpci: "{{ networks.uplink[port_num].vpci }}"
101          cidr: "{{ networks.uplink[port_num].cidr }}"
102          gateway_ip: "{{ networks.uplink[port_num].gateway_ip }}"
103        downlink_{{ port_num }}:
104          port_num: {{ networks.downlink[port_num].port_num }}
105          phy_port: "{{ networks.downlink[port_num].phy_port }}"
106          vpci: "{{ networks.downlink[port_num].vpci }}"
107          cidr: "{{ networks.downlink[port_num].cidr }}"
108          gateway_ip: "{{ networks.downlink[port_num].gateway_ip }}"
109 {% endfor %}