Adding scale up test case for l3fwd SRIOV. 01/65601/2
authorCarey, Alan <alan.carey@intel.com>
Thu, 29 Nov 2018 05:57:38 +0000 (05:57 +0000)
committerAbhijit Sinha <abhijit.sinha@intel.com>
Thu, 6 Dec 2018 18:09:26 +0000 (18:09 +0000)
Topology file changed as original did not work.
Added 'standalone-args.yaml' file for context information/details

JIRA: YARDSTICK-1547

Change-Id: I76dc782dac14db50dc8802f4f69cf077da0257a2
Signed-off-by: Carey, Alan <alan.carey@intel.com>
(cherry picked from commit fb8066f72e3cb67a1c3c88b7c26779e61a247bc3)

samples/vnf_samples/nsut/prox/prox-tg-topology-scale-up.yaml
samples/vnf_samples/nsut/prox/standalone-args.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/prox/tc_prox_sriov_l3fwd-scale-up.yaml [new file with mode: 0644]

index 74c48ba..87db370 100644 (file)
@@ -11,8 +11,9 @@
 # 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 vports = get(extra_args, 'vports', 2) %}
+
 nsd:nsd-catalog:
     nsd:
     -   id: prox-tg-topology
@@ -27,36 +28,25 @@ nsd:nsd-catalog:
             vnfd-id-ref: vnf__0
             VNF model: ../../vnf_descriptors/prox_vnf.yaml
         vld:
-        -   id: uplink_0
-            name: tg__0 to vnf__0 link 1
+{% for vport in range(0,vports,2|int) %}
+        -   id: uplink_{{loop.index0}}
+            name: tg__0 to vnf__0 link {{ vport + 1 }}
             type: ELAN
             vnfd-connection-point-ref:
             -   member-vnf-index-ref: '1'
-                vnfd-connection-point-ref: xe0
+                vnfd-connection-point-ref: xe{{ vport }}
                 vnfd-id-ref: tg__0
             -   member-vnf-index-ref: '2'
-                vnfd-connection-point-ref: xe0
+                vnfd-connection-point-ref: xe{{ vport }}
                 vnfd-id-ref: vnf__0
-{% for vport in range(vports-1|int) %}
-        -   id: downlink_{{ vport }}
-            name: vnf__0 to tg__0 link {{ vport+2 }}
+        -   id: downlink_{{loop.index0}}
+            name: vnf__0 to tg__0 link {{ vport + 2 }}
             type: ELAN
             vnfd-connection-point-ref:
-            -   member-vnf-index-ref: '1'
-                vnfd-connection-point-ref: xe{{ vport+1 }}
-                vnfd-id-ref: vnf__0
             -   member-vnf-index-ref: '2'
-                vnfd-connection-point-ref: xe{{ vport+1 }}
-                vnfd-id-ref: tg__0
-{% else %}
-        -   id: downlink_0
-            name: vnf__0 to tg__0 link 1
-            type: ELAN
-            vnfd-connection-point-ref:
-            -   member-vnf-index-ref: '1'
-                vnfd-connection-point-ref: xe0
+                vnfd-connection-point-ref: xe{{ vport + 1 }}
                 vnfd-id-ref: vnf__0
-            -   member-vnf-index-ref: '2'
-                vnfd-connection-point-ref: xe0
+            -   member-vnf-index-ref: '1'
+                vnfd-connection-point-ref: xe{{ vport + 1 }}
                 vnfd-id-ref: tg__0
-{% endfor %}
\ No newline at end of file
+{% endfor %}
diff --git a/samples/vnf_samples/nsut/prox/standalone-args.yaml b/samples/vnf_samples/nsut/prox/standalone-args.yaml
new file mode 100644 (file)
index 0000000..7f45112
--- /dev/null
@@ -0,0 +1,46 @@
+# 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.
+
+---
+
+networks:
+  uplink:
+    -
+      port_num: 0
+      phy_port: "0000:05:00.0"
+      vpci: "0000:00:0a.0"
+      cidr: '152.16.100.10/24'
+      gateway_ip: '152.16.100.20'
+    -
+      port_num: 2
+      phy_port: "0000:05:00.2"
+      vpci: "0000:00:0c.0"
+      cidr: '152.16.50.10/24'
+      gateway_ip: '152.16.100.20'
+
+  downlink:
+    -
+      port_num: 1
+      phy_port: "0000:05:00.1"
+      vpci: "0000:00:0b.0"
+      cidr: '152.16.40.10/24'
+      gateway_ip: '152.16.100.20'
+
+    -
+      port_num: 3
+      phy_port: "0000:05:00.3"
+      vpci: "0000:00:0d.0"
+      cidr: '152.16.30.10/24'
+      gateway_ip: '152.16.100.20'
+
diff --git a/samples/vnf_samples/nsut/prox/tc_prox_sriov_l3fwd-scale-up.yaml b/samples/vnf_samples/nsut/prox/tc_prox_sriov_l3fwd-scale-up.yaml
new file mode 100644 (file)
index 0000000..a824ef9
--- /dev/null
@@ -0,0 +1,95 @@
+# 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.
+
+{% set vports = vports or 2 %}
+---
+schema: "yardstick:task:0.1"
+
+scenarios:
+-
+  type: NSPerf
+  traffic_profile: ../../traffic_profiles/prox_binsearch.yaml
+  extra_args:
+    vports: {{ vports }}
+  topology: prox-tg-topology-scale-up.yaml
+
+  nodes:
+    tg__0: tg__0.yardstick
+    vnf__0: vnf__0.yardstick
+
+  options:
+    vnf__0:
+      prox_path: /opt/nsb_bin/prox
+      prox_config: "configs/handle_l3fwd-{{ vports }}.cfg"
+      prox_args:
+        "-t": ""
+      prox_files:
+{% if vports == 2 %}
+        "configs/ipv4-2port.lua" : ""
+{% else %}
+        "configs/ipv4.lua" : ""
+{% endif %}
+      prox_generate_parameter: True
+
+    tg__0:
+      prox_path: /opt/nsb_bin/prox
+      prox_config: "configs/gen_l3fwd-{{ vports }}.cfg"
+      prox_args:
+        "-e": ""
+        "-t": ""
+
+  runner:
+    type: Duration
+    # we kill after duration, independent of test duration, so set this high
+    duration: 1800
+
+contexts:
+   - name: yardstick
+     type: Node
+     file: prox_tg_bm.yaml
+   - name: yardstick
+     type: StandaloneSriov
+     file: /etc/yardstick/nodes/standalone/host_sriov.yaml
+     vm_deploy: True
+     flavor:
+       images: "/var/lib/libvirt/images/yardstick-nsb-image.img"
+       ram: 16384
+       extra_specs:
+         hw:cpu_sockets: 1
+         hw:cpu_cores: 10
+         hw:cpu_threads: 2
+     servers:
+       vnf__0:
+         network_ports:
+           mgmt:
+             cidr: '1.1.1.62/24'
+{% for port_num in range((vports/2)|int) %}
+           xe{{ port_num * 2 }}:
+             - uplink_{{ port_num }}
+           xe{{ (port_num * 2) + 1 }}:
+             - downlink_{{ port_num }}
+{% endfor %}
+     networks:
+{% for port_num in range((vports/2)|int) %}
+       uplink_{{ port_num }}:
+         phy_port: "{{ networks.uplink[port_num].phy_port }}"
+         vpci: "{{ networks.uplink[port_num].vpci }}"
+         cidr: "{{ networks.uplink[port_num].cidr }}"
+         gateway_ip: "{{ networks.uplink[port_num].gateway_ip }}"
+       downlink_{{ port_num }}:
+         phy_port: "{{ networks.downlink[port_num].phy_port }}"
+         vpci: "{{ networks.downlink[port_num].vpci }}"
+         cidr: "{{ networks.downlink[port_num].cidr }}"
+         gateway_ip: "{{ networks.downlink[port_num].gateway_ip }}"
+{% endfor %}