Allow testcases to be configured over cli 95/65595/21
authorJohn O Loughlin <john.oloughlin@intel.com>
Wed, 5 Dec 2018 15:57:32 +0000 (15:57 +0000)
committerMyron Sosyak <myronx.sosyak@intel.com>
Wed, 3 Apr 2019 13:33:15 +0000 (14:33 +0100)
Add options for droprate and frame_rate for agnostic vnf

JIRA: YARDSTICK-1554

Change-Id: I0e9eb844a96b9d8af85fc3af750c56e43fea52b8
Signed-off-by: John O Loughlin <john.oloughlin@intel.com>
Signed-off-by: Myron Sosyak <myronx.sosyak@intel.com>
samples/vnf_samples/nsut/agnostic/tc_baremetal_http_concurrent_connections_ixload.yaml
samples/vnf_samples/nsut/agnostic/tc_baremetal_http_connections_ixload.yaml
samples/vnf_samples/nsut/agnostic/tc_baremetal_http_ixload__Requests_Concurrency_template.yaml
samples/vnf_samples/nsut/agnostic/tc_baremetal_http_simulated_users_ixload.yaml
samples/vnf_samples/nsut/agnostic/tc_baremetal_http_throughput_ixload.yaml
samples/vnf_samples/nsut/agnostic/tc_baremetal_http_transactions_ixload.yaml
samples/vnf_samples/nsut/agnostic/tc_baremetal_rfc2544_ipv4_64B_trex.yaml [deleted file]
samples/vnf_samples/nsut/agnostic/tc_baremetal_rfc2544_ipv4_trex.yaml
samples/vnf_samples/nsut/agnostic/tc_baremetal_rfc2544_latency_ipv4_ixia.yaml [moved from samples/vnf_samples/nsut/agnostic/tc_baremetal_rfc2544_latency_ipv4_64B_ixia.yaml with 66% similarity]
samples/vnf_samples/traffic_profiles/ipv4_throughput.yaml
samples/vnf_samples/traffic_profiles/ixia_ipv4_latency.yaml

index 78fcd98..785cbae 100644 (file)
@@ -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 }}
index a20032c..96ccd3a 100644 (file)
@@ -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 }}
index 250fd2f..08f8970 100755 (executable)
@@ -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 }}
index 6eb617b..33c8b9e 100644 (file)
@@ -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 }}
index ba7fe41..c8358d6 100644 (file)
@@ -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 }}
index 80de61e..91f35b1 100644 (file)
@@ -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 (file)
index 4394e80..0000000
+++ /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
index 158de81..6111093 100644 (file)
@@ -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.
 # 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 }}
 # 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
+- 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: {64B: 100}
-      downlink: {64B: 100}
+      uplink: {{ framesize }}
+      downlink: {{ framesize }}
     flow:
       src_ip: [{'tg__0': 'xe0'}]
       dst_ip: [{'tg__0': 'xe1'}]
       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: 10
-    interval: 35
+    iterations: {{ iterations }}
+    interval: {{ interval }}
 context:
   type: Node
   name: yardstick
   nfvi_type: baremetal
-  file: /etc/yardstick/nodes/pod_ixia.yaml
+  file: {{ file }}
index 194bcd9..51c5896 100644 (file)
@@ -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
 
index a6a36e0..1ecb2cb 100644 (file)
@@ -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