From d2096454fb0dd69b7b678d1e546e31f42d3be031 Mon Sep 17 00:00:00 2001 From: John O Loughlin Date: Wed, 5 Dec 2018 15:57:32 +0000 Subject: Allow testcases to be configured over cli Add options for droprate and frame_rate for agnostic vnf JIRA: YARDSTICK-1554 Change-Id: I0e9eb844a96b9d8af85fc3af750c56e43fea52b8 Signed-off-by: John O Loughlin Signed-off-by: Myron Sosyak --- ...remetal_http_concurrent_connections_ixload.yaml | 4 +- .../tc_baremetal_http_connections_ixload.yaml | 4 +- ...http_ixload__Requests_Concurrency_template.yaml | 4 +- .../tc_baremetal_http_simulated_users_ixload.yaml | 4 +- .../tc_baremetal_http_throughput_ixload.yaml | 4 +- .../tc_baremetal_http_transactions_ixload.yaml | 4 +- .../tc_baremetal_rfc2544_ipv4_64B_trex.yaml | 45 ------------------- .../agnostic/tc_baremetal_rfc2544_ipv4_trex.yaml | 20 ++++++--- ...tc_baremetal_rfc2544_latency_ipv4_64B_ixia.yaml | 45 ------------------- .../tc_baremetal_rfc2544_latency_ipv4_ixia.yaml | 52 ++++++++++++++++++++++ .../traffic_profiles/ipv4_throughput.yaml | 5 ++- .../traffic_profiles/ixia_ipv4_latency.yaml | 3 +- 12 files changed, 82 insertions(+), 112 deletions(-) delete mode 100644 samples/vnf_samples/nsut/agnostic/tc_baremetal_rfc2544_ipv4_64B_trex.yaml delete mode 100644 samples/vnf_samples/nsut/agnostic/tc_baremetal_rfc2544_latency_ipv4_64B_ixia.yaml create mode 100644 samples/vnf_samples/nsut/agnostic/tc_baremetal_rfc2544_latency_ipv4_ixia.yaml diff --git a/samples/vnf_samples/nsut/agnostic/tc_baremetal_http_concurrent_connections_ixload.yaml b/samples/vnf_samples/nsut/agnostic/tc_baremetal_http_concurrent_connections_ixload.yaml index 78fcd98ce..785cbaeea 100644 --- a/samples/vnf_samples/nsut/agnostic/tc_baremetal_http_concurrent_connections_ixload.yaml +++ b/samples/vnf_samples/nsut/agnostic/tc_baremetal_http_concurrent_connections_ixload.yaml @@ -11,7 +11,7 @@ # 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. - +{% set file = file or "/etc/yardstick/nodes/pod_ixia.yaml" %} --- schema: yardstick:task:0.1 {% set page = page or "/1b.html" %} @@ -34,4 +34,4 @@ context: type: Node name: yardstick nfvi_type: baremetal - file: /etc/yardstick/nodes/pod_ixia.yaml + file: {{ file }} diff --git a/samples/vnf_samples/nsut/agnostic/tc_baremetal_http_connections_ixload.yaml b/samples/vnf_samples/nsut/agnostic/tc_baremetal_http_connections_ixload.yaml index a20032c06..96ccd3a67 100644 --- a/samples/vnf_samples/nsut/agnostic/tc_baremetal_http_connections_ixload.yaml +++ b/samples/vnf_samples/nsut/agnostic/tc_baremetal_http_connections_ixload.yaml @@ -11,7 +11,7 @@ # 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. - +{% set file = file or "/etc/yardstick/nodes/pod_ixia.yaml" %} --- schema: yardstick:task:0.1 {% set page = page or "/1b.html" %} @@ -34,4 +34,4 @@ context: type: Node name: yardstick nfvi_type: baremetal - file: /etc/yardstick/nodes/pod_ixia.yaml + file: {{ file }} diff --git a/samples/vnf_samples/nsut/agnostic/tc_baremetal_http_ixload__Requests_Concurrency_template.yaml b/samples/vnf_samples/nsut/agnostic/tc_baremetal_http_ixload__Requests_Concurrency_template.yaml index 250fd2fee..08f897009 100755 --- a/samples/vnf_samples/nsut/agnostic/tc_baremetal_http_ixload__Requests_Concurrency_template.yaml +++ b/samples/vnf_samples/nsut/agnostic/tc_baremetal_http_ixload__Requests_Concurrency_template.yaml @@ -11,7 +11,7 @@ # 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. - +{% set file = file or "/etc/yardstick/nodes/pod_ixia.yaml" %} --- schema: yardstick:task:0.1 {% set users = users or "10000" %} @@ -37,4 +37,4 @@ context: type: Node name: yardstick nfvi_type: baremetal - file: /etc/yardstick/nodes/pod_ixia.yaml + file: {{ file }} diff --git a/samples/vnf_samples/nsut/agnostic/tc_baremetal_http_simulated_users_ixload.yaml b/samples/vnf_samples/nsut/agnostic/tc_baremetal_http_simulated_users_ixload.yaml index 6eb617b09..33c8b9e7a 100644 --- a/samples/vnf_samples/nsut/agnostic/tc_baremetal_http_simulated_users_ixload.yaml +++ b/samples/vnf_samples/nsut/agnostic/tc_baremetal_http_simulated_users_ixload.yaml @@ -11,7 +11,7 @@ # 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. - +{% set file = file or "/etc/yardstick/nodes/pod_ixia.yaml" %} --- schema: yardstick:task:0.1 {% set users = users or "10000" %} @@ -37,4 +37,4 @@ context: type: Node name: yardstick nfvi_type: baremetal - file: /etc/yardstick/nodes/pod_ixia.yaml + file: {{ file }} diff --git a/samples/vnf_samples/nsut/agnostic/tc_baremetal_http_throughput_ixload.yaml b/samples/vnf_samples/nsut/agnostic/tc_baremetal_http_throughput_ixload.yaml index ba7fe4170..c8358d6c6 100644 --- a/samples/vnf_samples/nsut/agnostic/tc_baremetal_http_throughput_ixload.yaml +++ b/samples/vnf_samples/nsut/agnostic/tc_baremetal_http_throughput_ixload.yaml @@ -11,7 +11,7 @@ # 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. - +{% set file = file or "/etc/yardstick/nodes/pod_ixia.yaml" %} --- schema: yardstick:task:0.1 {% set page = page or "/1b.html" %} @@ -34,4 +34,4 @@ context: type: Node name: yardstick nfvi_type: baremetal - file: /etc/yardstick/nodes/pod_ixia.yaml + file: {{ file }} diff --git a/samples/vnf_samples/nsut/agnostic/tc_baremetal_http_transactions_ixload.yaml b/samples/vnf_samples/nsut/agnostic/tc_baremetal_http_transactions_ixload.yaml index 80de61e08..91f35b1da 100644 --- a/samples/vnf_samples/nsut/agnostic/tc_baremetal_http_transactions_ixload.yaml +++ b/samples/vnf_samples/nsut/agnostic/tc_baremetal_http_transactions_ixload.yaml @@ -11,7 +11,7 @@ # 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. - +{% set file = file or "/etc/yardstick/nodes/pod_ixia.yaml" %} --- schema: yardstick:task:0.1 {% set page = page or "/1b.html" %} @@ -34,4 +34,4 @@ context: type: Node name: yardstick nfvi_type: baremetal - file: /etc/yardstick/nodes/pod_ixia.yaml + file: {{ file }} diff --git a/samples/vnf_samples/nsut/agnostic/tc_baremetal_rfc2544_ipv4_64B_trex.yaml b/samples/vnf_samples/nsut/agnostic/tc_baremetal_rfc2544_ipv4_64B_trex.yaml deleted file mode 100644 index 4394e8029..000000000 --- a/samples/vnf_samples/nsut/agnostic/tc_baremetal_rfc2544_ipv4_64B_trex.yaml +++ /dev/null @@ -1,45 +0,0 @@ -# Copyright (c) 2018-2019 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.yaml - topology: agnostic_vnf_topology_trex_tmpl.yaml - nodes: - tg__0: trafficgen_0.yardstick - vnf__0: vnf_0.yardstick - options: - framesize: - uplink: {64B: 100} - downlink: {64B: 100} - flow: - src_ip: [{'tg__0': 'xe0'}] - dst_ip: [{'tg__0': 'xe1'}] - count: 1 - traffic_type: 4 - rfc2544: - allowed_drop_rate: 0.0001 - 0.0001 - vnf__0: - [] - runner: - type: Iteration - iterations: 10 - interval: 35 -context: - type: Node - name: yardstick - nfvi_type: baremetal - file: /etc/yardstick/nodes/pod.yaml diff --git a/samples/vnf_samples/nsut/agnostic/tc_baremetal_rfc2544_ipv4_trex.yaml b/samples/vnf_samples/nsut/agnostic/tc_baremetal_rfc2544_ipv4_trex.yaml index 158de8115..611109349 100644 --- a/samples/vnf_samples/nsut/agnostic/tc_baremetal_rfc2544_ipv4_trex.yaml +++ b/samples/vnf_samples/nsut/agnostic/tc_baremetal_rfc2544_ipv4_trex.yaml @@ -1,4 +1,4 @@ -# Copyright (c) 2019 Intel Corporation +# Copyright (c) 2018-2019 Intel Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -11,16 +11,22 @@ # 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. - +{% set file = file or "/etc/yardstick/nodes/pod.yaml" %} +{% set frame_rate = frame_rate or 100 %} {% set framesize = framesize or "{64B: 100}" %} +{% set allowed_drop_rate = allowed_drop_rate or "0.0001 - 0.001" %} +{% set iterations = iterations or 1 %} +{% set interval = interval or 5 %} --- schema: yardstick:task:0.1 scenarios: - type: NSPerf-RFC2544 traffic_profile: ../../traffic_profiles/ipv4_throughput.yaml topology: agnostic_vnf_topology_trex_tmpl.yaml + extra_args: + frame_rate: {{ frame_rate }} nodes: - tg__0: trafficgen_0.yardstick + tg__0: tg_0.yardstick vnf__0: vnf_0.yardstick options: framesize: @@ -32,15 +38,15 @@ scenarios: count: 1 traffic_type: 4 rfc2544: - allowed_drop_rate: 0.0001 - 0.0001 + allowed_drop_rate: {{ allowed_drop_rate }} vnf__0: [] runner: type: Iteration - iterations: 1 - interval: 5 + iterations: {{ iterations }} + interval: {{ interval }} context: type: Node name: yardstick nfvi_type: baremetal - file: /etc/yardstick/nodes/pod_trex.yaml + file: {{ file }} diff --git a/samples/vnf_samples/nsut/agnostic/tc_baremetal_rfc2544_latency_ipv4_64B_ixia.yaml b/samples/vnf_samples/nsut/agnostic/tc_baremetal_rfc2544_latency_ipv4_64B_ixia.yaml deleted file mode 100644 index f20d32d5a..000000000 --- a/samples/vnf_samples/nsut/agnostic/tc_baremetal_rfc2544_latency_ipv4_64B_ixia.yaml +++ /dev/null @@ -1,45 +0,0 @@ -# Copyright (c) 2018-2019 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/ixia_ipv4_latency.yaml - topology: agnostic_vnf_topology_ixia_2ports.yaml - nodes: - tg__0: trafficgen_0.yardstick - vnf__0: vnf_0.yardstick - options: - framesize: - uplink: {64B: 100} - downlink: {64B: 100} - flow: - src_ip: [{'tg__0': 'xe0'}] - dst_ip: [{'tg__0': 'xe1'}] - count: 1 - traffic_type: 4 - rfc2544: - allowed_drop_rate: 0.0001 - 0.0001 - vnf__0: - [] - runner: - type: Iteration - iterations: 10 - interval: 35 -context: - type: Node - name: yardstick - nfvi_type: baremetal - file: /etc/yardstick/nodes/pod_ixia.yaml diff --git a/samples/vnf_samples/nsut/agnostic/tc_baremetal_rfc2544_latency_ipv4_ixia.yaml b/samples/vnf_samples/nsut/agnostic/tc_baremetal_rfc2544_latency_ipv4_ixia.yaml new file mode 100644 index 000000000..036eb2b46 --- /dev/null +++ b/samples/vnf_samples/nsut/agnostic/tc_baremetal_rfc2544_latency_ipv4_ixia.yaml @@ -0,0 +1,52 @@ +# Copyright (c) 2018-2019 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. +{% set file = file or "/etc/yardstick/nodes/pod_ixia.yaml" %} +{% set frame_rate = frame_rate or "100%" %} +{% set framesize = framesize or "{64B: 100}" %} +{% set allowed_drop_rate = allowed_drop_rate or "0.0001 - 0.001" %} +{% set iterations = iterations or 1 %} +{% set interval = interval or 5 %} +--- +schema: yardstick:task:0.1 +scenarios: +- type: NSPerf-RFC2544 + traffic_profile: ../../traffic_profiles/ixia_ipv4_latency.yaml + extra_args: + frame_rate: {{ frame_rate }} + topology: agnostic_vnf_topology_ixia_2ports.yaml + nodes: + tg__0: trafficgen_0.yardstick + vnf__0: vnf_0.yardstick + options: + framesize: + uplink: {{ framesize }} + downlink: {{ framesize }} + flow: + src_ip: [{'tg__0': 'xe0'}] + dst_ip: [{'tg__0': 'xe1'}] + count: 1 + traffic_type: 4 + rfc2544: + allowed_drop_rate: {{ allowed_drop_rate }} + vnf__0: + [] + runner: + type: Iteration + iterations: {{ iterations }} + interval: {{ interval }} +context: + type: Node + name: yardstick + nfvi_type: baremetal + file: {{ file }} diff --git a/samples/vnf_samples/traffic_profiles/ipv4_throughput.yaml b/samples/vnf_samples/traffic_profiles/ipv4_throughput.yaml index 194bcd978..51c58962f 100644 --- a/samples/vnf_samples/traffic_profiles/ipv4_throughput.yaml +++ b/samples/vnf_samples/traffic_profiles/ipv4_throughput.yaml @@ -1,4 +1,4 @@ -# Copyright (c) 2016-2017 Intel Corporation +# Copyright (c) 2016-2019 Intel Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -33,6 +33,7 @@ # the profile defines a public and private side to make limited traffic correlation # between private and public side same way as it is made by IXIA solution. # +{% set frame_rate = get(extra_args, 'frame_rate' or 100 ) %} schema: "nsb:traffic_profile:0.1" # This file is a template, it will be filled with values from tc.yaml before passing to the traffic generator @@ -41,7 +42,7 @@ name: rfc2544 description: Traffic profile to run RFC2544 latency traffic_profile: traffic_type : RFC2544Profile # defines traffic behavior - constant or look for highest possible throughput - frame_rate : 100 # pc of linerate + frame_rate : {{ frame_rate }} # pc of linerate duration: {{ duration }} enable_latency: False diff --git a/samples/vnf_samples/traffic_profiles/ixia_ipv4_latency.yaml b/samples/vnf_samples/traffic_profiles/ixia_ipv4_latency.yaml index a6a36e02c..1ecb2cb2e 100644 --- a/samples/vnf_samples/traffic_profiles/ixia_ipv4_latency.yaml +++ b/samples/vnf_samples/traffic_profiles/ixia_ipv4_latency.yaml @@ -19,6 +19,7 @@ # the profile defines a public and private side to make limited traffic correlation # between private and public side same way as it is made by IXIA solution. # +{% set frame_rate = get(extra_args, 'frame_rate' or '100%' ) %} schema: "nsb:traffic_profile:0.1" # This file is a template, it will be filled with values from tc.yaml before passing to the traffic generator @@ -27,7 +28,7 @@ name: rfc2544 description: Traffic profile to run RFC2544 latency traffic_profile: traffic_type : IXIARFC2544Profile # defines traffic behavior - constant or look for highest possible throughput - frame_rate : 100% # pc of linerate + frame_rate : {{ frame_rate }} # pc of linerate duration: {{ duration }} enable_latency: True -- cgit 1.2.3-korg