-# Copyright (c) 2017 Intel Corporation. #
+# Copyright (c) 2018 Intel Corporation. #
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
ip:
mgmt:
- '1.2.1.6/24'
+ - '1.2.1.7/24'
uplink:
- '152.16.100.10/24'
- '172.16.100.10/24'
- '00:00:00:9e:00:fb'
tasks:
- - include: multi_port_baremetal_ixia_correlated_test_templates.yml
+ - include: baremetal_scale_out_ixia_correlated_test_templates.yml
with_items: "{{ scale_out }}"
-# Copyright (c) 2017 Intel Corporation. #
+# Copyright (c) 2018 Intel Corporation. #
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
- set_fact:
num_vnfs: "{{ item }}"
+- file:
+ path: /etc/yardstick/nodes
+ state: directory
+
- debug:
var: num_vnfs
verbosity: 2
dest: ../samples/vnf_samples/traffic_profiles/ipv4_throughput-ixia-{{ num_vnfs }}.yaml
- template:
- src: ../etc/yardstick/nodes/standalone/ixia_template.yaml
- dest: /etc/yardstick/nodes/ixia_{{ num_vnfs }}.yaml
+ src: ../etc/yardstick/nodes/standalone/ixia_correlated_template.yaml
+ dest: /etc/yardstick/nodes/ixia_correlated_{{ num_vnfs }}.yaml
- template:
- src: ../etc/yardstick/nodes/standalone/pod_bm_vnf.yaml
+ src: ../etc/yardstick/nodes/standalone/pod_bm_vnf_scale_out.yaml
dest: /etc/yardstick/nodes/pod_bm_vnf_{{num_vnfs}}.yaml
- template:
- src: ../samples/vnf_samples/nsut/vfw/tc_baremetal_vfw_udp_ixia_correlated_multi_port_template.yaml
- dest: ../samples/vnf_samples/nsut/vfw/tc_baremetal_vfw_udp_ixia_correlated_multi_port_{{ num_vnfs }}.yaml
+ src: ../samples/vnf_samples/nsut/vfw/tc_baremetal_vfw_udp_ixia_correlated_scale_out_template.yaml
+ dest: ../samples/vnf_samples/nsut/vfw/tc_baremetal_vfw_udp_ixia_correlated_scale_out_{{ num_vnfs }}.yaml
- template:
- src: ../samples/vnf_samples/nsut/vfw/vfw-tg-topology-ixia-correlated-multi-port.yaml
- dest: ../samples/vnf_samples/nsut/vfw/vfw-tg-topology-ixia-correlated-multi-port-{{ num_vnfs }}.yaml
+ src: ../samples/vnf_samples/nsut/vfw/vfw-tg-topology-ixia-correlated-scale-out.yaml
+ dest: ../samples/vnf_samples/nsut/vfw/vfw-tg-topology-ixia-correlated-scale-out-{{ num_vnfs }}.yaml
- template:
- src: ../samples/vnf_samples/nsut/acl/tc_baremetal_acl_udp_ixia_correlated_multi_port_template.yaml
- dest: ../samples/vnf_samples/nsut/acl/tc_baremetal_acl_udp_ixia_correlated_multi_port_{{num_vnfs}}.yaml
+ src: ../samples/vnf_samples/nsut/acl/tc_baremetal_acl_udp_ixia_correlated_scale_out_template.yaml
+ dest: ../samples/vnf_samples/nsut/acl/tc_baremetal_acl_udp_ixia_correlated_scale_out_{{num_vnfs}}.yaml
- template:
- src: ../samples/vnf_samples/nsut/acl/acl-tg-topology-ixia-correlated-multi-port.yaml
- dest: ../samples/vnf_samples/nsut/acl/acl-tg-topology-ixia-correlated-multi-port-{{ num_vnfs }}.yaml
+ src: ../samples/vnf_samples/nsut/acl/acl-tg-topology-ixia-correlated-scale-out.yaml
+ dest: ../samples/vnf_samples/nsut/acl/acl-tg-topology-ixia-correlated-scale-out-{{ num_vnfs }}.yaml
- template:
- src: ../samples/vnf_samples/nsut/cgnapt/tc_baremetal_cgnapt_udp_ixia_correlated_multi_port_template.yaml
- dest: ../samples/vnf_samples/nsut/cgnapt/tc_baremetal_cgnapt_udp_ixia_correlated_multi_port_{{num_vnfs}}.yaml
+ src: ../samples/vnf_samples/nsut/cgnapt/tc_baremetal_cgnapt_udp_ixia_correlated_scale_out_template.yaml
+ dest: ../samples/vnf_samples/nsut/cgnapt/tc_baremetal_cgnapt_udp_ixia_correlated_scale_out_{{num_vnfs}}.yaml
- template:
- src: ../samples/vnf_samples/nsut/cgnapt/cgnapt-tg-topology-ixia-correlated-multi-port.yaml
- dest: ../samples/vnf_samples/nsut/cgnapt/cgnapt-tg-topology-ixia-correlated-multi-port-{{ num_vnfs }}.yaml
+ src: ../samples/vnf_samples/nsut/cgnapt/cgnapt-tg-topology-ixia-correlated-scale-out.yaml
+ dest: ../samples/vnf_samples/nsut/cgnapt/cgnapt-tg-topology-ixia-correlated-scale-out-{{ num_vnfs }}.yaml
- set_fact:
num_vnfs: "{{ item }}"
+- file:
+ path: /etc/yardstick/nodes
+ state: directory
+
- debug:
var: num_vnfs
verbosity: 2
- template:
src: ../etc/yardstick/nodes/standalone/ixia_template.yaml
- dest: /etc/yardstick/nodes/ixia_{{ num_vnfs }}.yaml
+ dest: /etc/yardstick/nodes/baremetal_ixia_{{ num_vnfs }}.yaml
- template:
src: ../etc/yardstick/nodes/standalone/pod_bm_vnf.yaml
dest: /etc/yardstick/nodes/pod_bm_vnf_{{num_vnfs}}.yaml
- template:
- src: ../samples/vnf_samples/nsut/vfw/tc_baremetal_vfw_rfc2544_template.yaml
- dest: ../samples/vnf_samples/nsut/vfw/tc_baremetal_vfw_rfc2544_{{ num_vnfs }}.yaml
+ src: ../samples/vnf_samples/nsut/vfw/tc_baremetal_vfw_rfc2544_ixia_template.yaml
+ dest: ../samples/vnf_samples/nsut/vfw/tc_baremetal_vfw_rfc2544_ixia_{{ num_vnfs }}.yaml
- template:
src: ../samples/vnf_samples/nsut/vfw/vfw-tg-topology-ixia-multi-port.yaml
- template:
src: ../samples/vnf_samples/nsut/acl/acl-tg-topology-ixia-multi-port.yaml
- dest: ../samples/vnf_samples/nsut/acl/acl-tg-topology-multi-port-ixia-{{ num_vnfs }}.yaml
+ dest: ../samples/vnf_samples/nsut/acl/acl-tg-topology-ixia-multi-port-{{ num_vnfs }}.yaml
- template:
src: ../samples/vnf_samples/traffic_profiles/ipv4_throughput-cgnapt-scale-out.yaml
- set_fact:
num_vnfs: "{{ item }}"
+- file:
+ path: /etc/yardstick/nodes
+ state: directory
+
- debug:
var: num_vnfs
verbosity: 2
dest: ../samples/vnf_samples/nsut/vfw/vfw-tg-topology-multi-port-{{ num_vnfs }}.yaml
- template:
- src: ../samples/vnf_samples/nsut/acl/tc_baremetal_vfw_rfc2544_template.yaml
- dest: ../samples/vnf_samples/nsut/acl/tc_baremetal_vfw_rfc2544_{{ num_vnfs }}.yaml
+ src: ../samples/vnf_samples/nsut/acl/tc_baremetal_acl_rfc2544_template.yaml
+ dest: ../samples/vnf_samples/nsut/acl/tc_baremetal_acl_rfc2544_{{ num_vnfs }}.yaml
- template:
src: ../samples/vnf_samples/nsut/acl/acl-tg-topology-multi-port.yaml
dest: ../samples/vnf_samples/traffic_profiles/ipv4_throughput-cgnapt-{{ num_vnfs }}.yaml
- template:
- src: ../samples/vnf_samples/nsut/cgnapt/tc_baremetal_vfw_rfc2544_template.yaml
- dest: ../samples/vnf_samples/nsut/cgnapt/tc_baremetal_vfw_rfc2544_{{ num_vnfs }}.yaml
+ src: ../samples/vnf_samples/nsut/cgnapt/tc_baremetal_cgnapt_rfc2544_template.yaml
+ dest: ../samples/vnf_samples/nsut/cgnapt/tc_baremetal_cgnapt_rfc2544_{{ num_vnfs }}.yaml
- template:
src: ../samples/vnf_samples/nsut/cgnapt/cgnapt-tg-topology-multi-port.yaml
--- /dev/null
+# Copyright (c) 2018 Intel Corporation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+nodes:
+{% for num in range(num_vnfs|int) %}
+-
+ name: vnf__{{ num }}
+ role: vnf__{{ num }}
+ ip: {{vnf.ip.mgmt[num] | ipaddr('address')}}
+ user: {{vnf.user}}
+ password: {{vnf.password}}
+ key_filename: {{vnf.key_filename}}
+ interfaces:
+ xe0: # logical name from topology.yaml and vnfd.yaml
+ vpci: "{{vnf.pcis.uplink[num]}}"
+ dpdk_port_num: 0
+ local_ip: "{{vnf.ip.uplink[num] | ipaddr('address')}}"
+ netmask: "{{vnf.ip.uplink[num] | ipaddr('netmask')}}"
+ local_mac: "{{vnf.mac.uplink[num]}}"
+ xe1: # logical name from topology.yaml and vnfd.yaml
+ vpci: "{{vnf.pcis.downlink[num]}}"
+ dpdk_port_num: 1
+ local_ip: "{{vnf.ip.downlink[num] | ipaddr('address') }}"
+ netmask: "{{vnf.ip.downlink[num] | ipaddr('netmask')}}"
+ local_mac: "{{vnf.mac.downlink[num]}}"
+{% endfor %}
contexts:
- name: yardstick
type: Node
- file: /etc/yardstick/nodes/baremetal_trex_{{num_vnfs}}.yaml
+ file: /etc/yardstick/nodes/baremetal_ixia_{{num_vnfs}}.yaml
- name: yardstick
type: Node
file: /etc/yardstick/nodes/pod_bm_vnf_{{num_vnfs}}.yaml
scenarios:
- type: NSPerf
traffic_profile: ../../traffic_profiles/ipv4_throughput-{{ num_vnfs }}.yaml
- topology: acl-tg-topology-scale-out-{{ num_vnfs }}.yaml
+ topology: acl-tg-topology-multi-port-{{ num_vnfs }}.yaml
nodes:
tg__0: tg__0.yardstick
vnf__0: vnf__0.yardstick
vnf__0:
rules: acl_1rule.yaml
vnf_config: {lb_config: '{{flow.vnf_config.lb_config}}', lb_count: {{flow.vnf_config.lb_count}} , worker_config: '{{flow.vnf_config.worker_config}}', worker_threads: {{flow.vnf_config.worker_threads}}}
-
runner:
type: Iteration
iterations: 10
--- /dev/null
+# Copyright (c) 2018 Intel Corporation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+---
+schema: yardstick:task:0.1
+scenarios:
+ - type: NSPerf
+ traffic_profile: ../../traffic_profiles/ipv4_throughput-ixia-{{ num_vnfs }}.yaml
+ topology: acl-tg-topology-ixia-correlated-scale-out-{{ num_vnfs }}.yaml
+ nodes:
+ tg__0: tg__0.yardstick
+ tg__1: tg__1.yardstick
+{% for vnf_num in range(num_vnfs|int) %}
+ vnf__{{ vnf_num }}: vnf_{{ vnf_num }}.yardstick
+{% endfor %}
+ options:
+ framesize:
+ uplink: {{ flow.pkt_size.uplink | to_yaml }}
+ downlink: {{ flow.pkt_size.downlink | to_yaml }}
+ flow:
+ src_ip:
+{% for vnf_num in range(num_vnfs|int) %}
+ - {'tg__0': 'xe{{ vnf_num }}'}
+{% endfor %}
+ dst_ip:
+{% for vnf_num in range(num_vnfs|int) %}
+ - {'tg__1': 'xe{{ vnf_num }}'}
+{% endfor %}
+ count: {{ flow.count }}
+ traffic_type: {{ flow.traffic_type }}
+ rfc2544:
+ allowed_drop_rate: {{ flow.rfc2544.allowed_drop_rate }}
+ correlated_traffic: true
+ vnf__0:
+ rules: acl_1rule.yaml
+ vnf_config: {lb_config: '{{flow.vnf_config.lb_config}}', lb_count: {{flow.vnf_config.lb_count}} , worker_config: '{{flow.vnf_config.worker_config}}', worker_threads: {{flow.vnf_config.worker_threads}}}
+ ixia_profile: ../../traffic_profiles/ixia/ixia_ipv4_profile_{{ num_vnfs * 2 }}_port.ixncfg
+
+ runner:
+ type: Iteration
+ iterations: 10
+ interval: 35
+contexts:
+ - name: yardstick
+ type: Node
+ file: /etc/yardstick/nodes/ixia_correlated_{{num_vnfs}}.yaml
+ - type: Node
+ file: /etc/yardstick/nodes/pod_bm_vnf_{{num_vnfs}}.yaml
+ name: yardstick
scenarios:
- type: NSPerf
traffic_profile: ../../traffic_profiles/ipv4_throughput-{{ num_vnfs }}.yaml
- topology: cgnapt-tg-topology-ixia-multi-port-{{ num_vnfs }}.yaml
+ topology: cgnapt-tg-topology-multi-port-ixia-{{ num_vnfs }}.yaml
nodes:
tg__0: tg__0.yardstick
vnf__0: vnf__0.yardstick
rfc2544:
allowed_drop_rate: {{ flow.rfc2544.allowed_drop_rate }}
vnf__0:
- rules: acl_1rule.yaml
vnf_config: {lb_config: '{{flow.vnf_config.lb_config}}', lb_count: {{flow.vnf_config.lb_count}} , worker_config: '{{flow.vnf_config.worker_config}}', worker_threads: {{flow.vnf_config.worker_threads}}}
runner:
type: Iteration
contexts:
- name: yardstick
type: Node
- file: /etc/yardstick/nodes/baremetal_trex_{{num_vnfs}}.yaml
+ file: /etc/yardstick/nodes/baremetal_ixia_{{num_vnfs}}.yaml
- name: yardstick
type: Node
file: /etc/yardstick/nodes/pod_bm_vnf_{{num_vnfs}}.yaml
rfc2544:
allowed_drop_rate: {{ flow.rfc2544.allowed_drop_rate }}
vnf__0:
- rules: acl_1rule.yaml
vnf_config: {lb_config: '{{flow.vnf_config.lb_config}}', lb_count: {{flow.vnf_config.lb_count}} , worker_config: '{{flow.vnf_config.worker_config}}', worker_threads: {{flow.vnf_config.worker_threads}}}
runner:
type: Iteration
rfc2544:
allowed_drop_rate: {{ flow.rfc2544.allowed_drop_rate }}
vnf__0:
- rules: acl_1rule.yaml
vnf_config: {lb_config: '{{flow.vnf_config.lb_config}}', lb_count: {{flow.vnf_config.lb_count}} , worker_config: '{{flow.vnf_config.worker_config}}', worker_threads: {{flow.vnf_config.worker_threads}}}
-
runner:
type: Iteration
iterations: 10
--- /dev/null
+# Copyright (c) 2018 Intel Corporation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+---
+schema: yardstick:task:0.1
+scenarios:
+ - type: NSPerf
+ traffic_profile: ../../traffic_profiles/ipv4_throughput-ixia-{{ num_vnfs }}.yaml
+ topology: cgnapt-tg-topology-ixia-correlated-scale-out-{{ num_vnfs }}.yaml
+ nodes:
+ tg__0: tg__0.yardstick
+ tg__1: tg__1.yardstick
+{% for vnf_num in range(num_vnfs|int) %}
+ vnf__{{ vnf_num }}: vnf_{{ vnf_num }}.yardstick
+{% endfor %}
+ options:
+ framesize:
+ uplink: {{ flow.pkt_size.uplink | to_yaml }}
+ downlink: {{ flow.pkt_size.downlink | to_yaml }}
+ flow:
+ src_ip:
+{% for vnf_num in range(num_vnfs|int) %}
+ - {'tg__0': 'xe{{ vnf_num }}'}
+{% endfor %}
+ dst_ip:
+{% for vnf_num in range(num_vnfs|int) %}
+ - {'tg__1': 'xe{{ vnf_num }}'}
+{% endfor %}
+ count: {{ flow.count }}
+ traffic_type: {{ flow.traffic_type }}
+ rfc2544:
+ allowed_drop_rate: {{ flow.rfc2544.allowed_drop_rate }}
+ correlated_traffic: true
+ vnf__0:
+ vnf_config: {lb_config: '{{flow.vnf_config.lb_config}}', lb_count: {{flow.vnf_config.lb_count}} , worker_config: '{{flow.vnf_config.worker_config}}', worker_threads: {{flow.vnf_config.worker_threads}}}
+ ixia_profile: ../../traffic_profiles/ixia/ixia_ipv4_profile_{{ num_vnfs * 2}}_port.ixncfg
+
+ runner:
+ type: Iteration
+ iterations: 10
+ interval: 35
+contexts:
+ - name: yardstick
+ type: Node
+ file: /etc/yardstick/nodes/ixia_correlated_{{num_vnfs}}.yaml
+ - type: Node
+ file: /etc/yardstick/nodes/pod_bm_vnf_{{num_vnfs}}.yaml
+ name: yardstick
contexts:
- name: yardstick
type: Node
- file: /etc/yardstick/nodes/baremetal_trex_{{num_vnfs}}.yaml
+ file: /etc/yardstick/nodes/baremetal_ixia_{{num_vnfs}}.yaml
- name: yardstick
type: Node
file: /etc/yardstick/nodes/pod_bm_vnf_{{num_vnfs}}.yaml
vnf__0:
rules: acl_1rule.yaml
vnf_config: {lb_config: '{{flow.vnf_config.lb_config}}', lb_count: {{flow.vnf_config.lb_count}} , worker_config: '{{flow.vnf_config.worker_config}}', worker_threads: {{flow.vnf_config.worker_threads}}}
-
runner:
type: Iteration
iterations: 10
--- /dev/null
+# Copyright (c) 2018 Intel Corporation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+---
+schema: yardstick:task:0.1
+scenarios:
+ - type: NSPerf
+ traffic_profile: ../../traffic_profiles/ipv4_throughput-ixia-{{ num_vnfs }}.yaml
+ topology: vfw-tg-topology-ixia-correlated-scale-out-{{ num_vnfs }}.yaml
+ nodes:
+ tg__0: tg__0.yardstick
+ tg__1: tg__1.yardstick
+{% for vnf_num in range(num_vnfs|int) %}
+ vnf__{{ vnf_num }}: vnf_{{ vnf_num }}.yardstick
+{% endfor %}
+ options:
+ framesize:
+ uplink: {{ flow.pkt_size.uplink | to_yaml }}
+ downlink: {{ flow.pkt_size.downlink | to_yaml }}
+ flow:
+ src_ip:
+{% for vnf_num in range(num_vnfs|int) %}
+ - {'tg__0': 'xe{{ vnf_num }}'}
+{% endfor %}
+ dst_ip:
+{% for vnf_num in range(num_vnfs|int) %}
+ - {'tg__1': 'xe{{ vnf_num }}'}
+{% endfor %}
+ count: {{ flow.count }}
+ traffic_type: {{ flow.traffic_type }}
+ rfc2544:
+ allowed_drop_rate: {{ flow.rfc2544.allowed_drop_rate }}
+ correlated_traffic: true
+ vnf__0:
+ rules: acl_1rule.yaml
+ vnf_config: {lb_config: '{{flow.vnf_config.lb_config}}', lb_count: {{flow.vnf_config.lb_count}} , worker_config: '{{flow.vnf_config.worker_config}}', worker_threads: {{flow.vnf_config.worker_threads}}}
+ ixia_profile: ../../traffic_profiles/ixia/ixia_ipv4_profile_{{ num_vnfs * 2 }}_port.ixncfg
+
+ runner:
+ type: Iteration
+ iterations: 10
+ interval: 35
+contexts:
+ - name: yardstick
+ type: Node
+ file: /etc/yardstick/nodes/ixia_correlated_{{num_vnfs}}.yaml
+ - type: Node
+ file: /etc/yardstick/nodes/pod_bm_vnf_{{num_vnfs}}.yaml
+ name: yardstick