From af84eb11d8b393d8e262d9bcc1e90f55bbfb2d2a Mon Sep 17 00:00:00 2001 From: "Carey, Alan" Date: Thu, 29 Nov 2018 05:57:38 +0000 Subject: Adding scale up test case for l3fwd SRIOV. 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 (cherry picked from commit fb8066f72e3cb67a1c3c88b7c26779e61a247bc3) --- .../nsut/prox/prox-tg-topology-scale-up.yaml | 36 +++----- samples/vnf_samples/nsut/prox/standalone-args.yaml | 46 +++++++++++ .../nsut/prox/tc_prox_sriov_l3fwd-scale-up.yaml | 95 ++++++++++++++++++++++ 3 files changed, 154 insertions(+), 23 deletions(-) create mode 100644 samples/vnf_samples/nsut/prox/standalone-args.yaml create mode 100644 samples/vnf_samples/nsut/prox/tc_prox_sriov_l3fwd-scale-up.yaml diff --git a/samples/vnf_samples/nsut/prox/prox-tg-topology-scale-up.yaml b/samples/vnf_samples/nsut/prox/prox-tg-topology-scale-up.yaml index 74c48bac2..87db3702f 100644 --- a/samples/vnf_samples/nsut/prox/prox-tg-topology-scale-up.yaml +++ b/samples/vnf_samples/nsut/prox/prox-tg-topology-scale-up.yaml @@ -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 index 000000000..7f45112e3 --- /dev/null +++ b/samples/vnf_samples/nsut/prox/standalone-args.yaml @@ -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 index 000000000..a824ef940 --- /dev/null +++ b/samples/vnf_samples/nsut/prox/tc_prox_sriov_l3fwd-scale-up.yaml @@ -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 %} -- cgit 1.2.3-korg