Added http concurrency test suite for agnostic VNF 71/63271/6
authorChornyi, TarasX <tarasx.chornyi@intel.com>
Mon, 8 Oct 2018 09:23:29 +0000 (12:23 +0300)
committerTaras Chornyi <tarasx.chornyi@intel.com>
Wed, 31 Oct 2018 09:41:51 +0000 (09:41 +0000)
Added http concurrency test suite and test template.
In the test pemplate user can set number of users and page size

JIRA: YARDSTICK-1438

Change-Id: I510c37309568c1ef9c4ab34d3b85614120dc79a8
Signed-off-by: Taras Chornyi <tarasx.chornyi@intel.com>
samples/vnf_samples/nsut/agnostic/HTTP_requests_concurrency.yaml [new file with mode: 0755]
samples/vnf_samples/nsut/agnostic/agnostic_vnf_topology_ixload_2ports.yaml [new file with mode: 0755]
samples/vnf_samples/nsut/agnostic/tc_baremetal_http_ixload__Requests_Concurrency_suite.yaml [new file with mode: 0755]
samples/vnf_samples/nsut/agnostic/tc_baremetal_http_ixload__Requests_Concurrency_template.yaml [new file with mode: 0755]

diff --git a/samples/vnf_samples/nsut/agnostic/HTTP_requests_concurrency.yaml b/samples/vnf_samples/nsut/agnostic/HTTP_requests_concurrency.yaml
new file mode 100755 (executable)
index 0000000..1e9b1e8
--- /dev/null
@@ -0,0 +1,56 @@
+# Copyright (c) 2018 Intel Corporation\r
+#\r
+# Licensed under the Apache License, Version 2.0 (the "License");\r
+# you may not use this file except in compliance with the License.\r
+# You may obtain a copy of the License at\r
+#\r
+#      http://www.apache.org/licenses/LICENSE-2.0\r
+#\r
+# Unless required by applicable law or agreed to in writing, software\r
+# distributed under the License is distributed on an "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or imp\r
+# See the License for the specific language governing permissions and\r
+# limitations under the License.\r
+\r
+schema: "nsb:traffic_profile:0.1"\r
+\r
+name:            TrafficProfileGenericHTTP\r
+description:     Traffic profile to run HTTP test\r
+traffic_profile:\r
+  traffic_type: TrafficProfileGenericHTTP\r
+\r
+uplink_0:\r
+    ip:\r
+        address: "152.16.100.32"          # must be in same subnet with gateway\r
+        subnet_prefix: 24                 # subnet prefix\r
+        mac: "Auto"                       # port mac addr or auto to generate automatically\r
+        gateway: <GATEWAY_ADDR>           # will be taken from pod file\r
+\r
+    http_client:\r
+        simulated_users: {{ get(simulated_users, 'simulated_users.uplink_0', '65000') }} # number of threads to be run\r
+        page_object:  {{ get(page_object, 'page_object.uplink_0', '/1b.html') }} # http locator to be read\r
+\r
+downlink_0:\r
+    ip:\r
+        address: "152.40.40.32"           # must be in same subnet with gateway\r
+        subnet_prefix: 24                 # subnet prefix\r
+        mac: "Auto"                       # port mac addr or auto to generate automatically\r
+        gateway: <GATEWAY_ADDR>           # will be taken from pod file\r
+\r
+uplink_1:\r
+    ip:\r
+        address: "12.12.12.32"\r
+        subnet_prefix: 24\r
+        mac: "00:00:00:00:00:01"\r
+        gateway: <GATEWAY_ADDR>\r
+\r
+    http_client:\r
+        simulated_users: {{ get(simulated_users, 'simulated_users.uplink_1', '65000') }} # number of threads to be run\r
+        page_object:  {{ get(page_object, 'page_object.uplink_1', '/1b.html') }} # http locator to be read\r
+\r
+downlink_1:\r
+    ip:\r
+        address: "13.13.13.32"\r
+        subnet_prefix: 24\r
+        mac: "00:00:00:00:00:02"\r
+        gateway: <GATEWAY_ADDR>
\ No newline at end of file
diff --git a/samples/vnf_samples/nsut/agnostic/agnostic_vnf_topology_ixload_2ports.yaml b/samples/vnf_samples/nsut/agnostic/agnostic_vnf_topology_ixload_2ports.yaml
new file mode 100755 (executable)
index 0000000..80f6dcf
--- /dev/null
@@ -0,0 +1,50 @@
+# 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.
+
+nsd:nsd-catalog:
+    nsd:
+    -   id: agnostic-topology
+        name: agnostic-topology
+        short-name: agnostic-topology
+        description: scenario with HTTP and Agnostic VNF
+        constituent-vnfd:
+        -   member-vnf-index: '1'
+            vnfd-id-ref: tg__0
+            VNF model: ../../vnf_descriptors/tg_ixload.yaml
+        -   member-vnf-index: '2'
+            vnfd-id-ref: vnf__0
+            VNF model: ../../vnf_descriptors/agnostic_vnf.yaml
+
+        vld:
+        -   id: uplink_0
+            name: tg__0 to vnf__0 link 1
+            type: ELAN
+            vnfd-connection-point-ref:
+            -   member-vnf-index-ref: '1'
+                vnfd-connection-point-ref: xe0
+                vnfd-id-ref: tg__0                   # HTTP Client
+            -   member-vnf-index-ref: '2'
+                vnfd-connection-point-ref: xe0
+                vnfd-id-ref: vnf__0                  # VNF
+
+        -   id: downlink_0
+            name: vnf__0 to tg__0 link 2
+            type: ELAN
+            vnfd-connection-point-ref:
+            -   member-vnf-index-ref: '2'
+                vnfd-connection-point-ref: xe1
+                vnfd-id-ref: vnf__0                  # HTTP Server
+            -   member-vnf-index-ref: '1'
+                vnfd-connection-point-ref: xe1
+                vnfd-id-ref: tg__0                   # VNF
diff --git a/samples/vnf_samples/nsut/agnostic/tc_baremetal_http_ixload__Requests_Concurrency_suite.yaml b/samples/vnf_samples/nsut/agnostic/tc_baremetal_http_ixload__Requests_Concurrency_suite.yaml
new file mode 100755 (executable)
index 0000000..d3c75eb
--- /dev/null
@@ -0,0 +1,27 @@
+# Copyright (c) 2018 Intel Corporation\r
+#\r
+# Licensed under the Apache License, Version 2.0 (the "License");\r
+# you may not use this file except in compliance with the License.\r
+# You may obtain a copy of the License at\r
+#\r
+#      http://www.apache.org/licenses/LICENSE-2.0\r
+#\r
+# Unless required by applicable law or agreed to in writing, software\r
+# distributed under the License is distributed on an "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+# See the License for the specific language governing permissions and\r
+# limitations under the License.\r
+\r
+schema: "yardstick:suite:0.1"\r
+\r
+name: "http test suite"\r
+test_cases_dir: "samples/"\r
+test_cases:\r
+-\r
+  file_name: vnf_samples/nsut/agnostic/tc_baremetal_http_ixload__Requests_Concurrency_template.yaml\r
+  task_args:\r
+    default: '{"page": "/1b.html", "users" : "5000"}'\r
+-\r
+  file_name: vnf_samples/nsut/agnostic/tc_baremetal_http_ixload__Requests_Concurrency_template.yaml\r
+  task_args:\r
+    default: '{"page": "/1b.html", "users" : "6000"}'\r
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
new file mode 100755 (executable)
index 0000000..de2a779
--- /dev/null
@@ -0,0 +1,40 @@
+# Copyright (c) 2018 Intel Corporation\r
+#\r
+# Licensed under the Apache License, Version 2.0 (the "License");\r
+# you may not use this file except in compliance with the License.\r
+# You may obtain a copy of the License at\r
+#\r
+#      http://www.apache.org/licenses/LICENSE-2.0\r
+#\r
+# Unless required by applicable law or agreed to in writing, software\r
+# distributed under the License is distributed on an "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+# See the License for the specific language governing permissions and\r
+# limitations under the License.\r
+\r
+---\r
+schema: yardstick:task:0.1\r
+{% set users = users or "10000" %}\r
+{% set page = page or "/1b.html" %}\r
+scenarios:\r
+- type: NSPerf\r
+  traffic_profile: "HTTP_requests_concurrency.yaml"\r
+  topology: agnostic_vnf_topology_ixload_2ports.yaml\r
+  nodes:\r
+    tg__0: trafficgen_1.yardstick\r
+    vnf__0: vnf.yardstick\r
+  options:\r
+    simulated_users:\r
+      uplink: [{{users}}]\r
+    page_object:\r
+      uplink: [{{page}}]\r
+    vnf__0: []\r
+  runner:\r
+    type: Duration\r
+    duration: 2\r
+  ixia_profile: ../../traffic_profiles/vfw/HTTP-vFW_IPv4_2Ports_Concurrency.rxf # Need vlan update\r
+context:\r
+  type: Node\r
+  name: yardstick\r
+  nfvi_type: baremetal\r
+  file: /etc/yardstick/nodes/pod_ixia.yaml\r