summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoss Brattain <ross.b.brattain@intel.com>2017-09-18 05:21:44 +0000
committerGerrit Code Review <gerrit@opnfv.org>2017-09-18 05:21:44 +0000
commit7e2cf50af684b10779430f52c01b378f7c796012 (patch)
treebf5fed79fe56213492a7e72b65abcc08c8bec196
parent3d3833448a5f46840d38d4f4c72a7bd37139ca0b (diff)
parent6c33fade01220860cf034ed2466149c19cca0770 (diff)
Merge "Added multi-port testcases for vFW"
-rw-r--r--samples/vnf_samples/nsut/vfw/tc_baremetal_rfc2544_ipv4_1rule_1flow_64B_trex_4port.yaml45
-rw-r--r--samples/vnf_samples/nsut/vfw/tc_heat_rfc2544_ipv4_1rule_1flow_64B_trex_4port.yaml89
-rw-r--r--samples/vnf_samples/nsut/vfw/vfw-tg-topology-4port.yaml70
-rw-r--r--samples/vnf_samples/vnf_descriptors/tg_rfc2544_tpl.yaml1
-rw-r--r--samples/vnf_samples/vnf_descriptors/tg_rfc2544_tpl_4port.yaml103
5 files changed, 204 insertions, 104 deletions
diff --git a/samples/vnf_samples/nsut/vfw/tc_baremetal_rfc2544_ipv4_1rule_1flow_64B_trex_4port.yaml b/samples/vnf_samples/nsut/vfw/tc_baremetal_rfc2544_ipv4_1rule_1flow_64B_trex_4port.yaml
new file mode 100644
index 000000000..0904ace2c
--- /dev/null
+++ b/samples/vnf_samples/nsut/vfw/tc_baremetal_rfc2544_ipv4_1rule_1flow_64B_trex_4port.yaml
@@ -0,0 +1,45 @@
+# Copyright (c) 2016-2017 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-4.yaml
+ topology: vfw-tg-topology-4port.yaml
+ nodes:
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
+ options:
+ framesize:
+ private: {64B: 100}
+ public: {64B: 100}
+ flow:
+ src_ip: [{'tg__0': 'xe0'}, {'tg__0': 'xe2'}]
+ dst_ip: [{'tg__0': 'xe1'}, {'tg__0': 'xe3'}]
+ count: 1
+ traffic_type: 4
+ rfc2544:
+ allowed_drop_rate: 0.0001 - 0.0001
+ vnf__0:
+ rules: acl_1rule.yaml
+ vnf_config: {lb_config: 'SW', lb_count: 2, worker_config: '1C/1T', worker_threads: 1}
+ runner:
+ type: Iteration
+ iterations: 10
+ interval: 35
+context:
+ type: Node
+ name: yardstick
+ nfvi_type: baremetal
diff --git a/samples/vnf_samples/nsut/vfw/tc_heat_rfc2544_ipv4_1rule_1flow_64B_trex_4port.yaml b/samples/vnf_samples/nsut/vfw/tc_heat_rfc2544_ipv4_1rule_1flow_64B_trex_4port.yaml
new file mode 100644
index 000000000..972a6ab37
--- /dev/null
+++ b/samples/vnf_samples/nsut/vfw/tc_heat_rfc2544_ipv4_1rule_1flow_64B_trex_4port.yaml
@@ -0,0 +1,89 @@
+# Copyright (c) 2016-2017 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-4.yaml
+ topology: vfw-tg-topology-4port.yaml
+ nodes:
+ tg__0: tg_0.yardstick
+ vnf__0: vnf_0.yardstick
+ options:
+ framesize:
+ private: {64B: 100}
+ public: {64B: 100}
+ flow:
+ src_ip: [{'tg__0': 'xe0'}, {'tg__0': 'xe2'}]
+ dst_ip: [{'tg__0': 'xe1'}, {'tg__0': 'xe3'}]
+ count: 1
+ traffic_type: 4
+ rfc2544:
+ allowed_drop_rate: 0.0001 - 0.0001
+ vnf__0:
+ rules: acl_1rule.yaml
+ vnf_config: {lb_config: 'SW', lb_count: 2, worker_config: '1C/1T', worker_threads: 1}
+ runner:
+ type: Iteration
+ iterations: 10
+ interval: 35
+context:
+ # put node context first, so we don't HEAT deploy if node has errors
+ name: yardstick
+ image: yardstick-samplevnfs
+ flavor:
+ vcpus: 10
+ ram: 20480
+ disk: 6
+ extra_specs:
+ hw:cpu_sockets: 1
+ # (2 cores / port * 4 ports) + 1 master == 10 cores
+ hw:cpu_cores: 12
+ hw:cpu_threads: 1
+ user: ubuntu
+ placement_groups:
+ pgrp1:
+ policy: "availability"
+ servers:
+ tg_0:
+ floating_ip: true
+ placement: "pgrp1"
+ vnf_0:
+ floating_ip: true
+ placement: "pgrp1"
+ networks:
+ mgmt:
+ cidr: '10.0.1.0/24'
+ private_0:
+ cidr: '10.1.0.0/24'
+ gateway_ip: 'null'
+ port_security_enabled: False
+ enable_dhcp: 'false'
+ public_0:
+ cidr: '10.1.1.0/24'
+ gateway_ip: 'null'
+ port_security_enabled: False
+ enable_dhcp: 'false'
+ private_1:
+ cidr: '10.2.0.0/24'
+ gateway_ip: 'null'
+ port_security_enabled: False
+ enable_dhcp: 'false'
+ public_1:
+ cidr: '10.2.1.0/24'
+ gateway_ip: 'null'
+ port_security_enabled: False
+ enable_dhcp: 'false'
+
diff --git a/samples/vnf_samples/nsut/vfw/vfw-tg-topology-4port.yaml b/samples/vnf_samples/nsut/vfw/vfw-tg-topology-4port.yaml
new file mode 100644
index 000000000..7babb820a
--- /dev/null
+++ b/samples/vnf_samples/nsut/vfw/vfw-tg-topology-4port.yaml
@@ -0,0 +1,70 @@
+# Copyright (c) 2016-2017 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: 3tg-topology
+ name: 3tg-topology
+ short-name: 3tg-topology
+ description: 3tg-topology
+ constituent-vnfd:
+ - member-vnf-index: '1'
+ vnfd-id-ref: tg__0
+ VNF model: ../../vnf_descriptors/tg_rfc2544_tpl.yaml #VNF type
+ - member-vnf-index: '2'
+ vnfd-id-ref: vnf__0
+ VNF model: ../../vnf_descriptors/vfw_vnf.yaml #VNF type
+
+ vld:
+ - id: private_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
+ - member-vnf-index-ref: '2'
+ vnfd-connection-point-ref: xe0
+ vnfd-id-ref: vnf__0
+ - id: public_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
+ - member-vnf-index-ref: '1'
+ vnfd-connection-point-ref: xe1
+ vnfd-id-ref: tg__0
+
+ - id: private_1
+ name: tg__0 to vnf__0 link 3
+ type: ELAN
+ vnfd-connection-point-ref:
+ - member-vnf-index-ref: '1'
+ vnfd-connection-point-ref: xe2
+ vnfd-id-ref: tg__0
+ - member-vnf-index-ref: '2'
+ vnfd-connection-point-ref: xe2
+ vnfd-id-ref: vnf__0
+ - id: public_1
+ name: vnf__0 to tg__0 link 4
+ type: ELAN
+ vnfd-connection-point-ref:
+ - member-vnf-index-ref: '2'
+ vnfd-connection-point-ref: xe3
+ vnfd-id-ref: vnf__0
+ - member-vnf-index-ref: '1'
+ vnfd-connection-point-ref: xe3
+ vnfd-id-ref: tg__0
diff --git a/samples/vnf_samples/vnf_descriptors/tg_rfc2544_tpl.yaml b/samples/vnf_samples/vnf_descriptors/tg_rfc2544_tpl.yaml
index d94ddfe4c..533ce2fdb 100644
--- a/samples/vnf_samples/vnf_descriptors/tg_rfc2544_tpl.yaml
+++ b/samples/vnf_samples/vnf_descriptors/tg_rfc2544_tpl.yaml
@@ -36,7 +36,6 @@ vnfd:vnfd-catalog:
- id: trexgen-baremetal
name: trexgen-baremetal
description: TRex stateless traffic verifier
-
benchmark:
kpi:
- rx_throughput_fps
diff --git a/samples/vnf_samples/vnf_descriptors/tg_rfc2544_tpl_4port.yaml b/samples/vnf_samples/vnf_descriptors/tg_rfc2544_tpl_4port.yaml
deleted file mode 100644
index 47da39099..000000000
--- a/samples/vnf_samples/vnf_descriptors/tg_rfc2544_tpl_4port.yaml
+++ /dev/null
@@ -1,103 +0,0 @@
-# Copyright (c) 2016-2017 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.
-
-vnfd:vnfd-catalog:
- vnfd:
- - id: TrexTrafficGenRFC # nsb class mapping
- name: trexverifier
- short-name: trexverifier
- description: TRex stateless traffic verifier
- mgmt-interface:
- vdu-id: trexgen-baremetal
- {% if user is defined %}
- user: '{{user}}' # Value filled by vnfdgen
- {% endif %}
- {% if password is defined %}
- password: '{{password}}' # Value filled by vnfdgen
- {% endif %}
- {% if ip is defined %}
- ip: '{{ip}}' # Value filled by vnfdgen
- {% endif %}
- {% if key_filename is defined %}
- key_filename: '{{key_filename}}' # Value filled by vnfdgen
- {% endif %}
- connection-point:
- - name: xe0
- type: VPORT
- - name: xe1
- type: VPORT
- vdu:
- - id: trexgen-baremetal
- name: trexgen-baremetal
- description: TRex stateless traffic verifier
- external-interface:
- - name: xe0
- virtual-interface:
- type: PCI-PASSTHROUGH
- # Substitution variables MUST be quoted. Otherwise Python can misinterpet them.
- vpci: '{{ interfaces.xe0.vpci }}' # Value filled by vnfdgen
- local_iface_name: '{{ interfaces.xe0.local_iface_name }}' # Value filled by vnfdgen
- local_ip: '{{ interfaces.xe0.local_ip }}' # Value filled by vnfdgen
- driver: '{{ interfaces.xe0.driver}}' # Value filled by vnfdgen
- dst_ip: '{{ interfaces.xe0.dst_ip }}' # Value filled by vnfdgen
- local_mac: '{{ interfaces.xe0.local_mac }}' # Value filled by vnfdgen
- dst_mac: '{{ interfaces.xe0.dst_mac }}' # Value filled by vnfdgen
- bandwidth: 10 Gbps
- vnfd-connection-point-ref: xe0
- - name: xe1
- virtual-interface:
- type: PCI-PASSTHROUGH
- vpci: '{{ interfaces.xe1.vpci }}' # Value filled by vnfdgen
- local_iface_name: '{{ interfaces.xe1.local_iface_name }}' # Value filled by vnfdgen
- local_ip: '{{ interfaces.xe1.local_ip }}' # Value filled by vnfdgen
- driver: '{{ interfaces.xe1.driver}}' # Value filled by vnfdgen
- dst_ip: '{{ interfaces.xe1.dst_ip }}' # Value filled by vnfdgen
- local_mac: '{{ interfaces.xe1.local_mac }}' # Value filled by vnfdgen
- dst_mac: '{{ interfaces.xe1.dst_mac }}' # Value filled by vnfdgen
- bandwidth: 10 Gbps
- vnfd-connection-point-ref: xe1
- - name: xe2
- virtual-interface:
- type: PCI-PASSTHROUGH
- # Substitution variables MUST be quoted. Otherwise Python can misinterpet them.
- vpci: '{{ interfaces.xe2.vpci }}' # Value filled by vnfdgen
- local_iface_name: '{{ interfaces.xe2.local_iface_name }}' # Value filled by vnfdgen
- local_ip: '{{ interfaces.xe2.local_ip }}' # Value filled by vnfdgen
- driver: '{{ interfaces.xe2.driver}}' # Value filled by vnfdgen
- dst_ip: '{{ interfaces.xe2.dst_ip }}' # Value filled by vnfdgen
- local_mac: '{{ interfaces.xe2.local_mac }}' # Value filled by vnfdgen
- dst_mac: '{{ interfaces.xe2.dst_mac }}' # Value filled by vnfdgen
- bandwidth: 10 Gbps
- vnfd-connection-point-ref: xe2
- - name: xe3
- virtual-interface:
- type: PCI-PASSTHROUGH
- vpci: '{{ interfaces.xe3.vpci }}' # Value filled by vnfdgen
- local_iface_name: '{{ interfaces.xe3.local_iface_name }}' # Value filled by vnfdgen
- local_ip: '{{ interfaces.xe3.local_ip }}' # Value filled by vnfdgen
- driver: '{{ interfaces.xe3.driver}}' # Value filled by vnfdgen
- dst_ip: '{{ interfaces.xe3.dst_ip }}' # Value filled by vnfdgen
- local_mac: '{{ interfaces.xe3.local_mac }}' # Value filled by vnfdgen
- dst_mac: '{{ interfaces.xe3.dst_mac }}' # Value filled by vnfdgen
- bandwidth: 10 Gbps
- vnfd-connection-point-ref: xe3
-
- benchmark:
- kpi:
- - rx_throughput_fps
- - tx_throughput_fps
- - tx_throughput_mbps
- - rx_throughput_mbps
- - in_packets
- - out_packets