Added multi-port testcases for vFW 67/40067/4
authorDeepak S <deepak.s@linux.intel.com>
Wed, 23 Aug 2017 07:08:23 +0000 (00:08 -0700)
committerRoss Brattain <ross.b.brattain@intel.com>
Mon, 18 Sep 2017 01:19:03 +0000 (18:19 -0700)
Change-Id: I6cf8675c83fc081dd22ae7896e63ff7725ed3c13
Signed-off-by: Deepak S <deepak.s@linux.intel.com>
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
samples/vnf_samples/nsut/vfw/tc_baremetal_rfc2544_ipv4_1rule_1flow_64B_trex_4port.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/vfw/tc_heat_rfc2544_ipv4_1rule_1flow_64B_trex_4port.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/vfw/vfw-tg-topology-4port.yaml [new file with mode: 0644]
samples/vnf_samples/vnf_descriptors/tg_rfc2544_tpl.yaml
samples/vnf_samples/vnf_descriptors/tg_rfc2544_tpl_4port.yaml [deleted file]

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 (file)
index 0000000..0904ace
--- /dev/null
@@ -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 (file)
index 0000000..972a6ab
--- /dev/null
@@ -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 (file)
index 0000000..7babb82
--- /dev/null
@@ -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
index d94ddfe..533ce2f 100644 (file)
@@ -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 (file)
index 47da390..0000000
+++ /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